smart-home-engine 1.1.20 → 1.3.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-b3gdLMp3.css → index-BTdLG-cS.css} +1 -1
- package/dist/web/assets/index-SmPJ7Vpm.js +230 -0
- package/dist/web/assets/{tsMode-HtyxY0LK.js → tsMode-XvjcqT_Z.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/lib/dynsec.js +13 -0
- package/src/web/broker-api.js +48 -0
- package/dist/web/assets/index-BIDlQXlY.js +0 -230
|
@@ -1,230 +0,0 @@
|
|
|
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-HtyxY0LK.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var LA=Object.defineProperty;var eL=o=>{throw TypeError(o)};var IA=(o,e,t)=>e in o?LA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var pn=(o,e,t)=>IA(o,typeof e!="symbol"?e+"":e,t),mw=(o,e,t)=>e.has(o)||eL("Cannot "+t);var ae=(o,e,t)=>(mw(o,e,"read from private field"),t?t.call(o):e.get(o)),on=(o,e,t)=>e.has(o)?eL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),rn=(o,e,t,i)=>(mw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Bn=(o,e,t)=>(mw(o,e,"access private method"),t);import{_ as xE,m as kE,l as Qt,A as _o,C as ye,I as $n,D as s_,a as os,g as LE,M as Ot,b as Li,E as ra,c as F,r as Dn,d as Dr,e as C,f as DA,h as Hn,R as an,S as wi,i as Ys,j as Er,k as mn,n as $i,o as ce,p as qe,K as ds,q as Kt,s as ft,t as ms,u as G,v as Qi,O as Oa,w as gs,P as ii,x as vw,y as o_,z as IE,B as hl,F as aa,G as mS,H as Ms,U as Tn,J as df,L as ni,N as vl,Q as EA,T as uo,V as vS,W as TA,X as DE,$ as Gt,Y as Sn,Z as _n,a0 as Kn,a1 as Mi,a2 as $o,a3 as cp,a4 as ct,a5 as km,a6 as PA,a7 as MA,a8 as _s,a9 as RA,aa as la,ab as mo,ac as oi,ad as EE,ae as Vn,af as NA,ag as AA,ah as fo,ai as Bf,aj as us,ak as fy,al as oo,am as Hc,an as jx,ao as gy,ap as Es,aq as uf,ar as Ts,as as py,at as _y,au as OA,av as r_,aw as zf,ax as El,ay as FA,az as Vf,aA as HA,aB as $x,aC as WA,aD as BA,aE as tL,aF as ss,aG as fl,aH as ro,aI as Wi,aJ as ll,aK as zA,aL as Ba,aM as zo,aN as Cs,aO as ca,aP as Ux,aQ as vs,aR as ts,aS as Qm,aT as Hi,aU as TE,aV as VA,aW as qx,aX as my,aY as Gx,aZ as Kx,a_ as vd,a$ as jA,b0 as Zx,b1 as $A,b2 as Xx,b3 as Tl,b4 as Pl,b5 as hf,b6 as dp,b7 as Do,b8 as a_,b9 as Jm,ba as bw,bb as Rn,bc as Yx,bd as l_,be as vy,bf as UA,bg as PE,bh as up,bi as ff,bj as hp,bk as c_,bl as by,bm as bn,bn as Wc,bo as d_,bp as qA,bq as GA,br as Qx,bs as KA,bt as ev,bu as rr,bv as Jx,bw as gf,bx as Ml,by as jf,bz as Yi,bA as pf,bB as ME,bC as u_,bD as ZA,bE as bd,bF as Ht,bG as iL,bH as Lm,bI as RE,bJ as Mr,bK as ta,bL as An,bM as _f,bN as wr,bO as mf,bP as Gn,bQ as fp,bR as Ou,bS,bT as NE,bU as AE,bV as OE,bW as e0,bX as So,bY as Ln,bZ as h_,b_ as FE,b$ as gl,c0 as yy,c1 as XA,c2 as Sh,c3 as nL,c4 as f_,c5 as HE,c6 as Ch,c7 as YA,c8 as gr,c9 as wy,ca as QA,cb as vo,cc as da,cd as g_,ce as gp,cf as WE,cg as nr,ch as p_,ci as Sy,cj as JA,ck as eO,cl as tO,cm as $f,cn as za,co as xs,cp as iO,cq as t0,cr as nO,cs as sO,ct as sL,cu as oO,cv as __,cw as bl,cx as yS,cy as _u,cz as yl,cA as rO,cB as Fa,cC as Sr,cD as Oo,cE as oL,cF as Js,cG as m_,cH as Ec,cI as Va,cJ as aO,cK as ua,cL as pp,cM as Cy,cN as BE,cO as lO,cP as cO,cQ as i0,cR as dO,cS as _p,cT as uO,cU as ic,cV as mp,cW as rL,cX as hO,cY as fO,cZ as Ua,c_ as gO,c$ as n0,d0 as zE,d1 as VE,d2 as jE,d3 as $E,d4 as pO,d5 as _O,d6 as UE,d7 as qE,d8 as mO,d9 as s0,da as vO,db as bO,dc as Xn,dd as yO,de as o0,df as wO,dg as xh,dh as aL,di as SO,dj as CO,dk as xO,dl as kO,dm as LO,dn as IO,dp as vf,dq as xy,dr as wS,ds as DO,dt as EO,du as lL,dv as SS,dw as TO,dx as cL,dy as yw,dz as PO,dA as GE,dB as MO,dC as KE,dD as CS,dE as RO,dF as NO,dG as AO,dH as ZE,dI as XE,dJ as OO,dK as tv,dL as YE,dM as ky,dN as FO,dO as HO,dP as Tc,dQ as r0,dR as WO,dS as dL,dT as uL,dU as BO,dV as kh,dW as QE,dX as zO,dY as VO,dZ as jO,d_ as $O,d$ as JE,e0 as eT,e1 as tT,e2 as iT,e3 as UO,e4 as Ha,e5 as hL,e6 as qO,e7 as v_,e8 as GO,e9 as xg,ea as nT,eb as fL,ec as vp,ed as sT,ee as iv,ef as KO,eg as oT,eh as ZO,ei as rT,ej as XO,ek as YO,el as aT,em as lT,en as wl,eo as Ly,ep as QO,eq as cT,er as Vo,es as yd,et as dT,eu as JO,ev as e2,ew as uT,ex as hT,ey as t2,ez as fT,eA as gT,eB as bp,eC as i2,eD as n2,eE as s2,eF as o2,eG as fg,eH as gL,eI as r2,eJ as a2,eK as l2,eL as nv,eM as zs,eN as c2,eO as xS,eP as Fu,eQ as d2,eR as al,eS as u2,eT as h2,eU as pT,eV as f2,eW as jg,eX as g2,eY as p2,eZ as _2,e_ as m2,e$ as pL,f0 as _L,f1 as mL,f2 as Hu,f3 as a0,f4 as _T,f5 as kS,f6 as Im,f7 as mT,f8 as sv,f9 as v2,fa as b2,fb as y2,fc as w2,fd as l0,fe as vT,ff as S2,fg as ov,fh as bT,fi as yT,fj as C2,fk as x2,fl as k2,fm as L2,fn as I2,fo as D2,fp as E2,fq as T2,fr as wT,fs as P2,ft as rv,fu as ST,fv as M2,fw as CT,fx as R2,fy as xT,fz as kT,fA as N2,fB as vL,fC as LT,fD as bL,fE as A2,fF as ww,fG as yL,fH as O2,fI as F2,fJ as H2,fK as Ea,fL as Pc,fM as W2,fN as wL,fO as Dm,fP as B2,fQ as cl,fR as Iy,fS as LS,fT as z2,fU as IT,fV as DT,fW as eo,fX as SL,fY as K_,fZ as c0,f_ as V2,f$ as j2,g0 as $2,g1 as U2,g2 as q2,g3 as G2,g4 as K2,g5 as Z2,g6 as CL,g7 as X2,g8 as Y2,g9 as Q2,ga as bf,gb as $g,gc as ET,gd as J2,ge as d0,gf as Em,gg as Z_,gh as Sw,gi as eF,gj as tF,gk as TT,gl as iF,gm as u0,gn as nF,go as sF,gp as PT,gq as Dy,gr as oF,gs as av,gt as h0,gu as f0,gv as g0,gw as MT,gx as RT,gy as NT,gz as AT,gA as OT,gB as FT,gC as HT,gD as xL,gE as WT,gF as Ju,gG as rF,gH as aF,gI as lF,gJ as cF,gK as BT,gL as dF,gM as uF,gN as kL,gO as IS,gP as cc,gQ as hF,gR as fF,gS as gF,gT as pF,gU as _F,gV as mF,gW as LL,gX as p0,gY as DS,gZ as vF,g_ as ES,g$ as bF,h0 as yF,h1 as wF,h2 as SF,h3 as _0,h4 as zT,h5 as IL,h6 as DL,h7 as CF,h8 as xF,h9 as kF,ha as EL,hb as Cw,hc as LF,hd as IF,he as DF,hf as xw,hg as VT,hh as jT,hi as $T,hj as UT,hk as Sl,hl as qT,hm as m0,hn as TL,ho as EF,hp as GT,hq as TF,hr as PF,hs as Ey,ht as Ty,hu as Wu,hv as Py,hw as b_,hx as MF,hy as My,hz as RF,hA as NF,hB as AF,hC as KT,hD as gg,hE as OF,hF as FF,hG as HF,hH as WF,hI as y_,hJ as BF,hK as ZT,hL as XT,hM as YT,hN as TS,hO as zF,hP as VF,hQ as jF,hR as $F,hS as UF,hT as PS,hU as qF,hV as GF,hW as KF,hX as ZF,hY as XF,hZ as YF,h_ as QF,h$ as JF,i0 as QT,i1 as e3,i2 as t3,i3,i4 as PL,i5 as n3,i6 as s3,i7 as nd,i8 as dr,i9 as o3,ia as r3}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 JT=!1;var v0=Array.isArray,a3=Array.prototype.indexOf,lv=Array.prototype.includes,Ry=Array.from,l3=Object.defineProperty,Bh=Object.getOwnPropertyDescriptor,c3=Object.getOwnPropertyDescriptors,d3=Object.prototype,u3=Array.prototype,eP=Object.getPrototypeOf,ML=Object.isExtensible;const Ny=()=>{};function h3(o){for(var e=0;e<o.length;e++)o[e]()}function tP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function f3(o,e,t=!1){return o===void 0?t?e():e:o}function RL(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 no=2,yf=4,Ay=8,iP=1<<24,ia=16,oa=32,Mc=64,MS=128,Lr=512,Vs=1024,qs=2048,ja=4096,xo=8192,Ir=16384,Uf=32768,RS=1<<25,wf=65536,cv=1<<17,g3=1<<18,qf=1<<19,p3=1<<20,Ra=1<<25,mu=65536,dv=1<<21,zh=1<<22,dc=1<<23,wd=Symbol("$state"),_3=Symbol("legacy props"),m3=Symbol(""),Tm=Symbol("attributes"),NS=Symbol("class"),AS=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 wE;const v3=!!((wE=globalThis.document)!=null&&wE.contentType)&&globalThis.document.contentType.includes("xml");function nP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function b3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function y3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function w3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function S3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function C3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function x3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function k3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function L3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function I3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function D3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function E3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const T3=1,P3=2,sP=4,M3=8,R3=16,N3=1,A3=4,O3=8,F3=16,H3=1,W3=2,Bs=Symbol("uninitialized"),oP="http://www.w3.org/1999/xhtml",B3="http://www.w3.org/2000/svg",z3="http://www.w3.org/1998/Math/MathML";function V3(){console.warn("https://svelte.dev/e/derived_inert")}function j3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function $3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function rP(o){return o===this.v}function U3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function aP(o){return!U3(o,this.v)}let q3=!1,io=null;function Sf(o){io=o}function Ns(o,e=!1,t){io={p:io,i:!1,c:null,e:null,s:o,x:null,r:In,l:null}}function As(o){var e=io,t=e.e;if(t!==null){e.e=null;for(var i of t)EP(i)}return o!==void 0&&(e.x=o),e.i=!0,io=e.p,o??{}}function lP(){return!0}let ld=[];function cP(){var o=ld;ld=[],h3(o)}function uc(o){if(ld.length===0&&!qg){var e=ld;queueMicrotask(()=>{e===ld&&cP()})}ld.push(o)}function G3(){for(;ld.length>0;)cP()}function dP(o){var e=In;if(e===null)return kn.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&MS)!==0){if((e.f&Uf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const K3=-7169;function ws(o,e){o.f=o.f&K3|e}function b0(o){(o.f&Lr)!==0||o.deps===null?ws(o,Vs):ws(o,ja)}function uP(o){if(o!==null)for(const e of o)(e.f&no)===0||(e.f&mu)===0||(e.f^=mu,uP(e.deps))}function hP(o,e,t){(o.f&qs)!==0?e.add(o):(o.f&ja)!==0&&t.add(o),uP(o.deps),ws(o,Vs)}let X_=!1;function Z3(o){var e=X_;try{return X_=!1,[o(),X_]}finally{X_=e}}let kw=null,eh=null,Oi=null,Ug=null,Qs=null,OS=null,qg=!1,Lw=!1,Lh=null,Mm=null;var NL=0;let X3=1;var Uh,Jl,fd,qh,Gh,Kh,nl,Zh,Ro,Qp,sl,qr,ka,Xh,gd,Yn,FS,Lg,HS,fP,gP,_h,Y3,Ig;const yb=class yb{constructor(){on(this,Yn);pn(this,"id",X3++);on(this,Uh,!1);pn(this,"linked",!0);on(this,Jl,null);on(this,fd,null);pn(this,"async_deriveds",new Map);pn(this,"current",new Map);pn(this,"previous",new Map);on(this,qh,new Set);on(this,Gh,new Set);on(this,Kh,0);on(this,nl,new Map);on(this,Zh,null);on(this,Ro,[]);on(this,Qp,[]);on(this,sl,new Set);on(this,qr,new Set);on(this,ka,new Map);on(this,Xh,new Set);pn(this,"is_fork",!1);on(this,gd,!1);eh===null?kw=eh=this:(rn(eh,fd,this),rn(this,Jl,eh)),eh=this}skip_effect(e){ae(this,ka).has(e)||ae(this,ka).set(e,{d:[],m:[]}),ae(this,Xh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ae(this,ka).get(e);if(i){ae(this,ka).delete(e);for(var n of i.d)ws(n,qs),t(n);for(n of i.m)ws(n,ja),t(n)}ae(this,Xh).add(e)}capture(e,t,i=!1){e.v!==Bs&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&dc)===0&&(this.current.set(e,[t,i]),Qs==null||Qs.set(e,t)),this.is_fork||(e.v=t)}activate(){Oi=this}deactivate(){Oi=null,Qs=null}flush(){try{Lw=!0,Oi=this,Bn(this,Yn,Lg).call(this)}finally{NL=0,OS=null,Lh=null,Mm=null,Lw=!1,Oi=null,Qs=null,Sd.clear()}}discard(){var e;for(const t of ae(this,Gh))t(this);ae(this,Gh).clear(),Bn(this,Yn,Ig).call(this),(e=ae(this,Zh))==null||e.resolve()}register_created_effect(e){ae(this,Qp).push(e)}increment(e,t){if(rn(this,Kh,ae(this,Kh)+1),e){let i=ae(this,nl).get(t)??0;ae(this,nl).set(t,i+1)}}decrement(e,t){if(rn(this,Kh,ae(this,Kh)-1),e){let i=ae(this,nl).get(t)??0;i===1?ae(this,nl).delete(t):ae(this,nl).set(t,i-1)}ae(this,gd)||(rn(this,gd,!0),uc(()=>{rn(this,gd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ae(this,sl).add(i);for(const i of t)ae(this,qr).add(i);e.clear(),t.clear()}oncommit(e){ae(this,qh).add(e)}ondiscard(e){ae(this,Gh).add(e)}settled(){return(ae(this,Zh)??rn(this,Zh,tP())).promise}static ensure(){if(Oi===null){const e=Oi=new yb;!Lw&&!qg&&uc(()=>{ae(e,Uh)||e.flush()})}return Oi}apply(){{Qs=null;return}}schedule(e){var n;if(OS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(yf|Ay|iP))!==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===In&&(kn===null||(kn.f&no)===0))return;if((i&(Mc|oa))!==0){if((i&Vs)===0)return;t.f^=Vs}}ae(this,Ro).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,Ro=new WeakMap,Qp=new WeakMap,sl=new WeakMap,qr=new WeakMap,ka=new WeakMap,Xh=new WeakMap,gd=new WeakMap,Yn=new WeakSet,FS=function(){if(this.is_fork)return!0;for(const i of ae(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(ae(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Lg=function(){var c,u,f,g;rn(this,Uh,!0),NL++>1e3&&(Bn(this,Yn,Ig).call(this),J3());for(const p of ae(this,sl))ae(this,qr).delete(p),ws(p,qs),this.schedule(p);for(const p of ae(this,qr))ws(p,ja),this.schedule(p);const e=ae(this,Ro);rn(this,Ro,[]),this.apply();var t=Lh=[],i=[],n=Mm=[];for(const p of e)try{Bn(this,Yn,HS).call(this,p,t,i)}catch(w){throw mP(p),Bn(this,Yn,FS).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,Yn,FS).call(this)){Bn(this,Yn,_h).call(this,i),Bn(this,Yn,_h).call(this,t);for(const[p,w]of ae(this,ka))_P(p,w);n.length>0&&Bn(c=Oi,Yn,Lg).call(c);return}const r=Bn(this,Yn,fP).call(this);if(r){Bn(this,Yn,_h).call(this,i),Bn(this,Yn,_h).call(this,t),Bn(u=r,Yn,gP).call(u,this);return}ae(this,sl).clear(),ae(this,qr).clear();for(const p of ae(this,qh))p(this);ae(this,qh).clear(),Ug=this,AL(i),AL(t),Ug=null,(f=ae(this,Zh))==null||f.resolve();var a=Oi;if(ae(this,Kh)===0&&(ae(this,Ro).length===0||a!==null)&&Bn(this,Yn,Ig).call(this),ae(this,Ro).length>0)if(a!==null){const p=a;ae(p,Ro).push(...ae(this,Ro).filter(w=>!ae(p,Ro).includes(w)))}else a=this;a!==null&&Bn(g=a,Yn,Lg).call(g)},HS=function(e,t,i){e.f^=Vs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(oa|Mc))!==0,a=r&&(s&Vs)!==0,c=a||(s&xo)!==0||ae(this,ka).has(n);if(!c&&n.fn!==null){r?n.f^=Vs:(s&yf)!==0?t.push(n):S_(n)&&((s&ia)!==0&&ae(this,qr).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}}},fP=function(){for(var e=ae(this,Jl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ae(e,Jl)}return null},gP=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(ae(e,sl),ae(e,qr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&no)!==0)t(c);else{var a=c;r&(zh|ia)&&!this.async_deriveds.has(a)&&(ae(this,qr).delete(a),ws(a,qs),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Bn(i=e,Yn,Ig).call(i),Oi=this,Bn(this,Yn,Lg).call(this)},_h=function(e){for(var t=0;t<e.length;t+=1)hP(e[t],ae(this,sl),ae(this,qr))},Y3=function(){var f;for(let g=kw;g!==null;g=ae(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(ae(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 ae(this,Xh))g.unskip_effect(p,w=>{var m;(w.f&(ia|zh))!==0?g.schedule(w):Bn(m=g,Yn,_h).call(m,[w])});g.activate();var s=new Set,r=new Map;for(var a of t)pP(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 ae(this,Qp))(p.f&(Ir|xo|cv))===0&&y0(p,c,r)&&((p.f&(zh|ia))!==0?(ws(p,qs),g.schedule(p)):ae(g,sl).add(p));if(ae(g,Ro).length>0&&!ae(g,gd)){g.apply();for(var u of ae(g,Ro))Bn(f=g,Yn,HS).call(f,u,[],[]);rn(g,Ro,[])}g.deactivate()}}}},Ig=function(){if(this.linked){var e=ae(this,Jl),t=ae(this,fd);e===null?kw=t:rn(e,fd,t),t===null?eh=e:rn(t,Jl,e),this.linked=!1}};let vu=yb;function Q3(o){var e=qg;qg=!0;try{for(var t;;){if(G3(),Oi===null)return t;Oi.flush()}}finally{qg=e}}function J3(){try{x3()}catch(o){nc(o,OS)}}let jr=null;function AL(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Ir|xo))===0&&S_(i)&&(jr=new Set,xf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&MP(i),(jr==null?void 0:jr.size)>0)){Sd.clear();for(const n of jr){if((n.f&(Ir|xo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)jr.has(r)&&(jr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(Ir|xo))===0&&xf(c)}}jr.clear()}}jr=null}}function pP(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&no)!==0?pP(n,e,t,i):(s&(zh|ia))!==0&&(s&qs)===0&&y0(n,e,i)&&(ws(n,qs),w0(n))}}function y0(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&no)!==0&&y0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function w0(o){Oi.schedule(o)}function _P(o,e){if(!((o.f&oa)!==0&&(o.f&Vs)!==0)){(o.f&qs)!==0?e.d.push(o):(o.f&ja)!==0&&e.m.push(o),ws(o,Vs);for(var t=o.first;t!==null;)_P(t,e),t=t.next}}function mP(o){ws(o,Vs);for(var e=o.first;e!==null;)mP(e),e=e.next}function eH(o){let e=0,t=bu(0),i;return()=>{k0()&&(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 tH=wf|qf;function iH(o,e,t,i){new nH(o,e,t,i)}var _r,Vx,mr,pd,No,vr,yo,Jo,ol,_d,ec,Yh,Jp,e_,rl,wb,Ss,sH,oH,rH,WS,Rm,Nm,BS,zS;class nH{constructor(e,t,i,n){on(this,Ss);pn(this,"parent");pn(this,"is_pending",!1);pn(this,"transform_error");on(this,_r);on(this,Vx,null);on(this,mr);on(this,pd);on(this,No);on(this,vr,null);on(this,yo,null);on(this,Jo,null);on(this,ol,null);on(this,_d,0);on(this,ec,0);on(this,Yh,!1);on(this,Jp,new Set);on(this,e_,new Set);on(this,rl,null);on(this,wb,eH(()=>(rn(this,rl,bu(ae(this,_d))),()=>{rn(this,rl,null)})));var s;rn(this,_r,e),rn(this,mr,t),rn(this,pd,r=>{var a=In;a.b=this,a.f|=MS,i(r)}),this.parent=In.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),rn(this,No,D0(()=>{Bn(this,Ss,WS).call(this)},tH))}defer_effect(e){hP(e,ae(this,Jp),ae(this,e_))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ae(this,mr).pending}update_pending_count(e,t){Bn(this,Ss,BS).call(this,e,t),rn(this,_d,ae(this,_d)+e),!(!ae(this,rl)||ae(this,Yh))&&(rn(this,Yh,!0),uc(()=>{rn(this,Yh,!1),ae(this,rl)&&Cf(ae(this,rl),ae(this,_d))}))}get_effect_pending(){return ae(this,wb).call(this),d(ae(this,rl))}error(e){if(!ae(this,mr).onerror&&!ae(this,mr).failed)throw e;Oi!=null&&Oi.is_fork?(ae(this,vr)&&Oi.skip_effect(ae(this,vr)),ae(this,yo)&&Oi.skip_effect(ae(this,yo)),ae(this,Jo)&&Oi.skip_effect(ae(this,Jo)),Oi.oncommit(()=>{Bn(this,Ss,zS).call(this,e)})):Bn(this,Ss,zS).call(this,e)}}_r=new WeakMap,Vx=new WeakMap,mr=new WeakMap,pd=new WeakMap,No=new WeakMap,vr=new WeakMap,yo=new WeakMap,Jo=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,Ss=new WeakSet,sH=function(){try{rn(this,vr,br(()=>ae(this,pd).call(this,ae(this,_r))))}catch(e){this.error(e)}},oH=function(e){const t=ae(this,mr).failed;t&&rn(this,Jo,br(()=>{t(ae(this,_r),()=>e,()=>()=>{})}))},rH=function(){const e=ae(this,mr).pending;e&&(this.is_pending=!0,rn(this,yo,br(()=>e(ae(this,_r)))),uc(()=>{var t=rn(this,ol,document.createDocumentFragment()),i=pl();t.append(i),rn(this,vr,Bn(this,Ss,Nm).call(this,()=>br(()=>ae(this,pd).call(this,i)))),ae(this,ec)===0&&(ae(this,_r).before(t),rn(this,ol,null),xd(ae(this,yo),()=>{rn(this,yo,null)}),Bn(this,Ss,Rm).call(this,Oi))}))},WS=function(){try{if(this.is_pending=this.has_pending_snippet(),rn(this,ec,0),rn(this,_d,0),rn(this,vr,br(()=>{ae(this,pd).call(this,ae(this,_r))})),ae(this,ec)>0){var e=rn(this,ol,document.createDocumentFragment());T0(ae(this,vr),e);const t=ae(this,mr).pending;rn(this,yo,br(()=>t(ae(this,_r))))}else Bn(this,Ss,Rm).call(this,Oi)}catch(t){this.error(t)}},Rm=function(e){this.is_pending=!1,e.transfer_effects(ae(this,Jp),ae(this,e_))},Nm=function(e){var t=In,i=kn,n=io;$a(ae(this,No)),Tr(ae(this,No)),Sf(ae(this,No).ctx);try{return vu.ensure(),e()}catch(s){return dP(s),null}finally{$a(t),Tr(i),Sf(n)}},BS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Bn(i=this.parent,Ss,BS).call(i,e,t);return}rn(this,ec,ae(this,ec)+e),ae(this,ec)===0&&(Bn(this,Ss,Rm).call(this,t),ae(this,yo)&&xd(ae(this,yo),()=>{rn(this,yo,null)}),ae(this,ol)&&(ae(this,_r).before(ae(this,ol)),rn(this,ol,null)))},zS=function(e){ae(this,vr)&&(jo(ae(this,vr)),rn(this,vr,null)),ae(this,yo)&&(jo(ae(this,yo)),rn(this,yo,null)),ae(this,Jo)&&(jo(ae(this,Jo)),rn(this,Jo,null));var t=ae(this,mr).onerror;let i=ae(this,mr).failed;var n=!1,s=!1;const r=()=>{if(n){$3();return}n=!0,s&&E3(),ae(this,Jo)!==null&&xd(ae(this,Jo),()=>{rn(this,Jo,null)}),Bn(this,Ss,Nm).call(this,()=>{Bn(this,Ss,WS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(u){nc(u,ae(this,No)&&ae(this,No).parent)}i&&rn(this,Jo,Bn(this,Ss,Nm).call(this,()=>{try{return br(()=>{var u=In;u.b=this,u.f|=MS,i(ae(this,_r),()=>c,()=>r)})}catch(u){return nc(u,ae(this,No).parent),null}}))};uc(()=>{var c;try{c=this.transform_error(e)}catch(u){nc(u,ae(this,No)&&ae(this,No).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,u=>nc(u,ae(this,No)&&ae(this,No).parent)):a(c)})};function aH(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=In,a=lH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Ir)===0){a();try{i(p)}catch(w){nc(w,r)}uv()}}var f=vP();if(t.length===0){c.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>cH(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}c?c.then(()=>{a(),g(),uv()}):g()}function lH(){var o=In,e=kn,t=io,i=Oi;return function(s=!0){$a(o),Tr(e),Sf(t),s&&(o.f&Ir)===0&&(i==null||i.activate(),i==null||i.apply())}}function uv(o=!0){$a(null),Tr(null),Sf(null),o&&(Oi==null||Oi.deactivate())}function vP(){var o=In,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=no|qs;return In!==null&&(In.f|=qf),{ctx:io,deps:null,effects:null,equals:rP,f:e,fn:o,reactions:null,rv:0,v:Bs,wv:0,parent:In,ac:null}}const Y_=Symbol("obsolete");function cH(o,e,t){let i=In;i===null&&b3();var n=void 0,s=bu(Bs),r=!kn,a=new Set;return wH(()=>{var w,m;var c=In,u=tP();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=vP();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"))}),L0(()=>{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 wt(o){const e=yp(o);return AP(e),e}function S0(o){const e=yp(o);return e.equals=aP,e}function dH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)jo(e[t])}}function C0(o){var e,t=In,i=o.parent;if(!Cl&&i!==null&&o.v!==Bs&&(i.f&(Ir|xo))!==0)return V3(),o.v;$a(i);try{o.f&=~mu,dH(o),e=WP(o)}finally{$a(t)}return e}function bP(o){var e=C0(o);if(!o.equals(e)&&(o.wv=FP(),(!(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))){ws(o,Vs);return}Cl||(Qs!==null?(k0()||Oi!=null&&Oi.is_fork)&&Qs.set(o,e):b0(o))}function uH(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),E0(i))}function yP(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 wP=!1;function bu(o,e){var t={f:0,v:o,reactions:null,equals:rP,rv:0,wv:0};return t}function M(o,e){const t=bu(o);return AP(t),t}function hH(o,e=!1,t=!0){const i=bu(o);return e||(i.equals=aP),i}function y(o,e,t=!1){kn!==null&&(!na||(kn.f&cv)!==0)&&lP()&&(kn.f&(no|ia|zh|cv))!==0&&(Wa===null||!Wa.has(o))&&D3();let i=t?yi(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&no)!==0){const n=o;(o.f&qs)!==0&&C0(n),Qs===null&&b0(n)}o.wv=FP(),SP(o,qs,t),In!==null&&(In.f&Vs)!==0&&(In.f&(oa|Mc))===0&&(pr===null?CH([o]):pr.push(o)),!i.is_fork&&hv.size>0&&!wP&&fH()}return e}function fH(){wP=!1;for(const o of hv){(o.f&Vs)!==0&&ws(o,ja);let e;try{e=S_(o)}catch{e=!0}e&&xf(o)}hv.clear()}function OL(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 SP(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&qs)===0;if(c&&ws(r,e),(a&cv)!==0)hv.add(r);else if((a&no)!==0){var u=r;Qs==null||Qs.delete(u),(a&mu)===0&&(a&Lr&&(In===null||(In.f&dv)===0)&&(r.f|=mu),SP(u,ja,t))}else if(c){var f=r;(a&ia)!==0&&jr!==null&&jr.add(f),t!==null?t.push(f):w0(f)}}}function yi(o){if(typeof o!="object"||o===null||wd in o)return o;const e=eP(o);if(e!==d3&&e!==u3)return o;var t=new Map,i=v0(o),n=M(0),s=kd,r=a=>{if(kd===s)return a();var c=kn,u=kd;Tr(null),BL(s);var f=a();return Tr(c),BL(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)&&L3();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(Bs));t.set(c,f),Gg(n)}}else y(u,Bs),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=yi(g?a[c]:Bs),x=M(m);return x}),t.set(c,f)),f!==void 0){var p=d(f);return p===Bs?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!==Bs)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!==Bs||Reflect.has(a,c);if(u!==void 0||In!==null&&(!f||(p=Bh(a,c))!=null&&p.writable)){u===void 0&&(u=r(()=>{var w=f?yi(a[c]):Bs,m=M(w);return m}),t.set(c,u));var g=d(u);if(g===Bs)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,Bs):w in a&&(m=r(()=>M(Bs)),t.set(w+"",m))}if(g===void 0)(!p||(A=Bh(a,c))!=null&&A.writable)&&(g=r(()=>M(void 0)),y(g,yi(u)),t.set(c,g));else{p=g.v!==Bs;var x=r(()=>yi(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!==Bs});for(var[u,f]of t)f.v!==Bs&&!(u in a)&&c.push(u);return c},setPrototypeOf(){I3()}})}function FL(o){try{if(o!==null&&typeof o=="object"&&wd in o)return o[wd]}catch{}return o}function gH(o,e){return Object.is(FL(o),FL(e))}var Cd,CP,xP,kP,LP;function pH(){if(Cd===void 0){Cd=window,CP=document,xP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;kP=Bh(e,"firstChild").get,LP=Bh(e,"nextSibling").get,ML(o)&&(o[NS]=void 0,o[Tm]=null,o[AS]=void 0,o.__e=void 0),ML(t)&&(t[kg]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Na(o){return kP.call(o)}function w_(o){return LP.call(o)}function v(o,e){return Na(o)}function Ct(o,e=!1){{var t=Na(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 _H(o){o.textContent=""}function IP(){return!1}function DP(o,e,t){return e==null||e===oP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let HL=!1;function mH(){HL||(HL=!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=kn,t=In;Tr(null),$a(null);try{return o()}finally{Tr(e),$a(t)}}function x0(o,e,t,i=t){o.addEventListener(e,()=>Fy(t));const n=o[Pm];n?o[Pm]=()=>{n(),i(!0)}:o[Pm]=()=>i(!0),mH()}function vH(o){In===null&&(kn===null&&C3(),S3()),Cl&&w3()}function bH(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=In;t!==null&&(t.f&xo)!==0&&(o|=xo);var i={ctx:io,deps:null,nodes:null,f:o|qs|Lr,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 jo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&qf)===0&&(n=n.first,(o&ia)!==0&&(o&wf)!==0&&n!==null&&(n.f|=wf))}if(n!==null&&(n.parent=t,t!==null&&bH(n,t),kn!==null&&(kn.f&no)!==0&&(o&Mc)===0)){var s=kn;(s.effects??(s.effects=[])).push(n)}return i}function k0(){return kn!==null&&!na}function L0(o){const e=Rl(Ay,null);return ws(e,Vs),e.teardown=o,e}function zn(o){vH();var e=In.f,t=!kn&&(e&oa)!==0&&io!==null&&!io.i;if(t){var i=io;(i.e??(i.e=[])).push(o)}else return EP(o)}function EP(o){return Rl(yf|p3,o)}function yH(o){vu.ensure();const e=Rl(Mc|qf,o);return(t={})=>new Promise(i=>{t.outro?xd(e,()=>{jo(e),i(void 0)}):(jo(e),i(void 0))})}function I0(o){return Rl(yf,o)}function wH(o){return Rl(zh|qf,o)}function Hy(o,e=0){return Rl(Ay|e,o)}function j(o,e=[],t=[],i=[]){aH(i,e,t,n=>{Rl(Ay,()=>o(...n.map(d)))})}function D0(o,e=0){var t=Rl(ia|e,o);return t}function br(o){return Rl(oa|qf,o)}function TP(o){var e=o.teardown;if(e!==null){const t=Cl,i=kn;WL(!0),Tr(null);try{e.call(null)}finally{WL(t),Tr(i)}}}function E0(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:jo(t,e),t=i}}function SH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&oa)===0&&jo(e),e=t}}function jo(o,e=!0){var t=!1;(e||(o.f&g3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(PP(o.nodes.start,o.nodes.end),t=!0),ws(o,RS),E0(o,e&&!t),wp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();TP(o),o.f^=RS,o.f|=Ir;var n=o.parent;n!==null&&n.first!==null&&MP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function PP(o,e){for(;o!==null;){var t=o===e?null:w_(o);o.remove(),o=t}}function MP(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=[];RP(o,i,!0);var n=()=>{t&&jo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function RP(o,e,t){if((o.f&xo)===0){o.f^=xo;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&oa)!==0&&(o.f&ia)!==0;RP(n,e,r?t:!1)}n=s}}}function fv(o){NP(o,!0)}function NP(o,e){if((o.f&xo)!==0){o.f^=xo,(o.f&Vs)===0&&(ws(o,qs),vu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&wf)!==0||(t.f&oa)!==0;NP(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 T0(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 WL(o){Cl=o}let kn=null,na=!1;function Tr(o){kn=o}let In=null;function $a(o){In=o}let Wa=null;function AP(o){kn!==null&&(Wa??(Wa=new Set)).add(o)}let Ao=null,Yo=0,pr=null;function CH(o){pr=o}let OP=1,cd=0,kd=cd;function BL(o){kd=o}function FP(){return++OP}function S_(o){var e=o.f;if((e&qs)!==0)return!0;if(e&no&&(o.f&=~mu),(e&ja)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(S_(s)&&bP(s),s.wv>o.wv)return!0}(e&Lr)!==0&&Qs===null&&ws(o,Vs)}return!1}function HP(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Wa!==null&&Wa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&no)!==0?HP(s,e,!1):e===s&&(t?ws(s,qs):(s.f&Vs)!==0&&ws(s,ja),w0(s))}}function WP(o){var x;var e=Ao,t=Yo,i=pr,n=kn,s=Wa,r=io,a=na,c=kd,u=o.f;Ao=null,Yo=0,pr=null,kn=(u&(oa|Mc))===0?o:null,Wa=null,Sf(o.ctx),na=!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(Ao!==null){var m;if(w||wp(o,Yo),p!==null&&Yo>0)for(p.length=Yo+Ao.length,m=0;m<Ao.length;m++)p[Yo+m]=Ao[m];else o.deps=p=Ao;if(k0()&&(o.f&Lr)!==0)for(m=Yo;m<p.length;m++)((x=p[m]).reactions??(x.reactions=[])).push(o)}else!w&&p!==null&&Yo<p.length&&(wp(o,Yo),p.length=Yo);if(lP()&&pr!==null&&!na&&p!==null&&(o.f&(no|ja|qs))===0)for(m=0;m<pr.length;m++)HP(pr[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;pr!==null&&(i===null?i=pr:i.push(...pr))}return(o.f&dc)!==0&&(o.f^=dc),g}catch(k){return dP(k)}finally{o.f^=dv,Ao=e,Yo=t,pr=i,kn=n,Wa=s,Sf(r),na=a,kd=c}}function xH(o,e){let t=e.reactions;if(t!==null){var i=a3.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&no)!==0&&(Ao===null||!lv.call(Ao,e))){var s=e;(s.f&Lr)!==0&&(s.f^=Lr,s.f&=~mu),s.v!==Bs&&b0(s),uH(s),wp(s,0)}}function wp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)xH(o,t[i])}function xf(o){var e=o.f;if((e&Ir)===0){ws(o,Vs);var t=In,i=Am;In=o,Am=!0;try{(e&(ia|iP))!==0?SH(o):E0(o),TP(o);var n=WP(o);o.teardown=typeof n=="function"?n:null,o.wv=OP;var s;JT&&q3&&(o.f&qs)!==0&&o.deps}finally{Am=i,In=t}}}async function Om(){await Promise.resolve(),Q3()}function d(o){var e=o.f,t=(e&no)!==0;if(kn!==null&&!na){var i=In!==null&&(In.f&Ir)!==0;if(!i&&(Wa===null||!Wa.has(o))){var n=kn.deps;if((kn.f&dv)!==0)o.rv<cd&&(o.rv=cd,Ao===null&&n!==null&&n[Yo]===o?Yo++:Ao===null?Ao=[o]:Ao.push(o));else{kn.deps??(kn.deps=[]),lv.call(kn.deps,o)||kn.deps.push(o);var s=o.reactions;s===null?o.reactions=[kn]:lv.call(s,kn)||s.push(kn)}}}if(Cl&&Sd.has(o))return Sd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&Vs)===0&&r.reactions!==null||zP(r))&&(a=C0(r)),Sd.set(r,a),a}var c=(r.f&Lr)===0&&!na&&kn!==null&&(Am||(kn.f&Lr)!==0),u=(r.f&Uf)===0;S_(r)&&(c&&(r.f|=Lr),bP(r)),c&&!u&&(yP(r),BP(r))}if(Qs!=null&&Qs.has(o))return Qs.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function BP(o){if(o.f|=Lr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&no)!==0&&(e.f&Lr)===0&&(yP(e),BP(e))}function zP(o){if(o.v===Bs)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Sd.has(e)||(e.f&no)!==0&&zP(e))return!0;return!1}function Nl(o){var e=na;try{return na=!0,o()}finally{na=e}}const kH=["touchstart","touchmove"];function LH(o){return kH.includes(o)}const dd=Symbol("events"),VP=new Set,VS=new Set;function IH(o,e,t,i={}){function n(s){if(i.capture||jS.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 cs(o,e,t,i,n){var s={capture:i,passive:n},r=IH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&L0(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[dd]??(e[dd]={}))[o]=t}function Ks(o){for(var e=0;e<o.length;e++)VP.add(o[e]);for(var t of VS)t(o)}let zL=null;function jS(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;zL=o;var r=0,a=zL===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){l3(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=kn,g=In;Tr(null),$a(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,Tr(f),$a(g)}}}var SE;const Iw=((SE=globalThis==null?void 0:globalThis.window)==null?void 0:SE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function DH(o){return(Iw==null?void 0:Iw.createHTML(o))??o}function jP(o){var e=DP("template");return e.innerHTML=DH(o.replaceAll("<!>","<!---->")),e.content}function yu(o,e){var t=In;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function T(o,e){var t=(e&H3)!==0,i=(e&W3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=jP(s?o:"<!>"+o),t||(n=Na(n)));var r=i||xP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Na(r),c=r.lastChild;yu(a,c)}else yu(r,r);return r}}function EH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=jP(n),a=Na(r);s=Na(a)}var c=s.cloneNode(!0);return yu(c,c),c}}function $P(o,e){return EH(o,e,"svg")}function sa(o=""){{var e=pl(o+"");return yu(e,e),e}}function Rs(){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 TH(o,e){return PH(o,e)}const Q_=new Map;function PH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){pH();var c=void 0,u=yH(()=>{var f=t??e.appendChild(pl());iH(f,{pending:()=>{}},w=>{Ns({});var m=io;s&&(m.c=s),n&&(i.$$events=n),c=o(w,i)||{},As()},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=LH(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,jS,{passive:k}),E.set(x,1)):E.set(x,P+1)}}}};return p(Ry(VP)),VS.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,jS),m.delete(w),m.size===0&&Q_.delete(E)):m.set(w,x)}VS.delete(p),f!==t&&((k=f.parentNode)==null||k.removeChild(f))}});return MH.set(c,u),c}let MH=new WeakMap;var Gr,La,er,md,t_,i_,Sb;class RH{constructor(e,t=!0){pn(this,"anchor");on(this,Gr,new Map);on(this,La,new Map);on(this,er,new Map);on(this,md,new Set);on(this,t_,!0);on(this,i_,e=>{if(ae(this,Gr).has(e)){var t=ae(this,Gr).get(e),i=ae(this,La).get(t);if(i)fv(i),ae(this,md).delete(t);else{var n=ae(this,er).get(t);n&&(fv(n.effect),ae(this,La).set(t,n.effect),ae(this,er).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ae(this,Gr)){if(ae(this,Gr).delete(s),s===e)break;const a=ae(this,er).get(r);a&&(jo(a.effect),ae(this,er).delete(r))}for(const[s,r]of ae(this,La)){if(s===t||ae(this,md).has(s))continue;const a=()=>{if(Array.from(ae(this,Gr).values()).includes(s)){var u=document.createDocumentFragment();T0(r,u),u.append(pl()),ae(this,er).set(s,{effect:r,fragment:u})}else jo(r);ae(this,md).delete(s),ae(this,La).delete(s)};ae(this,t_)||!i?(ae(this,md).add(s),xd(r,a,!1)):a()}}});on(this,Sb,e=>{ae(this,Gr).delete(e);const t=Array.from(ae(this,Gr).values());for(const[i,n]of ae(this,er))t.includes(i)||(jo(n.effect),ae(this,er).delete(i))});this.anchor=e,rn(this,t_,t)}ensure(e,t){var i=Oi,n=IP();if(t&&!ae(this,La).has(e)&&!ae(this,er).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),ae(this,er).set(e,{effect:br(()=>t(r)),fragment:s})}else ae(this,La).set(e,br(()=>t(this.anchor)));if(ae(this,Gr).set(i,e),n){for(const[a,c]of ae(this,La))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of ae(this,er))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(ae(this,i_)),i.ondiscard(ae(this,Sb))}else ae(this,i_).call(this,i)}}Gr=new WeakMap,La=new WeakMap,er=new WeakMap,md=new WeakMap,t_=new WeakMap,i_=new WeakMap,Sb=new WeakMap;function W(o,e,t=!1){var i=new RH(o),n=t?wf:0;function s(r,a){i.ensure(r,a)}D0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function Ji(o,e){return e}function NH(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;$S(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;_H(f),f.append(u),o.items.clear()}$S(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function $S(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|=Ra;const r=document.createDocumentFragment();T0(s,r)}else jo(e[n],t)}}var VL;function mi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&sP)!==0;if(c){var u=o;r=u.appendChild(pl())}var f=null,g=S0(()=>{var A=t();return v0(A)?A:A==null?[]:Ry(A)}),p,w=new Map,m=!0;function x(A){(P.effect.f&Ir)===0&&(P.pending.delete(A),P.fallback=f,AH(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?fv(f):(f.f^=Ra,Dg(f,null,r)):xd(f,()=>{f=null})))}function k(A){P.pending.delete(A)}var E=D0(()=>{p=d(g);for(var A=p.length,$=new Set,H=Oi,ie=IP(),J=0;J<A;J+=1){var ue=p[J],he=i(ue,J),We=m?null:a.get(he);We?(We.v&&Cf(We.v,ue),We.i&&Cf(We.i,J),ie&&H.unskip_effect(We.e)):(We=OH(a,m?r:VL??(VL=pl()),ue,he,J,n,e,t),m||(We.e.f|=Ra),a.set(he,We)),$.add(he)}if(A===0&&s&&!f&&(m?f=br(()=>s(r)):(f=br(()=>s(VL??(VL=pl()))),f.f|=Ra)),A>$.size&&y3(),!m)if(w.set(H,$),ie){for(const[xe,rt]of a)$.has(xe)||H.skip_effect(rt.e);H.oncommit(x),H.ondiscard(k)}else x(H);d(g)}),P={effect:E,items:a,pending:w,outrogroups:null,fallback:f};m=!1}function pg(o){for(;o!==null&&(o.f&oa)===0;)o=o.next;return o}function AH(o,e,t,i,n){var We,xe,rt,pt,ve,dt,gt,Pt,fe;var s=(i&M3)!==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&Ra)===0&&((xe=(We=k.nodes)==null?void 0:We.a)==null||xe.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 Et of o.outrogroups)Et.pending.delete(k),Et.done.delete(k);if((k.f&xo)!==0&&(fv(k),s&&((pt=(rt=k.nodes)==null?void 0:rt.a)==null||pt.unfix(),(g??(g=new Set)).delete(k))),(k.f&Ra)!==0)if(k.f^=Ra,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],$;f=A.prev;var H=p[0],ie=p[p.length-1];for($=0;$<p.length;$+=1)Dg(p[$],A,t);for($=0;$<w.length;$+=1)u.delete(w[$]);Bl(o,H.prev,ie.next),Bl(o,f,H),Bl(o,ie,A),c=A,f=ie,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&Ra)===0&&p.push(k),f=k,c=pg(k.next)}if(o.outrogroups!==null){for(const Et of o.outrogroups)Et.pending.size===0&&($S(o,Ry(Et.done)),(ve=o.outrogroups)==null||ve.delete(Et));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||u!==void 0){var J=[];if(u!==void 0)for(k of u)(k.f&xo)===0&&J.push(k);for(;c!==null;)(c.f&xo)===0&&c!==o.fallback&&J.push(c),c=pg(c.next);var ue=J.length;if(ue>0){var he=(i&sP)!==0&&r===0?t:null;if(s){for(E=0;E<ue;E+=1)(gt=(dt=J[E].nodes)==null?void 0:dt.a)==null||gt.measure();for(E=0;E<ue;E+=1)(fe=(Pt=J[E].nodes)==null?void 0:Pt.a)==null||fe.fix()}NH(o,J,he)}}s&&uc(()=>{var Et,Oe;if(g!==void 0)for(k of g)(Oe=(Et=k.nodes)==null?void 0:Et.a)==null||Oe.apply()})}function OH(o,e,t,i,n,s,r,a){var c=(r&T3)!==0?(r&R3)===0?hH(t,!1,!1):bu(t):null,u=(r&P3)!==0?bu(n):null;return{v:c,i:u,e:br(()=>(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&Ra)===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;j(()=>{var u=In;if(a!==(a=e()??"")){if(t){u.nodes=null,c.innerHTML=a,a!==""&&yu(Na(c),c.lastChild);return}if(u.nodes!==null&&(PP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?B3:n?z3:void 0,g=DP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(yu(Na(p),p.lastChild),i||n)for(;Na(p);)r.before(Na(p));else r.before(p)}}})}function UP(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=UP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function FH(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=UP(o))&&(i&&(i+=" "),i+=e);return i}function ud(o){return typeof o=="object"?FH(o):o??""}const jL=[...`
|
|
3
|
-
\r\f \v\uFEFF`];function HH(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||jL.includes(i[r-1]))&&(a===i.length||jL.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function $L(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 Dw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function WH(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(Dw)),n&&c.push(...Object.keys(n).map(Dw));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=Dw(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+=$L(i)),n&&(t+=$L(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Tt(o,e,t,i,n,s){var r=o[NS];if(r!==t||r===void 0){var a=HH(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[NS]=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 Ew(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 Fo(o,e,t,i){var n=o[AS];if(n!==e){var s=WH(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[AS]=e}else i&&(Array.isArray(i)?(Ew(o,t==null?void 0:t[0],i[0]),Ew(o,t==null?void 0:t[1],i[1],"important")):Ew(o,t,i));return i}function qP(o,e,t=!1){if(o.multiple){if(e==null)return;if(!v0(e))return j3();for(var i of o.options)i.selected=e.includes(Kg(i));return}for(i of o.options){var n=Kg(i);if(gH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function BH(o){var e=new MutationObserver(()=>{qP(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),L0(()=>{e.disconnect()})}function Ho(o,e,t=e){var i=new WeakSet,n=!0;x0(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)}),I0(()=>{var s=e();if(o===document.activeElement){var r=Oi;if(i.has(r))return}if(qP(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Kg(a),t(s))}o.__value=s,n=!1}),BH(o)}function Kg(o){return"__value"in o?o.__value:o.value}const zH=Symbol("is custom element"),VH=Symbol("is html"),jH=v3?"progress":"PROGRESS";function UL(o,e){var t=P0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==jH)||(o.value=e??"")}function Eg(o,e){var t=P0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Ai(o,e,t,i){var n=P0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[m3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&$H(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function P0(o){return o[Tm]??(o[Tm]={[zH]:o.nodeName.includes("-"),[VH]:o.namespaceURI===oP})}var qL=new Map;function $H(o){var e=o.getAttribute("is")||o.nodeName,t=qL.get(e);if(t)return t;qL.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=c3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=eP(n)}return t}function ti(o,e,t=e){var i=new WeakSet;x0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Tw(o)?Pw(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(Tw(o)?Pw(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}Tw(o)&&n===Pw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Is(o,e,t=e){x0(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 Tw(o){var e=o.type;return e==="number"||e==="range"}function Pw(o){return o===""?null:+o}var tc,Qh,n_,Cb,GP;const xb=class xb{constructor(e){on(this,Cb);on(this,tc,new WeakMap);on(this,Qh);on(this,n_);rn(this,n_,e)}observe(e,t){var i=ae(this,tc).get(e)||new Set;return i.add(t),ae(this,tc).set(e,i),Bn(this,Cb,GP).call(this).observe(e,ae(this,n_)),()=>{var n=ae(this,tc).get(e);n.delete(t),n.size===0&&(ae(this,tc).delete(e),ae(this,Qh).unobserve(e))}}};tc=new WeakMap,Qh=new WeakMap,n_=new WeakMap,Cb=new WeakSet,GP=function(){return ae(this,Qh)??rn(this,Qh,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of ae(this,tc).get(t.target)||[])i(t)}}))},pn(xb,"entries",new WeakMap);let US=xb;var UH=new US({box:"border-box"});function qH(o,e,t){var i=UH.observe(o,()=>t(o[e]));I0(()=>(Nl(()=>t(o[e])),i))}function Mw(o,e){return o===e||(o==null?void 0:o[wd])===e}function Ds(o={},e,t,i){var n=io.r,s=In;return I0(()=>{var r,a;return Hy(()=>{r=a,a=[],Nl(()=>{Mw(t(...a),o)||(e(o,...a),r&&Mw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&RS;)c=c.parent;const u=()=>{a&&Mw(t(...a),o)&&e(null,...a)},f=c.teardown;c.teardown=()=>{u(),f==null||f()}}}),o}function wu(o,e,t,i){var $;var n=!0,s=(t&O3)!==0,r=(t&F3)!==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||_3 in o;g=(($=Bh(o,e))==null?void 0:$.set)??(p&&e in o?H=>o[e]=H:void 0)}var w,m=!1;s?[w,m]=Z3(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(k3(),g(w)));var x;if(x=()=>{var H=o[e];return H===void 0?f():(c=!0,H)},(t&A3)===0)return x;if(g){var k=o.$$legacy;return(function(H,ie){return arguments.length>0?((!ie||k||m)&&g(ie?x():H),H):x()})}var E=!1,P=((t&N3)!==0?yp:S0)(()=>(E=!1,x()));s&&d(P);var A=In;return(function(H,ie){if(arguments.length>0){const J=ie?d(P):s?yi(H):H;return y(P,J),E=!0,a!==void 0&&(a=J),H}return Cl&&E||(A.f&Ir)!==0?P.v:d(P)})}function ao(o){io===null&&nP(),zn(()=>{const e=Nl(o);if(typeof e=="function")return e})}function Wy(o){io===null&&nP(),ao(()=>()=>Nl(o))}const GH="5";var CE;typeof window<"u"&&((CE=window.__svelte??(window.__svelte={})).v??(CE.v=new Set)).add(GH);/*!-----------------------------------------------------------------------------
|
|
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 KH=Object.defineProperty,ZH=Object.getOwnPropertyDescriptor,XH=Object.getOwnPropertyNames,YH=Object.prototype.hasOwnProperty,QH=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of XH(e))!YH.call(o,n)&&n!==t&&KH(o,n,{get:()=>e[n],enumerable:!(i=ZH(e,n))||i.enumerable});return o},JH=(o,e,t)=>(QH(o,e,"default"),t),C_={};JH(C_,kE);var eW=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)}},tW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},iW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},KP=new eW("json",tW,iW),nW=()=>ZP().then(o=>o.getWorker());C_.languages.json={jsonDefaults:KP,getWorker:nW};function ZP(){return xE(()=>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",()=>{ZP().then(o=>o.setupMode(KP))});/*!-----------------------------------------------------------------------------
|
|
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 sW=Object.defineProperty,oW=Object.getOwnPropertyDescriptor,rW=Object.getOwnPropertyNames,aW=Object.prototype.hasOwnProperty,lW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of rW(e))!aW.call(o,n)&&n!==t&&sW(o,n,{get:()=>e[n],enumerable:!(i=oW(e,n))||i.enumerable});return o},cW=(o,e,t)=>(lW(o,e,"default"),t),dW="5.4.5",kf={};cW(kf,kE);var XP=(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))(XP||{}),YP=(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))(YP||{}),QP=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(QP||{}),JP=(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))(JP||{}),eM=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(eM||{}),tM=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)}},uW=dW,iM={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},nM=new tM({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},iM),sM=new tM({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},iM),hW=()=>By().then(o=>o.getTypeScriptWorker()),fW=()=>By().then(o=>o.getJavaScriptWorker());kf.languages.typescript={ModuleKind:XP,JsxEmit:YP,NewLineKind:QP,ScriptTarget:JP,ModuleResolutionKind:eM,typescriptVersion:uW,typescriptDefaults:nM,javascriptDefaults:sM,getTypeScriptWorker:hW,getJavaScriptWorker:fW};function By(){return xE(()=>import("./tsMode-HtyxY0LK.js"),__vite__mapDeps([3,1,2]))}kf.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(nM)));kf.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(sM)));class gW extends _o{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Qt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Li.map,toggled:ye.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ye.has("isInDiffEditor"),menu:{when:ye.has("isInDiffEditor"),id:Ot.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 oM extends _o{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Qt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ye.has("isInDiffEditor")})}run(e,...t){const i=e.get($n),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class rM extends _o{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Qt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ye.has("isInDiffEditor")})}run(e,...t){const i=e.get($n),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const x_=Qt("diffEditor","Diff Editor");class pW extends ra{constructor(){super({id:"diffEditor.switchSide",title:Qt("switchSide","Switch Side"),icon:Li.arrowSwap,precondition:ye.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 _W extends ra{constructor(){super({id:"diffEditor.exitCompareMove",title:Qt("exitCompareMove","Exit Compare Move"),icon:Li.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 mW extends ra{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Qt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Li.fold,precondition:ye.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Gf(e);n instanceof s_&&n.collapseAllUnchangedRegions()}}class vW extends ra{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Qt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Li.unfold,precondition:ye.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Gf(e);n instanceof s_&&n.showAllUnchangedRegions()}}class qS extends _o{constructor(){super({id:"diffEditor.revert",title:Qt("revert","Revert"),f1:!1,category:x_})}run(e,t){const i=bW(e,t.originalUri,t.modifiedUri);i instanceof s_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const aM=Qt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends _o{constructor(){super({id:kb.id,title:Qt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:aM,precondition:ye.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 _o{constructor(){super({id:Lb.id,title:Qt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:aM,precondition:ye.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 bW(o,e,t){return o.get(os).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(os).listDiffEditors(),i=LE();if(i)for(const n of t){const s=n.getContainerDomNode();if(yW(s,i))return n}return null}function yW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Dn(gW);Dn(oM);Dn(rM);Dr.appendMenuItem(Ot.EditorTitle,{command:{id:new rM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:ye.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:ye.has("isInDiffEditor")},order:11,group:"1_diff",when:ye.and(F.diffEditorRenderSideBySideInlineBreakpointReached,ye.has("isInDiffEditor"))});Dr.appendMenuItem(Ot.EditorTitle,{command:{id:new oM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Li.move,toggled:DA.create("config.diffEditor.experimental.showMoves",!0),precondition:ye.has("isInDiffEditor")},order:10,group:"1_diff",when:ye.has("isInDiffEditor")});Dn(qS);for(const o of[{icon:Li.arrowRight,key:F.diffEditorInlineMode.toNegated()},{icon:Li.discard,key:F.diffEditorInlineMode}])Dr.appendMenuItem(Ot.DiffEditorHunkToolbar,{command:{id:new qS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:ye.and(F.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Dr.appendMenuItem(Ot.DiffEditorSelectionToolbar,{command:{id:new qS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:ye.and(F.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Dn(pW);Dn(_W);Dn(mW);Dn(vW);Dr.appendMenuItem(Ot.EditorTitle,{command:{id:Sp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ye.has("isInDiffEditor")},order:10,group:"2_diff",when:ye.and(F.accessibleDiffViewerVisible.negate(),ye.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",Sp.id);Dn(Sp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);Dn(gv);var wW=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},SW=function(o,e){return function(t,i){e(t,i,o)}},GS;const zy=new an("selectionAnchorSet",!1);var Ed;let Rc=(Ed=class{static get(e){return e.getContribution(GS.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(wi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ys().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Er(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(wi.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()}},GS=Ed,Ed.ID="editor.contrib.selectionAnchorController",Ed);Rc=GS=wW([SW(1,mn)],Rc);class CW 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:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.setSelectionAnchor()}}class xW 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 kW 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:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.selectFromAnchorToCursor()}}class LW 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()}}$i(Rc.ID,Rc,4);ce(CW);ce(xW);ce(kW);ce(LW);const IW=Kt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class DW 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 EW extends qe{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Qt("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 TW 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 PW{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 ms(()=>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 wi(r.lineNumber,r.column,r.lineNumber,r.column):new wi(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(G.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 wi(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(ii.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 PW(w,m,x)}}this._lastBracketsData=a,this._lastVersionId=i}};Kl.ID="editor.contrib.bracketMatchingController",Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Qi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:gs(IW),position:Oa.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Qi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Su=Kl;$i(Su.ID,Su,1);ce(EW);ce(DW);ce(TW);Dr.appendMenuItem(Ot.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class MW{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 G(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new G(i,s,i,s),a)}else{const r=new G(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new G(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new wi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new wi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class lM 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 MW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class RW extends lM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:F.writable})}}class NW extends lM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:F.writable})}}ce(RW);ce(NW);class AW 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():vw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=vw.leftPosition(i,f),p=vw.leftPosition(i,g),w=i.getValueInRange(G.fromPositions(p,g)),m=i.getValueInRange(G.fromPositions(g,f)),x=G.fromPositions(p,f);n.push(new o_(x,m+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ce(AW);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 M0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function OW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class cM{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"),uM(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 dM(o,e){return uM(pv(o),e.map(pv))}function uM(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=>IE(o.map(e=>e.toString())).join(`\r
|
|
14
|
-
`),split:o=>o.split(`\r
|
|
15
|
-
`),parse:o=>jy.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{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+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let jn=wa;const GL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class FW{}const HW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};aa.add(HW.DragAndDropContribution,new FW);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 KS=op;function hM(o){const e=new cM;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,M0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,WW(n))}}return e}function WW(o){const e=o.path?Tn.parse(o.path):void 0;return OW(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const BW=Object.freeze([GL.EDITORS,GL.FILES,mS.RESOURCES,mS.INTERNAL_URI_LIST]);function fM(o,e=!1){const t=hM(o),i=t.get(mS.INTERNAL_URI_LIST);if(i)t.replace(Ms.uriList,i);else if(e||!t.has(Ms.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(Tn.file(a).toString()):n.push(Tn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ms.uriList,M0(jy.create(n)))}for(const n of BW)t.delete(n);return t}var R0=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 N0{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 N0{constructor(){super(...arguments),this.kind=rp.kind,this.dropMimeTypes=[Ms.text],this.pasteMimeTypes=[Ms.text]}async getEdit(e,t){const i=e.get(Ms.text);if(!i||e.has(Ms.uriList))return;const n=await i.asString();return{handledMimeType:Ms.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 gM extends N0{constructor(){super(...arguments),this.kind=new jn("uri.absolute"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await pM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===uo.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:Ms.uriList,insertText:s,title:r,kind:this.kind}}}let _v=class extends N0{constructor(e){super(),this._workspaceContextService=e,this.kind=new jn("uri.relative"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await pM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?EA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ms.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=R0([Cp(0,df)],_v);class zW{constructor(){this.kind=new jn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ms.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==vS.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 pM(o){const e=o.get(Ms.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of jy.parse(t))try{i.push({uri:Tn.parse(n),originalText:n})}catch{}return i}let ZS=class extends ft{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Cu)),this._register(e.documentDropEditProvider.register("*",new gM)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};ZS=R0([Cp(0,ni),Cp(1,df)],ZS);let XS=class extends ft{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Cu)),this._register(e.documentPasteEditProvider.register("*",new gM)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new zW))}};XS=R0([Cp(0,ni),Cp(1,df)],XS);const ur=class ur{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=ur._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(ur.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(ur.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(ur.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(ur.isVariableCharacter(i)||ur.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 ur._table[i]>"u"&&!ur.isDigitCharacter(i)&&!ur.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};ur._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let YS=ur;class Kf{constructor(){this._children=[]}appendChild(e){return e instanceof Co&&this._children[this._children.length-1]instanceof Co?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 Co=class _M extends Kf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new _M(this.value)}};class mM extends Kf{}class sr extends mM{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 sr(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 Co&&(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 A0 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 Kr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Kr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new A0;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 Kr 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 Kr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class xp extends mM{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 Co(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 KL(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 sr&&(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 KL([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof sr&&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){KL(this.children,e)}}class xu{constructor(){this._scanner=new YS,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 sr&&(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 sr(c.index);g.transform=c.transform;for(const p of f){const w=p.clone();g.appendChild(w),w instanceof sr&&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 sr(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 Co(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 sr(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 sr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Co("${"+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 Co(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 Co("${"+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 A0;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 Co(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 Kr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Kr(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 Kr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Kr(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 Kr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Co(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function vM(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 TA(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 bM(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 VW=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},jW=function(o,e){return function(t,i){e(t,i,o)}};const $W=Qi.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:DE,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=Gt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Gt("span.icon");this.domNode.append(t),t.classList.add(...Sn.asClassNameArray(Li.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,Kn.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 QS=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 $o),this._currentWidget=this._register(new $o),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=G.fromPositions(e);this._currentDecorations.set([{range:a,options:$W}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(QS,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=VW([jW(2,Mi)],mv);var UW=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)}},Fm,fc;let ko=(fc=class{static get(e){return e.getContribution(Fm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new $o,this._messageListeners=new ct,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){Er(km(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=km(e)?PA(e,{actionHandler:{callback:n=>{this.closeMessage(),MA(this._openerService,n,km(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new XL(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(_s.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&RA(LE(),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(),Kn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(_n(this._messageWidget.value.getDomNode(),Kn.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 G(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(XL.fadeOut(this._messageWidget.value))}},Fm=fc,fc.ID="editor.contrib.messageController",fc.MESSAGE_VISIBLE=new an("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message")),fc);ko=Fm=UW([ZL(1,mn),ZL(2,la)],ko);const qW=mo.bindToContribution(ko.get);oi(new qW({id:"leaveEditorMessage",precondition:ko.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let XL=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)}};$i(ko.ID,ko,4);function Rw(o,e){return e&&(o.stack||o.stacktrace)?C("stackTrace.format","{0}: {1}",QL(o),YL(o.stack)||YL(o.stacktrace)):QL(o)}function YL(o){return Array.isArray(o)?o.join(`
|
|
16
|
-
`):o}function QL(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(EE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Rw(t.error,e);if(t.exception)return Rw(t.exception,e)}return o.stack?Rw(o,e):o.message?o.message:C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var yM=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)}},JS,Td;let eC=(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(_s.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=Gt(".post-edit-widget"),this.button=this._register(new NA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(_n(this.domNode,Kn.CLICK,()=>this.showSelector()))}getId(){return JS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=fo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>AA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},JS=Td,Td.baseId="editor.widget.postEditWidget",Td);eC=JS=yM([Vh(7,Bf),Vh(8,mn),Vh(9,us)],eC);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 $o),this._register(_s.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=vM(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(eC,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=yM([Vh(4,Mi),Vh(5,fy),Vh(6,oo)],bv);var GW=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 wM="editor.changePasteType",O0=new an("pasteWidgetVisible",!1,C("pasteWidgetVisible","Whether the paste widget is showing")),Nw="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,O0,{id:wM,label:C("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},jx().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 G(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=hM(e.clipboardData),p=f.flatMap(A=>A.copyMimeTypes??[]),w=Vy();this.setCopyMetadata(e.clipboardData,{id:w,providerCopyMimeTypes:p,defaultPastePayload:u});const m=Es(async A=>{const $=vl(await Promise.all(f.map(async H=>{try{return await H.prepareDocumentPaste(t,s,g,A)}catch(ie){console.error(ie);return}})));$.reverse();for(const H of $)for(const[ie,J]of H)g.replace(ie,J);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=ko.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=fM(e.clipboardData);s.delete(Nw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Ms.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=>dM(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=ko.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=Es(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new ct,w=p.add(new Ts(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:vS.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,$)=>new Promise((H,ie)=>{(async()=>{var J,ue;try{const he=(ue=(J=A.provider).resolveDocumentPasteEdit)==null?void 0:ue.call(J,A,$),We=new py,xe=he&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([We.p,he]),{cancel:()=>(We.cancel(),ie(new _y))},0);return xe&&(A.additionalEdit=xe.additionalEdit),H(A)}catch(he){return ie(he)}})()}),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=Es(async a=>{const c=this._editor;if(!c.hasModel())return;const u=c.getModel(),f=new ct,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:vS.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=vM(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(Nw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Nw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=OA.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(Ms.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Ms.uriList,M0(jy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new ct,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:bM(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ms.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=GW([th(1,Mi),th(2,fy),th(3,zf),th(4,ni),th(5,El),th(6,FA)],xl);const ku="9_cutcopypaste",KW=Vf||document.queryCommandSupported("cut"),SM=Vf||document.queryCommandSupported("copy"),ZW=typeof navigator.clipboard>"u"||HA?document.queryCommandSupported("paste"):!0;function F0(o){return o.register(),o}const XW=KW?F0(new $x({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Vf?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Ot.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Ot.EditorContext,group:ku,title:C("actions.clipboard.cutLabel","Cut"),when:F.writable,order:1},{menuId:Ot.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Ot.SimpleEditorContext,group:ku,title:C("actions.clipboard.cutLabel","Cut"),when:F.writable,order:1}]})):void 0,YW=SM?F0(new $x({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Vf?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Ot.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Ot.EditorContext,group:ku,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Ot.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Ot.SimpleEditorContext,group:ku,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Dr.appendMenuItem(Ot.MenubarEditMenu,{submenu:Ot.MenubarCopy,title:Qt("copy as","Copy As"),group:"2_ccp",order:3});Dr.appendMenuItem(Ot.EditorContext,{submenu:Ot.EditorContextCopy,title:Qt("copy as","Copy As"),group:ku,order:3});Dr.appendMenuItem(Ot.EditorContext,{submenu:Ot.EditorContextShare,title:Qt("share","Share"),group:"11_share",order:-1,when:ye.and(ye.notEquals("resourceScheme","output"),F.editorTextFocus)});Dr.appendMenuItem(Ot.ExplorerContext,{submenu:Ot.ExplorerContextShare,title:Qt("share","Share"),group:"11_share",order:-1});const Aw=ZW?F0(new $x({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:Ot.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Ot.EditorContext,group:ku,title:C("actions.clipboard.pasteLabel","Paste"),when:F.writable,order:4},{menuId:Ot.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Ot.SimpleEditorContext,group:ku,title:C("actions.clipboard.pasteLabel","Paste"),when:F.writable,order:4}]})):void 0;class QW 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()||(tL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),tL.forceCopyWithSyntaxHighlighting=!1)}}function CM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(os).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)=>(jx().execCommand(e),!0)))}CM(XW,"cut");CM(YW,"copy");Aw&&(Aw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(os),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():WA?(async()=>{const a=await i.readText();if(a!==""){const c=BA.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}),Aw.addImplementation(0,"generic-dom",(o,e)=>(jx().execCommand("paste"),!0)));SM&&ce(QW);const On=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 Eo;(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"})(Eo||(Eo={}));function JW(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>xM(e,t,o.include))||!o.includeSourceActions&&On.Source.contains(e))}function eB(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=>xM(t,i,o.include))||!o.includeSourceActions&&t&&On.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function xM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ta{static fromUser(e,t){return!e||typeof e!="object"?new Ta(t.kind,t.apply,!1):new Ta(Ta.getKindFromUser(e,t.kind),Ta.getApplyFromUser(e,t.apply),Ta.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 tB{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){ss(n)}i&&(this.action.edit=i.edit)}return this}}const kM="editor.action.codeAction",H0="editor.action.quickFix",LM="editor.action.autoFix",IM="editor.action.refactor",DM="editor.action.sourceAction",tC="editor.action.organizeImports",iC="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:zo(e.diagnostics)?zo(t.diagnostics)?Zg.codeActionsPreferredComparator(e,t):-1:zo(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&&On.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 JL={actions:[],documentation:void 0};async function Ih(o,e,t,i,n,s){var x;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],On.Notebook]},c={only:(x=r.include)==null?void 0:x.value,trigger:i.type},u=new zA(e,s),f=i.type===2,g=iB(o,e,f?a:r),p=new ct,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 JL;const P=((E==null?void 0:E.actions)||[]).filter($=>$&&eB(r,$)),A=sB(k,P,r.include);return{actions:P.map($=>new tB($,k)),documentation:A}}catch(E){if(Hc(E))throw E;return ss(E),JL}}),m=o.onDidChange(()=>{const k=o.all(e);Ba(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)),...nB(o,e,i,E)];return new Zg(E,P,p)}finally{m.dispose(),u.dispose()}}function iB(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>JW(t,new jn(n))):!0)}function*nB(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 sB(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 oB(o,e,t,i,n=Wi.None){var u;const s=o.get(fy),r=o.get(Cs),a=o.get(ca),c=o.get(oo);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=rB(f);c.error(typeof g=="string"?g:C("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function rB(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Hn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof Tn))throw fl();const{codeActionProvider:s}=o.get(ni),r=o.get(ro).getModel(e);if(!r)throw fl();const a=wi.isISelection(t)?wi.liftSelection(t):G.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:Eo.Default,filter:{includeSourceActions:!0,include:c}},ll.None,Wi.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(Wi.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});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},lB=function(o,e){return function(t,i){e(t,i,o)}},nC,Md;let sC=(Md=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Ux(()=>this.keybindingService.getKeybindings().filter(t=>nC.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===tC?i={kind:On.SourceOrganizeImports.value}:t.command===iC&&(i={kind:On.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ta.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)}},nC=Md,Md.codeActionCommands=[IM,kM,DM,tC,iC],Md);sC=nC=aB([lB(0,us)],sC);Kt("symbolIcon.arrayForeground",vs,C("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.booleanForeground",vs,C("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("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."));Kt("symbolIcon.colorForeground",vs,C("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.constantForeground",vs,C("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("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."));Kt("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."));Kt("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."));Kt("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."));Kt("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."));Kt("symbolIcon.fileForeground",vs,C("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.folderForeground",vs,C("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("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."));Kt("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."));Kt("symbolIcon.keyForeground",vs,C("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.keywordForeground",vs,C("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("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."));Kt("symbolIcon.moduleForeground",vs,C("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.namespaceForeground",vs,C("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.nullForeground",vs,C("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.numberForeground",vs,C("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.objectForeground",vs,C("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.operatorForeground",vs,C("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.packageForeground",vs,C("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.propertyForeground",vs,C("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.referenceForeground",vs,C("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.snippetForeground",vs,C("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.stringForeground",vs,C("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.structForeground",vs,C("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.textForeground",vs,C("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.typeParameterForeground",vs,C("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("symbolIcon.unitForeground",vs,C("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Kt("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 EM=Object.freeze({kind:jn.Empty,title:C("codeAction.widget.id.more","More Actions...")}),cB=Object.freeze([{kind:On.QuickFix,title:C("codeAction.widget.id.quickfix","Quick Fix")},{kind:On.RefactorExtract,title:C("codeAction.widget.id.extract","Extract"),icon:Li.wrench},{kind:On.RefactorInline,title:C("codeAction.widget.id.inline","Inline"),icon:Li.wrench},{kind:On.RefactorRewrite,title:C("codeAction.widget.id.convert","Rewrite"),icon:Li.wrench},{kind:On.RefactorMove,title:C("codeAction.widget.id.move","Move"),icon:Li.wrench},{kind:On.SurroundWith,title:C("codeAction.widget.id.surround","Surround With"),icon:Li.surroundWith},{kind:On.Source,title:C("codeAction.widget.id.source","Source Action"),icon:Li.symbolFile},EM]);function dB(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:EM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=cB.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:Li.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}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)}},mh;const eI=ts("gutter-lightbulb",Li.lightBulb,C("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),tI=ts("gutter-lightbulb-auto-fix",Li.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.")),iI=ts("gutter-lightbulb-sparkle",Li.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.")),nI=ts("gutter-lightbulb-aifix-auto-fix",Li.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.")),sI=ts("gutter-lightbulb-sparkle-filled",Li.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 $r;(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})($r||($r={}));var dl;let kp=(dl=class extends ft{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Hi),this.onClick=this._onClick.event,this._state=$r.Hidden,this._gutterState=$r.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+eI.id,"codicon-"+nI.id,"codicon-"+tI.id,"codicon-"+iI.id,"codicon-"+sI.id],this.gutterDecoration=mh.GUTTER_DECORATION,this._domNode=Gt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(TE.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(VA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=fo(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(_s.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(LM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(H0))==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}=fo(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=qx(g,u),w=f.spaceWidth*p>22,m=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),x=this._editor.getLineDecorations(a);let k=!1;if(x)for(const H of x){const ie=H.options.glyphMarginClassName;if(ie&&!this.lightbulbClasses.some(J=>ie.includes(J))){k=!0;break}}let E=a,P=1;if(!w){const H=ie=>{const J=r.getLineContent(ie);return/^\s*$|^\s+/.test(J)||J.length<=P};if(a>1&&!m(a-1)){const ie=r.getLineCount(),J=a===ie,ue=a>1&&H(a-1),he=!J&&H(a+1),We=H(a),xe=!he&&!ue;if(!he&&!ue&&!k)return this.gutterState=new $r.Showing(e,t,i,{position:{lineNumber:E,column:P},preference:mh._posPref}),this.renderGutterLightbub(),this.hide();ue||J||ue&&!We?E-=1:(he||xe&&We)&&(E+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new $r.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 $r.Showing(e,t,i,{position:{lineNumber:E,column:P},preference:mh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const A=e.validActions,$=e.validActions[0].action.kind;if(A.length!==1||!$){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==$r.Hidden&&(this.state=$r.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==$r.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=$r.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=Li.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Li.lightbulbSparkleAutofix:e=Li.lightbulbAutofix:this.state.actions.hasAIFix?e=Li.lightbulbSparkle:e=Li.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Sn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=sI,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=nI:e=tI:this.gutterState.actions.hasAIFix?e=iI:e=eI,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Qi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Sn.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 G(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 G(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=Qi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Sn.asClassName(Li.lightBulb),glyphMargin:{position:Qm.Left},stickiness:1}),dl.ID="editor.contrib.lightbulbWidget",dl._posPref=[0],dl);kp=mh=uB([hB(1,us)],kp);var TM=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},oC=function(o,e){return function(t,i){e(t,i,o)}};const PM="acceptSelectedCodeAction",MM="previewSelectedCodeAction";class fB{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 rC=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 Gx(e,Kx);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=Sn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=vd(e.group.icon.color.id))):(i.icon.className=Sn.asClassName(Li.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=RM(e.label),i.keybinding.set(e.keybinding),jA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(PM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(MM))==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()}};rC=TM([oC(1,us)],rC);class gB extends UIEvent{constructor(){super("acceptSelectedAction")}}class oI extends UIEvent{constructor(){super("previewSelectedAction")}}function pB(o){if(o.kind==="action")return o.label}let aC=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 Ts),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 Zx(e,this.domNode,a,[new rC(t,this._keybindingService),new fB],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:pB},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let u=c.label?RM(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($A),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 oI:new gB;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 oI):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([])}};aC=TM([oC(4,my),oC(5,us)],aC);function RM(o){return o.replace(/\r\n|\r|\n/g," ")}var _B=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},Ow=function(o,e){return function(t,i){e(t,i,o)}};Kt("actionBar.toggledBackground",Xx,C("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Lu={Visible:new an("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 $o)}show(e,t,i,n,s,r,a){const c=Lu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(aC,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 ct,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(_n(a,Kn.MOUSE_DOWN,m=>m.stopPropagation()));const c=document.createElement("div"),u=e.appendChild(c);u.classList.add("context-view-pointerBlock"),s.add(_n(u,Kn.POINTER_MOVE,()=>u.remove())),s.add(_n(u,Kn.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=Gt(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=_B([Ow(0,my),Ow(1,mn),Ow(2,Mi)],Iu);Pl(Bu,Iu,1);const L_=1100;Dn(class extends _o{constructor(){super({id:"hideCodeActionWidget",title:Qt("hideCodeActionWidget.title","Hide action widget"),precondition:Lu.Visible,keybinding:{weight:L_,primary:9,secondary:[1033]}})}run(o){o.get(Bu).hide(!0)}});Dn(class extends _o{constructor(){super({id:"selectPrevCodeAction",title:Qt("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()}});Dn(class extends _o{constructor(){super({id:"selectNextCodeAction",title:Qt("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()}});Dn(class extends _o{constructor(){super({id:PM,title:Qt("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()}});Dn(class extends _o{constructor(){super({id:MM,title:Qt("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 NM=new an("supportedCodeAction",""),rI="_typescript.applyFixAllCodeAction";class mB 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:Eo.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!==bw.Off){{if(i===bw.On)return t;if(i===bw.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 AM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(sd||(sd={}));const AM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class vB 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 $o),this._state=sd.Empty,this._onDidChangeState=this._register(new Hi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=NM.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 mB(this._editor,this._markerService,i=>{var c;if(!i){this.setState(sd.Empty);return}const n=i.selection.getStartPosition(),s=Es(async u=>{var f,g,p,w,m,x,k,E,P,A;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Eo.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(On.QuickFix))){const $=await Ih(this._registry,e,i.selection,i.trigger,ll.None,u),H=[...$.allActions];if(u.isCancellationRequested)return AM;const ie=(p=$.validActions)==null?void 0:p.some(ue=>ue.action.kind?On.QuickFix.contains(new jn(ue.action.kind)):!1),J=this._markerService.read({resource:e.uri});if(ie){for(const ue of $.validActions)(m=(w=ue.action.command)==null?void 0:w.arguments)!=null&&m.some(he=>typeof he=="string"&&he.includes(rI))&&(ue.action.diagnostics=[...J.filter(he=>he.relatedInformation)]);return{validActions:$.validActions,allActions:H,documentation:$.documentation,hasAutoFix:$.hasAutoFix,hasAIFix:$.hasAIFix,allAIFixes:$.allAIFixes,dispose:()=>{$.dispose()}}}else if(!ie&&J.length>0){const ue=i.selection.getPosition();let he=ue,We=Number.MAX_VALUE;const xe=[...$.validActions];for(const pt of J){const ve=pt.endColumn,dt=pt.endLineNumber,gt=pt.startLineNumber;if(dt===ue.lineNumber||gt===ue.lineNumber){he=new ii(dt,ve);const Pt={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:On.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((E=i.trigger.context)==null?void 0:E.notAvailableMessage)||"",position:he}},fe=new wi(he.lineNumber,he.column,he.lineNumber,he.column),Et=await Ih(this._registry,e,fe,Pt,ll.None,u);if(Et.validActions.length!==0){for(const Oe of Et.validActions)(A=(P=Oe.action.command)==null?void 0:P.arguments)!=null&&A.some(Te=>typeof Te=="string"&&Te.includes(rI))&&(Oe.action.diagnostics=[...J.filter(Te=>Te.relatedInformation)]);$.allActions.length===0&&H.push(...Et.allActions),Math.abs(ue.column-ve)<We?xe.unshift(...Et.validActions):xe.push(...Et.validActions)}We=Math.abs(ue.column-ve)}}const rt=xe.filter((pt,ve,dt)=>dt.findIndex(gt=>gt.action.title===pt.action.title)===ve);return rt.sort((pt,ve)=>pt.action.isPreferred&&!ve.action.isPreferred?-1:!pt.action.isPreferred&&ve.action.isPreferred||pt.action.isAI&&!ve.action.isAI?1:!pt.action.isAI&&ve.action.isAI?-1:0),{validActions:rt,allActions:H,documentation:$.documentation,hasAutoFix:$.hasAutoFix,hasAIFix:$.hasAIFix,allAIFixes:$.allAIFixes,dispose:()=>{$.dispose()}}}}if(i.trigger.type===1){const $=new Do,H=await Ih(this._registry,e,i.selection,i.trigger,ll.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:$.elapsed()}),H}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:Eo.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 bB=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)}},vh;const yB="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 $o),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new vB(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Ux(()=>{const p=this._editor.getContribution(kp.ID);return p&&this._register(p.onClick(w=>this.showCodeActionsFromLightbulb(w.actions,w))),p}),this._resolver=n.createInstance(sC),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=ko.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(oB,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Eo.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){Rn(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=ko.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=ko.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=ii.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=[On.RefactorExtract,On.RefactorInline,On.RefactorRewrite,On.RefactorMove,On.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,dB(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=fo(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=Qi.register({description:"quickfix-highlight",className:yB}),gc);Lf=vh=bB([_a(1,Yx),_a(2,mn),_a(3,Mi),_a(4,ni),_a(5,l_),_a(6,Cs),_a(7,$n),_a(8,Bu),_a(9,Mi),_a(10,ca)],Lf);vy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(UA));const i=o.getColor(PE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${up(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function I_(o){return ye.regex(NM.keys()[0],new RegExp("(\\s|^)"+hp(o.value)+"\\b"))}const W0={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=Eo.Default){if(o.hasModel()){const s=Lf.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class wB extends qe{constructor(){super({id:H0,label:C("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ye.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,Eo.QuickFix)}}class SB extends mo{constructor(){super({id:kM,precondition:ye.and(F.writable,F.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:W0}]}})}runEditorCommand(e,t,i){const n=Ta.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 CB extends qe{constructor(){super({id:IM,label:C("refactor.label","Refactor..."),alias:"Refactor...",precondition:ye.and(F.writable,F.hasCodeActionsProvider),kbOpts:{kbExpr:F.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ye.and(F.writable,I_(On.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:W0}]}})}run(e,t,i){const n=Ta.fromUser(i,{kind:On.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:On.Refactor.contains(n.kind)?n.kind:jn.None,onlyIncludePreferredActions:n.preferred},n.apply,Eo.Refactor)}}class xB extends qe{constructor(){super({id:DM,label:C("source.label","Source Action..."),alias:"Source Action...",precondition:ye.and(F.writable,F.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ye.and(F.writable,I_(On.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:W0}]}})}run(e,t,i){const n=Ta.fromUser(i,{kind:On.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:On.Source.contains(n.kind)?n.kind:jn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Eo.SourceAction)}}class kB extends qe{constructor(){super({id:tC,label:C("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ye.and(F.writable,I_(On.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:On.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Eo.OrganizeImports)}}class LB extends qe{constructor(){super({id:iC,label:C("fixAll.label","Fix All"),alias:"Fix All",precondition:ye.and(F.writable,I_(On.SourceFixAll))})}run(e,t){return zu(t,C("fixAll.noneMessage","No fix all action available"),{include:On.SourceFixAll,includeSourceActions:!0},"ifSingle",Eo.FixAll)}}class IB extends qe{constructor(){super({id:LM,label:C("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ye.and(F.writable,I_(On.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:On.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Eo.AutoFix)}}$i(Lf.ID,Lf,3);$i(kp.ID,kp,4);ce(wB);ce(CB);ce(xB);ce(kB);ce(IB);ce(LB);oi(new SB);aa.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}}});aa.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}}});aa.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 lC{constructor(){this.lenses=[],this._disposables=new ct}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 OM(o,e,t){const i=o.ordered(e),n=new Map,s=new lC,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){ss(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}Hn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;bn(Tn.isUri(t)),bn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(ni),s=o.get(ro).getModel(t);if(!s)throw fl();const r=[],a=new ct;return OM(n,s,Wi.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,Wi.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var DB=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},EB=function(o,e){return function(t,i){e(t,i,o)}};const FM=Tl("ICodeLensCache");class aI{constructor(e,t){this.lineCount=e,this.data=t}}let cC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new d_(20,.75);const t="codelens/cache";qA(GA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=_s.filter(e.onWillSaveState,r=>r.reason===Qx.SHUTDOWN);_s.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 lC;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new aI(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 G(a,1,a,11)});const r=new lC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new aI(n.lineCount,r))}}catch{}}};cC=DB([EB(0,Wc)],cC);Pl(FM,cC,1);class TB{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=KA(r.command.title.trim());if(r.command.id){const c=`c${ap._idPool++}`;i.push(Gt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(Gt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(Gt("span",void 0," | "))}}n?(ev(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ev(this._domNode,Gt("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 dC=ap;class Fw{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 lI=Qi.register({collapseOnReplaceEdit:!0,description:"codelens"});class cI{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:lI},g=>this._decorationIds[f]=g),a?a=G.plusRange(a,u.symbol.range):a=G.lift(u.symbol.range)}),this._viewZone=new TB(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 dC(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&&G.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:lI},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 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},_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 ct,this._localToDispose=new ct,this._lenses=[],this._oldCodeLensModels=new ct,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new ms(()=>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",Jx.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 ms(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Es(r=>OM(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()},Rn)},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 Fw;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 Fw;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 Fw;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 cI(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 cI(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=Es(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},ss):(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=>{Rn(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=PB([_g(1,ni),_g(2,rr),_g(3,Cs),_g(4,oo),_g(5,FM)],Lp);$i(Lp.ID,Lp,1);ce(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(Cs),s=e.get(oo),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 HM=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},uC=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 Yi(new pf(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Yi.Format.CSS.formatRGB(a):Yi.Format.CSS.formatRGBA(a),u=r?Yi.Format.CSS.formatHSL(a):Yi.Format.CSS.formatHSLA(a),f=r?Yi.Format.CSS.formatHex(a):Yi.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=HM([uC(0,Ml)],Ip);let hC=class extends ft{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Ip(t)))}};hC=HM([uC(0,ni),uC(1,Ml)],hC);jf(hC);async function WM(o,e,t,i=!0){return B0(new MB,o,e,t,i)}function BM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class MB{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 RB{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 NB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,Wi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function B0(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){ss(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function zM(o,e){const{colorProvider:t}=o.get(ni),i=o.get(ro).getModel(e);if(!i)throw fl();const n=o.get($n).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Hn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof Tn))throw fl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=zM(o,t);return B0(new RB,n,i,Wi.None,s)});Hn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof Tn)||!Array.isArray(t)||t.length!==4||!G.isIRange(s))throw fl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=zM(o,n),[u,f,g,p]=t;return B0(new NB({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,Wi.None,c)});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},Hw=function(o,e){return function(t,i){e(t,i,o)}},fC;const VM=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 ct),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new ME(this._editor),this._decoratorLimitReporter=new OB,this._colorDecorationClassRefs=this._register(new ct),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:fC.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=Es(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Do(!1),n=await WM(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){Rn(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:Qi.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:DE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:VM}}})}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(G.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)}},fC=pc,pc.ID="editor.contrib.colorDetector",pc.RECOMPUTE_TIME=1e3,pc);If=fC=AB([Hw(1,$n),Hw(2,ni),Hw(3,rr)],If);class OB{constructor(){this._onDidChange=new Hi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}$i(If.ID,If,1);class FB{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 Hi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Hi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Hi,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 Bo=Gt;class HB extends ft{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Bo(".colorpicker-header"),Ht(e,this._domNode),this._pickedColorNode=Ht(this._domNode,Bo(".picked-color")),Ht(this._pickedColorNode,Bo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=Ht(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=Ht(this._domNode,Bo(".original-color")),this._originalColorNode.style.backgroundColor=Yi.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(iL)||Yi.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(iL)||Yi.white})),this._register(_n(this._pickedColorNode,Kn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(_n(this._originalColorNode,Kn.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=Yi.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 WB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Yi.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 WB extends ft{constructor(e){super(),this._onClicked=this._register(new Hi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Ht(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),Ht(this._button,t),Ht(t,Bo(".button"+Sn.asCSSSelector(ts("color-picker-close",Li.close,C("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(_n(this._button,Kn.CLICK,()=>{this._onClicked.fire()}))}}class BB extends ft{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Bo(".colorpicker-body"),Ht(e,this._domNode),this._saturationBox=new zB(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 VB(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 jB(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 $B(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 Yi(new Lm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Yi(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 Yi(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 zB extends ft{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Hi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Hi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Bo(".saturation-wrap"),Ht(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Ht(this._domNode,this._canvas),this.selection=Bo(".saturation-selection"),Ht(this._domNode,this.selection),this.layout(),this._register(_n(this._domNode,Kn.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 RE);const t=fo(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,Kn.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 Yi(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=Yi.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 jM extends ft{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Hi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Hi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=Ht(e,Bo(".standalone-strip")),this.overlay=Ht(this.domNode,Bo(".standalone-overlay"))):(this.domNode=Ht(e,Bo(".strip")),this.overlay=Ht(this.domNode,Bo(".overlay"))),this.slider=Ht(this.domNode,Bo(".slider")),this.slider.style.top="0px",this._register(_n(this.domNode,Kn.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 RE),i=fo(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,Kn.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 VB extends jM{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 Yi(new pf(t,i,n,1)),r=new Yi(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 jB extends jM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class $B extends ft{constructor(e){super(),this._onClicked=this._register(new Hi),this.onClicked=this._onClicked.event,this._button=Ht(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(_n(this._button,Kn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class UB extends u_{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(ZA.getInstance(bd(e)).onDidChange(()=>this.layout())),this._domNode=Bo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new HB(this._domNode,this.model,n,s)),this.body=this._register(new BB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Ww{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 $M=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)}};class qB{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 ta.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 qM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=GM(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=$M([UM(1,Mr)],Dp);class GB{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 WM(i,this._editor.getModel(),Wi.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;G.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const c=r??e,u=a??t,f=!!r;return{colorHover:await qM(this,this._editor.getModel(),c,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new G(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=KM(this._editor,i,t))}renderHoverParts(e,t){return GM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Ep=$M([UM(1,Mr)],Ep);async function qM(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 Yi(u),g=await BM(e,t,i,Wi.None),p=new FB(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Dp?new qB(o,G.lift(t.range),p,i):new GB(o,G.lift(t.range),p,i)}function GM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new An(302,p))}const s=new ct,r=i[0],a=e.getModel(),c=r.model,u=s.add(new UB(n.fragment,c,e.getOption(144),t,o instanceof Ep));let f=!1,g=new G(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=KM(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 KM(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=G.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 BM(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,Wi.None);e.colorPresentations=s||[]}const ZM="editor.action.showHover",KB="editor.action.showDefinitionPreviewHover",ZB="editor.action.scrollUpHover",XB="editor.action.scrollDownHover",YB="editor.action.scrollLeftHover",QB="editor.action.scrollRightHover",JB="editor.action.pageUpHover",e4="editor.action.pageDownHover",t4="editor.action.goToTopHover",i4="editor.action.goToBottomHover",$y="editor.action.increaseHoverVerbosityLevel",n4=C({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Uy="editor.action.decreaseHoverVerbosityLevel",s4=C({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),XM="editor.action.inlineSuggest.commit",YM="editor.action.inlineSuggest.showPrevious",QM="editor.action.inlineSuggest.showNext";var z0=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},yr=function(o,e){return function(t,i){e(t,i,o)}},Bm;let gC=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Ln(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 ii(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=FE((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(Gn(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(Gn(u=>{c.read(u)&&a.read(u)}))}))}};gC=z0([yr(2,Mi)],gC);const o4=ts("inline-suggestion-hints-next",Li.chevronRight,C("parameterHintsNextIcon","Icon for show next parameter hint.")),r4=ts("inline-suggestion-hints-previous",Li.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=wr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[wr("div@toolBar")]),this.previousAction=this.createCommandAction(YM,C("previous","Previous"),Sn.asClassName(r4)),this.availableSuggestionCountAction=new _f("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(QM,C("next","Next"),Sn.asClassName(o4)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Ot.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new ms(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new ms(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(pC,this.nodes.toolBar,Ot.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,w)=>{if(p instanceof mf)return c.createInstance(l4,p,void 0);if(p===this.availableSuggestionCountAction){const m=new a4(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(Gn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Gn(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(Gn(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=z0([yr(6,Cs),yr(7,Mi),yr(8,us),yr(9,mn),yr(10,Ou)],Df);class a4 extends bS{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 l4=class extends NE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=wr("div.keybinding").root;this._register(new Gx(t,Kx,{disableTitle:!0,...AE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},pC=class extends OE{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=[];e0(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){Ba(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};pC=z0([yr(3,Ou),yr(4,mn),yr(5,Bf),yr(6,us),yr(7,Cs),yr(8,ca)],pC);function qy(o,e,t){const i=fo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let c4=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class JM extends ft{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Hi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new ms(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new ms(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new ms(()=>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=XA(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){Rn(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 c4(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 V0{constructor(){this._onDidWillResize=new Hi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Hi,this.onDidResize=this._onDidResize.event,this._sashListener=new ct,this._size=new An(0,0),this._minSize=new An(0,0),this._maxSize=new An(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:nL.North}),this._southSash=new Sh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:nL.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(_s.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(_s.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(_s.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(_s.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 An(t,e);An.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 d4=30,u4=24;class h4 extends ft{constructor(e,t=new An(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new V0),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=An.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 An(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?ii.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:fo(t).top+i.top-d4}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=fo(t),s=f_(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-u4}_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 f4=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)}},ba;const dI=30,g4=6;var mc;let _C=(mc=class extends h4{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 An(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new HE),this._onDidResize=this._register(new Hi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=F.hoverVisible.bindTo(t),this._hoverFocusedKey=F.hoverFocused.bindTo(t),Ht(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 ba.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 ba._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ba._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){ba._applyMaxDimensions(this._hover.contentsDomNode,e,t),ba._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 An(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ba._lastDimensions=new An(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=g4;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=fo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=uI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=uI(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,ba._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ba._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&&YA(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 An(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 An(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 An(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Ch(e),i=gr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Ch(e),i=gr(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-dI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+dI})}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})}},ba=mc,mc.ID="editor.contrib.resizableContentHoverWidget",mc._lastDimensions=new An(0,0),mc);_C=ba=f4([J_(1,mn),J_(2,$n),J_(3,wy),J_(4,us)],_C);function uI(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 ta.EMPTY;const i=yv._getLineDecorations(this._editor,t);return ta.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ta.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 eR{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 p4(this,this.anchor,t,this.isComplete)}}class p4 extends eR{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var _4=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},m4=function(o,e){return function(t,i){e(t,i,o)}};const hI=Gt;let wv=class extends ft{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=hI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=Ht(this.hoverElement,hI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(QA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=Ht(this.actionsElement,e);return this._hasContent=!0,t}};wv=_4([m4(0,us)],wv);class v4{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function b4(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ss);if(!(!s||!y4(s)))return new v4(o,s,e)}function j0(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>b4(a,c,e,t,i));return ta.fromPromises(r).coalesce()}function tR(o,e,t,i,n=!1){return j0(o,e,t,i,n).map(s=>s.hover).toPromise()}vo("_executeHoverProvider",(o,e,t)=>{const i=o.get(ni);return tR(i.hoverProvider,e,t,Wi.None)});vo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(ni);return tR(i.hoverProvider,e,t,Wi.None,!0)});function y4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var w4=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=Gt,S4=ts("hover-increase-verbosity",Li.add,C("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),C4=ts("hover-decrease-verbosity",Li.remove,C("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Cr{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 iR{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case nr.Increase:return this.hover.canIncreaseVerbosity??!1;case nr.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 Cr(this,e.range,[new Ys().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 Cr(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 Cr(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 G(e.range.startLineNumber,x,e.range.startLineNumber,k);r.push(new Cr(this,P,WE(E),w,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ta.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ta.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return j0(e,t,s,n).filter(c=>!gp(c.hover.contents)).map(c=>{const u=c.hover.range?G.lift(c.hover.range):i.range,f=new iR(c.hover,c.provider,s);return new Cr(this,u,c.hover.contents,!1,c.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new x4(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=w4([Kc(1,da),Kc(2,la),Kc(3,$n),Kc(4,ni),Kc(5,us),Kc(6,g_),Kc(7,Cs)],Tp);class em{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class x4{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 ct,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 ct;if(r.add(i),!s)return new em(e,n,r);const a=s.supportsVerbosityAction(nr.Increase),c=s.supportsVerbosityAction(nr.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,nr.Increase,a)),r.add(this._renderHoverExpansionAction(u,nr.Decrease,c)),new em(e,n,r)}_renderMarkdownHover(e,t){return nR(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new ct,s=t===nr.Increase,r=Ht(e,Dh(Sn.asCSSSelector(s?S4:C4)));r.tabIndex=0;const a=new JA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,L4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===nr.Increase?$y:Uy);return n.add(new eO(r,c)),n.add(new tO(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 iR(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Cr(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===nr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Ts;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){ss(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 k4(o,e,t,i,n){e.sort(p_(r=>r.ordinal,Sy));const s=[];for(const r of e)s.push(nR(t,r,i,n,o.onContentsChanged));return new Du(s)}function nR(o,e,t,i,n){const s=new ct,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=Ht(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 L4(o,e){switch(e){case nr.Increase:{const t=o.lookupKeybinding($y);return t?C("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):C("increaseVerbosity","Increase Hover Verbosity")}case nr.Decrease:{const t=o.lookupKeybinding(Uy);return t?C("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):C("decreaseVerbosity","Decrease Hover Verbosity")}}}function mC(o,e){return!!o[e]}class Bw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=mC(e.event,t.triggerModifier),this.hasSideBySideModifier=mC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class fI{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=mC(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 gI(o){return o==="altKey"?za?new tm(57,"metaKey",6,"altKey"):new tm(5,"ctrlKey",6,"altKey"):za?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 Hi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Hi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Hi),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=gI(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=gI(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 Bw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new Bw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new Bw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new fI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new fI(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 sR{constructor(e,t){this.range=e,this.direction=t}}class $0{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new $0(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){ss(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){ss(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 ct,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=G.fromPositions(f.getStartPosition(),c),u="after"):(g=G.fromPositions(c,f.getEndPosition()),u="before"),n.push(new $0(a,new sR(g,u),r))}}this.items=n.sort((s,r)=>ii.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 G(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 G(i,c+1,i,u+1)}};Ah._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Sv=Ah;function I4(o){return Tn.from({scheme:uo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var D4=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 Pr=class extends iO{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){t0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Pr=D4([Qa(4,Mi),Qa(5,os),Qa(6,Cs),Qa(7,mn),Qa(8,Mr),Qa(9,oo),Qa(10,wy),Qa(11,xs),Qa(12,ni)],Pr);const pI=new Yi(new pf(0,122,204)),E4={showArrow:!0,showFrame:!0,className:"",frameColor:pI,arrowColor:pI,keepEditorSelection:!1},T4="vs.editor.contrib.zoneWidget";class P4{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 M4{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(),sL(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(){sL(this._ruleName),oO(`.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:G.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Db._IdGenerator=new sO(".arrow-decoration-");let vC=Db;class R4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new ct,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=nO(t),t0(this.options,E4,!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 vC(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=G.isIRange(e)?G.lift(e):G.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Qi.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 P4(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 M4(T4+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 G(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 oR=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},rR=function(o,e){return function(t,i){e(t,i,o)}};const aR=Tl("IPeekViewService");Pl(aR,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 go;(function(o){o.inPeekEditor=new an("inReferenceSearchEditor",!0,C("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(go||(go={}));var ef;let Cv=(ef=class{constructor(e,t){e instanceof Pr&&go.inPeekEditor.bindTo(t)}dispose(){}},ef.ID="editor.contrib.referenceController",ef);Cv=oR([rR(1,mn)],Cv);$i(Cv.ID,Cv,0);function N4(o){const e=o.get(os).getFocusedCodeEditor();return e instanceof Pr?e.getParentEditor():e}const A4={headerBackgroundColor:Yi.white,primaryHeadingColor:Yi.fromHex("#333333"),secondaryHeadingColor:Yi.fromHex("#6c6c6cb3")};let xv=class extends R4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Hi,this.onDidClose=this._onDidClose.event,t0(this.options,A4,!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=Gt(".head"),this._bodyElement=Gt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Gt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),yl(this._titleElement,"click",s=>this._onTitleClick(s))),Ht(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Gt("span.filename"),this._secondaryHeading=Gt("span.dirname"),this._metaHeading=Gt("span.meta"),Ht(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Gt(".peekview-actions");Ht(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"),Sn.asClassName(Li.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:rO.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:Fa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Sr(this._metaHeading)):Oo(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=oR([rR(2,Mi)],xv);const O4=Kt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Yi.black,hcLight:Yi.white},C("peekViewTitleBackground","Background color of the peek view title area.")),lR=Kt("peekViewTitleLabel.foreground",{dark:Yi.white,light:Yi.black,hcDark:Yi.white,hcLight:__},C("peekViewTitleForeground","Color of the peek view title.")),cR=Kt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},C("peekViewTitleInfoForeground","Color of the peek view title info.")),F4=Kt("peekView.border",{dark:yS,light:yS,hcDark:bl,hcLight:bl},C("peekViewBorder","Color of the peek view borders and arrow.")),H4=Kt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Yi.black,hcLight:Yi.white},C("peekViewResultsBackground","Background color of the peek view result list."));Kt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Yi.white,hcLight:__},C("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));Kt("peekViewResult.fileForeground",{dark:Yi.white,light:"#1E1E1E",hcDark:Yi.white,hcLight:__},C("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));Kt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},C("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));Kt("peekViewResult.selectionForeground",{dark:Yi.white,light:"#6C6C6C",hcDark:Yi.white,hcLight:__},C("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const dR=Kt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Yi.black,hcLight:Yi.white},C("peekViewEditorBackground","Background color of the peek view editor."));Kt("peekViewEditorGutter.background",dR,C("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));Kt("peekViewEditorStickyScroll.background",dR,C("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));Kt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},C("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));Kt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},C("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));Kt("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=aO.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,Va(this.uri),this.range.startLineNumber,this.range.startColumn):C("aria.oneReference","in {0} on line {1} at column {2}",Va(this.uri),this.range.startLineNumber,this.range.startColumn)}}class W4{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 G(n,c.startColumn,n,s),f=new G(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(){Js(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}",Va(this.uri),this.uri.fsPath):C("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Va(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 W4(i))}catch(i){Rn(i)}return this}}class Lo{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Hi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Lo._compareReferences);let n;for(const s of e)if((!n||!oL.isEqual(n.uri,s.uri,!0))&&(n=new Pp(this,s.uri),this.groups.push(n)),n.children.length===0||Lo._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(){Js(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Lo(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()&&G.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 oL.compare(e.uri,t.uri)||G.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)}},bC;let yC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Lo||e instanceof Pp}getChildren(e){if(e instanceof Lo)return e.groups;if(e instanceof Pp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};yC=Ky([Zy(0,ua)],yC);class B4{getHeight(){return 23}getTemplateId(e){return e instanceof Pp?kv.id:Lv.id}}let wC=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 Va(e.uri)}};wC=Ky([Zy(0,us)],wC);class z4{getId(e){return e instanceof Nc?e.id:e.uri}}let SC=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 BE(i,{supportHighlights:!0})),this.badge=new lO(Ht(i,Gt(".count")),{},cO),e.appendChild(i)}set(e,t){const i=i0(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))}};SC=Ky([Zy(1,pp)],SC);var Rd;let kv=(Rd=class{constructor(e){this._instantiationService=e,this.templateId=bC.id}renderTemplate(e){return this._instantiationService.createInstance(SC,e)}renderElement(e,t,i){i.set(e.element,Cy(e.filterData))}disposeTemplate(e){e.dispose()}},bC=Rd,Rd.id="FileReferencesRenderer",Rd);kv=bC=Ky([Zy(0,Mi)],kv);class V4 extends ft{constructor(e){super(),this.label=this._register(new dO(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(`${Va(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 V4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Eb.id="OneReferenceRenderer";let Lv=Eb;class j4{getWidgetAriaLabel(){return C("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var $4=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 ct,this._callOnModelChange=new ct,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(!G.equalsRange(s,n.range)){if(G.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=Qi.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let CC=Tb;class U4{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 q4 extends fO{}let xC=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 ct,this._callOnDispose=new ct,this._onDidSelectReference=new Hi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new An(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(),Js(this._preview),Js(this._previewNotAvailableMessage),Js(this._tree),Js(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(F4)||Yi.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(O4)||Yi.transparent,primaryHeadingColor:e.getColor(lR),secondaryHeadingColor:e.getColor(cR)})}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=Ht(e,Gt("div.messages")),Oo(this._messageContainer),this._splitView=new uO(e,{orientation:1}),this._previewContainer=Ht(e,Gt("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(Pr,this._previewContainer,t,{},this.editor),Oo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ic,C("missingPreviewMessage","no preview available"),mp,ic.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=Ht(e,Gt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new j4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(wC),identityProvider:new z4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:H4}};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(q4,"ReferencesWidget",this._treeContainer,new B4,[this._instantiationService.createInstance(kv),this._instantiationService.createInstance(Lv)],this._instantiationService.createInstance(yC),i),this._splitView.addView({onDidChange:_s.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},rL.Distribute),this._splitView.addView({onDidChange:_s.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)}},rL.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")})),Oo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new An(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"),Sr(this._messageContainer),Promise.resolve(void 0)):(Oo(this._messageContainer),this._decorationsManager=new CC(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"),Sr(this._treeContainer),Sr(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!==uo.inMemory?this.setTitle(hO(e.uri),this._uriLabel.getUriLabel(i0(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}Js(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=G.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()}};xC=$4([ih(3,Mr),ih(4,ua),ih(5,Mi),ih(6,aR),ih(7,pp),ih(8,us)],xC);var G4=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 an("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 ct,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=U4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(xC,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 ii(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=G.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,Es(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Rn(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=G4([nh(2,mn),nh(3,os),nh(4,oo),nh(5,Mi),nh(6,Wc),nh(7,$n)],Eu);function $u(o,e){const t=N4(o);if(!t)return;const i=Eu.get(t);i&&e(i)}Ua.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ds(2089,60),when:ye.or(ju,go.inPeekEditor),handler(o){$u(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ua.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ye.or(ju,go.inPeekEditor),handler(o){$u(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ua.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ye.or(ju,go.inPeekEditor),handler(o){$u(o,e=>{e.goToNextOrPreviousReference(!1)})}});Hn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Hn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Hn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Hn.registerCommand("closeReferenceSearch",o=>$u(o,e=>e.closeWidget()));Ua.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ye.and(go.inPeekEditor,ye.not("config.editor.stablePeek"))});Ua.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ye.and(ju,ye.not("config.editor.stablePeek"),ye.or(F.editorTextFocus,gO.negate()))});Ua.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ye.and(ju,zE,VE.negate(),jE.negate()),handler(o){var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&$u(o,n=>n.revealReference(t[0]))}});Ua.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ye.and(ju,zE,VE.negate(),jE.negate()),handler(o){var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&$u(o,n=>n.openReference(t[0],!0,!0))}});Hn.registerCommand("openReference",o=>{var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&$u(o,n=>n.openReference(t[0],!1,!0))});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},Tg=function(o,e){return function(t,i){e(t,i,o)}};const U0=new an("hasSymbols",!1,C("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Xy=Tl("ISymbolNavigationService");let kC=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=U0.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 LC(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||G.containsPosition(g.range,c);else if(u)break;(!u||!f)&&this.reset()});this._currentState=$E(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:G.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)}};kC=uR([Tg(0,mn),Tg(1,os),Tg(2,oo),Tg(3,us)],kC);Pl(Xy,kC,1);oi(new class extends mo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:U0,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Xy).revealNext(e)}});Ua.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:U0,primary:9,handler(o){o.get(Xy).reset()}});let LC=class{constructor(e){this._listener=new Map,this._disposables=new ct,this._onDidChange=new Hi,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(),Js(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,$E(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)}};LC=uR([Tg(0,os)],LC);function IC(o,e){return e.uri.scheme===o.uri.scheme?!0:!pO(e.uri,uo.walkThroughSnippet,uo.vscodeChatCodeBlock,uo.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=>{ss(u)})),a=await Promise.all(r);return vl(a.flat()).filter(c=>IC(o,c))}function E_(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function q0(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function G0(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function K0(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=>IC(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=>IC(a,w));return f&&f.length===1?f:u})}async function qa(o){const e=await o(),t=new Lo(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}vo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(ni),n=E_(i.definitionProvider,e,t,!1,Wi.None);return qa(()=>n)});vo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ni),n=E_(i.definitionProvider,e,t,!0,Wi.None);return qa(()=>n)});vo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(ni),n=K0(i.typeDefinitionProvider,e,t,!1,Wi.None);return qa(()=>n)});vo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ni),n=K0(i.typeDefinitionProvider,e,t,!0,Wi.None);return qa(()=>n)});vo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(ni),n=q0(i.declarationProvider,e,t,!1,Wi.None);return qa(()=>n)});vo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(ni),n=q0(i.declarationProvider,e,t,!0,Wi.None);return qa(()=>n)});vo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(ni),n=T_(i.referenceProvider,e,t,!1,!1,Wi.None);return qa(()=>n)});vo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(ni),n=T_(i.referenceProvider,e,t,!1,!0,Wi.None);return qa(()=>n)});vo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(ni),n=G0(i.implementationProvider,e,t,!1,Wi.None);return qa(()=>n)});vo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(ni),n=G0(i.implementationProvider,e,t,!0,Wi.None);return qa(()=>n)});Dr.appendMenuItem(Ot.EditorContext,{submenu:Ot.EditorContextPeek,title:C("peek.submenu","Peek"),group:"navigation",order:100});class Ef{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Ef||ii.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const hr=class hr extends ra{static all(){return hr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of hl.wrap(t.menu))(i.id===Ot.EditorContext||i.id===Ot.EditorContextPeek)&&(i.when=ye.and(e.precondition,i.when));return t}constructor(e,t){super(hr._patchConfig(t)),this.configuration=e,hr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(oo),r=e.get(os),a=e.get(l_),c=e.get(Xy),u=e.get(ni),f=e.get(Mi),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;Er(k.ariaMessage);let E;if(k.referenceAt(g.uri,p)){const $=this._getAlternativeCommand(t);!hr._activeAlternativeCommands.has($)&&hr._allSymbolNavigationCommands.has($)&&(E=hr._allSymbolNavigationCommands.get($))}const P=k.references.length;if(P===0){if(!this.configuration.muteMessage){const $=g.getWordAtPosition(p);(A=ko.get(t))==null||A.showMessage(this._getNoResultFoundMessage($),p)}}else if(P===1&&E)hr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction($=>E.runEditorCommand($,t,i,n).finally(()=>{hr._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 Pr)&&(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(_O(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:G.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(),Es(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};hr._allSymbolNavigationCommands=new Map,hr._activeAlternativeCommands=new Set;let kl=hr;class P_ extends kl{async _getLocationModel(e,t,i,n){return new Lo(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;Dn((vc=class extends P_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:vc.id,title:{...Qt("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:ye.and(F.editorTextFocus,UE),primary:2118,weight:100}],menu:[{id:Ot.EditorContext,group:"navigation",order:1.1},{id:Ot.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Hn.registerCommandAlias("editor.action.goToDeclaration",vc.id)}},vc.id="editor.action.revealDefinition",vc));var bc;Dn((bc=class extends P_{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:bc.id,title:Qt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ye.and(F.hasDefinitionProvider,F.isInEmbeddedEditor.toNegated()),keybinding:[{when:F.editorTextFocus,primary:ds(2089,70),weight:100},{when:ye.and(F.editorTextFocus,UE),primary:ds(2089,2118),weight:100}]}),Hn.registerCommandAlias("editor.action.openDeclarationToTheSide",bc.id)}},bc.id="editor.action.revealDefinitionAside",bc));var yc;Dn((yc=class extends P_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:yc.id,title:Qt("actions.previewDecl.label","Peek Definition"),precondition:ye.and(F.hasDefinitionProvider,go.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),keybinding:{when:F.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Ot.EditorContextPeek,group:"peek",order:2}}),Hn.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class hR extends kl{async _getLocationModel(e,t,i,n){return new Lo(await q0(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;Dn((Ad=class extends hR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ad.id,title:{...Qt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:C({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ye.and(F.hasDeclarationProvider,F.isInEmbeddedEditor.toNegated()),menu:[{id:Ot.EditorContext,group:"navigation",order:1.3},{id:Ot.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));Dn(class extends hR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Qt("actions.peekDecl.label","Peek Declaration"),precondition:ye.and(F.hasDeclarationProvider,go.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),menu:{id:Ot.EditorContextPeek,group:"peek",order:3}})}});class fR extends kl{async _getLocationModel(e,t,i,n){return new Lo(await K0(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;Dn((Od=class extends fR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Od.ID,title:{...Qt("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:Ot.EditorContext,group:"navigation",order:1.4},{id:Ot.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Od.ID="editor.action.goToTypeDefinition",Od));var Fd;Dn((Fd=class extends fR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Fd.ID,title:Qt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ye.and(F.hasTypeDefinitionProvider,go.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),menu:{id:Ot.EditorContextPeek,group:"peek",order:4}})}},Fd.ID="editor.action.peekTypeDefinition",Fd));class gR extends kl{async _getLocationModel(e,t,i,n){return new Lo(await G0(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;Dn((Hd=class extends gR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Hd.ID,title:{...Qt("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:Ot.EditorContext,group:"navigation",order:1.45},{id:Ot.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Hd.ID="editor.action.goToImplementation",Hd));var Wd;Dn((Wd=class extends gR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Wd.ID,title:Qt("actions.peekImplementation.label","Peek Implementations"),precondition:ye.and(F.hasImplementationProvider,go.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),keybinding:{when:F.editorTextFocus,primary:3142,weight:100},menu:{id:Ot.EditorContextPeek,group:"peek",order:5}})}},Wd.ID="editor.action.peekImplementation",Wd));class pR 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}}Dn(class extends pR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Qt("goToReferences.label","Go to References"),mnemonicTitle:C({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ye.and(F.hasReferenceProvider,go.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),keybinding:{when:F.editorTextFocus,primary:1094,weight:100},menu:[{id:Ot.EditorContext,group:"navigation",order:1.45},{id:Ot.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Lo(await T_(e.referenceProvider,t,i,!0,!1,n),C("ref.title","References"))}});Dn(class extends pR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Qt("references.action.label","Peek References"),precondition:ye.and(F.hasReferenceProvider,go.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),menu:{id:Ot.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Lo(await T_(e.referenceProvider,t,i,!1,!1,n),C("ref.title","References"))}});class K4 extends kl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Qt("label.generic","Go to Any Symbol"),precondition:ye.and(go.notInPeekEditor,F.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Lo(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""}}Hn.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:Tn},{name:"position",description:"The position at which to start",constraint:ii.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)=>{bn(Tn.isUri(e)),bn(ii.isIPosition(t)),bn(Array.isArray(i)),bn(typeof n>"u"||typeof n=="string"),bn(typeof r>"u"||typeof r=="boolean");const a=o.get(os),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(qE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(u=>{const f=new class extends K4{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(Mi).invokeFunction(f.run.bind(f),c)})}});Hn.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:Tn},{name:"position",description:"The position at which to start",constraint:ii.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(Cs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Hn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{bn(Tn.isUri(e)),bn(ii.isIPosition(t));const i=o.get(ni),n=o.get(os);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!qE(s)||!s.hasModel())return;const r=Eu.get(s);if(!r)return;const a=Es(u=>T_(i.referenceProvider,s.getModel(),ii.lift(t),!1,!1,u).then(f=>new Lo(f,C("ref.title","References")))),c=new G(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});Hn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function Z4(o,e,t,i){const n=o.get(ua),s=o.get(Bf),r=o.get(Cs),a=o.get(Mi),c=o.get(oo);if(await i.item.resolve(Wi.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Dr.getMenuItems(Ot.EditorContext).map(w=>mO(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,G.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:s0.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=fo(t);return{x:w.left,y:w.top+w.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function _R(o,e,t,i){const s=await o.get(ua).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(mn),u=go.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,G.getStartPosition(i.range)),G.lift(i.range))}),s.dispose()}var X4=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 mR=Tl("IInlayHintsCache");Pl(mR,Iv,1);class DC{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 Y4{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 ct,this._sessionDisposables=new ct,this._decorationsMetadata=new Map,this._ruleFactory=new ME(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(vO.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 ms(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Ts;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){Rn(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 ct,t=e.add(new Gy(this._editor)),i=new ct;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 Ts;i.add(Vn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new Y4(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new G(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(_R,n,this._editor,r.location):bO.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(Wi.None),zo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Xn.replace(G.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!yO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(Z4,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 o0&&(t==null?void 0:t.attachedData)instanceof DC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:s0.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 sR(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(G.compareRangesUsingStarts)){const r=t.validateRange(new G(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!G.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=G.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var m,x;const i=[],n=(k,E,P,A,$)=>{const H={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:E.className,cursorStops:A,attachedData:$};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?H: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],$=P===0,H=P===E.length-1,ie={fontSize:`${r}px`,fontFamily:`var(${f}), ${Jx.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};zo(k.hint.textEdits)&&(ie.cursor="default"),this._fillInColors(ie,k.hint),(A.command||A.location)&&((m=this._activeInlayHintPart)==null?void 0:m.part.item)===k&&this._activeInlayHintPart.part.index===P&&(ie.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ie.color=gs(wO),ie.cursor="pointer")),c&&($&&H?(ie.padding=`1px ${Math.max(1,r/4)|0}px`,ie.borderRadius=`${r/4|0}px`):$?(ie.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,ie.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(ie.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,ie.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):ie.padding="1px 0 1px 0");let J=A.label;g.totalLen+=J.length;let ue=!1;const he=g.totalLen-bh._MAX_LABEL_LEN;if(he>0&&(J=J.slice(0,-he)+"…",ue=!0),n(k,this._ruleFactory.createClassNameRef(ie),Q4(J),H&&!k.hint.paddingRight?xh.Right:xh.None,new DC(k,P)),ue)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===aL.Parameter?(e.backgroundColor=gs(SO),e.color=gs(CO)):t.kind===aL.Type?(e.backgroundColor=gs(xO),e.color=gs(kO)):(e.backgroundColor=gs(LO),e.color=gs(IO))}_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=X4([sh(1,ni),sh(2,rr),sh(3,mR),sh(4,Cs),sh(5,oo),sh(6,Mi)],Mp);function Q4(o){return o.replace(/[ \t]/g," ")}Hn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;bn(Tn.isUri(t)),bn(G.isIRange(i));const{inlayHintsProvider:n}=o.get(ni),s=await o.get(ua).createModelReference(t);try{const r=await Sv.create(n,s.object.textEditorModel,[G.lift(i)],Wi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var J4=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 _I 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 o0&&i.attachedData instanceof DC?new _I(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof _I?new ta(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 Ys().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Cr(this,e.range,[r],!1,0)),zo(s.item.hint.textEdits)&&n.emitOne(new Cr(this,e.range,[new Ys().appendText(C("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ys().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Cr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?za?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):za?C("links.navigate.kb.alt.mac","option + click"):C("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new Ys().appendText(C("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new Ys().appendText(C("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new Ys(`[${C("hint.cmd","Execute Command")}](${I4(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Cr(this,e.range,[u],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of c)n.emitOne(u)}):ta.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ta.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)?j0(this._languageFeaturesService.hoverProvider,r,new ii(n.startLineNumber,n.startColumn),t).filter(a=>!gp(a.hover.contents)).map(a=>new Cr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ta.EMPTY}finally{s.dispose()}}};Dv=J4([zl(1,da),zl(2,la),zl(3,us),zl(4,g_),zl(5,$n),zl(6,ua),zl(7,ni),zl(8,Cs)],Dv);class Z0 extends ft{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new EC(e,i,c,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=Z0.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 ii(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 ii(s,r);return{showAtPosition:c,showAtSecondaryPosition:u}}}class ez{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=G.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 ct;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 ez(e,t)}_registerListenersOnRenderedParts(){const e=new ct;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(_n(n,Kn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(_n(n,Kn.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=Qi.register({description:"content-hover-highlight",className:"hoverHighlight"});let EC=Pb;var tz=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},mI=function(o,e){return function(t,i){e(t,i,o)}};let TC=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 Hi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(_C,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new yv(this._editor,this._participants),this._hoverOperation=this._register(new JM(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 eR(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 Z0(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 Ww(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 Ww(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 Ww(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}};TC=tz([mI(1,Mi),mI(2,us)],TC);var iz=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},vI=function(o,e){return function(t,i){e(t,i,o)}},PC,Bd;let Gs=(Bd=class extends ft{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Hi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new ct,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new ms(()=>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(PC.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===ZM||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(TC,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()}},PC=Bd,Bd.ID="editor.contrib.contentHover",Bd);Gs=PC=iz([vI(1,Mi),vI(2,us)],Gs);const Ak=class Ak 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!==VM||!i.range)return;const n=this._editor.getContribution(Gs.ID);if(n&&!n.isColorPickerVisible){const s=new G(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};Ak.ID="editor.contrib.colorContribution";let Ev=Ak;$i(Ev.ID,Ev,2);Vu.register(Dp);var vR=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)}},MC,RC,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(NC,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(MC.ID)}},MC=zd,zd.ID="editor.contrib.standaloneColorPickerController",zd);Tu=MC=vR([Eh(1,mn),Eh(2,Mi)],Tu);$i(Tu.ID,Tu,1);const bI=8,nz=22;var Vd;let NC=(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 Hi),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 RC.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 sz(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-nz-bI,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,w=p.pickedColorNode;w.style.width=u+bI+"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)}},RC=Vd,Vd.ID="editor.contrib.standaloneColorPickerWidget",Vd);NC=RC=vR([Eh(3,Mi),Eh(4,us),Eh(5,ni),Eh(6,Ml)],NC);class sz{constructor(e,t){this.value=e,this.foundInEditor=t}}class oz extends ra{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Qt("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:Ot.CommandPalette}],metadata:{description:Qt("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 rz 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:Qt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Tu.get(t))==null||i.hide()}}class az 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:Qt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Tu.get(t))==null||i.insertColor()}}ce(rz);ce(az);Dn(oz);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 G(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 G.isEmpty(e)?n.push(Xn.delete(new G(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Xn.delete(new G(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Xn.delete(new G(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return G.isEmpty(e)?s.push(Xn.replace(new G(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Xn.insert(new ii(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Xn.insert(new ii(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 wi(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 wi(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=wS(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 ii(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),G.isEmpty(s[a].range)&&G.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 G(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=wS(u);f===-1&&(f=u.length),c=oc._createAddBlockCommentOperations(new G(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else c=oc._createAddBlockCommentOperations(new G(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 G(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 wi(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(Xn.delete(new G(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(Xn.insert(new ii(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 X0 extends qe{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(xs);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)=>G.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 lz extends X0{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:Ot.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class cz extends X0{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:ds(2089,2081),weight:100}})}}class dz extends X0{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:ds(2089,2099),weight:100}})}}class uz 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:Ot.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(xs);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()}}ce(lz);ce(cz);ce(dz);ce(uz);var hz=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)}},AC,jd;let Tf=(jd=class{static get(e){return e.getContribution(AC.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 ct,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&&DO(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 EO){const u=this._getMenuActions(e,c.item.submenu);u.length>0&&(i.push(new lL(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=fo(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)&&!SS;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 bS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new bS(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()||TO(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 lL(`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)&&!SS;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()}},AC=jd,jd.ID="editor.contrib.contextmenu",jd);Tf=AC=hz([Zc(1,Bf),Zc(2,my),Zc(3,mn),Zc(4,us),Zc(5,Ou),Zc(6,$n),Zc(7,df)],Tf);class fz 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()}}$i(Tf.ID,Tf,2);ce(fz);class zw{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 Vw{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 zw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Vw(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 Vw(new zw(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 Vw(new zw(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 gz 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 pz 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()}}$i(Pf.ID,Pf,0);ce(gz);ce(pz);class _z{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 G(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 wi(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 wi(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 wi(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 wi(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 wi(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 za?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 ii(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 wi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new wi(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 _z(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 G(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=za?6:5,Zl._DECORATION_OPTIONS=Qi.register({description:"dnd-target",className:"dnd-target"});let Tv=Zl;$i(Tv.ID,Tv,2);$i(xl.ID,xl,0);jf(XS);oi(new class extends mo{constructor(){super({id:wM,precondition:O0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=xl.get(e))==null?void 0:t.changePasteType()}});oi(new class extends mo{constructor(){super({id:"editor.hidePasteWidget",precondition:O0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=xl.get(e))==null||t.clearWidgets()}});var $d;ce(($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));ce(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 mz{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 yI{constructor(e){this.identifier=e}}const bR=Tl("treeViewsDndService");Pl(bR,mz,1);var vz=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)}},OC;const yR="editor.experimental.dropIntoEditor.defaultProvider",wR="editor.changeDropType",Y0=new an("dropWidgetVisible",!1,C("dropWidgetVisible","Whether the drop widget is showing"));var Ud;let Mf=(Ud=class extends ft{static get(e){return e.getContribution(OC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=KS.getInstance(),this._dropProgressManager=this._register(t.createInstance(mv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(bv,"dropIntoEditor",e,Y0,{id:wR,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=Es(async r=>{const a=new ct,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([G.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 ct,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:bM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(yR,{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&&dM(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new cM;const t=fM(e.dataTransfer);if(this.treeItemsTransfer.hasData(yI.prototype)){const i=this.treeItemsTransfer.getData(yI.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}},OC=Ud,Ud.ID="editor.contrib.dropIntoEditorController",Ud);Mf=OC=vz([im(1,Mi),im(2,$n),im(3,ni),im(4,bR)],Mf);$i(Mf.ID,Mf,2);jf(ZS);oi(new class extends mo{constructor(){super({id:wR,precondition:Y0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Mf.get(e))==null||i.changeDropType()}});oi(new class extends mo{constructor(){super({id:"editor.hideDropWidget",precondition:Y0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Mf.get(e))==null||i.clearWidgets()}});aa.as(c_.Configuration).registerConfiguration({...by,properties:{[yR]:{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 Us=class Us{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===Us._FIND_MATCH_DECORATION||n===Us._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,Us._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Us._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 G(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Us._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Us._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Us._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 G(g,1,p,1),options:Us._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=x.startLineNumber,p=x.endLineNumber)}s.push({range:new G(g,1,p,1),options:Us._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,Us._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}};Us._CURRENT_FIND_MATCH_DECORATION=Qi.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:gs(yw),position:Oa.Center},minimap:{color:gs(cL),position:1}}),Us._FIND_MATCH_DECORATION=Qi.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:gs(yw),position:Oa.Center},minimap:{color:gs(cL),position:1}}),Us._FIND_MATCH_NO_OVERVIEW_DECORATION=Qi.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Us._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Qi.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:gs(yw),position:Oa.Center}}),Us._RANGE_HIGHLIGHT_DECORATION=Qi.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Us._FIND_SCOPE_DECORATION=Qi.register({description:"find-scope",className:"findScope",isWholeLine:!0});let FC=Us;class bz{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)=>G.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 SR(o,e){if(o&&o[0]!==""){const t=wI(o,e,"-"),i=wI(o,e,"_");return t&&!i?SI(o,e,"-"):!t&&i?SI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():PO(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 wI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function SI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=SR([n[a]],r)+t}),s.slice(0,-1)}class CI{constructor(e){this.staticValue=e,this.kind=0}}class yz{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 CI(""):e.length===1&&e[0].staticValue!==null?this._state=new CI(e[0].staticValue):this._state=new yz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?SR(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 wz{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 Sz(o){if(!o||o.length===0)return new Rf(null);const e=[],t=new wz(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 an("findWidgetVisible",!1);Al.toNegated();const Yy=new an("findInputFocussed",!1),Q0=new an("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}},Mn={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,Cz=240;class Xg{constructor(e,t){this._toDispose=new ct,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new a_,this._decorations=new FC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new ms(()=>{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,Js(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)},Cz)):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 G(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=GE(n.map(c=>c.range),c=>G.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 ii(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 ii(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 ii(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 ii(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?Sz(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 ii(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 MO(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 KE(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 bz(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 wi(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 ms(()=>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(XE),inputActiveOptionForeground:vd(ZE),inputActiveOptionBackground:vd(Xx)},s=this._register(CS());this.caseSensitive=this._register(new RO({appendTitle:this._keybindingLabelFor(Mn.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 NO({appendTitle:this._keybindingLabelFor(Mn.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 AO({appendTitle:this._keybindingLabelFor(Mn.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,Kn.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 HC=Rb;function lm(o,e){return o===1?!0:o===2?!1:e}class xz 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 Hi),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"&&(G.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=>!G.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 kz=C("defaultLabel","input"),Lz=C("label.preserveCaseToggle","Preserve Case");class Iz extends YE{constructor(e){super({icon:Li.preserveCase,title:Lz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ky("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class Dz extends u_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Hi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Hi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Hi),this._onInput=this._register(new Hi),this._onKeyUp=this._register(new Hi),this._onPreserveCaseKeyDown=this._register(new Hi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||kz;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 OO(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 Iz({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 CR=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},xR=function(o,e){return function(t,i){e(t,i,o)}};const J0=new an("suggestWidgetVisible",!1,C("suggestWidgetVisible","Whether suggestion are visible")),ek="historyNavigationWidgetFocus",kR="historyNavigationForwardsEnabled",LR="historyNavigationBackwardsEnabled";let _l;const cm=[];function IR(o,e){if(cm.includes(e))throw new Error("Cannot register the same widget multiple times");cm.push(e);const t=new ct,i=new an(ek,!1).bindTo(o),n=new an(kR,!0).bindTo(o),s=new an(LR,!0).bindTo(o),r=()=>{i.set(!0),_l=e},a=()=>{i.set(!1),_l===e&&(_l=void 0)};return HO(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 WC=class extends FO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(IR(s,this.inputBox))}};WC=CR([xR(3,mn)],WC);let BC=class extends Dz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(IR(r,this.inputBox))}};BC=CR([xR(3,mn)],BC);Ua.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ye.and(ye.has(ek),ye.equals(LR,!0),ye.not("isComposing"),J0.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{_l==null||_l.showPreviousValue()}});Ua.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ye.and(ye.has(ek),ye.equals(kR,!0),ye.not("isComposing"),J0.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{_l==null||_l.showNextValue()}});function xI(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 kI=ts("find-collapsed",Li.chevronRight,C("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),LI=ts("find-expanded",Li.chevronDown,C("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Ez=ts("find-selection",Li.selection,C("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Tz=ts("find-replace",Li.replace,C("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Pz=ts("find-replace-all",Li.replaceAll,C("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Mz=ts("find-previous-match",Li.arrowUp,C("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Rz=ts("find-next-match",Li.arrowDown,C("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Nz=C("label.findDialog","Find / Replace"),Az=C("label.find","Find"),Oz=C("placeholder.find","Find"),Fz=C("label.previousMatchButton","Previous Match"),Hz=C("label.nextMatchButton","Next Match"),Wz=C("label.toggleSelectionFind","Find in Selection"),Bz=C("label.closeButton","Close"),zz=C("label.replace","Replace"),Vz=C("placeholder.replace","Replace"),jz=C("label.replaceButton","Replace"),$z=C("label.replaceAllButton","Replace All"),Uz=C("label.toggleReplaceButton","Toggle Replace"),qz=C("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",rc),Gz=C("label.matchesLocation","{0} of {1}"),II=C("label.noResults","No results"),ma=419,Kz=275,Zz=Kz-54;let mg=69;const Xz=33,DI="ctrlEnterReplaceAll.windows.donotask",EI=za?256:2048;class jw{constructor(e){this.afterLineNumber=e,this.heightInPx=Xz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function TI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function PI(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(DI,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 jw(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=Q0.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 jw(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=gr(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,Rn)}_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=qz: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=r0(Gz,n,i)}else e=II;this._matchesCount.appendChild(document.createTextNode(e)),Er(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),mg=Math.max(mg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===II)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=fo(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=WO(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 jw(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&&gr(this._domNode)>ma){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=gr(this._findInput.domNode);return}if(ma+28+n>=i&&(r=!0),ma+28+n-mg>=i&&(a=!0),ma+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=gr(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&&!G.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(EI|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 TI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return PI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(EI|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(DI,!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 TI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return PI(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 WC(null,this._contextViewProvider,{width:Zz,label:Az,placeholder:Oz,appendCaseSensitiveLabel:this._keybindingLabelFor(Mn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Mn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Mn.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:()=>xI(this._keybindingService),inputBoxStyles:uL,toggleStyles:dL},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()})),BO&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(CS());this._prevBtn=this._register(new rh({label:Fz+this._keybindingLabelFor(Mn.PreviousMatchFindAction),icon:Mz,hoverDelegate:i,onTrigger:()=>{kh(this._codeEditor.getAction(Mn.PreviousMatchFindAction)).run().then(void 0,Rn)}},this._hoverService)),this._nextBtn=this._register(new rh({label:Hz+this._keybindingLabelFor(Mn.NextMatchFindAction),icon:Rz,hoverDelegate:i,onTrigger:()=>{kh(this._codeEditor.getAction(Mn.NextMatchFindAction)).run().then(void 0,Rn)}},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 YE({icon:Ez,title:Wz+this._keybindingLabelFor(Mn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:vd(Xx),inputActiveOptionBorder:vd(XE),inputActiveOptionForeground:vd(ZE)})),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:Bz+this._keybindingLabelFor(Mn.CloseFindWidgetCommand),icon:QE,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 BC(null,void 0,{label:zz,placeholder:Vz,appendPreserveCaseLabel:this._keybindingLabelFor(Mn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>xI(this._keybindingService),inputBoxStyles:uL,toggleStyles:dL},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(CS());this._replaceBtn=this._register(new rh({label:jz+this._keybindingLabelFor(Mn.ReplaceOneAction),icon:Tz,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:$z+this._keybindingLabelFor(Mn.ReplaceAllAction),icon:Pz,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:Uz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=gr(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=Nz,this._domNode.role="dialog",this._domNode.style.width=`${ma}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=ma;this._register(this._resizeSash.onDidStart(()=>{u=gr(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<ma)return;const p=parseFloat(zO(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=gr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=gr(this._domNode);if(f<ma)return;let g=ma;if(!this._resized||f===ma){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=gr(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 zC=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+" "+Sn.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(...Sn.asClassNameArray(kI)),this._domNode.classList.add(...Sn.asClassNameArray(LI))):(this._domNode.classList.remove(...Sn.asClassNameArray(LI)),this._domNode.classList.add(...Sn.asClassNameArray(kI)))}}vy((o,e)=>{const t=o.getColor(PE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${up(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(VO);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(jO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor($O);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var DR=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},tr=function(o,e){return function(t,i){e(t,i,o)}},VC;const Yz=524288;function jC(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)<Yz)return o.getModel().getValueInRange(i)}return null}var qd;let po=(qd=class extends ft{get editor(){return this._editor}static get(e){return e.getContribution(VC.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 xz),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=jC(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=jC(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)}},VC=qd,qd.ID="editor.contrib.findController",qd);po=VC=DR([tr(1,mn),tr(2,Wc),tr(3,zf),tr(4,oo),tr(5,g_)],po);let $C=class extends po{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 zC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new HC(this._editor,this._state,this._keybindingService))}};$C=DR([tr(1,my),tr(2,mn),tr(3,us),tr(4,Mr),tr(5,oo),tr(6,Wc),tr(7,zf),tr(8,g_)],$C);const Qz=JE(new eT({id:Mn.StartFindAction,label:C("startFindAction","Find"),alias:"Find",precondition:ye.or(F.focus,ye.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Ot.MenubarEditMenu,group:"3_find",title:C({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Qz.addImplementation(0,(o,e,t)=>{const i=po.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 Jz={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 eV extends qe{constructor(){super({id:Mn.StartFindWithArgs,label:C("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Jz})}async run(e,t,i){const n=po.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 tV extends qe{constructor(){super({id:Mn.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=po.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 ER extends qe{async run(e,t){const i=po.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 iV extends ER{constructor(){super({id:Mn.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:ye.and(F.focus,Yy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class nV extends ER{constructor(){super({id:Mn.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:ye.and(F.focus,Yy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class sV extends qe{constructor(){super({id:Mn.GoToMatchFindAction,label:C("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Al}),this._highlightDecorations=[]}run(e,t,i){const n=po.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(oo).notify({severity:s0.Warning,message:C("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(El),a=new ct,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:gs(tT),position:Oa.Full}}}])})}}class TR extends qe{async run(e,t){const i=po.get(t);if(!i)return;const n=jC(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 oV extends TR{constructor(){super({id:Mn.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 rV extends TR{constructor(){super({id:Mn.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 aV=JE(new eT({id:Mn.StartFindReplaceAction,label:C("startReplace","Replace"),alias:"Replace",precondition:ye.or(F.focus,ye.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Ot.MenubarEditMenu,group:"3_find",title:C({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));aV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=po.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})});$i(po.ID,$C,0);ce(eV);ce(tV);ce(iV);ce(nV);ce(sV);ce(oV);ce(rV);const ha=mo.bindToContribution(po.get);oi(new ha({id:Mn.CloseFindWidgetCommand,precondition:Al,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:ye.and(F.focus,ye.not("isComposing")),primary:9,secondary:[1033]}}));oi(new ha({id:Mn.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}}));oi(new ha({id:Mn.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}}));oi(new ha({id:Mn.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}}));oi(new ha({id:Mn.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}}));oi(new ha({id:Mn.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}}));oi(new ha({id:Mn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:F.focus,primary:3094}}));oi(new ha({id:Mn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:ye.and(F.focus,Q0),primary:3}}));oi(new ha({id:Mn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:F.focus,primary:2563}}));oi(new ha({id:Mn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:ye.and(F.focus,Q0),primary:void 0,mac:{primary:2051}}}));oi(new ha({id:Mn.SelectAllMatchesAction,precondition:Al,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:F.focus,primary:515}}));const lV={0:" ",1:"u",2:"r"},MI=65535,Zr=16777215,RI=4278190080;class $w{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 Wo{constructor(e,t,i){if(e.length!==t.length||e.length>MI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new $w(e.length),this._userDefinedStates=new $w(e.length),this._recoveredStates=new $w(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>Zr||r>Zr)throw new Error("startLineNumber or endLineNumber must not exceed "+Zr);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]&Zr}getEndLineNumber(e){return this._endIndexes[e]&Zr}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 cV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&RI)>>>24)+((this._endIndexes[e]&RI)>>>16);return t===MI?-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]=`[${lV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Zr,endLineNumber:this._endIndexes[e]&Zr,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 Wo(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 cV{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 dV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Hi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Wo(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(Wo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Wo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Wo.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=Wo.sanitizeAndMerge(this._regions,t,i);this.updatePost(Wo.fromFoldRanges(n))}_getLinesChecksum(e,t){return iT(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 tk(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 PR(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 uV(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 hV(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 MR(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 ik(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 nk(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 fV(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 gV(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 pV(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 _V{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Hi,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||UO(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 G(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 NI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!mV(r,n))&&(n=NI(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 mV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function NI(o,e){const t=GE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const vV=5e3,bV="indent";class sk{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=bV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(SV(this.editorModel,i,n,this.foldingRangesLimit))}}let yV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Zr||t>Zr)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 Wo(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=qx(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[c],u++)}return new Wo(r,a)}}};const wV={limit:vV,update:()=>{}};function SV(o,e,t,i=wV){const n=o.getOptions().tabSize,s=new yV(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=qx(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 CV=Kt("editor.foldBackground",{light:Ha(hL,.3),dark:Ha(hL,.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);Kt("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."));Kt("editorGutter.foldingControlForeground",qO,C("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Pv=ts("folding-expanded",Li.chevronDown,C("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Mv=ts("folding-collapsed",Li.chevronRight,C("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),AI=ts("folding-manual-collapsed",Mv,C("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),OI=ts("folding-manual-expanded",Pv,C("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Uw={color:gs(CV),position:1},ah=C("linesCollapsed","Click to expand the range."),dm=C("linesExpanded","Click to collapse the range."),ns=class ns{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ns.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ns.MANUALLY_EXPANDED_VISUAL_DECORATION:ns.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ns.COLLAPSED_VISUAL_DECORATION=Qi.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:Sn.asClassName(Mv)}),ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Qi.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Uw,isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:Sn.asClassName(Mv)}),ns.MANUALLY_COLLAPSED_VISUAL_DECORATION=Qi.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:Sn.asClassName(AI)}),ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Qi.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Uw,isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:Sn.asClassName(AI)}),ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Qi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ah}),ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Qi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Uw,isWholeLine:!0,linesDecorationsTooltip:ah}),ns.EXPANDED_VISUAL_DECORATION=Qi.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sn.asClassName(Pv),linesDecorationsTooltip:dm}),ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Qi.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Sn.asClassName(Pv),linesDecorationsTooltip:dm}),ns.MANUALLY_EXPANDED_VISUAL_DECORATION=Qi.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sn.asClassName(OI),linesDecorationsTooltip:dm}),ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Qi.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Sn.asClassName(OI),linesDecorationsTooltip:dm}),ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Qi.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ns.HIDDEN_RANGE_DECORATION=Qi.register({description:"folding-hidden-range-decoration",stickiness:1});let UC=ns;const xV={},kV="syntax";class ok{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=kV,this.disposables=new ct,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return LV(this.providers,this.editorModel,e).then(t=>{var i;return t?DV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function LV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,xV,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})}},ss));return Promise.all(n).then(s=>i)}class IV{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>Zr||t>Zr)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 Wo(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 Wo(n,s,r)}}}function DV(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 IV(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 EV=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 Os=new an("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 ct),this.editor=e,this._foldingLimitReporter=new RR(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 UC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Os.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 dV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new _V(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 ms(()=>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 sk(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 ok(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 Do,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Es(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,TV(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=>(Rn(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,Rn)}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=EV([vg(1,mn),vg(2,xs),vg(3,oo),vg(4,rr),vg(5,ni)],Ac);class RR{constructor(e){this.editor=e,this._onDidChange=new Hi,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 js extends qe{runEditorCommand(e,t,i){const n=e.get(xs),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 TV(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 NR(o){if(!xg(o)){if(!nT(o))return!1;const e=o;if(!xg(e.levels)&&!fL(e.levels)||!xg(e.direction)&&!EE(e.direction)||!xg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(fL)))return!1}return!0}class PV extends js{constructor(){super({id:"editor.unfold",label:C("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Os,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:NR,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"?PR(t,!1,s,r):Xf(t,!1,s,r)}}class MV extends js{constructor(){super({id:"editor.unfoldRecursively",label:C("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2142),weight:100}})}invoke(e,t,i,n){Xf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class RV extends js{constructor(){super({id:"editor.fold",label:C("foldAction.label","Fold"),alias:"Fold",precondition:Os,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:NR,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"?uV(t,!0,s):a==="up"?PR(t,!0,r||1,s):Xf(t,!0,r||1,s)}}class NV extends js{constructor(){super({id:"editor.toggleFold",label:C("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);tk(t,1,n)}}class AV extends js{constructor(){super({id:"editor.foldRecursively",label:C("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Xf(t,!0,Number.MAX_VALUE,n)}}class OV extends js{constructor(){super({id:"editor.toggleFoldRecursively",label:C("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);tk(t,Number.MAX_VALUE,n)}}class FV extends js{constructor(){super({id:"editor.foldAllBlockComments",label:C("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(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));ik(t,c,!0)}}}}class HV extends js{constructor(){super({id:"editor.foldAllMarkerRegions",label:C("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(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);ik(t,c,!0)}}}}class WV extends js{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:C("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(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);ik(t,c,!1)}}}}class BV extends js{constructor(){super({id:"editor.foldAllExcept",label:C("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);MR(t,!0,n)}}class zV extends js{constructor(){super({id:"editor.unfoldAllExcept",label:C("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);MR(t,!1,n)}}class VV extends js{constructor(){super({id:"editor.foldAll",label:C("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2069),weight:100}})}invoke(e,t,i){Xf(t,!0)}}class jV extends js{constructor(){super({id:"editor.unfoldAll",label:C("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2088),weight:100}})}invoke(e,t,i){Xf(t,!1)}}const Oh=class Oh extends js{getFoldingLevel(){return parseInt(this.id.substr(Oh.ID_PREFIX.length))}invoke(e,t,i){hV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Oh.ID_PREFIX="editor.foldLevel",Oh.ID=e=>Oh.ID_PREFIX+e;let Rv=Oh;class $V extends js{constructor(){super({id:"editor.gotoParentFold",label:C("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=fV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class UV extends js{constructor(){super({id:"editor.gotoPreviousFold",label:C("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=gV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class qV extends js{constructor(){super({id:"editor.gotoNextFold",label:C("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=pV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class GV extends js{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:C("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(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=Wo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Wo.fromFoldRanges(a))}}}}class KV extends js{constructor(){super({id:"editor.removeManualFoldingRanges",label:C("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(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()}}}$i(Ac.ID,Ac,0);ce(PV);ce(MV);ce(RV);ce(AV);ce(OV);ce(VV);ce(jV);ce(FV);ce(HV);ce(WV);ce(BV);ce(zV);ce(NV);ce($V);ce(UV);ce(qV);ce(GV);ce(KV);for(let o=1;o<=7;o++)GO(new Rv({id:Rv.ID(o),label:C("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Os,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2048|21+o),weight:100}}));Hn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof Tn))throw fl();const i=o.get(ni),n=o.get(ro).getModel(t);if(!n)throw fl();const s=o.get($n);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(xs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(w,m)=>{}},u=new sk(n,r,c);let f=u;if(a!=="indentation"){const w=Ac.getFoldingRangeProviders(i,n);w.length&&(f=new ok(n,w,()=>{},c,u))}const g=await f.compute(Wi.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 ZV 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 XV 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 YV 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)}}ce(ZV);ce(XV);ce(YV);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},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 ct,this._sessionDisposables=new ct,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 Ts,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}});KO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||zo(r)&&(this._accessibilitySignalService.playSignal(oT.format,{userGesture:!1}),ZO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},tf.ID="editor.contrib.autoFormat",tf);Nv=AR([Yg(1,ni),Yg(2,Ml),Yg(3,sT)],Nv);var nf;let Av=(nf=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new ct,this._callOnModel=new ct,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(rT,this.editor,e,2,ll.None,Wi.None,!1).catch(Rn))}},nf.ID="editor.contrib.formatOnPaste",nf);Av=AR([Yg(1,ni),Yg(2,Mi)],Av);class QV extends qe{constructor(){super({id:"editor.action.formatDocument",label:C("formatDocument.label","Format Document"),alias:"Format Document",precondition:ye.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(Mi);await e.get(l_).showWhile(i.invokeFunction(XO,t,1,ll.None,Wi.None,!0),250)}}}class JV extends qe{constructor(){super({id:"editor.action.formatSelection",label:C("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ye.and(F.writable,F.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:F.editorTextFocus,primary:ds(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(Mi),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new G(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(l_).showWhile(i.invokeFunction(rT,t,s,1,ll.None,Wi.None,!0),250)}}$i(Nv.ID,Nv,2);$i(Av.ID,Av,2);ce(QV);ce(JV);Hn.registerCommand("editor.action.format",async o=>{const e=o.get(os).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Cs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var ej=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)}};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 qC extends Th{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class OR 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 Ts(i),s=new il(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Th.findId(`provider_${f}`,s),p=new OR(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=>(ss(w),p)).then(w=>{Th.empty(w)?w.remove():s._groups.set(g,w)})}),c=e.onDidChange(()=>{const u=e.ordered(t);Ba(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 qC(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 qC?e.push(t.symbol):e.push(...hl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>G.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return il._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>ii.compare(G.getStartPosition(i.range),G.getStartPosition(n.range))||ii.compare(G.getEndPosition(n.range),G.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 GC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new ct,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()||!Ba(s.provider,n)){const a=new Ts;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()}}};GC=ej([qw(0,ni),qw(1,rr),qw(2,ro)],GC);Pl(M_,GC,1);Hn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;bn(Tn.isUri(t));const i=o.get(M_),s=await o.get(ua).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,Wi.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends ft{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Sa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Sa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Sa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Sa.suppressSuggestions.bindTo(this.contextKeyService),this._register(Gn(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(Gn(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=wS(f);w===-1&&(w=f.length-1),s=w>0;const m=n.textModel.getOptions().tabSize;r=YO.visibleColumnFromColumn(f,w+1,m)<m}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Sa.inlineSuggestionVisible=new an("inlineSuggestionVisible",!1,C("inlineSuggestionVisible","Whether an inline suggestion is visible")),Sa.inlineSuggestionHasIndentation=new an("inlineSuggestionHasIndentation",!1,C("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Sa.inlineSuggestionHasIndentationLessThanTabSize=new an("inlineSuggestionHasIndentationLessThanTabSize",!0,C("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Sa.suppressSuggestions=new an("inlineSuggestionSuppressSuggestions",void 0,C("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Io=Sa;function tj(o){const e=new ct,t=e.add(aT());return e.add(Gn(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 lT([...this.parts.map(s=>new wl(G.fromPositions(new ii(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 KC{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 FI(o,e){return Ba(o,e,FR)}function FR(o,e){return o===e?!0:!o||!e?!1:o instanceof Rp&&e instanceof Rp||o instanceof KC&&e instanceof KC?o.equals(e):!1}const ij=[];function nj(){return ij}class HR{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 G(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function WR(o,e){const t=new ct,i=o.createDecorationsCollection();return t.add(QO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function sj(o,e){return new ii(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function HI(o,e){return new ii(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}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},rj=function(o,e){return function(t,i){e(t,i,o)}};const WI="ghost-text";let ZC=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Vo(this,!1),this.currentTextModel=So(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Ln(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 KC?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,WI),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 HR(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=Ln(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:G.fromPositions(new ii(s.lineNumber,a.column)),options:{description:WI,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 aj(this.editor,this.languageService.languageIdCodec,Ln(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(WR(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};ZC=oj([rj(2,da)],ZC);class aj 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",_s.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(Gn(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");lj(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function lj(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 dT(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=gT(P),$=JO(P),H=e2.createEmpty(P,n);uT(new hT(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,A,$,0,H,E.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,c,u!==t2.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),fT(o,f);const w=p.build(),m=BI?BI.createHTML(w):w;o.innerHTML=m}const BI=cT("editorGhostText",{createHTML:o=>o});function cj(o,e){const t=new o2,i=new n2(t,u=>e.getLanguageConfiguration(u)),n=new i2(new dj([o]),i),s=s2(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(gL(f),gL(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,r2),r}class dj{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 BR(o,e,t,i,n=Wi.None,s){const r=e instanceof ii?fj(e,t):e,a=o.all(t),c=new a2;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 $=c.get(A);for(const H of $)P.push(H)}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 $ of A){const H=p($,P);if(H)return H}}finally{g.delete(E)}}function w(E){const P=f.get(E);if(P)return P;const A=p(E,[]);A&&ss(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${A.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const $=new py;return f.set(E,$.p),(async()=>{var H;if(!A){const ie=u(E);for(const J of ie){const ue=await w(J);if(ue&&ue.items.length>0)return}}try{return e instanceof ii?await E.provideInlineCompletions(t,e,i,n):await((H=E.provideInlineEdits)==null?void 0:H.call(E,t,e,i,n))}catch(ie){ss(ie);return}})().then(H=>$.complete(H),H=>$.error(H)),$.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 hj(P,E.provider);k.push(A);for(const $ of P.items){const H=Fv.from($,A,r,t,s);x.set(H.hash(),H)}}return new uj(Array.from(x.values()),new Set(x.keys()),k)}class uj{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 hj{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?G.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=zI(r,c.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(c=new G(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=zI(e.insertText.snippet,c.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(c=new G(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 Co?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:c})}else l2(e.insertText);return new Fv(r,e.command,c,r,a,e.additionalTextEdits||nj(),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 fj(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new G(o.lineNumber,t.startColumn,o.lineNumber,i):G.fromPositions(o,o.with(void 0,i))}function zI(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?cj(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=G.fromPositions(r,o.range.getEndPosition());return new wl(c,a)}function zR(o,e){return o.text.startsWith(e.text)&&gj(o.range,e.range)}function VI(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=zs(r).length;if(s.range.startColumn-1<=a){const m=zs(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=G.fromPositions(P,E),$=s.text.startsWith(x)?s.text.substring(x.length):s.text.substring(m);s=new wl(A,$)}const u=e.getValueInRange(s.range),f=pj(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 gj(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let va;function pj(o,e){if((va==null?void 0:va.originalValue)===o&&(va==null?void 0:va.newValue)===e)return va==null?void 0:va.changes;{let t=$I(o,e,!0);if(t){const i=jI(t);if(i>0){const n=$I(o,e,!1);n&&jI(n)<i&&(t=n)}}return va={originalValue:o,newValue:e,changes:t},t}}function jI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function $I(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 c2({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var _j=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},UI=function(o,e){return function(t,i){e(t,i,o)}};let XC=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 $o),this.inlineCompletions=xS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=xS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new vj(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 Ts,c=(async()=>{if((r||t.triggerKind===gl.Automatic)&&await mj(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 BR(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 yj(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 bj(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()}};XC=_j([UI(3,ni),UI(4,xs)],XC);function mj(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 vj{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&d2(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,h2())&&(e.context.triggerKind===gl.Automatic||this.context.triggerKind===gl.Explicit)&&this.versionId===e.versionId}}class bj{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class yj{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 qI(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 qI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class qI{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:G.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Gw)}toSingleTextEdit(e){return new wl(this._updatedRange.read(e)??Gw,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)&&!!u2(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)??Gw,this.inlineCompletion.filterText)}}const Gw=new G(1,1,1,1),xi={Visible:J0,HasFocusedSuggestion:new an("suggestWidgetHasFocusedSuggestion",!1,C("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new an("suggestWidgetDetailsVisible",!1,C("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new an("suggestWidgetMultipleSuggestions",!1,C("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new an("suggestionMakesTextEdit",!0,C("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new an("acceptSuggestionOnEnter",!0,C("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new an("suggestionHasInsertAndReplaceRange",!1,C("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new an("suggestionInsertMode",void 0,{type:"string",description:C("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new an("suggestionCanResolve",!1,C("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},hc=new Ot("suggestWidgetStatusBar");class wj{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,G.isIRange(t.range)?(this.editStart=new ii(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new ii(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new ii(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||G.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new ii(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new ii(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new ii(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||G.spansMultipleLines(t.range.insert)||G.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 Do(!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 Sj{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function rk(o,e,t,i=Np.default,n={triggerKind:0},s=Wi.None){const r=new Do;t=t.clone();const a=e.getWordAtPosition(t),c=a?new G(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):G.fromPositions(t),u={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},f=[],g=new ct,p=[];let w=!1;const m=(k,E,P)=>{var $;let A=!1;if(!E)return A;for(const H of E.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&(($=H==null?void 0:H.tags)!=null&&$.includes(1)))continue;H.range||(H.range=u),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!w&&H.insertTextRules&&H.insertTextRules&4&&(w=xu.guessNeedsClipboard(H.insertText)),f.push(new wj(t,H,E,k)),A=!0}return pT(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($=>f.push($)),E=E||A.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const A=new Do,$=await P.provideCompletionItems(e,t,n,s);E=m(P,$,A)||E}catch(A){ss(A)}})),E||s.isCancellationRequested)break}return await x,s.isCancellationRequested?(g.dispose(),Promise.reject(new _y)):new Sj(f.sort(kj(i.snippetSortOrder)),w,{entries:p,elapsed:r.elapsed()},g)}function ak(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 Cj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return ak(o,e)}function xj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return ak(o,e)}const Qy=new Map;Qy.set(0,Cj);Qy.set(2,xj);Qy.set(1,ak);function kj(o){return Qy.get(o)}Hn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;bn(Tn.isUri(t)),bn(ii.isIPosition(i)),bn(typeof n=="string"||!n),bn(typeof s=="number"||!s);const{completionProvider:r}=o.get(ni),a=await o.get(ua).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await rk(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(Wi.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 Lj(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 GI(o,e=gy){return f2(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var Ij=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)}};class KI{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 ZI{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=zs(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Co&&(a=zs(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 XI{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 g2(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(i0(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 YI{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=>!p2(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=Ij([Dj(2,xs)],Hv);const Ca=class Ca{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 Ca.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Ca.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Ca.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Ca.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}}};Ca.dayNames=[C("Sunday","Sunday"),C("Monday","Monday"),C("Tuesday","Tuesday"),C("Wednesday","Wednesday"),C("Thursday","Thursday"),C("Friday","Friday"),C("Saturday","Saturday")],Ca.dayNamesShort=[C("SundayShort","Sun"),C("MondayShort","Mon"),C("TuesdayShort","Tue"),C("WednesdayShort","Wed"),C("ThursdayShort","Thu"),C("FridayShort","Fri"),C("SaturdayShort","Sat")],Ca.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")],Ca.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=Ca;class QI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=_2(this._workspaceService.getWorkspace());if(!m2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(pL(e))return jg(e.uri.path);let t=jg(e.configPath.path);return t.endsWith(_L)&&(t=t.substr(0,t.length-_L.length-1)),t}_resoveWorkspacePath(e){if(pL(e))return GI(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?GI(i):"/"}}class JI{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 Ej=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},Tj=function(o,e){return function(t,i){e(t,i,o)}},Vr;const fr=class fr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=mL(t.placeholders,sr.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=G.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?fr._decor.inactiveFinal:fr._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(Xn.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 wi(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?fr._decor.activeFinal:fr._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?fr._decor.activeFinal:fr._decor.active),s.add(f)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?fr._decor.inactiveFinal:fr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof sr){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=G.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,fr._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=mL(this._snippet.placeholders,sr.compareByIndex)})}};fr._decor={active:Qi.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Qi.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Qi.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Qi.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Bv=fr;const eD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let zv=Vr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=zs(r,0,t.column-1);let c;return n.walk(u=>{if(!(u instanceof Co)||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 Co(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=wi.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($=>$.get(df)),m=e.invokeWithinContext($=>new XI($.get(pp),p)),x=()=>a,k=p.getValueInRange(Vr.adjustSelection(p,e.getSelection(),i,0)),E=p.getValueInRange(Vr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),A=e.getSelections().map(($,H)=>({selection:$,idx:H})).sort(($,H)=>G.compareRangesUsingStarts($.selection,H.selection));for(const{selection:$,idx:H}of A){let ie=Vr.adjustSelection(p,$,i,0),J=Vr.adjustSelection(p,$,0,n);k!==p.getValueInRange(ie)&&(ie=$),E!==p.getValueInRange(J)&&(J=$);const ue=$.setStartPosition(ie.startLineNumber,ie.startColumn).setEndPosition(J.endLineNumber,J.endColumn),he=new xu().parse(t,!0,s),We=ue.getStartPosition(),xe=Vr.adjustWhitespace(p,We,r||H>0&&P!==p.getLineFirstNonWhitespaceColumn($.positionLineNumber),he);he.resolveVariables(new KI([m,new YI(x,H,A.length,e.getOption(79)==="spread"),new ZI(p,$,H,c),new Hv(p,$,u),new Wv,new QI(w),new JI])),f[H]=Xn.replace(ue,he.toString()),f[H].identifier={major:H,minor:0},f[H]._isTracked=!0,g[H]=new Bv(e,he,xe)}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 KI([e.invokeWithinContext(m=>new XI(m.get(pp),u)),new YI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new ZI(u,e.getSelection(),0,r),new Hv(u,e.getSelection(),a),new Wv,new QI(e.invokeWithinContext(m=>m.get(df))),new JI]);t=t.sort((m,x)=>G.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 H=t[m-1].range,ie=G.fromPositions(H.getEndPosition(),x.getStartPosition()),J=new Co(u.getValueInRange(ie));g.appendChild(J),w+=J.value.length}const E=f.parseFragment(k,g);Vr.adjustWhitespace(u,x.getStartPosition(),!0,g,new Set(E)),g.resolveVariables(p);const P=g.toString(),A=P.slice(w);w=P.length;const $=Xn.replace(x,A);$.identifier={major:m,minor:0},$._isTracked=!0,c.push($)}return f.ensureFinalTabstop(g,i,!0),{edits:c,snippets:[new Bv(e,g,"")]}}constructor(e,t,i=eD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Js(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"?Vr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Vr.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=>wi.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=eD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Vr.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=>wi.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(G.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(G.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(G.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};zv=Vr=Ej([Tj(3,xs)],zv);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},um=function(o,e){return function(t,i){e(t,i,o)}},yh;const tD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Pa;let so=(Pa=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 ct,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"?tD:{...tD,...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?(bn(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()||!ii.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(()=>{Lj(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=Pa,Pa.ID="snippetController2",Pa.InSnippetMode=new an("inSnippetMode",!1,C("inSnippetMode","Whether the editor in current in snippet mode")),Pa.HasNextTabstop=new an("hasNextTabstop",!1,C("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Pa.HasPrevTabstop=new an("hasPrevTabstop",!1,C("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Pa);so=yh=Pj([um(1,Hu),um(2,ni),um(3,mn),um(4,xs)],so);$i(so.ID,so,4);const Jy=mo.bindToContribution(so.get);oi(new Jy({id:"jumpToNextSnippetPlaceholder",precondition:ye.and(so.InSnippetMode,so.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:F.textInputFocus,primary:2}}));oi(new Jy({id:"jumpToPrevSnippetPlaceholder",precondition:ye.and(so.InSnippetMode,so.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:F.textInputFocus,primary:1026}}));oi(new Jy({id:"leaveSnippet",precondition:so.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:F.textInputFocus,primary:9,secondary:[1033]}}));oi(new Jy({id:"acceptSnippet",precondition:so.InSnippetMode,handler:o=>o.finish()}));var Mj=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},Kw=function(o,e){return function(t,i){e(t,i,o)}};let YC=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(XC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Vo(this,!1),this._forceUpdateExplicitlySignal=a0(this),this._selectedInlineCompletionId=Vo(this,void 0),this._primaryPosition=Ln(this,m=>this._positions.read(m)[0]??new ii(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tl.Redo,tl.Undo,tl.AcceptWord]),this._fetchInlineCompletionsPromise=_T({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 J=this._source.inlineCompletions.get();Fu(ue=>{(!J||E.request.versionId>J.request.versionId)&&this._source.inlineCompletions.set(E.clone(),ue),this._source.clearSuggestWidgetInlineCompletions(ue)})}const A=this._primaryPosition.read(m),$={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),ie=x.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(A,$,ie)}),this._filteredInlineCompletionItems=al({owner:this,equalsFn:kS()},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=Ln(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=Ln(this,m=>{const x=this._filteredInlineCompletionItems.read(m),k=this.selectedInlineCompletionIndex.read(m);return x[k]}),this.activeCommands=al({owner:this,equalsFn:kS()},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=Ln(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:FI(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 $=(P==null?void 0:P.edit)??E,H=P?P.edit.text.length-E.text.length:0,ie=this._suggestPreviewMode.read(m),J=this._positions.read(m),ue=[$,...Zw(this.textModel,J,$)],he=ue.map((xe,rt)=>VI(xe,x,ie,J[rt],H)).filter(Im),We=he[0]??new Rp($.range.endLineNumber,[]);return{edits:ue,primaryGhostText:We,ghostTexts:he,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),$=this._positions.read(m),H=[P,...Zw(this.textModel,$,P)],ie=H.map((J,ue)=>VI(J,x,A,$[ue],0)).filter(Im);return ie[0]?{edits:H,primaryGhostText:ie[0],ghostTexts:ie,inlineCompletion:E,suggestItem:void 0}:void 0}}),this.ghostTexts=al({owner:this,equalsFn:FI},m=>{const x=this.state.read(m);if(x)return x.ghostTexts}),this.primaryGhostText=al({owner:this,equalsFn:FR},m=>{const x=this.state.read(m);if(x)return x==null?void 0:x.primaryGhostText}),this._register(mT(this._fetchInlineCompletionsPromise));let w;this._register(Gn(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,$=A.source;(P=(E=$.provider).handleItemDidShow)==null||P.call(E,$.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 v2(s,a=>{let c=a.toSingleTextEdit(t);return c=Id(c,i,G.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),zR(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",[Xn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=so.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=iD(s).map(a=>wi.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Xn.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,ss),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 ii(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=G.fromPositions(w,c),x=e.getModel().getValueInRange(m)+g,k=new wl(m,x),E=[k,...Zw(this.textModel,p,k)],P=iD(E).map(A=>wi.fromPositions(A));e.executeEdits("inlineSuggestion.accept",E.map(A=>Xn.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=G.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})}};YC=Mj([Kw(9,Mi),Kw(10,Cs),Kw(11,xs)],YC);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 Zw(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(G.fromPositions(i,r)),c=HI(i,s);if(c.lineNumber<1)return Rn(new vf(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
-
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=Rj(t.text,c);return n.map(f=>{const g=sj(HI(f,s),r),p=o.getValueInRange(G.fromPositions(f,g)),w=m_(a,p),m=G.fromPositions(f,f.delta(0,w));return new wl(m,u)})}function Rj(o,e){let t="";const i=y2(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 iD(o){const e=b2.createSortPermutation(o,p_(s=>s.range,G.compareRangesUsingStarts)),i=new lT(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var Nj=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},nD=function(o,e){return function(t,i){e(t,i,o)}},Pg;class lk{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 sD extends lk{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class Aj extends lk{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:l0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class Oj extends lk{constructor(){super("recentlyUsedByPrefix"),this._trie=w2.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:l0.fromString(i.type),this._trie.set(t,i)}}}var wc;let QC=(wc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new ct,this._persistSoon=new ms(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Qx.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)||sD;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",Oj],["recentlyUsed",Aj],["first",sD]]),wc._storagePrefix="suggest/memories",wc);QC=Pg=Nj([nD(0,Wc),nD(1,$n)],QC);const ew=Tl("ISuggestMemories");Pl(ew,QC,1);var Fj=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},Hj=function(o,e){return function(t,i){e(t,i,o)}},JC,Kd;let Vv=(Kd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=JC.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)}},JC=Kd,Kd.AtEnd=new an("atEndOfWord",!1),Kd);Vv=JC=Fj([Hj(1,mn)],Vv);var Wj=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},Bj=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 an("hasOtherSuggestions",!1),Zd);Nf=Mg=Wj([Bj(1,mn)],Nf);class zj{constructor(e,t,i,n){this._disposables=new ct,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||!zo(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 Qo=class Qo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Qo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Qo._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>=Qo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Qo._maxDuration){setTimeout(()=>Qo._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 vT,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>=Qo._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-c>Qo._maxDuration){setTimeout(()=>Qo._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=G.fromPositions(u.range.getEndPosition(),m.getStartPosition()),k=G.fromPositions(u.range.getStartPosition(),m.getEndPosition());r.push({range:x}),r.push({range:k}),Qo._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:G.fromPositions(new ii(n,s),t.getEndPosition())}),i.push({range:G.fromPositions(new ii(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:G.fromPositions(new ii(r,a),t.getEndPosition())}),i.push({range:G.fromPositions(new ii(r,1),t.getEndPosition())}))}}};Qo._maxDuration=30,Qo._maxRounds=2;let jv=Qo;const xa=class xa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return xa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return xa.None;const[s]=await new jv().provideSelectionRanges(i,[n]);if(s.length===0)return xa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return xa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends xa{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(S2(g))return 2<<20;const p=ov(g,G.fromPositions(c),G.compareRangesUsingStarts),w=p>=0?g[p]:g[Math.max(0,~p-1)];let m=s.length;for(const x of s){if(!G.containsRange(x.range,w))break;m-=1}return m}}}};xa.None=new class extends xa{distance(){return 0}};let $v=xa,oD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Yl{constructor(e,t,i,n,s,r,a=bT.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?yT:C2;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;x2(f.completion.filterText,f.textLabel)===0?f.score=x:(f.score=k2(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?L2(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 Vj=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)}},e1;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 jj(o,e,t){if(!e.getContextKeyValue(Io.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Io.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function $j(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Io.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Uv=e1=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 ct,this._triggerCharacterListener=new ct,this._triggerQuickSuggest=new a_,this._triggerState=void 0,this._completionDisposables=new ct,this._onDidCancel=new Hi,this._onDidTrigger=new Hi,this._onDidSuggest=new Hi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new wi(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(){Js(this._triggerCharacterListener),Js([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(!$j(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="";D2(i.charCodeAt(i.length-1))?E2(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=so.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}jj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){bn(this._editor.hasModel()),bn(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 Ts;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}=e1.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=rk(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([x,k])=>{var H;if((H=this._requestToken)==null||H.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),$={...bT.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),$,E),this._completionDisposables.add(x.disposable),this._onNewContext(A),this._reportDurationsTelemetry(x.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const ie of x.items)ie.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ie.provider._debugDisplayName}`,ie.completion)}).catch(Rn)}_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(zs(e.leadingLineContent)!==zs(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=e1=Vj([Vl(1,Ml),Vl(2,zf),Vl(3,ca),Vl(4,Hu),Vl(5,mn),Vl(6,$n),Vl(7,ni),Vl(8,I2)],Uv);const Ob=class Ob{constructor(e,t){this._disposables=new ct,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 t1=Ob;var Uj=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},Xw=function(o,e){return function(t,i){e(t,i,o)}};let i1=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new ct,this.element=Ht(e,Gt(".suggest-status-bar"));const r=(a=>a instanceof mf?i.createInstance(T2,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()}};i1=Uj([Xw(2,Mi),Xw(3,Ou),Xw(4,mn)],i1);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},Gj=function(o,e){return function(t,i){e(t,i,o)}};function ck(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let n1=class{constructor(e,t){this._editor=e,this._onDidClose=new Hi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Hi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new ct,this._renderDisposeable=new ct,this._borderWidth=1,this._size=new An(330,0),this.domNode=Gt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance($f,{editor:e}),this._body=Gt(".body"),this._scrollbar=new wT(this._body,{alwaysConsumeMouseWheel:!0}),Ht(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Ht(this._body,Gt(".header")),this._close=Ht(this._header,Gt("span"+Sn.asCSSSelector(Li.close))),this._close.title=C("details.close","Close"),this._type=Ht(this._header,Gt("p.type")),this._docs=Ht(this._body,Gt("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 Ys().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!ck(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,Sr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Fa(this._type),this._type.title="",Oo(this._type),this.domNode.classList.add("no-type");if(Fa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Fa(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 An(e,t);An.equals(i,this._size)||(this._size=i,P2(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}};n1=qj([Gj(1,Mi)],n1);class Kj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new ct,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new V0,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 An(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),ie=-s.borderWidth+e.left+e.width,J=new An(H,n.height-e.top-s.borderHeight-s.verticalPadding),ue=J.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ie,fit:H-t.width,maxSizeTop:J,maxSizeBottom:ue,minSize:r.with(Math.min(H,r.width))}})(),u=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,ie=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),J=new An(H,n.height-e.top-s.borderHeight-s.verticalPadding),ue=J.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ie,fit:H-t.width,maxSizeTop:J,maxSizeBottom:ue,minSize:r.with(Math.min(H,r.width))}})(),f=(function(){const H=e.left,ie=-s.borderWidth+e.top+e.height,J=new An(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:ie,left:H,fit:J.height-t.height,maxSizeBottom:J,maxSizeTop:J,minSize:r.with(J.width)}})(),g=[c,u,f],p=g.find(H=>H.fit>=0)??g.sort((H,ie)=>ie.fit-H.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 $=this._editor.getDomNode();if($){const H=$.getBoundingClientRect();P-=H.top,A-=H.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 Aa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Aa||(Aa={}));const Zj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function hm(o,e,t,i,n){if(Sn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(Tn.isUri(n))return[];const s=i===Aa.ROOT_FOLDER?["rootfolder-icon"]:i===Aa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===uo.data)r=rv.parseMetaData(t).get(rv.META_DATA_LABEL);else{const a=t.path.match(Zj);a?(r=fm(a[2].toLowerCase()),a[1]&&s.push(`${fm(a[1].toLowerCase())}-name-dir-icon`)):r=fm(t.authority.toLowerCase())}if(i===Aa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Aa.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=Xj(o,e,t);a&&s.push(`${fm(a)}-lang-file-icon`)}}return s}function Xj(o,e,t){if(!t)return null;let i=null;if(t.scheme===uo.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 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},Yw=function(o,e){return function(t,i){e(t,i,o)}};function VR(o){return`suggest-aria-id:${o}`}const Qj=ts("suggest-more-info",Li.chevronRight,C("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Qr;const Jj=new(Qr=class{extract(e,t){if(e.textLabel.match(Qr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Qr._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=Qr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Qr._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*\))/,Qr._regexStrict=new RegExp(`^${Qr._regexRelaxed.source}$`,"i"),Qr);let s1=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new Hi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new ct,i=e;i.classList.add("show-file-icons");const n=Ht(e,Gt(".icon")),s=Ht(n,Gt("span.colorspan")),r=Ht(e,Gt(".contents")),a=Ht(r,Gt(".main")),c=Ht(a,Gt(".icon-label.codicon")),u=Ht(a,Gt("span.left")),f=Ht(a,Gt("span.right")),g=new BE(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=Ht(u,Gt("span.signature-label")),w=Ht(u,Gt("span.qualifier-label")),m=Ht(f,Gt("span.details-label")),x=Ht(f,Gt("span.readMore"+Sn.asCSSSelector(Qj)));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(),$=P.fontFeatureSettings,H=E.get(120)||P.fontSize,ie=E.get(121)||P.lineHeight,J=P.fontWeight,ue=P.letterSpacing,he=`${H}px`,We=`${ie}px`,xe=`${ue}px`;i.style.fontSize=he,i.style.fontWeight=J,i.style.letterSpacing=xe,a.style.fontFamily=A,a.style.fontFeatureSettings=$,a.style.lineHeight=We,n.style.height=We,n.style.width=We,x.style.height=We,x.style.width=We}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=VR(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Cy(e.score)},r=[];if(n.kind===19&&Jj.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,Tn.from({scheme:"fake",path:e.textLabel}),Aa.FILE),c=hm(this._modelService,this._languageService,Tn.from({scheme:"fake",path:n.detail}),Aa.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,Tn.from({scheme:"fake",path:e.textLabel}),Aa.FOLDER),hm(this._modelService,this._languageService,Tn.from({scheme:"fake",path:n.detail}),Aa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Sn.asClassNameArray(l0.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=Qw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Qw(n.label.detail||""),i.detailsLabel.textContent=Qw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Sr(i.detailsLabel):Oo(i.detailsLabel),ck(e)?(i.right.classList.add("can-expand-details"),Sr(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"),Oo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};s1=Yj([Yw(1,ro),Yw(2,da),Yw(3,Mr)],s1);function Qw(o){return o.replace(/\r\n|\r|\n/g,"")}var e6=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;Kt("editorSuggestWidget.background",ST,C("editorSuggestWidgetBackground","Background color of the suggest widget."));Kt("editorSuggestWidget.border",M2,C("editorSuggestWidgetBorder","Border color of the suggest widget."));const t6=Kt("editorSuggestWidget.foreground",__,C("editorSuggestWidgetForeground","Foreground color of the suggest widget."));Kt("editorSuggestWidget.selectedForeground",CT,C("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));Kt("editorSuggestWidget.selectedIconForeground",R2,C("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const i6=Kt("editorSuggestWidget.selectedBackground",xT,C("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));Kt("editorSuggestWidget.highlightForeground",kT,C("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));Kt("editorSuggestWidget.focusHighlightForeground",N2,C("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));Kt("editorSuggestWidgetStatus.foreground",Ha(t6,.5),C("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class n6{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Pr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(An.is(t))return An.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 o1=(Sc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new $o,this._pendingShowDetails=new $o,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new a_,this._disposables=new ct,this._onDidSelect=new vL,this._onDidFocus=new vL,this._onDidHide=new Hi,this._onDidShow=new Hi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Hi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new V0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new s6(this,e),this._persistedSize=new n6(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 An(P,A))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=Ht(this.element.domNode,Gt(".message")),this._listElement=Ht(this.element.domNode,Gt(".tree"));const c=this._disposables.add(s.createInstance(n1,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Kj(c,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(s1,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Zx("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=r0("{0}{1}",x||"",m?typeof m=="string"?m:m.value:"");return C("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",w,k)}}}),this._list.style(LT({listInactiveFocusBackground:i6,listInactiveFocusOutline:_u})),this._status=s.createInstance(i1,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=xi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=xi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=xi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=xi.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=Es(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:VR(i)}))}).catch(Rn)),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:Oo(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,Oo(this._listElement,this._status.element),Sr(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,Oo(this._listElement,this._status.element),Sr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ff(wh.NO_SUGGESTIONS_MESSAGE);break;case 3:Oo(this._messageElement),Sr(this._listElement,this._status.element),this._show();break;case 4:Oo(this._messageElement),Sr(this._listElement,this._status.element),this._show();break;case 5:Oo(this._messageElement),Sr(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=bL(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")):(ck(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=bL(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 An(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=fo(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 An(u,i.defaultSize.height),this.element.maxSize=new An(c,P),this.element.minSize=new An(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=A2(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 An(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);o1=wh=e6([gm(1,Wc),gm(2,mn),gm(3,Mr),gm(4,Mi)],o1);class s6{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 An(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 o6=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)}},r1;class r6{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Qi.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(G.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 xr=(Xd=class{static get(e){return e.getContribution(r1.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 $o,this._toDispose=new ct,this._selectors=new a6(g=>g.priority),this._onWillInsertSuggestItem=new Hi,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=xi.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 ww(bd(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(o1,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(k=>this._insertSuggestion(k,0),this));const p=new zj(this.editor,g,this.model,k=>this._insertSuggestion(k,2));this._toDispose.add(p);const w=xi.MakesTextEdit.bindTo(this._contextKeyService),m=xi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),x=xi.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 $=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!k.completion.additionalTextEdits&&!(k.completion.insertTextRules&4)&&A-P===k.completion.insertText.length&&($=this.editor.getModel().getValueInRange({startLineNumber:E.lineNumber,startColumn:P,endLineNumber:E.lineNumber,endColumn:A})!==k.completion.insertText),w.set($),m.set(!ii.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 yL(!0,!1,!1,!1,33))||za&&k.toKeyCodeChord().equals(new yL(!1,!1,!1,!0,33))){k.stopPropagation();return}k.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new ww(bd(e.getDomNode()),()=>this._toDispose.add(new t1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new ww(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 r6(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=xi.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=so.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 Ts;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=G.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=G.spansMultipleLines(k)?0:E;k=new G(k.startLineNumber,k.startColumn+P,k.endLineNumber,k.endColumn+A)}return Xn.replaceMove(k,x.text)})),m.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const m=new Do;let x;const k=n.onDidChangeContent($=>{if($.isFlush){c.cancel(),k.dispose();return}for(const H of $.changes){const ie=G.getEndPosition(H.range);(!x||ii.isBefore(ie,x))&&(x=ie)}}),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(H=>ii.isBefore(x,G.getStartPosition(H.range))))return!1;P&&this.editor.pushUndoStop();const $=gf.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Xn.replaceMove(G.lift(H.range),H.text))),$.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(E&2))&&this.editor.pushUndoStop(),!0}).then($=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",m.elapsed(),$),p=$===!0?1:$===!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 Do;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(x=>{r.completion.extensionId?ss(x):Rn(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:iT(Va(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:O2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){bn(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(zo(e.completion.additionalTextEdits)){const t=C("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Er(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};_s.once(this.model.onDidTrigger)(s=>{const r=[];_s.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Js(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Js(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)}},r1=Xd,Xd.ID="editor.contrib.suggestController",Xd);xr=r1=o6([lh(1,ew),lh(2,Cs),lh(3,mn),lh(4,Mi),lh(5,Hu),lh(6,ca)],xr);class a6{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:ye.and(F.writable,F.hasCompletionItemProvider,xi.Visible.toNegated()),kbOpts:{kbExpr:F.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=xr.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;$i(xr.ID,xr,2);ce(qv);const Uo=190,lo=mo.bindToContribution(xr.get);oi(new lo({id:"acceptSelectedSuggestion",precondition:ye.and(xi.Visible,xi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ye.and(xi.Visible,F.textInputFocus),weight:Uo},{primary:3,kbExpr:ye.and(xi.Visible,F.textInputFocus,xi.AcceptSuggestionsOnEnter,xi.MakesTextEdit),weight:Uo}],menuOpts:[{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:xi.HasInsertAndReplaceRange.toNegated()},{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:ye.and(xi.HasInsertAndReplaceRange,xi.InsertMode.isEqualTo("insert"))},{menuId:hc,title:C("accept.replace","Replace"),group:"left",order:1,when:ye.and(xi.HasInsertAndReplaceRange,xi.InsertMode.isEqualTo("replace"))}]}));oi(new lo({id:"acceptAlternativeSelectedSuggestion",precondition:ye.and(xi.Visible,F.textInputFocus,xi.HasFocusedSuggestion),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hc,group:"left",order:2,when:ye.and(xi.HasInsertAndReplaceRange,xi.InsertMode.isEqualTo("insert")),title:C("accept.replace","Replace")},{menuId:hc,group:"left",order:2,when:ye.and(xi.HasInsertAndReplaceRange,xi.InsertMode.isEqualTo("replace")),title:C("accept.insert","Insert")}]}));Hn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");oi(new lo({id:"hideSuggestWidget",precondition:xi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:9,secondary:[1033]}}));oi(new lo({id:"selectNextSuggestion",precondition:ye.and(xi.Visible,ye.or(xi.MultipleSuggestions,xi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));oi(new lo({id:"selectNextPageSuggestion",precondition:ye.and(xi.Visible,ye.or(xi.MultipleSuggestions,xi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:12,secondary:[2060]}}));oi(new lo({id:"selectLastSuggestion",precondition:ye.and(xi.Visible,ye.or(xi.MultipleSuggestions,xi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));oi(new lo({id:"selectPrevSuggestion",precondition:ye.and(xi.Visible,ye.or(xi.MultipleSuggestions,xi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));oi(new lo({id:"selectPrevPageSuggestion",precondition:ye.and(xi.Visible,ye.or(xi.MultipleSuggestions,xi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:11,secondary:[2059]}}));oi(new lo({id:"selectFirstSuggestion",precondition:ye.and(xi.Visible,ye.or(xi.MultipleSuggestions,xi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));oi(new lo({id:"focusSuggestion",precondition:ye.and(xi.Visible,xi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));oi(new lo({id:"focusAndAcceptSuggestion",precondition:ye.and(xi.Visible,xi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));oi(new lo({id:"toggleSuggestionDetails",precondition:ye.and(xi.Visible,xi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hc,group:"right",order:1,when:ye.and(xi.DetailsVisible,xi.CanResolve),title:C("detail.more","Show Less")},{menuId:hc,group:"right",order:1,when:ye.and(xi.DetailsVisible.toNegated(),xi.CanResolve),title:C("detail.less","Show More")}]}));oi(new lo({id:"toggleExplainMode",precondition:xi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));oi(new lo({id:"toggleSuggestionFocus",precondition:xi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:2570,mac:{primary:778}}}));oi(new lo({id:"insertBestCompletion",precondition:ye.and(F.textInputFocus,ye.equals("config.editor.tabCompletion","on"),Vv.AtEnd,xi.Visible.toNegated(),Nf.OtherSuggestions.toNegated(),so.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(nT(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Uo,primary:2}}));oi(new lo({id:"insertNextSuggestion",precondition:ye.and(F.textInputFocus,ye.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,xi.Visible.toNegated(),so.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:2}}));oi(new lo({id:"insertPrevSuggestion",precondition:ye.and(F.textInputFocus,ye.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,xi.Visible.toNegated(),so.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Uo,kbExpr:F.textInputFocus,primary:1026}}));ce(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=xr.get(e))==null||t.resetWidgetSize()}});class l6 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 Hi),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=xr.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=ii.lift(c),m=u.map((k,E)=>{const P=Qg.fromSuggestion(n,f,w,k,this.isShiftKeyPressed),A=Id(P.toSingleTextEdit(),f),$=zR(p,A);return{index:E,valid:$,prefixLength:A.text.length,suggestItem:k}}).filter(k=>k&&k.valid&&k.prefixLength>0),x=F2(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(_s.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||!c6(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=xr.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=xr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=xr.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(G.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 H2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function c6(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var d6=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)}},a1,Yd;let or=(Yd=class extends ft{static get(e){return e.getContribution(a1.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=Ea(this.editor),this._positions=Ln(this,p=>{var w;return((w=this._editorObs.selections.read(p))==null?void 0:w.map(m=>m.getEndPosition()))??[new ii(1,1)]}),this._suggestWidgetAdaptor=this._register(new l6(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=So(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(w=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=So(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=So(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Ln(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(YC,w,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,So(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),So(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),So(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Ln(this,p=>{const w=this.model.read(p);return(w==null?void 0:w.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=u6(this._ghostTexts,this._store),this._ghostTextWidgets=W2(this,this._stablizedGhostTexts,(p,w)=>w.add(this._instantiationService.createInstance(ZC,this.editor,{ghostText:p,minReservedLineCount:cl(0),targetTextModel:this.model.map(m=>m==null?void 0:m.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=a0(this),this._fontFamily=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Io(this._contextKeyService,this.model)),this._register(wL(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,XM,"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(wL(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(Gn(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(B2(Ln(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,LS(m)),await z2(this._suggestWidgetSelectedItem,xg,()=>!1,LS(m)),await this._accessibilitySignalService.playSignal(oT.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(k.primaryGhostText.renderForScreenReader(E))})),this._register(new gC(this.editor,this.model,this._instantiationService)),this._register(tj(Ln(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())),Er(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 ii(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},a1=Yd,Yd.ID="editor.contrib.inlineCompletionsController",Yd);or=a1=d6([Ja(1,Mi),Ja(2,mn),Ja(3,$n),Ja(4,Cs),Ja(5,rr),Ja(6,ni),Ja(7,sT),Ja(8,us),Ja(9,wy)],or);function u6(o,e){const t=Vo("result",[]),i=[];return e.add(Gn(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]=Vo("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:ye.and(F.writable,Io.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=or.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Hb.ID=QM;let l1=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:ye.and(F.writable,Io.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=or.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Wb.ID=YM;let c1=Wb;class h6 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=or.get(t);await IT(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 f6 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:ye.and(F.writable,Io.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ye.and(F.writable,Io.inlineSuggestionVisible)},menuOpts:[{menuId:Ot.InlineSuggestionToolbar,title:C("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=or.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class g6 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:ye.and(F.writable,Io.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Ot.InlineSuggestionToolbar,title:C("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=or.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class p6 extends qe{constructor(){super({id:XM,label:C("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Io.inlineSuggestionVisible,menuOpts:[{menuId:Ot.InlineSuggestionToolbar,title:C("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ye.and(Io.inlineSuggestionVisible,F.tabMovesFocus.toNegated(),Io.inlineSuggestionHasIndentationLessThanTabSize,xi.Visible.toNegated(),F.hoverFocused.toNegated())}})}async run(e,t){var n;const i=or.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:Io.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=or.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 d1=Bb;const zb=class zb extends _o{constructor(){super({id:zb.ID,title:C("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Ot.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ye.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 u1=zb;var _6=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 m6{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 h1=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=or.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,G.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=or.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new m6(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new ct,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 ct,n=Gt,s=n("div.hover-row.markdown-hover"),r=Ht(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 Ys().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(Gn(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}};h1=_6([bg(1,da),bg(2,la),bg(3,wy),bg(4,Mi),bg(5,ca)],h1);class v6{}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}};$i(or.ID,or,3);ce(h6);ce(l1);ce(c1);ce(f6);ce(g6);ce(p6);ce(d1);Dn(u1);Vu.register(h1);tw.register(new v6);var b6=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},Jw=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 ct,this.toUnhookForKeyboard=new ct,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=>{Rn(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 DT(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Es(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Rn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?G.lift(n[0].originSelectionRange):new G(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=G.plusRange(a,c));this.addDecoration(a,new Ys().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 Ys().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 G(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 o0)&&(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 go.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=b6([Jw(1,ua),Jw(2,da),Jw(3,ni)],Ap);$i(Ap.ID,Ap,2);var jR=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 rD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let f1=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Hi,this.onDidChange=this._onDidChange.event,this._dispoables=new ct,this._markers=[],this._nextIdx=-1,Tn.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=SL(a.resource.toString(),c.resource.toString());return u===0&&(n==="position"?u=G.compareRangesUsingStarts(a,c)||eo.compare(a.severity,c.severity):u=eo.compare(a.severity,c.severity)||G.compareRangesUsingStarts(a,c)),u},r=()=>{this._markers=this._markerService.read({resource:Tn.isUri(e)?e:void 0,severities:eo.Error|eo.Warning|eo.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 rD(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)=>SL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=G.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new G(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(G.containsPosition(this._markers[i],t))return new rD(this._markers[i],i+1,this._markers.length)}}};f1=jR([Gv(1,Yx),Gv(2,$n)],f1);const $R=Tl("IMarkerNavigationService");let g1=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new vT}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new f1(e,this._markerService,this._configService)}};g1=jR([Gv(0,Yx),Gv(1,$n)],g1);Pl($R,g1,1);var p1;(function(o){function e(t){switch(t){case K_.Ignore:return"severity-ignore "+Sn.asClassName(Li.info);case K_.Info:return Sn.asClassName(Li.info);case K_.Warning:return Sn.asClassName(Li.warning);case K_.Error:return Sn.asClassName(Li.error);default:return""}}o.className=e})(p1||(p1={}));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},ch=function(o,e){return function(t,i){e(t,i,o)}},_1;class w6{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 ct,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 K2(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(){Js(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);Fa(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=Gt("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=Ht(this._codeLink,Gt("span"));w.innerText=s.value,p.appendChild(this._codeLink)}}if(Fa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),zo(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 eo.Error:t=C("Error","Error");break;case eo.Warning:t=C("Warning","Warning");break;case eo.Info:t=C("Info","Info");break;case eo.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 ct,this._onDidSelectRelatedInformation=new Hi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=eo.Warning,this._backgroundColor=Yi.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(k6);let t=m1,i=S6;this._severity===eo.Warning?(t=Vm,i=C6):this._severity===eo.Info&&(t=v1,i=x6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(lR),secondaryHeadingColor:e.getColor(cR)})}_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(_1.TitleMenu,this._contextKeyService);e0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=Ht(e,Gt(""))}_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 w6(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=G.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(Va(a.uri),c)}this._icon.className=`codicon ${p1.className(eo.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()}},_1=Qd,Qd.TitleMenu=new Ot("gotoErrorTitleMenu"),Qd);Op=_1=y6([ch(1,Mr),ch(2,la),ch(3,Ou),ch(4,Mi),ch(5,mn),ch(6,pp)],Op);const aD=c0(j2,V2),lD=c0(U2,$2),cD=c0(yS,q2),m1=Kt("editorMarkerNavigationError.background",{dark:aD,light:aD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationError","Editor marker navigation widget error color.")),S6=Kt("editorMarkerNavigationError.headerBackground",{dark:Ha(m1,.1),light:Ha(m1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Vm=Kt("editorMarkerNavigationWarning.background",{dark:lD,light:lD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),C6=Kt("editorMarkerNavigationWarning.headerBackground",{dark:Ha(Vm,.1),light:Ha(Vm,.1),hcDark:"#0C141F",hcLight:Ha(Vm,.2)},C("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),v1=Kt("editorMarkerNavigationInfo.background",{dark:cD,light:cD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),x6=Kt("editorMarkerNavigationInfo.headerBackground",{dark:Ha(v1,.1),light:Ha(v1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),k6=Kt("editorMarkerNavigation.background",G2,C("editorMarkerNavigationBackground","Editor marker navigation widget background."));var L6=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 ct,this._editor=e,this._widgetVisible=UR.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)||!G.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:G.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 ii(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=L6([pm(1,$R),pm(2,mn),pm(3,os),pm(4,Mi)],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:ts("marker-navigation-next",Li.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:ts("marker-navigation-previous",Li.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 b1=ad;class I6 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:Ot.MenubarGoMenu,title:C({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class D6 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:Ot.MenubarGoMenu,title:C({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}$i(Pu.ID,Pu,4);ce(Kv);ce(b1);ce(I6);ce(D6);const UR=new an("markersNavigationVisible",!1),E6=mo.bindToContribution(Pu.get);oi(new E6({id:"closeMarkersNavigation",precondition:UR,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:F.focus,primary:9,secondary:[1033]}}));var Ur;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Ur||(Ur={}));class T6 extends qe{constructor(){super({id:ZM,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:Qt("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:[Ur.NoAutoFocus,Ur.FocusIfVisible,Ur.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:Ur.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:ds(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Gs.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Ur.FocusIfVisible;Object.values(Ur).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Ur.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new G(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},c=t.getOption(2)===2;n.isHoverVisible?r!==Ur.NoAutoFocus?n.focus():a(c):a(c||r===Ur.AutoFocusImmediately)}}class P6 extends qe{constructor(){super({id:KB,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:Qt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Gs.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new G(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 M6 extends qe{constructor(){super({id:ZB,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:Qt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollUp()}}class R6 extends qe{constructor(){super({id:XB,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:Qt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollDown()}}class N6 extends qe{constructor(){super({id:YB,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:Qt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollLeft()}}class A6 extends qe{constructor(){super({id:QB,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:Qt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollRight()}}class O6 extends qe{constructor(){super({id:JB,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:Qt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.pageUp()}}class F6 extends qe{constructor(){super({id:e4,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:Qt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.pageDown()}}class H6 extends qe{constructor(){super({id:t4,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:Qt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.goToTop()}}class W6 extends qe{constructor(){super({id:i4,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:Qt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.goToBottom()}}class B6 extends qe{constructor(){super({id:$y,label:n4,alias:"Increase Hover Verbosity Level",precondition:F.hoverVisible})}run(e,t,i){const n=Gs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(nr.Increase,s,i==null?void 0:i.focus)}}class z6 extends qe{constructor(){super({id:Uy,label:s4,alias:"Decrease Hover Verbosity Level",precondition:F.hoverVisible})}run(e,t,i){var r;const n=Gs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Gs.get(t))==null||r.updateHoverVerbosityLevel(nr.Decrease,s,i==null?void 0:i.focus)}}var V6=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)}};const cr=Gt;class j6{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 dD={type:1,filter:{include:On.QuickFix},triggerAction:Eo.QuickFixHover};let y1=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 G(e.range.startLineNumber,c,e.range.startLineNumber,u);r.push(new j6(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Du([]);const i=new ct,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)=>eo.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Du(n)}_renderMarkerHover(e){const t=new ct,i=cr("div.hover-row"),n=Ht(i,cr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const u=Ht(n,cr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=cr("span");if(s){const x=Ht(g,cr("span"));x.innerText=s}const p=Ht(g,cr("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=Ht(p,cr("span"));w.innerText=a.value;const m=Ht(n,g);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{const g=Ht(n,cr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(zo(c))for(const{message:g,resource:p,startLineNumber:w,startColumn:m}of c){const x=Ht(n,cr("div"));x.style.marginTop="8px";const k=Ht(x,cr("a"));k.innerText=`${Va(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(Rn)}}));const E=Ht(x,cr("span"));E.innerText=g,this._editor.applyFontInfo(E)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===eo.Error||t.marker.severity===eo.Warning||t.marker.severity===eo.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(cr("div"));this.recentMarkerCodeActionsInfo&&(CL.makeKey(this.recentMarkerCodeActionsInfo.marker)===CL.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:H0,run:u=>{c=!0;const f=Lf.get(this._editor),g=fo(u);e.hide(),f==null||f.showCodeActions(dD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},Rn)}}getCodeActions(e){return Es(t=>Ih(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new G(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),dD,ll.None,t))}};y1=V6([eS(1,Z2),eS(2,la),eS(3,ni)],y1);class $6{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(...WE(c).map(e))}return i}}var U6=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},uD=function(o,e){return function(t,i){e(t,i,o)}},w1;const hD=Gt;var eu;let S1=(eu=class extends ft{constructor(e,t,i){super(),this._renderDisposeables=this._register(new ct),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new HE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new $f({editor:this._editor},t,i)),this._computer=new $6(this._editor),this._hoverOperation=this._register(new JM(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 w1.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=hD("div.hover-row.markdown-hover"),r=Ht(s,hD("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()}},w1=eu,eu.ID="editor.contrib.modesGlyphHoverWidget",eu);S1=w1=U6([uD(1,da),uD(2,la)],S1);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},G6=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 ct,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new ms(()=>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(S1,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=q6([G6(1,Mi)],Zv);class K6{}class Z6{}class X6{}$i(Gs.ID,Gs,2);$i(Zv.ID,Zv,2);ce(T6);ce(P6);ce(M6);ce(R6);ce(N6);ce(A6);ce(O6);ce(F6);ce(H6);ce(W6);ce(B6);ce(z6);Vu.register(Tp);Vu.register(y1);vy((o,e)=>{const t=o.getColor(X2);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 K6);tw.register(new Z6);tw.register(new X6);function wo(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 qR(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 Y2(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=zs(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(Y6(o,x))continue;const k=o.getLineContent(x),E=zs(k),P=m;s.shouldDecrease(x,P)&&(m=f(m),w=f(w)),E!==m&&g.push(Xn.replaceMove(new wi(x,1,x,E.length+1),Q2(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 Y6(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}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},J6=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:Qt("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 s5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Vb.ID="editor.action.indentationToSpaces";let C1=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:Qt("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 o5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};jb.ID="editor.action.indentationToTabs";let x1=jb;class dk 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(ro),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 dk{constructor(){super(!1,!1,{id:$b.ID,label:C("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Qt("indentUsingTabsDescription","Use indentation with tabs.")}})}};$b.ID="editor.action.indentUsingTabs";let k1=$b;const Ub=class Ub extends dk{constructor(){super(!0,!1,{id:Ub.ID,label:C("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Qt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Ub.ID="editor.action.indentUsingSpaces";let L1=Ub;const qb=class qb extends dk{constructor(){super(!0,!0,{id:qb.ID,label:C("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Qt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};qb.ID="editor.action.changeTabDisplaySize";let I1=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:Qt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(ro),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 D1=Gb;class e5 extends qe{constructor(){super({id:"editor.action.reindentlines",label:C("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:F.writable,metadata:{description:Qt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=qR(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class t5 extends qe{constructor(){super({id:"editor.action.reindentselectedlines",label:C("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:F.writable,metadata:{description:Qt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(xs),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=qR(n,i,c,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class i5{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(G.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 ct,this.callOnModel=new ct,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)||n5(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=zs(p),k=wo(m,r),E=wo(x,r);if(k!==E){const P=Jg(k,r,c);u.push({range:new G(g,1,g,x.length+1),text:P}),p=P+p.substring(x.length)}else{const P=ET(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=wo(x,r),E=wo(zs(i.getLineContent(g+1)),r);if(k!==E){const P=k-E;for(let A=g+1;A<=e.endLineNumber;A++){const $=i.getLineContent(A),H=zs($),J=wo(H,r)+P,ue=Jg(J,r,c);ue!==H&&u.push({range:new G(A,1,A,H.length+1),text:ue})}}}}if(u.length>0){this.editor.pushUndoStop();const m=new i5(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=Q6([J6(1,xs)],Xv);function n5(o,e){const t=i=>J2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function GR(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 G(r,1,r,c),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class s5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),GR(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class o5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),GR(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}$i(Xv.ID,Xv,2);ce(C1);ce(x1);ce(k1);ce(L1);ce(I1);ce(D1);ce(e5);ce(t5);$i(Mp.ID,Mp,1);Vu.register(Dv);class r5{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 wi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new wi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var a5=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},l5=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 DT(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Es(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=G.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 wi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const w=new r5(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(Rn)}).catch(Rn)):Promise.resolve(void 0)}},jm=xc,xc.ID="editor.contrib.inPlaceReplaceController",xc.DECORATION=Qi.register({description:"in-place-replace",className:"valueSetReplacement"}),xc);Af=jm=a5([l5(1,Ml)],Af);class c5 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 d5 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)}}$i(Af.ID,Af,4);ce(c5);ce(d5);class u5 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,d0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ce(u5);class h5{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=f5(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 f5(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++]=Xn.delete(new G(a,w,a,f))}return i}class KR{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 G(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
49
|
-
`):this._isCopyingDown?t.addEditOperation(new G(i.startLineNumber,1,i.startLineNumber,1),s+`
|
|
50
|
-
`):t.addEditOperation(new G(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=wi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var g5=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},p5=function(o,e){return function(t,i){e(t,i,o)}};let E1=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 G(1,1,1,1),null):(t.addEditOperation(new G(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new G(p,1,p,e.getLineMaxColumn(p)),null)),r=new wi(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new G(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=zs(e.getLineContent(g)),E=m+wo(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=zs(e.getLineContent(g)),A=wo(E,a),$=wo(P,a);A!==$&&(w=Jg(A,a,u)+this.trimStart(p))}}t.addEditOperation(new G(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=zs(e.getLineContent(r.startLineNumber)),A=wo(E,a),$=wo(P,a);if(A!==$){const H=A-$;this.getIndentEditsOfMovingBlock(e,t,r,a,u,H)}}}}else t.addEditOperation(new G(r.startLineNumber,1,r.startLineNumber,1),w+`
|
|
53
|
-
`)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new G(g,1,g+1,1),null),t.addEditOperation(new G(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=zs(e.getLineContent(r.startLineNumber)),E=wo(x,a),P=wo(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=zs(e.getLineContent(n));let u=zs(r);const f=ET(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=wo(u,i),p=wo(c,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Em(r)>=0){const a=e.getLineMaxColumn(s),c=Sw(this._autoIndent,e,new G(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=Sw(this._autoIndent,e,new G(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=Sw(this._autoIndent,e,new G(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=zs(c),g=wo(u,n)+r,p=Jg(g,n,s);p!==u&&(t.addEditOperation(new G(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}};E1=g5([p5(3,xs)],E1);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=_5(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=ZR(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 ZR(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 _5(o,e,t){const i=ZR(o,e,t);return i?Xn.replace(new G(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
-
`)):null}class XR 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)=>G.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 KR(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class m5 extends XR{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:Ot.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class v5 extends XR{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:Ot.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class b5 extends qe{constructor(){super({id:"editor.action.duplicateSelection",label:C("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:F.writable,menuOpts:{menuId:Ot.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 KR(a,!0));else{const c=new wi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new eF(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class YR extends qe{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(xs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new E1(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class y5 extends YR{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:Ot.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class w5 extends YR{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:Ot.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class QR 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 wi(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 S5 extends QR{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:C("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:F.writable})}}class C5 extends QR{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:C("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:F.writable})}}class x5 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 wi(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 wi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),w=u.startLineNumber-r,m=new wi(w,1,w+g.length-1,g[g.length-1].length);n.push(Xn.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:ds(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new ii(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 h5(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};Kb.ID="editor.action.trimTrailingWhitespace";let T1=Kb;class k5 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(Xn.replace(new wi(g,w,p,m),"")),a.push(new wi(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 L5 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,tF.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class I5 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 D5 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,TT.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class E5 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,TT.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class JR 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];G.intersectRanges(f,g)===null?s.push(f):n[c+1]=G.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Xn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class T5 extends JR{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 wi(c,r.startColumn,c,r.startColumn)}else a=new wi(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(G.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 G(r,a,s.startLineNumber,1)}else return new G(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new G(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class P5 extends JR{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 wi(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 G(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new G(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(G.compareRangesUsingStarts),n}}class M5 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(G.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 wi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn):w.startLineNumber>p.endLineNumber?(s.push(p),w):new wi(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 $=a.getLineLength(m.endLineNumber)-m.endColumn;if(m.isEmpty()||m.startLineNumber===m.endLineNumber){const J=m.getStartPosition();J.lineNumber<a.getLineCount()?(P=x+1,A=a.getLineMaxColumn(P)):(P=J.lineNumber,A=a.getLineMaxColumn(J.lineNumber))}else P=m.endLineNumber,A=a.getLineMaxColumn(P);let H=a.getLineContent(x);for(let J=x+1;J<=P;J++){const ue=a.getLineContent(J),he=a.getLineFirstNonWhitespaceColumn(J);if(he>=1){let We=!0;H===""&&(We=!1),We&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(We=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const xe=ue.substr(he-1);H+=(We?" ":"")+xe,We?E=xe.length+1:E=xe.length}else E=0}const ie=new G(x,k,P,A);if(!ie.isEmpty()){let J;m.isEmpty()?(c.push(Xn.replace(ie,H)),J=new wi(ie.startLineNumber-g,H.length-E+1,x-g,H.length-E+1)):m.startLineNumber===m.endLineNumber?(c.push(Xn.replace(ie,H)),J=new wi(m.startLineNumber-g,m.startColumn,m.endLineNumber-g,m.endColumn)):(c.push(Xn.replace(ie,H)),J=new wi(m.startLineNumber-g,m.startColumn,m.startLineNumber-g,H.length-$)),G.intersectRanges(ie,n)!==null?f=J:u.push(J)}g+=ie.endLineNumber-ie.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,c,u),t.pushUndoStop()}}class R5 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 G(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new o_(new wi(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new G(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new KE(g,p,new wi(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 G(c.lineNumber,u.startColumn,c.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(Xn.replace(f,this._modifyText(g,s)))}else{const c=n.getValueInRange(a);r.push(Xn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class N5 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 A5 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;ce(m5);ce(v5);ce(b5);ce(y5);ce(w5);ce(S5);ce(C5);ce(x5);ce(T1);ce(k5);ce(L5);ce(I5);ce(D5);ce(E5);ce(T5);ce(P5);ce(M5);ce(R5);ce(N5);ce(A5);ep.caseBoundary.isSupported()&&ep.singleLetters.isSupported()&&ce(ep);Qv.wordBoundary.isSupported()&&ce(Qv);Jv.wordBoundary.isSupported()&&ce(Jv);Yv.titleBoundary.isSupported()&&ce(Yv);eb.isSupported()&&ce(eb);var O5=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 eN=new an("LinkedEditingInputVisible",!1),F5="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 ct),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=eN.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 ct),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(_s.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=iF(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 G(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 Ts;try{const r=new Do(!1),a=await tN(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(G.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)||Rn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},$m=kc,kc.ID="editor.contrib.linkedEditing",kc.DECORATION=Qi.register({description:"linked-editing",stickiness:0,className:F5}),kc);Of=$m=O5([_m(1,mn),_m(2,ni),_m(3,xs),_m(4,rr)],Of);class H5 extends qe{constructor(){super({id:"editor.action.linkedEditing",label:C("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ye.and(F.writable,F.hasRenameProvider),kbOpts:{kbExpr:F.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Tn.isUri(n)&&ii.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))))},Rn):super.runCommand(e,t)}run(e,t){const i=Of.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const W5=mo.bindToContribution(Of.get);oi(new W5({id:"cancelLinkedEditingInput",precondition:eN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:F.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function tN(o,e,t,i){const n=o.ordered(e);return u0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){ss(r);return}}),s=>!!s&&zo(s==null?void 0:s.ranges))}Kt("editor.linkedEditingBackground",{dark:Yi.fromHex("#f00").transparent(.3),light:Yi.fromHex("#f00").transparent(.3),hcDark:Yi.fromHex("#f00").transparent(.3),hcLight:Yi.white},C("editorLinkedEditingBackground","Background color when the editor auto renames on type."));vo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(ni);return tN(i,e,t,Wi.None)});$i(Of.ID,Of,1);ce(H5);let B5=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 ct;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new B5(r,n));t=tb._union(t,s),pT(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(G.areIntersectingOrTouching(c.range,u.range)){n++;continue}G.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 iN(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])},ss));return Promise.all(n).then(()=>{const s=new tb(vl(i));return t.isCancellationRequested?(s.dispose(),new tb([])):s})}Hn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;bn(t instanceof Tn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(ni),s=o.get(ro).getModel(t);if(!s)return[];const r=await iN(n,s,Wi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(Wi.None);const a=r.links.slice(0);return r.dispose(),a});var z5=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)}},P1,tu;let Hp=(tu=class extends ft{static get(e){return e.getContribution(P1.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 ms(()=>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=Es(t=>iN(this.providers,e,t));try{const t=new Do(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Rn(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(Wi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===uo.file&&s.startsWith(`${uo.file}:`)){const a=Tn.parse(s);if(a.scheme===uo.file){const c=nF(a);let u=null;c.startsWith("/./")||c.startsWith("\\.\\")?u=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(u=`.${c.substr(2)}`),u&&(s=sF(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.")):Rn(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()}},P1=tu,tu.ID="editor.linkDetector",tu);Hp=P1=z5([mm(1,la),mm(2,oo),mm(3,ni),mm(4,rr)],Hp);const fD={general:Qi.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Qi.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?fD.active:fD.general};return n.hoverMessage=V5(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 V5(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?za?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):za?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 Ys("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ys().appendText(`${i} (${n})`)}class j5 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)}}}$i(Hp.ID,Hp,1);ce(j5);const Ok=class Ok 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})}))}};Ok.ID="editor.contrib.longLinesHelper";let ib=Ok;$i(ib.ID,ib,2);const $5=Kt("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);Kt("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);Kt("editor.wordHighlightTextBackground",$5,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 U5=Kt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:_u,hcLight:_u},C("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));Kt("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."));Kt("editor.wordHighlightTextBorder",U5,C("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const q5=Kt("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),G5=Kt("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),K5=Kt("editorOverviewRuler.wordHighlightTextForeground",PT,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),Z5=Qi.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:gs(G5),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),X5=Qi.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:gs(K5),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),Y5=Qi.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:gs(PT),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),Q5=Qi.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),J5=Qi.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:gs(q5),position:Oa.Center},minimap:{color:gs(Dy),position:1}});function e$(o){return o===av.Write?Z5:o===av.Text?X5:J5}function t$(o){return o?Q5:Y5}vy((o,e)=>{const t=o.getColor(oF);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var i$=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},n$=function(o,e){return function(t,i){e(t,i,o)}},M1;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 s$ 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:Ot.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,d0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Bc(r,s.getCursorStates())}}class o$ 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:Ot.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,d0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Bc(r,s.getCursorStates())}}class r$ 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:Ot.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 wi(n,s,n,s))}e.endColumn>1&&i.push(new wi(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 a$ 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 wi(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 l$ 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 wi(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 wi(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 wi(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 wi(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 ct),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 wi(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(!nN(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 wi(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=po.get(t);if(r)this._run(i,r);else{const a=e.get(Mi).createInstance(po,t);this._run(i,a),a.dispose()}Bc(s,n.getCursorStates())}}}class c$ 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:Ot.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class d$ 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:Ot.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 u$ 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:ds(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class h$ 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 f$ 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:Ot.MenubarSelectionMenu,group:"3_multi",title:C({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class g$ extends Yf{constructor(){super({id:"editor.action.changeAll",label:C("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ye.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 p${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(G.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 ms(()=>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=po.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(M1._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=po.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(!nN(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 p$(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(G.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=G.compareRangesUsingStarts(w,n[f]);m<0?((n[f].isEmpty()||!G.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:t$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},M1=iu,iu.ID="editor.contrib.selectionHighlighter",iu);nb=M1=i$([n$(1,ni)],nb);function nN(o,e,t){const i=gD(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=gD(o,r,!t);if(i!==a)return!1}return!0}function gD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class _$ 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 m$ 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()))}}$i(Ff.ID,Ff,4);$i(nb.ID,nb,1);ce(s$);ce(o$);ce(r$);ce(c$);ce(d$);ce(u$);ce(h$);ce(f$);ce(g$);ce(a$);ce(l$);ce(_$);ce(m$);const v$="editor.action.inlineEdit.accept",b$="editor.action.inlineEdit.reject",y$="editor.action.inlineEdit.jumpTo",w$="editor.action.inlineEdit.jumpBack";var S$=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},C$=function(o,e){return function(t,i){e(t,i,o)}};const tS="inline-edit";let R1=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Vo(this,!1),this.currentTextModel=So(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Ln(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,$){if(g.length>0){const H=g[g.length-1];$&&H.decorations.push(new bp(H.content.length+1,H.content.length+1+A[0].length,$,0)),H.content+=A[0],A=A.slice(1)}for(const H of A)g.push({content:H,decorations:$?[new bp(1,H.length+1,$,0)]:[]})}const w=s.getLineContent(r.lineNumber);let m,x=0;if(!u&&(c||!a)){for(const A of r.parts){let $=A.lines;a&&!c&&(p($,tS),$=[]),m===void 0?(f.push({column:A.column,text:$[0],preview:A.preview}),$=$.slice(1)):p([w.substring(x,A.column-1)],void 0),$.length>0&&(p($,tS),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 HR(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=Ln(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 G(f,g,f,p);a.push(w)}}for(const c of a)r.push({range:c,options:h0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new G(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:f0})}for(const a of s.inlineTexts)r.push({range:G.fromPositions(new ii(s.lineNumber,a.column)),options:{description:tS,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(WR(this.editor,this.decorations))}};R1=S$([C$(2,da)],R1);var uk=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},Ia=function(o,e){return function(t,i){e(t,i,o)}},Um;let N1=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Ln(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 ii(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(A1,this.editor,!0,this.position));e.addContentWidget(a),s.add(Vn(()=>e.removeContentWidget(a)))}))}};N1=uk([Ia(2,Mi)],N1);var Lc;let A1=(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=wr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[wr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Ot.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(O1,this.nodes.toolBar,this.editor,Ot.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof mf)return n.createInstance(x$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{Um._dropDownVisible=a})),this._register(Gn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Gn(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);A1=Um=uk([Ia(3,Mi),Ia(4,mn),Ia(5,Ou)],A1);class x$ extends NE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=wr("div.keybinding").root;this._register(new Gx(t,Kx,{disableTitle:!0,...AE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let O1=class extends OE{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=[];e0(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){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};O1=uk([Ia(4,Ou),Ia(5,mn),Ia(6,Bf),Ia(7,us),Ia(8,Cs),Ia(9,ca)],O1);var sN=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,F1;function*k$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function iS(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 H1=(nu=class extends ft{static _createUniqueUri(){return Tn.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=Ln(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(k$(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 ii(p,g);return{top:a.range.startLineNumber,left:w}}),this._text=Ln(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=iS(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=Ln(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=Ln(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const u=iS(c.getValueInRange(a.range).split(`
|
|
60
|
-
`)).text.join(`
|
|
61
|
-
`),f=iS(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 MT.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},Wi.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(W1,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);H1=Ag=sN([qm(2,Mi),qm(3,g0),qm(4,ro)],H1);var su;let W1=(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${F1.id++}`,this.allowEditorOverflow=!1,this._nodes=Gt("div.inlineEditSideBySide",void 0),this._scrollChanged=yd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Pr,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=Ea(this._previewEditor),this._editorObs=Ea(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=Ln(c=>{const u=this._text.read(c);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Ln(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 G(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:f0}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:RT}),x.modified.isEmpty||x.original.isEmpty)x.original.isEmpty||g.push({range:m(x.original.toInclusiveRange()),options:NT}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:AT});else for(const k of x.innerChanges||[])x.original.contains(k.originalRange.startLineNumber)&&g.push({range:m(k.originalRange),options:k.originalRange.isEmpty()?OT:h0}),x.modified.contains(k.modifiedRange.startLineNumber)&&p.push({range:k.modifiedRange,options:k.modifiedRange.isEmpty()?FT:HT});return{org:g,mod:p}}),this._originalDecorations=Ln(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Ln(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(Gn(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(Gn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Gn(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 ii(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}}}},F1=su,su.id=0,su);W1=F1=sN([qm(5,Mi)],W1);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},Yc=function(o,e){return function(t,i){e(t,i,o)}},Og,ir;let to=(ir=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=Vo(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)]),$=x.range.startLineNumber===x.range.endLineNumber&&A.parts.length===1&&A.parts[0].lines.length===1,H=x.text==="";return!$&&!H?void 0:this.instantiationService.createInstance(R1,this.editor,{ghostText:cl(A),minReservedLineCount:cl(0),targetTextModel:cl(this.editor.getModel()??void 0),range:cl(x.range)})}),this._isAccepting=Vo(this,!1),this._enabled=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=yd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Gn(m=>{this._enabled.read(m)&&(u.read(m),!this._isAccepting.read(m)&&this.getInlineEdit(e,!0))}));const f=So(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Gn(m=>{if(!this._enabled.read(m))return;const x=f.read(m);x&&this.checkCursorPosition(x)})),this._register(Gn(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(Gn(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(Gn(m=>{this._enabled.read(m)&&(p.read(m),this.getInlineEdit(e,!0))}));const w=this._register(aT());this._register(Gn(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 N1(this.editor,this._currentWidget,this.instantiationService)),this._register(new H1(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(G.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 Ts;const a=this._currentRequestCts.token,c=t?xL.Automatic:xL.Invoke;if(t&&await I$(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",[Xn.replace(G.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ss),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=ii.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,ss),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=ir,ir.ID="editor.contrib.inlineEditController",ir.inlineEditVisibleKey="inlineEditVisible",ir.inlineEditVisibleContext=new an(ir.inlineEditVisibleKey,!1),ir.cursorAtInlineEditKey="cursorAtInlineEdit",ir.cursorAtInlineEditContext=new an(ir.cursorAtInlineEditKey,!1),ir);to=Og=L$([Yc(1,Mi),Yc(2,mn),Yc(3,ni),Yc(4,Cs),Yc(5,$n),Yc(6,g0),Yc(7,ro)],to);function I$(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 D$=class extends qe{constructor(){super({id:v$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ye.and(F.writable,to.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ye.and(F.writable,to.inlineEditVisibleContext,to.cursorAtInlineEditContext)}],menuOpts:[{menuId:Ot.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=to.get(t);await(i==null?void 0:i.accept())}};class E$ extends qe{constructor(){const e=ye.and(F.writable,ye.not(to.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=to.get(t);i==null||i.trigger()}}class T$ extends qe{constructor(){const e=ye.and(F.writable,to.inlineEditVisibleContext,ye.not(to.cursorAtInlineEditKey));super({id:y$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Ot.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=to.get(t);i==null||i.jumpToCurrent()}}class P$ extends qe{constructor(){const e=ye.and(F.writable,to.cursorAtInlineEditContext);super({id:w$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Ot.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=to.get(t);i==null||i.jumpBack()}}class M$ extends qe{constructor(){const e=ye.and(F.writable,to.inlineEditVisibleContext);super({id:b$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Ot.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=to.get(t);await(i==null?void 0:i.clear())}}ce(D$);ce(M$);ce(T$);ce(P$);ce(E$);$i(to.ID,to,3);const R$="editor.action.inlineEdits.accept",N$="editor.action.inlineEdits.showPrevious",A$="editor.action.inlineEdits.showNext",Hf=new an("inlineEditsVisible",!1,C("inlineEditsVisible","Whether an inline edit is visible")),O$=new an("inlineEditsIsPinned",!1,C("isPinned","Whether an inline edit is visible")),Fk=class Fk extends ft{constructor(e){super(),this._editor=e,this._editorObs=Ea(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=al({owner:this,equalsFn:WT},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=F$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=FE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=wr("div.editorPlaceholder");i.add(Gn(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(Gn(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(Gn(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)}};Fk.ID="editor.contrib.placeholderText";let Bp=Fk;function F$(o,e){return yy(o,(t,i)=>i===!0?!0:e(t))}var H$=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},W$=function(o,e){return function(t,i){e(t,i,o)}};class B${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let B1=class extends ft{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ea(this._editor),this._elements=wr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[wr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[wr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),wr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),wr("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=Ln(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(Pr,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:rF},{contributions:aF.getSomeEditorContributions([xr.ID,Bp.ID,Tf.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Pr,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=Ea(this._previewEditor),this._decorations=Ln(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:f0}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:RT}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||c.push({range:g.original.toInclusiveRange(),options:NT}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:AT});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?OT:h0}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?FT:HT});return u}),this._layout1=Ln(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=Ln(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),$=new Mh(f+k,p-P/2);return{topCode:w,bottomCode:m,codeHeight:x,topEdit:A,bottomEdit:$,editHeight:E}});const s=Ln(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(lF(this._elements.root,{display:Ln(this,r=>s.read(r)?"block":"none")})),this._register(cF(this._editor.getDomNode(),this._elements.root)),this._register(Ea(e).createOverlayWidget({domNode:this._elements.root,position:cl(null),allowEditorOverflow:!1,minContentWidthInPx:Ln(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(Gn(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 V$().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(j$(z$(this._userPrompt,r=>r??"",r=>r),Ea(this._promptEditor).value)),this._register(Gn(r=>{const a=Ea(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};B1=H$([W$(3,Mi)],B1);function z$(o,e,t){return BT(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 V${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 j$(o,e){const t=new ct;return t.add(Gn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Gn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var $$=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},nS=function(o,e){return function(t,i){e(t,i,o)}},Fg,ou;let z1=(ou=class extends ft{static _createUniqueUri(){return Tn.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=a0(this),this._selectedInlineCompletionId=Vo(this,void 0),this._isActive=Vo(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 q$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Vo(this,void 0),this.inlineEdit=Ln(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=Ln(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 MT.fromFn(async()=>{const k=await x.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},Wi.None);if(!k.identical)return new B$(dF.fromRangeInclusive(f),p(g),k.changes)})}),this._fetchStore=this._register(new ct),this._inlineEditsFetchResult=xS(this,void 0),this._inlineEdits=al({owner:this,equalsFn:WT},c=>{var u;return((u=this._inlineEditsFetchResult.read(c))==null?void 0:u.completions.map(f=>new U$(f)))??[]}),this._fetchInlineEditsPromise=_T({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=LS(this._fetchStore);await Iy(200,w);const m=await BR(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,w);w.isCancellationRequested||this._inlineEditsFetchResult.set(m,void 0)}),this._filteredInlineEditItems=al({owner:this,equalsFn:kS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Ln(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=Ln(this,c=>{const u=this._filteredInlineEditItems.read(c),f=this.selectedInlineCompletionIndex.read(c);return u[f]}),this._register(mT(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);z1=Fg=$$([nS(4,ni),nS(5,g0),nS(6,ro)],z1);class U${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class q$ extends ft{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Vo(this,[]),this.range=Ln(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 G$=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)}},V1,ru;let Ll=(ru=class extends ft{static get(e){return e.getContribution(V1.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=uF("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ea(this.editor),this._selection=Ln(this,a=>this._editorObs.cursorSelection.read(a)??new wi(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(IS(z1,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(IS(B1,a),this.editor,this.model.map((c,u)=>c==null?void 0:c.inlineEdit.read(u)),K$(c=>{var u;return((u=this.model.read(c))==null?void 0:u.userPrompt)??Vo("empty","")}))}),this._register(kL(Hf,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(kL(O$,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)}},V1=ru,ru.ID="editor.contrib.inlineEditsController",ru);Ll=V1=G$([yg(1,Mi),yg(2,mn),yg(3,rr),yg(4,ni),yg(5,$n)],Ll);function K$(o){return BT(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_(Qt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ye.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=A$;let j1=Qb;const Jb=class Jb extends qe{constructor(){super({id:Jb.ID,...R_(Qt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ye.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=N$;let $1=Jb;class Z$ extends qe{constructor(){super({id:"editor.action.inlineEdits.trigger",...R_(Qt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:F.writable})}async run(e,t){const i=Ll.get(t);await IT(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class X$ extends qe{constructor(){super({id:R$,...R_(Qt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Hf,menuOpts:{menuId:Ot.InlineEditsActions,title:C("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Li.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Hf}})}async run(e,t){var n;t instanceof Pr&&(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_(Qt("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 U1=ey;$i(Ll.ID,Ll,3);ce(Z$);ce(j1);ce($1);ce(X$);ce(U1);const Mu={Visible:new an("parameterHintsVisible",!1),MultipleSignatures:new an("parameterHintsMultipleSignatures",!1)};async function oN(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){ss(a)}}Hn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;bn(Tn.isUri(t)),bn(ii.isIPosition(i)),bn(typeof n=="string"||!n);const s=o.get(ni),r=await o.get(ua).createModelReference(t);try{const a=await oN(s.signatureHelpProvider,r.object.textEditorModel,ii.lift(i),{triggerKind:cc.Invoke,isRetrigger:!1,triggerCharacter:n},Wi.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 Hi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Gl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new $o),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(Rn)}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(Y$);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(Es(c=>oN(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),Rn(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 q1=ty;function Y$(o,e){switch(e.triggerKind){case cc.Invoke:return e;case cc.ContentChange:return o;case cc.TriggerCharacter:default:return e}}var Q$=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)}},G1;const Mo=Gt,J$=ts("parameter-hints-next",Li.chevronDown,C("parameterHintsNextIcon","Icon for show next parameter hint.")),eU=ts("parameter-hints-previous",Li.chevronUp,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var au;let K1=(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 ct),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=Mo(".editor-widget.parameter-hints-widget"),t=Ht(e,Mo(".phwrapper"));t.tabIndex=-1;const i=Ht(t,Mo(".controls")),n=Ht(i,Mo(".button"+Sn.asCSSSelector(eU))),s=Ht(i,Mo(".overloads")),r=Ht(i,Mo(".button"+Sn.asCSSSelector(J$)));this._register(_n(n,"click",p=>{tv.stop(p),this.previous()})),this._register(_n(r,"click",p=>{tv.stop(p),this.next()}));const a=Mo(".body"),c=new wT(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const u=Ht(a,Mo(".signature")),f=Ht(a,Mo(".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",Jx.fontFamily)};g(),this._register(_s.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=Ht(this.domNodes.signature,Mo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=Ht(n,Mo("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=Mo("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}Ht(this.domNodes.docs,Mo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")Ht(this.domNodes.docs,Mo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);Ht(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&&(Er(C("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Do,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),Ht(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 G1.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)}},G1=au,au.ID="editor.widget.parameterHintsWidget",au);K1=G1=Q$([bm(2,mn),bm(3,la),bm(4,da),bm(5,ca)],K1);Kt("editorHoverWidget.highlightForeground",kT,C("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));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},pD=function(o,e){return function(t,i){e(t,i,o)}},Z1,lu;let Wf=(lu=class extends ft{static get(e){return e.getContribution(Z1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new q1(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 Ux(()=>this._register(t.createInstance(K1,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)}},Z1=lu,lu.ID="editor.controller.parameterHints",lu);Wf=Z1=tU([pD(1,Mi),pD(2,ni)],Wf);class iU 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})}}$i(Wf.ID,Wf,2);ce(iU);const hk=175,fk=mo.bindToContribution(Wf.get);oi(new fk({id:"closeParameterHints",precondition:Mu.Visible,handler:o=>o.cancel(),kbOpts:{weight:hk,kbExpr:F.focus,primary:9,secondary:[1033]}}));oi(new fk({id:"showPrevParameterHint",precondition:ye.and(Mu.Visible,Mu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:hk,kbExpr:F.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));oi(new fk({id:"showNextParameterHint",precondition:ye.and(Mu.Visible,Mu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:hk,kbExpr:F.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var nU=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},sU=function(o,e){return function(t,i){e(t,i,o)}};class oU{constructor(e){this.instantiationService=e}init(...e){}}function rU(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=h_((n,s)=>{const r=IS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function aU(o){return hF()?rU(o,X1):o()}let X1=class extends oU{constructor(e,t){super(t),this.init(e)}};X1=nU([sU(1,Mi)],X1);$i(Bp.ID,aU(()=>Bp),0);Kt("editor.placeholder.foreground",fF,C("placeholderForeground","Foreground color of the placeholder text in the editor."));var lU=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 an("renameInputVisible",!1,C("renameInputVisible","Whether the rename input widget is visible"));new an("renameInputFocused",!1,C("renameInputFocused","Whether the rename input widget is focused"));let Y1=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 ct,this._visibleContextKey=Qf.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Do,this._inputWithButton=new cU,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 gk(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(gF),i=e.getColor(pF);this._domNode.style.backgroundColor=String(e.getColor(ST)??""),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(_F)??"");const n=e.getColor(mF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(LL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(LL)??""),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;bn(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=fo(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;bn(this._renameCandidateListView),bn(this._nPxAvailableAbove!==void 0),bn(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:gr(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 ct;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,Kn.KEY_DOWN,f=>{const g=new p0(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 ii(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"),bn(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),bn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Ts;const i=t?DS.Invoke:DS.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){bn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!G.isEmpty(i)&&!G.spansMultipleLines(i)&&G.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=IE(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)}};Y1=lU([ym(2,Mr),ym(3,us),ym(4,mn),ym(5,Hu)],Y1);class gk{constructor(e,t){this._disposables=new ct,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=gk._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(LT({listInactiveFocusForeground:CT,listInactiveFocusBackground:xT}))}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 Zx("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class cU{constructor(){this._onDidInputChange=new Hi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new ct}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=vF().setupManagedHover(ky("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(_n(this.input,Kn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(_n(this.input,Kn.KEY_DOWN,e=>{const t=new p0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(_n(this.input,Kn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(_n(this.input,Kn.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,Kn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return bn(this._inputNode),this._inputNode}get button(){return bn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=ES(Li.sparkle)),Fa(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=ES(Li.primitiveSquare)),Fa(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=ES(Li.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),fT(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(bF.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 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},jl=function(o,e){return function(t,i){e(t,i,o)}},Q1;class pk{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 G(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
76
|
-
`):void 0}:{range:G.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 uU(o,e,t,i){const n=new pk(e,t,o),s=await n.resolveRenameLocation(Wi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,Wi.None)}var cu;let Oc=(cu=class{static get(e){return e.getContribution(Q1.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 ct,this._cts=new Ts,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Y1,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 Ts,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new pk(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=ko.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=ko.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===DS.Automatic&&(P=P.filter(([A,$])=>$)),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(G.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&&Er(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)}},Q1=cu,cu.ID="editor.contrib.renameController",cu);Oc=Q1=dU([jl(1,Mi),jl(2,oo),jl(3,fy),jl(4,l_),jl(5,Hu),jl(6,yF),jl(7,ni),jl(8,ca)],Oc);class hU extends qe{constructor(){super({id:"editor.action.rename",label:C("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ye.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(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Tn.isUri(n)&&ii.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))))},Rn):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())}}$i(Oc.ID,Oc,4);ce(hU);const _k=mo.bindToContribution(Oc.get);oi(new _k({id:"acceptRenameInput",precondition:Qf,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ye.and(F.focus,ye.not("isComposing")),primary:3}}));oi(new _k({id:"acceptRenameInputWithPreview",precondition:ye.and(Qf,ye.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ye.and(F.focus,ye.not("isComposing")),primary:2051}}));oi(new _k({id:"cancelRenameInput",precondition:Qf,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:F.focus,primary:9,secondary:[1033]}}));Dn(class extends _o{constructor(){super({id:"focusNextRenameSuggestion",title:{...Qt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Qf,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusNextRenameSuggestion()}});Dn(class extends _o{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Qt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Qf,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusPreviousRenameSuggestion()}});vo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;bn(typeof n=="string");const{renameProvider:s}=o.get(ni);return uU(s,e,t,n)});vo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(ni),s=await new pk(e,t,i).resolveRenameLocation(Wi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});aa.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 fU=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},_D=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 ms(()=>{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=>gU(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=fU([_D(1,xs),_D(2,Ml)],sb);function gU(o){return{range:o.range,options:Qi.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}$i(sb.ID,sb,1);function pU(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 _U(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return wF()||pU(e),SF.wrap(e)}function rN(o){const e=new Uint32Array(mU(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 _U(e)}function mU(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 aN(o){return o&&Array.isArray(o.edits)}class vU{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function lN(o,e){return o.has(e)}function bU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function cN(o,e,t,i,n){const s=bU(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)&&!aN(c))&&(c=null),new vU(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 yU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class wU{constructor(e,t){this.provider=e,this.tokens=t}}function SU(o,e){return o.has(e)}function dN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function mk(o,e,t,i){const n=dN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){ss(c),a=null}return(!a||!nw(a))&&(a=null),new wU(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Hn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;bn(t instanceof Tn);const i=o.get(ro).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ni),s=yU(n,i);return s?s[0].getLegend():o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Hn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;bn(t instanceof Tn);const i=o.get(ro).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ni);if(!lN(n,i))return o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await cN(n,i,null,null,Wi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!nw(a))return;const c=rN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});Hn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;bn(t instanceof Tn);const n=o.get(ro).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ni),r=dN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!G.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 mk(s,n,G.lift(i),Wi.None);if(a)return a.provider.getLegend()});Hn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;bn(t instanceof Tn),bn(G.isIRange(i));const n=o.get(ro).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ni),r=await mk(s,n,G.lift(i),Wi.None);if(!(!r||!r.tokens))return rN({id:0,type:"full",data:r.tokens.data})});const vk="editor.semanticHighlighting";function Gm(o,e,t){var n;const i=(n=t.getValue(vk,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var uN=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)}},ql;let J1=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 ex(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(vk)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};J1=uN([Da(0,_0),Da(1,ro),Da(2,Mr),Da(3,$n),Da(4,rr),Da(5,ni)],J1);var Ic;let ex=(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 ms(()=>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=()=>{Js(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),Js(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!lN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Ts,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=cN(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 Do(!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)||Rn(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(aN(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 CU(e,t.resultId,t.data);const a=zT(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);ex=ql=uN([Da(1,_0),Da(2,Mr),Da(3,rr),Da(4,ni)],ex);class CU{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}jf(J1);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},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 ms(()=>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(vk)&&(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(!SU(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=Es(r=>Promise.resolve(mk(this._provider,e,t,r))),s=new Do(!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,zT(c,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},af.ID="editor.contrib.viewportSemanticTokens",af);ob=xU([wg(1,_0),wg(2,Mr),wg(3,$n),wg(4,rr),wg(5,ni)],ob);$i(ob.ID,ob,1);class kU{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(IL(g)&&DL(f))break;f=g}for(c+=1;u<s.length;u++){const g=s.charCodeAt(u);if(DL(g)&&IL(f))break;if(g===95||g===45)break;f=g}c<u&&e.push({range:new G(i.lineNumber,r+c,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new G(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 G(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var LU=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},IU=function(o,e){return function(t,i){e(t,i,o)}},tx;class bk{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 bk(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(tx.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 fN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),Wi.None).then(s=>{var r;if(!(!zo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ba(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 bk(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=>wi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},tx=du,du.ID="editor.contrib.smartSelectController",du);Vp=tx=LU([IU(1,ni)],Vp);class hN 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 DU extends hN{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:Ot.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Hn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class EU extends hN{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:Ot.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}$i(Vp.ID,Vp,4);ce(DU);ce(EU);async function fN(o,e,t,i,n){const s=o.all(e).concat(new kU(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(zo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])G.isIRange(g.range)&&G.containsPosition(g.range,t[f])&&a[f].push(G.lift(g.range))}},ss));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,w)=>ii.isBefore(p.getStartPosition(),w.getStartPosition())?1:ii.isBefore(w.getStartPosition(),p.getStartPosition())||ii.isBefore(p.getEndPosition(),w.getEndPosition())?-1:ii.isBefore(w.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of c)(!f||G.containsRange(p,f)&&!G.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 G(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 G(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})}Hn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;bn(Tn.isUri(t));const n=o.get(ni).selectionRangeProvider,s=await o.get(ua).createModelReference(t);try{return fN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},Wi.None)}finally{s.dispose()}});const TU=Object.freeze({View:Qt("view","View"),Help:Qt("help","Help"),Test:Qt("test","Test"),File:Qt("file","File"),Preferences:Qt("preferences","Preferences"),Developer:Qt({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&&Ba(this.startLineNumbers,e.startLineNumbers)&&Ba(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new tp([],[],0)}}const mD=cT("stickyScrollViewLayer",{createHTML:o=>o}),sS="data-sticky-line-index",vD="data-sticky-is-line",PU="data-sticky-is-line-number",bD="data-sticky-is-folding-icon";class MU extends ft{constructor(e){super(),this._editor=e,this._foldingIconStore=new ct,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 Pr),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,Kn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(_n(this._lineNumbersDomNode,Kn.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 ii(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 hT(!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 dT(2e3),p=uT(f,g);let w;mD?w=mD.createHTML(g.build()):w=g.build();const m=document.createElement("span");m.setAttribute(sS,String(e)),m.setAttribute(vD,""),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(sS,String(e)),x.setAttribute(PU,""),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 RU(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 NU(c,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),u.domNode.setAttribute(bD,""),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=CF(t.characterMapping,e,0);return new ii(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,sS);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,vD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,bD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class RU{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 NU{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=Sn.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 gN{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 ix=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 ct),this._editor.getOption(116).defaultModel){case np.OUTLINE_MODEL:this._modelProviders.push(new nx(this._editor,n));case np.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new ox(this._editor,t,n));case np.INDENTATION_MODEL:this._modelProviders.push(new sx(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=>(Rn(t),null))}};ix=sw([jp(2,Mi),jp(3,ni)],ix);class pN 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=Es(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=>(Rn(i),ac.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let nx=class extends pN{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 gN(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 OR){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 qC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};nx=sw([jp(1,ni)],nx);class _N extends pN{constructor(e){super(e),this._foldingLimitReporter=new RR(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new gN(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 sx=class extends _N{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new sk(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};sx=sw([jp(1,xs)],sx);let ox=class extends _N{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 ok(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}};ox=sw([jp(2,ni)],ox);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},yD=function(o,e){return function(t,i){e(t,i,o)}};class OU{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let rx=class extends ft{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Hi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new ct),this._updateSoon=this._register(new ms(()=>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 ix(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Ts,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 OU(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}};rx=AU([yD(1,ni),yD(2,xs)],rx);var FU=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)}},ax,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 ct,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 MU(this._editor),this._stickyLineCandidateProvider=new rx(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,Kn.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,Kn.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(ax.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 ct,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(G.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new ct),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 G(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(yl(n,Kn.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 ii(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 ii(u,1)}this._revealPosition(c)})),this._register(yl(n,Kn.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,Kn.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 Ts;e.add(Vn(()=>f.dispose(!0)));let g;E_(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new ii(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(_R,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new xF(e,t);this._contextMenuService.showContextMenu({menuId:Ot.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;tk(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()}},ax=uu,uu.ID="store.contrib.stickyScrollController",uu);Il=ax=FU([dh(1,Bf),dh(2,ni),dh(3,Mi),dh(4,xs),dh(5,rr),dh(6,mn)],Il);class HU extends _o{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Qt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:C({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Qt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:TU.View,toggled:{condition:ye.equals("config.editor.stickyScroll.enabled",!0),title:C("stickyScroll","Sticky Scroll"),mnemonicTitle:C({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Ot.CommandPalette},{id:Ot.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Ot.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 WU extends ra{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Qt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:C({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ye.and(ye.has("config.editor.stickyScroll.enabled"),F.stickyScrollVisible),menu:[{id:Ot.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class BU extends ra{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Qt("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 zU extends ra{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Qt("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 VU extends ra{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Qt("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 jU extends ra{constructor(){super({id:"editor.action.selectEditor",title:Qt("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()}}$i(Il.ID,Il,1);Dn(HU);Dn(WU);Dn(zU);Dn(BU);Dn(VU);Dn(jU);var mN=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 $U{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 lx=class extends kF{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 G(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 $U(c,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(Wi.None)}return e}};lx=mN([Hg(5,ew)],lx);let cx=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 G(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((w=this._lastResult)!=null&&w.canBeReused(e,t.lineNumber,u))){const m=new oD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=m,this._lastResult.acquire(),g=this._lastResult}else{const m=await rk(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 oD(p,0),$v.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},x);g=new lx(e,t.lineNumber,u,k,m,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(Wi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(G.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}}};cx=mN([Hg(0,ni),Hg(1,zf),Hg(2,ew),Hg(3,os)],cx);jf(cx);class UU 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 Do;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ce(UU);const iy=class iy extends _o{constructor(){super({id:iy.ID,title:Qt({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:Qt("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=!EL.getTabFocusMode();EL.setTabFocusMode(t),t?Er(C("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Er(C("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};iy.ID="editor.action.toggleTabFocusMode";let dx=iy;Dn(dx);var qU=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},wD=function(o,e){return function(t,i){e(t,i,o)}};let ux=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=Ht(e,Gt("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 Cw(this.el,"click")),a=this._register(new Cw(this.el,"keypress")),c=_s.chain(a.event,g=>g.map(p=>new p0(p)).filter(p=>p.keyCode===3)),u=this._register(new Cw(this.el,LF.Tap)).event;this._register(TE.addTarget(this.el));const f=_s.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)}};ux=qU([wD(3,g_),wD(4,la)],ux);var vN=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},bN=function(o,e){return function(t,i){e(t,i,o)}};const GU=26;let hx=class extends ft{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(fx))}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,GU)}};hx=vN([bN(1,Mi)],hx);let fx=class extends ft{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance($f,{}),this.element=Gt("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=Gt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Fa(this.element)}show(e){Fa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=Ht(this.element,Gt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Gt(`div${Sn.asCSSSelector(e.icon)}`));const n=Ht(this.element,Gt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Ht(this.element,Gt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(ux,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=Ht(this.element,Gt("div.action-container"));this.actionBar=this._register(new dp(s)),this.actionBar.push(this._register(new _f("banner.close","Close Banner",Sn.asClassName(QE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};fx=vN([bN(0,Mi)],fx);var yk=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 KU=ts("extensions-warning-message",Li.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:KU,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(hx,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=ZU(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"?IF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new gx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new XU(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},lf.ID="editor.contrib.unicodeHighlighter",lf);$p=yk([$h(1,Ml),$h(2,DF),$h(3,Mi)],$p);function ZU(o,e){return{nonBasicASCII:e.nonBasicASCII===xw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===xw?!o:e.includeComments,includeStrings:e.includeStrings===xw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let gx=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 ms(()=>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(!VT(t,e))return null;const i=t.getValueInRange(e.range);return{reason:wN(i,this._options),inComment:$T(t,e),inString:jT(t,e)}}};gx=yk([$h(3,Ml)],gx);class XU 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 ms(()=>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=UT.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 VT(t,e)?{reason:wN(i,this._options),inComment:$T(t,e),inString:jT(t,e)}:null}}const yN=C("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let px=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=oS(g);let w;switch(u.reason.kind){case 0:{gT(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,oS(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,oS(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 Ys("",!0).appendMarkdown(w).appendText(" ").appendLink(k,x,yN);s.push(new Cr(this,c.range,[E],!1,a++))}return s}renderHoverParts(e,t){return k4(e,t,this._editor,this._languageService,this._openerService)}};px=yk([$h(1,da),$h(2,la)],px);function _x(o){return`U+${o.toString(16).padStart(4,"0")}`}function oS(o){let e=`\`${_x(o)}\``;return qT.isInvisibleCharacter(o)||(e+=` "${`${YU(o)}`}"`),e}function YU(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function wN(o,e){return UT.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=Qi.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 QU 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 JU 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 qT.isInvisibleCharacter(m)?C("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",_x(m)):C("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${_x(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()=>{t8(f,[m])}});if(p.push({label:g(n),run:()=>e8(f,[n])}),a){const m=new QU;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(r){const m=new JU;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 i8(s);const w=await u.pick(p,{title:yN});w&&await w.run()}};ay.ID="editor.action.unicodeHighlight.showExcludeOptions";let lb=ay;async function e8(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 t8(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 i8(o){throw new Error(`Unexpected value: ${o}`)}ce(Ru);ce(Up);ce(qp);ce(lb);$i($p.ID,$p,1);Vu.register(px);var n8=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)}};const SN="ignoreUnusualLineTerminators";function s8(o,e,t){o.setModelProperty(e.uri,SN,t)}function o8(o,e){return o.getModelProperty(e.uri,SN)}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()||o8(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`.",Va(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){s8(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},cf.ID="editor.contrib.unusualLineTerminatorsDetector",cf);cb=n8([SD(1,m0),SD(2,os)],cb);$i(cb.ID,cb,1);var r8=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},a8=function(o,e){return function(t,i){e(t,i,o)}};class CD{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,TL,!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,TL,!1).map(f=>({range:f.range,kind:av.Text}));u&&s.set(a.uri,u)}return s}}let mx=class extends ft{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new CD)),this._register(e.multiDocumentHighlightProvider.register("*",new CD))}};mx=r8([a8(0,ni)],mx);var CN=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)}},es,vx;const wk=new an("hasWordHighlights",!1);function xN(o,e,t,i){const n=o.ordered(e);return u0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,ss)),s=>s!=null).then(s=>{if(s){const r=new Ec;return r.set(e.uri,s),r}return new Ec})}function l8(o,e,t,i,n,s){const r=o.ordered(e);return u0(r.map(a=>()=>{const c=s.filter(u=>TF(u)).filter(u=>PF(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,ss)}),a=>a!=null)}class kN{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=Es(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new G(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 c8 extends kN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return xN(this._providers,e,t.getPosition(),n).then(s=>s||new Ec)}}class d8 extends kN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return l8(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ec)}}function u8(o,e,t,i,n){return new c8(e,t,n,o)}function h8(o,e,t,i,n,s){return new d8(e,t,n,o,s)}vo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(ni),n=await xN(i.documentHighlightProvider,e,t,Wi.None);return n==null?void 0:n.get(e.uri)});var Dc;let bx=(Dc=class{constructor(e,t,i,n,s){this.toUnhook=new ct,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=wk.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=>{EF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():es.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=es.query)==null?void 0:c.modelInfo)==null?void 0:u.model);break;case"multiFile":es.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,es.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(G.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);Er(`${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);Er(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=es.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),es.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=es.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)es.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==uo.vscodeNotebookCell&&((i=(t=es.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==uo.vscodeNotebookCell?(es.query=null,this._run()):(n=es.query)!=null&&n.modelInfo&&(es.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)!==uo.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===uo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===uo.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!GT(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){es.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<c){es.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),es.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!es.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=es.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(!es.query||!es.query.modelInfo||es.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(es.query.modelInfo.model,es.query.modelInfo.selection,es.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},Rn)}}computeWithModel(e,t,i,n){return n.length?h8(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):u8(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=es.storedDecorationIDs.get(c),f=this.workerRequestValue.get(c);if(f)for(const p of f)p.range&&a.push({range:p.range,options:e$(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),es.storedDecorationIDs=es.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()}},es=Dc,Dc.storedDecorationIDs=new Ec,Dc.query=null,Dc);bx=es=CN([Km(4,os)],bx);var hu;let Fc=(hu=class extends ft{static get(e){return e.getContribution(vx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new bx(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()}},vx=hu,hu.ID="editor.contrib.wordHighlighter",hu);Fc=vx=CN([Km(1,mn),Km(2,ni),Km(3,os)],Fc);class LN 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 f8 extends LN{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:wk,kbOpts:{kbExpr:F.editorTextFocus,primary:65,weight:100}})}}class g8 extends LN{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:wk,kbOpts:{kbExpr:F.editorTextFocus,primary:1089,weight:100}})}}class p8 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)}}$i(Fc.ID,Fc,0);ce(f8);ce(g8);ce(p8);jf(mx);class rw extends mo{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 ii(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=>MF.fromModelSelection(u))),c.length===1){const u=new ii(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new wi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new wi(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 _8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class m8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class v8 extends zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ye.and(F.textInputFocus,(e=ye.and(Ey,Ty))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class b8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class y8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class w8 extends zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ye.and(F.textInputFocus,(e=ye.and(Ey,Ty))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class S8 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 C8 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 x8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class k8 extends Vc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ye.and(F.textInputFocus,(e=ye.and(Ey,Ty))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class L8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class I8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class D8 extends Vc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ye.and(F.textInputFocus,(e=ye.and(Ey,Ty))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class E8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class T8 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 P8 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 mo{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(xs);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 Sk extends aw{_delete(e,t){const i=b_.deleteWordLeft(e,t);return i||new G(1,1,1,1)}}class Ck 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 G(n,s,n,s)}}class M8 extends Sk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:F.writable})}}class R8 extends Sk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:F.writable})}}class N8 extends Sk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class A8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:F.writable})}}class O8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:F.writable})}}class F8 extends Ck{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class H8 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()}}oi(new _8);oi(new m8);oi(new v8);oi(new b8);oi(new y8);oi(new w8);oi(new x8);oi(new k8);oi(new L8);oi(new I8);oi(new D8);oi(new E8);oi(new S8);oi(new C8);oi(new T8);oi(new P8);oi(new M8);oi(new R8);oi(new N8);oi(new A8);oi(new O8);oi(new F8);ce(H8);class W8 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 G(1,1,1,1)}}class B8 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 G(n,s,n,s)}}class IN extends rw{_move(e,t,i,n,s){return My.moveWordPartLeft(e,t,i,s)}}class z8 extends IN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class V8 extends IN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class DN extends rw{_move(e,t,i,n,s){return My.moveWordPartRight(e,t,i)}}class j8 extends DN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class $8 extends DN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}oi(new W8);oi(new B8);oi(new z8);oi(new V8);oi(new j8);oi(new $8);const Hk=class Hk extends ft{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ko.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ys(C("editor.simple.readonly","Cannot edit in read-only input")):t=new Ys(C("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};Hk.ID="editor.contrib.readOnlyMessageController";let db=Hk;$i(db.ID,db,2);var U8=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)}};let yx=class extends ft{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Vo(this,void 0);const n=yd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=yd("_textModel.onDidChangeContent",_s.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(h_(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new AF),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(NF(p_(s=>s.range.endLineNumber-s.range.startLineNumber,Sy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};yx=U8([xD(1,ni),xD(2,M_)],yx);RF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(yx,o));const Wk=class Wk extends ft{constructor(e){super(),this.editor=e,this.widget=null,SS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new wx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};Wk.ID="editor.contrib.iPadShowKeyboard";let ub=Wk;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 wx=ly;$i(ub.ID,ub,3);var q8=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},kD=function(o,e){return function(t,i){e(t,i,o)}},Sx,fu;let Gp=(fu=class extends ft{static get(e){return e.getContribution(Sx.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 Cx(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},Sx=fu,fu.ID="editor.contrib.inspectTokens",fu);Gp=Sx=q8([kD(1,KT),kD(2,da)],Gp);class G8 extends qe{constructor(){super({id:"editor.action.inspectTokens",label:WF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Gp.get(t);i==null||i.launch()}}function K8(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 Z8(o,e){const t=xy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>OF,tokenize:(n,s,r)=>HF(e,r),tokenizeEncoded:(n,s,r)=>FF(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=Z8(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,Gt("h2.tm-token",void 0,K8(r),Gt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),Ht(this._domNode,Gt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;Ht(this._domNode,Gt("table.tm-metadata-table",void 0,Gt("tbody",void 0,Gt("tr",void 0,Gt("td.tm-metadata-key",void 0,"language"),Gt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),Gt("tr",void 0,Gt("td.tm-metadata-key",void 0,"token type"),Gt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),Gt("tr",void 0,Gt("td.tm-metadata-key",void 0,"font style"),Gt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),Gt("tr",void 0,Gt("td.tm-metadata-key",void 0,"foreground"),Gt("td.tm-metadata-value",void 0,`${a?Yi.Format.CSS.formatHex(a.foreground):"-?-"}`)),Gt("tr",void 0,Gt("td.tm-metadata-key",void 0,"background"),Gt("td.tm-metadata-value",void 0,`${a?Yi.Format.CSS.formatHex(a.background):"-?-"}`))))),Ht(this._domNode,Gt("hr.tokens-inspect-separator")),i<t.tokens1.length&&Ht(this._domNode,Gt("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 Cx=cy;$i(Gp.ID,Gp,4);ce(G8);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},LD=function(o,e){return function(t,i){e(t,i,o)}},Wg,gu;let xx=(gu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=aa.as(y_.Quickaccess)}provide(e){const t=new ct;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);xx=Wg=X8([LD(0,El),LD(1,us)],xx);aa.as(y_.Quickaccess).registerQuickAccessProvider({ctor:xx,prefix:"",helpEntries:[{description:BF.helpQuickAccessActionLabel}]});class EN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new ct;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new $o);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 ct,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=ZT(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(XT(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 GT(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:gs(tT),position:Oa.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 EN{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 ct;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=ZT(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 kx=dy;var Y8=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},Q8=function(o,e){return function(t,i){e(t,i,o)}};let Kp=class extends kx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=_s.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Kp=Y8([Q8(0,os)],Kp);var pu;let TN=(pu=class extends qe{constructor(){super({id:pu.ID,label:YT.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);ce(TN);aa.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Kp,prefix:Kp.PREFIX,helpEntries:[{description:YT.gotoLineActionLabel,commandId:TN.ID}]});const PN=[void 0,[]];function rS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?J8(o,n.values,t,i):MN(o,e,t,i)}function J8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=MN(o,r,t,i);if(typeof a!="number")return PN;n+=a,s.push(...c)}return[n,e7(s)]}function MN(o,e,t,i){const n=yT(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Cy(n)]:PN}function e7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!t7(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 t7(o,e){return!(o.end<e.start||e.end<o.start)}function ID(o){return o.startsWith('"')&&o.endsWith('"')}const RN=" ";function Lx(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=DD(o),s=t.indexOf(TS)>=0,r=ID(o);let a;const c=o.split(RN);if(c.length>1)for(const u of c){const f=ID(u),{pathNormalized:g,normalized:p,normalizedLowercase:w}=DD(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 DD(o){let e;gy?e=o.replace(/\//g,TS):e=o.replace(/\\/g,TS);const t=zF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function ED(o){return Array.isArray(o)?Lx(o.map(e=>e.original).join(RN)):Lx(o.original)}var i7=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},TD=function(o,e){return function(t,i){e(t,i,o)}},Zm,Jr;let Dd=(Jr=class extends EN{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 ct;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 ct;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 Ts(n),i.busy=!0;try{const w=Lx(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=UF(m,k=>!!(k.type!=="separator"&&k.range&&G.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=ED(t.values[0]),f=ED(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"?Sn.asClassName(Li.splitHorizontal):Sn.asClassName(Li.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],$=VF(A.name),H=`$(${jF.toIcon(A.kind).id}) ${$}`,ie=H.length-$.length;let J=A.containerName;i!=null&&i.extraContainerLabel&&(J?J=`${i.extraContainerLabel} • ${J}`:J=i.extraContainerLabel);let ue,he,We,xe;if(t.original.length>c){let pt=!1;if(u!==t&&([ue,he]=rS(H,{...t,values:void 0},c,ie),typeof ue=="number"&&(pt=!0)),typeof ue!="number"&&([ue,he]=rS(H,u,c,ie),typeof ue!="number"))continue;if(!pt&&f){if(J&&f.original.length>0&&([We,xe]=rS(J,f)),typeof We!="number")continue;typeof ue=="number"&&(ue+=We)}}const rt=A.tags&&A.tags.indexOf(1)>=0;w.push({index:P,kind:A.kind,score:ue,label:H,ariaLabel:$F(A.name,A.kind),description:J,highlights:rt?void 0:{label:he,description:xe},range:{selection:G.collapseToStart(A.selectionRange),decoration:A.range},uri:s.uri,symbolName:$,strikethrough:rt,buttons:g})}const m=w.sort((P,A)=>a?this.compareByKindAndScore(P,A):this.compareByScore(P,A));let x=[];if(a){let H=function(){A&&typeof P=="number"&&$>0&&(A.label=r0(lS[P]||aS,$))},P,A,$=0;for(const ie of m)P!==ie.kind?(H(),P=ie.kind,$=1,A={type:"separator"},x.push(A)):$++,x.push(ie);H()}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=lS[e.kind]||aS,n=lS[t.kind]||aS,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=Jr,Jr.PREFIX="@",Jr.SCOPE_PREFIX=":",Jr.PREFIX_BY_CATEGORY=`${Jr.PREFIX}${Jr.SCOPE_PREFIX}`,Jr);Dd=Zm=i7([TD(0,ni),TD(1,M_)],Dd);const aS=C("property","properties ({0})"),lS={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 n7=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},cS=function(o,e){return function(t,i){e(t,i,o)}};let Ix=class extends Dd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=_s.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ix=n7([cS(0,os),cS(1,ni),cS(2,M_)],Ix);const uy=class uy extends qe{constructor(){super({id:uy.ID,label:PS.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:qF.NONE})}};uy.ID="editor.action.quickOutline";let hb=uy;ce(hb);aa.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Ix,prefix:Dd.PREFIX,helpEntries:[{description:PS.quickOutlineActionLabel,prefix:Dd.PREFIX,commandId:hb.ID},{description:PS.quickOutlineByCategoryActionLabel,prefix:Dd.PREFIX_BY_CATEGORY}]});function s7(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 s7(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 o7(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 dS(o){return Array.isArray(o.items)}function PD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class r7 extends ft{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new ct;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new $o),a=async()=>{var k;const f=r.value=new ct;s==null||s.dispose(!0),e.busy=!1,s=new Ts(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 H;let A,$;if(dS(E)?(A=E.items,$=E.active):A=E,A.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(GF(this.options.noResultsPick)?A=[this.options.noResultsPick(p)]:A=[this.options.noResultsPick])}return e.items=A,$&&(e.activeItems=[$]),!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 $=await E.additionalPicks;if(g.isCancellationRequested)return;let H,ie;dS(E.picks)?(H=E.picks.items,ie=E.picks.active):H=E.picks;let J,ue;if(dS($)?(J=$.items,ue=$.active):J=$,J.length>0||!P){let he;if(!ie&&!ue){const We=e.activeItems[0];We&&H.indexOf(We)!==-1&&(he=We)}m({items:[...H,...J],active:ie||ue||he})}}finally{g.isCancellationRequested||(e.busy=!1),A=!0}})()])};if(w!==null)if(PD(w))await x(w);else if(!(w instanceof Promise))m(w);else{e.busy=!0;try{const E=await w;if(g.isCancellationRequested)return;PD(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(H=>H!==P[0]),$=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=E,A&&(e.activeItems=A),e.keepScrollPosition=$}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 NN=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,ls,Ma;let Dx=(Ma=class extends r7{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(Ex)),this.options=e}async _getPicks(e,t,i,n){var w,m;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=XT(()=>{const x=new sp;x.updateDocuments(s.map(E=>({key:E.commandId,textChunks:[this.getTfIdfChunk(E)]})));const k=x.calculateScores(e,i);return o7(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($=>$.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),$=this.options.suggestedCommandIds.has(k.commandId);if(A&&$)return 0;if(A)return-1;if($)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=Ma,Ma.PREFIX=">",Ma.TFIDF_THRESHOLD=.5,Ma.TFIDF_MAX_RESULTS=5,Ma.WORD_FILTER=KF(YF,XF,ZF),Ma);Dx=id=NN([Ql(1,Mi),Ql(2,us),Ql(3,Cs),Ql(4,ca),Ql(5,m0)],Dx);var ea;let Ex=(ea=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===Qx.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=ls.getConfiguredCommandHistoryLength(this.configurationService),ls.cache&&ls.cache.limit!==this.configuredCommandsHistoryLength&&(ls.cache.limit=this.configuredCommandsHistoryLength,ls.hasChanges=!0))}load(){const e=this.storageService.get(ls.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ls.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))}ls.counter=this.storageService.getNumber(ls.PREF_KEY_COUNTER,0,ls.counter)}push(e){ls.cache&&(ls.cache.set(e,ls.counter++),ls.hasChanges=!0)}peek(e){var t;return(t=ls.cache)==null?void 0:t.peek(e)}saveState(){if(!ls.cache||!ls.hasChanges)return;const e={usesLRU:!0,entries:[]};ls.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ls.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ls.PREF_KEY_COUNTER,ls.counter,0,0),ls.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:ls.DEFAULT_COMMANDS_HISTORY_LENGTH}},ls=ea,ea.DEFAULT_COMMANDS_HISTORY_LENGTH=50,ea.PREF_KEY_CACHE="commandPalette.mru.cache",ea.PREF_KEY_COUNTER="commandPalette.mru.counter",ea.counter=1,ea.hasChanges=!1,ea);Ex=ls=NN([Ql(0,Wc),Ql(1,$n),Ql(2,Hu)],Ex);class a7 extends Dx{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&&(QF(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:JF(n.label)||n.id})}return t}}var l7=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 a7{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=l7([uh(0,Mi),uh(1,os),uh(2,us),uh(3,Cs),uh(4,ca),uh(5,m0)],Zp);const hy=class hy extends qe{constructor(){super({id:hy.ID,label:QT.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;ce(fb);aa.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Zp,prefix:Zp.PREFIX,helpEntries:[{description:QT.quickCommandHelp,commandId:fb.ID}]});var c7=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 Tx=class extends Eu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Tx=c7([hh(1,mn),hh(2,os),hh(3,oo),hh(4,Mi),hh(5,Wc),hh(6,$n)],Tx);$i(Eu.ID,Tx,4);class d7 extends qe{constructor(){super({id:"editor.action.toggleHighContrast",label:e3.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(KT),n=i.getColorTheme();up(n.type)?(i.setTheme(this._originalThemeName||(PL(n.type)?t3:i3)),this._originalThemeName=null):(i.setTheme(PL(n.type)?n3:s3),this._originalThemeName=n.themeName)}}ce(d7);let Px=null;function u7(o){Px=o}function h7(o={}){return{"Content-Type":"application/json",...o}}async function Xt(o,e,t){const i=await fetch(e,{method:o,headers:h7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Px&&Px(),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 f7(){return await(await fetch("/she/auth/mode")).json()}async function g7(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 p7(){await fetch("/she/auth/logout",{method:"POST"})}async function _7(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 m7(){return Xt("GET","/she/scripts/tree")}function uS(o){return Xt("GET",`/she/scripts/${o}`)}function Qc(o,e){return Xt("PUT",`/she/scripts/${o}`,{content:e})}function wm(o){return Xt("DELETE",`/she/scripts/${o}`)}function MD(o,e){return Xt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function v7(o){return Xt("POST","/she/scripts/mkdir",{path:o})}function b7(){return Xt("GET","/she/git/status")}function Bg(){return Xt("GET","/she/status")}function AN(){return Xt("POST","/she/restart")}function y7(){return Xt("POST","/she/update")}function w7(){return Xt("POST","/she/check-update")}function S7(o,e){return Xt("POST","/she/git/commit",{path:o,message:e})}function RD(o,e){return Xt("POST","/she/git/commit",{files:o,message:e})}function ND(o){return Xt("POST","/she/git/commit",{message:o})}function Sm(o){return Xt("POST","/she/git/push",{remote:o})}function C7(o,e){return Xt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function x7(o,e){return Xt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Dl(){return Xt("GET","/she/config")}function Xp(o){return Xt("PUT","/she/config",o)}function ON(){return Xt("GET","/she/db/docs")}function k7(o){return Xt("GET",`/she/db/docs/${o}`)}function AD(o,e){return Xt("PUT",`/she/db/docs/${o}`,e)}function L7(o){return Xt("DELETE",`/she/db/docs/${o}`)}function FN(){return Xt("GET","/she/db/views")}function I7(o){return Xt("GET",`/she/db/views/${o}`)}function OD(o,e){return Xt("PUT",`/she/db/views/${o}`,e)}function D7(o){return Xt("DELETE",`/she/db/views/${o}`)}function E7(){return Xt("GET","/she/deps")}function T7(o){return Xt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function P7(o,e){return Xt("POST","/she/deps/install",{name:o,version:null})}function M7(o){return Xt("POST","/she/deps/remove",{name:o})}function R7(o){return Xt("POST","/she/deps/update",{name:o})}function HN(){return Xt("GET","/she/deps/outdated")}function N7(){return Xt("POST","/she/deps/check-outdated")}function A7(){return Xt("GET","/she/ai/conversations")}function FD(o){return Xt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function O7(o,e,t){return Xt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function F7(o){return Xt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function hS(o){return Xt("GET",`/she/db/views/${o}/result`)}function WN(){return Xt("GET","/she/matter/devices")}function Xm(o){return Xt("GET",`/she/matter/devices/${o}`)}function H7(o){return Xt("POST","/she/matter/commission",o)}function W7(o){return Xt("DELETE",`/she/matter/devices/${o}`)}function B7(o,e,t,i,n){return Xt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function BN(){return Xt("GET","/she/mqtt/state")}function HD(o,e,t=!1,i=0){return Xt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function zN(){return Xt("GET","/she/ai/config")}function VN(){return Xt("GET","/she/ai/models")}function Mx(o){return Xt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function jN(o){return Xt("POST","/she/ai/prompt",o)}async function $N(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 UN(){return Xt("GET","/she/broker/status")}function z7(){return Xt("GET","/she/broker/config")}function V7(o){return Xt("PUT","/she/broker/config",o)}function j7(){return Xt("POST","/she/broker/reload")}function $7(){return Xt("POST","/she/broker/restart")}function U7(){return Xt("POST","/she/broker/wizard/deactivate")}function q7(){return Xt("POST","/she/broker/wizard/reinit")}function G7(){return Xt("GET","/she/broker/wizard/diagnose")}function K7(){return Xt("GET","/she/broker/users")}function Z7(o,e){return Xt("POST","/she/broker/users",{username:o,password:e})}function X7(o){return Xt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function Y7(o,e){return Xt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function Q7(){return Xt("GET","/she/broker/roles")}function J7(o){return Xt("POST","/she/broker/roles",{rolename:o})}function eq(o){return Xt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function tq(o,e){return Xt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function iq(o,e,t){return Xt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function nq(){return Xt("GET","/she/broker/groups")}function sq(o){return Xt("POST","/she/broker/groups",{groupname:o})}function oq(o){return Xt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function rq(){return Xt("GET","/she/broker/ca")}function aq(o){return Xt("POST","/she/broker/ca/generate",o??{})}function lq(){return Xt("GET","/she/broker/ca/server")}function cq(o){return Xt("POST","/she/broker/ca/server/generate",o)}function dq(){return Xt("GET","/she/broker/ca/certs")}function uq(o){return Xt("POST","/she/broker/ca/certs",o)}function hq(o){return Xt("DELETE",`/she/broker/ca/certs/${encodeURIComponent(o)}`)}function Jc(o,e){return`/she/broker/ca/certs/${encodeURIComponent(o)}/download?type=${e}`}function fq(){return Xt("GET","/she/broker/ca/trusted")}function gq(o){return Xt("POST","/she/broker/ca/trusted",{pem:o})}function pq(o){return Xt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}const _q=2e3,Ym=[];function qN(){return Ym.slice()}let lc=null;const gb=new Set,Nh=new Map;let Rx=null;function Yp(){let o=gb.size;for(const e of Nh.values())o+=e.size;return o}function mq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function xk(){if(lc)return;const o=mq(),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>=_q&&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&&(Rx=setTimeout(xk,3e3))},e.onerror=()=>{e.close()}}function GN(){Rx&&clearTimeout(Rx),lc==null||lc.close(),lc=null}function kk(o){return gb.add(o),Yp()===1&&xk(),()=>{gb.delete(o),Yp()===0&&GN()}}function kr(o,e){return Nh.has(o)||Nh.set(o,new Set),Nh.get(o).add(e),Yp()===1&&xk(),()=>{var t;(t=Nh.get(o))==null||t.delete(e),Yp()===0&&GN()}}var vq=T('<button class="cancel svelte-1eh8v5n">Cancel</button>'),bq=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){Ns(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=Rs();cs("keydown",Cd,f);var w=Ct(p);{var m=x=>{var k=bq(),E=Ct(k),P=b(E,2),A=v(P),$=v(A),H=b(A,2),ie=v(H);{var J=xe=>{var rt=vq();U("click",rt,()=>u(!1)),D(xe,rt)};W(ie,xe=>{d(r)||xe(J)})}var ue=b(ie,2);let he;var We=v(ue);j(()=>{O($,d(i)),he=Tt(ue,1,"svelte-1eh8v5n",null,he,{danger:d(s)}),O(We,d(n))}),U("click",E,()=>u(!1)),U("click",ue,()=>u(!0)),D(x,k)};W(w,x=>{d(t)&&x(m)})}return D(o,p),As(g)}Ks(["click"]);var yq=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 wq(o,e){Ns(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=Rs();cs("keydown",Cd,p);var x=Ct(m);{var k=E=>{var P=yq(),A=Ct(P),$=b(A,2),H=v($),ie=v(H),J=b(H,2);Ds(J,rt=>y(c,rt),()=>d(c));var ue=b(J,2),he=v(ue),We=b(he,2),xe=v(We);j(rt=>{O(ie,d(i)),Ai(J,"placeholder",d(n)),We.disabled=rt,O(xe,d(s))},[()=>!d(r).trim()]),U("click",A,g),U("keydown",J,rt=>{rt.key==="Enter"&&(rt.preventDefault(),f())}),ti(J,()=>d(r),rt=>y(r,rt)),U("click",he,g),U("click",We,f),D(E,P)};W(x,E=>{d(t)&&E(k)})}return D(o,m),As(w)}Ks(["click","keydown"]);function KN(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var fS,WD;function Sq(){if(WD)return fS;WD=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(Q=>{const oe=N[Q],Ie=typeof oe;(Ie==="object"||Ie==="function")&&!Object.isFrozen(oe)&&o(oe)}),N}class e{constructor(Q){Q.data===void 0&&(Q.data={}),this.data=Q.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,...Q){const oe=Object.create(null);for(const Ie in N)oe[Ie]=N[Ie];return Q.forEach(function(Ie){for(const De in Ie)oe[De]=Ie[De]}),oe}const n="</span>",s=N=>!!N.scope,r=(N,{prefix:Q})=>{if(N.startsWith("language:"))return N.replace("language:","language-");if(N.includes(".")){const oe=N.split(".");return[`${Q}${oe.shift()}`,...oe.map((Ie,De)=>`${Ie}${"_".repeat(De+1)}`)].join(" ")}return`${Q}${N}`};class a{constructor(Q,oe){this.buffer="",this.classPrefix=oe.classPrefix,Q.walk(this)}addText(Q){this.buffer+=t(Q)}openNode(Q){if(!s(Q))return;const oe=r(Q.scope,{prefix:this.classPrefix});this.span(oe)}closeNode(Q){s(Q)&&(this.buffer+=n)}value(){return this.buffer}span(Q){this.buffer+=`<span class="${Q}">`}}const c=(N={})=>{const Q={children:[]};return Object.assign(Q,N),Q};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(Q){this.top.children.push(Q)}openNode(Q){const oe=c({scope:Q});this.add(oe),this.stack.push(oe)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Q){return this.constructor._walk(Q,this.rootNode)}static _walk(Q,oe){return typeof oe=="string"?Q.addText(oe):oe.children&&(Q.openNode(oe),oe.children.forEach(Ie=>this._walk(Q,Ie)),Q.closeNode(oe)),Q}static _collapse(Q){typeof Q!="string"&&Q.children&&(Q.children.every(oe=>typeof oe=="string")?Q.children=[Q.children.join("")]:Q.children.forEach(oe=>{u._collapse(oe)}))}}class f extends u{constructor(Q){super(),this.options=Q}addText(Q){Q!==""&&this.add(Q)}startScope(Q){this.openNode(Q)}endScope(){this.closeNode()}__addSublanguage(Q,oe){const Ie=Q.root;oe&&(Ie.scope=`language:${oe}`),this.add(Ie)}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(oe=>g(oe)).join("")}function k(N){const Q=N[N.length-1];return typeof Q=="object"&&Q.constructor===Object?(N.splice(N.length-1,1),Q):{}}function E(...N){return"("+(k(N).capture?"":"?:")+N.map(Ie=>g(Ie)).join("|")+")"}function P(N){return new RegExp(N.toString()+"|").exec("").length-1}function A(N,Q){const oe=N&&N.exec(Q);return oe&&oe.index===0}const $=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(N,{joinWith:Q}){let oe=0;return N.map(Ie=>{oe+=1;const De=oe;let B=g(Ie),q="";for(;B.length>0;){const Y=$.exec(B);if(!Y){q+=B;break}q+=B.substring(0,Y.index),B=B.substring(Y.index+Y[0].length),Y[0][0]==="\\"&&Y[1]?q+="\\"+String(Number(Y[1])+De):(q+=Y[0],Y[0]==="("&&oe++)}return q}).map(Ie=>`(${Ie})`).join(Q)}const ie=/\b\B/,J="[a-zA-Z]\\w*",ue="[a-zA-Z_]\\w*",he="\\b\\d+(\\.\\d+)?",We="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",xe="\\b(0b[01]+)",rt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",pt=(N={})=>{const Q=/^#![ ]*\//;return N.binary&&(N.begin=x(Q,/.*\b/,N.binary,/\b.*/)),i({scope:"meta",begin:Q,end:/$/,relevance:0,"on:begin":(oe,Ie)=>{oe.index!==0&&Ie.ignoreMatch()}},N)},ve={begin:"\\\\[\\s\\S]",relevance:0},dt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ve]},gt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ve]},Pt={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/},fe=function(N,Q,oe={}){const Ie=i({scope:"comment",begin:N,end:Q,contains:[]},oe);Ie.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 De=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 Ie.contains.push({begin:x(/[ ]+/,"(",De,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ie},Et=fe("//","$"),Oe=fe("/\\*","\\*/"),Te=fe("#","$"),ut={scope:"number",begin:he,relevance:0},Wt={scope:"number",begin:We,relevance:0},Zt={scope:"number",begin:xe,relevance:0},Mt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[ve,{begin:/\[/,end:/\]/,relevance:0,contains:[ve]}]},Lt={scope:"title",begin:J,relevance:0},At={scope:"title",begin:ue,relevance:0},kt={begin:"\\.\\s*"+ue,relevance:0};var hi=Object.freeze({__proto__:null,APOS_STRING_MODE:dt,BACKSLASH_ESCAPE:ve,BINARY_NUMBER_MODE:Zt,BINARY_NUMBER_RE:xe,COMMENT:fe,C_BLOCK_COMMENT_MODE:Oe,C_LINE_COMMENT_MODE:Et,C_NUMBER_MODE:Wt,C_NUMBER_RE:We,END_SAME_AS_BEGIN:function(N){return Object.assign(N,{"on:begin":(Q,oe)=>{oe.data._beginMatch=Q[1]},"on:end":(Q,oe)=>{oe.data._beginMatch!==Q[1]&&oe.ignoreMatch()}})},HASH_COMMENT_MODE:Te,IDENT_RE:J,MATCH_NOTHING_RE:ie,METHOD_GUARD:kt,NUMBER_MODE:ut,NUMBER_RE:he,PHRASAL_WORDS_MODE:Pt,QUOTE_STRING_MODE:gt,REGEXP_MODE:Mt,RE_STARTERS_RE:rt,SHEBANG:pt,TITLE_MODE:Lt,UNDERSCORE_IDENT_RE:ue,UNDERSCORE_TITLE_MODE:At});function Di(N,Q){N.input[N.index-1]==="."&&Q.ignoreMatch()}function Fi(N,Q){N.className!==void 0&&(N.scope=N.className,delete N.className)}function Ri(N,Q){Q&&N.beginKeywords&&(N.begin="\\b("+N.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",N.__beforeBegin=Di,N.keywords=N.keywords||N.beginKeywords,delete N.beginKeywords,N.relevance===void 0&&(N.relevance=0))}function Ni(N,Q){Array.isArray(N.illegal)&&(N.illegal=E(...N.illegal))}function Ii(N,Q){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 ci(N,Q){N.relevance===void 0&&(N.relevance=1)}const vi=(N,Q)=>{if(!N.beforeMatch)return;if(N.starts)throw new Error("beforeMatch cannot be used with starts");const oe=Object.assign({},N);Object.keys(N).forEach(Ie=>{delete N[Ie]}),N.keywords=oe.keywords,N.begin=x(oe.beforeMatch,p(oe.begin)),N.starts={relevance:0,contains:[Object.assign(oe,{endsParent:!0})]},N.relevance=0,delete oe.beforeMatch},it=["of","and","for","in","not","or","if","then","parent","list","value"],zt="keyword";function gi(N,Q,oe=zt){const Ie=Object.create(null);return typeof N=="string"?De(oe,N.split(" ")):Array.isArray(N)?De(oe,N):Object.keys(N).forEach(function(B){Object.assign(Ie,gi(N[B],Q,B))}),Ie;function De(B,q){Q&&(q=q.map(Y=>Y.toLowerCase())),q.forEach(function(Y){const me=Y.split("|");Ie[me[0]]=[B,Ti(me[0],me[1])]})}}function Ti(N,Q){return Q?Number(Q):Zi(N)?0:1}function Zi(N){return it.includes(N.toLowerCase())}const Bi={},zi=N=>{console.error(N)},vn=(N,...Q)=>{console.log(`WARN: ${N}`,...Q)},ln=(N,Q)=>{Bi[`${N}/${Q}`]||(console.log(`Deprecated as of ${N}. ${Q}`),Bi[`${N}/${Q}`]=!0)},Pi=new Error;function yn(N,Q,{key:oe}){let Ie=0;const De=N[oe],B={},q={};for(let Y=1;Y<=Q.length;Y++)q[Y+Ie]=De[Y],B[Y+Ie]=!0,Ie+=P(Q[Y-1]);N[oe]=q,N[oe]._emit=B,N[oe]._multi=!0}function Re(N){if(Array.isArray(N.begin)){if(N.skip||N.excludeBegin||N.returnBegin)throw zi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Pi;if(typeof N.beginScope!="object"||N.beginScope===null)throw zi("beginScope must be object"),Pi;yn(N,N.begin,{key:"beginScope"}),N.begin=H(N.begin,{joinWith:""})}}function jt(N){if(Array.isArray(N.end)){if(N.skip||N.excludeEnd||N.returnEnd)throw zi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Pi;if(typeof N.endScope!="object"||N.endScope===null)throw zi("endScope must be object"),Pi;yn(N,N.end,{key:"endScope"}),N.end=H(N.end,{joinWith:""})}}function di(N){N.scope&&typeof N.scope=="object"&&N.scope!==null&&(N.beginScope=N.scope,delete N.scope)}function qt(N){di(N),typeof N.beginScope=="string"&&(N.beginScope={_wrap:N.beginScope}),typeof N.endScope=="string"&&(N.endScope={_wrap:N.endScope}),Re(N),jt(N)}function Le(N){function Q(q,Y){return new RegExp(g(q),"m"+(N.case_insensitive?"i":"")+(N.unicodeRegex?"u":"")+(Y?"g":""))}class oe{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Y,me){me.position=this.position++,this.matchIndexes[this.matchAt]=me,this.regexes.push([me,Y]),this.matchAt+=P(Y)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Y=this.regexes.map(me=>me[1]);this.matcherRe=Q(H(Y,{joinWith:"|"}),!0),this.lastIndex=0}exec(Y){this.matcherRe.lastIndex=this.lastIndex;const me=this.matcherRe.exec(Y);if(!me)return null;const Qe=me.findIndex((Se,lt)=>lt>0&&Se!==void 0),Ee=this.matchIndexes[Qe];return me.splice(0,Qe),Object.assign(me,Ee)}}class Ie{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Y){if(this.multiRegexes[Y])return this.multiRegexes[Y];const me=new oe;return this.rules.slice(Y).forEach(([Qe,Ee])=>me.addRule(Qe,Ee)),me.compile(),this.multiRegexes[Y]=me,me}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Y,me){this.rules.push([Y,me]),me.type==="begin"&&this.count++}exec(Y){const me=this.getMatcher(this.regexIndex);me.lastIndex=this.lastIndex;let Qe=me.exec(Y);if(this.resumingScanAtSamePosition()&&!(Qe&&Qe.index===this.lastIndex)){const Ee=this.getMatcher(0);Ee.lastIndex=this.lastIndex+1,Qe=Ee.exec(Y)}return Qe&&(this.regexIndex+=Qe.position+1,this.regexIndex===this.count&&this.considerAll()),Qe}}function De(q){const Y=new Ie;return q.contains.forEach(me=>Y.addRule(me.begin,{rule:me,type:"begin"})),q.terminatorEnd&&Y.addRule(q.terminatorEnd,{type:"end"}),q.illegal&&Y.addRule(q.illegal,{type:"illegal"}),Y}function B(q,Y){const me=q;if(q.isCompiled)return me;[Fi,Ii,qt,vi].forEach(Ee=>Ee(q,Y)),N.compilerExtensions.forEach(Ee=>Ee(q,Y)),q.__beforeBegin=null,[Ri,Ni,ci].forEach(Ee=>Ee(q,Y)),q.isCompiled=!0;let Qe=null;return typeof q.keywords=="object"&&q.keywords.$pattern&&(q.keywords=Object.assign({},q.keywords),Qe=q.keywords.$pattern,delete q.keywords.$pattern),Qe=Qe||/\w+/,q.keywords&&(q.keywords=gi(q.keywords,N.case_insensitive)),me.keywordPatternRe=Q(Qe,!0),Y&&(q.begin||(q.begin=/\B|\b/),me.beginRe=Q(me.begin),!q.end&&!q.endsWithParent&&(q.end=/\B|\b/),q.end&&(me.endRe=Q(me.end)),me.terminatorEnd=g(me.end)||"",q.endsWithParent&&Y.terminatorEnd&&(me.terminatorEnd+=(q.end?"|":"")+Y.terminatorEnd)),q.illegal&&(me.illegalRe=Q(q.illegal)),q.contains||(q.contains=[]),q.contains=[].concat(...q.contains.map(function(Ee){return ai(Ee==="self"?q:Ee)})),q.contains.forEach(function(Ee){B(Ee,me)}),q.starts&&B(q.starts,Y),me.matcher=De(me),me}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||{}),B(N)}function It(N){return N?N.endsWithParent||It(N.starts):!1}function ai(N){return N.variants&&!N.cachedVariants&&(N.cachedVariants=N.variants.map(function(Q){return i(N,{variants:null},Q)})),N.cachedVariants?N.cachedVariants:It(N)?i(N,{starts:N.starts?i(N.starts):null}):Object.isFrozen(N)?i(N):N}var pi="11.11.1";class _i extends Error{constructor(Q,oe){super(Q),this.name="HTMLInjectionError",this.html=oe}}const Fe=t,X=i,ee=Symbol("nomatch"),de=7,ke=function(N){const Q=Object.create(null),oe=Object.create(null),Ie=[];let De=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",q={disableAutodetect:!0,name:"Plain text",contains:[]};let Y={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function me(z){return Y.noHighlightRe.test(z)}function Qe(z){let te=z.className+" ";te+=z.parentNode?z.parentNode.className:"";const Ge=Y.languageDetectRe.exec(te);if(Ge){const Je=ri(Ge[1]);return Je||(vn(B.replace("{}",Ge[1])),vn("Falling back to no-highlight mode for this block.",z)),Je?Ge[1]:"no-highlight"}return te.split(/\s+/).find(Je=>me(Je)||ri(Je))}function Ee(z,te,Ge){let Je="",ge="";typeof te=="object"?(Je=z,Ge=te.ignoreIllegals,ge=te.language):(ln("10.7.0","highlight(lang, code, ...args) has been deprecated."),ln("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),ge=z,Je=te),Ge===void 0&&(Ge=!0);const be={code:Je,language:ge};ki("before:highlight",be);const vt=be.result?be.result:Se(be.language,be.code,Ge);return vt.code=be.code,ki("after:highlight",vt),vt}function Se(z,te,Ge,Je){const ge=Object.create(null);function be(we,ot){return we.keywords[ot]}function vt(){if(!Ze.keywords){st.addText(Me);return}let we=0;Ze.keywordPatternRe.lastIndex=0;let ot=Ze.keywordPatternRe.exec(Me),_t="";for(;ot;){_t+=Me.substring(we,ot.index);const mt=Pe.case_insensitive?ot[0].toLowerCase():ot[0],Xe=be(Ze,mt);if(Xe){const[Yt,si]=Xe;if(st.addText(_t),_t="",ge[mt]=(ge[mt]||0)+1,ge[mt]<=de&&(ze+=si),Yt.startsWith("_"))_t+=ot[0];else{const un=Pe.classNameAliases[Yt]||Yt;Ke(ot[0],un)}}else _t+=ot[0];we=Ze.keywordPatternRe.lastIndex,ot=Ze.keywordPatternRe.exec(Me)}_t+=Me.substring(we),st.addText(_t)}function Ei(){if(Me==="")return;let we=null;if(typeof Ze.subLanguage=="string"){if(!Q[Ze.subLanguage]){st.addText(Me);return}we=Se(Ze.subLanguage,Me,!0,Ut[Ze.subLanguage]),Ut[Ze.subLanguage]=we._top}else we=Bt(Me,Ze.subLanguage.length?Ze.subLanguage:null);Ze.relevance>0&&(ze+=we.relevance),st.__addSublanguage(we._emitter,we.language)}function Ne(){Ze.subLanguage!=null?Ei():vt(),Me=""}function Ke(we,ot){we!==""&&(st.startScope(ot),st.addText(we),st.endScope())}function Vt(we,ot){let _t=1;const mt=ot.length-1;for(;_t<=mt;){if(!we._emit[_t]){_t++;continue}const Xe=Pe.classNameAliases[we[_t]]||we[_t],Yt=ot[_t];Xe?Ke(Yt,Xe):(Me=Yt,vt(),Me=""),_t++}}function et(we,ot){return we.scope&&typeof we.scope=="string"&&st.openNode(Pe.classNameAliases[we.scope]||we.scope),we.beginScope&&(we.beginScope._wrap?(Ke(Me,Pe.classNameAliases[we.beginScope._wrap]||we.beginScope._wrap),Me=""):we.beginScope._multi&&(Vt(we.beginScope,ot),Me="")),Ze=Object.create(we,{parent:{value:Ze}}),Ze}function bt(we,ot,_t){let mt=A(we.endRe,_t);if(mt){if(we["on:end"]){const Xe=new e(we);we["on:end"](ot,Xe),Xe.isMatchIgnored&&(mt=!1)}if(mt){for(;we.endsParent&&we.parent;)we=we.parent;return we}}if(we.endsWithParent)return bt(we.parent,ot,_t)}function Jt(we){return Ze.matcher.regexIndex===0?(Me+=we[0],1):(Nt=!0,0)}function K(we){const ot=we[0],_t=we.rule,mt=new e(_t),Xe=[_t.__beforeBegin,_t["on:begin"]];for(const Yt of Xe)if(Yt&&(Yt(we,mt),mt.isMatchIgnored))return Jt(ot);return _t.skip?Me+=ot:(_t.excludeBegin&&(Me+=ot),Ne(),!_t.returnBegin&&!_t.excludeBegin&&(Me=ot)),et(_t,we),_t.returnBegin?0:ot.length}function se(we){const ot=we[0],_t=te.substring(we.index),mt=bt(Ze,we,_t);if(!mt)return ee;const Xe=Ze;Ze.endScope&&Ze.endScope._wrap?(Ne(),Ke(ot,Ze.endScope._wrap)):Ze.endScope&&Ze.endScope._multi?(Ne(),Vt(Ze.endScope,we)):Xe.skip?Me+=ot:(Xe.returnEnd||Xe.excludeEnd||(Me+=ot),Ne(),Xe.excludeEnd&&(Me=ot));do Ze.scope&&st.closeNode(),!Ze.skip&&!Ze.subLanguage&&(ze+=Ze.relevance),Ze=Ze.parent;while(Ze!==mt.parent);return mt.starts&&et(mt.starts,we),Xe.returnEnd?0:ot.length}function Ue(){const we=[];for(let ot=Ze;ot!==Pe;ot=ot.parent)ot.scope&&we.unshift(ot.scope);we.forEach(ot=>st.openNode(ot))}let tt={};function He(we,ot){const _t=ot&&ot[0];if(Me+=we,_t==null)return Ne(),0;if(tt.type==="begin"&&ot.type==="end"&&tt.index===ot.index&&_t===""){if(Me+=te.slice(ot.index,ot.index+1),!De){const mt=new Error(`0 width match regex (${z})`);throw mt.languageName=z,mt.badRule=tt.rule,mt}return 1}if(tt=ot,ot.type==="begin")return K(ot);if(ot.type==="illegal"&&!Ge){const mt=new Error('Illegal lexeme "'+_t+'" for mode "'+(Ze.scope||"<unnamed>")+'"');throw mt.mode=Ze,mt}else if(ot.type==="end"){const mt=se(ot);if(mt!==ee)return mt}if(ot.type==="illegal"&&_t==="")return Me+=`
|
|
81
|
-
`,1;if(je>1e5&&je>ot.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Me+=_t,_t.length}const Pe=ri(z);if(!Pe)throw zi(B.replace("{}",z)),new Error('Unknown language: "'+z+'"');const $t=Le(Pe);let xt="",Ze=Je||$t;const Ut={},st=new Y.__emitter(Y);Ue();let Me="",ze=0,Ve=0,je=0,Nt=!1;try{if(Pe.__emitTokens)Pe.__emitTokens(te,st);else{for(Ze.matcher.considerAll();;){je++,Nt?Nt=!1:Ze.matcher.considerAll(),Ze.matcher.lastIndex=Ve;const we=Ze.matcher.exec(te);if(!we)break;const ot=te.substring(Ve,we.index),_t=He(ot,we);Ve=we.index+_t}He(te.substring(Ve))}return st.finalize(),xt=st.toHTML(),{language:z,value:xt,relevance:ze,illegal:!1,_emitter:st,_top:Ze}}catch(we){if(we.message&&we.message.includes("Illegal"))return{language:z,value:Fe(te),illegal:!0,relevance:0,_illegalBy:{message:we.message,index:Ve,context:te.slice(Ve-100,Ve+100),mode:we.mode,resultSoFar:xt},_emitter:st};if(De)return{language:z,value:Fe(te),illegal:!1,relevance:0,errorRaised:we,_emitter:st,_top:Ze};throw we}}function lt(z){const te={value:Fe(z),illegal:!1,relevance:0,_top:q,_emitter:new Y.__emitter(Y)};return te._emitter.addText(z),te}function Bt(z,te){te=te||Y.languages||Object.keys(Q);const Ge=lt(z),Je=te.filter(ri).filter(Ci).map(Ne=>Se(Ne,z,!1));Je.unshift(Ge);const ge=Je.sort((Ne,Ke)=>{if(Ne.relevance!==Ke.relevance)return Ke.relevance-Ne.relevance;if(Ne.language&&Ke.language){if(ri(Ne.language).supersetOf===Ke.language)return 1;if(ri(Ke.language).supersetOf===Ne.language)return-1}return 0}),[be,vt]=ge,Ei=be;return Ei.secondBest=vt,Ei}function St(z,te,Ge){const Je=te&&oe[te]||Ge;z.classList.add("hljs"),z.classList.add(`language-${Je}`)}function Dt(z){let te=null;const Ge=Qe(z);if(me(Ge))return;if(ki("before:highlightElement",{el:z,language:Ge}),z.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",z);return}if(z.children.length>0&&(Y.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(z)),Y.throwUnescapedHTML))throw new _i("One of your code blocks includes unescaped HTML.",z.innerHTML);te=z;const Je=te.textContent,ge=Ge?Ee(Je,{language:Ge,ignoreIllegals:!0}):Bt(Je);z.innerHTML=ge.value,z.dataset.highlighted="yes",St(z,Ge,ge.language),z.result={language:ge.language,re:ge.relevance,relevance:ge.relevance},ge.secondBest&&(z.secondBest={language:ge.secondBest.language,relevance:ge.secondBest.relevance}),ki("after:highlightElement",{el:z,result:ge,text:Je})}function Ft(z){Y=X(Y,z)}const ne=()=>{at(),ln("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _e(){at(),ln("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Be=!1;function at(){function z(){at()}if(document.readyState==="loading"){Be||window.addEventListener("DOMContentLoaded",z,!1),Be=!0;return}document.querySelectorAll(Y.cssSelector).forEach(Dt)}function nt(z,te){let Ge=null;try{Ge=te(N)}catch(Je){if(zi("Language definition for '{}' could not be registered.".replace("{}",z)),De)zi(Je);else throw Je;Ge=q}Ge.name||(Ge.name=z),Q[z]=Ge,Ge.rawDefinition=te.bind(null,N),Ge.aliases&&fi(Ge.aliases,{languageName:z})}function Ye(z){delete Q[z];for(const te of Object.keys(oe))oe[te]===z&&delete oe[te]}function Rt(){return Object.keys(Q)}function ri(z){return z=(z||"").toLowerCase(),Q[z]||Q[oe[z]]}function fi(z,{languageName:te}){typeof z=="string"&&(z=[z]),z.forEach(Ge=>{oe[Ge.toLowerCase()]=te})}function Ci(z){const te=ri(z);return te&&!te.disableAutodetect}function en(z){z["before:highlightBlock"]&&!z["before:highlightElement"]&&(z["before:highlightElement"]=te=>{z["before:highlightBlock"](Object.assign({block:te.el},te))}),z["after:highlightBlock"]&&!z["after:highlightElement"]&&(z["after:highlightElement"]=te=>{z["after:highlightBlock"](Object.assign({block:te.el},te))})}function fn(z){en(z),Ie.push(z)}function cn(z){const te=Ie.indexOf(z);te!==-1&&Ie.splice(te,1)}function ki(z,te){const Ge=z;Ie.forEach(function(Je){Je[Ge]&&Je[Ge](te)})}function Xi(z){return ln("10.7.0","highlightBlock will be removed entirely in v12.0"),ln("10.7.0","Please use highlightElement now."),Dt(z)}Object.assign(N,{highlight:Ee,highlightAuto:Bt,highlightAll:at,highlightElement:Dt,highlightBlock:Xi,configure:Ft,initHighlighting:ne,initHighlightingOnLoad:_e,registerLanguage:nt,unregisterLanguage:Ye,listLanguages:Rt,getLanguage:ri,registerAliases:fi,autoDetection:Ci,inherit:X,addPlugin:fn,removePlugin:cn}),N.debugMode=function(){De=!1},N.safeMode=function(){De=!0},N.versionString=pi,N.regex={concat:x,lookahead:p,either:E,optional:m,anyNumberOfTimes:w};for(const z in hi)typeof hi[z]=="object"&&o(hi[z]);return Object.assign(N,hi),N},$e=ke({});return $e.newInstance=()=>ke({}),fS=$e,$e.HighlightJS=$e,$e.default=$e,fS}var Cq=Sq();const pb=KN(Cq),BD="[A-Za-z$_][0-9A-Za-z$_]*",xq=["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"],kq=["true","false","null","undefined","NaN","Infinity"],ZN=["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"],XN=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],YN=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Lq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Iq=[].concat(YN,ZN,XN);function QN(o){const e=o.regex,t=(fe,{after:Et})=>{const Oe="</"+fe[0].slice(1);return fe.input.indexOf(Oe,Et)!==-1},i=BD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(fe,Et)=>{const Oe=fe[0].length+fe.index,Te=fe.input[Oe];if(Te==="<"||Te===","){Et.ignoreMatch();return}Te===">"&&(t(fe,{after:Oe})||Et.ignoreMatch());let ut;const Wt=fe.input.substring(Oe);if(ut=Wt.match(/^\s*=/)){Et.ignoreMatch();return}if((ut=Wt.match(/^\s+extends\s+/))&&ut.index===0){Et.ignoreMatch();return}}},a={$pattern:BD,keyword:xq,literal:kq,built_in:Iq,"variable.language":Lq},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 $=[].concat(P,p.contains),H=$.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat($)}]),ie={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},J={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"}}]},ue={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:{_:[...ZN,...XN]}},he={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},We={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ie],illegal:/%/},xe={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function rt(fe){return e.concat("(?!",fe.join("|"),")")}const pt={match:e.concat(/\b/,rt([...YN,"super","import"].map(fe=>`${fe}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},ve={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},dt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ie]},gt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Pt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(gt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ie]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:ue},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),he,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,m,x,k,P,{match:/\$\d+/},g,ue,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Pt,{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:gt,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:H}]}]},{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"]}]}]},We,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ie,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},ve,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ie]},pt,xe,J,dt,{match:/\$[(.]/}]}}function Lk(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var qu=Lk();function JN(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 Fn(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(ho.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var Dq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),ho={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}}>`))},Eq=/^(?:[ \t]*(?:\n|$))+/,Tq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Pq=/^ {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+|$)/,Mq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ik=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,eA=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,tA=Fn(eA).replace(/bull/g,Ik).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(),Rq=Fn(eA).replace(/bull/g,Ik).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(),Dk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Nq=/^[^\n]+/,Ek=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Aq=Fn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ek).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Oq=Fn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ik).getRegex(),lw="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",Tk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Fq=Fn("^ {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",Tk).replace("tag",lw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),iA=Fn(Dk).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",lw).getRegex(),Hq=Fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",iA).getRegex(),Pk={blockquote:Hq,code:Tq,def:Aq,fences:Pq,heading:Mq,hr:N_,html:Fq,lheading:tA,list:Oq,newline:Eq,paragraph:iA,table:od,text:Nq},zD=Fn("^ *([^\\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",lw).getRegex(),Wq={...Pk,lheading:Rq,table:zD,paragraph:Fn(Dk).replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",zD).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",lw).getRegex()},Bq={...Pk,html:Fn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Tk).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:Fn(Dk).replace("hr",N_).replace("heading",` *#{1,6} *[^
|
|
82
|
-
]`).replace("lheading",tA).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},zq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Vq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,nA=/^( {2,}|\\)\n(?!\s*$)/,jq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,eg=/[\p{P}\p{S}]/u,cw=/[\s\p{P}\p{S}]/u,Mk=/[^\s\p{P}\p{S}]/u,$q=Fn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,cw).getRegex(),sA=/(?!~)[\p{P}\p{S}]/u,Uq=/(?!~)[\s\p{P}\p{S}]/u,qq=/(?:[^\s\p{P}\p{S}]|~)/u,Gq=Fn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Dq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),oA=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Kq=Fn(oA,"u").replace(/punct/g,eg).getRegex(),Zq=Fn(oA,"u").replace(/punct/g,sA).getRegex(),rA="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Xq=Fn(rA,"gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,eg).getRegex(),Yq=Fn(rA,"gu").replace(/notPunctSpace/g,qq).replace(/punctSpace/g,Uq).replace(/punct/g,sA).getRegex(),Qq=Fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,eg).getRegex(),Jq=Fn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,eg).getRegex(),e9="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",t9=Fn(e9,"gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,eg).getRegex(),i9=Fn(/\\(punct)/,"gu").replace(/punct/g,eg).getRegex(),n9=Fn(/^<(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(),s9=Fn(Tk).replace("(?:-->|$)","-->").getRegex(),o9=Fn("^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",s9).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,r9=Fn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",_b).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),aA=Fn(/^!?\[(label)\]\[(ref)\]/).replace("label",_b).replace("ref",Ek).getRegex(),lA=Fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ek).getRegex(),a9=Fn("reflink|nolink(?!\\()","g").replace("reflink",aA).replace("nolink",lA).getRegex(),VD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Rk={_backpedal:od,anyPunctuation:i9,autolink:n9,blockSkip:Gq,br:nA,code:Vq,del:od,delLDelim:od,delRDelim:od,emStrongLDelim:Kq,emStrongRDelimAst:Xq,emStrongRDelimUnd:Qq,escape:zq,link:r9,nolink:lA,punctuation:$q,reflink:aA,reflinkSearch:a9,tag:o9,text:jq,url:od},l9={...Rk,link:Fn(/^!?\[(label)\]\((.*?)\)/).replace("label",_b).getRegex(),reflink:Fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_b).getRegex()},Nx={...Rk,emStrongRDelimAst:Yq,emStrongLDelim:Zq,delLDelim:Jq,delRDelim:t9,url:Fn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",VD).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:Fn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",VD).getRegex()},c9={...Nx,br:Fn(nA).replace("{2,}","*").getRegex(),text:Fn(Nx.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Cm={normal:Pk,gfm:Wq,pedantic:Bq},Sg={normal:Rk,gfm:Nx,breaks:c9,pedantic:l9},d9={"&":"&","<":"<",">":">",'"':""","'":"'"},jD=o=>d9[o];function ya(o,e){if(e){if(ho.escapeTest.test(o))return o.replace(ho.escapeReplace,jD)}else if(ho.escapeTestNoEncode.test(o))return o.replace(ho.escapeReplaceNoEncode,jD);return o}function $D(o){try{o=encodeURI(o).replace(ho.percentDecode,"%")}catch{return null}return o}function UD(o,e){var s;let t=o.replace(ho.findPipe,(r,a,c)=>{let u=!1,f=a;for(;--f>=0&&c[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(ho.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(ho.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 qD(o){let e=o.split(`
|
|
83
|
-
`),t=e.length-1;for(;t>=0&&ho.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
-
`)}function u9(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 h9(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 GD(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 f9(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]:qD(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=f9(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=h9(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),$=this.rules.other.blockquoteBeginRegex(m);for(;o;){let H=o.split(`
|
|
103
|
-
`,1)[0],ie;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),ie=p):ie=p.replace(this.rules.other.tabCharGlobal," "),E.test(p)||P.test(p)||A.test(p)||$.test(p)||x.test(p)||k.test(p))break;if(ie.search(this.rules.other.nonSpaceChar)>=m||!p.trim())f+=`
|
|
104
|
-
`+ie.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+=H+`
|
|
106
|
-
`,o=o.substring(H.length+1),g=ie.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=qD(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=UD(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(UD(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=u9(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)),GD(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 GD(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}}}},Xr=class Ax{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:ho,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 Ax(t).lex(e)}static lexInline(e,t){return new Ax(t).inlineTokens(e)}lex(e){e=e.replace(ho.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(ho.tabCharGlobal," ").replace(ho.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(ho.notSpaceStart))==null?void 0:s[0],n=o.replace(ho.endingNewline,"")+`
|
|
126
|
-
`;return i?'<pre><code class="language-'+ya(i)+'">'+(t?n:ya(n,!0))+`</code></pre>
|
|
127
|
-
`:"<pre><code>"+(t?n:ya(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>${ya(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=$D(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ya(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=$D(o);if(n===null)return ya(t);o=n;let s=`<img src="${o}" alt="${ya(t)}"`;return e&&(s+=` title="${ya(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ya(o.text)}},Nk=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}},Yr=class Ox{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 Nk}static parse(e,t){return new Ox(t).parse(e)}static parseInline(e,t){return new Ox(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?Xr.lex:Xr.lexInline}provideParser(o=this.block){return o?Yr.parse:Yr.parseInline}},pn(xm,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),pn(xm,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),xm),g9=class{constructor(...o){pn(this,"defaults",Lk());pn(this,"options",this.setOptions);pn(this,"parse",this.parseMarkdown(!0));pn(this,"parseInline",this.parseMarkdown(!1));pn(this,"Parser",Yr);pn(this,"Renderer",vb);pn(this,"TextRenderer",Nk);pn(this,"Lexer",Xr);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 Xr.lex(o,e??this.defaults)}parser(o,e){return Yr.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?Xr.lex:Xr.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?Yr.parse:Yr.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?Xr.lex:Xr.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?Yr.parse:Yr.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>"+ya(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Nu=new g9;function Un(o,e){return Nu.parse(o,e)}Un.options=Un.setOptions=function(o){return Nu.setOptions(o),Un.defaults=Nu.defaults,JN(Un.defaults),Un};Un.getDefaults=Lk;Un.defaults=qu;Un.use=function(...o){return Nu.use(...o),Un.defaults=Nu.defaults,JN(Un.defaults),Un};Un.walkTokens=function(o,e){return Nu.walkTokens(o,e)};Un.parseInline=Nu.parseInline;Un.Parser=Yr;Un.parser=Yr.parse;Un.Renderer=vb;Un.TextRenderer=Nk;Un.Lexer=Xr;Un.lexer=Xr.lex;Un.Tokenizer=mb;Un.Hooks=zg;Un.parse=Un;Un.options;Un.setOptions;Un.use;Un.walkTokens;Un.parseInline;Yr.parse;Xr.lex;var p9=T('<span class="chat-model svelte-10ayso4"><!></span>'),_9=T('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),m9=T('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),v9=T('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),b9=T('<ul class="history-list svelte-10ayso4"></ul>'),y9=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>'),w9=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>'),S9=T('Chatting in context of <code class="svelte-10ayso4"> </code>',1),C9=T('<button class="chip svelte-10ayso4"> </button>'),x9=T('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),k9=T('<div class="msg-content user-text svelte-10ayso4"> </div>'),KD=T('<span class="tool-args svelte-10ayso4"> </span>'),ZD=T('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),XD=T('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),YD=T('<div class="tool-events svelte-10ayso4"></div>'),QD=T('<div class="text-block svelte-10ayso4"></div>'),L9=T('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),I9=T('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),D9=T('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),E9=T('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),T9=T('<button class="expand-btn svelte-10ayso4"> </button>'),P9=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>'),M9=T('<!> <div class="msg-content svelte-10ayso4"></div>',1),R9=T("<div><!></div>"),N9=T('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),A9=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>'),O9=T('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),F9=T('<div class="chat-error svelte-10ayso4"> </div>'),H9=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>'),W9=T('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),B9=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>'),z9=T('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),V9=T('<button class="send-btn svelte-10ayso4">↑</button>'),j9=T('<option class="svelte-10ayso4"> </option>'),$9=T('<select class="model-select svelte-10ayso4"></select>'),U9=T('<span class="model-name svelte-10ayso4"> </span>'),q9=T('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),G9=T('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),K9=T('<p class="info-status svelte-10ayso4">Loading…</p>'),Z9=T('<p class="info-status info-err svelte-10ayso4"> </p>'),X9=T('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),Y9=T('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),Q9=T('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),J9=T('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),eG=T('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),tG=T('<div class="running-model svelte-10ayso4"> </div>'),iG=T('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),nG=T('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),sG=T('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),oG=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>'),rG=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 aG(o,e){Ns(e,!0),pb.registerLanguage("javascript",QN),Un.use({breaks:!0,gfm:!0});let t=wu(e,"currentScript",3,null),i=wu(e,"extraFiles",31,()=>yi([])),n=M(yi([])),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(yi(localStorage.getItem(f)??g())),w=M(yi([])),m=M(!1);zn(()=>{localStorage.setItem(f,d(p))});let x=M(yi([])),k=M(yi(localStorage.getItem("she:selectedModel")??"")),E=M(null);const P=wt(()=>{var K;return d(E)!==null&&((K=t())==null?void 0:K.path)===d(E)});let A=M(yi(new Set)),$=M(!1),H=M(null),ie=M(!1),J=M(""),ue=M(0),he=null,We=M(0);const xe=["[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 rt=M(!0),pt=M(!0),ve=M(!0),dt=M(!1),gt,Pt=M(yi([])),fe,Et;const Oe=wt(()=>({apiref:d(rt),tools:d(pt)})),Te=wt(()=>{var K;return((K=d(u))==null?void 0:K.configured)??!1}),ut=wt(()=>{var K;return d(Te)||!!((K=d(u))!=null&&K.provider)&&!!d(k)}),Wt=wt(()=>d(ue)+new TextEncoder().encode(d(r)).length),Zt=wt(()=>d(ve)?t():null);zn(()=>{var se;const K=(se=t())==null?void 0:se.path;y(ve,!0),d(E)!==null&&K!==d(E)&&y(E,null)}),zn(()=>{var tt;if(!d(P))return;const K=d(n).at(-1);if(!K||K.role!=="assistant")return;const Ue=Lt(K.content).find(He=>He.type==="code"&&Ii(He.lang));if(Ue){const He=ci(Ue.text);(tt=e.onApply)==null||tt.call(e,He?He.code:Ue.text)}});async function Mt(){try{const K=await zN();y(u,K,!0),K.configured&&!d(k)&&y(k,K.model,!0)}catch{}}zn(()=>(window.addEventListener("she:config-changed",Mt),()=>window.removeEventListener("she:config-changed",Mt))),zn(()=>{d(k)&&localStorage.setItem("she:selectedModel",d(k))}),zn(()=>{var K;(K=d(u))!=null&&K.provider&&VN().then(se=>{y(x,se.models,!0),!d(k)&&se.models.length>0&&y(k,se.models[0],!0)}).catch(()=>{})}),zn(()=>{d(k),y(H,null),y(J,"")}),zn(()=>{var se,Ue;if(((se=d(u))==null?void 0:se.provider)!=="ollama")return;const K=d(k)||((Ue=d(u))==null?void 0:Ue.model);!K||d(H)||Mx(K).then(tt=>{y(H,tt,!0)}).catch(()=>{})}),zn(()=>{if(!d(a))return;y(We,Math.floor(Math.random()*xe.length),!0);const K=setInterval(()=>{y(We,(d(We)+1)%xe.length)},1e4);return()=>clearInterval(K)}),zn(()=>{var K;Et&&(d(n).length+(((K=d(s))==null?void 0:K.length)??0),requestAnimationFrame(()=>{Et&&(Et.scrollTop=Et.scrollHeight)}))}),zn(()=>{const K=d(Oe),se=d(Zt),Ue=i();d(ut)&&jN({context:K,currentScript:se??null,extraFiles:Ue.length>0?Ue:void 0}).then(tt=>{y(ue,new TextEncoder().encode(tt.prompt).length,!0)}).catch(()=>{})});function Lt(K){const se=K.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
-
$2
|
|
146
|
-
`),Ue=[],tt=/```(\w*)\n([\s\S]*?)```/g;let He=0,Pe;for(;(Pe=tt.exec(se))!==null;)Pe.index>He&&Ue.push({type:"text",text:se.slice(He,Pe.index)}),Ue.push({type:"code",lang:Pe[1]||"text",text:Pe[2].trimEnd()}),He=Pe.index+Pe[0].length;return He<se.length&&Ue.push({type:"text",text:se.slice(He)}),Ue}const At=15;function kt(K){return K.split(`
|
|
147
|
-
`).length>At}function Si(K){const se=new Set(d(A));se.has(K)?se.delete(K):se.add(K),y(A,se,!0)}function hi(K,se){if(Ii(se))try{return pb.highlight(K,{language:"javascript"}).value}catch{}return K.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Di(K){return Un.parse(K)}function Fi(K){const se=K.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
-
$2
|
|
149
|
-
`),Ue=[],tt=/```(\w*)\n([\s\S]*?)```/g;let He=0,Pe;for(;(Pe=tt.exec(se))!==null;)Pe.index>He&&Ue.push({type:"text",text:se.slice(He,Pe.index)}),Ue.push({type:"code",lang:Pe[1]||"text",text:Pe[2].trimEnd()}),He=Pe.index+Pe[0].length;const $t=se.slice(He),xt=$t.match(/```(\w*)\n([\s\S]*)$/);return xt?(xt.index>0&&Ue.push({type:"text",text:$t.slice(0,xt.index)}),Ue.push({type:"code",lang:xt[1]||"text",text:xt[2]})):$t&&Ue.push({type:"text",text:$t}),Ue}function Ri(K){navigator.clipboard.writeText(K).catch(()=>{})}function Ni(K,se=!1){var Ue;se&&t()&&y(E,t().path,!0),(Ue=e.onApply)==null||Ue.call(e,K)}function Ii(K){return!K||K==="js"||K==="javascript"}function ci(K){const se=K.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return se?{filename:se[1],code:K.slice(se[0].length)}:null}function vi(K){return K>=1e9?`${(K/1e9).toFixed(1)} GB`:K>=1e6?`${(K/1e6).toFixed(0)} MB`:K>=1024?`${(K/1024).toFixed(1)} kB`:`${K} B`}async function it(){if(y($,!0),!(d(H)||d(ie))){y(ie,!0),y(J,"");try{y(H,await Mx(d(k)||d(u).model),!0)}catch(K){y(J,K.message,!0)}y(ie,!1)}}function zt(K){const se=K.match(/\.([^.]+)$/);return se?se[1].toUpperCase():"?"}function gi(K){switch(K){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return K}}function Ti(K){i(i().filter((se,Ue)=>Ue!==K))}function Zi(){gt.click()}async function Bi(K){if(!(!K||K.length===0))for(const se of Array.from(K)){const Ue=await se.text();i([...i(),{name:se.name,content:Ue}])}}function zi(K){const se=K.target;Bi(se.files),se.value=""}function vn(K){var se;K.preventDefault(),y(dt,!1),Bi(((se=K.dataTransfer)==null?void 0:se.files)??null)}function ln(K){var se;(se=K.dataTransfer)!=null&&se.types.includes("Files")&&(K.preventDefault(),y(dt,!0))}function Pi(){y(dt,!1)}async function yn(){try{y(w,await A7(),!0)}catch{}}async function Re(){var se;if(d(n).length===0)return;const K=((se=d(n).find(Ue=>Ue.role==="user"))==null?void 0:se.content.slice(0,80))??d(p);try{await O7(d(p),K,d(n)),await yn()}catch{}}async function jt(K){try{const se=await FD(K);y(n,se.messages,!0),y(p,K,!0),y(m,!1),y(c,"")}catch{}}async function di(K){try{await F7(K),await yn(),K===d(p)&&qt()}catch{}}function qt(){y(n,[],!0),y(c,""),y(p,g(),!0),y(m,!1)}ao(async()=>{Mt();try{const K=await FD(d(p));y(n,K.messages,!0)}catch{}await yn()});async function Le(){const K=d(r).trim();if(!K||d(a))return;y(r,""),y(c,""),y(a,!0);const se={role:"user",content:K};y(n,[...d(n),se],!0),he=new AbortController,y(Pt,[],!0);try{await $N({messages:d(n),currentScript:d(Zt),context:d(Oe),modelOverride:d(k)||void 0,extraFiles:i().length>0?i():void 0},Ue=>{y(s,(d(s)??"")+Ue)},he.signal,Ue=>{y(Pt,[...d(Pt),Ue],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(Pt).length>0?[...d(Pt)]:void 0}],!0),y(Pt,[],!0)}catch(Ue){if(Ue.name==="AbortError"){const tt=d(s);tt&&tt.trim()&&y(n,[...d(n),{role:"assistant",content:tt+`
|
|
150
|
-
|
|
151
|
-
*[stopped]*`,toolEvents:d(Pt).length>0?[...d(Pt)]:void 0}],!0)}else y(c,Ue.message,!0)}finally{he=null,y(s,null),y(Pt,[],!0),y(a,!1),Re()}}function It(){he==null||he.abort()}function ai(K){K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),Le())}function pi(){qt()}const _i=["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 Fe(K){y(r,K,!0),fe==null||fe.focus()}var X=rG(),ee=Ct(X),de=v(ee),ke=b(v(de),2);{var $e=K=>{var se=p9(),Ue=v(se);{var tt=$t=>{var xt=sa();j(()=>O(xt,`${d(u).provider??""} · ${(d(k)||d(u).model)??""}`)),D($t,xt)},He=$t=>{var xt=sa();j(()=>O(xt,`${d(u).provider??""} · pick a model below`)),D($t,xt)},Pe=$t=>{var xt=sa("Not configured");D($t,xt)};W(Ue,$t=>{d(ut)?$t(tt):d(u).provider?$t(He,1):$t(Pe,-1)})}j(()=>Ai(se,"title",`Provider: ${d(u).provider??""}`)),D(K,se)};W(ke,K=>{d(u)&&K($e)})}var N=b(ke,2);let Q;var oe=b(N,2);{var Ie=K=>{var se=_9();U("click",se,pi),D(K,se)};W(oe,K=>{d(n).length>0&&K(Ie)})}var De=b(de,2);{var B=K=>{var se=y9(),Ue=v(se),tt=b(v(Ue),2),He=b(Ue,2);{var Pe=xt=>{var Ze=m9();D(xt,Ze)},$t=xt=>{var Ze=b9();mi(Ze,21,()=>d(w),Ut=>Ut.id,(Ut,st)=>{var Me=v9();let ze;var Ve=v(Me),je=v(Ve),Nt=b(Ve,2);j(()=>{ze=Tt(Me,1,"history-item svelte-10ayso4",null,ze,{"history-active":d(st).id===d(p)}),Ai(Ve,"title",d(st).id),O(je,d(st).title||d(st).id)}),U("click",Ve,()=>jt(d(st).id)),U("click",Nt,()=>di(d(st).id)),D(Ut,Me)}),D(xt,Ze)};W(He,xt=>{d(w).length===0?xt(Pe):xt($t,-1)})}U("click",tt,qt),D(K,se)};W(De,K=>{d(m)&&K(B)})}var q=b(De,2),Y=v(q);{var me=K=>{var se=w9();D(K,se)},Qe=K=>{var se=x9(),Ue=v(se),tt=v(Ue);{var He=xt=>{var Ze=S9(),Ut=b(Ct(Ze)),st=v(Ut);j(Me=>O(st,Me),[()=>t().path.split("/").pop()]),D(xt,Ze)},Pe=xt=>{var Ze=sa("No script open. Ask a general she scripting question.");D(xt,Ze)};W(tt,xt=>{t()?xt(He):xt(Pe,-1)})}var $t=b(Ue,2);mi($t,17,()=>_i,Ji,(xt,Ze)=>{var Ut=C9(),st=v(Ut);j(()=>O(st,d(Ze))),U("click",Ut,()=>Fe(d(Ze))),D(xt,Ut)}),D(K,se)};W(Y,K=>{d(Te)?d(n).length===0&&d(s)===null&&K(Qe,1):K(me)})}var Ee=b(Y,2);mi(Ee,17,()=>d(n),Ji,(K,se,Ue)=>{var tt=R9(),He=v(tt);{var Pe=xt=>{var Ze=k9(),Ut=v(Ze);j(()=>O(Ut,d(se).content)),D(xt,Ze)},$t=xt=>{const Ze=wt(()=>Lt(d(se).content));var Ut=M9(),st=Ct(Ut);{var Me=Ve=>{var je=YD();mi(je,21,()=>d(se).toolEvents,Ji,(Nt,we)=>{var ot=Rs(),_t=Ct(ot);{var mt=Yt=>{var si=ZD(),un=b(v(si),2),tn=v(un),En=b(un,2);{var Qn=bi=>{var wn=KD(),dn=v(wn);j(rs=>O(dn,rs),[()=>Object.entries(d(we).args).map(([rs,co])=>`${rs}=${JSON.stringify(co)}`).join(", ")]),D(bi,wn)},Ui=wt(()=>d(we).args&&Object.keys(d(we).args).length>0);W(En,bi=>{d(Ui)&&bi(Qn)})}j(bi=>O(tn,bi),[()=>d(we).name.replace(/_/g," ")]),D(Yt,si)},Xe=Yt=>{var si=XD(),un=b(v(si),2),tn=v(un);j(En=>O(tn,En),[()=>d(we).name.replace(/_/g," ")]),D(Yt,si)};W(_t,Yt=>{d(we).type==="tool_call"?Yt(mt):Yt(Xe,-1)})}D(Nt,ot)}),D(Ve,je)};W(st,Ve=>{var je;(je=d(se).toolEvents)!=null&&je.length&&Ve(Me)})}var ze=b(st,2);mi(ze,21,()=>d(Ze),Ji,(Ve,je,Nt)=>{var we=Rs(),ot=Ct(we);{var _t=Xe=>{var Yt=QD();sc(Yt,()=>Di(d(je).text),!0),D(Xe,Yt)},mt=Xe=>{const Yt=wt(()=>Ii(d(je).lang)?ci(d(je).text):null),si=wt(()=>d(Yt)?d(Yt).code:d(je).text),un=wt(()=>`${Ue}:${Nt}`),tn=wt(()=>kt(d(si))),En=wt(()=>d(A).has(d(un)));var Qn=P9(),Ui=v(Qn),bi=v(Ui),wn=v(bi),dn=b(bi,2),rs=v(dn),co=b(rs,2);{var qo=ks=>{var Xs=L9();U("click",Xs,()=>e.onCreateFile(d(Yt).filename,d(Yt).code)),D(ks,Xs)},Rr=ks=>{var Xs=E9(),Ar=Ct(Xs),Ka=b(Ar,2);{var Ol=Go=>{var Or=I9();D(Go,Or)},Za=Go=>{var Or=D9();U("click",Or,()=>Ni(d(je).text,!0)),D(Go,Or)};W(Ka,Go=>{d(P)?Go(Ol):Go(Za,-1)})}U("click",Ar,()=>Ni(d(je).text)),D(ks,Xs)},Ga=wt(()=>Ii(d(je).lang)&&t());W(co,ks=>{d(Yt)&&e.onCreateFile?ks(qo):d(Ga)&&ks(Rr,1)})}var Jn=b(Ui,2);let fa;var ga=v(Jn),gn=v(ga);sc(gn,()=>hi(d(si),d(je).lang??""),!0);var Nr=b(ga,2);{var Zs=ks=>{var Xs=T9(),Ar=v(Xs);j(()=>O(Ar,d(En)?"▲ collapse":"▼ expand")),U("click",Xs,()=>Si(d(un))),D(ks,Xs)};W(Nr,ks=>{d(tn)&&ks(Zs)})}j(()=>{O(wn,d(Yt)?`new: ${d(Yt).filename}`:d(je).lang),fa=Tt(Jn,1,"code-body svelte-10ayso4",null,fa,{collapsed:d(tn)&&!d(En)})}),U("click",rs,()=>Ri(d(si))),D(Xe,Qn)};W(ot,Xe=>{d(je).type==="text"?Xe(_t):Xe(mt,-1)})}D(Ve,we)}),D(xt,Ut)};W(He,xt=>{d(se).role==="user"?xt(Pe):xt($t,-1)})}j(()=>Tt(tt,1,`message ${d(se).role??""}`,"svelte-10ayso4")),D(K,tt)});var Se=b(Ee,2);{var lt=K=>{var se=YD();mi(se,21,()=>d(Pt),Ji,(Ue,tt)=>{var He=Rs(),Pe=Ct(He);{var $t=Ze=>{var Ut=ZD(),st=b(v(Ut),2),Me=v(st),ze=b(st,2);{var Ve=Nt=>{var we=KD(),ot=v(we);j(_t=>O(ot,_t),[()=>Object.entries(d(tt).args).map(([_t,mt])=>`${_t}=${JSON.stringify(mt)}`).join(", ")]),D(Nt,we)},je=wt(()=>d(tt).args&&Object.keys(d(tt).args).length>0);W(ze,Nt=>{d(je)&&Nt(Ve)})}j(Nt=>O(Me,Nt),[()=>d(tt).name.replace(/_/g," ")]),D(Ze,Ut)},xt=Ze=>{var Ut=XD(),st=b(v(Ut),2),Me=v(st);j(ze=>O(Me,ze),[()=>d(tt).name.replace(/_/g," ")]),D(Ze,Ut)};W(Pe,Ze=>{d(tt).type==="tool_call"?Ze($t):Ze(xt,-1)})}D(Ue,He)}),D(K,se)};W(Se,K=>{d(Pt).length>0&&K(lt)})}var Bt=b(Se,2);{var St=K=>{var se=N9(),Ue=v(se),tt=v(Ue),He=v(tt);j(()=>O(He,xe[d(We)])),D(K,se)};W(Bt,K=>{d(a)&&d(s)===null&&d(Pt).length===0&&K(St)})}var Dt=b(Bt,2);{var Ft=K=>{var se=O9(),Ue=v(se);mi(Ue,21,()=>Fi(d(s)),Ji,(tt,He)=>{var Pe=Rs(),$t=Ct(Pe);{var xt=Ut=>{var st=QD();sc(st,()=>Di(d(He).text),!0),D(Ut,st)},Ze=Ut=>{var st=A9(),Me=v(st),ze=v(Me),Ve=v(ze),je=b(Me,2),Nt=v(je);sc(Nt,()=>hi(d(He).text,d(He).lang??""),!0),j(()=>O(Ve,d(He).lang)),D(Ut,st)};W($t,Ut=>{d(He).type==="text"?Ut(xt):Ut(Ze,-1)})}D(tt,Pe)}),D(K,se)};W(Dt,K=>{d(s)!==null&&K(Ft)})}Ds(q,K=>Et=K,()=>Et);var ne=b(q,2);{var _e=K=>{var se=F9(),Ue=v(se);j(()=>O(Ue,d(c))),D(K,se)};W(ne,K=>{d(c)&&K(_e)})}var Be=b(ne,2),at=v(Be),nt=v(at),Ye=b(at,2),Rt=v(Ye),ri=b(Ye,2),fi=v(ri),Ci=b(fi);{var en=K=>{const se=wt(()=>Math.min(100,Math.round(d(Wt)/4/d(H).contextLength*100)));var Ue=H9(),tt=v(Ue),He=b(v(tt));j((Pe,$t)=>{Ai(Ue,"title",`~${d(se)??""}% of ${Pe??""} token context window used`),Ai(He,"stroke",d(se)>80?"var(--fg-err)":d(se)>50?"var(--fg-warn)":"var(--fg-ok)"),Ai(He,"stroke-dasharray",`${$t??""} 31.4`)},[()=>d(H).contextLength.toLocaleString(),()=>(d(se)/100*31.4).toFixed(1)]),D(K,Ue)};W(Ci,K=>{var se;(se=d(H))!=null&&se.contextLength&&K(en)})}var fn=b(Be,2),cn=v(fn);{var ki=K=>{const se=wt(()=>zt(t().path.split("/").pop()??t().path));var Ue=W9();let tt;var He=v(Ue),Pe=v(He),$t=b(He,2),xt=v($t),Ze=b($t,2),Ut=v(Ze);j((st,Me)=>{tt=Tt(Ue,1,"file-chip svelte-10ayso4",null,tt,{inactive:!d(ve)}),Tt(He,1,`badge badge-${st??""}`,"svelte-10ayso4"),O(Pe,Me),O(xt,t().path),Ai(Ze,"title",d(ve)?"Remove from context":"Re-add to context"),O(Ut,d(ve)?"×":"+")},[()=>d(se).toLowerCase(),()=>gi(d(se))]),U("click",Ze,()=>y(ve,!d(ve))),D(K,Ue)};W(cn,K=>{t()&&K(ki)})}var Xi=b(cn,2);mi(Xi,17,i,Ji,(K,se,Ue)=>{const tt=wt(()=>zt(d(se).name));var He=B9(),Pe=v(He),$t=v(Pe),xt=b(Pe,2),Ze=v(xt),Ut=b(xt,2);j((st,Me)=>{Tt(Pe,1,`badge badge-${st??""}`,"svelte-10ayso4"),O($t,Me),O(Ze,d(se).name)},[()=>d(tt).toLowerCase(),()=>gi(d(tt))]),U("click",Ut,()=>Ti(Ue)),D(K,He)});var z=b(Xi,2),te=b(z,2);Ds(te,K=>gt=K,()=>gt);var Ge=b(fn,2);let Je;var ge=v(Ge);let be;var vt=v(ge);Ds(vt,K=>fe=K,()=>fe);var Ei=b(ge,2);{var Ne=K=>{var se=z9();U("click",se,It),D(K,se)},Ke=K=>{var se=V9();j(Ue=>se.disabled=Ue,[()=>!d(r).trim()||!d(ut)]),U("click",se,Le),D(K,se)};W(Ei,K=>{d(a)?K(Ne):K(Ke,-1)})}var Vt=b(Ge,2);{var et=K=>{var se=G9(),Ue=v(se),tt=v(Ue),He=b(Ue,2);{var Pe=Ut=>{var st=$9();mi(st,21,()=>d(x),Ji,(Me,ze)=>{var Ve=j9(),je=v(Ve),Nt={};j(()=>{O(je,d(ze)),Nt!==(Nt=d(ze))&&(Ve.value=(Ve.__value=d(ze))??"")}),D(Me,Ve)}),j(()=>st.disabled=d(a)),Ho(st,()=>d(k),Me=>y(k,Me)),D(Ut,st)},$t=Ut=>{var st=U9(),Me=v(st);j(()=>O(Me,d(k)||d(u).model)),D(Ut,st)};W(He,Ut=>{d(x).length>0?Ut(Pe):Ut($t,-1)})}var xt=b(He,2);{var Ze=Ut=>{var st=q9();U("click",st,it),D(Ut,st)};W(xt,Ut=>{d(u).provider==="ollama"&&Ut(Ze)})}j(()=>O(tt,d(u).provider)),D(K,se)};W(Vt,K=>{var se;(se=d(u))!=null&&se.provider&&(d(Te)||d(x).length>0)&&K(et)})}var bt=b(ee,2);{var Jt=K=>{var se=oG(),Ue=v(se),tt=v(Ue),He=v(tt),Pe=v(He),$t=b(He,2),xt=b(tt,2),Ze=v(xt);{var Ut=ze=>{var Ve=K9();D(ze,Ve)},st=ze=>{var Ve=Z9(),je=v(Ve);j(()=>O(je,d(J))),D(ze,Ve)},Me=ze=>{var Ve=sG(),je=v(Ve);{var Nt=Ui=>{var bi=X9(),wn=b(Ct(bi)),dn=v(wn);j(()=>O(dn,d(H).version)),D(Ui,bi)};W(je,Ui=>{d(H).version&&Ui(Nt)})}var we=b(je,2);{var ot=Ui=>{var bi=Y9(),wn=b(Ct(bi)),dn=v(wn);j(()=>O(dn,d(H).details.family)),D(Ui,bi)};W(we,Ui=>{var bi;(bi=d(H).details)!=null&&bi.family&&Ui(ot)})}var _t=b(we,2);{var mt=Ui=>{var bi=Q9(),wn=b(Ct(bi)),dn=v(wn);j(()=>O(dn,d(H).details.parameter_size)),D(Ui,bi)};W(_t,Ui=>{var bi;(bi=d(H).details)!=null&&bi.parameter_size&&Ui(mt)})}var Xe=b(_t,2);{var Yt=Ui=>{var bi=J9(),wn=b(Ct(bi)),dn=v(wn);j(()=>O(dn,d(H).details.quantization_level)),D(Ui,bi)};W(Xe,Ui=>{var bi;(bi=d(H).details)!=null&&bi.quantization_level&&Ui(Yt)})}var si=b(Xe,2);{var un=Ui=>{var bi=eG(),wn=b(Ct(bi)),dn=v(wn);j(()=>O(dn,d(H).details.format)),D(Ui,bi)};W(si,Ui=>{var bi;(bi=d(H).details)!=null&&bi.format&&Ui(un)})}var tn=b(si,2);{var En=Ui=>{var bi=iG(),wn=b(Ct(bi),2);mi(wn,21,()=>d(H).running,Ji,(dn,rs)=>{var co=tG(),qo=v(co);j(Rr=>O(qo,`${d(rs).name??""} · ${Rr??""} VRAM`),[()=>vi(d(rs).size_vram)]),D(dn,co)}),D(Ui,bi)},Qn=Ui=>{var bi=nG();D(Ui,bi)};W(tn,Ui=>{d(H).running&&d(H).running.length>0?Ui(En):d(H).running!==null&&Ui(Qn,1)})}D(ze,Ve)};W(Ze,ze=>{d(ie)?ze(Ut):d(J)?ze(st,1):d(H)&&ze(Me,2)})}j(()=>{var ze;return O(Pe,`Ollama · ${(d(k)||((ze=d(u))==null?void 0:ze.model))??""}`)}),U("click",se,()=>y($,!1)),U("click",Ue,ze=>ze.stopPropagation()),U("click",$t,()=>y($,!1)),D(K,se)};W(bt,K=>{d($)&&K(Jt)})}j(K=>{Q=Tt(N,1,"icon-hdr-btn svelte-10ayso4",null,Q,{active:d(m)}),O(fi,K),Je=Tt(Ge,1,"input-row svelte-10ayso4",null,Je,{"drag-over":d(dt)}),be=Tt(ge,1,"textarea-wrap svelte-10ayso4",null,be,{loading:d(a)}),Ai(vt,"placeholder",d(ut)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":d(Te)?"Select a model above to start chatting":"AI not configured"),vt.disabled=d(a)||!d(ut)},[()=>vi(d(Wt))]),U("click",N,()=>y(m,!d(m))),Is(nt,()=>d(rt),K=>y(rt,K)),Is(Rt,()=>d(pt),K=>y(pt,K)),U("click",z,Zi),U("change",te,zi),cs("dragover",Ge,ln),cs("dragleave",Ge,Pi),cs("drop",Ge,vn),U("keydown",vt,ai),ti(vt,()=>d(r),K=>y(r,K)),D(o,X),As()}Ks(["click","change","keydown"]);const lG={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"]},cG={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 Fx=[],Hx=[],Wx=[];const bb=new Map;let cA=[];const Bx=new Map,zx=new Map;async function JD(){try{Fx=(await BN()).map(e=>e.topic)}catch{}}async function eE(){try{const[o,e]=await Promise.all([ON(),FN()]);Hx=o,Wx=e}catch{}}async function tE(){try{const o=await WN();cA=o.map(e=>e.nodeId),Bx.clear(),zx.clear();for(const e of o)e.name&&(Bx.set(e.nodeId,e.name),zx.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 dG(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=uG(u),g=hG(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=iE(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=iE(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 uG(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 hG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function gh(o,e){var s;const i=(s=dA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function iE(o,e){var s;const i=(s=dA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function dA(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 fG(o,e){return(e?Fx.filter(i=>i.startsWith(e)):Fx).map(i=>({label:i,kind:Au.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function gG(o,e,t){const i=t?[...Hx,...Wx]:Hx;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Au.Value,insertText:s,range:o,detail:Wx.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function pG(o,e){return cA.map(t=>{const i=Bx.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 uA(o){return zx.get(o)??o}function _G(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 mG(o,e){const t=bb.get(uA(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 vG(o,e,t){const i=bb.get(uA(e));if(!i)return[];const n=_G(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 bG(o,e,t){return(t?cG[e]??[]:lG[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 nE=!1;function yG(){nE||(nE=!0,JD(),eE(),tE(),setInterval(JD,15e3),setInterval(eE,1e4),setInterval(tE,6e4),nd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=dG(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:fG(a,i.prefix)};case"db":return{suggestions:gG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:pG(a,i.prefix)};case"matter-endpointId":return{suggestions:mG(a,i.nodeId)};case"matter-cluster":return{suggestions:vG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:bG(a,i.cluster,i.isSend)};default:return null}}}))}var wG=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),SG=T('<button class="svelte-1pyfjii">Show git history</button>'),CG=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),xG=T('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),kG=T('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),sE=T('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),LG=T('<ul class="tree-children svelte-1pyfjii"></ul>'),IG=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>'),DG=T('<span class="dirty-dot svelte-1pyfjii">●</span>'),EG=T('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),TG=T('<span class="err-dot svelte-1pyfjii">●</span>'),PG=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>'),MG=T('<span class="dis-spacer svelte-1pyfjii"></span>'),RG=T('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),NG=T('<div class="err svelte-1pyfjii"> </div>'),AG=T('<div class="history-empty svelte-1pyfjii">Loading…</div>'),OG=T('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),FG=T('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),HG=T('<button class="history-load-more svelte-1pyfjii"> </button>'),WG=T("<!> <!>",1),BG=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>'),zG=T('<span class="tab-dirty svelte-1pyfjii">●</span>'),VG=T('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),jG=T('<div class="tab-bar svelte-1pyfjii"></div>'),$G=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>'),UG=T('<div class="changes-err svelte-1pyfjii"> </div>'),qG=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),GG=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),KG=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),ZG=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),XG=T('<span class="git-behind svelte-1pyfjii"> </span>'),YG=T('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),QG=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),JG=T('<button class="danger svelte-1pyfjii">Delete</button>'),eK=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>`),tK=T('<button class="svelte-1pyfjii">Always accept in this session</button>'),iK=T('<button class="svelte-1pyfjii">Disable auto-accept</button>'),nK=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),sK=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>'),oK=T('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),rK=T('<div class="diff-container svelte-1pyfjii"></div>'),aK=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>'),lK=T('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),cK=T('<span class="log-file svelte-1pyfjii"> </span>'),dK=T("<option> </option>"),uK=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),hK=T('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),fK=T('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),gK=T('<div class="log-body svelte-1pyfjii"><!> <!></div>'),pK=T('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),_K=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 mK(o,e){Ns(e,!0);let t=M(yi([])),i=M(yi({})),n=M(null),s=M(null),r=M(null),a=M(null),c=M(yi([])),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(yi([])),A=M(!1),$=M(30),H=M(void 0),ie=null,J=null,ue=null,he=M(!1),We=M(""),xe=M(!1),rt=M(void 0),pt=M(yi(new Set));const ve=new Set;let dt=M(yi(new Set)),gt=M(yi([])),Pt=M("all"),fe=M(""),Et=M(!1);const Oe=["all","debug","info","warn","error"],Te={debug:0,info:1,warn:2,error:3};function ut(V){if(d(Pt)!=="all"&&Te[V.level]<Te[d(Pt)])return!1;if(!d(fe))return!0;if(d(Et))try{return new RegExp(d(fe),"i").test(V.msg)}catch{}return V.msg.toLowerCase().includes(d(fe).toLowerCase())}let Wt=M(null);function Zt(V){const re=V.currentTarget.getBoundingClientRect();y(Wt,{x:re.left,y:re.top},!0)}function Mt(){y(Wt,null)}let Lt,At,kt,Si=!1,hi=null,Di=null,Fi=!1,Ri=!1,Ni=M(!1),Ii=M(null),ci=M(!1),vi=M(!1),it=M(void 0),zt=null,gi=null,Ti=null,Zi=M(yi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Bi=M(yi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),zi=M(yi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),vn=M(yi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),ln=!1,Pi=0,yn=0,Re=!1,jt=0,di=0,qt=!1,Le=0,It=0,ai=!1,pi=0,_i=0;const Fe=wt(()=>{var V;return d(u)&&d(q)?{path:d(u),content:((V=d(q).model)==null?void 0:V.getValue())??d(q).savedContent}:null}),X=wt(()=>{var V;return new Set(((V=d(m))==null?void 0:V.changes.map(re=>re.file))??[])}),ee=wt(()=>{const V=new Set;for(const re of d(X)){const Ae=re.split("/");for(let pe=1;pe<Ae.length;pe++)V.add(Ae.slice(0,pe).join("/"))}return V});let de=M(!1),ke=M(!1),$e=M(""),N=M(!1),Q=M(""),oe=M(yi(new Set));async function Ie(){var V;if(!(!d($e).trim()||d(oe).size===0)){y(N,!0),y(Q,"");try{const re=d(m).changes.filter(Ae=>d(oe).has(Ae.file)).map(Ae=>Ae.file);if(re.length===d(m).changes.length?await ND(d($e).trim()):await RD(re,d($e).trim()),d(k))try{await Sm()}catch{}y($e,""),await Rt(),(V=d(m))!=null&&V.changes.length?y(oe,new Set(d(m).changes.map(Ae=>Ae.file)),!0):y(de,!1)}catch(re){y(Q,re.message,!0)}finally{y(N,!1)}}}let De,B,q=wt(()=>d(c).find(V=>V.path===d(u))??null);const Y="she-tabs",me="she-active-tab",Qe="she-log-open",Ee="she-chat-open";let Se=wu(e,"active",3,!0);zn(()=>{Ri&&(localStorage.setItem(Y,JSON.stringify(d(c).map(V=>V.path))),d(u)?localStorage.setItem(me,d(u)):localStorage.removeItem(me))}),zn(()=>{Ri&&localStorage.setItem(Ee,String(d(Ni)))}),zn(()=>{Se()&&At&&At.layout()});const lt=`
|
|
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 Bt(V){d(c).some(re=>re.dirty)&&V.preventDefault()}ao(async()=>{var pe;window.addEventListener("beforeunload",Bt),y(w,localStorage.getItem(Qe)!=="false"),y(Ni,localStorage.getItem(Ee)==="true"),nd.typescript.javascriptDefaults.addExtraLib(lt,"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}),yG(),kt=dr.createModel("","javascript"),At=dr.create(Lt,{model:kt,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),At.onDidChangeModelContent(()=>{if(Si)return;const yt=d(c).find(ei=>ei.path===d(u));yt&&(yt.dirty=At.getValue()!==yt.savedContent),Ut&&clearTimeout(Ut),Ut=setTimeout(st,600)}),hi=kk(yt=>{const ei=yt.msg.match(/^([^:\n]+\.js):\s/);if(!ei)return;const li=ei[1];if(yt.level==="error")ve.add(li),d(pt).has(li)||y(pt,new Set([...d(pt),li]),!0);else if(ve.has(li)){ve.delete(li);const Vi=new Set(d(pt));Vi.delete(li),y(pt,Vi,!0)}const nn=d(c).find(Vi=>Vi.path===li);nn&&(nn.logEntries=[...nn.logEntries.slice(-199),yt],nn.path===d(u)&&d(w)&&d(rt)&&Om().then(()=>{d(rt)&&(d(rt).scrollTop=d(rt).scrollHeight)}))}),Di=kr("script:running",yt=>{const ei=yt.path;if(yt.running)y(dt,new Set([...d(dt),ei]),!0);else{const li=new Set(d(dt));li.delete(ei),y(dt,li,!0)}}),await St(),Rt();try{const yt=await Dl();typeof yt.gitAutoCommit=="boolean"&&y(x,yt.gitAutoCommit,!0),typeof yt.gitAutoPush=="boolean"&&y(k,yt.gitAutoPush,!0)}catch{}try{const yt=await getDaemonStatus();y(dt,new Set(yt.runningScripts??[]),!0)}catch{}const V=JSON.parse(localStorage.getItem(Y)??"[]"),re=localStorage.getItem(me);for(const yt of V)await Be(yt,!1);const Ae=re&&d(c).some(yt=>yt.path===re)?re:((pe=d(c)[0])==null?void 0:pe.path)??null;Ae&&await nt(Ae),Ri=!0}),Wy(()=>{var V;window.removeEventListener("beforeunload",Bt),Ut&&clearTimeout(Ut),hi==null||hi(),Di==null||Di();for(const re of d(c))(V=re.model)==null||V.dispose();kt==null||kt.dispose(),At==null||At.dispose()});async function St(){try{if(y(t,await m7(),!0),!Fi){let re=function(Ae){for(const pe of Ae)pe.type==="dir"&&(V[pe.path]=!0,pe.children&&re(pe.children))};Fi=!0;const V={};re(d(t)),y(i,V,!0)}y(g,"")}catch(V){y(g,V.message,!0)}}function Dt(V){d(i)[V]=!d(i)[V]}function Ft(V){switch(V){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return V}}async function ne(V,re){try{re?await Qc(`${V}/.shelib`,""):await wm(`${V}/.shelib`),await St(),await ri("all",re?`lib ${V}`:`unlib ${V}`)}catch(Ae){y(g,Ae.message,!0)}}async function _e(V,re){const Ae=V.split("/").pop(),pe=V.includes("/")?V.slice(0,V.lastIndexOf("/")):"",yt=pe?`${pe}/.shedisable-${Ae}`:`.shedisable-${Ae}`;try{re?await Qc(yt,""):await wm(yt),await St(),await ri("all",re?`disable ${V}`:`enable ${V}`)}catch(ei){y(g,ei.message,!0)}}async function Be(V,re=!0){var Ae;if(d(c).some(pe=>pe.path===V)){re&&await nt(V);return}try{const{content:pe}=await uS(V),yt=o3.parse(`file:///she-scripts/${encodeURIComponent(V)}`);(Ae=dr.getModel(yt))==null||Ae.dispose();const ei=dr.createModel(pe,Ze(V),yt);y(c,[...d(c),{path:V,dirty:!1,savedContent:pe,model:ei,logEntries:[]}],!0),re&&await nt(V)}catch(pe){y(g,pe.message,!0)}}async function at(V){await Be(V,!0)}async function nt(V){const re=d(c).find(Ae=>Ae.path===V);re!=null&&re.model&&(Ge(),y(Ii,null),y(u,V,!0),Si=!0,At.setModel(re.model),Si=!1,st())}async function Ye(V){var pe;const re=d(c).find(yt=>yt.path===V);if(!re||re.dirty&&!await De.show(`Discard unsaved changes to ${V}?`,{confirm:"Discard"}))return;const Ae=d(c).findIndex(yt=>yt.path===V);if((pe=re.model)==null||pe.dispose(),y(c,d(c).filter(yt=>yt.path!==V),!0),d(u)===V){const yt=d(c)[Ae]??d(c)[Ae-1]??null;yt?await nt(yt.path):(y(u,null),At.setModel(kt))}}async function Rt(){try{y(m,await b7(),!0)}catch{y(m,null)}}async function ri(V,re){if(d(m))try{if(V==="all"?await ND(re):await RD(V,re),d(k))try{await Sm()}catch{}await Rt()}catch{}}async function fi(){if(!d(u))return;const V=d(c).find(re=>re.path===d(u));if(V){y(f,!0);try{const re=At.getValue();await Qc(d(u),re),V.savedContent=re,V.dirty=!1,y(g,""),d(x)?await ri([d(u)],`update ${d(u)}`):Rt()}catch(re){y(g,re.message,!0)}finally{y(f,!1)}}}async function Ci(){if(!d(u)||(await fi(),d(g)))return;const V=await B.show("Commit message:",{initial:`update ${d(u)}`,placeholder:"Update script",confirm:"Commit"});if(V)try{if(await S7(d(u),V),d(k))try{await Sm()}catch{}Rt()}catch(re){y(g,"Git: "+re.message)}}async function en(){y(p,!1);try{await Sm(),await Rt(),y(g,"")}catch(V){y(g,"Git push: "+V.message)}}function fn(V){const re=Date.now()-new Date(V).getTime(),Ae=Math.floor(re/1e3);if(Ae<60)return"just now";const pe=Math.floor(Ae/60);if(pe<60)return`${pe}m ago`;const yt=Math.floor(pe/60);if(yt<24)return`${yt}h ago`;const ei=Math.floor(yt/24);if(ei<30)return`${ei}d ago`;const li=Math.floor(ei/30);return li<12?`${li}mo ago`:`${Math.floor(li/12)}y ago`}async function cn(V){vt(),y(E,V,!0),y(P,[],!0),y($,30),await ki()}async function ki(){if(d(E)){y(A,!0);try{y(P,await C7(d(E).path,d($)),!0)}catch{}finally{y(A,!1)}}}async function Xi(){y($,d($)+30),await ki()}function z(){y(E,null),y(P,[],!0),Ge()}async function te(V){if(!d(E))return;Ge(),await at(d(E).path);let re;try{re=await x7(V.hash,d(E).path)}catch{return}if(y(We,V.hash,!0),y(xe,re.binary,!0),y(he,!0),re.binary||re.content===null)return;let Ae="";const pe=d(c).find(ei=>ei.path===d(E).path);if(pe!=null&&pe.model)Ae=pe.model.getValue();else try{Ae=(await uS(d(E).path)).content}catch{}if(await Om(),!d(H))return;const yt=Ze(d(E).path);J=dr.createModel(re.content,yt),ue=dr.createModel(Ae,yt),ie=dr.createDiffEditor(d(H),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),ie.setModel({original:J,modified:ue})}function Ge(){y(he,!1),y(xe,!1),ie==null||ie.dispose(),ie=null,J==null||J.dispose(),J=null,ue==null||ue.dispose(),ue=null}async function Je(){const V=d(n)?`${d(n)}/`:"",re=await B.show("New script name:",{placeholder:V?`${V}myscript.js`:"myscript.js",initial:V,confirm:"Create"});if(!re)return;const Ae=re.endsWith(".js")?`/* global she */
|
|
217
|
-
'use strict';
|
|
218
|
-
|
|
219
|
-
`:"";await Qc(re,Ae),await St(),await Be(re,!0)}async function ge(){const V=d(n)?`${d(n)}/`:"",re=await B.show("New folder name:",{placeholder:V?`${V}subfolder`:"myfolder",initial:V,confirm:"Create"});re&&(await v7(re),d(i)[re]=!0,await St())}function be(V,re){V.preventDefault(),y(s,{x:V.clientX,y:V.clientY,entry:re},!0)}function vt(){y(s,null)}async function Ei(V){vt(),y(n,V,!0),d(i)[V]=!0,await Je()}async function Ne(V){vt(),y(n,V,!0),await ge()}async function Ke(V){vt();const re=V.path.includes("/")?V.path.slice(0,V.path.lastIndexOf("/")+1):"",Ae=await B.show(V.type==="dir"?"Rename folder:":"Rename script:",{initial:V.name,placeholder:V.name,confirm:"Rename"});if(!Ae||Ae===V.name)return;const pe=re+Ae;try{await MD(V.path,pe);const yt=d(c).find(ei=>ei.path===V.path);yt&&(yt.path=pe,d(u)===V.path&&y(u,pe)),await St(),await ri("all",`rename ${V.path} → ${pe}`)}catch(yt){y(g,yt.message,!0)}}function Vt(V){if(!V.children)return 0;let re=0;for(const Ae of V.children)re++,Ae.type==="dir"&&(re+=Vt(Ae));return re}async function et(V){vt();let re=`Delete ${V.type==="dir"?"folder":"file"} "${V.path}"?`;if(V.type==="dir"){const Ae=Vt(V);Ae>0&&(re+=` This will also delete ${Ae} item${Ae===1?"":"s"} inside.`)}if(await De.show(re,{confirm:"Delete",danger:!0})){if(V.type==="dir")for(const Ae of[...d(c)])Ae.path.startsWith(V.path+"/")&&await Ye(Ae.path);else await Ye(V.path);await wm(V.path),await St(),await ri("all",`delete ${V.path}`)}}async function bt(V){vt();const{content:re}=await uS(V.path);d(gt).some(Ae=>Ae.name===V.path)||y(gt,[...d(gt),{name:V.path,content:re}],!0),y(Ni,!0)}function Jt(V,re){var Ae;y(r,re,!0),(Ae=V.dataTransfer)==null||Ae.setData("text/plain",re)}function K(V,re){if(V.preventDefault(),d(r)&&(d(r)===re||re.startsWith(d(r)+"/"))){V.dataTransfer&&(V.dataTransfer.dropEffect="none"),y(a,null);return}V.dataTransfer&&(V.dataTransfer.dropEffect="move"),y(a,re,!0)}function se(){y(a,null)}async function Ue(V,re){var li,nn,Vi;V.preventDefault(),y(a,null);const Ae=Array.from(((li=V.dataTransfer)==null?void 0:li.items)??[]).filter(hn=>hn.kind==="file");if(Ae.length>0&&!d(r)){for(const hn of Ae){const ji=(nn=hn.webkitGetAsEntry)==null?void 0:nn.call(hn);ji&&await tt(ji,re,!0)}await St();return}const pe=d(r)??((Vi=V.dataTransfer)==null?void 0:Vi.getData("text/plain"));if(y(r,null),!pe||pe===re||re.startsWith(pe+"/"))return;const yt=pe.split("/").pop(),ei=re?`${re}/${yt}`:yt;if(ei!==pe)try{await MD(pe,ei);for(const hn of d(c))if(hn.path===pe)d(u)===pe&&y(u,ei,!0),hn.path=ei;else if(hn.path.startsWith(pe+"/")){const ji=ei+hn.path.slice(pe.length);d(u)===hn.path&&y(u,ji),hn.path=ji}await St(),await ri("all",`rename ${pe} → ${ei}`)}catch(hn){y(g,hn.message,!0)}}async function tt(V,re,Ae){if(V.isFile){const yt=await(await new Promise((li,nn)=>V.file(li,nn))).text(),ei=re?`${re}/${V.name}`:V.name;await Qc(ei,yt),Ae&&V.name.endsWith(".js")&&await _e(ei,!0)}else if(V.isDirectory){const pe=V.createReader();let yt=[],ei;do ei=await new Promise((li,nn)=>pe.readEntries(li,nn)),yt=[...yt,...ei];while(ei.length>0);for(const li of yt)await tt(li,re?`${re}/${V.name}`:V.name,!1);if(Ae){const li=re?`${re}/${V.name}`:V.name;await _e(li,!0)}}}async function He(){if(!d(u)||!await De.show(`Delete ${d(u)}?`,{confirm:"Delete",danger:!0}))return;const V=d(u);await Ye(V),await wm(V),await St(),await ri("all",`delete ${V}`)}function Pe(){d(q)&&(d(q).logEntries=[])}function $t(){y(w,!d(w)),localStorage.setItem(Qe,String(d(w)))}function xt(V){return new Date(V).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ze(V){var pe;const re=((pe=V.split(".").pop())==null?void 0:pe.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"}[re]??"plaintext"}let Ut=null;async function st(){const V=d(c).find(Ae=>Ae.path===d(u));if(!(V!=null&&V.model))return;const re=V.model;try{const ei=(await(await(await nd.typescript.getJavaScriptWorker())(re.uri)).getSyntacticDiagnostics(re.uri.toString())).map(li=>{const nn=re.getPositionAt(li.start??0),Vi=re.getPositionAt((li.start??0)+(li.length??0));return{severity:r3.Error,startLineNumber:nn.lineNumber,startColumn:nn.column,endLineNumber:Vi.lineNumber,endColumn:Vi.column,message:typeof li.messageText=="string"?li.messageText:JSON.stringify(li.messageText),source:"she-syntax"}});if(dr.setModelMarkers(re,"she-syntax",ei),d(u)){if(ei.length>0)ve.add(d(u)),d(pt).has(d(u))||y(pt,new Set([...d(pt),d(u)]),!0);else if(ve.has(d(u))){ve.delete(d(u));const li=new Set(d(pt));li.delete(d(u)),y(pt,li,!0)}}}catch{}}function Me(V){ln=!0,Pi=V.clientX,yn=d(Zi),V.preventDefault()}function ze(V){Re=!0,jt=V.clientY,di=d(Bi),V.preventDefault()}function Ve(V){qt=!0,Le=V.clientX,It=d(zi),V.preventDefault()}function je(V){ai=!0,pi=V.clientY,_i=d(vn),V.preventDefault()}function Nt(V){ln&&y(Zi,Math.max(140,Math.min(500,yn+V.clientX-Pi)),!0),Re&&y(Bi,Math.max(60,Math.min(500,di-(V.clientY-jt))),!0),qt&&y(zi,Math.max(200,Math.min(700,It-(V.clientX-Le))),!0),ai&&y(vn,Math.max(80,Math.min(600,_i-(V.clientY-pi))),!0)}function we(){ln&&(ln=!1,localStorage.setItem("she-scripts-sidebar-width",String(d(Zi)))),Re&&(Re=!1,localStorage.setItem("she-scripts-log-height",String(d(Bi)))),qt&&(qt=!1,localStorage.setItem("she-scripts-chat-width",String(d(zi)))),ai&&(ai=!1,localStorage.setItem("she-scripts-history-height",String(d(vn))))}function ot(V){(V.ctrlKey||V.metaKey)&&V.key==="s"&&(V.preventDefault(),fi()),V.key==="Escape"&&(y(p,!1),y(s,null),y(ke,!1))}async function _t(V,re){const Ae=await B.show("Save new script as:",{placeholder:"myscript.js",initial:V,confirm:"Create"});if(Ae)try{await Qc(Ae,re),await St(),await Be(Ae,!0)}catch(pe){y(g,pe.message,!0)}}async function mt(V){var Ae,pe;if(d(ci)&&d(u)){y(Ii,V,!0),await Xe();return}if(y(Ii,V,!0),await Om(),!d(it))return;gi==null||gi.dispose(),Ti==null||Ti.dispose(),zt==null||zt.dispose();const re=((pe=(Ae=d(q))==null?void 0:Ae.model)==null?void 0:pe.getValue())??"";gi=dr.createModel(re,"javascript"),Ti=dr.createModel(V,"javascript"),zt=dr.createDiffEditor(d(it),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),zt.setModel({original:gi,modified:Ti})}zn(()=>{d(u),y(ci,!1),y(vi,!1)});async function Xe(){if(d(Ii)===null||!d(u))return;const V=d(Ii);y(Ii,null);const re=d(c).find(Ae=>Ae.path===d(u));re!=null&&re.model&&(Si=!0,re.model.setValue(V),Si=!1,re.dirty=!1,re.savedContent=V);try{await Qc(d(u),V),y(g,""),d(x)?await ri([d(u)],`update ${d(u)}`):Rt()}catch(Ae){y(g,Ae.message,!0)}si()}function Yt(){y(Ii,null),si()}function si(){zt==null||zt.dispose(),zt=null,gi==null||gi.dispose(),gi=null,Ti==null||Ti.dispose(),Ti=null}var un=_K();cs("keydown",Cd,ot),cs("mousemove",Cd,Nt),cs("mouseup",Cd,we);var tn=Ct(un);Ds(Jf(tn,{}),V=>De=V,()=>De);var En=b(tn,2);Ds(wq(En,{}),V=>B=V,()=>B);var Qn=b(En,2);{var Ui=V=>{var re=xG(),Ae=Ct(re),pe=b(Ae,2);let yt;var ei=v(pe);{var li=Vi=>{var hn=wG(),ji=Ct(hn),sn=b(ji,2),qi=b(sn,4),Wn=b(qi,2);U("click",ji,()=>Ei(d(s).entry.path)),U("click",sn,()=>Ne(d(s).entry.path)),U("click",qi,()=>Ke(d(s).entry)),U("click",Wn,()=>et(d(s).entry)),D(Vi,hn)},nn=Vi=>{var hn=CG(),ji=Ct(hn),sn=b(ji,2),qi=b(sn,2),Wn=b(qi,2);{var Zn=Ki=>{var hs=SG();U("click",hs,()=>cn(d(s).entry)),D(Ki,hs)};W(Wn,Ki=>{d(m)&&Ki(Zn)})}var qn=b(Wn,4);U("click",ji,()=>at(d(s).entry.path)),U("click",sn,()=>Ke(d(s).entry)),U("click",qi,()=>bt(d(s).entry)),U("click",qn,()=>et(d(s).entry)),D(Vi,hn)};W(ei,Vi=>{d(s).entry.type==="dir"?Vi(li):Vi(nn,-1)})}j(()=>yt=Fo(pe,"",yt,{left:`${d(s).x??""}px`,top:`${d(s).y??""}px`})),U("click",Ae,vt),U("contextmenu",Ae,Vi=>{Vi.preventDefault(),vt()}),D(V,re)};W(Qn,V=>{d(s)&&V(Ui)})}var bi=b(Qn,2);{var wn=V=>{var re=kG();let Ae;j(()=>Ae=Fo(re,"",Ae,{left:`${d(Wt).x??""}px`,top:`${d(Wt).y-4}px`})),D(V,re)};W(bi,V=>{d(Wt)&&V(wn)})}var dn=b(bi,2),rs=v(dn);let co;{const V=(Ae,pe=Ny,yt)=>{let ei=S0(()=>f3(yt==null?void 0:yt(),!1));var li=Rs(),nn=Ct(li);{var Vi=ji=>{var sn=IG(),qi=v(sn);let Wn;var Zn=v(qi);let qn;var Ki=b(Zn,2);let hs;var Fs=v(Ki),bs=b(Ki,2);{var as=Cn=>{var Xo=sE();D(Cn,Xo)},is=wt(()=>d(X).has(pe().path)||d(ee).has(pe().path));W(bs,Cn=>{d(is)&&Cn(as)})}var fs=b(bs,2),ys=v(fs),Hs=b(fs,2),pa=v(Hs),Wr=b(qi,2);{var Ws=Cn=>{var Xo=LG();mi(Xo,21,()=>pe().children,Ls=>Ls.path,(Ls,Br)=>{V(Ls,()=>d(Br),()=>pe().disabled||d(ei))}),D(Cn,Xo)};W(Wr,Cn=>{d(i)[pe().path]&&pe().children&&Cn(Ws)})}j(()=>{Wn=Tt(qi,1,"dir-row svelte-1pyfjii",null,Wn,{"dir-selected":d(n)===pe().path,"drag-target":d(a)===pe().path}),Ai(qi,"aria-selected",d(n)===pe().path),qn=Tt(Zn,1,"chevron svelte-1pyfjii",null,qn,{open:d(i)[pe().path]}),hs=Tt(Ki,1,"dir-name svelte-1pyfjii",null,hs,{lib:pe().lib}),O(Fs,pe().name),Eg(ys,pe().lib),Eg(pa,pe().disabled)}),cs("dragstart",qi,Cn=>Jt(Cn,pe().path)),cs("dragover",qi,Cn=>K(Cn,pe().path)),cs("dragleave",qi,se),cs("drop",qi,Cn=>Ue(Cn,pe().path)),U("contextmenu",qi,Cn=>be(Cn,pe())),U("click",Zn,()=>Dt(pe().path)),U("click",Ki,()=>{y(n,pe().path,!0),d(i)[pe().path]=!0}),U("keydown",Ki,Cn=>Cn.key==="Enter"&&y(n,pe().path,!0)),cs("mouseenter",fs,Zt),cs("mouseleave",fs,Mt),U("change",ys,()=>ne(pe().path,!pe().lib)),U("change",pa,()=>_e(pe().path,!pe().disabled)),D(ji,sn)},hn=ji=>{const sn=wt(()=>d(pt).has(pe().path)),qi=wt(()=>d(X).has(pe().path)),Wn=wt(()=>d(c).some(Pn=>Pn.path===pe().path&&Pn.dirty)),Zn=wt(()=>(pe().name.split(".").pop()??"txt").toUpperCase()),qn=wt(()=>pe().name.endsWith(".js"));var Ki=RG();let hs;var Fs=v(Ki),bs=v(Fs);let as;var is=v(bs);let fs;var ys=v(is),Hs=b(is,2),pa=v(Hs),Wr=b(Hs,2);{var Ws=Pn=>{var ps=sE();D(Pn,ps)};W(Wr,Pn=>{d(qi)&&Pn(Ws)})}var Cn=b(Wr);{var Xo=Pn=>{var ps=DG();D(Pn,ps)};W(Cn,Pn=>{d(Wn)&&Pn(Xo)})}var Ls=b(Cn,2);{var Br=Pn=>{var ps=EG();D(Pn,ps)},cg=wt(()=>d(qn)&&d(dt).has(pe().path)&&!d(sn));W(Ls,Pn=>{d(cg)&&Pn(Br)})}var Wl=b(Ls,2);{var dg=Pn=>{var ps=TG();D(Pn,ps)};W(Wl,Pn=>{d(sn)&&Pn(dg)})}var zr=b(bs,2);{var pw=Pn=>{var ps=PG();let Gc;var Yu=v(ps);j(()=>{Gc=Tt(ps,1,"dis-label svelte-1pyfjii",null,Gc,{"dis-locked":d(ei)}),Ai(ps,"title",d(ei)?"Disabled by parent directory":"Disable — this script will not be executed"),Eg(Yu,pe().disabled),Yu.disabled=d(ei)}),U("change",Yu,()=>_e(pe().path,!pe().disabled)),D(Pn,ps)},qc=Pn=>{var ps=MG();D(Pn,ps)};W(zr,Pn=>{d(qn)?Pn(pw):Pn(qc,-1)})}j((Pn,ps,Gc)=>{hs=Tt(Ki,1,"tree-file svelte-1pyfjii",null,hs,Pn),as=Tt(bs,1,"svelte-1pyfjii",null,as,{lib:pe().lib,dis:pe().disabled,err:d(sn)}),fs=Tt(is,1,`badge badge-${ps??""}`,"svelte-1pyfjii",fs,{"badge-shelib":pe().lib}),O(ys,Gc),O(pa,pe().name)},[()=>({active:d(c).some(Pn=>Pn.path===pe().path),"active-tab":pe().path===d(u)}),()=>d(Zn).toLowerCase(),()=>Ft(d(Zn))]),cs("dragstart",Ki,Pn=>Jt(Pn,pe().path)),U("contextmenu",Ki,Pn=>be(Pn,pe())),U("click",bs,()=>at(pe().path)),D(ji,Ki)};W(nn,ji=>{pe().type==="dir"?ji(Vi):ji(hn,-1)})}D(Ae,li)};var qo=v(rs),Rr=v(qo),Ga=b(Rr,2),Jn=b(Ga,2),fa=b(qo,2);{var ga=Ae=>{var pe=NG(),yt=v(pe);j(()=>O(yt,d(g))),D(Ae,pe)};W(fa,Ae=>{d(g)&&Ae(ga)})}var gn=b(fa,2),Nr=v(gn);let re;var Zs=b(Nr,2);mi(Zs,17,()=>d(t),Ae=>Ae.path,(Ae,pe)=>{V(Ae,()=>d(pe))});var ks=b(gn,2);{var Xs=Ae=>{var pe=BG();let yt;var ei=v(pe),li=b(ei,2),nn=v(li),Vi=v(nn),hn=b(nn,2),ji=b(li,2),sn=v(ji);{var qi=qn=>{var Ki=AG();D(qn,Ki)},Wn=qn=>{var Ki=OG();D(qn,Ki)},Zn=qn=>{var Ki=WG(),hs=Ct(Ki);mi(hs,17,()=>d(P),as=>as.hash,(as,is)=>{var fs=FG(),ys=v(fs),Hs=v(ys),pa=b(ys,2),Wr=v(pa);j((Ws,Cn)=>{O(Hs,d(is).subject),O(Wr,`${Ws??""} · ${Cn??""}`)},[()=>d(is).hash.slice(0,7),()=>fn(d(is).date)]),U("click",fs,()=>te(d(is))),D(as,fs)});var Fs=b(hs,2);{var bs=as=>{var is=HG(),fs=v(is);j(()=>{is.disabled=d(A),O(fs,d(A)?"Loading…":"Load more")}),U("click",is,Xi),D(as,is)};W(Fs,as=>{d(P).length>=d($)&&as(bs)})}D(qn,Ki)};W(sn,qn=>{d(A)&&d(P).length===0?qn(qi):d(P).length===0?qn(Wn,1):qn(Zn,-1)})}j(()=>{yt=Fo(pe,"",yt,{height:`${d(vn)??""}px`}),Ai(nn,"title",d(E).path),O(Vi,`History: ${d(E).name??""}`)}),U("mousedown",ei,je),U("click",hn,z),D(Ae,pe)};W(ks,Ae=>{d(E)&&Ae(Xs)})}j(()=>re=Tt(Nr,1,"tree-root-drop svelte-1pyfjii",null,re,{"drag-target":d(a)===""})),U("click",Rr,Je),U("click",Ga,ge),U("click",Jn,St),cs("dragover",Nr,Ae=>K(Ae,"")),cs("dragleave",Nr,se),cs("drop",Nr,Ae=>Ue(Ae,""))}var Ar=b(rs,2),Ka=b(Ar,2),Ol=v(Ka);{var Za=V=>{var re=jG();mi(re,21,()=>d(c),Ae=>Ae.path,(Ae,pe)=>{var yt=VG();let ei;var li=v(yt),nn=v(li),Vi=b(li,2);{var hn=sn=>{var qi=zG();D(sn,qi)};W(Vi,sn=>{d(pe).dirty&&sn(hn)})}var ji=b(Vi,2);j(sn=>{ei=Tt(yt,1,"tab svelte-1pyfjii",null,ei,{active:d(pe).path===d(u)}),O(nn,sn)},[()=>d(pe).path.split("/").pop()]),U("click",yt,()=>nt(d(pe).path)),U("keydown",yt,sn=>sn.key==="Enter"&&nt(d(pe).path)),U("click",ji,sn=>{sn.stopPropagation(),Ye(d(pe).path)}),D(Ae,yt)}),D(V,re)};W(Ol,V=>{d(c).length>0&&V(Za)})}var Go=b(Ol,2),Or=v(Go),Fr=v(Or),A_=b(Or,2);{var ar=V=>{var re=YG(),Ae=v(re),pe=v(Ae),yt=b(Ae,2);{var ei=ji=>{var sn=GG(),qi=v(sn),Wn=v(qi),Zn=b(qi,2);{var qn=Ki=>{var hs=qG(),Fs=Ct(hs),bs=b(Fs,2),as=b(v(bs),2);mi(as,21,()=>d(m).changes,Ji,(Ws,Cn)=>{var Xo=$G(),Ls=v(Xo),Br=b(Ls,2),cg=v(Br),Wl=b(Br,2),dg=v(Wl);j(zr=>{Eg(Ls,zr),O(cg,d(Cn).status),O(dg,d(Cn).file)},[()=>d(oe).has(d(Cn).file)]),U("change",Ls,()=>{const zr=new Set(d(oe));zr.has(d(Cn).file)?zr.delete(d(Cn).file):zr.add(d(Cn).file),y(oe,zr,!0)}),D(Ws,Xo)});var is=b(as,2),fs=v(is),ys=b(fs,2),Hs=v(ys),pa=b(is,2);{var Wr=Ws=>{var Cn=UG(),Xo=v(Cn);j(()=>O(Xo,d(Q))),D(Ws,Cn)};W(pa,Ws=>{d(Q)&&Ws(Wr)})}j(Ws=>{var Cn;ys.disabled=Ws,O(Hs,d(N)?"…":d(oe).size===((Cn=d(m))==null?void 0:Cn.changes.length)?"Commit all":`Commit ${d(oe).size}`)},[()=>!d($e).trim()||d(N)||d(oe).size===0]),U("click",Fs,()=>y(de,!1)),U("keydown",fs,Ws=>Ws.key==="Enter"&&Ie()),ti(fs,()=>d($e),Ws=>y($e,Ws)),U("click",ys,Ie),D(Ki,hs)};W(Zn,Ki=>{d(de)&&Ki(qn)})}j(()=>{Ai(qi,"title",`${d(m).changes.length??""} uncommitted change(s) — click to view`),O(Wn,`✎${d(m).changes.length??""}`)}),U("click",qi,()=>{d(de)||y(oe,new Set(d(m).changes.map(Ki=>Ki.file)),!0),y(de,!d(de)),y(Q,"")}),D(ji,sn)};W(yt,ji=>{d(m).changes.length>0&&ji(ei)})}var li=b(yt,2);{var nn=ji=>{var sn=ZG(),qi=v(sn),Wn=v(qi),Zn=b(qi,2);{var qn=Ki=>{var hs=KG(),Fs=Ct(hs),bs=b(Fs,2),as=v(bs),is=v(as),fs=b(as,2),ys=v(fs);j(()=>O(is,`${d(m).ahead??""} unpushed commit(s)`)),U("click",Fs,()=>y(ke,!1)),U("click",ys,()=>{y(ke,!1),en()}),D(Ki,hs)};W(Zn,Ki=>{d(ke)&&Ki(qn)})}j(()=>{Ai(qi,"title",`${d(m).ahead??""} commit(s) ahead of upstream — click to push`),O(Wn,`↑${d(m).ahead??""}`)}),U("click",qi,()=>y(ke,!d(ke))),D(ji,sn)};W(li,ji=>{d(m).ahead>0&&ji(nn)})}var Vi=b(li,2);{var hn=ji=>{var sn=XG(),qi=v(sn);j(()=>{Ai(sn,"title",`${d(m).behind??""} commit(s) behind upstream`),O(qi,`↓${d(m).behind??""}`)}),D(ji,sn)};W(Vi,ji=>{d(m).behind>0&&ji(hn)})}j(()=>{Ai(Ae,"title",`Branch: ${d(m).branch??""}`),O(pe,`⎇ ${d(m).branch??""}`)}),D(V,re)};W(A_,V=>{d(m)&&V(ar)})}var O_=b(A_,2),tg=v(O_),Ko=v(tg),F_=v(Ko),ig=b(Ko,2),ng=b(tg,2);{var dw=V=>{var re=QG(),Ae=Ct(re),pe=b(Ae,2),yt=v(pe),ei=b(yt,2);U("click",Ae,()=>y(p,!1)),U("click",yt,()=>{y(p,!1),fi()}),U("click",ei,()=>{y(p,!1),Ci()}),D(V,re)};W(ng,V=>{d(p)&&V(dw)})}var sg=b(O_,2);{var H_=V=>{var re=JG();U("click",re,He),D(V,re)};W(sg,V=>{d(u)&&V(H_)})}var og=b(sg,2);let W_;var rg=b(Go,2),B_=v(rg),ag=v(B_),lg=v(ag);Ds(lg,V=>Lt=V,()=>Lt);var jc=b(lg,2);{var Xa=V=>{var re=eK();D(V,re)};W(jc,V=>{d(u)||V(Xa)})}var z_=b(jc,2);{var $c=V=>{var re=sK(),Ae=v(re),pe=v(Ae),yt=b(v(pe)),ei=v(yt),li=b(pe,2),nn=v(li),Vi=v(nn),hn=v(Vi),ji=v(hn),sn=b(hn,2),qi=b(Vi,2);{var Wn=Ki=>{var hs=nK(),Fs=Ct(hs),bs=b(Fs,2),as=v(bs);{var is=ys=>{var Hs=tK();U("click",Hs,()=>{y(vi,!1),y(ci,!0),Xe()}),D(ys,Hs)},fs=ys=>{var Hs=iK();U("click",Hs,()=>{y(vi,!1),y(ci,!1)}),D(ys,Hs)};W(as,ys=>{d(ci)?ys(fs,-1):ys(is)})}U("click",Fs,()=>y(vi,!1)),D(Ki,hs)};W(qi,Ki=>{d(vi)&&Ki(Wn)})}var Zn=b(nn,2),qn=b(Ae,2);Ds(qn,Ki=>y(it,Ki),()=>d(it)),j(Ki=>{O(ei,Ki),O(ji,d(ci)?"Auto-accept ✓":"Accept")},[()=>{var Ki;return(Ki=d(u))==null?void 0:Ki.split("/").pop()}]),U("click",hn,Xe),U("click",sn,()=>y(vi,!d(vi))),U("click",Zn,Yt),D(V,re)};W(z_,V=>{d(Ii)!==null&&V($c)})}var To=b(z_,2);{var V_=V=>{var re=aK(),Ae=v(re),pe=v(Ae),yt=b(v(pe)),ei=v(yt),li=b(yt,2),nn=v(li),Vi=b(pe,2),hn=v(Vi),ji=b(Ae,2);{var sn=Wn=>{var Zn=oK();D(Wn,Zn)},qi=Wn=>{var Zn=rK();Ds(Zn,qn=>y(H,qn),()=>d(H)),D(Wn,Zn)};W(ji,Wn=>{d(xe)?Wn(sn):Wn(qi,-1)})}j(Wn=>{var Zn;O(ei,Wn),O(nn,(Zn=d(E))==null?void 0:Zn.name)},[()=>d(We).slice(0,7)]),U("click",hn,Ge),D(V,re)};W(To,V=>{d(he)&&V(V_)})}var Gu=b(ag,2);let j_,Ku;var Zu=v(Gu);{var uw=V=>{var re=lK();U("mousedown",re,ze),D(V,re)};W(Zu,V=>{d(w)&&V(uw)})}var $_=b(Zu,2),Xu=v($_),U_=v(Xu),Zo=b(U_);{var Fl=V=>{var re=cK(),Ae=v(re);j(pe=>O(Ae,`— ${pe??""}`),[()=>d(u).split("/").pop()]),D(V,re)};W(Zo,V=>{d(u)&&V(Fl)})}var hw=b(Xu,2);{var Hr=V=>{var re=uK(),Ae=Ct(re);mi(Ae,21,()=>Oe,Ji,(nn,Vi)=>{var hn=dK(),ji=v(hn),sn={};j(()=>{O(ji,d(Vi)),sn!==(sn=d(Vi))&&(hn.value=(hn.__value=d(Vi))??"")}),D(nn,hn)});var pe=b(Ae,2),yt=b(pe,2),ei=v(yt),li=b(yt,2);Ho(Ae,()=>d(Pt),nn=>y(Pt,nn)),ti(pe,()=>d(fe),nn=>y(fe,nn)),Is(ei,()=>d(Et),nn=>y(Et,nn)),U("click",li,Pe),D(V,re)};W(hw,V=>{d(w)&&V(Hr)})}var fw=b($_,2);{var Hl=V=>{var re=gK(),Ae=v(re);mi(Ae,17,()=>{var ei;return(((ei=d(q))==null?void 0:ei.logEntries)??[]).filter(ut)},ei=>ei.ts+ei.msg,(ei,li)=>{var nn=hK(),Vi=v(nn),hn=v(Vi),ji=b(Vi,2),sn=v(ji),qi=b(ji,2),Wn=v(qi);j((Zn,qn)=>{Tt(nn,1,`log-line ${d(li).level??""}`,"svelte-1pyfjii"),O(hn,Zn),O(sn,qn),O(Wn,d(li).msg)},[()=>xt(d(li).ts),()=>d(li).level.toUpperCase()]),D(ei,nn)});var pe=b(Ae,2);{var yt=ei=>{var li=fK();D(ei,li)};W(pe,ei=>{var li;(((li=d(q))==null?void 0:li.logEntries.length)??0)===0&&ei(yt)})}Ds(re,ei=>y(rt,ei),()=>d(rt)),D(V,re)};W(fw,V=>{d(w)&&V(Hl)})}var gw=b(B_,2);{var Uc=V=>{var re=pK(),Ae=Ct(re),pe=b(Ae,2);let yt;var ei=v(pe);aG(ei,{get currentScript(){return d(Fe)},onApply:mt,onCreateFile:_t,get extraFiles(){return d(gt)},set extraFiles(li){y(gt,li,!0)}}),j(()=>yt=Fo(pe,"",yt,{width:`${d(zi)??""}px`})),U("mousedown",Ae,Ve),D(V,re)};W(gw,V=>{d(Ni)&&V(Uc)})}j(()=>{var V;co=Fo(rs,"",co,{width:`${d(Zi)??""}px`}),O(Fr,d(u)??"No file selected"),Ko.disabled=!((V=d(q))!=null&&V.dirty)||d(f),O(F_,d(f)?"Saving…":"Save"),ig.disabled=!d(u),W_=Tt(og,1,"ai-toggle svelte-1pyfjii",null,W_,{"ai-open":d(Ni)}),Ai(og,"title",d(Ni)?"Close AI assistant":"Open AI assistant"),j_=Tt(Gu,1,"log-panel svelte-1pyfjii",null,j_,{collapsed:!d(w)}),Ku=Fo(Gu,"",Ku,{height:d(w)?`${d(Bi)}px`:"26px"}),O(U_,`${d(w)?"▾":"▸"} Script Log `)}),U("mousedown",Ar,Me),U("click",Ko,fi),U("click",ig,()=>y(p,!d(p))),U("click",og,()=>y(Ni,!d(Ni))),U("click",Xu,$t),D(o,un),As()}Ks(["click","contextmenu","keydown","change","mousedown"]);const hA="she-theme";function vK(){return localStorage.getItem(hA)??"dark"}function bK(o){localStorage.setItem(hA,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 yK=Vg.exports,oE;function wK(){return oE||(oE=1,(function(o,e){(function(t,i){i(e)})(yK,(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,Z;return Z=function(){S=!1,I&&(R.apply(_,I),I=!1)},R=function(){S?I=arguments:(l.apply(_,arguments),setTimeout(Z,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 $(l,h){for(var _=0;_<l.length;_++)if(l[_]===h)return _;return-1}var H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function ie(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var J=0;function ue(l){var h=+new Date,_=Math.max(0,16-(h-J));return J=h+_,window.setTimeout(l,_)}var he=window.requestAnimationFrame||ie("RequestAnimationFrame")||ue,We=window.cancelAnimationFrame||ie("CancelAnimationFrame")||ie("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function xe(l,h,_){if(_&&he===ue)l.call(h);else return he.call(window,r(l,h))}function rt(l){l&&We.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:$,emptyImageUrl:H,requestFn:he,cancelFn:We,requestAnimFrame:xe,cancelAnimFrame:rt};function ve(){}ve.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&&(dt(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,Z=S._initHooks.length;R<Z;R++)S._initHooks[R].call(this)}},h},ve.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},ve.mergeOptions=function(l){return n(this.prototype.options,l),this},ve.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 dt(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 gt={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,Z=l.length;R<Z;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 Z=this._listens(l,h,_);if(Z!==!1){var le=S[Z];this._firingCount&&(le.fn=g,this._events[l]=S=S.slice()),S.splice(Z,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,Z=I.length;R<Z;R++){var le=I[R],Ce=le.fn;le.once&&this.off(l,Ce,le.ctx),Ce.call(le.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 Z in this._eventParents)if(this._eventParents[Z].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)}};gt.addEventListener=gt.on,gt.removeEventListener=gt.clearAllEventListeners=gt.off,gt.addOneTimeEventListener=gt.once,gt.fireEvent=gt.fire,gt.hasEventListeners=gt.listens;var Pt=ve.extend(gt);function fe(l,h,_){this.x=_?Math.round(l):l,this.y=_?Math.round(h):h}var Et=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};fe.prototype={clone:function(){return new fe(this.x,this.y)},add:function(l){return this.clone()._add(Oe(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Oe(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 fe(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new fe(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=Et(this.x),this.y=Et(this.y),this},distanceTo:function(l){l=Oe(l);var h=l.x-this.x,_=l.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(l){return l=Oe(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Oe(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 Oe(l,h,_){return l instanceof fe?l:A(l)?new fe(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new fe(l.x,l.y):new fe(l,h,_)}function Te(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Te.prototype={extend:function(l){var h,_;if(!l)return this;if(l instanceof fe||typeof l[0]=="number"||"x"in l)h=_=Oe(l);else if(l=ut(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 Oe((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Oe(this.min.x,this.max.y)},getTopRight:function(){return Oe(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 fe?l=Oe(l):l=ut(l),l instanceof Te?(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=ut(l);var h=this.min,_=this.max,S=l.min,I=l.max,R=I.x>=h.x&&S.x<=_.x,Z=I.y>=h.y&&S.y<=_.y;return R&&Z},overlaps:function(l){l=ut(l);var h=this.min,_=this.max,S=l.min,I=l.max,R=I.x>h.x&&S.x<_.x,Z=I.y>h.y&&S.y<_.y;return R&&Z},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 ut(Oe(h.x-S,h.y-I),Oe(_.x+S,_.y+I))},equals:function(l){return l?(l=ut(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function ut(l,h){return!l||l instanceof Te?l:new Te(l,h)}function Wt(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Wt.prototype={extend:function(l){var h=this._southWest,_=this._northEast,S,I;if(l instanceof Mt)S=l,I=l;else if(l instanceof Wt){if(S=l._southWest,I=l._northEast,!S||!I)return this}else return l?this.extend(Lt(l)||Zt(l)):this;return!h&&!_?(this._southWest=new Mt(S.lat,S.lng),this._northEast=new Mt(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 Wt(new Mt(h.lat-S,h.lng-I),new Mt(_.lat+S,_.lng+I))},getCenter:function(){return new Mt((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 Mt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Mt(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 Mt||"lat"in l?l=Lt(l):l=Zt(l);var h=this._southWest,_=this._northEast,S,I;return l instanceof Wt?(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=Zt(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),R=I.lat>=h.lat&&S.lat<=_.lat,Z=I.lng>=h.lng&&S.lng<=_.lng;return R&&Z},overlaps:function(l){l=Zt(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),R=I.lat>h.lat&&S.lat<_.lat,Z=I.lng>h.lng&&S.lng<_.lng;return R&&Z},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=Zt(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Zt(l,h){return l instanceof Wt?l:new Wt(l,h)}function Mt(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=+_)}Mt.prototype={equals:function(l,h){if(!l)return!1;l=Lt(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,Lt(l))},wrap:function(){return kt.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,_=h/Math.cos(Math.PI/180*this.lat);return Zt([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new Mt(this.lat,this.lng,this.alt)}};function Lt(l,h,_){return l instanceof Mt?l:A(l)&&typeof l[0]!="object"?l.length===3?new Mt(l[0],l[1],l[2]):l.length===2?new Mt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Mt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new Mt(l,h,_)}var At={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 Te(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 Mt(_,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(),Z=l.getNorthEast(),le=new Mt(R.lat-S,R.lng-I),Ce=new Mt(Z.lat-S,Z.lng-I);return new Wt(le,Ce)}},kt=n({},At,{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),Z=Math.sin((h.lng-l.lng)*_/2),le=R*R+Math.cos(S)*Math.cos(I)*Z*Z,Ce=2*Math.atan2(Math.sqrt(le),Math.sqrt(1-le));return this.R*Ce}}),Si=6378137,hi={R:Si,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 fe(this.R*l.lng*h,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var h=180/Math.PI;return new Mt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=Si*Math.PI;return new Te([-l,-l],[l,l])})()};function Di(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}Di.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 fe((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Fi(l,h,_,S){return new Di(l,h,_,S)}var Ri=n({},kt,{code:"EPSG:3857",projection:hi,transformation:(function(){var l=.5/(Math.PI*hi.R);return Fi(l,.5,-l,.5)})()}),Ni=n({},Ri,{code:"EPSG:900913"});function Ii(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function ci(l,h){var _="",S,I,R,Z,le,Ce;for(S=0,R=l.length;S<R;S++){for(le=l[S],I=0,Z=le.length;I<Z;I++)Ce=le[I],_+=(I?"L":"M")+Ce.x+" "+Ce.y;_+=h?Se.svg?"z":"x":""}return _||"M0 0"}var vi=document.documentElement.style,it="ActiveXObject"in window,zt=it&&!document.addEventListener,gi="msLaunchUri"in navigator&&!("documentMode"in document),Ti=Ee("webkit"),Zi=Ee("android"),Bi=Ee("android 2")||Ee("android 3"),zi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),vn=Zi&&Ee("Google")&&zi<537&&!("AudioNode"in window),ln=!!window.opera,Pi=!gi&&Ee("chrome"),yn=Ee("gecko")&&!Ti&&!ln&&!it,Re=!Pi&&Ee("safari"),jt=Ee("phantom"),di="OTransition"in vi,qt=navigator.platform.indexOf("Win")===0,Le=it&&"transition"in vi,It="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Bi,ai="MozPerspective"in vi,pi=!window.L_DISABLE_3D&&(Le||It||ai)&&!di&&!jt,_i=typeof orientation<"u"||Ee("mobile"),Fe=_i&&Ti,X=_i&&It,ee=!window.PointerEvent&&window.MSPointerEvent,de=!!(window.PointerEvent||ee),ke="ontouchstart"in window||!!window.TouchEvent,$e=!window.L_NO_TOUCH&&(ke||de),N=_i&&ln,Q=_i&&yn,oe=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Ie=(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})(),De=(function(){return!!document.createElement("canvas").getContext})(),B=!!(document.createElementNS&&Ii("svg").createSVGRect),q=!!B&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Y=!B&&(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}})(),me=navigator.platform.indexOf("Mac")===0,Qe=navigator.platform.indexOf("Linux")===0;function Ee(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Se={ie:it,ielt9:zt,edge:gi,webkit:Ti,android:Zi,android23:Bi,androidStock:vn,opera:ln,chrome:Pi,gecko:yn,safari:Re,phantom:jt,opera12:di,win:qt,ie3d:Le,webkit3d:It,gecko3d:ai,any3d:pi,mobile:_i,mobileWebkit:Fe,mobileWebkit3d:X,msPointer:ee,pointer:de,touch:$e,touchNative:ke,mobileOpera:N,mobileGecko:Q,retina:oe,passiveEvents:Ie,canvas:De,svg:B,vml:Y,inlineSvg:q,mac:me,linux:Qe},lt=Se.msPointer?"MSPointerDown":"pointerdown",Bt=Se.msPointer?"MSPointerMove":"pointermove",St=Se.msPointer?"MSPointerUp":"pointerup",Dt=Se.msPointer?"MSPointerCancel":"pointercancel",Ft={touchstart:lt,touchmove:Bt,touchend:St,touchcancel:Dt},ne={touchstart:en,touchmove:Ci,touchend:Ci,touchcancel:Ci},_e={},Be=!1;function at(l,h,_){return h==="touchstart"&&fi(),ne[h]?(_=ne[h].bind(this,_),l.addEventListener(Ft[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function nt(l,h,_){if(!Ft[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(Ft[h],_,!1)}function Ye(l){_e[l.pointerId]=l}function Rt(l){_e[l.pointerId]&&(_e[l.pointerId]=l)}function ri(l){delete _e[l.pointerId]}function fi(){Be||(document.addEventListener(lt,Ye,!0),document.addEventListener(Bt,Rt,!0),document.addEventListener(St,ri,!0),document.addEventListener(Dt,ri,!0),Be=!0)}function Ci(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in _e)h.touches.push(_e[_]);h.changedTouches=[h],l(h)}}function en(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&dn(h),Ci(l,h)}function fn(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 cn=200;function ki(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 Z=co(R);if(!(Z.some(function(Ce){return Ce instanceof HTMLLabelElement&&Ce.attributes.for})&&!Z.some(function(Ce){return Ce instanceof HTMLInputElement||Ce instanceof HTMLSelectElement}))){var le=Date.now();le-_<=cn?(S++,S===2&&h(fn(R))):S=1,_=le}}}return l.addEventListener("click",I),{dblclick:h,simDblclick:I}}function Xi(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var z=tt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),te=tt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ge=te==="webkitTransition"||te==="OTransition"?te+"End":"transitionend";function Je(l){return typeof l=="string"?document.getElementById(l):l}function ge(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 be(l,h,_){var S=document.createElement(l);return S.className=h||"",_&&_.appendChild(S),S}function vt(l){var h=l.parentNode;h&&h.removeChild(l)}function Ei(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Ne(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function Ke(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 _=K(l);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function et(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=K(l);Jt(l,(R?R+" ":"")+h)}}function bt(l,h){l.classList!==void 0?l.classList.remove(h):Jt(l,w((" "+K(l)+" ").replace(" "+h+" "," ")))}function Jt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function K(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function se(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&Ue(l,h)}function Ue(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 tt(l){for(var h=document.documentElement.style,_=0;_<l.length;_++)if(l[_]in h)return l[_];return!1}function He(l,h,_){var S=h||new fe(0,0);l.style[z]=(Se.ie3d?"translate("+S.x+"px,"+S.y+"px)":"translate3d("+S.x+"px,"+S.y+"px,0)")+(_?" scale("+_+")":"")}function Pe(l,h){l._leaflet_pos=h,Se.any3d?He(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function $t(l){return l._leaflet_pos||new fe(0,0)}var xt,Ze,Ut;if("onselectstart"in document)xt=function(){Xe(window,"selectstart",dn)},Ze=function(){si(window,"selectstart",dn)};else{var st=tt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);xt=function(){if(st){var l=document.documentElement.style;Ut=l[st],l[st]="none"}},Ze=function(){st&&(document.documentElement.style[st]=Ut,Ut=void 0)}}function Me(){Xe(window,"dragstart",dn)}function ze(){si(window,"dragstart",dn)}var Ve,je;function Nt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(we(),Ve=l,je=l.style.outlineStyle,l.style.outlineStyle="none",Xe(window,"keydown",we))}function we(){Ve&&(Ve.style.outlineStyle=je,Ve=void 0,je=void 0,si(window,"keydown",we))}function ot(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function _t(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var mt={__proto__:null,TRANSFORM:z,TRANSITION:te,TRANSITION_END:Ge,get:Je,getStyle:ge,create:be,remove:vt,empty:Ei,toFront:Ne,toBack:Ke,hasClass:Vt,addClass:et,removeClass:bt,setClass:Jt,getClass:K,setOpacity:se,testProp:tt,setTransform:He,setPosition:Pe,getPosition:$t,get disableTextSelection(){return xt},get enableTextSelection(){return Ze},disableImageDrag:Me,enableImageDrag:ze,preventOutline:Nt,restoreOutline:we,getSizedParentNode:ot,getScale:_t};function Xe(l,h,_,S){if(h&&typeof h=="object")for(var I in h)En(l,I,h[I],_);else{h=m(h);for(var R=0,Z=h.length;R<Z;R++)En(l,h[R],_,S)}return this}var Yt="_leaflet_events";function si(l,h,_,S){if(arguments.length===1)un(l),delete l[Yt];else if(h&&typeof h=="object")for(var I in h)Qn(l,I,h[I],_);else if(h=m(h),arguments.length===2)un(l,function(le){return $(h,le)!==-1});else for(var R=0,Z=h.length;R<Z;R++)Qn(l,h[R],_,S);return this}function un(l,h){for(var _ in l[Yt]){var S=_.split(/\d/)[0];(!h||h(S))&&Qn(l,S,null,null,_)}}var tn={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function En(l,h,_,S){var I=h+c(_)+(S?"_"+c(S):"");if(l[Yt]&&l[Yt][I])return this;var R=function(le){return _.call(S||l,le||window.event)},Z=R;!Se.touchNative&&Se.pointer&&h.indexOf("touch")===0?R=at(l,h,R):Se.touch&&h==="dblclick"?R=ki(l,R):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(tn[h]||h,R,Se.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(R=function(le){le=le||window.event,Jn(l,le)&&Z(le)},l.addEventListener(tn[h],R,!1)):l.addEventListener(h,Z,!1):l.attachEvent("on"+h,R),l[Yt]=l[Yt]||{},l[Yt][I]=R}function Qn(l,h,_,S,I){I=I||h+c(_)+(S?"_"+c(S):"");var R=l[Yt]&&l[Yt][I];if(!R)return this;!Se.touchNative&&Se.pointer&&h.indexOf("touch")===0?nt(l,h,R):Se.touch&&h==="dblclick"?Xi(l,R):"removeEventListener"in l?l.removeEventListener(tn[h]||h,R,!1):l.detachEvent("on"+h,R),l[Yt][I]=null}function Ui(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function bi(l){return En(l,"wheel",Ui),this}function wn(l){return Xe(l,"mousedown touchstart dblclick contextmenu",Ui),l._leaflet_disable_click=!0,this}function dn(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function rs(l){return dn(l),Ui(l),this}function co(l){if(l.composedPath)return l.composedPath();for(var h=[],_=l.target;_;)h.push(_),_=_.parentNode;return h}function qo(l,h){if(!h)return new fe(l.clientX,l.clientY);var _=_t(h),S=_.boundingClientRect;return new fe((l.clientX-S.left)/_.x-h.clientLeft,(l.clientY-S.top)/_.y-h.clientTop)}var Rr=Se.linux&&Se.chrome?window.devicePixelRatio:Se.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Ga(l){return Se.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Rr: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 Jn(l,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==l;)_=_.parentNode}catch{return!1}return _!==l}var fa={__proto__:null,on:Xe,off:si,stopPropagation:Ui,disableScrollPropagation:bi,disableClickPropagation:wn,preventDefault:dn,stop:rs,getPropagationPath:co,getMousePosition:qo,getWheelDelta:Ga,isExternalTarget:Jn,addListener:Xe,removeListener:si},ga=Pt.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=$t(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=xe(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(),Pe(this._el,_),this.fire("step")},_complete:function(){rt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),gn=Pt.extend({options:{crs:Ri,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(Lt(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=te&&Se.any3d&&!Se.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Xe(this._proxy,Ge,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(Lt(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 fe?l:this.latLngToContainerPoint(l),Z=R.subtract(I).multiplyBy(1-1/S),le=this.containerPointToLatLng(I.add(Z));return this.setView(le,h,{zoom:_})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():Zt(l);var _=Oe(h.paddingTopLeft||h.padding||[0,0]),S=Oe(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),Z=this.project(l.getSouthWest(),I),le=this.project(l.getNorthEast(),I),Ce=this.unproject(Z.add(le).divideBy(2).add(R),I);return{center:Ce,zoom:I}},fitBounds:function(l,h){if(l=Zt(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=Oe(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 ga,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){et(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(),Z=this._zoom;l=Lt(l),h=h===void 0?Z:h;var le=Math.max(R.x,R.y),Ce=le*this.getZoomScale(Z,h),ht=I.distanceTo(S)||1,ui=1.42,Gi=ui*ui;function xn(Ps){var G_=Ps?-1:1,SA=Ps?Ce:le,CA=Ce*Ce-le*le+G_*Gi*Gi*ht*ht,xA=2*SA*Gi*ht,_w=CA/xA,Jk=Math.sqrt(_w*_w+1)-_w,kA=Jk<1e-9?-18:Math.log(Jk);return kA}function bo(Ps){return(Math.exp(Ps)-Math.exp(-Ps))/2}function $s(Ps){return(Math.exp(Ps)+Math.exp(-Ps))/2}function lr(Ps){return bo(Ps)/$s(Ps)}var Po=xn(0);function Qu(Ps){return le*($s(Po)/$s(Po+ui*Ps))}function vA(Ps){return le*($s(Po)*lr(Po+ui*Ps)-bo(Po))/Gi}function bA(Ps){return 1-Math.pow(1-Ps,1.5)}var yA=Date.now(),Yk=(xn(1)-Po)/ui,wA=_.duration?1e3*_.duration:1e3*Yk*.8;function Qk(){var Ps=(Date.now()-yA)/wA,G_=bA(Ps)*Yk;Ps<=1?(this._flyToFrame=xe(Qk,this),this._move(this.unproject(S.add(I.subtract(S).multiplyBy(vA(G_)/ht)),Z),this.getScaleZoom(le/Qu(G_),Z),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),Qk.call(this),this},flyToBounds:function(l,h){var _=this._getBoundsCenterZoom(l,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(l){return l=Zt(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,Zt(l));return _.equals(S)||this.panTo(S,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var _=Oe(h.paddingTopLeft||h.padding||[0,0]),S=Oe(h.paddingBottomRight||h.padding||[0,0]),I=this.project(this.getCenter()),R=this.project(l),Z=this.getPixelBounds(),le=ut([Z.min.add(_),Z.max.subtract(S)]),Ce=le.getSize();if(!le.contains(R)){this._enforcingBounds=!0;var ht=R.subtract(le.getCenter()),ui=le.extend(R).getSize().subtract(Ce);I.x+=ht.x<0?-ui.x:ui.x,I.y+=ht.y<0?-ui.y:ui.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 Mt(h,_),I=S.toBounds(l.coords.accuracy*2),R=this._locateOptions;if(R.setView){var Z=this.getBoundsZoom(I);this.setView(S,R.maxZoom?Math.min(Z,R.maxZoom):Z)}var le={latlng:S,bounds:I,timestamp:l.timestamp};for(var Ce in l.coords)typeof l.coords[Ce]=="number"&&(le[Ce]=l.coords[Ce]);this.fire("locationfound",le)}},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(),vt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(rt(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)vt(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=be("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 Wt(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=Zt(l),_=Oe(_||[0,0]);var S=this.getZoom()||0,I=this.getMinZoom(),R=this.getMaxZoom(),Z=l.getNorthWest(),le=l.getSouthEast(),Ce=this.getSize().subtract(_),ht=ut(this.project(le,S),this.project(Z,S)).getSize(),ui=Se.any3d?this.options.zoomSnap:1,Gi=Ce.x/ht.x,xn=Ce.y/ht.y,bo=h?Math.max(Gi,xn):Math.min(Gi,xn);return S=this.getScaleZoom(bo,S),ui&&(S=Math.round(S/(ui/100))*(ui/100),S=h?Math.ceil(S/ui)*ui:Math.floor(S/ui)*ui),Math.max(I,Math.min(R,S))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new fe(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 Te(_,_.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(Lt(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Oe(l),h)},layerPointToLatLng:function(l){var h=Oe(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Lt(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Lt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Zt(l))},distance:function(l,h){return this.options.crs.distance(Lt(l),Lt(h))},containerPointToLayerPoint:function(l){return Oe(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Oe(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(Oe(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Lt(l)))},mouseEventToContainerPoint:function(l){return qo(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=Je(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Xe(h,"scroll",this._onScroll,this),this._containerId=c(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Se.any3d,et(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=ge(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),Pe(this._mapPane,new fe(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(et(l.markerPane,"leaflet-zoom-hide"),et(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,_){Pe(this._mapPane,new fe(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 rt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){Pe(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?si:Xe;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(){rt(this._resizeRequest),this._resizeRequest=xe(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,Z=!1;R;){if(S=this._targets[c(R)],S&&(h==="click"||h==="preclick")&&this._draggableMoved(S)){Z=!0;break}if(S&&S.listens(h,!0)&&(I&&!Jn(R,l)||(_.push(S),I))||R===this._container)break;R=R.parentNode}return!_.length&&!Z&&!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"&&Nt(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=[],Z=0;Z<_.length;Z++)_[Z].listens(h,!0)&&R.push(_[Z]);I=R.concat(I)}if(I.length){h==="contextmenu"&&dn(l);var le=I[0],Ce={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var ht=le.getLatLng&&(!le._radius||le._radius<=10);Ce.containerPoint=ht?this.latLngToContainerPoint(le.getLatLng()):this.mouseEventToContainerPoint(l),Ce.layerPoint=this.containerPointToLayerPoint(Ce.containerPoint),Ce.latlng=ht?le.getLatLng():this.layerPointToLatLng(Ce.layerPoint)}for(Z=0;Z<I.length;Z++)if(I[Z].fire(h,Ce,!0),Ce.originalEvent._stopped||I[Z].options.bubblingMouseEvents===!1&&$(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 $t(this._mapPane)||new fe(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 ut([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 Te(S.subtract(I),S.add(I)),Z=this._getBoundsOffset(R,_,h);return Math.abs(Z.x)<=1&&Math.abs(Z.y)<=1?l:this.unproject(S.add(Z),h)},_limitOffset:function(l,h){if(!h)return l;var _=this.getPixelBounds(),S=new Te(_.min.add(l),_.max.add(l));return l.add(this._getBoundsOffset(S,h))},_getBoundsOffset:function(l,h,_){var S=ut(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),I=S.min.subtract(l.min),R=S.max.subtract(l.max),Z=this._rebound(I.x,-R.x),le=this._rebound(I.y,-R.y);return new fe(Z,le)},_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(){bt(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=be("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var _=z,S=this._proxy.style[_];He(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(){vt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();He(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:(xe(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,et(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&&bt(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 Nr(l,h){return new gn(l,h)}var Zs=ve.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 et(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?(vt(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()}}),ks=function(l){return new Zs(l)};gn.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=be("div",h+"control-container",this._container);function S(I,R){var Z=h+I+" "+h+R;l[I+R]=be("div",Z,_)}S("top","left"),S("top","right"),S("bottom","left"),S("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)vt(this._controlCorners[l]);vt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Xs=Zs.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 Zs.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(){et(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?(et(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):bt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return bt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=be("div",l),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),wn(h),bi(h);var S=this._section=be("section",l+"-list");_&&(this._map.on("click",this.collapse,this),Xe(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=be("a",l+"-toggle",h);I.href="#",I.title="Layers",I.setAttribute("role","button"),Xe(I,{keydown:function(R){R.keyCode===13&&this._expandSafely()},click:function(R){dn(R),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=be("div",l+"-base",S),this._separator=be("div",l+"-separator",S),this._overlaysList=be("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;Ei(this._baseLayersList),Ei(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),Xe(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 Z=l.overlay?this._overlaysList:this._baseLayersList;return Z.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,Xe(l,"click",dn),this.expand();var h=this;setTimeout(function(){si(l,"click",dn),h._preventClick=!1})}}),Ar=function(l,h,_){return new Xs(l,h,_)},Ka=Zs.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",_=be("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=be("a",_,S);return R.innerHTML=l,R.href="#",R.title=h,R.setAttribute("role","button"),R.setAttribute("aria-label",h),wn(R),Xe(R,"click",rs),Xe(R,"click",I,this),Xe(R,"click",this._refocusOnMap,this),R},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";bt(this._zoomInButton,h),bt(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(et(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(et(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});gn.mergeOptions({zoomControl:!0}),gn.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ka,this.addControl(this.zoomControl))});var Ol=function(l){return new Ka(l)},Za=Zs.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",_=be("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=be("div",h,_)),l.imperial&&(this._iScale=be("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*_}}),Go=function(l){return new Za(l)},Or='<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>',Fr=Zs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Se.inlineSvg?Or+" ":"")+"Leaflet</a>"},initialize:function(l){x(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=be("div","leaflet-control-attribution"),wn(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> ')}}});gn.mergeOptions({attributionControl:!0}),gn.addInitHook(function(){this.options.attributionControl&&new Fr().addTo(this)});var A_=function(l){return new Fr(l)};Zs.Layers=Xs,Zs.Zoom=Ka,Zs.Scale=Za,Zs.Attribution=Fr,ks.layers=Ar,ks.zoom=Ol,ks.scale=Go,ks.attribution=A_;var ar=ve.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}});ar.addTo=function(l,h){return l.addHandler(h,this),this};var O_={Events:gt},tg=Se.touch?"touchstart mousedown":"mousedown",Ko=Pt.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||(Xe(this._dragStartTarget,tg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Ko._dragging===this&&this.finishDrag(!0),si(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){Ko._dragging===this&&this.finishDrag();return}if(!(Ko._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Ko._dragging=this,this._preventOutline&&Nt(this._element),Me(),xt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,_=ot(this._element);this._startPoint=new fe(h.clientX,h.clientY),this._startPos=$t(this._element),this._parentScale=_t(_);var S=l.type==="mousedown";Xe(document,S?"mousemove":"touchmove",this._onMove,this),Xe(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 fe(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,dn(l),this._moved||(this.fire("dragstart"),this._moved=!0,et(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),et(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),Pe(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){bt(document.body,"leaflet-dragging"),this._lastTarget&&(bt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),si(document,"mousemove touchmove",this._onMove,this),si(document,"mouseup touchend touchcancel",this._onUp,this),ze(),Ze();var h=this._moved&&this._moving;this._moving=!1,Ko._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,Z,le,Ce,ht,ui,Gi,xn;for(R=0,ui=l.length;R<ui;R++)l[R]._code=Xa(l[R],h);for(le=0;le<4;le++){for(Gi=I[le],S=[],R=0,ui=l.length,Z=ui-1;R<ui;Z=R++)Ce=l[R],ht=l[Z],Ce._code&Gi?ht._code&Gi||(xn=jc(ht,Ce,Gi,h,_),xn._code=Xa(xn,h),S.push(xn)):(ht._code&Gi&&(xn=jc(ht,Ce,Gi,h,_),xn._code=Xa(xn,h),S.push(xn)),S.push(Ce));l=S}return l}function ig(l,h){var _,S,I,R,Z,le,Ce,ht,ui;if(!l||l.length===0)throw new Error("latlngs not passed");To(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Gi=Lt([0,0]),xn=Zt(l),bo=xn.getNorthWest().distanceTo(xn.getSouthWest())*xn.getNorthEast().distanceTo(xn.getNorthWest());bo<1700&&(Gi=ng(l));var $s=l.length,lr=[];for(_=0;_<$s;_++){var Po=Lt(l[_]);lr.push(h.project(Lt([Po.lat-Gi.lat,Po.lng-Gi.lng])))}for(le=Ce=ht=0,_=0,S=$s-1;_<$s;S=_++)I=lr[_],R=lr[S],Z=I.y*R.x-R.y*I.x,Ce+=(I.x+R.x)*Z,ht+=(I.y+R.y)*Z,le+=Z*3;le===0?ui=lr[0]:ui=[Ce/le,ht/le];var Qu=h.unproject(Oe(ui));return Lt([Qu.lat+Gi.lat,Qu.lng+Gi.lng])}function ng(l){for(var h=0,_=0,S=0,I=0;I<l.length;I++){var R=Lt(l[I]);h+=R.lat,_+=R.lng,S++}return Lt([h/S,_/S])}var dw={__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,Z=[];for(R=0;R<_;R++)I[R]&&Z.push(l[R]);return Z}function rg(l,h,_,S,I){var R=0,Z,le,Ce;for(le=S+1;le<=I-1;le++)Ce=$c(l[le],l[S],l[I],!0),Ce>R&&(Z=le,R=Ce);R>_&&(h[Z]=1,rg(l,h,_,S,Z),rg(l,h,_,Z,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,_),Z=Xa(h,_),le,Ce,ht;for(ag=Z;;){if(!(R|Z))return[l,h];if(R&Z)return!1;le=R||Z,Ce=jc(l,h,le,_,I),ht=Xa(Ce,_),le===R?(l=Ce,R=ht):(h=Ce,Z=ht)}}function jc(l,h,_,S,I){var R=h.x-l.x,Z=h.y-l.y,le=S.min,Ce=S.max,ht,ui;return _&8?(ht=l.x+R*(Ce.y-l.y)/Z,ui=Ce.y):_&4?(ht=l.x+R*(le.y-l.y)/Z,ui=le.y):_&2?(ht=Ce.x,ui=l.y+Z*(Ce.x-l.x)/R):_&1&&(ht=le.x,ui=l.y+Z*(le.x-l.x)/R),new fe(ht,ui,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,Z=_.x-I,le=_.y-R,Ce=Z*Z+le*le,ht;return Ce>0&&(ht=((l.x-I)*Z+(l.y-R)*le)/Ce,ht>1?(I=_.x,R=_.y):ht>0&&(I+=Z*ht,R+=le*ht)),Z=l.x-I,le=l.y-R,S?Z*Z+le*le:new fe(I,R)}function To(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."),To(l)}function Gu(l,h){var _,S,I,R,Z,le,Ce,ht;if(!l||l.length===0)throw new Error("latlngs not passed");To(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var ui=Lt([0,0]),Gi=Zt(l),xn=Gi.getNorthWest().distanceTo(Gi.getSouthWest())*Gi.getNorthEast().distanceTo(Gi.getNorthWest());xn<1700&&(ui=ng(l));var bo=l.length,$s=[];for(_=0;_<bo;_++){var lr=Lt(l[_]);$s.push(h.project(Lt([lr.lat-ui.lat,lr.lng-ui.lng])))}for(_=0,S=0;_<bo-1;_++)S+=$s[_].distanceTo($s[_+1])/2;if(S===0)ht=$s[0];else for(_=0,R=0;_<bo-1;_++)if(Z=$s[_],le=$s[_+1],I=Z.distanceTo(le),R+=I,R>S){Ce=(R-S)/I,ht=[le.x-Ce*(le.x-Z.x),le.y-Ce*(le.y-Z.y)];break}var Po=h.unproject(Oe(ht));return Lt([Po.lat+ui.lat,Po.lng+ui.lng])}var j_={__proto__:null,simplify:sg,pointToSegmentDistance:H_,closestPointOnSegment:og,clipSegment:lg,_getEdgeIntersection:jc,_getBitCode:Xa,_sqClosestPointOnSegment:$c,isFlat:To,_flat:V_,polylineCenter:Gu},Ku={project:function(l){return new fe(l.lng,l.lat)},unproject:function(l){return new Mt(l.y,l.x)},bounds:new Te([-180,-90],[180,90])},Zu={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Te([-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),Z=R*Math.sin(S),le=Math.tan(Math.PI/4-S/2)/Math.pow((1-Z)/(1+Z),R/2);return S=-_*Math.log(Math.max(le,1e-10)),new fe(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/_),Z=Math.PI/2-2*Math.atan(R),le=0,Ce=.1,ht;le<15&&Math.abs(Ce)>1e-7;le++)ht=I*Math.sin(Z),ht=Math.pow((1-ht)/(1+ht),I/2),Ce=Math.PI/2-2*Math.atan(R*ht)-Z,Z+=Ce;return new Mt(Z*h,l.x*h/_)}},uw={__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 Fi(l,.5,-l,.5)})()}),Xu=n({},kt,{code:"EPSG:4326",projection:Ku,transformation:Fi(1/180,1,-1/180,.5)}),U_=n({},At,{projection:Ku,transformation:Fi(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});At.Earth=kt,At.EPSG3395=$_,At.EPSG3857=Ri,At.EPSG900913=Ni,At.EPSG4326=Xu,At.Simple=U_;var Zo=Pt.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})}}});gn.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=Zo.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)}}),hw=function(l,h){return new Fl(l,h)},Hr=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 Wt;for(var h in this._layers){var _=this._layers[h];l.extend(_.getBounds?_.getBounds():_.getLatLng())}return l}}),fw=function(l,h){return new Hr(l,h)},Hl=ve.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=Oe(S),R=Oe(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 gw(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=be("div","leaflet-default-icon-path",document.body),h=ge(l,"background-image")||ge(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):""}}),V=ar.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Ko(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),et(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&&bt(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=$t(h._icon),Z=_.getPixelBounds(),le=_.getPixelOrigin(),Ce=ut(Z.min._subtract(le).add(I),Z.max._subtract(le).subtract(I));if(!Ce.contains(R)){var ht=Oe((Math.max(Ce.max.x,R.x)-Ce.max.x)/(Z.max.x-Ce.max.x)-(Math.min(Ce.min.x,R.x)-Ce.min.x)/(Z.min.x-Ce.min.x),(Math.max(Ce.max.y,R.y)-Ce.max.y)/(Z.max.y-Ce.max.y)-(Math.min(Ce.min.y,R.y)-Ce.min.y)/(Z.min.y-Ce.min.y)).multiplyBy(S);_.panBy(ht,{animate:!1}),this._draggable._newPos._add(ht),this._draggable._startPos._add(ht),Pe(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=xe(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&&(rt(this._panRequest),this._panRequest=xe(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,_=h._shadow,S=$t(h._icon),I=h._map.layerPointToLatLng(S);_&&Pe(_,S),h._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){rt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),re=Zo.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=Lt(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=Lt(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||"")),et(_,h),l.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Xe(_,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),R=!1;I!==this._shadow&&(this._removeShadow(),R=!0),I&&(et(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&&si(this._icon,"focus",this._panOnFocus,this),vt(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&vt(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&Pe(this._icon,l),this._shadow&&Pe(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&&(et(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),V)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new V(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&&se(this._icon,l),this._shadow&&se(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?Oe(h.iconSize):Oe(0,0),S=h.iconAnchor?Oe(h.iconAnchor):Oe(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 Ae(l,h){return new re(l,h)}var pe=Zo.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)}}),yt=pe.extend({options:{fill:!0,radius:10},initialize:function(l,h){x(this,h),this._latlng=Lt(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Lt(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 pe.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 Te(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 ei(l,h){return new yt(l,h)}var li=yt.extend({initialize:function(l,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),x(this,h),this._latlng=Lt(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 Wt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:pe.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,Z=_.project([h+R,l]),le=_.project([h-R,l]),Ce=Z.add(le).divideBy(2),ht=_.unproject(Ce).lat,ui=Math.acos((Math.cos(R*I)-Math.sin(h*I)*Math.sin(ht*I))/(Math.cos(h*I)*Math.cos(ht*I)))/I;(isNaN(ui)||ui===0)&&(ui=R/Math.cos(Math.PI/180*h)),this._point=Ce.subtract(_.getPixelOrigin()),this._radius=isNaN(ui)?0:Ce.x-_.project([ht,l-ui]).x,this._radiusY=Ce.y-Z.y}else{var Gi=S.unproject(S.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(Gi).x}this._updateBounds()}});function nn(l,h,_){return new li(l,h,_)}var Vi=pe.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,Z=0,le=this._parts.length;Z<le;Z++)for(var Ce=this._parts[Z],ht=1,ui=Ce.length;ht<ui;ht++){I=Ce[ht-1],R=Ce[ht];var Gi=S(l,I,R,!0);Gi<h&&(h=Gi,_=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=Lt(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Wt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return To(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],_=To(l),S=0,I=l.length;S<I;S++)_?(h[S]=Lt(l[S]),this._bounds.extend(h[S])):h[S]=this._convertLatLngs(l[S]);return h},_project:function(){var l=new Te;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 fe(l,l);this._rawPxBounds&&(this._pxBounds=new Te([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,_){var S=l[0]instanceof Mt,I=l.length,R,Z;if(S){for(Z=[],R=0;R<I;R++)Z[R]=this._map.latLngToLayerPoint(l[R]),_.extend(Z[R]);h.push(Z)}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,Z,le,Ce;for(_=0,I=0,R=this._rings.length;_<R;_++)for(Ce=this._rings[_],S=0,Z=Ce.length;S<Z-1;S++)le=lg(Ce[S],Ce[S+1],l,S,!0),le&&(h[I]=h[I]||[],h[I].push(le[0]),(le[1]!==Ce[S+1]||S===Z-2)&&(h[I].push(le[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,Z,le,Ce=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(_=0,R=this._parts.length;_<R;_++)for(le=this._parts[_],S=0,Z=le.length,I=Z-1;S<Z;I=S++)if(!(!h&&S===0)&&H_(l,le[I],le[S])<=Ce)return!0;return!1}});function hn(l,h){return new Vi(l,h)}Vi._flat=V_;var ji=Vi.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=Vi.prototype._convertLatLngs.call(this,l),_=h.length;return _>=2&&h[0]instanceof Mt&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(l){Vi.prototype._setLatLngs.call(this,l),To(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return To(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,_=new fe(h,h);if(l=new Te(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,Z,le,Ce,ht;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(R=0,Ce=this._parts.length;R<Ce;R++)for(_=this._parts[R],Z=0,ht=_.length,le=ht-1;Z<ht;le=Z++)S=_[Z],I=_[le],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||Vi.prototype._containsPoint.call(this,l,!0)}});function sn(l,h){return new ji(l,h)}var qi=Hr.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 Z=Wn(l,R);return Z?(Z.feature=as(l),Z.defaultOptions=Z.options,this.resetStyle(Z),R.onEachFeature&&R.onEachFeature(l,Z),this.addLayer(Z)):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,Z=h&&h.coordsToLatLng||qn,le,Ce,ht,ui;if(!S&&!_)return null;switch(_.type){case"Point":return le=Z(S),Zn(R,l,le,h);case"MultiPoint":for(ht=0,ui=S.length;ht<ui;ht++)le=Z(S[ht]),I.push(Zn(R,l,le,h));return new Hr(I);case"LineString":case"MultiLineString":return Ce=Ki(S,_.type==="LineString"?0:1,Z),new Vi(Ce,h);case"Polygon":case"MultiPolygon":return Ce=Ki(S,_.type==="Polygon"?1:2,Z),new ji(Ce,h);case"GeometryCollection":for(ht=0,ui=_.geometries.length;ht<ui;ht++){var Gi=Wn({geometry:_.geometries[ht],type:"Feature",properties:l.properties},h);Gi&&I.push(Gi)}return new Hr(I);case"FeatureCollection":for(ht=0,ui=_.features.length;ht<ui;ht++){var xn=Wn(_.features[ht],h);xn&&I.push(xn)}return new Hr(I);default:throw new Error("Invalid GeoJSON object.")}}function Zn(l,h,_,S){return l?l(h,_):new re(_,S&&S.markersInheritOptions&&S)}function qn(l){return new Mt(l[1],l[0],l[2])}function Ki(l,h,_){for(var S=[],I=0,R=l.length,Z;I<R;I++)Z=h?Ki(l[I],h-1,_):(_||qn)(l[I]),S.push(Z);return S}function hs(l,h){return l=Lt(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 Fs(l,h,_,S){for(var I=[],R=0,Z=l.length;R<Z;R++)I.push(h?Fs(l[R],To(l[R])?0:h-1,_,S):hs(l[R],S));return!h&&_&&I.length>0&&I.push(I[0].slice()),I}function bs(l,h){return l.feature?n({},l.feature,{geometry:h}):as(h)}function as(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var is={toGeoJSON:function(l){return bs(this,{type:"Point",coordinates:hs(this.getLatLng(),l)})}};re.include(is),li.include(is),yt.include(is),Vi.include({toGeoJSON:function(l){var h=!To(this._latlngs),_=Fs(this._latlngs,h?1:0,!1,l);return bs(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),ji.include({toGeoJSON:function(l){var h=!To(this._latlngs),_=h&&!To(this._latlngs[0]),S=Fs(this._latlngs,_?2:h?1:0,!0,l);return h||(S=[S]),bs(this,{type:(_?"Multi":"")+"Polygon",coordinates:S})}}),Fl.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(_){h.push(_.toGeoJSON(l).geometry.coordinates)}),bs(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 Z=as(R);Z.type==="FeatureCollection"?S.push.apply(S,Z.features):S.push(Z)}}}),_?bs(this,{geometries:S,type:"GeometryCollection"}):{type:"FeatureCollection",features:S}}});function fs(l,h){return new qi(l,h)}var ys=fs,Hs=Zo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,_){this._url=l,this._bounds=Zt(h),x(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(et(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){vt(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&&Ne(this._image),this},bringToBack:function(){return this._map&&Ke(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Zt(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:be("img");if(et(h,"leaflet-image-layer"),this._zoomAnimated&&et(h,"leaflet-zoom-animated"),this.options.className&&et(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;He(this._image,_,h)},_reset:function(){var l=this._image,h=new Te(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();Pe(l,h.min),l.style.width=_.x+"px",l.style.height=_.y+"px"},_updateOpacity:function(){se(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()}}),pa=function(l,h,_){return new Hs(l,h,_)},Wr=Hs.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:be("video");if(et(h,"leaflet-image-layer"),this._zoomAnimated&&et(h,"leaflet-zoom-animated"),this.options.className&&et(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 Z=be("source");Z.src=this._url[R],h.appendChild(Z)}}});function Ws(l,h,_){return new Wr(l,h,_)}var Cn=Hs.extend({_initImage:function(){var l=this._image=this._url;et(l,"leaflet-image-layer"),this._zoomAnimated&&et(l,"leaflet-zoom-animated"),this.options.className&&et(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Xo(l,h,_){return new Cn(l,h,_)}var Ls=Zo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof Mt||A(l))?(this._latlng=Lt(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&&se(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&se(this._container,1),this.bringToFront(),this.options.interactive&&(et(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(se(this._container,0),this._removeTimeout=setTimeout(r(vt,void 0,this._container),200)):vt(this._container),this.options.interactive&&(bt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Lt(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&&Ne(this._container),this},bringToBack:function(){return this._map&&Ke(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof Hr){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=Oe(this.options.offset),_=this._getAnchor();this._zoomAnimated?Pe(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]}});gn.include({_initOverlay:function(l,h,_,S){var I=h;return I instanceof l||(I=new l(S).setContent(h)),_&&I.setLatLng(_),I}}),Zo.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 Br=Ls.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,Ls.prototype.openOn.call(this,l)},onAdd:function(l){Ls.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof pe||this._source.on("preclick",Ui))},onRemove:function(l){Ls.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof pe||this._source.off("preclick",Ui))},getEvents:function(){var l=Ls.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=be("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=be("div",l+"-content-wrapper",h);if(this._contentNode=be("div",l+"-content",_),wn(h),bi(this._contentNode),Xe(h,"contextmenu",Ui),this._tipContainer=be("div",l+"-tip-container",h),this._tip=be("div",l+"-tip",this._tipContainer),this.options.closeButton){var S=this._closeButton=be("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>',Xe(S,"click",function(I){dn(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",et(l,R)):bt(l,R),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),_=this._getAnchor();Pe(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(ge(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,S=this._containerWidth,I=new fe(this._containerLeft,-_-this._containerBottom);I._add($t(this._container));var R=l.layerPointToContainerPoint(I),Z=Oe(this.options.autoPanPadding),le=Oe(this.options.autoPanPaddingTopLeft||Z),Ce=Oe(this.options.autoPanPaddingBottomRight||Z),ht=l.getSize(),ui=0,Gi=0;R.x+S+Ce.x>ht.x&&(ui=R.x+S-ht.x+Ce.x),R.x-ui-le.x<0&&(ui=R.x-le.x),R.y+_+Ce.y>ht.y&&(Gi=R.y+_-ht.y+Ce.y),R.y-Gi-le.y<0&&(Gi=R.y-le.y),(ui||Gi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([ui,Gi]))}},_getAnchor:function(){return Oe(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),cg=function(l,h){return new Br(l,h)};gn.mergeOptions({closePopupOnClick:!0}),gn.include({openPopup:function(l,h,_){return this._initOverlay(Br,l,h,_).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Zo.include({bindPopup:function(l,h){return this._popup=this._initOverlay(Br,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 Hr||(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)){rs(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof pe)){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=Ls.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Ls.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){Ls.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=Ls.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=be("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()),Z=S.layerPointToContainerPoint(l),le=this.options.direction,Ce=I.offsetWidth,ht=I.offsetHeight,ui=Oe(this.options.offset),Gi=this._getAnchor();le==="top"?(h=Ce/2,_=ht):le==="bottom"?(h=Ce/2,_=0):le==="center"?(h=Ce/2,_=ht/2):le==="right"?(h=0,_=ht/2):le==="left"?(h=Ce,_=ht/2):Z.x<R.x?(le="right",h=0,_=ht/2):(le="left",h=Ce+(ui.x+Gi.x)*2,_=ht/2),l=l.subtract(Oe(h,_,!0)).add(ui).add(Gi),bt(I,"leaflet-tooltip-right"),bt(I,"leaflet-tooltip-left"),bt(I,"leaflet-tooltip-top"),bt(I,"leaflet-tooltip-bottom"),et(I,"leaflet-tooltip-"+le),Pe(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&se(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return Oe(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),dg=function(l,h){return new Wl(l,h)};gn.include({openTooltip:function(l,h,_){return this._initOverlay(Wl,l,h,_).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Zo.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 Hr||(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&&(Xe(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Xe(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 zr=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?(Ei(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var S=Oe(_.bgPos);h.style.backgroundPosition=-S.x+"px "+-S.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function pw(l){return new zr(l)}Hl.Default=Uc;var qc=Zo.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(),vt(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Ne(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Ke(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 fe?l:new fe(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){se(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);se(I.el,R),R<1?h=!0:(I.active?_=!0:this._onOpaqueTile(I),I.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(rt(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=be("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(_)):(vt(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=be("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)vt(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),Z=_-1,le=new fe(+I,+R);le.z=+Z;var Ce=this._tileCoordsToKey(le),ht=this._tiles[Ce];return ht&&ht.active?(ht.retain=!0,!0):(ht&&ht.loaded&&(ht.retain=!0),Z>S?this._retainParent(I,R,Z,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 Z=new fe(I,R);Z.z=_+1;var le=this._tileCoordsToKey(Z),Ce=this._tiles[le];if(Ce&&Ce.active){Ce.retain=!0;continue}else Ce&&Ce.loaded&&(Ce.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?He(l.el,I,S):Pe(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 Te(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(),Z=[],le=this.options.keepBuffer,Ce=new Te(I.getBottomLeft().subtract([le,-le]),I.getTopRight().add([le,-le]));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 ui=this._tiles[ht].coords;(ui.z!==this._tileZoom||!Ce.contains(new fe(ui.x,ui.y)))&&(this._tiles[ht].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(l,_);return}for(var Gi=I.min.y;Gi<=I.max.y;Gi++)for(var xn=I.min.x;xn<=I.max.x;xn++){var bo=new fe(xn,Gi);if(bo.z=this._tileZoom,!!this._isValidTile(bo)){var $s=this._tiles[this._tileCoordsToKey(bo)];$s?$s.current=!0:Z.push(bo)}}if(Z.sort(function(Po,Qu){return Po.distanceTo(R)-Qu.distanceTo(R)}),Z.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var lr=document.createDocumentFragment();for(xn=0;xn<Z.length;xn++)this._addTile(Z[xn],lr);this._level.el.appendChild(lr)}}}},_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 Zt(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),Z=h.unproject(I,l.z);return[R,Z]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),_=new Wt(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 fe(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(l){var h=this._tiles[l];h&&(vt(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){et(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&&se(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&&xe(r(this._tileReady,this,l,null,I)),Pe(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?(se(_.el,0),rt(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(et(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Se.ielt9||!this._map._fadeAnimated?xe(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 fe(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 Te(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 Pn(l){return new qc(l)}var ps=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 Xe(_,"load",r(this._tileOnLoad,this,h,_)),Xe(_,"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=H;var _=this._tiles[l].coords;vt(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",H),qc.prototype._removeTile.call(this,l)},_tileReady:function(l,h,_){if(!(!this._map||_&&_.getAttribute("src")===H))return qc.prototype._tileReady.call(this,l,h,_)}});function Gc(l,h){return new ps(l,h)}var Yu=ps.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,ps.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),_=this._crs,S=ut(_.project(h[0]),_.project(h[1])),I=S.min,R=S.max,Z=(this._wmsVersion>=1.3&&this._crs===Xu?[I.y,I.x,R.y,R.x]:[I.x,I.y,R.x,R.y]).join(","),le=ps.prototype.getTileUrl.call(this,l);return le+k(this.wmsParams,le,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+Z},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function fA(l,h){return new Yu(l,h)}ps.WMS=Yu,Gc.wms=fA;var Ya=Zo.extend({options:{padding:.1},initialize:function(l){x(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),et(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?He(this._container,R,_):Pe(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 Te(_,_.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Bk=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");Xe(l,"mousemove",this._onMouseMove,this),Xe(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Xe(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){rt(this._redrawRequest),delete this._ctx,vt(this._container),si(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;Pe(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||xe(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Te,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,Z=l._parts,le=Z.length,Ce=this._ctx;if(le){for(Ce.beginPath(),_=0;_<le;_++){for(S=0,I=Z[_].length;S<I;S++)R=Z[_][S],Ce[S?"lineTo":"moveTo"](R.x,R.y);h&&Ce.closePath()}this._fillStroke(Ce,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&&(bt(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&&(et(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 zk(l){return Se.canvas?new Bk(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">')}})(),gA={_initContainer:function(){this._container=be("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");et(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;vt(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){Ne(l._container)},_bringToBack:function(l){Ke(l._container)}},q_=Se.vml?ug:Ii,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(){vt(this._container),si(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)),Pe(_,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&&et(h,l.options.className),l.options.interactive&&et(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){vt(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,ci(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){Ne(l._path)},_bringToBack:function(l){Ke(l._path)}});Se.vml&&hg.include(gA);function Vk(l){return Se.svg||Se.vml?new hg(l):null}gn.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&&zk(l)||Vk(l)}});var jk=ji.extend({initialize:function(l,h){ji.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Zt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function pA(l,h){return new jk(l,h)}hg.create=q_,hg.pointsToPath=ci,qi.geometryToLayer=Wn,qi.coordsToLatLng=qn,qi.coordsToLatLngs=Ki,qi.latLngToCoords=hs,qi.latLngsToCoords=Fs,qi.getFeature=bs,qi.asFeature=as,gn.mergeOptions({boxZoom:!0});var $k=ar.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(){Xe(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){si(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){vt(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(),xt(),Me(),this._startPoint=this._map.mouseEventToContainerPoint(l),Xe(document,{contextmenu:rs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=be("div","leaflet-zoom-box",this._container),et(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new Te(this._point,this._startPoint),_=h.getSize();Pe(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(vt(this._box),bt(this._container,"leaflet-crosshair")),Ze(),ze(),si(document,{contextmenu:rs,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 Wt(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())}});gn.addInitHook("addHandler","boxZoom",$k),gn.mergeOptions({doubleClickZoom:!0});var Uk=ar.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)}});gn.addInitHook("addHandler","doubleClickZoom",Uk),gn.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var qk=ar.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Ko(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))}et(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){bt(this._map._container,"leaflet-grab"),bt(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=Zt(this._map.options.maxBounds);this._offsetLimit=ut(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-_,Z=Math.abs(I+_)<Math.abs(R+_)?I:R;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=Z},_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,Z=_.easeLinearity,le=I.multiplyBy(Z/R),Ce=le.distanceTo([0,0]),ht=Math.min(_.inertiaMaxSpeed,Ce),ui=le.multiplyBy(ht/Ce),Gi=ht/(_.inertiaDeceleration*Z),xn=ui.multiplyBy(-Gi/2).round();!xn.x&&!xn.y?h.fire("moveend"):(xn=h._limitOffset(xn,h.options.maxBounds),xe(function(){h.panBy(xn,{duration:Gi,easeLinearity:Z,noMoveStart:!0,animate:!0})}))}}});gn.addInitHook("addHandler","dragging",qk),gn.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Gk=ar.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"),Xe(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(),si(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(){Xe(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){si(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=Oe(S).multiplyBy(3)),_.options.maxBounds&&(S=_._limitOffset(Oe(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;rs(l)}}});gn.addInitHook("addHandler","keyboard",Gk),gn.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Kk=ar.extend({addHooks:function(){Xe(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){si(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=Ga(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),rs(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,Z=l._limitZoom(h+(this._delta>0?R:-R))-h;this._delta=0,this._startTime=null,Z&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+Z):l.setZoomAround(this._lastMousePos,h+Z))}});gn.addInitHook("addHandler","scrollWheelZoom",Kk);var _A=600;gn.mergeOptions({tapHold:Se.touchNative&&Se.safari&&Se.mobile,tapTolerance:15});var Zk=ar.extend({addHooks:function(){Xe(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){si(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 fe(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Xe(document,"touchend",dn),Xe(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),_A),Xe(document,"touchend touchcancel contextmenu",this._cancel,this),Xe(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){si(document,"touchend",dn),si(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),si(document,"touchend touchcancel contextmenu",this._cancel,this),si(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new fe(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(_)}});gn.addInitHook("addHandler","tapHold",Zk),gn.mergeOptions({touchZoom:Se.touch,bounceAtZoomLimits:!0});var Xk=ar.extend({addHooks:function(){et(this._map._container,"leaflet-touch-zoom"),Xe(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){bt(this._map._container,"leaflet-touch-zoom"),si(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(),Xe(document,"touchmove",this._onTouchMove,this),Xe(document,"touchend touchcancel",this._onTouchEnd,this),dn(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),rt(this._animRequest);var Z=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=xe(Z,this,!0),dn(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,rt(this._animRequest),si(document,"touchmove",this._onTouchMove,this),si(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))}});gn.addInitHook("addHandler","touchZoom",Xk),gn.BoxZoom=$k,gn.DoubleClickZoom=Uk,gn.Drag=qk,gn.Keyboard=Gk,gn.ScrollWheelZoom=Kk,gn.TapHold=Zk,gn.TouchZoom=Xk,t.Bounds=Te,t.Browser=Se,t.CRS=At,t.Canvas=Bk,t.Circle=li,t.CircleMarker=yt,t.Class=ve,t.Control=Zs,t.DivIcon=zr,t.DivOverlay=Ls,t.DomEvent=fa,t.DomUtil=mt,t.Draggable=Ko,t.Evented=Pt,t.FeatureGroup=Hr,t.GeoJSON=qi,t.GridLayer=qc,t.Handler=ar,t.Icon=Hl,t.ImageOverlay=Hs,t.LatLng=Mt,t.LatLngBounds=Wt,t.Layer=Zo,t.LayerGroup=Fl,t.LineUtil=j_,t.Map=gn,t.Marker=re,t.Mixin=O_,t.Path=pe,t.Point=fe,t.PolyUtil=dw,t.Polygon=ji,t.Polyline=Vi,t.Popup=Br,t.PosAnimation=ga,t.Projection=uw,t.Rectangle=jk,t.Renderer=Ya,t.SVG=hg,t.SVGOverlay=Cn,t.TileLayer=ps,t.Tooltip=Wl,t.Transformation=Di,t.Util=pt,t.VideoOverlay=Wr,t.bind=r,t.bounds=ut,t.canvas=zk,t.circle=nn,t.circleMarker=ei,t.control=ks,t.divIcon=pw,t.extend=n,t.featureGroup=fw,t.geoJSON=fs,t.geoJson=ys,t.gridLayer=Pn,t.icon=gw,t.imageOverlay=pa,t.latLng=Lt,t.latLngBounds=Zt,t.layerGroup=hw,t.map=Nr,t.marker=Ae,t.point=Oe,t.polygon=sn,t.polyline=hn,t.popup=cg,t.rectangle=pA,t.setOptions=x,t.stamp=c,t.svg=Vk,t.svgOverlay=Xo,t.tileLayer=Gc,t.tooltip=dg,t.transformation=Fi,t.version=i,t.videoOverlay=Ws;var mA=window.L;t.noConflict=function(){return window.L=mA,this},window.L=t}))})(Vg,Vg.exports)),Vg.exports}var SK=wK();const Cg=KN(SK),CK="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=",xK="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==",kK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Nn=(o,e=Ny)=>{var t=LK(),i=b(v(t),2),n=v(i);j(()=>O(n,e())),D(o,t)};var LK=T('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),IK=T("<button> </button>"),DK=T('<span class="err svelte-767znw"> </span>'),EK=T('<span class="ok svelte-767znw"> </span>'),TK=T('<div class="loading svelte-767znw">Loading…</div>'),PK=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>'),MK=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),RK=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>'),NK=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>'),AK=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),OK=T('<div class="field-error svelte-767znw"> </div>'),FK=T('<div class="field-ok svelte-767znw"> </div>'),HK=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>'),WK=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>'),BK=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>'),zK=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>'),rE=T("<option> </option>"),VK=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>'),jK=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>'),$K=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>'),UK=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>'),qK=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>'),GK=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>'),KK=T('<span class="free-badge svelte-767znw">FREE</span> ',1),ZK=T(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),XK=T("<div><!> <!></div>"),YK=T('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),QK=T('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),JK=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>'),eZ=T('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),tZ=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 iZ(o,e){Ns(e,!0),delete Cg.Icon.Default.prototype._getIconUrl,Cg.Icon.Default.mergeOptions({iconUrl:CK,iconRetinaUrl:xK,shadowUrl:kK});let t=M(yi(vK())),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"),$=M(""),H=M(!1),ie=M(""),J=M(""),ue=M(""),he=M(!1),We=M(!1),xe=M(!1),rt=M(""),pt=M(48.7408),ve=M(9.1778),dt=M(!1),gt=M(void 0),Pt=M(!1),fe=M(null),Et=M("info"),Oe=M(""),Te=M(""),ut=M(!1),Wt=M(!1),Zt=M("");const Mt=[{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 Lt=M("ollama"),At=M("ollama"),kt=M(""),Si=M(""),hi=M("");const Di={};let Fi="ollama";function Ri(B,q){return B==="anthropic"?"anthropic":B==="ollama"?"ollama":q?q.includes("localhost:1234")?"lmstudio":q.includes("groq.com")?"groq":q.includes("googleapis.com")?"gemini":"openai":"openai"}function Ni(){Di[Fi]={baseUrl:d(kt),model:d(Si),apiKey:d(hi)};const B=Mt.find(Y=>Y.id===d(Lt));if(!B)return;y(At,B.provider,!0);const q=Di[d(Lt)];y(kt,(q==null?void 0:q.baseUrl)??B.baseUrl,!0),y(Si,(q==null?void 0:q.model)??B.defaultModel,!0),y(hi,(q==null?void 0:q.apiKey)??"",!0),Fi=d(Lt)}const Ii=wt(()=>Mt.find(B=>B.id===d(Lt)));let ci=M(yi({}));const vi=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(gt))return;const B=typeof d(pt)=="number"?d(pt):48.7408,q=typeof d(ve)=="number"?d(ve):9.1778,Y=Cg.map(d(gt)).setView([B,q],10);Cg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Y);const me=Cg.marker([B,q],{draggable:!0}).addTo(Y);y(fe,me,!0);const Qe=Ee=>{y(pt,+Ee.lat.toFixed(6)),y(ve,+Ee.lng.toFixed(6))};return me.on("dragend",()=>Qe(me.getLatLng())),Y.on("click",Ee=>{me.setLatLng(Ee.latlng),Qe(Ee.latlng)}),()=>{y(fe,null),Y.remove()}}),zn(()=>{!d(fe)||d(pt)===""||d(ve)===""||d(fe).setLatLng([Number(d(pt)),Number(d(ve))])});let it;function zt(){if(!navigator.geolocation){it.show("Geolocation is not supported by this browser.",{alert:!0});return}y(Pt,!0),navigator.geolocation.getCurrentPosition(B=>{y(pt,+B.coords.latitude.toFixed(6)),y(ve,+B.coords.longitude.toFixed(6)),y(Pt,!1)},()=>{y(Pt,!1)})}let gi=M(!0),Ti=M(!1),Zi=M(""),Bi=M(""),zi=M(""),vn=M("appearance");const ln=[{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 Pi=wt(()=>ln.filter(B=>{const q=d(zi).trim().toLowerCase();return!q||B.label.toLowerCase().includes(q)||B.terms.some(Y=>Y.includes(q))}));function yn(B){var q;y(vn,B,!0),(q=document.getElementById("sec-"+B))==null||q.scrollIntoView({behavior:"smooth",block:"start"})}ao(async()=>{try{const B=await Bg();B.dataDir&&y(i,B.dataDir,!0)}catch{}try{const B=await Dl();if(typeof B.url=="string"&&B.url)try{const me=new URL(B.url);y(n,me.protocol.replace(":",""),!0),y(s,me.host,!0)}catch{y(s,B.url,!0)}typeof B.mqttUsername=="string"&&y(r,B.mqttUsername,!0),typeof B.mqttPassword=="string"&&y(a,B.mqttPassword,!0),typeof B.mqttCa=="string"&&y(c,B.mqttCa,!0),typeof B.mqttCert=="string"&&y(u,B.mqttCert,!0),typeof B.mqttKey=="string"&&y(f,B.mqttKey,!0),typeof B.mqttVersion=="string"&&y(w,B.mqttVersion,!0),typeof B.name=="string"&&y(g,B.name,!0),typeof B.variablePrefix=="string"&&y(p,B.variablePrefix,!0),typeof B.disableVariables=="boolean"&&y(m,B.disableVariables,!0),typeof B.port=="number"&&y(x,B.port,!0),typeof B.bindAddress=="string"&&y(k,B.bindAddress,!0),typeof B.auth=="string"&&y(E,B.auth,!0),typeof B.proxyHeader=="string"&&y(A,B.proxyHeader,!0),typeof B.proxyLogoutUrl=="string"&&y($,B.proxyLogoutUrl,!0),typeof B.dir=="string"&&y(ue,B.dir,!0),typeof B.disableWatch=="boolean"&&y(he,B.disableWatch,!0),typeof B.gitAutoCommit=="boolean"&&y(We,B.gitAutoCommit,!0),typeof B.gitAutoPush=="boolean"&&y(xe,B.gitAutoPush,!0),typeof B.latitude=="number"&&y(pt,B.latitude,!0),typeof B.longitude=="number"&&y(ve,B.longitude,!0),typeof B.timezone=="string"&&y(rt,B.timezone,!0),typeof B.verbosity=="string"&&y(Et,B.verbosity,!0),typeof B.dbPath=="string"&&y(Oe,B.dbPath,!0),typeof B.dbPrefix=="string"&&y(Te,B.dbPrefix,!0),typeof B.dbPublish=="boolean"&&y(ut,B.dbPublish,!0),typeof B.dbRetain=="boolean"&&y(Wt,B.dbRetain,!0);const q=B.redis;q!=null&&q.url&&y(Zt,q.url,!0);const Y=B.ai;Y!=null&&Y.provider&&y(At,Y.provider,!0),Y!=null&&Y.baseUrl&&y(kt,Y.baseUrl,!0),Y!=null&&Y.model&&y(Si,Y.model,!0),Y!=null&&Y.apiKey&&y(hi,Y.apiKey,!0),y(Lt,Ri(d(At),d(kt)),!0),Fi=d(Lt),y(ci,Object.fromEntries(Object.entries(B).filter(([me])=>!vi.has(me))),!0)}catch(B){y(Bi,B.message,!0)}finally{y(gi,!1)}});async function Re(){if(y(J,""),y(ie,""),d(E)==="password"&&!d(P)){y(J,"A password is required to enable password authentication.");return}y(H,!0);try{await _7(d(E),d(E)==="password"?d(P):void 0,d(E)==="proxy"?d(A):void 0,d(E)==="proxy"?d($):void 0),y(P,""),y(ie,"Authentication settings saved.")}catch(B){y(J,B.message,!0)}finally{y(H,!1)}}async function jt(){y(Bi,""),y(Zi,"");const B={...d(ci)};d(s)&&(B.url=`${d(n)}://${d(s)}`),B.name=d(g),B.variablePrefix=d(p),d(w)&&(B.mqttVersion=d(w)),d(m)&&(B.disableVariables=!0),d(r)&&(B.mqttUsername=d(r)),d(a)&&(B.mqttPassword=d(a)),d(c)&&(B.mqttCa=d(c)),d(u)&&(B.mqttCert=d(u)),d(f)&&(B.mqttKey=d(f)),d(x)!==""&&(B.port=Number(d(x))),d(k)&&(B.bindAddress=d(k)),d(ue)&&(B.dir=d(ue)),d(he)&&(B.disableWatch=!0),d(We)&&(B.gitAutoCommit=!0),d(xe)&&(B.gitAutoPush=!0),d(pt)!==""&&(B.latitude=Number(d(pt))),d(ve)!==""&&(B.longitude=Number(d(ve))),d(rt)&&(B.timezone=d(rt)),B.verbosity=d(Et),d(Oe)&&(B.dbPath=d(Oe),d(Te)&&(B.dbPrefix=d(Te)),d(ut)&&(B.dbPublish=!0,d(Wt)&&(B.dbRetain=!0))),d(Zt)&&(B.redis={url:d(Zt)}),d(At)&&(B.ai={provider:d(At),...d(kt)?{baseUrl:d(kt)}:{},...d(Si)?{model:d(Si)}:{},...d(hi)?{apiKey:d(hi)}:{}}),y(Ti,!0);try{const q=await Xp(B);window.dispatchEvent(new CustomEvent("she:config-changed")),y(Zi,q.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(q){y(Bi,q.message,!0)}finally{y(Ti,!1)}}var di=tZ(),qt=Ct(di);Ds(Jf(qt,{}),B=>it=B,()=>it);var Le=b(qt,2),It=v(Le),ai=v(It),pi=b(v(ai),2),_i=b(ai,2);mi(_i,21,()=>ln,B=>B.id,(B,q)=>{var Y=Rs(),me=Ct(Y);{var Qe=Se=>{var lt=IK();let Bt;var St=v(lt);j(()=>{Bt=Tt(lt,1,"section-link svelte-767znw",null,Bt,{active:d(vn)===d(q).id}),O(St,d(q).label)}),U("click",lt,()=>yn(d(q).id)),D(Se,lt)},Ee=wt(()=>d(Pi).some(Se=>Se.id===d(q).id));W(me,Se=>{d(Ee)&&Se(Qe)})}D(B,Y)});var Fe=b(It,2),X=v(Fe),ee=b(v(X),2);{var de=B=>{var q=DK(),Y=v(q);j(()=>O(Y,d(Bi))),D(B,q)};W(ee,B=>{d(Bi)&&B(de)})}var ke=b(ee,2);{var $e=B=>{var q=EK(),Y=v(q);j(()=>O(Y,d(Zi))),D(B,q)};W(ke,B=>{d(Zi)&&B($e)})}var N=b(ke,2),Q=v(N),oe=b(X,2);{var Ie=B=>{var q=TK();D(B,q)},De=B=>{var q=eZ(),Y=v(q);{var me=Ne=>{var Ke=PK(),Vt=b(v(Ke),2),et=b(v(Vt),2),bt=v(et);bt.value=bt.__value="dark";var Jt=b(bt);Jt.value=Jt.__value="light";var K=b(Jt);K.value=K.__value="system",U("change",et,()=>bK(d(t))),Ho(et,()=>d(t),se=>y(t,se)),D(Ne,Ke)},Qe=wt(()=>d(Pi).some(Ne=>Ne.id==="appearance"));W(Y,Ne=>{d(Qe)&&Ne(me)})}var Ee=b(Y,2);{var Se=Ne=>{var Ke=RK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Jt=b(et,2),K=v(Jt);K.value=K.__value="mqtt";var se=b(K);se.value=se.__value="mqtts";var Ue=b(se);Ue.value=Ue.__value="ws";var tt=b(Ue);tt.value=tt.__value="wss";var He=b(Vt,2),Pe=v(He),$t=b(v(Pe));Nn($t,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var xt=b(Pe,2),Ze=b(He,2),Ut=v(Ze),st=b(v(Ut));Nn(st,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Me=b(Ut,2),ze=b(Ze,2),Ve=v(ze),je=b(v(Ve));Nn(je,()=>"MQTT broker password. Stored in plain text in config.json.");var Nt=b(Ve,2),we=b(ze,2);{var ot=Jn=>{var fa=MK(),ga=Ct(fa),gn=v(ga),Nr=b(v(gn));Nn(Nr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Zs=b(gn,2),ks=b(ga,2),Xs=v(ks),Ar=b(v(Xs));Nn(Ar,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Ka=b(Xs,2),Ol=b(ks,2),Za=v(Ol),Go=b(v(Za));Nn(Go,()=>"PEM-encoded private key matching the client certificate.");var Or=b(Za,2);ti(Zs,()=>d(c),Fr=>y(c,Fr)),ti(Ka,()=>d(u),Fr=>y(u,Fr)),ti(Or,()=>d(f),Fr=>y(f,Fr)),D(Jn,fa)};W(we,Jn=>{(d(n)==="mqtts"||d(n)==="wss")&&Jn(ot)})}var _t=b(we,2),mt=v(_t),Xe=b(v(mt));Nn(Xe,()=>"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 Yt=b(mt,2),si=v(Yt);si.value=si.__value="";var un=b(si);un.value=un.__value="5";var tn=b(_t,2),En=v(tn),Qn=b(v(En));Nn(Qn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Ui=b(En,2),bi=b(tn,2),wn=v(bi),dn=b(v(wn));Nn(dn,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var rs=b(wn,2),co=b(bi,2),qo=b(v(co),2),Rr=v(qo),Ga=b(Rr,4);Nn(Ga,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Ho(Jt,()=>d(n),Jn=>y(n,Jn)),ti(xt,()=>d(s),Jn=>y(s,Jn)),ti(Me,()=>d(r),Jn=>y(r,Jn)),ti(Nt,()=>d(a),Jn=>y(a,Jn)),Ho(Yt,()=>d(w),Jn=>y(w,Jn)),ti(Ui,()=>d(g),Jn=>y(g,Jn)),ti(rs,()=>d(p),Jn=>y(p,Jn)),Is(Rr,()=>d(m),Jn=>y(m,Jn)),D(Ne,Ke)},lt=wt(()=>d(Pi).some(Ne=>Ne.id==="mqtt"));W(Ee,Ne=>{d(lt)&&Ne(Se)})}var Bt=b(Ee,2);{var St=Ne=>{var Ke=HK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Jt=b(et,2),K=v(Jt);K.value=K.__value="none";var se=b(K);se.value=se.__value="password";var Ue=b(se);Ue.value=Ue.__value="proxy";var tt=b(Vt,2);{var He=je=>{var Nt=NK(),we=v(Nt),ot=v(we),_t=b(ot);Nn(_t,()=>"Set a new password. Leave empty to keep the current password (if already set).");var mt=b(we,2);j(()=>O(ot,`${d(P)?"New password":"Password"} `)),ti(mt,()=>d(P),Xe=>y(P,Xe)),D(je,Nt)};W(tt,je=>{d(E)==="password"&&je(He)})}var Pe=b(tt,2);{var $t=je=>{var Nt=AK(),we=Ct(Nt),ot=v(we),_t=b(v(ot));Nn(_t,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var mt=b(ot,2),Xe=b(we,2),Yt=v(Xe),si=b(v(Yt));Nn(si,()=>"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 un=b(Yt,2);ti(mt,()=>d(A),tn=>y(A,tn)),ti(un,()=>d($),tn=>y($,tn)),D(je,Nt)};W(Pe,je=>{d(E)==="proxy"&&je($t)})}var xt=b(Pe,2);{var Ze=je=>{var Nt=OK(),we=v(Nt);j(()=>O(we,d(J))),D(je,Nt)};W(xt,je=>{d(J)&&je(Ze)})}var Ut=b(xt,2);{var st=je=>{var Nt=FK(),we=v(Nt);j(()=>O(we,d(ie))),D(je,Nt)};W(Ut,je=>{d(ie)&&je(st)})}var Me=b(Ut,2),ze=b(v(Me),2),Ve=v(ze);j(()=>{ze.disabled=d(H)||d(E)==="password"&&!d(P),O(Ve,d(H)?"Saving…":"Apply authentication settings")}),Ho(Jt,()=>d(E),je=>y(E,je)),U("click",ze,Re),D(Ne,Ke)},Dt=wt(()=>d(Pi).some(Ne=>Ne.id==="auth"));W(Bt,Ne=>{d(Dt)&&Ne(St)})}var Ft=b(Bt,2);{var ne=Ne=>{var Ke=WK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Jt=b(et,2),K=b(Vt,2),se=v(K),Ue=b(v(se));Nn(Ue,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var tt=b(se,2);ti(Jt,()=>d(x),He=>y(x,He)),ti(tt,()=>d(k),He=>y(k,He)),D(Ne,Ke)},_e=wt(()=>d(Pi).some(Ne=>Ne.id==="webserver"));W(Ft,Ne=>{d(_e)&&Ne(ne)})}var Be=b(Ft,2);{var at=Ne=>{var Ke=BK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Jt=b(et,2),K=b(Vt,2),se=b(v(K),2),Ue=v(se),tt=b(Ue,4);Nn(tt,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),j(()=>Ai(Jt,"placeholder",`${d(i)??""}/scripts (default)`)),ti(Jt,()=>d(ue),He=>y(ue,He)),Is(Ue,()=>d(he),He=>y(he,He)),D(Ne,Ke)},nt=wt(()=>d(Pi).some(Ne=>Ne.id==="scripts"));W(Be,Ne=>{d(nt)&&Ne(at)})}var Ye=b(Be,2);{var Rt=Ne=>{var Ke=zK(),Vt=b(v(Ke),2),et=b(v(Vt),2),bt=v(et),Jt=b(bt,4);Nn(Jt,()=>"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 K=b(Vt,2),se=b(v(K),2),Ue=v(se),tt=b(Ue,4);Nn(tt,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Is(bt,()=>d(We),He=>y(We,He)),Is(Ue,()=>d(xe),He=>y(xe,He)),D(Ne,Ke)},ri=wt(()=>d(Pi).some(Ne=>Ne.id==="git"));W(Ye,Ne=>{d(ri)&&Ne(Rt)})}var fi=b(Ye,2);{var Ci=Ne=>{var Ke=jK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Jt=b(et,2),K=b(Jt,2);mi(K,20,()=>{var mt;return((mt=Intl.supportedValuesOf)==null?void 0:mt.call(Intl,"timeZone"))??[]},Ji,(mt,Xe)=>{var Yt=rE(),si=v(Yt),un={};j(()=>{O(si,Xe),un!==(un=Xe)&&(Yt.value=(Yt.__value=Xe)??"")}),D(mt,Yt)});var se=b(Vt,2),Ue=v(se),tt=b(v(Ue));Nn(tt,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var He=b(Ue,2),Pe=b(se,2),$t=v(Pe),xt=b(v($t));Nn(xt,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ze=b($t,2),Ut=b(Pe,2),st=b(v(Ut),2),Me=v(st),ze=v(Me);{var Ve=mt=>{var Xe=sa("…");D(mt,Xe)},je=mt=>{var Xe=sa("📍 Use my location");D(mt,Xe)};W(ze,mt=>{d(Pt)?mt(Ve):mt(je,-1)})}var Nt=b(Me,2),we=v(Nt),ot=b(Ut,2);{var _t=mt=>{var Xe=VK(),Yt=b(v(Xe),2);Ds(Yt,si=>y(gt,si),()=>d(gt)),D(mt,Xe)};W(ot,mt=>{d(dt)&&mt(_t)})}j(()=>{Me.disabled=d(Pt),O(we,d(dt)?"Hide map":"Pick on map")}),ti(Jt,()=>d(rt),mt=>y(rt,mt)),ti(He,()=>d(pt),mt=>y(pt,mt)),ti(Ze,()=>d(ve),mt=>y(ve,mt)),U("click",Me,zt),U("click",Nt,()=>y(dt,!d(dt))),D(Ne,Ke)},en=wt(()=>d(Pi).some(Ne=>Ne.id==="solar"));W(fi,Ne=>{d(en)&&Ne(Ci)})}var fn=b(fi,2);{var cn=Ne=>{var Ke=$K(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Jt=b(et,2),K=v(Jt);K.value=K.__value="debug";var se=b(K);se.value=se.__value="info";var Ue=b(se);Ue.value=Ue.__value="warn";var tt=b(Ue);tt.value=tt.__value="error",Ho(Jt,()=>d(Et),He=>y(Et,He)),D(Ne,Ke)},ki=wt(()=>d(Pi).some(Ne=>Ne.id==="logging"));W(fn,Ne=>{d(ki)&&Ne(cn)})}var Xi=b(fn,2);{var z=Ne=>{var Ke=qK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Jt=b(et,2),K=b(Vt,2),se=v(K),Ue=b(v(se));Nn(Ue,()=>"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 tt=b(se,2),He=b(K,2),Pe=b(v(He),2);let $t;var xt=v(Pe),Ze=b(xt,4);Nn(Ze,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var Ut=b(He,2);{var st=Me=>{var ze=UK(),Ve=b(v(ze),2);let je;var Nt=v(Ve),we=b(Nt,4);Nn(we,()=>"When enabled, MQTT messages for document changes are published as retained messages."),j(()=>{je=Tt(Ve,1,"check-label svelte-767znw",null,je,{muted:!d(Oe)}),Nt.disabled=!d(Oe)}),Is(Nt,()=>d(Wt),ot=>y(Wt,ot)),D(Me,ze)};W(Ut,Me=>{d(ut)&&Me(st)})}j(()=>{Ai(Jt,"placeholder",`defaults to ${d(i)??""}/db`),tt.disabled=!d(Oe),$t=Tt(Pe,1,"check-label svelte-767znw",null,$t,{muted:!d(Oe)}),xt.disabled=!d(Oe)}),ti(Jt,()=>d(Oe),Me=>y(Oe,Me)),ti(tt,()=>d(Te),Me=>y(Te,Me)),Is(xt,()=>d(ut),Me=>y(ut,Me)),D(Ne,Ke)},te=wt(()=>d(Pi).some(Ne=>Ne.id==="shedb"));W(Xi,Ne=>{d(te)&&Ne(z)})}var Ge=b(Xi,2);{var Je=Ne=>{var Ke=GK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"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 Jt=b(et,2);ti(Jt,()=>d(Zt),K=>y(Zt,K)),D(Ne,Ke)},ge=wt(()=>d(Pi).some(Ne=>Ne.id==="redis"));W(Ge,Ne=>{d(ge)&&Ne(Je)})}var be=b(Ge,2);{var vt=Ne=>{var Ke=JK(),Vt=b(v(Ke),2),et=v(Vt),bt=b(v(et));Nn(bt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Jt=b(et,2);mi(Jt,21,()=>Mt,Ji,(st,Me)=>{var ze=rE(),Ve=v(ze),je={};j(()=>{O(Ve,d(Me).label),je!==(je=d(Me).id)&&(ze.value=(ze.__value=d(Me).id)??"")}),D(st,ze)});var K=b(Vt,2);{var se=st=>{var Me=XK();let ze;var Ve=v(Me);{var je=ot=>{var _t=KK(),mt=b(Ct(_t));j(()=>O(mt,` ${d(Ii).freeNote??""}`)),D(ot,_t)};W(Ve,ot=>{d(Ii).freeNote&&ot(je)})}var Nt=b(Ve,2);{var we=ot=>{var _t=ZK(),mt=b(Ct(_t));j(()=>Ai(mt,"href",d(Ii).apiKeyUrl)),D(ot,_t)};W(Nt,ot=>{d(Ii).apiKeyUrl&&ot(we)})}j(()=>ze=Tt(Me,1,"preset-note svelte-767znw",null,ze,{free:!!d(Ii).freeNote})),D(st,Me)};W(K,st=>{var Me,ze;((Me=d(Ii))!=null&&Me.freeNote||(ze=d(Ii))!=null&&ze.apiKeyUrl)&&st(se)})}var Ue=b(K,2);{var tt=st=>{var Me=YK(),ze=v(Me),Ve=b(v(ze));Nn(Ve,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var je=b(ze,2);j(()=>{var Nt;return Ai(je,"placeholder",d(Lt)==="ollama"?"http://localhost:11434":d(Lt)==="lmstudio"?"http://localhost:1234":((Nt=d(Ii))==null?void 0:Nt.baseUrl)??"")}),ti(je,()=>d(kt),Nt=>y(kt,Nt)),D(st,Me)};W(Ue,st=>{d(Lt)!=="anthropic"&&st(tt)})}var He=b(Ue,2),Pe=v(He),$t=b(v(Pe));Nn($t,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var xt=b(Pe,2),Ze=b(He,2);{var Ut=st=>{var Me=QK(),ze=v(Me),Ve=b(v(ze));Nn(Ve,()=>"Stored in config.json. Not needed for local providers.");var je=b(ze,2);ti(je,()=>d(hi),Nt=>y(hi,Nt)),D(st,Me)};W(Ze,st=>{d(Lt)!=="ollama"&&d(Lt)!=="lmstudio"&&st(Ut)})}j(()=>{var st;return Ai(xt,"placeholder",((st=d(Ii))==null?void 0:st.defaultModel)||"e.g. llama3.2")}),U("change",Jt,Ni),Ho(Jt,()=>d(Lt),st=>y(Lt,st)),ti(xt,()=>d(Si),st=>y(Si,st)),D(Ne,Ke)},Ei=wt(()=>d(Pi).some(Ne=>Ne.id==="ai"));W(be,Ne=>{d(Ei)&&Ne(vt)})}D(B,q)};W(oe,B=>{d(gi)?B(Ie):B(De,-1)})}j(()=>{N.disabled=d(Ti),O(Q,d(Ti)?"Saving…":"Save")}),ti(pi,()=>d(zi),B=>y(zi,B)),U("click",N,jt),D(o,di),As()}Ks(["click","change"]);var nZ=T("<option> </option>"),sZ=T('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),oZ=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 rZ(o,e){Ns(e,!0);let t=M(yi(qN())),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};kk(J=>{y(t,[...d(t).slice(-1999),J],!0)}),ao(()=>{i&&(i.scrollTop=i.scrollHeight)}),zn(()=>{d(t).length,d(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){y(t,[],!0)}function g(J){if(d(s)!=="all"&&u[J.level]<u[d(s)])return!1;if(!d(r))return!0;if(d(a))try{return new RegExp(d(r),"i").test(J.msg)}catch{}return J.msg.toLowerCase().includes(d(r).toLowerCase())}function p(J){return new Date(J).toLocaleTimeString()}var w=oZ(),m=v(w),x=b(v(m),2);mi(x,21,()=>c,Ji,(J,ue)=>{var he=nZ(),We=v(he),xe={};j(()=>{O(We,d(ue)),xe!==(xe=d(ue))&&(he.value=(he.__value=d(ue))??"")}),D(J,he)});var k=b(x,2),E=b(k,2),P=v(E),A=b(E,2),$=v(A),H=b(A,2),ie=b(m,2);mi(ie,21,()=>d(t).filter(g),J=>J.ts+J.msg,(J,ue)=>{var he=sZ(),We=v(he),xe=v(We),rt=b(We,2),pt=v(rt),ve=b(rt,2),dt=v(ve);j((gt,Pt)=>{Tt(he,1,`line ${d(ue).level??""}`,"svelte-18loop9"),O(xe,gt),O(pt,Pt),O(dt,d(ue).msg)},[()=>p(d(ue).ts),()=>d(ue).level.toUpperCase()]),D(J,he)}),Ds(ie,J=>i=J,()=>i),Ho(x,()=>d(s),J=>y(s,J)),ti(k,()=>d(r),J=>y(r,J)),Is(P,()=>d(a),J=>y(a,J)),Is($,()=>d(n),J=>y(n,J)),U("click",H,f),D(o,w),As()}Ks(["click"]);var aZ=T('<span class="chat-model svelte-1twuiul"><!></span>'),lZ=T('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),cZ=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>'),dZ=T('Working on view <code class="svelte-1twuiul"> </code>',1),uZ=T('<button class="chip svelte-1twuiul"> </button>'),hZ=T('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),fZ=T('<div class="msg-content user-text svelte-1twuiul"> </div>'),aE=T('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),lE=T('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),cE=T('<div class="tool-events svelte-1twuiul"></div>'),dE=T('<div class="text-block svelte-1twuiul"></div>'),gZ=T('<button class="expand-btn svelte-1twuiul"> </button>'),pZ=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>'),_Z=T('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),mZ=T('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),vZ=T("<div><!></div>"),bZ=T('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),yZ=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>'),wZ=T('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),SZ=T('<div class="chat-error svelte-1twuiul"> </div>'),CZ=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>'),xZ=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>'),kZ=T('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),LZ=T('<button class="send-btn svelte-1twuiul">↑</button>'),IZ=T('<option class="svelte-1twuiul"> </option>'),DZ=T('<select class="model-select svelte-1twuiul"></select>'),EZ=T('<span class="model-name svelte-1twuiul"> </span>'),TZ=T('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),PZ=T('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),MZ=T('<p class="info-status svelte-1twuiul">Loading…</p>'),RZ=T('<p class="info-status info-err svelte-1twuiul"> </p>'),NZ=T('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),AZ=T('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),OZ=T('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),FZ=T('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),HZ=T('<div class="running-model svelte-1twuiul"> </div>'),WZ=T('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),BZ=T('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),zZ=T('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),VZ=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>'),jZ=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 $Z(o,e){Ns(e,!0),pb.registerLanguage("javascript",QN),Un.use({breaks:!0,gfm:!0});let t=wu(e,"currentView",3,null);const i="she:viewchat:messages";let n=M(yi(JSON.parse(localStorage.getItem(i)??"[]"))),s=M(null),r=M(""),a=M(!1),c=M(""),u=M(null),f=M(yi([])),g=M(yi(localStorage.getItem("she:selectedModel")??""));zn(()=>{localStorage.setItem(i,JSON.stringify(d(n)))});let p=M(yi(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 $=M(!0),H=M(!0),ie=M(!0),J=M(yi([])),ue=M(!0),he=M(!1),We,xe=M(yi([])),rt=M(0),pt,ve;const dt=wt(()=>({apiref:!1,shedb:d($),sampleDocs:d(H),tools:d(ie)})),gt=wt(()=>{var z;return((z=d(u))==null?void 0:z.configured)??!1}),Pt=wt(()=>d(rt)+new TextEncoder().encode(d(r)).length),fe=wt(()=>d(ue)?t():null);async function Et(){try{const z=await zN();y(u,z,!0),z.configured&&!d(g)&&y(g,z.model,!0)}catch{}}zn(()=>(window.addEventListener("she:config-changed",Et),()=>window.removeEventListener("she:config-changed",Et))),ao(()=>{Et()}),zn(()=>{d(g)&&localStorage.setItem("she:selectedModel",d(g))}),zn(()=>{var z;(z=d(u))!=null&&z.provider&&VN().then(te=>{y(f,te.models,!0),!d(g)&&te.models.length>0&&y(g,te.models[0],!0)}).catch(()=>{})}),zn(()=>{d(g),y(m,null),y(k,"")}),zn(()=>{const z=d(dt),te=d(fe),Ge=d(J);d(gt)&&jN({context:z,currentView:te??null,extraFiles:Ge.length>0?Ge:void 0}).then(Je=>{y(rt,new TextEncoder().encode(Je.prompt).length,!0)}).catch(()=>{})}),zn(()=>{if(!d(a))return;y(P,Math.floor(Math.random()*A.length),!0);const z=setInterval(()=>{y(P,(d(P)+1)%A.length)},1e4);return()=>clearInterval(z)}),zn(()=>{var z;ve&&(d(n).length+(((z=d(s))==null?void 0:z.length)??0),requestAnimationFrame(()=>{ve&&(ve.scrollTop=ve.scrollHeight)}))});function Oe(z){const te=[],Ge=/```(\w*)\n([\s\S]*?)```/g;let Je=0,ge;for(;(ge=Ge.exec(z))!==null;)ge.index>Je&&te.push({type:"text",text:z.slice(Je,ge.index)}),te.push({type:"code",lang:ge[1]||"text",text:ge[2].trimEnd()}),Je=ge.index+ge[0].length;return Je<z.length&&te.push({type:"text",text:z.slice(Je)}),te}function Te(z){const te=[],Ge=/```(\w*)\n([\s\S]*?)```/g;let Je=0,ge;for(;(ge=Ge.exec(z))!==null;)ge.index>Je&&te.push({type:"text",text:z.slice(Je,ge.index)}),te.push({type:"code",lang:ge[1]||"text",text:ge[2].trimEnd()}),Je=ge.index+ge[0].length;const be=z.slice(Je),vt=be.match(/```(\w*)\n([\s\S]*)$/);return vt?(vt.index>0&&te.push({type:"text",text:be.slice(0,vt.index)}),te.push({type:"code",lang:vt[1]||"text",text:vt[2]})):be&&te.push({type:"text",text:be}),te}function ut(z){const te={};for(const Ge of z)if(Ge.type==="code"){if(Ge.lang==="filter")te.filter=Ge.text.trim();else if(hi(Ge.lang)){const Je=Ge.text.split(`
|
|
223
|
-
`)[0].trim();Je==="// @view-map"?te.map=Ge.text.split(`
|
|
224
|
-
`).slice(1).join(`
|
|
225
|
-
`).trim():Je==="// @view-reduce"&&(te.reduce=Ge.text.split(`
|
|
226
|
-
`).slice(1).join(`
|
|
227
|
-
`).trim())}}return te}function Wt(z){return z.filter!==void 0||z.map!==void 0||z.reduce!==void 0}function Zt(z){const te=[];return z.filter!==void 0&&te.push("filter"),z.map!==void 0&&te.push("map"),z.reduce!==void 0&&te.push("reduce"),`Apply ${te.join(" + ")}`}const Mt=15;function Lt(z){return z.split(`
|
|
228
|
-
`).length>Mt}function At(z){const te=new Set(d(p));te.has(z)?te.delete(z):te.add(z),y(p,te,!0)}function kt(z,te){if(hi(te))try{return pb.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Si(z){return Un.parse(z)}function hi(z){return!z||z==="js"||z==="javascript"}function Di(z){navigator.clipboard.writeText(z).catch(()=>{})}async function Fi(){if(y(w,!0),!(d(m)||d(x))){y(x,!0),y(k,"");try{y(m,await Mx(d(g)||d(u).model),!0)}catch(z){y(k,z.message,!0)}y(x,!1)}}function Ri(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:`${z} B`}function Ni(z){const te=z.match(/\.([^.]+)$/);return te?te[1].toUpperCase():"?"}function Ii(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return z}}function ci(z){y(J,d(J).filter((te,Ge)=>Ge!==z),!0)}function vi(){We.click()}async function it(z){if(!(!z||z.length===0))for(const te of Array.from(z)){const Ge=await te.text();y(J,[...d(J),{name:te.name,content:Ge}],!0)}}function zt(z){const te=z.target;it(te.files),te.value=""}function gi(z){var te;z.preventDefault(),y(he,!1),it(((te=z.dataTransfer)==null?void 0:te.files)??null)}function Ti(z){var te;(te=z.dataTransfer)!=null&&te.types.includes("Files")&&(z.preventDefault(),y(he,!0))}function Zi(){y(he,!1)}async function Bi(){const z=d(r).trim();if(!(!z||d(a))){y(r,""),y(c,""),y(a,!0),y(n,[...d(n),{role:"user",content:z}],!0),E=new AbortController,y(xe,[],!0);try{await $N({messages:d(n),currentView:d(fe),context:d(dt),modelOverride:d(g)||void 0,extraFiles:d(J).length>0?d(J):void 0},te=>{y(s,(d(s)??"")+te)},E.signal,te=>{y(xe,[...d(xe),te],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(xe).length>0?[...d(xe)]:void 0}],!0),y(xe,[],!0)}catch(te){if(te.name==="AbortError"){const Ge=d(s);Ge!=null&&Ge.trim()&&y(n,[...d(n),{role:"assistant",content:Ge+`
|
|
229
|
-
|
|
230
|
-
*[stopped]*`,toolEvents:d(xe).length>0?[...d(xe)]:void 0}],!0)}else y(c,te.message,!0)}finally{E=null,y(s,null),y(xe,[],!0),y(a,!1)}}}function zi(){E==null||E.abort()}function vn(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Bi())}function ln(){y(n,[],!0),y(c,"")}const Pi=["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(z){y(r,z,!0),pt==null||pt.focus()}var Re=jZ(),jt=Ct(Re),di=v(jt),qt=b(v(di),2);{var Le=z=>{var te=aZ(),Ge=v(te);{var Je=be=>{var vt=sa();j(()=>O(vt,`${d(u).provider??""} · ${(d(g)||d(u).model)??""}`)),D(be,vt)},ge=be=>{var vt=sa("Not configured");D(be,vt)};W(Ge,be=>{d(gt)?be(Je):be(ge,-1)})}j(()=>Ai(te,"title",`Provider: ${d(u).provider??""}`)),D(z,te)};W(qt,z=>{d(u)&&z(Le)})}var It=b(qt,2);{var ai=z=>{var te=lZ();U("click",te,ln),D(z,te)};W(It,z=>{d(n).length>0&&z(ai)})}var pi=b(di,2),_i=v(pi);{var Fe=z=>{var te=cZ();D(z,te)},X=z=>{var te=hZ(),Ge=v(te),Je=v(Ge);{var ge=Ei=>{var Ne=dZ(),Ke=b(Ct(Ne)),Vt=v(Ke);j(()=>O(Vt,t().id)),D(Ei,Ne)},be=Ei=>{var Ne=sa("No view selected. Ask a general sheDB view question.");D(Ei,Ne)};W(Je,Ei=>{t()?Ei(ge):Ei(be,-1)})}var vt=b(Ge,2);mi(vt,17,()=>Pi,Ji,(Ei,Ne)=>{var Ke=uZ(),Vt=v(Ke);j(()=>O(Vt,d(Ne))),U("click",Ke,()=>yn(d(Ne))),D(Ei,Ke)}),D(z,te)};W(_i,z=>{d(gt)?d(n).length===0&&d(s)===null&&z(X,1):z(Fe)})}var ee=b(_i,2);mi(ee,17,()=>d(n),Ji,(z,te,Ge)=>{var Je=vZ(),ge=v(Je);{var be=Ei=>{var Ne=fZ(),Ke=v(Ne);j(()=>O(Ke,d(te).content)),D(Ei,Ne)},vt=Ei=>{const Ne=wt(()=>Oe(d(te).content)),Ke=wt(()=>ut(d(Ne)));var Vt=mZ(),et=Ct(Vt);{var bt=He=>{var Pe=cE();mi(Pe,21,()=>d(te).toolEvents,Ji,($t,xt)=>{var Ze=Rs(),Ut=Ct(Ze);{var st=ze=>{var Ve=aE(),je=b(v(Ve)),Nt=v(je);j(we=>O(Nt,we),[()=>d(xt).name.replace(/_/g," ")]),D(ze,Ve)},Me=ze=>{var Ve=lE(),je=b(v(Ve)),Nt=v(je);j(we=>O(Nt,we),[()=>d(xt).name.replace(/_/g," ")]),D(ze,Ve)};W(Ut,ze=>{d(xt).type==="tool_call"?ze(st):ze(Me,-1)})}D($t,Ze)}),D(He,Pe)};W(et,He=>{var Pe;(Pe=d(te).toolEvents)!=null&&Pe.length&&He(bt)})}var Jt=b(et,2),K=v(Jt);mi(K,17,()=>d(Ne),Ji,(He,Pe,$t)=>{var xt=Rs(),Ze=Ct(xt);{var Ut=Me=>{var ze=dE();sc(ze,()=>Si(d(Pe).text),!0),D(Me,ze)},st=Me=>{const ze=wt(()=>`${Ge}:${$t}`),Ve=wt(()=>Lt(d(Pe).text)),je=wt(()=>d(p).has(d(ze))),Nt=wt(()=>d(Pe).lang==="filter");var we=pZ(),ot=v(we),_t=v(ot),mt=v(_t),Xe=b(_t,2),Yt=v(Xe),si=b(ot,2);let un;var tn=v(si),En=v(tn);sc(En,()=>kt(d(Pe).text,d(Pe).lang??""),!0);var Qn=b(tn,2);{var Ui=bi=>{var wn=gZ(),dn=v(wn);j(()=>O(dn,d(je)?"▲ collapse":"▼ expand")),U("click",wn,()=>At(d(ze))),D(bi,wn)};W(Qn,bi=>{d(Ve)&&bi(Ui)})}j(()=>{O(mt,d(Nt)?"filter":d(Pe).lang),un=Tt(si,1,"code-body svelte-1twuiul",null,un,{collapsed:d(Ve)&&!d(je)})}),U("click",Yt,()=>Di(d(Pe).text)),D(Me,we)};W(Ze,Me=>{d(Pe).type==="text"?Me(Ut):Me(st,-1)})}D(He,xt)});var se=b(K,2);{var Ue=He=>{var Pe=_Z(),$t=v(Pe),xt=v($t);j(Ze=>O(xt,Ze),[()=>Zt(d(Ke))]),U("click",$t,()=>e.onApplyView(d(Ke))),D(He,Pe)},tt=wt(()=>Wt(d(Ke))&&e.onApplyView);W(se,He=>{d(tt)&&He(Ue)})}D(Ei,Vt)};W(ge,Ei=>{d(te).role==="user"?Ei(be):Ei(vt,-1)})}j(()=>Tt(Je,1,`message ${d(te).role??""}`,"svelte-1twuiul")),D(z,Je)});var de=b(ee,2);{var ke=z=>{var te=cE();mi(te,21,()=>d(xe),Ji,(Ge,Je)=>{var ge=Rs(),be=Ct(ge);{var vt=Ne=>{var Ke=aE(),Vt=b(v(Ke)),et=v(Vt);j(bt=>O(et,bt),[()=>d(Je).name.replace(/_/g," ")]),D(Ne,Ke)},Ei=Ne=>{var Ke=lE(),Vt=b(v(Ke)),et=v(Vt);j(bt=>O(et,bt),[()=>d(Je).name.replace(/_/g," ")]),D(Ne,Ke)};W(be,Ne=>{d(Je).type==="tool_call"?Ne(vt):Ne(Ei,-1)})}D(Ge,ge)}),D(z,te)};W(de,z=>{d(xe).length>0&&z(ke)})}var $e=b(de,2);{var N=z=>{var te=bZ(),Ge=v(te),Je=v(Ge),ge=v(Je);j(()=>O(ge,A[d(P)])),D(z,te)};W($e,z=>{d(a)&&d(s)===null&&d(xe).length===0&&z(N)})}var Q=b($e,2);{var oe=z=>{var te=wZ(),Ge=v(te);mi(Ge,21,()=>Te(d(s)),Ji,(Je,ge)=>{var be=Rs(),vt=Ct(be);{var Ei=Ke=>{var Vt=dE();sc(Vt,()=>Si(d(ge).text),!0),D(Ke,Vt)},Ne=Ke=>{var Vt=yZ(),et=v(Vt),bt=v(et),Jt=v(bt),K=b(et,2),se=v(K);sc(se,()=>kt(d(ge).text,d(ge).lang??""),!0),j(()=>O(Jt,d(ge).lang)),D(Ke,Vt)};W(vt,Ke=>{d(ge).type==="text"?Ke(Ei):Ke(Ne,-1)})}D(Je,be)}),D(z,te)};W(Q,z=>{d(s)!==null&&z(oe)})}Ds(pi,z=>ve=z,()=>ve);var Ie=b(pi,2);{var De=z=>{var te=SZ(),Ge=v(te);j(()=>O(Ge,d(c))),D(z,te)};W(Ie,z=>{d(c)&&z(De)})}var B=b(Ie,2),q=v(B),Y=v(q),me=b(q,2),Qe=v(me),Ee=b(me,2),Se=v(Ee),lt=b(Ee,2),Bt=v(lt),St=b(B,2),Dt=v(St);{var Ft=z=>{var te=CZ();let Ge;var Je=b(v(te),2),ge=v(Je),be=b(Je,2),vt=v(be);j(()=>{Ge=Tt(te,1,"file-chip svelte-1twuiul",null,Ge,{inactive:!d(ue)}),O(ge,t().id),Ai(be,"title",d(ue)?"Remove from context":"Re-add to context"),O(vt,d(ue)?"×":"+")}),U("click",be,()=>y(ue,!d(ue))),D(z,te)};W(Dt,z=>{t()&&z(Ft)})}var ne=b(Dt,2);mi(ne,17,()=>d(J),Ji,(z,te,Ge)=>{const Je=wt(()=>Ni(d(te).name));var ge=xZ(),be=v(ge),vt=v(be),Ei=b(be,2),Ne=v(Ei),Ke=b(Ei,2);j((Vt,et)=>{Tt(be,1,`badge badge-${Vt??""}`,"svelte-1twuiul"),O(vt,et),O(Ne,d(te).name)},[()=>d(Je).toLowerCase(),()=>Ii(d(Je))]),U("click",Ke,()=>ci(Ge)),D(z,ge)});var _e=b(ne,2),Be=b(_e,2);Ds(Be,z=>We=z,()=>We);var at=b(St,2);let nt;var Ye=v(at);let Rt;var ri=v(Ye);Ds(ri,z=>pt=z,()=>pt);var fi=b(Ye,2);{var Ci=z=>{var te=kZ();U("click",te,zi),D(z,te)},en=z=>{var te=LZ();j(Ge=>te.disabled=Ge,[()=>!d(r).trim()||!d(gt)]),U("click",te,Bi),D(z,te)};W(fi,z=>{d(a)?z(Ci):z(en,-1)})}var fn=b(at,2);{var cn=z=>{var te=PZ(),Ge=v(te),Je=v(Ge),ge=b(Ge,2);{var be=Ke=>{var Vt=DZ();mi(Vt,21,()=>d(f),Ji,(et,bt)=>{var Jt=IZ(),K=v(Jt),se={};j(()=>{O(K,d(bt)),se!==(se=d(bt))&&(Jt.value=(Jt.__value=d(bt))??"")}),D(et,Jt)}),j(()=>Vt.disabled=d(a)),Ho(Vt,()=>d(g),et=>y(g,et)),D(Ke,Vt)},vt=Ke=>{var Vt=EZ(),et=v(Vt);j(()=>O(et,d(g)||d(u).model)),D(Ke,Vt)};W(ge,Ke=>{d(f).length>0?Ke(be):Ke(vt,-1)})}var Ei=b(ge,2);{var Ne=Ke=>{var Vt=TZ();U("click",Vt,Fi),D(Ke,Vt)};W(Ei,Ke=>{d(u).provider==="ollama"&&Ke(Ne)})}j(()=>O(Je,d(u).provider)),D(z,te)};W(fn,z=>{d(gt)&&d(u)&&z(cn)})}var ki=b(jt,2);{var Xi=z=>{var te=VZ(),Ge=v(te),Je=v(Ge),ge=v(Je),be=v(ge),vt=b(ge,2),Ei=b(Je,2),Ne=v(Ei);{var Ke=bt=>{var Jt=MZ();D(bt,Jt)},Vt=bt=>{var Jt=RZ(),K=v(Jt);j(()=>O(K,d(k))),D(bt,Jt)},et=bt=>{var Jt=zZ(),K=v(Jt);{var se=Me=>{var ze=NZ(),Ve=b(Ct(ze)),je=v(Ve);j(()=>O(je,d(m).version)),D(Me,ze)};W(K,Me=>{d(m).version&&Me(se)})}var Ue=b(K,2);{var tt=Me=>{var ze=AZ(),Ve=b(Ct(ze)),je=v(Ve);j(()=>O(je,d(m).details.family)),D(Me,ze)};W(Ue,Me=>{var ze;(ze=d(m).details)!=null&&ze.family&&Me(tt)})}var He=b(Ue,2);{var Pe=Me=>{var ze=OZ(),Ve=b(Ct(ze)),je=v(Ve);j(()=>O(je,d(m).details.parameter_size)),D(Me,ze)};W(He,Me=>{var ze;(ze=d(m).details)!=null&&ze.parameter_size&&Me(Pe)})}var $t=b(He,2);{var xt=Me=>{var ze=FZ(),Ve=b(Ct(ze)),je=v(Ve);j(()=>O(je,d(m).details.quantization_level)),D(Me,ze)};W($t,Me=>{var ze;(ze=d(m).details)!=null&&ze.quantization_level&&Me(xt)})}var Ze=b($t,2);{var Ut=Me=>{var ze=WZ(),Ve=b(Ct(ze),2);mi(Ve,21,()=>d(m).running,Ji,(je,Nt)=>{var we=HZ(),ot=v(we);j(_t=>O(ot,`${d(Nt).name??""} · ${_t??""} VRAM`),[()=>Ri(d(Nt).size_vram)]),D(je,we)}),D(Me,ze)},st=Me=>{var ze=BZ();D(Me,ze)};W(Ze,Me=>{d(m).running&&d(m).running.length>0?Me(Ut):d(m).running!==null&&Me(st,1)})}D(bt,Jt)};W(Ne,bt=>{d(x)?bt(Ke):d(k)?bt(Vt,1):d(m)&&bt(et,2)})}j(()=>{var bt;return O(be,`Ollama · ${(d(g)||((bt=d(u))==null?void 0:bt.model))??""}`)}),U("click",te,()=>y(w,!1)),U("click",Ge,bt=>bt.stopPropagation()),U("click",vt,()=>y(w,!1)),D(z,te)};W(ki,z=>{d(w)&&z(Xi)})}j(z=>{O(Bt,z),nt=Tt(at,1,"input-row svelte-1twuiul",null,nt,{"drag-over":d(he)}),Rt=Tt(Ye,1,"textarea-wrap svelte-1twuiul",null,Rt,{loading:d(a)}),Ai(ri,"placeholder",d(gt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ri.disabled=d(a)||!d(gt)},[()=>Ri(d(Pt))]),Is(Y,()=>d($),z=>y($,z)),Is(Qe,()=>d(H),z=>y(H,z)),Is(Se,()=>d(ie),z=>y(ie,z)),U("click",_e,vi),U("change",Be,zt),cs("dragover",at,Ti),cs("dragleave",at,Zi),cs("drop",at,gi),U("keydown",ri,vn),ti(ri,()=>d(r),z=>y(r,z)),D(o,Re),As()}Ks(["click","change","keydown"]);var UZ=T('<div class="me svelte-1pxdb1"></div>');function gS(o,e){Ns(e,!0);let t=wu(e,"value",15,""),i=wu(e,"language",3,"javascript"),n,s,r=!1;ao(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=dr.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=UZ();Ds(a,c=>n=c,()=>n),D(o,a),As()}var qZ=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),GZ=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>'),uE=T('<div class="form-error svelte-rrt0o"> </div>'),KZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),hE=T("<li> </li>"),fE=T('<div class="error-bar svelte-rrt0o"> </div>'),gE=T('<div class="loading svelte-rrt0o">Loading…</div>'),ZZ=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),XZ=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),YZ=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>'),QZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),JZ=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>'),eX=T('<span class="badge-error svelte-rrt0o">error</span>'),tX=T('<span class="badge-ok svelte-rrt0o"> </span>'),iX=T('<pre class="result-error svelte-rrt0o"> </pre>'),nX=T('<pre class="result-json svelte-rrt0o"> </pre>'),sX=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),oX=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>'),rX=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),aX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),lX=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>'),cX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function dX(o,e){Ns(e,!0);const t=Fe=>{var X=qZ(),ee=Ct(X);Ds(Jf(ee,{}),de=>Ii=de,()=>Ii),D(Fe,X)};let i=M(yi([])),n=M(null),s=M("{}"),r=M(!1),a=M(null);const c="she-db-selected-view";let u=M(yi([])),f=M(yi(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),$=M("she/db/view/");const H="she-db-panel";let ie=M(yi(localStorage.getItem(H)??"docs")),J=M(""),ue=M(!1),he=M(null),We=M(""),xe=M(!1),rt=M(null);const pt="she-db-sidebar-width";let ve=M(yi(parseInt(localStorage.getItem(pt)??"220",10))),dt=!1,gt=0,Pt=0;const fe="she-db-chat-width",Et="she-db-chat-open";let Oe=M(localStorage.getItem(Et)==="true"),Te=M(yi(parseInt(localStorage.getItem(fe)??"320",10))),ut=!1,Wt=0,Zt=0;const Mt=wt(()=>d(f)?{id:d(f),filter:d(g),map:d(p),reduce:d(w)}:null);function Lt(Fe){Fe.filter!==void 0&&y(g,Fe.filter,!0),Fe.map!==void 0&&y(p,Fe.map,!0),Fe.reduce!==void 0&&y(w,Fe.reduce,!0)}zn(()=>{localStorage.setItem(Et,String(d(Oe)))}),zn(()=>{localStorage.setItem(H,d(ie))}),zn(()=>{d(f)?localStorage.setItem(c,d(f)):localStorage.removeItem(c)});function At(Fe){dt=!0,gt=Fe.clientX,Pt=d(ve),Fe.preventDefault()}function kt(Fe){dt&&y(ve,Math.max(140,Math.min(500,Pt+Fe.clientX-gt)),!0),ut&&y(Te,Math.max(240,Math.min(600,Zt-(Fe.clientX-Wt))),!0)}function Si(){dt&&(dt=!1,localStorage.setItem(pt,String(d(ve)))),ut&&(ut=!1,localStorage.setItem(fe,String(d(Te))))}function hi(Fe){ut=!0,Wt=Fe.clientX,Zt=d(Te),Fe.preventDefault()}async function Di(){try{y(i,await ON(),!0)}catch{}}async function Fi(){try{y(u,await FN(),!0)}catch{}}async function Ri(Fe){y(n,Fe,!0),y(a,null),y(r,!0);try{const X=await k7(Fe);y(s,JSON.stringify(X,null,2),!0)}catch(X){y(a,X instanceof Error?X.message:String(X),!0)}finally{y(r,!1)}}async function Ni(){if(d(n)){y(a,null);try{const Fe=JSON.parse(d(s));await AD(d(n),Fe)}catch(Fe){y(a,Fe instanceof Error?Fe.message:String(Fe),!0)}}}let Ii;async function ci(){if(d(n)&&await Ii.show(`Delete document "${d(n)}"?`,{confirm:"Delete",danger:!0}))try{await L7(d(n)),y(n,null),y(s,"{}")}catch(Fe){y(a,Fe instanceof Error?Fe.message:String(Fe),!0)}}async function vi(){const Fe=d(J).trim();if(Fe){y(he,null);try{await AD(Fe,{}),y(ue,!1),y(J,""),await Ri(Fe)}catch(X){y(he,X instanceof Error?X.message:String(X),!0)}}}async function it(Fe){y(f,Fe,!0),y(A,null),y(P,!0),y(E,null);try{const X=await I7(Fe);y(g,X.filter??"",!0),y(p,X.map,!0),y(w,X.reduce??"",!0),y(m,X.description??"",!0),y(x,X.mqttpub??!1,!0),y(k,X.retain??!1,!0),y(E,await hS(Fe).catch(()=>null),!0)}catch(X){y(A,X instanceof Error?X.message:String(X),!0)}finally{y(P,!1)}}async function zt(){if(d(f)){y(A,null);try{const Fe={map:d(p)};d(g).trim()&&(Fe.filter=d(g).trim()),d(w).trim()&&(Fe.reduce=d(w).trim()),d(m).trim()&&(Fe.description=d(m).trim()),d(x)&&(Fe.mqttpub=!0),d(k)&&(Fe.retain=!0),await OD(d(f),Fe)}catch(Fe){y(A,Fe instanceof Error?Fe.message:String(Fe),!0)}}}async function gi(){if(d(f))try{y(E,await hS(d(f)),!0)}catch(Fe){y(A,Fe instanceof Error?Fe.message:String(Fe),!0)}}async function Ti(){if(d(f)&&await Ii.show(`Delete view "${d(f)}"?`,{confirm:"Delete",danger:!0}))try{await D7(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(Fe){y(A,Fe instanceof Error?Fe.message:String(Fe),!0)}}async function Zi(){if(!d(We).trim())return;const Fe=d(We).trim();y(rt,null);try{await OD(Fe,{map:"// emit(this.someProperty)"}),y(xe,!1),y(We,""),await Fi(),await it(Fe)}catch(X){y(rt,X instanceof Error?X.message:String(X),!0)}}let Bi=M(""),zi=M(""),vn=wt(()=>[...d(i)].filter(Fe=>!d(Bi)||Fe.toLowerCase().includes(d(Bi).toLowerCase())).sort()),ln=wt(()=>[...d(u)].filter(Fe=>!d(zi)||Fe.toLowerCase().includes(d(zi).toLowerCase())).sort());ao(()=>{Di(),Fi().then(()=>{d(f)&&d(u).includes(d(f))?it(d(f)):y(f,null)}),Dl().then(ke=>{const $e=ke.dbPrefix||"she/db/",N=$e.endsWith("/")?$e:$e+"/";y($,N+"view/")}).catch(()=>{});const Fe=kr("db:ids",ke=>{y(i,ke.ids??[],!0)}),X=kr("db:viewIds",ke=>{y(u,ke.ids??[],!0)}),ee=kr("db:change",async ke=>{const $e=ke.id;d(n)===$e&&(ke.doc===null?(y(n,null),y(s,"{}")):y(s,JSON.stringify(ke.doc,null,2),!0))}),de=kr("db:viewUpdate",async ke=>{const $e=ke.id;d(f)===$e&&y(E,await hS($e).catch(()=>null),!0)});return()=>{Fe(),X(),ee(),de()}});var Pi=cX(),yn=v(Pi),Re=v(yn);let jt;var di=b(Re,2);let qt;var Le=b(di,2);{var It=Fe=>{var X=GZ();let ee;j(()=>{ee=Tt(X,1,"ai-toggle svelte-rrt0o",null,ee,{"ai-open":d(Oe)}),Ai(X,"title",d(Oe)?"Close AI assistant":"Open AI assistant")}),U("click",X,()=>y(Oe,!d(Oe))),D(Fe,X)};W(Le,Fe=>{d(ie)==="views"&&Fe(It)})}var ai=b(yn,2);{var pi=Fe=>{var X=YZ(),ee=v(X);let de;var ke=v(ee),$e=v(ke),N=b(ke,2);{var Q=Ee=>{var Se=KZ(),lt=Ct(Se),Bt=v(lt),St=b(Bt,2),Dt=b(lt,2);{var Ft=ne=>{var _e=uE(),Be=v(_e);j(()=>O(Be,d(he))),D(ne,_e)};W(Dt,ne=>{d(he)&&ne(Ft)})}U("keydown",Bt,ne=>ne.key==="Enter"&&vi()),ti(Bt,()=>d(J),ne=>y(J,ne)),U("click",St,vi),D(Ee,Se)};W(N,Ee=>{d(ue)&&Ee(Q)})}var oe=b(N,2),Ie=v(oe),De=b(oe,2);mi(De,20,()=>d(vn),Ee=>Ee,(Ee,Se)=>{var lt=hE();let Bt;var St=v(lt);j(()=>{Bt=Tt(lt,1,"flat-item svelte-rrt0o",null,Bt,{"active-item":d(n)===Se}),O(St,Se)}),U("click",lt,()=>Ri(Se)),D(Ee,lt)});var B=b(ee,2),q=b(B,2),Y=v(q);{var me=Ee=>{var Se=XZ(),lt=Ct(Se),Bt=v(lt),St=v(Bt),Dt=b(Bt,2),Ft=b(Dt,2),ne=b(lt,2);{var _e=Ye=>{var Rt=fE(),ri=v(Rt);j(()=>O(ri,d(a))),D(Ye,Rt)};W(ne,Ye=>{d(a)&&Ye(_e)})}var Be=b(ne,2);{var at=Ye=>{var Rt=gE();D(Ye,Rt)},nt=Ye=>{var Rt=ZZ(),ri=v(Rt);gS(ri,{language:"json",get value(){return d(s)},set value(fi){y(s,fi,!0)}}),D(Ye,Rt)};W(Be,Ye=>{d(r)?Ye(at):Ye(nt,-1)})}j(()=>O(St,d(n))),U("click",Dt,Ni),U("click",Ft,ci),D(Ee,Se)},Qe=Ee=>{t(Ee)};W(Y,Ee=>{d(n)?Ee(me):Ee(Qe,-1)})}j(()=>de=Fo(ee,"",de,{width:`${d(ve)??""}px`})),U("click",$e,()=>{y(ue,!d(ue)),y(he,null)}),ti(Ie,()=>d(Bi),Ee=>y(Bi,Ee)),U("mousedown",B,At),D(Fe,X)},_i=Fe=>{var X=lX(),ee=v(X);let de;var ke=v(ee),$e=v(ke),N=b(ke,2);{var Q=lt=>{var Bt=QZ(),St=Ct(Bt),Dt=v(St),Ft=b(Dt,2),ne=b(St,2);{var _e=Be=>{var at=uE(),nt=v(at);j(()=>O(nt,d(rt))),D(Be,at)};W(ne,Be=>{d(rt)&&Be(_e)})}U("keydown",Dt,Be=>Be.key==="Enter"&&Zi()),ti(Dt,()=>d(We),Be=>y(We,Be)),U("click",Ft,Zi),D(lt,Bt)};W(N,lt=>{d(xe)&<(Q)})}var oe=b(N,2),Ie=v(oe),De=b(oe,2);mi(De,20,()=>d(ln),lt=>lt,(lt,Bt)=>{var St=hE();let Dt;var Ft=v(St);j(()=>{Dt=Tt(St,1,"flat-item svelte-rrt0o",null,Dt,{"active-item":d(f)===Bt}),O(Ft,Bt)}),U("click",St,()=>it(Bt)),D(lt,St)});var B=b(ee,2),q=b(B,2),Y=v(q);{var me=lt=>{var Bt=rX(),St=Ct(Bt),Dt=v(St),Ft=v(Dt),ne=b(Dt,2),_e=b(ne,2),Be=b(_e,2),at=b(St,2);{var nt=fi=>{var Ci=fE(),en=v(Ci);j(()=>O(en,d(A))),D(fi,Ci)};W(at,fi=>{d(A)&&fi(nt)})}var Ye=b(at,2);{var Rt=fi=>{var Ci=gE();D(fi,Ci)},ri=fi=>{var Ci=oX(),en=v(Ci),fn=b(v(en),2),cn=v(fn),ki=b(en,2),Xi=b(v(ki),2),z=v(Xi),te=b(ki,2),Ge=b(v(te),2),Je=v(Ge);gS(Je,{language:"javascript",get value(){return d(p)},set value(tt){y(p,tt,!0)}});var ge=b(te,2),be=b(v(ge),2),vt=v(be);gS(vt,{language:"javascript",get value(){return d(w)},set value(tt){y(w,tt,!0)}});var Ei=b(ge,2),Ne=v(Ei),Ke=v(Ne),Vt=b(Ke,4),et=b(v(Vt)),bt=v(et),Jt=b(Ne,2);{var K=tt=>{var He=JZ(),Pe=v(He);Is(Pe,()=>d(k),$t=>y(k,$t)),D(tt,He)};W(Jt,tt=>{d(x)&&tt(K)})}var se=b(Ei,2);{var Ue=tt=>{var He=sX(),Pe=v(He),$t=b(v(Pe));{var xt=ze=>{var Ve=eX();D(ze,Ve)},Ze=ze=>{var Ve=tX(),je=v(Ve);j(()=>O(je,`${d(E).length??0??""} items · rev ${d(E)._rev??""}`)),D(ze,Ve)};W($t,ze=>{d(E).error?ze(xt):ze(Ze,-1)})}var Ut=b(Pe,2);{var st=ze=>{var Ve=iX(),je=v(Ve);j(()=>O(je,d(E).error)),D(ze,Ve)},Me=ze=>{var Ve=nX(),je=v(Ve);j(Nt=>O(je,Nt),[()=>JSON.stringify(d(E).result,null,2)]),D(ze,Ve)};W(Ut,ze=>{d(E).error?ze(st):ze(Me,-1)})}D(tt,He)};W(se,tt=>{d(E)&&tt(Ue)})}j(()=>O(bt,`${d($)??""}${d(f)??""} on every update`)),ti(cn,()=>d(m),tt=>y(m,tt)),ti(z,()=>d(g),tt=>y(g,tt)),Is(Ke,()=>d(x),tt=>y(x,tt)),D(fi,Ci)};W(Ye,fi=>{d(P)?fi(Rt):fi(ri,-1)})}j(()=>O(Ft,d(f))),U("click",ne,zt),U("click",_e,gi),U("click",Be,Ti),D(lt,Bt)},Qe=lt=>{t(lt)};W(Y,lt=>{d(f)?lt(me):lt(Qe,-1)})}var Ee=b(q,2);{var Se=lt=>{var Bt=aX(),St=Ct(Bt),Dt=b(St,2);let Ft;var ne=v(Dt);$Z(ne,{get currentView(){return d(Mt)},onApplyView:Lt}),j(()=>Ft=Fo(Dt,"",Ft,{width:`${d(Te)??""}px`})),U("mousedown",St,hi),D(lt,Bt)};W(Ee,lt=>{d(Oe)&<(Se)})}j(()=>de=Fo(ee,"",de,{width:`${d(ve)??""}px`})),U("click",$e,()=>{y(xe,!d(xe)),y(rt,null)}),ti(Ie,()=>d(zi),lt=>y(zi,lt)),U("mousedown",B,At),D(Fe,X)};W(ai,Fe=>{d(ie)==="docs"?Fe(pi):Fe(_i,-1)})}j(()=>{jt=Tt(Re,1,"svelte-rrt0o",null,jt,{active:d(ie)==="docs"}),qt=Tt(di,1,"svelte-rrt0o",null,qt,{active:d(ie)==="views"})}),U("mousemove",Pi,kt),U("mouseup",Pi,Si),cs("mouseleave",Pi,Si),U("click",Re,()=>y(ie,"docs")),U("click",di,()=>y(ie,"views")),D(o,Pi),As()}Ks(["mousemove","mouseup","click","keydown","mousedown"]);var uX=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),hX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),pE=T('<p class="err svelte-1ua3isv"> </p>'),fX=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>'),gX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),pX=T('<span class="device-name svelte-1ua3isv"> </span>'),_X=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>'),mX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),vX=T('<p class="info svelte-1ua3isv">Loading…</p>'),bX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),yX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),wX=T('<span class="attr-id svelte-1ua3isv"> </span>'),SX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),CX=T('<div class="attr-actions svelte-1ua3isv"></div>'),xX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),kX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),LX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),IX=T("<!> <!>",1),DX=T('<span class="cmd-list svelte-1ua3isv"></span>'),EX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),TX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),PX=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>'),MX=T('<th class="svelte-1ua3isv"> </th>'),RX=T('<td class="svelte-1ua3isv"> </td>'),NX=T('<tr class="svelte-1ua3isv"></tr>'),AX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),OX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),FX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),HX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),WX=T('<span class="attr-val svelte-1ua3isv"> </span>'),BX=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>'),zX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),VX=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>'),jX=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),$X=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>'),UX=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),qX=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),GX=T('<span class="stream-badge svelte-1ua3isv"> </span>'),KX=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),pS=T(' <span class="e-sub svelte-1ua3isv"> </span>',1),ZX=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),XX=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),YX=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),QX=T('<div class="stream-body svelte-1ua3isv"><!></div>'),JX=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 eY(o,e){Ns(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(X,ee,de,ke,$e){try{await B7(X,ee,de,ke,$e)}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(X,ee){const de=n[X];return ee.map(ke=>{const $e=typeof ke=="number"?ke:Number(ke);return{id:$e,name:(de==null?void 0:de[$e])??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(X){return"0x"+X.toString(16).toUpperCase().padStart(4,"0")}let f=M(yi([])),g=yi(new Map);function p(X){if(X==null)return"—";if(typeof X=="boolean"||typeof X=="number")return String(X);if(typeof X=="string")return X.length>50?X.slice(0,47)+"…":X;const ee=JSON.stringify(X);return ee.length>60?ee.slice(0,57)+"…":ee}function w(X){return X==null?"—":typeof X=="boolean"||typeof X=="number"?String(X):typeof X=="string"?X:JSON.stringify(X)}function m(X){return X!==null&&typeof X=="object"&&!Array.isArray(X)}function x(X){return Array.isArray(X)&&X.length>0&&X.every(m)}function k(X,ee){return!!(ee==="attributeList"||Array.isArray(X)&&X.length===0||m(X)&&Object.keys(X).length===0)}function E(X){return new Date(X).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,$=32;let H=0,ie=M(yi([])),J=M(!0),ue=M(180),he=wt(()=>{const X=Math.max(1,Math.floor((d(ue)-$)/A)+1);return d(ie).slice(0,X)});function We(X){X.preventDefault();const ee=X.clientY,de=d(ue);function ke(N){y(ue,Math.max(60,Math.min(600,de+ee-N.clientY)),!0)}function $e(){document.removeEventListener("mousemove",ke),document.removeEventListener("mouseup",$e)}document.addEventListener("mousemove",ke),document.addEventListener("mouseup",$e)}let xe=M(null),rt=M(!1),pt=M(null),ve=M(!1),dt=M("passcode"),gt=M(""),Pt=M(""),fe=M(""),Et=M(!1),Oe=M(null),Te=M("");const ut="she:matter:selectedNodeId";async function Wt(){try{y(f,await WN(),!0);for(const X of d(f))Xm(X.nodeId).then(ee=>{g.set(X.nodeId,ee)}).catch(()=>{});if(d(f).length>0&&!d(xe)){const X=localStorage.getItem(ut),ee=X&&d(f).find(de=>de.nodeId===X)?X:d(f)[0].nodeId;Zt(ee)}}catch{y(f,[],!0)}}async function Zt(X){y(rt,!0),y(pt,null);try{y(xe,await Xm(X),!0),g.set(X,d(xe)),localStorage.setItem(ut,X)}catch(ee){y(pt,ee instanceof Error?ee.message:String(ee),!0)}finally{y(rt,!1)}}let Mt;async function Lt(X){var ee;if(await Mt.show(`Unpair device ${X}?`,{confirm:"Unpair",danger:!0}))try{await W7(X),((ee=d(xe))==null?void 0:ee.nodeId)===X&&y(xe,null),await Wt()}catch(de){y(pt,de instanceof Error?de.message:String(de),!0)}}async function At(){y(Et,!0),y(Oe,null);try{let X;d(dt)==="passcode"?(X={passcode:Number(d(gt))},d(Pt)&&(X={...X,discriminator:Number(d(Pt))})):X={pairingCode:d(fe).trim()},d(Te).trim()&&(X={...X,discoveryAddress:d(Te).trim()}),await H7(X),y(ve,!1),y(gt,""),y(Pt,""),y(fe,""),y(Te,""),await Wt()}catch(X){y(Oe,X instanceof Error?X.message:String(X),!0)}finally{y(Et,!1)}}ao(()=>{Wt()});const kt=kr("matter:deviceList",X=>{if(!Array.isArray(X.devices))return;const ee=X.devices;for(const de of ee)g.has(de.nodeId)||Xm(de.nodeId).then(ke=>{g.set(de.nodeId,ke)}).catch(()=>{});y(f,ee,!0)}),Si=kr("matter:deviceStatus",X=>{if(X.nodeId===void 0)return;const ee=String(X.nodeId),de=!!X.online;y(f,d(f).map(ke=>ke.nodeId===ee?{...ke,online:de}:ke),!0),y(ie,[{id:H++,kind:"status",nodeId:ee,online:de,ts:Date.now()},...d(ie).slice(0,P-1)],!0)}),hi=kr("matter:attr",X=>{const ee=String(X.nodeId),de=X.endpointId,ke=String(X.clusterName),$e=String(X.attrName),N=X.value;if(d(xe)&&d(xe).nodeId===ee){const oe=d(xe).endpoints.find(De=>De.endpointId===de),Ie=oe==null?void 0:oe.clusters.find(De=>De.name===ke);Ie&&(Ie.attrs[$e]=N)}const Q=g.get(ee);if(Q){const oe=Q.endpoints.find(De=>De.endpointId===de),Ie=oe==null?void 0:oe.clusters.find(De=>De.name===ke);Ie&&(Ie.attrs[$e]=N)}y(ie,[{id:H++,kind:"attr",nodeId:ee,endpointId:de,clusterName:ke,attrName:$e,value:N,ts:X.ts??Date.now()},...d(ie).slice(0,P-1)],!0)});Wy(()=>{kt(),Si(),hi()});var Di=JX(),Fi=Ct(Di);Ds(Jf(Fi,{}),X=>Mt=X,()=>Mt);var Ri=b(Fi,2),Ni=v(Ri),Ii=v(Ni),ci=v(Ii),vi=b(v(ci),2),it=b(ci,2);{var zt=X=>{var ee=fX(),de=v(ee),ke=v(de);let $e;var N=b(ke,2);let Q;var oe=b(de,2);{var Ie=Se=>{var lt=uX(),Bt=Ct(lt),St=b(v(Bt)),Dt=b(Bt,2),Ft=b(v(Dt));ti(St,()=>d(gt),ne=>y(gt,ne)),ti(Ft,()=>d(Pt),ne=>y(Pt,ne)),D(Se,lt)},De=Se=>{var lt=hX(),Bt=b(v(lt));ti(Bt,()=>d(fe),St=>y(fe,St)),D(Se,lt)};W(oe,Se=>{d(dt)==="passcode"?Se(Ie):Se(De,-1)})}var B=b(oe,2),q=b(v(B)),Y=b(B,2);{var me=Se=>{var lt=pE(),Bt=v(lt);j(()=>O(Bt,d(Oe))),D(Se,lt)};W(Y,Se=>{d(Oe)&&Se(me)})}var Qe=b(Y,2),Ee=v(Qe);j(()=>{$e=Tt(ke,1,"svelte-1ua3isv",null,$e,{active:d(dt)==="passcode"}),Q=Tt(N,1,"svelte-1ua3isv",null,Q,{active:d(dt)==="pairingCode"}),Qe.disabled=d(Et),O(Ee,d(Et)?"Commissioning…":"Commission")}),U("click",ke,()=>y(dt,"passcode")),U("click",N,()=>y(dt,"pairingCode")),ti(q,()=>d(Te),Se=>y(Te,Se)),U("click",Qe,At),D(X,ee)};W(it,X=>{d(ve)&&X(zt)})}var gi=b(it,2),Ti=v(gi);mi(Ti,17,()=>d(f),X=>X.nodeId,(X,ee)=>{var de=_X();let ke;var $e=v(de),N=v($e);let Q;var oe=b(N,2),Ie=v(oe);{var De=Y=>{var me=gX(),Qe=Ct(me),Ee=v(Qe),Se=b(Qe,2),lt=v(Se);j(()=>{O(Ee,d(ee).name),O(lt,`#${d(ee).nodeId??""}`)}),D(Y,me)},B=Y=>{var me=pX(),Qe=v(me);j(()=>O(Qe,`Node ${d(ee).nodeId??""}`)),D(Y,me)};W(Ie,Y=>{d(ee).name?Y(De):Y(B,-1)})}var q=b($e,2);j(()=>{var Y;ke=Tt(de,1,"svelte-1ua3isv",null,ke,{selected:((Y=d(xe))==null?void 0:Y.nodeId)===d(ee).nodeId}),Q=Tt(N,1,"status-dot svelte-1ua3isv",null,Q,{online:d(ee).online})}),U("click",$e,()=>Zt(d(ee).nodeId)),U("click",q,()=>Lt(d(ee).nodeId)),D(X,de)});var Zi=b(Ti,2);{var Bi=X=>{var ee=mX();D(X,ee)};W(Zi,X=>{d(f).length===0&&X(Bi)})}var zi=b(Ii,2),vn=v(zi);{var ln=X=>{var ee=vX();D(X,ee)},Pi=X=>{var ee=pE(),de=v(ee);j(()=>O(de,d(pt))),D(X,ee)},yn=X=>{var ee=UX(),de=Ct(ee),ke=v(de),$e=v(ke),N=b(ke,2);{var Q=B=>{var q=bX(),Y=v(q);j(()=>O(Y,d(xe).subtitle)),D(B,q)};W(N,B=>{d(xe).subtitle&&B(Q)})}var oe=b(N,2),Ie=v(oe),De=b(de,2);mi(De,17,()=>d(xe).endpoints,B=>B.endpointId,(B,q)=>{var Y=$X(),me=v(Y),Qe=v(me),Ee=b(Qe),Se=v(Ee),lt=b(Ee,2);mi(lt,21,()=>d(q).clusters,Ji,(Ft,ne)=>{var _e=yX(),Be=v(_e);j(()=>O(Be,d(ne).name)),D(Ft,_e)});var Bt=b(me,2);{var St=Ft=>{var ne=VX(),_e=b(v(ne));mi(_e,21,()=>d(q).clusters,Ji,(Be,at)=>{var nt=zX(),Ye=Ct(nt),Rt=v(Ye),ri=v(Rt),fi=b(Ye,2);mi(fi,17,()=>Object.entries(d(at).attrs),Ji,(Ci,en)=>{var fn=wt(()=>RL(d(en),2));let cn=()=>d(fn)[0],ki=()=>d(fn)[1];var Xi=Rs(),z=Ct(Xi);{var te=Je=>{const ge=wt(()=>{var Ve;return(Ve=t[d(at).name])==null?void 0:Ve[cn()]}),be=wt(()=>(cn()==="acceptedCommandList"||cn()==="generatedCommandList")&&Array.isArray(ki())),vt=wt(()=>{var Ve;return((Ve=c[d(at).name])==null?void 0:Ve[cn()])??a[cn()]});var Ei=BX(),Ne=v(Ei),Ke=v(Ne),Vt=v(Ke),et=b(Ke);{var bt=Ve=>{var je=wX(),Nt=v(je);j(we=>O(Nt,`(${we??""})`),[()=>u(d(vt))]),D(Ve,je)};W(et,Ve=>{d(vt)!==void 0&&Ve(bt)})}var Jt=b(Ne),K=v(Jt);{var se=Ve=>{var je=CX();mi(je,21,()=>d(ge),Ji,(Nt,we)=>{var ot=SX(),_t=v(ot);j(()=>O(_t,d(we).label)),U("click",ot,()=>i(d(xe).nodeId,d(q).endpointId,d(at).name,d(we).command,d(we).args)),D(Nt,ot)}),D(Ve,je)};W(K,Ve=>{d(ge)&&Ve(se)})}var Ue=b(Jt),tt=v(Ue);{var He=Ve=>{var je=DX();mi(je,21,()=>s(d(at).name,ki()),Ji,(Nt,we,ot)=>{var _t=IX(),mt=Ct(_t);{var Xe=tn=>{var En=xX();D(tn,En)};W(mt,tn=>{ot>0&&tn(Xe)})}var Yt=b(mt,2);{var si=tn=>{var En=kX(),Qn=Ct(En),Ui=v(Qn),bi=b(Qn),wn=v(bi);j(()=>{O(Ui,d(we).name),O(wn,`(${d(we).id??""})`)}),D(tn,En)},un=tn=>{var En=LX(),Qn=v(En);j(()=>O(Qn,d(we).id)),D(tn,En)};W(Yt,tn=>{d(we).name?tn(si):tn(un,-1)})}D(Nt,_t)}),D(Ve,je)},Pe=Ve=>{var je=PX(),Nt=b(v(je));mi(Nt,21,ki,Ji,(we,ot)=>{const _t=wt(()=>d(ot)),mt=wt(()=>d(_t).deviceType),Xe=wt(()=>r[d(mt)]);var Yt=TX(),si=v(Yt),un=v(si);{var tn=bi=>{var wn=EX(),dn=Ct(wn),rs=b(dn),co=v(rs);j(qo=>{O(dn,`${d(Xe)??""} `),O(co,`(${qo??""})`)},[()=>u(d(mt))]),D(bi,wn)},En=bi=>{var wn=sa();j(dn=>O(wn,dn),[()=>u(d(mt))]),D(bi,wn)};W(un,bi=>{d(Xe)?bi(tn):bi(En,-1)})}var Qn=b(si),Ui=v(Qn);j(bi=>O(Ui,bi),[()=>w(d(_t).revision)]),D(we,Yt)}),D(Ve,je)},$t=wt(()=>cn()==="deviceTypeList"&&Array.isArray(ki())),xt=Ve=>{const je=wt(()=>[...new Set(ki().flatMap(mt=>Object.keys(mt)))]);var Nt=AX(),we=v(Nt),ot=v(we);mi(ot,21,()=>d(je),Ji,(mt,Xe)=>{var Yt=MX(),si=v(Yt);j(()=>O(si,d(Xe))),D(mt,Yt)});var _t=b(we);mi(_t,21,ki,Ji,(mt,Xe)=>{var Yt=NX();mi(Yt,21,()=>d(je),Ji,(si,un)=>{var tn=RX(),En=v(tn);j(Qn=>O(En,Qn),[()=>w(d(Xe)[d(un)])]),D(si,tn)}),D(mt,Yt)}),D(Ve,Nt)},Ze=wt(()=>x(ki())),Ut=Ve=>{var je=FX(),Nt=v(je);mi(Nt,21,()=>Object.entries(ki()),Ji,(we,ot)=>{var _t=wt(()=>RL(d(ot),2));let mt=()=>d(_t)[0],Xe=()=>d(_t)[1];var Yt=OX(),si=v(Yt),un=v(si),tn=b(si),En=v(tn);j(Qn=>{O(un,mt()),O(En,Qn)},[()=>w(Xe())]),D(we,Yt)}),D(Ve,je)},st=wt(()=>m(ki())),Me=Ve=>{var je=HX(),Nt=v(je);j(()=>{Ai(je,"href",ki()),O(Nt,ki())}),D(Ve,je)},ze=Ve=>{var je=WX(),Nt=v(je);j(we=>O(Nt,we),[()=>w(ki())]),D(Ve,je)};W(tt,Ve=>{d(be)?Ve(He):d($t)?Ve(Pe,1):d(Ze)?Ve(xt,2):d(st)?Ve(Ut,3):(cn()==="productUrl"||cn()==="productURL")&&typeof ki()=="string"?Ve(Me,4):Ve(ze,-1)})}j(()=>{Ai(Ne,"title",cn()),O(Vt,cn())}),D(Je,Ei)},Ge=wt(()=>!k(ki(),cn()));W(z,Je=>{d(Ge)&&Je(te)})}D(Ci,Xi)}),j(()=>O(ri,d(at).name)),D(Be,nt)}),D(Ft,ne)},Dt=Ft=>{var ne=jX();D(Ft,ne)};W(Bt,Ft=>{d(q).clusters.length>0?Ft(St):Ft(Dt,-1)})}j(()=>{O(Qe,`${d(q).name??`Endpoint ${d(q).endpointId}`??""} `),O(Se,`ep${d(q).endpointId??""}`)}),D(B,Y)}),j(()=>{O($e,d(xe).name??`Node ${d(xe).nodeId}`),O(Ie,`Node ID: ${d(xe).nodeId??""}`)}),D(X,ee)},Re=X=>{var ee=qX();D(X,ee)};W(vn,X=>{d(rt)?X(ln):d(pt)?X(Pi,1):d(xe)?X(yn,2):X(Re,-1)})}var jt=b(Ni,2),di=v(jt),qt=b(di,2),Le=b(v(qt),2);{var It=X=>{var ee=GX(),de=v(ee);j(()=>O(de,d(ie).length)),D(X,ee)};W(Le,X=>{!d(J)&&d(ie).length>0&&X(It)})}var ai=b(Le,2),pi=v(ai),_i=b(qt,2);{var Fe=X=>{var ee=QX(),de=v(ee);{var ke=N=>{var Q=KX();D(N,Q)},$e=N=>{var Q=Rs(),oe=Ct(Q);mi(oe,17,()=>d(he),Ie=>Ie.id,(Ie,De)=>{const B=wt(()=>{var St,Dt;return((St=g.get(d(De).nodeId))==null?void 0:St.name)??((Dt=d(f).find(Ft=>Ft.nodeId===d(De).nodeId))==null?void 0:Dt.name)??null}),q=wt(()=>{var St,Dt;return d(De).endpointId!==void 0?((Dt=(St=g.get(d(De).nodeId))==null?void 0:St.endpoints.find(Ft=>Ft.endpointId===d(De).endpointId))==null?void 0:Dt.name)??null:null}),Y=wt(()=>d(De).attrName??d(De).clusterName);var me=YX(),Qe=v(me),Ee=v(Qe),Se=b(Qe,2);{var lt=St=>{var Dt=ZX(),Ft=b(Ct(Dt),2),ne=v(Ft),_e=b(ne);{var Be=Rt=>{var ri=pS(),fi=b(Ct(ri)),Ci=v(fi);j(()=>O(Ci,`(#${d(De).nodeId??""})`)),D(Rt,ri)};W(_e,Rt=>{d(B)&&Rt(Be)})}var at=b(Ft,2);let nt;var Ye=v(at);j(()=>{O(ne,d(B)??`#${d(De).nodeId}`),nt=Tt(at,1,"e-val svelte-1ua3isv",null,nt,{"e-online":d(De).online,"e-offline":!d(De).online}),O(Ye,d(De).online?"online":"offline")}),D(St,Dt)},Bt=St=>{var Dt=XX(),Ft=b(Ct(Dt),2),ne=v(Ft),_e=b(ne);{var Be=ki=>{var Xi=pS(),z=b(Ct(Xi)),te=v(z);j(()=>O(te,`(#${d(De).nodeId??""})`)),D(ki,Xi)};W(_e,ki=>{d(B)&&ki(Be)})}var at=b(Ft,2),nt=v(at),Ye=b(nt);{var Rt=ki=>{var Xi=pS(),z=b(Ct(Xi)),te=v(z);j(()=>O(te,`(ep ${d(De).endpointId??""})`)),D(ki,Xi)};W(Ye,ki=>{d(q)&&ki(Rt)})}var ri=b(at,2),fi=v(ri),Ci=b(ri,2),en=v(Ci),fn=b(Ci,2),cn=v(fn);j(ki=>{O(ne,d(B)??`#${d(De).nodeId}`),O(nt,d(q)??`ep${d(De).endpointId}`),O(fi,d(De).clusterName),O(en,d(Y)),O(cn,ki)},[()=>p(d(De).value)]),D(St,Dt)};W(Se,St=>{d(De).kind==="status"?St(lt):St(Bt,-1)})}j(St=>O(Ee,St),[()=>E(d(De).ts)]),D(Ie,me)}),D(N,Q)};W(de,N=>{d(he).length===0?N(ke):N($e,-1)})}D(X,ee)};W(_i,X=>{d(J)&&X(Fe)})}j(()=>{Fo(jt,d(J)?`height: ${d(ue)}px;`:""),O(pi,d(J)?"▾":"▸")}),U("click",vi,()=>y(ve,!d(ve))),U("mousedown",di,We),U("click",ai,()=>{y(J,!d(J))}),D(o,Di),As()}Ks(["click","mousedown"]);var tY=T("<button>›</button>"),iY=T('<span class="chev-ph svelte-1vejtrc"></span>'),nY=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),sY=T('<div class="tc svelte-1vejtrc"></div>'),oY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),rY=T("<option></option>"),aY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),lY=T('<span class="pub-err svelte-1vejtrc"> </span>'),cY=T('<div class="info svelte-1vejtrc">Loading…</div>'),dY=T('<div class="info err svelte-1vejtrc"> </div>'),uY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),hY=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>'),fY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),gY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),pY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),_Y=T('<span class="stream-badge"> </span>'),mY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),vY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),bY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),yY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),wY=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),SY=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>'),CY=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),xY=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 kY(o,e){Ns(e,!0);const t=(ne,_e=Ny)=>{const Be=wt(()=>d(g).has(_e().path)),at=wt(()=>d(a)>=0&&_e().children.size>0),nt=wt(()=>d(a)>=0&&_e().isLeaf&&!n.has(_e().path));var Ye=oY(),Rt=v(Ye);let ri;var fi=v(Rt);{var Ci=Je=>{var ge=tY();let be;j(()=>{be=Tt(ge,1,"chev svelte-1vejtrc",null,be,{open:d(Be)}),Ai(ge,"aria-label",d(Be)?"Collapse":"Expand")}),U("click",ge,()=>p(_e().path)),D(Je,ge)},en=Je=>{var ge=iY();D(Je,ge)};W(fi,Je=>{d(at)?Je(Ci):Je(en,-1)})}var fn=b(fi,2),cn=v(fn),ki=b(fn,2);{var Xi=Je=>{var ge=nY(),be=Ct(ge),vt=v(be),Ei=b(be,2),Ne=v(Ei);j((Ke,Vt,et)=>{Ai(be,"title",Ke),O(vt,Vt),O(Ne,et)},[()=>{var Ke;return Ri((Ke=ci(_e().path))==null?void 0:Ke.val)},()=>{var Ke;return Ri((Ke=ci(_e().path))==null?void 0:Ke.val)},()=>{var Ke;return((Ke=ci(_e().path))==null?void 0:Ke.ts)!=null?Ni(ci(_e().path).ts):""}]),D(Je,ge)},z=wt(()=>_e().isLeaf&&i.has(_e().path));W(ki,Je=>{d(z)&&Je(Xi)})}var te=b(Rt,2);{var Ge=Je=>{var ge=sY();mi(ge,21,()=>[..._e().children.values()].sort((be,vt)=>be.seg.localeCompare(vt.seg)),be=>be.path,(be,vt)=>{t(be,()=>d(vt))}),D(Je,ge)};W(te,Je=>{d(at)&&d(Be)&&Je(Ge)})}j(()=>{ri=Tt(Rt,1,"tr svelte-1vejtrc",null,ri,{stale:d(nt)}),O(cn,_e().seg)}),U("click",Rt,()=>{y(rt,_e().path+"/#")}),U("contextmenu",Rt,Je=>{Je.preventDefault(),y(Te,{x:Je.clientX,y:Je.clientY,topic:_e().path},!0)}),D(ne,Ye)},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 ne of s)f(ne);s.clear(),OL(a)}))}const u=new Map;function f(ne){const _e=ne.split("/");let Be=u,at="";for(let nt=0;nt<_e.length;nt++){const Ye=_e[nt];at=nt===0?Ye:`${at}/${Ye}`,Be.has(Ye)||Be.set(Ye,{seg:Ye,path:at,children:new Map,isLeaf:!1});const Rt=Be.get(Ye);nt===_e.length-1&&(Rt.isLeaf=!0),Be=Rt.children}}let g=M(yi(new Set));function p(ne){const _e=new Set(d(g));_e.has(ne)?_e.delete(ne):_e.add(ne),y(g,_e,!0)}let w=M("");const m=24,x=5;let k=M(0),E=M(300),P=wt(()=>{if(d(a),!d(w))return[];const ne=d(w).toLowerCase().split(/\s+/).filter(Boolean),_e=[];for(const[Be,at]of i){const nt=Be.toLowerCase();ne.every(Ye=>nt.includes(Ye))&&_e.push({topic:Be,...at})}return _e.sort((Be,at)=>Be.topic.localeCompare(at.topic))}),A=wt(()=>{const ne=d(P).length,_e=Math.max(0,Math.floor(d(k)/m)-x),Be=Math.min(ne,Math.ceil((d(k)+d(E))/m)+x);return{start:_e,end:Be,totalH:ne*m,top:_e*m}});const $=1e3,H=200,ie=20,J=36;let ue=0,he=M(yi([])),We=M(yi([])),xe=M(!0),rt=M("#"),pt=M(200);zn(()=>{const ne=d(rt).trim(),_e=Nl(()=>d(he)),Be=!ne||ne==="#"?_e.slice(0,H):_e.filter(at=>ve(ne,at.topic)).slice(0,H);if(ne&&ne!=="#"){const at=new Set(Be.map(Ye=>Ye.topic)),nt=[];for(const[Ye,Rt]of i)at.has(Ye)||ve(ne,Ye)&&nt.push({id:-(nt.length+1),topic:Ye,val:Rt.val,ts:Rt.ts,retained:!0});nt.sort((Ye,Rt)=>Ye.topic.localeCompare(Rt.topic)),y(We,[...Be,...nt],!0)}else y(We,Be,!0)});function ve(ne,_e){if(ne==="#")return!0;const Be=ne.split("/"),at=_e.split("/");for(let nt=0;nt<Be.length;nt++){if(Be[nt]==="#")return!0;if(nt>=at.length||Be[nt]!=="+"&&Be[nt]!==at[nt])return!1}return Be.length===at.length}function dt(ne){ne.preventDefault();const _e=ne.clientY,Be=d(pt);function at(Ye){y(pt,Math.max(60,Math.min(800,Be+_e-Ye.clientY)),!0)}function nt(){document.removeEventListener("mousemove",at),document.removeEventListener("mouseup",nt)}document.addEventListener("mousemove",at),document.addEventListener("mouseup",nt)}let gt=wt(()=>{const ne=Math.max(1,Math.floor((d(pt)-J)/ie)+1);return d(We).slice(0,ne)}),Pt=M(!0),fe=M(null);async function Et(){y(Pt,!0),y(fe,null);try{const ne=await BN();for(const _e of ne)i.set(_e.topic,{val:_e.val,ts:_e.ts}),f(_e.topic)}catch(ne){y(fe,ne instanceof Error?ne.message:String(ne),!0)}finally{y(Pt,!1),OL(a)}}const Oe=kr("mqtt",ne=>{const{topic:_e,val:Be,ts:at}=ne;i.set(_e,{val:Be,ts:at}),n.add(_e),s.add(_e),c();const nt={id:ue++,topic:_e,val:Be,ts:at};y(he,[nt,...d(he).slice(0,$-1)],!0);const Ye=d(rt).trim();(!Ye||Ye==="#"||ve(Ye,_e))&&y(We,[nt,...d(We).filter(Rt=>!(Rt.retained&&Rt.topic===_e)).slice(0,H-1)],!0)});let Te=M(null),ut=M(null);async function Wt(ne,_e){const Be=[ne];if(_e){const at=ne+"/";for(const nt of i.keys())nt.startsWith(at)&&Be.push(nt)}for(const at of Be)await HD(at,"",!0,0)}let Zt=wt(()=>(d(a),[...i.keys()].sort())),Mt=M(""),Lt=M(""),At=M(!1),kt=M(0),Si=M(!1),hi=M(null),Di=M(!1);async function Fi(){if(d(Mt)){y(Si,!0),y(hi,null),y(Di,!1);try{await HD(d(Mt),d(Lt),d(At),d(kt)),y(Di,!0),setTimeout(()=>{y(Di,!1)},2e3)}catch(ne){y(hi,ne instanceof Error?ne.message:String(ne),!0)}finally{y(Si,!1)}}}function Ri(ne){return ne==null?"":typeof ne=="object"?JSON.stringify(ne):String(ne)}function Ni(ne){return new Date(ne).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ii(ne){return new Date(ne).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ci(ne){return d(a),i.get(ne)}let vi=wt(()=>(d(a),[...u.values()].sort((ne,_e)=>ne.seg.localeCompare(_e.seg)))),it=wt(()=>(d(a),i.size));ao(Et),Wy(()=>{Oe(),r!==null&&cancelAnimationFrame(r)});var zt=xY(),gi=b(v(zt),2),Ti=v(gi),Zi=v(Ti),Bi=b(Zi,2);mi(Bi,20,()=>d(Zt),ne=>ne,(ne,_e)=>{var Be=rY(),at={};j(()=>{at!==(at=_e)&&(Be.value=(Be.__value=_e)??"")}),D(ne,Be)});var zi=b(Bi,2),vn=b(zi,2),ln=v(vn),Pi=b(vn,2),yn=v(Pi);yn.value=yn.__value=0;var Re=b(yn);Re.value=Re.__value=1;var jt=b(Re);jt.value=jt.__value=2;var di=b(Pi,2),qt=b(di,2);{var Le=ne=>{var _e=aY();D(ne,_e)};W(qt,ne=>{d(Di)&&ne(Le)})}var It=b(qt,2);{var ai=ne=>{var _e=lY(),Be=v(_e);j(()=>O(Be,d(hi))),D(ne,_e)};W(It,ne=>{d(hi)&&ne(ai)})}var pi=b(Ti,2),_i=v(pi),Fe=b(_i,2),X=v(Fe);{var ee=ne=>{var _e=sa();j(()=>O(_e,`${d(P).length??""} /`)),D(ne,_e)};W(X,ne=>{d(w)&&ne(ee)})}var de=b(X),ke=b(pi,2);{var $e=ne=>{var _e=cY();D(ne,_e)},N=ne=>{var _e=dY(),Be=v(_e);j(()=>O(Be,d(fe))),D(ne,_e)},Q=ne=>{var _e=Rs(),Be=Ct(_e);{var at=Ye=>{var Rt=uY();D(Ye,Rt)},nt=Ye=>{var Rt=fY(),ri=v(Rt),fi=v(ri);mi(fi,21,()=>d(P).slice(d(A).start,d(A).end),Ci=>Ci.topic,(Ci,en)=>{var fn=hY(),cn=v(fn),ki=v(cn),Xi=b(cn,2),z=v(Xi),te=b(Xi,2),Ge=v(te);j((Je,ge,be)=>{O(ki,d(en).topic),Ai(Xi,"title",Je),O(z,ge),O(Ge,be)},[()=>Ri(d(en).val),()=>Ri(d(en).val),()=>Ni(d(en).ts)]),D(Ci,fn)}),j(()=>{Fo(ri,`height: ${d(A).totalH??""}px; position: relative;`),Fo(fi,`top: ${d(A).top??""}px;`)}),cs("scroll",Rt,Ci=>{y(k,Ci.currentTarget.scrollTop,!0)}),qH(Rt,"clientHeight",Ci=>y(E,Ci)),D(Ye,Rt)};W(Be,Ye=>{d(P).length===0?Ye(at):Ye(nt,-1)})}D(ne,_e)},oe=ne=>{var _e=pY(),Be=v(_e);{var at=Ye=>{var Rt=gY();D(Ye,Rt)},nt=Ye=>{var Rt=Rs(),ri=Ct(Rt);mi(ri,17,()=>d(vi),fi=>fi.path,(fi,Ci)=>{t(fi,()=>d(Ci))}),D(Ye,Rt)};W(Be,Ye=>{d(vi).length===0?Ye(at):Ye(nt,-1)})}D(ne,_e)};W(ke,ne=>{d(Pt)?ne($e):d(fe)?ne(N,1):d(w)?ne(Q,2):ne(oe,-1)})}var Ie=b(gi,2),De=v(Ie),B=b(De,2),q=v(B),Y=b(q,2);{var me=ne=>{var _e=_Y(),Be=v(_e);j(()=>O(Be,d(We).length)),D(ne,_e)};W(Y,ne=>{!d(xe)&&d(We).length>0&&ne(me)})}var Qe=b(Y,2),Ee=v(Qe),Se=b(B,2);{var lt=ne=>{var _e=yY(),Be=v(_e);{var at=Ye=>{var Rt=mY();D(Ye,Rt)},nt=Ye=>{var Rt=Rs(),ri=Ct(Rt);mi(ri,17,()=>d(gt),fi=>fi.id,(fi,Ci)=>{var en=bY();let fn;var cn=v(en),ki=v(cn),Xi=b(cn,2);{var z=be=>{var vt=vY();D(be,vt)};W(Xi,be=>{d(Ci).retained&&be(z)})}var te=b(Xi,2),Ge=v(te),Je=b(te,2),ge=v(Je);j((be,vt,Ei)=>{fn=Tt(en,1,"sr svelte-1vejtrc",null,fn,{retained:d(Ci).retained}),O(ki,be),O(Ge,d(Ci).topic),Ai(Je,"title",vt),O(ge,Ei)},[()=>Ii(d(Ci).ts),()=>Ri(d(Ci).val),()=>Ri(d(Ci).val)]),D(fi,en)}),D(Ye,Rt)};W(Be,Ye=>{d(gt).length===0?Ye(at):Ye(nt,-1)})}D(ne,_e)};W(Se,ne=>{d(xe)&&ne(lt)})}var Bt=b(Ie,2);{var St=ne=>{var _e=wY(),Be=Ct(_e),at=b(Be,2);let nt;var Ye=v(at),Rt=b(Ye,2);j(()=>nt=Fo(at,"",nt,{left:`${d(Te).x??""}px`,top:`${d(Te).y??""}px`})),U("click",Be,()=>y(Te,null)),U("contextmenu",Be,ri=>{ri.preventDefault(),y(Te,null)}),U("click",Ye,()=>{navigator.clipboard.writeText(d(Te).topic),y(Te,null)}),U("click",Rt,()=>{const ri=d(Te).topic,fi=ri+"/",Ci=[...i.keys()].some(en=>en.startsWith(fi));y(ut,{topic:ri,hasChildren:Ci,recursive:!1},!0),y(Te,null)}),D(ne,_e)};W(Bt,ne=>{d(Te)&&ne(St)})}var Dt=b(Bt,2);{var Ft=ne=>{var _e=CY(),Be=Ct(_e),at=b(Be,2),nt=b(v(at),2),Ye=v(nt),Rt=b(v(Ye)),ri=v(Rt),fi=b(Ye,2);{var Ci=ki=>{var Xi=SY(),z=v(Xi);Is(z,()=>d(ut).recursive,te=>d(ut).recursive=te),D(ki,Xi)};W(fi,ki=>{d(ut).hasChildren&&ki(Ci)})}var en=b(nt,2),fn=v(en),cn=b(fn,2);j(()=>O(ri,d(ut).topic)),U("click",Be,()=>y(ut,null)),U("click",fn,()=>y(ut,null)),U("click",cn,()=>{const{topic:ki,recursive:Xi}=d(ut);y(ut,null),Wt(ki,Xi)}),D(ne,_e)};W(Dt,ne=>{d(ut)&&ne(Ft)})}j(()=>{di.disabled=d(Si)||!d(Mt),O(de,` ${d(it)??""}`),Fo(Ie,d(xe)?`height: ${d(pt)}px;`:""),O(Ee,d(xe)?"▾":"▸")}),ti(Zi,()=>d(Mt),ne=>y(Mt,ne)),ti(zi,()=>d(Lt),ne=>y(Lt,ne)),Is(ln,()=>d(At),ne=>y(At,ne)),Ho(Pi,()=>d(kt),ne=>y(kt,ne)),U("click",di,Fi),ti(_i,()=>d(w),ne=>y(w,ne)),U("mousedown",De,dt),ti(q,()=>d(rt),ne=>y(rt,ne)),U("click",Qe,()=>{y(xe,!d(xe))}),D(o,zt),As()}Ks(["click","contextmenu","mousedown"]);var LY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),IY=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>'),DY=T('<div class="err svelte-twakcj"> </div>'),EY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),TY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),PY=T('<p class="empty svelte-twakcj">No match.</p>'),MY=T("<span> </span>"),RY=$P('<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>'),NY=$P('<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>'),AY=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>'),OY=T('<span class="result-author svelte-twakcj"> </span>'),FY=T('<span class="result-date svelte-twakcj"> </span>'),HY=T('<span class="result-desc svelte-twakcj"> </span>'),WY=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>'),BY=T('<div class="results-list svelte-twakcj"></div>'),zY=T('<pre class="npm-output svelte-twakcj"> </pre>'),VY=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>`),jY=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 $Y(o,e){Ns(e,!0);let t=M(yi([])),i=M(""),n=M(yi({})),s=M(yi([])),r=M(!1),a=M(""),c=M(yi([])),u=M(!1),f=M(!1),g=M(!1),p=M(""),w=M(""),m=yi({});const x=wt(()=>d(i).trim()?d(t).filter(Re=>Re.name.toLowerCase().includes(d(i).toLowerCase())):d(t)),k=wt(()=>Object.keys(d(n)).filter(Re=>!d(s).includes(Re)).length);ao(async()=>{await Promise.all([E(),P(),A()])});async function E(){try{y(t,await E7(),!0),y(p,"")}catch(Re){y(p,Re.message,!0)}}async function P(){try{y(n,await HN(),!0)}catch{}}async function A(){try{const Re=await Dl();y(s,Array.isArray(Re.pinnedPackages)?Re.pinnedPackages:[],!0)}catch{}}async function $(Re){const jt=d(s).includes(Re)?d(s).filter(di=>di!==Re):[...d(s),Re];y(s,jt,!0);try{const di=await Dl();await Xp({...di,pinnedPackages:jt})}catch{}}async function H(){y(r,!0);try{y(n,await N7(),!0)}catch{}finally{y(r,!1)}}async function ie(){const Re=d(a).trim();if(!Re){y(c,[],!0);return}y(g,!0),y(p,"");try{y(c,await T7(Re),!0)}catch(jt){y(p,jt.message,!0)}finally{y(g,!1)}}function J(Re){if(!Re)return"";try{return new Date(Re).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function ue(Re,jt){m[Re]=!0,y(p,""),y(w,"");try{const di=await P7(Re,jt);y(w,di.stdout||di.stderr||"Done.",!0),y(u,!0),await E()}catch(di){y(p,di.message,!0)}finally{m[Re]=!1}}async function he(Re){m[Re]=!0,y(p,""),y(w,"");try{const jt=await M7(Re);y(w,jt.stdout||jt.stderr||"Done.",!0),y(u,!0);const di={...d(n)};delete di[Re],y(n,di,!0),await E()}catch(jt){y(p,jt.message,!0)}finally{m[Re]=!1}}async function We(Re){m[Re]=!0,y(p,""),y(w,"");try{const jt=await R7(Re);y(w,jt.stdout||jt.stderr||"Done.",!0),y(u,!0);const di={...d(n)};delete di[Re],y(n,di,!0),await E()}catch(jt){y(p,jt.message,!0)}finally{m[Re]=!1}}let xe;async function rt(){if(await xe.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){y(f,!0);try{await AN()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var pt=jY(),ve=Ct(pt);Ds(Jf(ve,{}),Re=>xe=Re,()=>xe);var dt=b(ve,2),gt=v(dt);{var Pt=Re=>{var jt=LY();D(Re,jt)},fe=Re=>{var jt=IY(),di=b(v(jt));U("click",di,rt),D(Re,jt)};W(gt,Re=>{d(f)?Re(Pt):d(u)&&Re(fe,1)})}var Et=b(gt,2);{var Oe=Re=>{var jt=DY(),di=v(jt);j(()=>O(di,d(p))),D(Re,jt)};W(Et,Re=>{d(p)&&Re(Oe)})}var Te=b(Et,2),ut=v(Te),Wt=v(ut),Zt=b(v(Wt),2),Mt=v(Zt),Lt=b(Zt,2);{var At=Re=>{var jt=EY(),di=v(jt);j(()=>O(di,`${d(k)??""} outdated`)),D(Re,jt)};W(Lt,Re=>{d(k)>0&&Re(At)})}var kt=b(Lt,2),Si=v(kt);let hi;var Di=b(Wt,2),Fi=v(Di),Ri=b(Di,2),Ni=v(Ri);{var Ii=Re=>{var jt=TY();D(Re,jt)},ci=Re=>{var jt=PY();D(Re,jt)},vi=Re=>{var jt=Rs(),di=Ct(jt);mi(di,17,()=>d(x),qt=>qt.name,(qt,Le)=>{var It=AY();let ai;var pi=v(It),_i=v(pi),Fe=v(_i),X=b(_i,2),ee=v(X),de=b(X,2);{var ke=me=>{var Qe=MY();let Ee;var Se=v(Qe);j(lt=>{Ee=Tt(Qe,1,"dep-latest svelte-twakcj",null,Ee,lt),O(Se,`→ v${d(n)[d(Le).name].latest??""}`)},[()=>({"dep-latest--pinned":d(s).includes(d(Le).name)})]),D(me,Qe)};W(de,me=>{d(n)[d(Le).name]&&me(ke)})}var $e=b(pi,2),N=v($e);let Q;var oe=b(N,2);let Ie;var De=v(oe);{var B=me=>{var Qe=RY();D(me,Qe)},q=me=>{var Qe=NY();D(me,Qe)};W(De,me=>{m[d(Le).name]?me(B):me(q,-1)})}var Y=b(oe,2);j((me,Qe,Ee)=>{ai=Tt(It,1,"dep-row svelte-twakcj",null,ai,{"dep-busy":!!m[d(Le).name]}),Ai(_i,"href",d(Le).url??`https://www.npmjs.com/package/${d(Le).name}`),O(Fe,d(Le).name),O(ee,d(Le).installedVersion??d(Le).version),Q=Tt(N,1,"icon-btn svelte-twakcj",null,Q,me),Ai(N,"title",Qe),Ie=Tt(oe,1,"icon-btn svelte-twakcj",null,Ie,Ee),oe.disabled=!!m[d(Le).name],Ai(oe,"title",d(n)[d(Le).name]?`Update to v${d(n)[d(Le).name].latest}`:"Update to latest"),Y.disabled=!!m[d(Le).name]},[()=>({"icon-btn--pinned":d(s).includes(d(Le).name)}),()=>d(s).includes(d(Le).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!d(n)[d(Le).name]&&!d(s).includes(d(Le).name)})]),U("click",N,()=>$(d(Le).name)),U("click",oe,()=>We(d(Le).name)),U("click",Y,()=>he(d(Le).name)),D(qt,It)}),D(Re,jt)};W(Ni,Re=>{d(t).length===0?Re(Ii):d(x).length===0?Re(ci,1):Re(vi,-1)})}var it=b(ut,2),zt=b(v(it),2),gi=v(zt),Ti=b(gi,2),Zi=v(Ti),Bi=b(zt,2);{var zi=Re=>{var jt=BY();mi(jt,21,()=>d(c),di=>di.name,(di,qt)=>{var Le=WY(),It=v(Le),ai=v(It),pi=v(ai),_i=b(ai,2),Fe=v(_i),X=b(_i,2);{var ee=Ie=>{var De=OY(),B=v(De);j(()=>O(B,d(qt).author)),D(Ie,De)};W(X,Ie=>{d(qt).author&&Ie(ee)})}var de=b(X,2);{var ke=Ie=>{var De=FY(),B=v(De);j(q=>{Ai(De,"title",d(qt).date),O(B,q)},[()=>J(d(qt).date)]),D(Ie,De)};W(de,Ie=>{d(qt).date&&Ie(ke)})}var $e=b(de,2);{var N=Ie=>{var De=HY(),B=v(De);j(()=>O(B,d(qt).description)),D(Ie,De)};W($e,Ie=>{d(qt).description&&Ie(N)})}var Q=b(It,2),oe=v(Q);j(()=>{Ai(ai,"href",d(qt).url??`https://www.npmjs.com/package/${d(qt).name}`),O(pi,d(qt).name),O(Fe,d(qt).version),Q.disabled=!!m[d(qt).name],O(oe,m[d(qt).name]?"Installing…":"Install")}),U("click",Q,()=>ue(d(qt).name)),D(di,Le)}),D(Re,jt)};W(Bi,Re=>{d(c).length>0&&Re(zi)})}var vn=b(Bi,2);{var ln=Re=>{var jt=zY(),di=v(jt);j(()=>O(di,d(w))),D(Re,jt)};W(vn,Re=>{d(w)&&Re(ln)})}var Pi=b(vn,2);{var yn=Re=>{var jt=VY();D(Re,jt)};W(Pi,Re=>{!d(c).length&&!d(w)&&Re(yn)})}j(()=>{O(Mt,d(t).length),kt.disabled=d(r),hi=Tt(Si,0,"svelte-twakcj",null,hi,{spinning:d(r)}),Ti.disabled=d(g),O(Zi,d(g)?"Searching…":"Search")}),U("click",kt,H),ti(Fi,()=>d(i),Re=>y(i,Re)),U("keydown",gi,Re=>Re.key==="Enter"&&ie()),ti(gi,()=>d(a),Re=>y(a,Re)),U("click",Ti,ie),D(o,pt),As()}Ks(["click","keydown"]);var UY=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>'),qY=T('<div class="empty svelte-3itf14">No users found.</div>'),_E=T('<span class="tag svelte-3itf14"> </span>'),mE=T('<span class="tag tag--group svelte-3itf14"> </span>'),GY=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>'),KY=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>'),ZY=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>'),XY=T('<div class="empty svelte-3itf14">No roles found.</div>'),YY=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>'),QY=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>'),JY=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>'),eQ=T('<div class="empty svelte-3itf14">No groups found.</div>'),tQ=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>'),iQ=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>'),nQ=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>'),sQ=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>'),oQ=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>'),rQ=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>'),aQ=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>'),lQ=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>'),cQ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),dQ=T("<option> </option>"),uQ=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>'),hQ=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>'),fQ=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 gQ(o,e){Ns(e,!0);let t=wu(e,"dynsecReady",3,!1),i=M(yi([])),n=M(yi([])),s=M(yi([])),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(""),$=M(!1),H=M(!1),ie=M(""),J=M(""),ue=M(!1),he=M(null),We=M(!1),xe=M("publishClientSend"),rt=M(""),pt=M(!0),ve=M(""),dt=M(!1),gt=M(""),Pt=M(""),fe=M(!1);const Et=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Oe(){var ee,de,ke;try{const[$e,N,Q]=await Promise.allSettled([K7(),Q7(),nq()]);$e.status==="fulfilled"?(y(i,$e.value.users,!0),y(r,"")):y(r,((ee=$e.reason)==null?void 0:ee.message)??"Failed to load users",!0),N.status==="fulfilled"?(y(n,N.value.roles,!0),y(a,"")):y(a,((de=N.reason)==null?void 0:de.message)??"Failed to load roles",!0),Q.status==="fulfilled"?(y(s,Q.value.groups,!0),y(c,"")):y(c,((ke=Q.reason)==null?void 0:ke.message)??"Failed to load groups",!0)}catch{}}ao(()=>{Oe()});async function Te(){y(m,""),y(x,!0);try{await Z7(d(g),d(p)),y(g,""),y(p,""),y(f,!1),await Oe()}catch(ee){y(m,ee.message??"Failed to create user",!0)}finally{y(x,!1)}}async function ut(ee){if(confirm(`Delete user "${ee}"?`))try{await X7(ee),await Oe()}catch(de){y(r,de.message,!0)}}async function Wt(ee){y(E,ee,!0),y(P,""),y(A,""),y(k,!0)}async function Zt(){y(A,""),y($,!0);try{await Y7(d(E),d(P)),y(k,!1)}catch(ee){y(A,ee.message,!0)}finally{y($,!1)}}async function Mt(){y(J,""),y(ue,!0);try{await J7(d(ie)),y(ie,""),y(H,!1),await Oe()}catch(ee){y(J,ee.message??"Failed to create role",!0)}finally{y(ue,!1)}}async function Lt(ee){var de;if(confirm(`Delete role "${ee}"?`))try{await eq(ee),((de=d(he))==null?void 0:de.rolename)===ee&&(y(he,null),y(We,!1)),await Oe()}catch(ke){y(a,ke.message,!0)}}function At(ee){y(he,ee,!0),y(We,!0),y(xe,"publishClientSend"),y(rt,""),y(pt,!0),y(ve,"")}async function kt(){if(d(he)){y(ve,"");try{await tq(d(he).rolename,{acltype:d(xe),topic:d(rt),allow:d(pt)}),y(rt,""),await Oe(),y(he,d(n).find(ee=>ee.rolename===d(he).rolename)??d(he),!0)}catch(ee){y(ve,ee.message,!0)}}}async function Si(ee,de,ke){try{await iq(ee,de,ke),await Oe(),y(he,d(n).find($e=>$e.rolename===ee)??d(he),!0)}catch($e){y(ve,$e.message,!0)}}async function hi(){y(Pt,""),y(fe,!0);try{await sq(d(gt)),y(gt,""),y(dt,!1),await Oe()}catch(ee){y(Pt,ee.message??"Failed to create group",!0)}finally{y(fe,!1)}}async function Di(ee){if(confirm(`Delete group "${ee}"?`))try{await oq(ee),await Oe()}catch(de){y(c,de.message,!0)}}var Fi=fQ(),Ri=Ct(Fi),Ni=v(Ri);{var Ii=ee=>{var de=UY();D(ee,de)};W(Ni,ee=>{t()||ee(Ii)})}var ci=b(Ni,2),vi=v(ci);let it;var zt=b(vi,2);let gi;var Ti=b(zt,2);let Zi;var Bi=b(Ti,2),zi=b(ci,2);{var vn=ee=>{var de=ZY(),ke=v(de),$e=b(v(ke),2),N=b(ke,2);{var Q=B=>{var q=Ul(),Y=v(q);j(()=>O(Y,d(r))),D(B,q)};W(N,B=>{d(r)&&B(Q)})}var oe=b(N,2);{var Ie=B=>{var q=qY();D(B,q)},De=B=>{var q=KY(),Y=b(v(q));mi(Y,21,()=>d(i),Ji,(me,Qe)=>{var Ee=GY(),Se=v(Ee),lt=v(Se),Bt=b(Se);mi(Bt,21,()=>d(Qe).roles??[],Ji,(_e,Be)=>{var at=_E(),nt=v(at);j(()=>O(nt,d(Be).rolename)),D(_e,at)});var St=b(Bt);mi(St,21,()=>d(Qe).groups??[],Ji,(_e,Be)=>{var at=mE(),nt=v(at);j(()=>O(nt,d(Be).groupname)),D(_e,at)});var Dt=b(St),Ft=v(Dt),ne=b(Ft,2);j(()=>O(lt,d(Qe).username)),U("click",Ft,()=>Wt(d(Qe).username)),U("click",ne,()=>ut(d(Qe).username)),D(me,Ee)}),D(B,q)};W(oe,B=>{d(i).length===0?B(Ie):B(De,-1)})}U("click",$e,()=>{y(f,!0),y(m,"")}),D(ee,de)};W(zi,ee=>{d(u)==="users"&&ee(vn)})}var ln=b(zi,2);{var Pi=ee=>{var de=JY(),ke=v(de),$e=b(v(ke),2),N=b(ke,2);{var Q=B=>{var q=Ul(),Y=v(q);j(()=>O(Y,d(a))),D(B,q)};W(N,B=>{d(a)&&B(Q)})}var oe=b(N,2);{var Ie=B=>{var q=XY();D(B,q)},De=B=>{var q=QY(),Y=b(v(q));mi(Y,21,()=>d(n),Ji,(me,Qe)=>{var Ee=YY(),Se=v(Ee),lt=v(Se),Bt=b(Se),St=v(Bt),Dt=b(Bt),Ft=v(Dt),ne=b(Ft,2);j(()=>{var _e;O(lt,d(Qe).rolename),O(St,((_e=d(Qe).acls)==null?void 0:_e.length)??0)}),U("click",Ft,()=>At(d(Qe))),U("click",ne,()=>Lt(d(Qe).rolename)),D(me,Ee)}),D(B,q)};W(oe,B=>{d(n).length===0?B(Ie):B(De,-1)})}U("click",$e,()=>{y(H,!0),y(J,""),y(ie,"")}),D(ee,de)};W(ln,ee=>{d(u)==="roles"&&ee(Pi)})}var yn=b(ln,2);{var Re=ee=>{var de=nQ(),ke=v(de),$e=b(v(ke),2),N=b(ke,2);{var Q=B=>{var q=Ul(),Y=v(q);j(()=>O(Y,d(c))),D(B,q)};W(N,B=>{d(c)&&B(Q)})}var oe=b(N,2);{var Ie=B=>{var q=eQ();D(B,q)},De=B=>{var q=iQ(),Y=b(v(q));mi(Y,21,()=>d(s),Ji,(me,Qe)=>{var Ee=tQ(),Se=v(Ee),lt=v(Se),Bt=b(Se);mi(Bt,21,()=>d(Qe).clients??[],Ji,(ne,_e)=>{var Be=_E(),at=v(Be);j(()=>O(at,d(_e).username)),D(ne,Be)});var St=b(Bt);mi(St,21,()=>d(Qe).roles??[],Ji,(ne,_e)=>{var Be=mE(),at=v(Be);j(()=>O(at,d(_e).rolename)),D(ne,Be)});var Dt=b(St),Ft=v(Dt);j(()=>O(lt,d(Qe).groupname)),U("click",Ft,()=>Di(d(Qe).groupname)),D(me,Ee)}),D(B,q)};W(oe,B=>{d(s).length===0?B(Ie):B(De,-1)})}U("click",$e,()=>{y(dt,!0),y(Pt,""),y(gt,"")}),D(ee,de)};W(yn,ee=>{d(u)==="groups"&&ee(Re)})}var jt=b(Ri,2);{var di=ee=>{var de=sQ(),ke=v(de),$e=b(v(ke),2),N=b(v($e)),Q=b($e,2),oe=b(v(Q)),Ie=v(oe),De=b(Ie,2),B=v(De),q=b(Q,2);{var Y=lt=>{var Bt=Ul(),St=v(Bt);j(()=>O(St,d(m))),D(lt,Bt)};W(q,lt=>{d(m)&<(Y)})}var me=b(q,2),Qe=v(me),Ee=b(Qe,2),Se=v(Ee);j(()=>{Ai(Ie,"type",d(w)?"text":"password"),O(B,d(w)?"Hide":"Show"),Ee.disabled=d(x)||!d(g)||!d(p),O(Se,d(x)?"Creating…":"Create")}),ti(N,()=>d(g),lt=>y(g,lt)),ti(Ie,()=>d(p),lt=>y(p,lt)),U("click",De,()=>y(w,!d(w))),U("click",Qe,()=>y(f,!1)),U("click",Ee,Te),D(ee,de)};W(jt,ee=>{d(f)&&ee(di)})}var qt=b(jt,2);{var Le=ee=>{var de=oQ(),ke=v(de),$e=v(ke),N=b(v($e)),Q=v(N),oe=b($e,2),Ie=b(v(oe)),De=b(oe,2);{var B=Ee=>{var Se=Ul(),lt=v(Se);j(()=>O(lt,d(A))),D(Ee,Se)};W(De,Ee=>{d(A)&&Ee(B)})}var q=b(De,2),Y=v(q),me=b(Y,2),Qe=v(me);j(()=>{O(Q,d(E)),me.disabled=d($)||!d(P),O(Qe,d($)?"Saving…":"Set password")}),ti(Ie,()=>d(P),Ee=>y(P,Ee)),U("click",Y,()=>y(k,!1)),U("click",me,Zt),D(ee,de)};W(qt,ee=>{d(k)&&ee(Le)})}var It=b(qt,2);{var ai=ee=>{var de=rQ(),ke=v(de),$e=b(v(ke),2),N=b(v($e)),Q=b($e,2);{var oe=Y=>{var me=Ul(),Qe=v(me);j(()=>O(Qe,d(J))),D(Y,me)};W(Q,Y=>{d(J)&&Y(oe)})}var Ie=b(Q,2),De=v(Ie),B=b(De,2),q=v(B);j(()=>{B.disabled=d(ue)||!d(ie),O(q,d(ue)?"Creating…":"Create")}),ti(N,()=>d(ie),Y=>y(ie,Y)),U("click",De,()=>y(H,!1)),U("click",B,Mt),D(ee,de)};W(It,ee=>{d(H)&&ee(ai)})}var pi=b(It,2);{var _i=ee=>{var de=uQ(),ke=v(de),$e=v(ke),N=b(v($e)),Q=v(N),oe=b($e,2);{var Ie=Dt=>{var Ft=lQ(),ne=b(v(Ft));mi(ne,21,()=>d(he).acls??[],Ji,(_e,Be)=>{var at=aQ(),nt=v(at),Ye=v(nt),Rt=b(nt),ri=v(Rt),fi=b(Rt),Ci=v(fi),en=b(fi),fn=v(en);j(()=>{O(Ye,d(Be).acltype),O(ri,d(Be).topic),O(Ci,d(Be).allow?"✓":"✗")}),U("click",fn,()=>Si(d(he).rolename,d(Be).acltype,d(Be).topic)),D(_e,at)}),D(Dt,Ft)},De=Dt=>{var Ft=cQ();D(Dt,Ft)};W(oe,Dt=>{var Ft;(((Ft=d(he).acls)==null?void 0:Ft.length)??0)>0?Dt(Ie):Dt(De,-1)})}var B=b(oe,2),q=v(B);mi(q,21,()=>Et,Ji,(Dt,Ft)=>{var ne=dQ(),_e=v(ne),Be={};j(()=>{O(_e,d(Ft)),Be!==(Be=d(Ft))&&(ne.value=(ne.__value=d(Ft))??"")}),D(Dt,ne)});var Y=b(q,2),me=b(Y,2),Qe=v(me),Ee=b(me,2),Se=b(B,2);{var lt=Dt=>{var Ft=Ul(),ne=v(Ft);j(()=>O(ne,d(ve))),D(Dt,Ft)};W(Se,Dt=>{d(ve)&&Dt(lt)})}var Bt=b(Se,2),St=v(Bt);j(()=>{O(Q,d(he).rolename),Ee.disabled=!d(rt)}),Ho(q,()=>d(xe),Dt=>y(xe,Dt)),ti(Y,()=>d(rt),Dt=>y(rt,Dt)),Is(Qe,()=>d(pt),Dt=>y(pt,Dt)),U("click",Ee,kt),U("click",St,()=>y(We,!1)),D(ee,de)};W(pi,ee=>{d(We)&&d(he)&&ee(_i)})}var Fe=b(pi,2);{var X=ee=>{var de=hQ(),ke=v(de),$e=b(v(ke),2),N=b(v($e)),Q=b($e,2);{var oe=Y=>{var me=Ul(),Qe=v(me);j(()=>O(Qe,d(Pt))),D(Y,me)};W(Q,Y=>{d(Pt)&&Y(oe)})}var Ie=b(Q,2),De=v(Ie),B=b(De,2),q=v(B);j(()=>{B.disabled=d(fe)||!d(gt),O(q,d(fe)?"Creating…":"Create")}),ti(N,()=>d(gt),Y=>y(gt,Y)),U("click",De,()=>y(dt,!1)),U("click",B,hi),D(ee,de)};W(Fe,ee=>{d(dt)&&ee(X)})}j(()=>{it=Tt(vi,1,"svelte-3itf14",null,it,{active:d(u)==="users"}),gi=Tt(zt,1,"svelte-3itf14",null,gi,{active:d(u)==="roles"}),Zi=Tt(Ti,1,"svelte-3itf14",null,Zi,{active:d(u)==="groups"})}),U("click",vi,()=>y(u,"users")),U("click",zt,()=>y(u,"roles")),U("click",Ti,()=>y(u,"groups")),U("click",Bi,Oe),D(o,Fi),As()}Ks(["click"]);var vE=T('<div class="err svelte-9i68x"> </div>'),pQ=T('<div class="ok svelte-9i68x">Saved.</div>'),_Q=T('<div class="reload-msg svelte-9i68x"> </div>'),mQ=T('<div class="loading svelte-9i68x">Loading…</div>'),vQ=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>'),bQ=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>'),yQ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),wQ=T('<div class="cards svelte-9i68x"><!> <!></div>'),SQ=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 CQ(o,e){Ns(e,!0);let t=M(null),i=M(""),n=M(!1),s=M(""),r=M(!1),a=M(!1),c=M(""),u=M(yi([])),f=M(null);ao(()=>{g()});async function g(){try{y(t,await z7(),!0),y(u,JSON.parse(JSON.stringify(d(t).listeners)),!0),y(f,d(t).checksum,!0),y(i,"")}catch(Te){y(i,Te.message??"Failed to load broker config",!0)}}function p(){y(u,[...d(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(Te){y(u,d(u).filter((ut,Wt)=>Wt!==Te),!0)}async function m(){if(d(t)){y(n,!0),y(s,""),y(r,!1);try{await V7({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(Te){y(s,Te.message??"Save failed",!0)}finally{y(n,!1)}}}async function x(){y(a,!0),y(c,"");try{const Te=await j7();y(c,Te.stderr||Te.stdout||"Reloaded",!0)}catch(Te){y(c,"Error: "+(Te.message??"reload failed"))}finally{y(a,!1)}}function k(Te){var ut,Wt,Zt,Mt;return!!((ut=Te.tls)!=null&&ut.certfile||(Wt=Te.tls)!=null&&Wt.keyfile||(Zt=Te.tls)!=null&&Zt.capath||(Mt=Te.tls)!=null&&Mt.cafile)}function E(Te,ut){ut||(Te.tls={}),y(u,[...d(u)],!0)}var P=SQ(),A=v(P),$=b(v(A),2),H=v($),ie=b(H,2),J=v(ie),ue=b(ie,2),he=v(ue),We=b(A,2);{var xe=Te=>{var ut=vE(),Wt=v(ut);j(()=>O(Wt,d(i))),D(Te,ut)};W(We,Te=>{d(i)&&Te(xe)})}var rt=b(We,2);{var pt=Te=>{var ut=vE(),Wt=v(ut);j(()=>O(Wt,d(s))),D(Te,ut)};W(rt,Te=>{d(s)&&Te(pt)})}var ve=b(rt,2);{var dt=Te=>{var ut=pQ();D(Te,ut)};W(ve,Te=>{d(r)&&Te(dt)})}var gt=b(ve,2);{var Pt=Te=>{var ut=_Q(),Wt=v(ut);j(()=>O(Wt,d(c))),D(Te,ut)};W(gt,Te=>{d(c)&&Te(Pt)})}var fe=b(gt,2);{var Et=Te=>{var ut=mQ();D(Te,ut)},Oe=Te=>{var ut=wQ(),Wt=v(ut);mi(Wt,17,()=>d(u),Ji,(Lt,At,kt)=>{var Si=bQ(),hi=v(Si),Di=v(hi),Fi=v(Di),Ri=b(Di,2),Ni=b(hi,2),Ii=v(Ni),ci=b(v(Ii)),vi=b(Ii,2),it=b(v(vi)),zt=v(it);zt.value=zt.__value="mqtt";var gi=b(zt);gi.value=gi.__value="websockets";var Ti=b(vi,2),Zi=b(v(Ti)),Bi=b(Ni,2),zi=v(Bi),vn=v(zi),ln=b(Bi,2);{var Pi=Re=>{var jt=vQ(),di=v(jt),qt=v(di),Le=b(v(qt)),It=b(qt,2),ai=b(v(It)),pi=b(di,2),_i=v(pi),Fe=b(v(_i)),X=b(_i,2),ee=b(v(X)),de=b(pi,2),ke=v(de),$e=b(v(ke)),N=b(ke,2),Q=b(v(N)),oe=v(Q);oe.value=oe.__value="";var Ie=b(oe);Ie.value=Ie.__value="tlsv1.3";var De=b(Ie);De.value=De.__value="tlsv1.2";var B=b(de,2),q=v(B),Y=v(q),me=b(q,2),Qe=v(me);ti(Le,()=>d(At).tls.certfile,Ee=>d(At).tls.certfile=Ee),ti(ai,()=>d(At).tls.keyfile,Ee=>d(At).tls.keyfile=Ee),ti(Fe,()=>d(At).tls.cafile,Ee=>d(At).tls.cafile=Ee),ti(ee,()=>d(At).tls.capath,Ee=>d(At).tls.capath=Ee),ti($e,()=>d(At).tls.crlfile,Ee=>d(At).tls.crlfile=Ee),Ho(Q,()=>d(At).tls.tls_version,Ee=>d(At).tls.tls_version=Ee),Is(Y,()=>d(At).tls.require_certificate,Ee=>d(At).tls.require_certificate=Ee),Is(Qe,()=>d(At).tls.use_identity_as_username,Ee=>d(At).tls.use_identity_as_username=Ee),D(Re,jt)},yn=wt(()=>k(d(At)));W(ln,Re=>{d(yn)&&Re(Pi)})}j(Re=>{O(Fi,`Port ${d(At).port??""}`),Eg(vn,Re)},[()=>k(d(At))]),U("click",Ri,()=>w(kt)),ti(ci,()=>d(At).port,Re=>d(At).port=Re),Ho(it,()=>d(At).protocol,Re=>d(At).protocol=Re),ti(Zi,()=>d(At).bindAddress,Re=>d(At).bindAddress=Re),U("change",vn,Re=>E(d(At),Re.target.checked)),D(Lt,Si)});var Zt=b(Wt,2);{var Mt=Lt=>{var At=yQ();D(Lt,At)};W(Zt,Lt=>{d(u).length===0&&Lt(Mt)})}D(Te,ut)};W(fe,Te=>{d(t)===null&&!d(i)?Te(Et):Te(Oe,-1)})}j(()=>{ie.disabled=d(n),O(J,d(n)?"Saving…":"Save"),ue.disabled=d(a),O(he,d(a)?"Reloading…":"Apply & Reload")}),U("click",H,p),U("click",ie,m),U("click",ue,x),D(o,P),As()}Ks(["click","change"]);var ph=T('<div class="err svelte-9auejo"> </div>'),xQ=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>'),kQ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),LQ=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>'),IQ=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>'),DQ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),EQ=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>'),TQ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),PQ=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>'),MQ=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>'),RQ=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>'),NQ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),AQ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),OQ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),FQ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),HQ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),WQ=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),BQ=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>'),zQ=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>'),VQ=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>'),jQ=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>'),$Q=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>'),UQ=T('<button class="btn-primary svelte-9auejo"> </button>'),qQ=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>'),GQ=T('<label class="svelte-9auejo">Common Name (device ID)<input placeholder="esp32-bedroom" 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),KQ=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),ZQ=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>'),XQ=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>'),YQ=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 QQ(o,e){Ns(e,!0);let t=M("ca"),i=M(null),n=M(null),s=M(yi([])),r=M(yi([])),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),$=M(!1),H=M(""),ie=M(365),J=M(!1),ue=M(""),he=M(null),We=M(!1),xe=M(""),rt=M(!1),pt=M(""),ve=M("");async function dt(){try{const[Le,It,ai,pi]=await Promise.allSettled([rq(),lq(),dq(),fq()]);Le.status==="fulfilled"&&y(i,Le.value.ca,!0),It.status==="fulfilled"&&y(n,It.value.server,!0),ai.status==="fulfilled"&&y(s,ai.value.certs,!0),pi.status==="fulfilled"&&y(r,pi.value.certs,!0),y(a,"")}catch(Le){y(a,Le.message,!0)}}ao(()=>{dt()});async function gt(){y(p,""),y(g,!0);try{await aq({cn:d(u),days:d(f)}),y(c,!1),await dt()}catch(Le){y(p,Le.message,!0)}finally{y(g,!1)}}async function Pt(){y(P,""),y(E,!0),y(A,null);try{const Le=d(x).split(",").map(ai=>ai.trim()).filter(Boolean),It=await cq({cn:d(m),san:Le,days:d(k)});y(A,It,!0),await dt()}catch(Le){y(P,Le.message,!0)}finally{y(E,!1)}}async function fe(){y(ue,""),y(J,!0),y(he,null);try{const Le=await uq({cn:d(H),days:d(ie)});y(he,Le,!0),y(H,""),await dt()}catch(Le){y(ue,Le.message,!0)}finally{y(J,!1)}}async function Et(Le){if(confirm(`Revoke certificate for "${Le.cn}" (serial ${Le.serial})?`))try{await hq(Le.serial),await dt()}catch(It){y(ve,It.message,!0)}}async function Oe(){y(pt,""),y(rt,!0);try{await gq(d(xe)),y(xe,""),y(We,!1),await dt()}catch(Le){y(pt,Le.message,!0)}finally{y(rt,!1)}}async function Te(Le){if(confirm("Remove this trusted CA cert?"))try{await pq(Le),await dt()}catch(It){y(ve,It.message,!0)}}function ut(Le){const It=new Date(Le).getTime()-Date.now();return It<0?"expired":It<30*864e5?"expiring":""}function Wt(Le){return new Date(Le).toLocaleDateString()}var Zt=YQ(),Mt=Ct(Zt),Lt=v(Mt),At=v(Lt);let kt;var Si=b(At,2);let hi;var Di=b(Si,2);let Fi;var Ri=b(Di,2);let Ni;var Ii=b(Ri,2),ci=b(Lt,2);{var vi=Le=>{var It=ph(),ai=v(It);j(()=>O(ai,d(a))),D(Le,It)};W(ci,Le=>{d(a)&&Le(vi)})}var it=b(ci,2);{var zt=Le=>{var It=ph(),ai=v(It);j(()=>O(ai,d(ve))),D(Le,It)};W(it,Le=>{d(ve)&&Le(zt)})}var gi=b(it,2);{var Ti=Le=>{var It=LQ(),ai=v(It),pi=b(v(ai),2),_i=v(pi),Fe=b(ai,2);{var X=de=>{var ke=xQ(),$e=v(ke),N=b(v($e)),Q=v(N),oe=b(N,3),Ie=v(oe),De=b(oe,3),B=v(De),q=b($e,2),Y=v(q);j((me,Qe,Ee)=>{O(Q,d(i).cn),O(Ie,d(i).fingerprint),Tt(De,1,me,"svelte-9auejo"),O(B,Qe),Ai(Y,"href",`data:application/x-pem-file;charset=utf-8,${Ee??""}`)},[()=>ud(ut(d(i).expires)),()=>Wt(d(i).expires),()=>encodeURIComponent(d(i).crt)]),D(de,ke)},ee=de=>{var ke=kQ();D(de,ke)};W(Fe,de=>{d(i)?de(X):de(ee,-1)})}j(()=>O(_i,d(i)?"Regenerate CA":"Generate CA")),U("click",pi,()=>{y(c,!0),y(p,"")}),D(Le,It)},Zi=Le=>{var It=EQ(),ai=v(It),pi=b(v(ai),2),_i=v(pi),Fe=b(ai,2);{var X=de=>{var ke=IQ(),$e=v(ke),N=b(v($e)),Q=v(N),oe=b(N,3),Ie=v(oe),De=b(oe,3),B=v(De);j((q,Y)=>{O(Q,d(n).cn),O(Ie,d(n).fingerprint),Tt(De,1,q,"svelte-9auejo"),O(B,Y)},[()=>ud(ut(d(n).expires)),()=>Wt(d(n).expires)]),D(de,ke)},ee=de=>{var ke=DQ();D(de,ke)};W(Fe,de=>{d(n)?de(X):de(ee,-1)})}j(()=>O(_i,d(n)?"Regenerate":"Generate server cert")),U("click",pi,()=>{y(w,!0),y(P,""),y(A,null)}),D(Le,It)},Bi=Le=>{var It=RQ(),ai=v(It),pi=b(v(ai),2),_i=b(ai,2);{var Fe=ee=>{var de=TQ();D(ee,de)},X=ee=>{var de=MQ(),ke=b(v(de));mi(ke,21,()=>d(r),Ji,($e,N)=>{var Q=PQ(),oe=v(Q),Ie=v(oe),De=b(oe),B=v(De),q=b(De),Y=v(q),me=b(q),Qe=v(me);j((Ee,Se,lt)=>{O(Ie,d(N).cn),O(B,`${Ee??""}…`),Tt(q,1,Se,"svelte-9auejo"),O(Y,lt)},[()=>d(N).fingerprint.slice(0,29),()=>ud(ut(d(N).expires)),()=>Wt(d(N).expires)]),U("click",Qe,()=>Te(d(N).fingerprint)),D($e,Q)}),D(ee,de)};W(_i,ee=>{d(r).length===0?ee(Fe):ee(X,-1)})}U("click",pi,()=>{y(We,!0),y(pt,""),y(xe,"")}),D(Le,It)},zi=Le=>{var It=VQ(),ai=v(It),pi=b(v(ai),2),_i=b(ai,2);{var Fe=ee=>{var de=NQ();D(ee,de)},X=ee=>{var de=zQ(),ke=b(v(de));mi(ke,21,()=>d(s),Ji,($e,N)=>{var Q=BQ(),oe=v(Q),Ie=v(oe),De=b(oe),B=v(De),q=b(De),Y=v(q),me=b(q),Qe=v(me),Ee=b(me),Se=v(Ee);{var lt=nt=>{var Ye=AQ();D(nt,Ye)},Bt=nt=>{var Ye=OQ();D(nt,Ye)},St=wt(()=>ut(d(N).expires)==="expired"),Dt=nt=>{var Ye=FQ();D(nt,Ye)},Ft=wt(()=>ut(d(N).expires)==="expiring"),ne=nt=>{var Ye=HQ();D(nt,Ye)};W(Se,nt=>{d(N).revoked?nt(lt):d(St)?nt(Bt,1):d(Ft)?nt(Dt,2):nt(ne,-1)})}var _e=b(Ee),Be=v(_e);{var at=nt=>{var Ye=WQ(),Rt=Ct(Ye),ri=b(Rt,2),fi=b(ri,2),Ci=b(fi,2);j((en,fn,cn)=>{Ai(Rt,"href",en),Ai(Rt,"download",`${d(N).cn??""}.p12`),Ai(ri,"href",fn),Ai(ri,"download",`${d(N).cn??""}.crt`),Ai(fi,"href",cn),Ai(fi,"download",`${d(N).cn??""}.key`)},[()=>Jc(d(N).serial,"p12"),()=>Jc(d(N).serial,"crt"),()=>Jc(d(N).serial,"key")]),U("click",Ci,()=>Et(d(N))),D(nt,Ye)};W(Be,nt=>{d(N).revoked||nt(at)})}j((nt,Ye,Rt)=>{O(Ie,d(N).cn),O(B,d(N).serial),O(Y,nt),Tt(me,1,Ye,"svelte-9auejo"),O(Qe,Rt)},[()=>new Date(d(N).issued).toLocaleDateString(),()=>ud(d(N).revoked?"":ut(d(N).expires)),()=>Wt(d(N).expires)]),D($e,Q)}),D(ee,de)};W(_i,ee=>{d(s).length===0?ee(Fe):ee(X,-1)})}U("click",pi,()=>{y($,!0),y(ue,""),y(he,null),y(H,""),y(ie,365)}),D(Le,It)};W(gi,Le=>{d(t)==="ca"?Le(Ti):d(t)==="server"?Le(Zi,1):d(t)==="trusted"?Le(Bi,2):d(t)==="clients"&&Le(zi,3)})}var vn=b(Mt,2);{var ln=Le=>{var It=jQ(),ai=v(It),pi=b(v(ai),2),_i=b(v(pi)),Fe=b(pi,2),X=b(v(Fe)),ee=b(Fe,2);{var de=oe=>{var Ie=ph(),De=v(Ie);j(()=>O(De,d(p))),D(oe,Ie)};W(ee,oe=>{d(p)&&oe(de)})}var ke=b(ee,2),$e=v(ke),N=b($e,2),Q=v(N);j(()=>{N.disabled=d(g)||!d(u),O(Q,d(g)?"Generating…":"Generate")}),ti(_i,()=>d(u),oe=>y(u,oe)),ti(X,()=>d(f),oe=>y(f,oe)),U("click",$e,()=>y(c,!1)),U("click",N,gt),D(Le,It)};W(vn,Le=>{d(c)&&Le(ln)})}var Pi=b(vn,2);{var yn=Le=>{var It=qQ(),ai=v(It),pi=b(v(ai),2),_i=b(v(pi)),Fe=b(pi,2),X=b(v(Fe)),ee=b(Fe,2),de=b(v(ee)),ke=b(ee,2);{var $e=q=>{var Y=ph(),me=v(Y);j(()=>O(me,d(P))),D(q,Y)};W(ke,q=>{d(P)&&q($e)})}var N=b(ke,2);{var Q=q=>{var Y=$Q(),me=b(v(Y),2),Qe=b(v(me)),Ee=v(Qe),Se=b(Qe,3),lt=v(Se),Bt=b(Se,3),St=v(Bt);j(()=>{O(Ee,d(A).certPath),O(lt,d(A).keyPath),O(St,d(A).fingerprint)}),D(q,Y)};W(N,q=>{d(A)&&q(Q)})}var oe=b(N,2),Ie=v(oe),De=b(Ie,2);{var B=q=>{var Y=UQ(),me=v(Y);j(()=>{Y.disabled=d(E)||!d(m),O(me,d(E)?"Generating…":"Generate")}),U("click",Y,Pt),D(q,Y)};W(De,q=>{d(A)||q(B)})}ti(_i,()=>d(m),q=>y(m,q)),ti(X,()=>d(x),q=>y(x,q)),ti(de,()=>d(k),q=>y(k,q)),U("click",Ie,()=>y(w,!1)),D(Le,It)};W(Pi,Le=>{d(w)&&Le(yn)})}var Re=b(Pi,2);{var jt=Le=>{var It=ZQ(),ai=v(It),pi=b(v(ai),2);{var _i=X=>{var ee=GQ(),de=Ct(ee),ke=b(v(de)),$e=b(de,2),N=b(v($e)),Q=b($e,2);{var oe=Y=>{var me=ph(),Qe=v(me);j(()=>O(Qe,d(ue))),D(Y,me)};W(Q,Y=>{d(ue)&&Y(oe)})}var Ie=b(Q,2),De=v(Ie),B=b(De,2),q=v(B);j(()=>{B.disabled=d(J)||!d(H),O(q,d(J)?"Issuing…":"Issue")}),ti(ke,()=>d(H),Y=>y(H,Y)),ti(N,()=>d(ie),Y=>y(ie,Y)),U("click",De,()=>y($,!1)),U("click",B,fe),D(X,ee)},Fe=X=>{var ee=KQ(),de=Ct(ee),ke=v(de),$e=b(v(ke)),N=v($e),Q=b(ke,2),oe=b(v(Q)),Ie=v(oe),De=b(oe,3),B=v(De),q=b(De,3),Y=v(q),me=b(q,4),Qe=v(me),Ee=v(Qe),Se=b(Q,2),lt=v(Se),Bt=b(lt,2),St=b(Bt,2),Dt=b(St,2),Ft=b(de,2),ne=v(Ft);j((_e,Be,at,nt,Ye)=>{O(N,d(he).cn),O(Ie,d(he).serial),O(B,d(he).fingerprint),O(Y,_e),O(Ee,d(he).passphrase),Ai(lt,"href",Be),Ai(lt,"download",`${d(he).cn??""}.p12`),Ai(Bt,"href",at),Ai(Bt,"download",`${d(he).cn??""}.crt`),Ai(St,"href",nt),Ai(St,"download",`${d(he).cn??""}.key`),Ai(Dt,"href",Ye)},[()=>Wt(d(he).expires),()=>Jc(d(he).serial,"p12"),()=>Jc(d(he).serial,"crt"),()=>Jc(d(he).serial,"key"),()=>Jc(d(he).serial,"ca")]),U("click",ne,()=>y($,!1)),D(X,ee)};W(pi,X=>{d(he)?X(Fe,-1):X(_i)})}D(Le,It)};W(Re,Le=>{d($)&&Le(jt)})}var di=b(Re,2);{var qt=Le=>{var It=XQ(),ai=v(It),pi=b(v(ai),2),_i=b(v(pi)),Fe=b(pi,2);{var X=N=>{var Q=ph(),oe=v(Q);j(()=>O(oe,d(pt))),D(N,Q)};W(Fe,N=>{d(pt)&&N(X)})}var ee=b(Fe,2),de=v(ee),ke=b(de,2),$e=v(ke);j(()=>{ke.disabled=d(rt)||!d(xe),O($e,d(rt)?"Adding…":"Add")}),ti(_i,()=>d(xe),N=>y(xe,N)),U("click",de,()=>y(We,!1)),U("click",ke,Oe),D(Le,It)};W(di,Le=>{d(We)&&Le(qt)})}j(()=>{kt=Tt(At,1,"svelte-9auejo",null,kt,{active:d(t)==="ca"}),hi=Tt(Si,1,"svelte-9auejo",null,hi,{active:d(t)==="server"}),Fi=Tt(Di,1,"svelte-9auejo",null,Fi,{active:d(t)==="trusted"}),Ni=Tt(Ri,1,"svelte-9auejo",null,Ni,{active:d(t)==="clients"})}),U("click",At,()=>y(t,"ca")),U("click",Si,()=>y(t,"server")),U("click",Di,()=>y(t,"trusted")),U("click",Ri,()=>y(t,"clients")),U("click",Ii,dt),D(o,Zt),As()}Ks(["click"]);var _S=T('<div class="err svelte-17yczfe"> </div>'),JQ=T('<div class="ok svelte-17yczfe">Saved.</div>'),eJ=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>'),tJ=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),iJ=T('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),nJ=T("<span> </span>"),sJ=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 oJ(o,e){Ns(e,!0);let t=M(yi({})),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(yi({}));ao(async()=>{try{const[it,zt,gi]=await Promise.all([Dl(),UN(),fetch("/she/broker/ssh/pubkey").then(Zi=>Zi.json()).catch(()=>({publicKey:null}))]);y(w,it,!0),zt.sshKeyDefault&&y(a,zt.sshKeyDefault,!0);const Ti=d(w).broker??{};y(t,Ti.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(it){y(i,it.message,!0)}});async function m(){y(n,!0),y(r,""),y(s,!1);try{const it=d(w).broker??{},zt={...d(w),broker:{...it,ssh:d(t)}};await Xp(zt),y(s,!0),setTimeout(()=>y(s,!1),3e3)}catch(it){y(r,it.message,!0)}finally{y(n,!1)}}async function x(){y(u,!0),y(f,"");try{const it=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),zt=await it.json();if(!it.ok)throw new Error(zt.error??it.statusText);y(c,zt.publicKey,!0)}catch(it){y(f,it.message,!0)}finally{y(u,!1)}}async function k(){y(g,!0),y(p,"");try{const it=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),zt=await it.json();if(!it.ok)throw new Error(zt.error??it.statusText);y(p,zt.ok?"✓ Connection successful":"✗ "+(zt.error??"Failed"),!0)}catch(it){y(p,"✗ "+it.message)}finally{y(g,!1)}}function E(it){navigator.clipboard.writeText(it).catch(()=>{})}const P=wt(()=>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=sJ(),$=v(A);{var H=it=>{var zt=_S(),gi=v(zt);j(()=>O(gi,d(i))),D(it,zt)};W($,it=>{d(i)&&it(H)})}var ie=b($,2),J=b(v(ie),4),ue=v(J),he=b(v(ue)),We=b(ue,2),xe=b(v(We)),rt=b(We,2),pt=b(v(rt)),ve=b(rt,2),dt=b(v(ve)),gt=b(J,2);{var Pt=it=>{var zt=_S(),gi=v(zt);j(()=>O(gi,d(r))),D(it,zt)};W(gt,it=>{d(r)&&it(Pt)})}var fe=b(gt,2);{var Et=it=>{var zt=JQ();D(it,zt)};W(fe,it=>{d(s)&&it(Et)})}var Oe=b(fe,2),Te=v(Oe),ut=v(Te),Wt=b(ie,2),Zt=b(v(Wt),2),Mt=b(v(Zt)),Lt=v(Mt),At=b(Zt,2);{var kt=it=>{var zt=tJ(),gi=Ct(zt),Ti=b(v(gi)),Zi=v(Ti),Bi=b(Zi,2),zi=b(gi,2);{var vn=Re=>{var jt=eJ(),di=b(v(jt)),qt=v(di),Le=b(qt,2);j(()=>UL(qt,d(P))),U("click",Le,()=>E(d(P))),D(Re,jt)};W(zi,Re=>{d(P)&&Re(vn)})}var ln=b(zi,2),Pi=v(ln),yn=v(Pi);j(()=>{UL(Zi,d(c)),Pi.disabled=d(u),O(yn,d(u)?"Generating…":"Regenerate keypair")}),U("click",Bi,()=>E(d(c))),U("click",Pi,x),D(it,zt)},Si=it=>{var zt=iJ(),gi=v(zt),Ti=v(gi);j(()=>{gi.disabled=d(u),O(Ti,d(u)?"Generating…":"Generate keypair")}),U("click",gi,x),D(it,zt)};W(At,it=>{d(c)?it(kt):it(Si,-1)})}var hi=b(At,2);{var Di=it=>{var zt=_S(),gi=v(zt);j(()=>O(gi,d(f))),D(it,zt)};W(hi,it=>{d(f)&&it(Di)})}var Fi=b(Wt,2),Ri=b(v(Fi),2),Ni=v(Ri),Ii=v(Ni),ci=b(Ni,2);{var vi=it=>{var zt=nJ();let gi;var Ti=v(zt);j(Zi=>{gi=Tt(zt,1,"test-result svelte-17yczfe",null,gi,Zi),O(Ti,d(p))},[()=>({ok:d(p).startsWith("✓"),fail:d(p).startsWith("✗")})]),D(it,zt)};W(ci,it=>{d(p)&&it(vi)})}j(()=>{Ai(dt,"placeholder",d(a)),Te.disabled=d(n),O(ut,d(n)?"Saving…":"Save"),O(Lt,d(t).identityFile||d(a)),Ni.disabled=d(g)||!d(t).host,O(Ii,d(g)?"Testing…":"Test SSH connection")}),ti(he,()=>d(t).host,it=>d(t).host=it),ti(xe,()=>d(t).port,it=>d(t).port=it),ti(pt,()=>d(t).user,it=>d(t).user=it),ti(dt,()=>d(t).identityFile,it=>d(t).identityFile=it),U("click",Te,m),U("click",Ni,k),D(o,A),As()}Ks(["click"]);var rJ=T('<div class="err svelte-d31be1"> </div>'),aJ=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>'),lJ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),cJ=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>'),dJ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),uJ=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>`),hJ=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>'),fJ=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>'),gJ=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 pJ(o,e){Ns(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(ve){y(i,ve.message,!0)}finally{y(n,!1)}}async function x(){y(n,!0),y(i,"");try{const ve=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)})}),dt=await ve.json();if(!ve.ok||!dt.ok)throw new Error(dt.error??"Bootstrap failed");y(c,dt,!0);const gt=await Dl(),Pt=gt.broker??{};await Xp({...gt,broker:{...Pt,dynsec:{adminUsername:dt.adminUsername,adminPassword:dt.adminPassword}}}),await q7().catch(()=>{}),y(t,"restart")}catch(ve){y(i,ve.message,!0)}finally{y(n,!1)}}async function k(){y(f,!0),y(i,"");try{await $7(),await new Promise(ve=>setTimeout(ve,2e3)),y(u,!0),y(t,"done")}catch(ve){y(i,ve.message,!0)}finally{y(f,!1)}}async function E(){y(w,!0),y(i,"");try{const ve=await Dl(),dt=ve.broker??{};await Xp({...ve,broker:{...dt,dynsec:{adminUsername:d(g),adminPassword:d(p)}}}),y(t,"done")}catch(ve){y(i,ve.message,!0)}finally{y(w,!1)}}var P=gJ(),A=v(P),$=b(v(A),2),H=b(A,2);{var ie=ve=>{var dt=rJ(),gt=v(dt);j(()=>O(gt,d(i))),D(ve,dt)};W(H,ve=>{d(i)&&ve(ie)})}var J=b(H,2);{var ue=ve=>{var dt=aJ(),gt=b(v(dt),6),Pt=v(gt);j(()=>Pt.disabled=d(n)),U("click",Pt,()=>{y(t,"probe"),m()}),D(ve,dt)},he=ve=>{var dt=lJ(),gt=v(dt),Pt=v(gt);j(()=>O(Pt,d(n)?"Probing dynsec…":"Checking dynsec status…")),D(ve,dt)},We=ve=>{var dt=cJ(),gt=b(v(dt),2),Pt=b(v(gt)),fe=b(gt,2),Et=b(v(fe)),Oe=b(fe,2),Te=b(v(Oe)),ut=b(Oe,2),Wt=v(ut),Zt=v(Wt);j(()=>{Wt.disabled=d(n)||!d(s),O(Zt,d(n)?"Bootstrapping…":"Bootstrap dynsec")}),ti(Pt,()=>d(s),Mt=>y(s,Mt)),ti(Et,()=>d(r),Mt=>y(r,Mt)),ti(Te,()=>d(a),Mt=>y(a,Mt)),U("click",Wt,x),D(ve,dt)},xe=ve=>{var dt=uJ(),gt=b(v(dt),2),Pt=b(v(gt),3),fe=v(Pt),Et=b(gt,4),Oe=v(Et),Te=v(Oe),ut=b(Oe,2),Wt=b(Et,2);{var Zt=Mt=>{var Lt=dJ();D(Mt,Lt)};W(Wt,Mt=>{d(f)&&Mt(Zt)})}j(()=>{O(fe,d(c).confFilePath),Oe.disabled=d(f),O(Te,d(f)?"Restarting…":"Restart mosquitto now")}),U("click",Oe,k),U("click",ut,()=>{y(t,"done")}),D(ve,dt)},rt=ve=>{var dt=hJ(),gt=b(v(dt),4),Pt=v(gt);U("click",Pt,function(...fe){var Et;(Et=e.onDone)==null||Et.apply(this,fe)}),D(ve,dt)},pt=ve=>{var dt=fJ(),gt=b(v(dt),2),Pt=b(v(gt)),fe=b(gt,2),Et=b(v(fe)),Oe=b(fe,2),Te=v(Oe),ut=b(Te,2),Wt=v(ut);j(()=>{ut.disabled=d(w)||!d(g)||!d(p),O(Wt,d(w)?"Saving…":"Save credentials")}),ti(Pt,()=>d(g),Zt=>y(g,Zt)),ti(Et,()=>d(p),Zt=>y(p,Zt)),U("click",Te,()=>y(t,"intro")),U("click",ut,E),D(ve,dt)};W(J,ve=>{d(t)==="intro"?ve(ue):d(t)==="probe"?ve(he,1):d(t)==="config"?ve(We,2):d(t)==="restart"&&d(c)?ve(xe,3):d(t)==="done"?ve(rt,4):d(t)==="manual"&&ve(pt,5)})}U("click",$,()=>y(t,"manual")),D(o,P),As()}Ks(["click"]);var _J=T('<div class="loading svelte-zeztkb">Loading…</div>'),mJ=T('<div class="error-banner svelte-zeztkb"> </div>'),vJ=T('<button class="deactivate-btn svelte-zeztkb"> </button>'),bJ=T('<div class="error-inline svelte-zeztkb"> </div>'),yJ=T('<div class="status-badge ok svelte-zeztkb">Connected</div>'),wJ=T('<button class="diag-btn svelte-zeztkb"> </button>'),bE=T('<p class="diag-issue svelte-zeztkb"> </p>'),SJ=T('<p class="diag-ok-msg svelte-zeztkb">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),CJ=T('<p class="diag-row svelte-zeztkb"><span class="svelte-zeztkb">File</span><code class="svelte-zeztkb"> </code></p> <p class="diag-row svelte-zeztkb"><span class="svelte-zeztkb">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zeztkb"><span class="svelte-zeztkb">Has admin role</span><span> </span></p> <p class="diag-row svelte-zeztkb"><span class="svelte-zeztkb">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),xJ=T('<div><!></div> <button class="diag-btn svelte-zeztkb" style="margin-top:6px"> </button>',1),yE=T('<button class="wizard-btn svelte-zeztkb">Run Setup Wizard</button>'),kJ=T('<div class="status-badge warn svelte-zeztkb">Connected — plugin not responding</div> <p class="hint svelte-zeztkb">The MQTT connection is up but the dynamic-security plugin is not responding.</p> <!> <!>',1),LJ=T('<div class="status-badge err svelte-zeztkb">Disconnected</div>'),IJ=T('<div class="status-badge warn svelte-zeztkb">Not configured</div> <p class="hint svelte-zeztkb">Set <code class="svelte-zeztkb">broker.dynsec.adminUsername</code> and <code class="svelte-zeztkb">broker.dynsec.adminPassword</code> in Config to enable dynsec management.</p> <!>',1),DJ=T('<div style="margin-top: 20px;"><!></div>'),EJ=T('<div class="status-grid svelte-zeztkb"><div class="status-card svelte-zeztkb"><div class="card-header svelte-zeztkb"><h3 class="svelte-zeztkb">Dynamic Security</h3> <!></div> <!> <!></div> <div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Broker</h3> <dl class="svelte-zeztkb"><dt class="svelte-zeztkb">Version</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Uptime</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients connected</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients total</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages received</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages sent</dt> <dd class="svelte-zeztkb"> </dd></dl></div></div> <!>',1),TJ=T('<div class="tab-content svelte-zeztkb"><!></div>'),PJ=T('<div class="broker-page svelte-zeztkb"><div class="sub-nav svelte-zeztkb"><button>Status</button> <button>Users & Roles</button> <button>Listeners</button> <button>Certificates</button> <button>SSH / Remote</button></div> <!></div>');function MJ(o,e){Ns(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(yi(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 UN(),!0),y(f,"")}catch(fe){y(f,fe.message??"Failed to load broker status",!0)}finally{y(g,!1)}}ao(()=>{p();const fe=setInterval(p,1e4);return()=>clearInterval(fe)});async function w(){y(s,!0),y(r,null);try{y(r,await G7(),!0)}catch(fe){y(r,{ok:!1,dynSecPath:"",issues:[fe.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 U7(),await p()}catch(fe){y(n,fe.message??"Deactivate failed",!0)}finally{y(i,!1)}}}function x(fe){var Oe;if(!((Oe=d(u))!=null&&Oe.sys))return"—";const Et=d(u).sys[fe];return Et?String(Et.val??"—"):"—"}var k=PJ(),E=v(k),P=v(E);let A;var $=b(P,2);let H;var ie=b($,2);let J;var ue=b(ie,2);let he;var We=b(ue,2);let xe;var rt=b(E,2);{var pt=fe=>{var Et=TJ(),Oe=v(Et);{var Te=Zt=>{var Mt=_J();D(Zt,Mt)},ut=Zt=>{var Mt=mJ(),Lt=v(Mt);j(()=>O(Lt,d(f))),D(Zt,Mt)},Wt=Zt=>{var Mt=EJ(),Lt=Ct(Mt),At=v(Lt),kt=v(At),Si=b(v(kt),2);{var hi=qt=>{var Le=vJ(),It=v(Le);j(()=>{Le.disabled=d(i),O(It,d(i)?"Deactivating…":"Deactivate")}),U("click",Le,m),D(qt,Le)};W(Si,qt=>{d(u).dynsec.configured&&qt(hi)})}var Di=b(kt,2);{var Fi=qt=>{var Le=bJ(),It=v(Le);j(()=>O(It,d(n))),D(qt,Le)};W(Di,qt=>{d(n)&&qt(Fi)})}var Ri=b(Di,2);{var Ni=qt=>{var Le=Rs(),It=Ct(Le);{var ai=_i=>{var Fe=Rs(),X=Ct(Fe);{var ee=ke=>{var $e=yJ();D(ke,$e)},de=ke=>{var $e=kJ(),N=b(Ct($e),4);{var Q=B=>{var q=wJ(),Y=v(q);j(()=>{q.disabled=d(s),O(Y,d(s)?"Running diagnostics…":"Run diagnostics")}),U("click",q,w),D(B,q)},oe=B=>{var q=xJ(),Y=Ct(q);let me;var Qe=v(Y);{var Ee=St=>{var Dt=bE(),Ft=v(Dt);j(()=>O(Ft,`⚠ ${d(r).error??""}`)),D(St,Dt)},Se=St=>{var Dt=CJ(),Ft=Ct(Dt),ne=b(v(Ft)),_e=v(ne),Be=b(Ft,2),at=b(v(Be)),nt=v(at),Ye=b(Be,2),Rt=b(v(Ye)),ri=v(Rt),fi=b(Ye,2),Ci=b(v(fi)),en=v(Ci),fn=b(fi,2);mi(fn,17,()=>d(r).issues,Ji,(Xi,z)=>{var te=bE(),Ge=v(te);j(()=>O(Ge,`⚠ ${d(z)??""}`)),D(Xi,te)});var cn=b(fn,2);{var ki=Xi=>{var z=SJ();D(Xi,z)};W(cn,Xi=>{d(r).ok&&Xi(ki)})}j(()=>{O(_e,d(r).dynSecPath),Tt(at,1,ud(d(r).adminClientExists?"ok":"fail"),"svelte-zeztkb"),O(nt,d(r).adminClientExists?"✓ yes":"✗ no"),Tt(Rt,1,ud(d(r).hasAdminRole?"ok":"fail"),"svelte-zeztkb"),O(ri,d(r).hasAdminRole?"✓ yes":"✗ no"),Tt(Ci,1,ud(d(r).hasControlSendAcl?"ok":"fail"),"svelte-zeztkb"),O(en,d(r).hasControlSendAcl?"✓ present":"✗ missing")}),D(St,Dt)};W(Qe,St=>{d(r).error?St(Ee):St(Se,-1)})}var lt=b(Y,2),Bt=v(lt);j(()=>{me=Tt(Y,1,"diag-card svelte-zeztkb",null,me,{"diag-ok":d(r).ok,"diag-fail":!d(r).ok}),lt.disabled=d(s),O(Bt,d(s)?"Running…":"Re-run")}),U("click",lt,w),D(B,q)};W(N,B=>{d(r)?B(oe,-1):B(Q)})}var Ie=b(N,2);{var De=B=>{var q=yE();U("click",q,()=>y(t,!0)),D(B,q)};W(Ie,B=>{d(t)||B(De)})}D(ke,$e)};W(X,ke=>{d(u).dynsec.dynsecReady?ke(ee):ke(de,-1)})}D(_i,Fe)},pi=_i=>{var Fe=LJ();D(_i,Fe)};W(It,_i=>{d(u).dynsec.connected?_i(ai):_i(pi,-1)})}D(qt,Le)},Ii=qt=>{var Le=IJ(),It=b(Ct(Le),4);{var ai=pi=>{var _i=yE();U("click",_i,()=>y(t,!0)),D(pi,_i)};W(It,pi=>{d(t)||pi(ai)})}D(qt,Le)};W(Ri,qt=>{d(u).dynsec.configured?qt(Ni):qt(Ii,-1)})}var ci=b(At,2),vi=b(v(ci),2),it=b(v(vi),2),zt=v(it),gi=b(it,4),Ti=v(gi),Zi=b(gi,4),Bi=v(Zi),zi=b(Zi,4),vn=v(zi),ln=b(zi,4),Pi=v(ln),yn=b(ln,4),Re=v(yn),jt=b(Lt,2);{var di=qt=>{var Le=DJ(),It=v(Le);pJ(It,{onDone:()=>{y(t,!1),p()}}),D(qt,Le)};W(jt,qt=>{d(t)&&(!d(u).dynsec.configured||!d(u).dynsec.dynsecReady)&&qt(di)})}j((qt,Le,It,ai,pi,_i)=>{O(zt,qt),O(Ti,Le),O(Bi,It),O(vn,ai),O(Pi,pi),O(Re,_i)},[()=>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(Zt,Mt)};W(Oe,Zt=>{d(g)?Zt(Te):d(f)?Zt(ut,1):d(u)&&Zt(Wt,2)})}D(fe,Et)},ve=fe=>{{let Et=wt(()=>{var Oe;return((Oe=d(u))==null?void 0:Oe.dynsec.dynsecReady)??!1});gQ(fe,{get dynsecReady(){return d(Et)}})}},dt=fe=>{CQ(fe,{})},gt=fe=>{QQ(fe,{})},Pt=fe=>{oJ(fe,{})};W(rt,fe=>{d(c)==="status"?fe(pt):d(c)==="users"?fe(ve,1):d(c)==="listeners"?fe(dt,2):d(c)==="certs"?fe(gt,3):d(c)==="ssh"&&fe(Pt,4)})}j(()=>{A=Tt(P,1,"svelte-zeztkb",null,A,{active:d(c)==="status"}),H=Tt($,1,"svelte-zeztkb",null,H,{active:d(c)==="users"}),J=Tt(ie,1,"svelte-zeztkb",null,J,{active:d(c)==="listeners"}),he=Tt(ue,1,"svelte-zeztkb",null,he,{active:d(c)==="certs"}),xe=Tt(We,1,"svelte-zeztkb",null,xe,{active:d(c)==="ssh"})}),U("click",P,()=>y(c,"status")),U("click",$,()=>y(c,"users")),U("click",ie,()=>y(c,"listeners")),U("click",ue,()=>y(c,"certs")),U("click",We,()=>y(c,"ssh")),D(o,k),As()}Ks(["click"]);var RJ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),NJ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),AJ=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),OJ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),FJ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),HJ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),WJ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),BJ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),zJ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),VJ=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),jJ=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),$J=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),UJ=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>'),qJ=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>'),GJ=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),KJ=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),ZJ=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),XJ=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>'),YJ=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),QJ=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>'),JJ=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),eee=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>'),tee=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.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"><rect x="1" y="2" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><rect x="1" y="8" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><line x1="4" y1="4" x2="4" y2="4" class="svelte-1n46o8q"></line><circle cx="4" cy="4" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle><circle cx="4" cy="10" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle></svg> Broker</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>'),iee=T('<div class="login-error svelte-1n46o8q"> </div>'),nee=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>'),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> Restarting smart-home-engine…</div></div>'),oee=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>'),ree=T("<!> <!> <!> <!>",1);function aee(o,e){Ns(e,!0);const t=["scripts","mqtt","matter","broker","db","logs","config","packages"];function i(){const kt=location.hash.slice(1);return t.includes(kt)?kt:"scripts"}let n=M(yi(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);u7(()=>{y(p,!0)});async function E(){y(m,""),y(x,!0);try{await g7(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 p7(),y(p,!0)}let A=M(null),$=M(!1),H=M(!1),ie=M(!1),J=M(!1),ue=M(yi([])),he=M(0),We=M(yi([]));const xe=wt(()=>d(We).filter(kt=>kt.online).length),rt=wt(()=>d(We).length===0?"none":d(xe)===d(We).length?"all":d(xe)>0?"some":"offline");let pt=M(!1),ve=M(!1);async function dt(){if(!await d(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;y($,!0);let kt;try{kt=(await Bg()).startedAt}catch{}try{await AN()}catch{}const Si=Date.now()+6e4;for(;Date.now()<Si;){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 gt(){y(c,!0);try{const kt=await w7();d(s)&&y(s,{...d(s),latestVersion:kt.latestVersion??void 0},!0)}catch{}finally{y(c,!1)}}async function Pt(){var hi,Di;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=(Di=d(s))==null?void 0:Di.startedAt;try{await y7()}catch{}const Si=Date.now()+18e4;for(;Date.now()<Si;){await new Promise(Fi=>setTimeout(Fi,1e3));try{const Fi=await Bg();if(kt===void 0||Fi.startedAt!==kt){location.reload();return}}catch{y(u,!1),y($,!0)}}location.reload()}function fe(kt){y(n,kt,!0),location.hash=kt}ao(async()=>{location.hash||(location.hash=d(n));const kt=()=>{y(n,i(),!0)};window.addEventListener("hashchange",kt);try{const ci=await f7();y(f,ci.mode,!0),y(g,ci.proxyLogoutUrl??"",!0),d(f)==="password"&&(await fetch("/she/scripts")).status===401&&y(p,!0)}catch{}y(k,!0);async function Si(){try{y(s,await Bg(),!0)}catch{}try{const[ci,vi]=await Promise.all([HN(),Dl()]);y(ue,Array.isArray(vi.pinnedPackages)?vi.pinnedPackages:[],!0),y(he,Object.keys(ci).filter(it=>!d(ue).includes(it)).length,!0)}catch{}}Si();const hi=setInterval(Si,5e3),Di=kr("mqtt:status",ci=>{ci.connected===!1?(y(J,!0),y(H,!1),y(ie,!1)):(y(J,!1),y(H,ci.ready===!1),y(ie,ci.ready===!0))}),Fi=kr("matter:deviceList",ci=>{Array.isArray(ci.devices)&&y(We,ci.devices.map(vi=>({nodeId:String(vi.nodeId),online:!!vi.online})),!0)}),Ri=kr("matter:deviceStatus",ci=>{if(ci.nodeId===void 0)return;const vi=String(ci.nodeId),it=!!ci.online;y(We,d(We).map(zt=>zt.nodeId===vi?{...zt,online:it}:zt),!0)}),Ni=qN();y(pt,Ni.some(ci=>ci.level==="error"),!0),y(ve,!d(pt)&&Ni.some(ci=>ci.level==="warn"),!0);const Ii=kk(ci=>{ci.level==="error"?(y(pt,!0),y(ve,!1)):ci.level==="warn"&&!d(pt)&&y(ve,!0)});return()=>{window.removeEventListener("hashchange",kt),clearInterval(hi),Di(),Fi(),Ri(),Ii()}});var Et=ree();cs("click",CP,()=>{d(r)&&y(r,!1),d(a)&&y(a,!1)});var Oe=Ct(Et);{var Te=kt=>{var Si=tee(),hi=v(Si),Di=b(v(hi),2);let Fi;var Ri=b(Di,2);let Ni;var Ii=b(v(Ri),2);{var ci=ge=>{var be=RJ();j(()=>Ai(be,"title",`${d(he)??""} package update${d(he)===1?"":"s"} available`)),D(ge,be)};W(Ii,ge=>{d(he)>0&&ge(ci)})}var vi=b(Ri,2);let it;var zt=b(v(vi),2);{var gi=ge=>{var be=NJ();D(ge,be)},Ti=ge=>{var be=AJ();D(ge,be)},Zi=ge=>{var be=OJ();D(ge,be)};W(zt,ge=>{d(J)?ge(gi):d(H)?ge(Ti,1):d(ie)&&ge(Zi,2)})}var Bi=b(vi,2);let zi;var vn=b(v(Bi),2);{var ln=ge=>{var be=FJ();D(ge,be)},Pi=ge=>{var be=HJ();D(ge,be)},yn=ge=>{var be=WJ();D(ge,be)};W(vn,ge=>{d(rt)==="all"?ge(ln):d(rt)==="some"?ge(Pi,1):d(rt)==="offline"&&ge(yn,2)})}var Re=b(Bi,2);let jt;var di=b(Re,2);let qt;var Le=b(di,2);let It;var ai=b(v(Le),2);{var pi=ge=>{var be=BJ();D(ge,be)},_i=ge=>{var be=zJ();D(ge,be)};W(ai,ge=>{d(pt)?ge(pi):d(ve)&&ge(_i,1)})}var Fe=b(Le,4),X=b(v(Fe),2),ee=v(X),de=v(ee);de.nodeValue="v1.1.20 ";var ke=b(de);{var $e=ge=>{var be=VJ();D(ge,be)};W(ke,ge=>{var be,vt;(be=d(s))!=null&&be.latestVersion&&!((vt=d(s))!=null&&vt.docker)&&ge($e)})}var N=b(ee,2);{var Q=ge=>{var be=qJ(),vt=v(be),Ei=b(v(vt));Ei.textContent="v1.1.20";var Ne=b(Ei,2);{var Ke=He=>{var Pe=jJ(),$t=b(Ct(Pe)),xt=v($t);j(()=>O(xt,`v${d(s).latestVersion??""}`)),D(He,Pe)},Vt=He=>{var Pe=$J();D(He,Pe)};W(Ne,He=>{var Pe;(Pe=d(s))!=null&&Pe.latestVersion?He(Ke):He(Vt,-1)})}var et=b(vt,2),bt=v(et);{var Jt=He=>{var Pe=UJ(),$t=b(v(Pe));j(()=>O($t,` Update to v${d(s).latestVersion??""}`)),U("click",Pe,Pt),D(He,Pe)};W(bt,He=>{var Pe;(Pe=d(s))!=null&&Pe.latestVersion&&He(Jt)})}var K=b(bt,2),se=v(K);let Ue;var tt=b(se);j(()=>{K.disabled=d(c),Ue=Tt(se,0,"svelte-1n46o8q",null,Ue,{spinning:d(c)}),O(tt,` ${d(c)?"Checking…":"Check for updates"}`)}),U("click",be,He=>He.stopPropagation()),U("click",K,gt),D(ge,be)};W(N,ge=>{var be;d(a)&&!((be=d(s))!=null&&be.docker)&&ge(Q)})}var oe=b(X,2),Ie=v(oe),De=b(Ie,2);{var B=ge=>{var be=JJ(),vt=v(be);{var Ei=bt=>{var Jt=XJ(),K=v(Jt);{var se=_t=>{const mt=wt(()=>Math.floor((Date.now()-d(s).startedAt)/1e3)),Xe=wt(()=>Math.floor(d(mt)/86400)),Yt=wt(()=>Math.floor(d(mt)%86400/3600)),si=wt(()=>Math.floor(d(mt)%3600/60));var un=GJ(),tn=b(Ct(un)),En=v(tn);j(()=>O(En,`${d(Xe)>0?d(Xe)+"d ":""}${d(Yt)>0||d(Xe)>0?d(Yt)+"h ":""}${d(si)??""}m`)),D(_t,un)};W(K,_t=>{d(s).startedAt&&_t(se)})}var Ue=b(K,3),tt=v(Ue),He=b(Ue,3),Pe=v(He),$t=b(He,3),xt=v($t),Ze=b($t,2);{var Ut=_t=>{var mt=KJ(),Xe=b(Ct(mt)),Yt=v(Xe),si=b(Xe,3),un=v(si);j(()=>{O(Yt,d(s).matterNodes??0),O(un,d(s).matterEndpoints??0)}),D(_t,mt)};W(Ze,_t=>{d(s).matterEnabled&&_t(Ut)})}var st=b(Ze,2);{var Me=_t=>{var mt=ZJ(),Xe=b(Ct(mt)),Yt=v(Xe),si=b(Xe,3),un=v(si);j(()=>{O(Yt,d(s).dbDocs??"—"),O(un,d(s).dbViews??"—")}),D(_t,mt)};W(st,_t=>{d(s).dbEnabled&&_t(Me)})}var ze=b(st,3),Ve=v(ze),je=b(ze,3),Nt=v(je),we=b(je,3),ot=v(we);j(()=>{O(tt,d(s).scripts),O(Pe,d(s).topics),O(xt,d(s).mqttMsgPerSec??"—"),O(Ve,d(s).handlers??"—"),O(Nt,d(s).memMb!=null?d(s).memMb+" MB":"—"),O(ot,d(s).cpuPercent!=null?d(s).cpuPercent+" %":"—")}),D(bt,Jt)},Ne=bt=>{var Jt=YJ();D(bt,Jt)};W(vt,bt=>{d(s)?bt(Ei):bt(Ne,-1)})}var Ke=b(vt,2),Vt=v(Ke);{var et=bt=>{var Jt=QJ();U("click",Jt,()=>{y(r,!1),dt()}),D(bt,Jt)};W(Vt,bt=>{var Jt;(Jt=d(s))!=null&&Jt.docker||bt(et)})}U("click",be,bt=>bt.stopPropagation()),D(ge,be)};W(De,ge=>{d(r)&&ge(B)})}var q=b(oe,2);let Y;var me=b(q,2);{var Qe=ge=>{var be=eee();U("click",be,P),D(ge,be)};W(me,ge=>{d(f)==="password"&&ge(Qe)})}var Ee=b(hi,2),Se=v(Ee);Ds(Jf(Se,{}),ge=>y(A,ge,!0),()=>d(A));var lt=b(Se,2);let Bt;var St=v(lt);{let ge=wt(()=>d(n)==="scripts");mK(St,{get active(){return d(ge)}})}var Dt=b(lt,2);let Ft;var ne=v(Dt);$Y(ne,{});var _e=b(Dt,2);let Be;var at=v(_e);kY(at,{});var nt=b(_e,2);let Ye;var Rt=v(nt);eY(Rt,{});var ri=b(nt,2);let fi;var Ci=v(ri);MJ(Ci,{});var en=b(ri,2);let fn;var cn=v(en);dX(cn,{});var ki=b(en,2);let Xi;var z=v(ki);iZ(z,{});var te=b(ki,2);let Ge;var Je=v(te);rZ(Je,{}),j(()=>{Fi=Tt(Di,1,"svelte-1n46o8q",null,Fi,{active:d(n)==="scripts"}),Ni=Tt(Ri,1,"svelte-1n46o8q",null,Ni,{active:d(n)==="packages"}),it=Tt(vi,1,"svelte-1n46o8q",null,it,{active:d(n)==="mqtt"}),zi=Tt(Bi,1,"svelte-1n46o8q",null,zi,{active:d(n)==="matter"}),jt=Tt(Re,1,"svelte-1n46o8q",null,jt,{active:d(n)==="broker"}),qt=Tt(di,1,"svelte-1n46o8q",null,qt,{active:d(n)==="db"}),It=Tt(Le,1,"svelte-1n46o8q",null,It,{active:d(n)==="logs"}),Y=Tt(q,1,"nav-settings svelte-1n46o8q",null,Y,{active:d(n)==="config"}),Bt=Tt(lt,1,"page-wrap svelte-1n46o8q",null,Bt,{hidden:d(n)!=="scripts"}),Ft=Tt(Dt,1,"page-wrap svelte-1n46o8q",null,Ft,{hidden:d(n)!=="packages"}),Be=Tt(_e,1,"page-wrap svelte-1n46o8q",null,Be,{hidden:d(n)!=="mqtt"}),Ye=Tt(nt,1,"page-wrap svelte-1n46o8q",null,Ye,{hidden:d(n)!=="matter"}),fi=Tt(ri,1,"page-wrap svelte-1n46o8q",null,fi,{hidden:d(n)!=="broker"}),fn=Tt(en,1,"page-wrap svelte-1n46o8q",null,fn,{hidden:d(n)!=="db"}),Xi=Tt(ki,1,"page-wrap svelte-1n46o8q",null,Xi,{hidden:d(n)!=="config"}),Ge=Tt(te,1,"page-wrap svelte-1n46o8q",null,Ge,{hidden:d(n)!=="logs"})}),U("click",Di,()=>fe("scripts")),U("click",Ri,()=>fe("packages")),U("click",vi,()=>fe("mqtt")),U("click",Bi,()=>fe("matter")),U("click",Re,()=>fe("broker")),U("click",di,()=>fe("db")),U("click",Le,()=>{fe("logs"),y(pt,!1),y(ve,!1)}),U("click",ee,ge=>{ge.stopPropagation(),y(a,!d(a)),y(r,!1)}),U("click",Ie,ge=>{ge.stopPropagation(),y(r,!d(r)),y(a,!1)}),U("click",q,()=>fe("config")),D(kt,Si)};W(Oe,kt=>{d(k)&&!d(p)&&kt(Te)})}var ut=b(Oe,2);{var Wt=kt=>{var Si=nee(),hi=v(Si),Di=b(v(hi),4),Fi=b(v(Di),2),Ri=b(Di,2);{var Ni=vi=>{var it=iee(),zt=v(it);j(()=>O(zt,d(m))),D(vi,it)};W(Ri,vi=>{d(m)&&vi(Ni)})}var Ii=b(Ri,2),ci=v(Ii);j(()=>{Fi.disabled=d(x),Ii.disabled=d(x)||!d(w),O(ci,d(x)?"Signing in…":"Sign in")}),cs("submit",hi,vi=>{vi.preventDefault(),E()}),ti(Fi,()=>d(w),vi=>y(w,vi)),D(kt,Si)};W(ut,kt=>{d(p)&&kt(Wt)})}var Zt=b(ut,2);{var Mt=kt=>{var Si=see();D(kt,Si)};W(Zt,kt=>{d($)&&kt(Mt)})}var Lt=b(Zt,2);{var At=kt=>{var Si=oee();D(kt,Si)};W(Lt,kt=>{d(u)&&kt(At)})}D(o,Et),As()}Ks(["click"]);TH(aee,{target:document.getElementById("app")});export{nM as t};
|