smart-home-engine 1.0.10 → 1.1.1

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.
@@ -0,0 +1,230 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-BcbP1HsB.js"])))=>i.map(i=>d[i]);
2
+ var xA=Object.defineProperty;var eL=o=>{throw TypeError(o)};var kA=(o,e,t)=>e in o?xA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var pn=(o,e,t)=>kA(o,typeof e!="symbol"?e+"":e,t),mw=(o,e,t)=>e.has(o)||eL("Cannot "+t);var re=(o,e,t)=>(mw(o,e,"read from private field"),t?t.call(o):e.get(o)),sn=(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),on=(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 SE,m as CE,l as Gt,A as _o,C as be,I as jn,D as n_,a as os,g as xE,M as Nt,b as Ci,E as ra,c as O,r as In,d as Dr,e as C,f as LA,h as Hn,R as an,S as mi,i as Ys,j as Er,k as mn,n as qi,o as de,p as je,K as ds,q as $t,s as ut,t as ms,u as U,v as Qi,O as Oa,w as gs,P as Yt,x as vw,y as s_,z as kE,B as hl,F as aa,G as mS,H as Ms,U as En,J as lf,L as Jt,N as vl,Q as IA,T as uo,V as vS,W as DA,X as LE,$ as jt,Y as yn,Z as _n,a0 as Kn,a1 as Ai,a2 as $o,a3 as lp,a4 as ct,a5 as km,a6 as EA,a7 as TA,a8 as _s,a9 as PA,aa as la,ab as mo,ac as ni,ad as IE,ae as zn,af as MA,ag as NA,ah as fo,ai as Wf,aj as us,ak as fy,al as oo,am as Hc,an as jx,ao as gy,ap as Es,aq as cf,ar as Ts,as as py,at as _y,au as RA,av as o_,aw as Bf,ax as El,ay as AA,az as zf,aA as OA,aB as $x,aC as FA,aD as HA,aE as tL,aF as ss,aG as fl,aH as ro,aI as zi,aJ as ll,aK as WA,aL as Ba,aM as zo,aN as Cs,aO as ca,aP as Ux,aQ as vs,aR as ts,aS as Jm,aT as Bi,aU as DE,aV as BA,aW as qx,aX as my,aY as Gx,aZ as Kx,a_ as md,a$ as zA,b0 as Zx,b1 as VA,b2 as Xx,b3 as Tl,b4 as Pl,b5 as df,b6 as cp,b7 as Do,b8 as r_,b9 as Qm,ba as bw,bb as Nn,bc as Yx,bd as a_,be as vy,bf as jA,bg as EE,bh as dp,bi as uf,bj as up,bk as l_,bl as by,bm as vn,bn as Wc,bo as c_,bp as $A,bq as UA,br as Jx,bs as qA,bt as ev,bu as rr,bv as Qx,bw as hf,bx as Ml,by as Vf,bz as Ji,bA as ff,bB as TE,bC as d_,bD as GA,bE as vd,bF as Ot,bG as iL,bH as Lm,bI as PE,bJ as Mr,bK as ta,bL as An,bM as gf,bN as wr,bO as pf,bP as Gn,bQ as hp,bR as Ru,bS,bT as ME,bU as NE,bV as RE,bW as e0,bX as So,bY as kn,bZ as u_,b_ as AE,b$ as gl,c0 as yy,c1 as KA,c2 as yh,c3 as nL,c4 as h_,c5 as OE,c6 as wh,c7 as ZA,c8 as gr,c9 as wy,ca as XA,cb as vo,cc as da,cd as f_,ce as fp,cf as FE,cg as nr,ch as g_,ci as Sy,cj as YA,ck as JA,cl as QA,cm as jf,cn as za,co as xs,cp as eO,cq as t0,cr as tO,cs as iO,ct as sL,cu as nO,cv as p_,cw as bl,cx as yS,cy as pu,cz as yl,cA as sO,cB as Fa,cC as Sr,cD as Oo,cE as oL,cF as Qs,cG as __,cH as Ec,cI as Va,cJ as oO,cK as ua,cL as gp,cM as Cy,cN as HE,cO as rO,cP as aO,cQ as i0,cR as lO,cS as pp,cT as cO,cU as ic,cV as _p,cW as rL,cX as dO,cY as uO,cZ as Ua,c_ as hO,c$ as n0,d0 as WE,d1 as BE,d2 as zE,d3 as VE,d4 as fO,d5 as gO,d6 as jE,d7 as $E,d8 as pO,d9 as s0,da as _O,db as mO,dc as Xn,dd as vO,de as o0,df as bO,dg as Sh,dh as aL,di as yO,dj as wO,dk as SO,dl as CO,dm as xO,dn as kO,dp as _f,dq as xy,dr as wS,ds as LO,dt as IO,du as lL,dv as SS,dw as DO,dx as cL,dy as yw,dz as EO,dA as UE,dB as TO,dC as qE,dD as CS,dE as PO,dF as MO,dG as NO,dH as GE,dI as KE,dJ as RO,dK as tv,dL as ZE,dM as ky,dN as AO,dO as OO,dP as Tc,dQ as r0,dR as FO,dS as dL,dT as uL,dU as HO,dV as Ch,dW as XE,dX as WO,dY as BO,dZ as zO,d_ as VO,d$ as YE,e0 as JE,e1 as QE,e2 as eT,e3 as jO,e4 as Ha,e5 as hL,e6 as $O,e7 as m_,e8 as UO,e9 as Cg,ea as tT,eb as fL,ec as mp,ed as iT,ee as iv,ef as qO,eg as nT,eh as GO,ei as sT,ej as KO,ek as ZO,el as oT,em as rT,en as wl,eo as Ly,ep as XO,eq as aT,er as Vo,es as bd,et as lT,eu as YO,ev as JO,ew as cT,ex as dT,ey as QO,ez as uT,eA as hT,eB as vp,eC as e2,eD as t2,eE as i2,eF as n2,eG as hg,eH as gL,eI as s2,eJ as o2,eK as r2,eL as nv,eM as Bs,eN as a2,eO as xS,eP as Au,eQ as l2,eR as al,eS as c2,eT as d2,eU as fT,eV as u2,eW as Vg,eX as h2,eY as f2,eZ as g2,e_ as p2,e$ as pL,f0 as _L,f1 as mL,f2 as Ou,f3 as a0,f4 as gT,f5 as kS,f6 as Im,f7 as pT,f8 as sv,f9 as _2,fa as m2,fb as v2,fc as b2,fd as l0,fe as _T,ff as y2,fg as ov,fh as mT,fi as vT,fj as w2,fk as S2,fl as C2,fm as x2,fn as k2,fo as L2,fp as I2,fq as D2,fr as bT,fs as E2,ft as rv,fu as yT,fv as T2,fw as wT,fx as P2,fy as ST,fz as CT,fA as M2,fB as vL,fC as xT,fD as bL,fE as N2,fF as ww,fG as yL,fH as R2,fI as A2,fJ as O2,fK as Ea,fL as Pc,fM as F2,fN as wL,fO as Dm,fP as H2,fQ as cl,fR as Iy,fS as LS,fT as W2,fU as kT,fV as LT,fW as eo,fX as SL,fY as G_,fZ as c0,f_ as B2,f$ as z2,g0 as V2,g1 as j2,g2 as $2,g3 as U2,g4 as q2,g5 as G2,g6 as CL,g7 as K2,g8 as Z2,g9 as X2,ga as mf,gb as jg,gc as IT,gd as Y2,ge as d0,gf as Em,gg as K_,gh as Sw,gi as J2,gj as Q2,gk as DT,gl as eF,gm as u0,gn as tF,go as iF,gp as ET,gq as Dy,gr as nF,gs as av,gt as h0,gu as f0,gv as g0,gw as TT,gx as PT,gy as MT,gz as NT,gA as RT,gB as AT,gC as OT,gD as xL,gE as FT,gF as Yu,gG as sF,gH as oF,gI as rF,gJ as aF,gK as HT,gL as lF,gM as cF,gN as kL,gO as IS,gP as cc,gQ as dF,gR as uF,gS as hF,gT as fF,gU as gF,gV as pF,gW as LL,gX as p0,gY as DS,gZ as _F,g_ as ES,g$ as mF,h0 as vF,h1 as bF,h2 as yF,h3 as _0,h4 as WT,h5 as IL,h6 as DL,h7 as wF,h8 as SF,h9 as CF,ha as EL,hb as Cw,hc as xF,hd as kF,he as LF,hf as xw,hg as BT,hh as zT,hi as VT,hj as jT,hk as Sl,hl as $T,hm as m0,hn as TL,ho as IF,hp as UT,hq as DF,hr as EF,hs as Ey,ht as Ty,hu as Fu,hv as Py,hw as v_,hx as TF,hy as My,hz as PF,hA as MF,hB as NF,hC as qT,hD as fg,hE as RF,hF as AF,hG as OF,hH as FF,hI as b_,hJ as HF,hK as GT,hL as KT,hM as ZT,hN as TS,hO as WF,hP as BF,hQ as zF,hR as VF,hS as jF,hT as PS,hU as $F,hV as UF,hW as qF,hX as GF,hY as KF,hZ as ZF,h_ as XF,h$ as YF,i0 as XT,i1 as JF,i2 as QF,i3 as e3,i4 as PL,i5 as t3,i6 as i3,i7 as nd,i8 as dr,i9 as n3,ia as s3}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 YT=!1;var v0=Array.isArray,o3=Array.prototype.indexOf,lv=Array.prototype.includes,Ny=Array.from,r3=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,a3=Object.getOwnPropertyDescriptors,l3=Object.prototype,c3=Array.prototype,JT=Object.getPrototypeOf,ML=Object.isExtensible;const Ry=()=>{};function d3(o){for(var e=0;e<o.length;e++)o[e]()}function QT(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function u3(o,e,t=!1){return o===void 0?t?e():e:o}function NL(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,vf=4,Ay=8,eP=1<<24,ia=16,oa=32,Mc=64,MS=128,Lr=512,zs=1024,qs=2048,ja=4096,xo=8192,Ir=16384,$f=32768,NS=1<<25,bf=65536,cv=1<<17,h3=1<<18,Uf=1<<19,f3=1<<20,Na=1<<25,_u=65536,dv=1<<21,Wh=1<<22,dc=1<<23,yd=Symbol("$state"),g3=Symbol("legacy props"),p3=Symbol(""),Tm=Symbol("attributes"),RS=Symbol("class"),AS=Symbol("style"),xg=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 bE;const _3=!!((bE=globalThis.document)!=null&&bE.contentType)&&globalThis.document.contentType.includes("xml");function tP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function m3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function v3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function b3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function y3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function w3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function S3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function C3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function x3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function k3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function L3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function I3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const D3=1,E3=2,iP=4,T3=8,P3=16,M3=1,N3=4,R3=8,A3=16,O3=1,F3=2,Ws=Symbol("uninitialized"),nP="http://www.w3.org/1999/xhtml",H3="http://www.w3.org/2000/svg",W3="http://www.w3.org/1998/Math/MathML";function B3(){console.warn("https://svelte.dev/e/derived_inert")}function z3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function V3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function sP(o){return o===this.v}function j3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function oP(o){return!j3(o,this.v)}let $3=!1,io=null;function yf(o){io=o}function Ns(o,e=!1,t){io={p:io,i:!1,c:null,e:null,s:o,x:null,r:Ln,l:null}}function Rs(o){var e=io,t=e.e;if(t!==null){e.e=null;for(var i of t)IP(i)}return o!==void 0&&(e.x=o),e.i=!0,io=e.p,o??{}}function rP(){return!0}let ld=[];function aP(){var o=ld;ld=[],d3(o)}function uc(o){if(ld.length===0&&!Ug){var e=ld;queueMicrotask(()=>{e===ld&&aP()})}ld.push(o)}function U3(){for(;ld.length>0;)aP()}function lP(o){var e=Ln;if(e===null)return xn.f|=dc,o;if((e.f&$f)===0&&(e.f&vf)===0)throw o;nc(o,e)}function nc(o,e){for(;e!==null;){if((e.f&MS)!==0){if((e.f&$f)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const q3=-7169;function ws(o,e){o.f=o.f&q3|e}function b0(o){(o.f&Lr)!==0||o.deps===null?ws(o,zs):ws(o,ja)}function cP(o){if(o!==null)for(const e of o)(e.f&no)===0||(e.f&_u)===0||(e.f^=_u,cP(e.deps))}function dP(o,e,t){(o.f&qs)!==0?e.add(o):(o.f&ja)!==0&&t.add(o),cP(o.deps),ws(o,zs)}let Z_=!1;function G3(o){var e=Z_;try{return Z_=!1,[o(),Z_]}finally{Z_=e}}let kw=null,Ju=null,Hi=null,$g=null,Js=null,OS=null,Ug=!1,Lw=!1,xh=null,Mm=null;var RL=0;let K3=1;var jh,Ql,hd,$h,Uh,qh,nl,Gh,No,Yp,sl,qr,ka,Kh,fd,Yn,FS,kg,HS,uP,hP,gh,Z3,Lg;const yb=class yb{constructor(){sn(this,Yn);pn(this,"id",K3++);sn(this,jh,!1);pn(this,"linked",!0);sn(this,Ql,null);sn(this,hd,null);pn(this,"async_deriveds",new Map);pn(this,"current",new Map);pn(this,"previous",new Map);sn(this,$h,new Set);sn(this,Uh,new Set);sn(this,qh,0);sn(this,nl,new Map);sn(this,Gh,null);sn(this,No,[]);sn(this,Yp,[]);sn(this,sl,new Set);sn(this,qr,new Set);sn(this,ka,new Map);sn(this,Kh,new Set);pn(this,"is_fork",!1);sn(this,fd,!1);Ju===null?kw=Ju=this:(on(Ju,hd,this),on(this,Ql,Ju)),Ju=this}skip_effect(e){re(this,ka).has(e)||re(this,ka).set(e,{d:[],m:[]}),re(this,Kh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=re(this,ka).get(e);if(i){re(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)}re(this,Kh).add(e)}capture(e,t,i=!1){e.v!==Ws&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&dc)===0&&(this.current.set(e,[t,i]),Js==null||Js.set(e,t)),this.is_fork||(e.v=t)}activate(){Hi=this}deactivate(){Hi=null,Js=null}flush(){try{Lw=!0,Hi=this,Bn(this,Yn,kg).call(this)}finally{RL=0,OS=null,xh=null,Mm=null,Lw=!1,Hi=null,Js=null,wd.clear()}}discard(){var e;for(const t of re(this,Uh))t(this);re(this,Uh).clear(),Bn(this,Yn,Lg).call(this),(e=re(this,Gh))==null||e.resolve()}register_created_effect(e){re(this,Yp).push(e)}increment(e,t){if(on(this,qh,re(this,qh)+1),e){let i=re(this,nl).get(t)??0;re(this,nl).set(t,i+1)}}decrement(e,t){if(on(this,qh,re(this,qh)-1),e){let i=re(this,nl).get(t)??0;i===1?re(this,nl).delete(t):re(this,nl).set(t,i-1)}re(this,fd)||(on(this,fd,!0),uc(()=>{on(this,fd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)re(this,sl).add(i);for(const i of t)re(this,qr).add(i);e.clear(),t.clear()}oncommit(e){re(this,$h).add(e)}ondiscard(e){re(this,Uh).add(e)}settled(){return(re(this,Gh)??on(this,Gh,QT())).promise}static ensure(){if(Hi===null){const e=Hi=new yb;!Lw&&!Ug&&uc(()=>{re(e,jh)||e.flush()})}return Hi}apply(){{Js=null;return}}schedule(e){var n;if(OS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(vf|Ay|eP))!==0&&(e.f&$f)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(xh!==null&&t===Ln&&(xn===null||(xn.f&no)===0))return;if((i&(Mc|oa))!==0){if((i&zs)===0)return;t.f^=zs}}re(this,No).push(t)}};jh=new WeakMap,Ql=new WeakMap,hd=new WeakMap,$h=new WeakMap,Uh=new WeakMap,qh=new WeakMap,nl=new WeakMap,Gh=new WeakMap,No=new WeakMap,Yp=new WeakMap,sl=new WeakMap,qr=new WeakMap,ka=new WeakMap,Kh=new WeakMap,fd=new WeakMap,Yn=new WeakSet,FS=function(){if(this.is_fork)return!0;for(const i of re(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(re(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},kg=function(){var c,u,f,g;on(this,jh,!0),RL++>1e3&&(Bn(this,Yn,Lg).call(this),Y3());for(const p of re(this,sl))re(this,qr).delete(p),ws(p,qs),this.schedule(p);for(const p of re(this,qr))ws(p,ja),this.schedule(p);const e=re(this,No);on(this,No,[]),this.apply();var t=xh=[],i=[],n=Mm=[];for(const p of e)try{Bn(this,Yn,HS).call(this,p,t,i)}catch(w){throw pP(p),Bn(this,Yn,FS).call(this)||this.discard(),w}if(Hi=null,n.length>0){var s=yb.ensure();for(const p of n)s.schedule(p)}if(xh=null,Mm=null,Bn(this,Yn,FS).call(this)){Bn(this,Yn,gh).call(this,i),Bn(this,Yn,gh).call(this,t);for(const[p,w]of re(this,ka))gP(p,w);n.length>0&&Bn(c=Hi,Yn,kg).call(c);return}const r=Bn(this,Yn,uP).call(this);if(r){Bn(this,Yn,gh).call(this,i),Bn(this,Yn,gh).call(this,t),Bn(u=r,Yn,hP).call(u,this);return}re(this,sl).clear(),re(this,qr).clear();for(const p of re(this,$h))p(this);re(this,$h).clear(),$g=this,AL(i),AL(t),$g=null,(f=re(this,Gh))==null||f.resolve();var a=Hi;if(re(this,qh)===0&&(re(this,No).length===0||a!==null)&&Bn(this,Yn,Lg).call(this),re(this,No).length>0)if(a!==null){const p=a;re(p,No).push(...re(this,No).filter(w=>!re(p,No).includes(w)))}else a=this;a!==null&&Bn(g=a,Yn,kg).call(g)},HS=function(e,t,i){e.f^=zs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(oa|Mc))!==0,a=r&&(s&zs)!==0,c=a||(s&xo)!==0||re(this,ka).has(n);if(!c&&n.fn!==null){r?n.f^=zs:(s&vf)!==0?t.push(n):w_(n)&&((s&ia)!==0&&re(this,qr).add(n),Sf(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}}},uP=function(){for(var e=re(this,Ql);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=re(e,Ql)}return null},hP=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(re(e,sl),re(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&(Wh|ia)&&!this.async_deriveds.has(a)&&(re(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,Lg).call(i),Hi=this,Bn(this,Yn,kg).call(this)},gh=function(e){for(var t=0;t<e.length;t+=1)dP(e[t],re(this,sl),re(this,qr))},Z3=function(){var f;for(let g=kw;g!==null;g=re(g,hd)){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(re(g,jh)){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 re(this,Kh))g.unskip_effect(p,w=>{var m;(w.f&(ia|Wh))!==0?g.schedule(w):Bn(m=g,Yn,gh).call(m,[w])});g.activate();var s=new Set,r=new Map;for(var a of t)fP(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 re(this,Yp))(p.f&(Ir|xo|cv))===0&&y0(p,c,r)&&((p.f&(Wh|ia))!==0?(ws(p,qs),g.schedule(p)):re(g,sl).add(p));if(re(g,No).length>0&&!re(g,fd)){g.apply();for(var u of re(g,No))Bn(f=g,Yn,HS).call(f,u,[],[]);on(g,No,[])}g.deactivate()}}}},Lg=function(){if(this.linked){var e=re(this,Ql),t=re(this,hd);e===null?kw=t:on(e,hd,t),t===null?Ju=e:on(t,Ql,e),this.linked=!1}};let mu=yb;function X3(o){var e=Ug;Ug=!0;try{for(var t;;){if(U3(),Hi===null)return t;Hi.flush()}}finally{Ug=e}}function Y3(){try{S3()}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&&w_(i)&&(jr=new Set,Sf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&TP(i),(jr==null?void 0:jr.size)>0)){wd.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&&Sf(c)}}jr.clear()}}jr=null}}function fP(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?fP(n,e,t,i):(s&(Wh|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){Hi.schedule(o)}function gP(o,e){if(!((o.f&oa)!==0&&(o.f&zs)!==0)){(o.f&qs)!==0?e.d.push(o):(o.f&ja)!==0&&e.m.push(o),ws(o,zs);for(var t=o.first;t!==null;)gP(t,e),t=t.next}}function pP(o){ws(o,zs);for(var e=o.first;e!==null;)pP(e),e=e.next}function J3(o){let e=0,t=vu(0),i;return()=>{k0()&&(d(t),Hy(()=>(e===0&&(i=Rl(()=>o(()=>qg(t)))),e+=1,()=>{uc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,qg(t))})})))}}var Q3=bf|Uf;function eH(o,e,t,i){new tH(o,e,t,i)}var _r,Vx,mr,gd,Ro,vr,yo,Qo,ol,pd,ec,Zh,Jp,Qp,rl,wb,Ss,iH,nH,sH,WS,Nm,Rm,BS,zS;class tH{constructor(e,t,i,n){sn(this,Ss);pn(this,"parent");pn(this,"is_pending",!1);pn(this,"transform_error");sn(this,_r);sn(this,Vx,null);sn(this,mr);sn(this,gd);sn(this,Ro);sn(this,vr,null);sn(this,yo,null);sn(this,Qo,null);sn(this,ol,null);sn(this,pd,0);sn(this,ec,0);sn(this,Zh,!1);sn(this,Jp,new Set);sn(this,Qp,new Set);sn(this,rl,null);sn(this,wb,J3(()=>(on(this,rl,vu(re(this,pd))),()=>{on(this,rl,null)})));var s;on(this,_r,e),on(this,mr,t),on(this,gd,r=>{var a=Ln;a.b=this,a.f|=MS,i(r)}),this.parent=Ln.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),on(this,Ro,D0(()=>{Bn(this,Ss,WS).call(this)},Q3))}defer_effect(e){dP(e,re(this,Jp),re(this,Qp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!re(this,mr).pending}update_pending_count(e,t){Bn(this,Ss,BS).call(this,e,t),on(this,pd,re(this,pd)+e),!(!re(this,rl)||re(this,Zh))&&(on(this,Zh,!0),uc(()=>{on(this,Zh,!1),re(this,rl)&&wf(re(this,rl),re(this,pd))}))}get_effect_pending(){return re(this,wb).call(this),d(re(this,rl))}error(e){if(!re(this,mr).onerror&&!re(this,mr).failed)throw e;Hi!=null&&Hi.is_fork?(re(this,vr)&&Hi.skip_effect(re(this,vr)),re(this,yo)&&Hi.skip_effect(re(this,yo)),re(this,Qo)&&Hi.skip_effect(re(this,Qo)),Hi.oncommit(()=>{Bn(this,Ss,zS).call(this,e)})):Bn(this,Ss,zS).call(this,e)}}_r=new WeakMap,Vx=new WeakMap,mr=new WeakMap,gd=new WeakMap,Ro=new WeakMap,vr=new WeakMap,yo=new WeakMap,Qo=new WeakMap,ol=new WeakMap,pd=new WeakMap,ec=new WeakMap,Zh=new WeakMap,Jp=new WeakMap,Qp=new WeakMap,rl=new WeakMap,wb=new WeakMap,Ss=new WeakSet,iH=function(){try{on(this,vr,br(()=>re(this,gd).call(this,re(this,_r))))}catch(e){this.error(e)}},nH=function(e){const t=re(this,mr).failed;t&&on(this,Qo,br(()=>{t(re(this,_r),()=>e,()=>()=>{})}))},sH=function(){const e=re(this,mr).pending;e&&(this.is_pending=!0,on(this,yo,br(()=>e(re(this,_r)))),uc(()=>{var t=on(this,ol,document.createDocumentFragment()),i=pl();t.append(i),on(this,vr,Bn(this,Ss,Rm).call(this,()=>br(()=>re(this,gd).call(this,i)))),re(this,ec)===0&&(re(this,_r).before(t),on(this,ol,null),Cd(re(this,yo),()=>{on(this,yo,null)}),Bn(this,Ss,Nm).call(this,Hi))}))},WS=function(){try{if(this.is_pending=this.has_pending_snippet(),on(this,ec,0),on(this,pd,0),on(this,vr,br(()=>{re(this,gd).call(this,re(this,_r))})),re(this,ec)>0){var e=on(this,ol,document.createDocumentFragment());T0(re(this,vr),e);const t=re(this,mr).pending;on(this,yo,br(()=>t(re(this,_r))))}else Bn(this,Ss,Nm).call(this,Hi)}catch(t){this.error(t)}},Nm=function(e){this.is_pending=!1,e.transfer_effects(re(this,Jp),re(this,Qp))},Rm=function(e){var t=Ln,i=xn,n=io;$a(re(this,Ro)),Tr(re(this,Ro)),yf(re(this,Ro).ctx);try{return mu.ensure(),e()}catch(s){return lP(s),null}finally{$a(t),Tr(i),yf(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}on(this,ec,re(this,ec)+e),re(this,ec)===0&&(Bn(this,Ss,Nm).call(this,t),re(this,yo)&&Cd(re(this,yo),()=>{on(this,yo,null)}),re(this,ol)&&(re(this,_r).before(re(this,ol)),on(this,ol,null)))},zS=function(e){re(this,vr)&&(jo(re(this,vr)),on(this,vr,null)),re(this,yo)&&(jo(re(this,yo)),on(this,yo,null)),re(this,Qo)&&(jo(re(this,Qo)),on(this,Qo,null));var t=re(this,mr).onerror;let i=re(this,mr).failed;var n=!1,s=!1;const r=()=>{if(n){V3();return}n=!0,s&&I3(),re(this,Qo)!==null&&Cd(re(this,Qo),()=>{on(this,Qo,null)}),Bn(this,Ss,Rm).call(this,()=>{Bn(this,Ss,WS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(u){nc(u,re(this,Ro)&&re(this,Ro).parent)}i&&on(this,Qo,Bn(this,Ss,Rm).call(this,()=>{try{return br(()=>{var u=Ln;u.b=this,u.f|=MS,i(re(this,_r),()=>c,()=>r)})}catch(u){return nc(u,re(this,Ro).parent),null}}))};uc(()=>{var c;try{c=this.transform_error(e)}catch(u){nc(u,re(this,Ro)&&re(this,Ro).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,u=>nc(u,re(this,Ro)&&re(this,Ro).parent)):a(c)})};function oH(o,e,t,i){const n=bp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Ln,a=rH(),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=_P();if(t.length===0){c.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>aH(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}c?c.then(()=>{a(),g(),uv()}):g()}function rH(){var o=Ln,e=xn,t=io,i=Hi;return function(s=!0){$a(o),Tr(e),yf(t),s&&(o.f&Ir)===0&&(i==null||i.activate(),i==null||i.apply())}}function uv(o=!0){$a(null),Tr(null),yf(null),o&&(Hi==null||Hi.deactivate())}function _P(){var o=Ln,e=o.b,t=Hi,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 bp(o){var e=no|qs;return Ln!==null&&(Ln.f|=Uf),{ctx:io,deps:null,effects:null,equals:sP,f:e,fn:o,reactions:null,rv:0,v:Ws,wv:0,parent:Ln,ac:null}}const X_=Symbol("obsolete");function aH(o,e,t){let i=Ln;i===null&&m3();var n=void 0,s=vu(Ws),r=!xn,a=new Set;return bH(()=>{var w,m;var c=Ln,u=QT();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=Hi;if(r){if((c.f&$f)!==0)var g=_P();if((w=i.b)!=null&&w.is_rendered())(m=f.async_deriveds.get(c))==null||m.reject(X_);else for(const x of a.values())x.reject(X_);a.add(u),f.async_deriveds.set(c,u)}const p=(x,k=void 0)=>{g==null||g(),a.delete(u),k!==X_&&(f.activate(),k?(s.f|=dc,wf(s,k)):((s.f&dc)!==0&&(s.f^=dc),wf(s,x)),f.deactivate())};u.promise.then(p,x=>p(null,x||"unknown"))}),L0(()=>{for(const c of a)c.reject(X_)}),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=bp(o);return NP(e),e}function S0(o){const e=bp(o);return e.equals=oP,e}function lH(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=Ln,i=o.parent;if(!Cl&&i!==null&&o.v!==Ws&&(i.f&(Ir|xo))!==0)return B3(),o.v;$a(i);try{o.f&=~_u,lH(o),e=FP(o)}finally{$a(t)}return e}function mP(o){var e=C0(o);if(!o.equals(e)&&(o.wv=AP(),(!(Hi!=null&&Hi.is_fork)||o.deps===null)&&(Hi!==null?(Hi.capture(o,e,!0),$g==null||$g.capture(o,e,!0)):o.v=e,o.deps===null))){ws(o,zs);return}Cl||(Js!==null?(k0()||Hi!=null&&Hi.is_fork)&&Js.set(o,e):b0(o))}function cH(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=Ry),i.ac=null,yp(i,0),E0(i))}function vP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Sf(e)}let hv=new Set;const wd=new Map;let bP=!1;function vu(o,e){var t={f:0,v:o,reactions:null,equals:sP,rv:0,wv:0};return t}function M(o,e){const t=vu(o);return NP(t),t}function dH(o,e=!1,t=!0){const i=vu(o);return e||(i.equals=oP),i}function y(o,e,t=!1){xn!==null&&(!na||(xn.f&cv)!==0)&&rP()&&(xn.f&(no|ia|Wh|cv))!==0&&(Wa===null||!Wa.has(o))&&L3();let i=t?yi(e):e;return wf(o,i,Mm)}function wf(o,e,t=null){if(!o.equals(e)){wd.set(o,Cl?e:o.v);var i=mu.ensure();if(i.capture(o,e),(o.f&no)!==0){const n=o;(o.f&qs)!==0&&C0(n),Js===null&&b0(n)}o.wv=AP(),yP(o,qs,t),Ln!==null&&(Ln.f&zs)!==0&&(Ln.f&(oa|Mc))===0&&(pr===null?wH([o]):pr.push(o)),!i.is_fork&&hv.size>0&&!bP&&uH()}return e}function uH(){bP=!1;for(const o of hv){(o.f&zs)!==0&&ws(o,ja);let e;try{e=w_(o)}catch{e=!0}e&&Sf(o)}hv.clear()}function OL(o,e=1){var t=d(o),i=e===1?t++:t--;return y(o,t),i}function qg(o){y(o,o.v+1)}function yP(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;Js==null||Js.delete(u),(a&_u)===0&&(a&Lr&&(Ln===null||(Ln.f&dv)===0)&&(r.f|=_u),yP(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||yd in o)return o;const e=JT(o);if(e!==l3&&e!==c3)return o;var t=new Map,i=v0(o),n=M(0),s=xd,r=a=>{if(xd===s)return a();var c=xn,u=xd;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)&&x3();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(Ws));t.set(c,f),qg(n)}}else y(u,Ws),qg(n);return!0},get(a,c,u){var w;if(c===yd)return o;var f=t.get(c),g=c in a;if(f===void 0&&(!g||(w=Hh(a,c))!=null&&w.writable)&&(f=r(()=>{var m=yi(g?a[c]:Ws),x=M(m);return x}),t.set(c,f)),f!==void 0){var p=d(f);return p===Ws?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!==Ws)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,c){var p;if(c===yd)return!0;var u=t.get(c),f=u!==void 0&&u.v!==Ws||Reflect.has(a,c);if(u!==void 0||Ln!==null&&(!f||(p=Hh(a,c))!=null&&p.writable)){u===void 0&&(u=r(()=>{var w=f?yi(a[c]):Ws,m=M(w);return m}),t.set(c,u));var g=d(u);if(g===Ws)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,Ws):w in a&&(m=r(()=>M(Ws)),t.set(w+"",m))}if(g===void 0)(!p||(A=Hh(a,c))!=null&&A.writable)&&(g=r(()=>M(void 0)),y(g,yi(u)),t.set(c,g));else{p=g.v!==Ws;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 D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&y(D,P+1)}qg(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!==Ws});for(var[u,f]of t)f.v!==Ws&&!(u in a)&&c.push(u);return c},setPrototypeOf(){k3()}})}function FL(o){try{if(o!==null&&typeof o=="object"&&yd in o)return o[yd]}catch{}return o}function hH(o,e){return Object.is(FL(o),FL(e))}var Sd,wP,SP,CP,xP;function fH(){if(Sd===void 0){Sd=window,wP=document,SP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;CP=Hh(e,"firstChild").get,xP=Hh(e,"nextSibling").get,ML(o)&&(o[RS]=void 0,o[Tm]=null,o[AS]=void 0,o.__e=void 0),ML(t)&&(t[xg]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Ra(o){return CP.call(o)}function y_(o){return xP.call(o)}function v(o,e){return Ra(o)}function Dt(o,e=!1){{var t=Ra(o);return t instanceof Comment&&t.data===""?y_(t):t}}function b(o,e=1,t=!1){let i=o;for(;e--;)i=y_(i);return i}function gH(o){o.textContent=""}function kP(){return!1}function LP(o,e,t){return e==null||e===nP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let HL=!1;function pH(){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=xn,t=Ln;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),pH()}function _H(o){Ln===null&&(xn===null&&w3(),y3()),Cl&&b3()}function mH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Nl(o,e){var t=Ln;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};Hi==null||Hi.register_created_effect(i);var n=i;if((o&vf)!==0)xh!==null?xh.push(i):mu.ensure().schedule(i);else if(e!==null){try{Sf(i)}catch(r){throw jo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Uf)===0&&(n=n.first,(o&ia)!==0&&(o&bf)!==0&&n!==null&&(n.f|=bf))}if(n!==null&&(n.parent=t,t!==null&&mH(n,t),xn!==null&&(xn.f&no)!==0&&(o&Mc)===0)){var s=xn;(s.effects??(s.effects=[])).push(n)}return i}function k0(){return xn!==null&&!na}function L0(o){const e=Nl(Ay,null);return ws(e,zs),e.teardown=o,e}function $n(o){_H();var e=Ln.f,t=!xn&&(e&oa)!==0&&io!==null&&!io.i;if(t){var i=io;(i.e??(i.e=[])).push(o)}else return IP(o)}function IP(o){return Nl(vf|f3,o)}function vH(o){mu.ensure();const e=Nl(Mc|Uf,o);return(t={})=>new Promise(i=>{t.outro?Cd(e,()=>{jo(e),i(void 0)}):(jo(e),i(void 0))})}function I0(o){return Nl(vf,o)}function bH(o){return Nl(Wh|Uf,o)}function Hy(o,e=0){return Nl(Ay|e,o)}function V(o,e=[],t=[],i=[]){oH(i,e,t,n=>{Nl(Ay,()=>o(...n.map(d)))})}function D0(o,e=0){var t=Nl(ia|e,o);return t}function br(o){return Nl(oa|Uf,o)}function DP(o){var e=o.teardown;if(e!==null){const t=Cl,i=xn;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 yH(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&h3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(EP(o.nodes.start,o.nodes.end),t=!0),ws(o,NS),E0(o,e&&!t),yp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();DP(o),o.f^=NS,o.f|=Ir;var n=o.parent;n!==null&&n.first!==null&&TP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function EP(o,e){for(;o!==null;){var t=o===e?null:y_(o);o.remove(),o=t}}function TP(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 Cd(o,e,t=!0){var i=[];PP(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 PP(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&bf)!==0||(n.f&oa)!==0&&(o.f&ia)!==0;PP(n,e,r?t:!1)}n=s}}}function fv(o){MP(o,!0)}function MP(o,e){if((o.f&xo)!==0){o.f^=xo,(o.f&zs)===0&&(ws(o,qs),mu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&bf)!==0||(t.f&oa)!==0;MP(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:y_(t);e.append(t),t=n}}let Am=!1,Cl=!1;function WL(o){Cl=o}let xn=null,na=!1;function Tr(o){xn=o}let Ln=null;function $a(o){Ln=o}let Wa=null;function NP(o){xn!==null&&(Wa??(Wa=new Set)).add(o)}let Ao=null,Yo=0,pr=null;function wH(o){pr=o}let RP=1,cd=0,xd=cd;function BL(o){xd=o}function AP(){return++RP}function w_(o){var e=o.f;if((e&qs)!==0)return!0;if(e&no&&(o.f&=~_u),(e&ja)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(w_(s)&&mP(s),s.wv>o.wv)return!0}(e&Lr)!==0&&Js===null&&ws(o,zs)}return!1}function OP(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?OP(s,e,!1):e===s&&(t?ws(s,qs):(s.f&zs)!==0&&ws(s,ja),w0(s))}}function FP(o){var x;var e=Ao,t=Yo,i=pr,n=xn,s=Wa,r=io,a=na,c=xd,u=o.f;Ao=null,Yo=0,pr=null,xn=(u&(oa|Mc))===0?o:null,Wa=null,yf(o.ctx),na=!1,xd=++cd,o.ac!==null&&(Fy(()=>{o.ac.abort(Oy)}),o.ac=null);try{o.f|=dv;var f=o.fn,g=f();o.f|=$f;var p=o.deps,w=Hi==null?void 0:Hi.is_fork;if(Ao!==null){var m;if(w||yp(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&&(yp(o,Yo),p.length=Yo);if(rP()&&pr!==null&&!na&&p!==null&&(o.f&(no|ja|qs))===0)for(m=0;m<pr.length;m++)OP(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 lP(k)}finally{o.f^=dv,Ao=e,Yo=t,pr=i,xn=n,Wa=s,yf(r),na=a,xd=c}}function SH(o,e){let t=e.reactions;if(t!==null){var i=o3.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&=~_u),s.v!==Ws&&b0(s),cH(s),yp(s,0)}}function yp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)SH(o,t[i])}function Sf(o){var e=o.f;if((e&Ir)===0){ws(o,zs);var t=Ln,i=Am;Ln=o,Am=!0;try{(e&(ia|eP))!==0?yH(o):E0(o),DP(o);var n=FP(o);o.teardown=typeof n=="function"?n:null,o.wv=RP;var s;YT&&$3&&(o.f&qs)!==0&&o.deps}finally{Am=i,Ln=t}}}async function Om(){await Promise.resolve(),X3()}function d(o){var e=o.f,t=(e&no)!==0;if(xn!==null&&!na){var i=Ln!==null&&(Ln.f&Ir)!==0;if(!i&&(Wa===null||!Wa.has(o))){var n=xn.deps;if((xn.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{xn.deps??(xn.deps=[]),lv.call(xn.deps,o)||xn.deps.push(o);var s=o.reactions;s===null?o.reactions=[xn]:lv.call(s,xn)||s.push(xn)}}}if(Cl&&wd.has(o))return wd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&zs)===0&&r.reactions!==null||WP(r))&&(a=C0(r)),wd.set(r,a),a}var c=(r.f&Lr)===0&&!na&&xn!==null&&(Am||(xn.f&Lr)!==0),u=(r.f&$f)===0;w_(r)&&(c&&(r.f|=Lr),mP(r)),c&&!u&&(vP(r),HP(r))}if(Js!=null&&Js.has(o))return Js.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function HP(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&&(vP(e),HP(e))}function WP(o){if(o.v===Ws)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(wd.has(e)||(e.f&no)!==0&&WP(e))return!0;return!1}function Rl(o){var e=na;try{return na=!0,o()}finally{na=e}}const CH=["touchstart","touchmove"];function xH(o){return CH.includes(o)}const dd=Symbol("events"),BP=new Set,VS=new Set;function kH(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=kH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&L0(()=>{e.removeEventListener(o,r,s)})}function G(o,e,t){(e[dd]??(e[dd]={}))[o]=t}function Ks(o){for(var e=0;e<o.length;e++)BP.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){r3(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=xn,g=Ln;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(D){p?w.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of w)queueMicrotask(()=>{throw D});throw p}}finally{o[dd]=e,delete o.currentTarget,Tr(f),$a(g)}}}var yE;const Iw=((yE=globalThis==null?void 0:globalThis.window)==null?void 0:yE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function LH(o){return(Iw==null?void 0:Iw.createHTML(o))??o}function zP(o){var e=LP("template");return e.innerHTML=LH(o.replaceAll("<!>","<!---->")),e.content}function bu(o,e){var t=Ln;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function T(o,e){var t=(e&O3)!==0,i=(e&F3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=zP(s?o:"<!>"+o),t||(n=Ra(n)));var r=i||SP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ra(r),c=r.lastChild;bu(a,c)}else bu(r,r);return r}}function IH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=zP(n),a=Ra(r);s=Ra(a)}var c=s.cloneNode(!0);return bu(c,c),c}}function VP(o,e){return IH(o,e,"svg")}function sa(o=""){{var e=pl(o+"");return bu(e,e),e}}function Vs(){var o=document.createDocumentFragment(),e=document.createComment(""),t=pl();return o.append(e,t),bu(e,t),o}function E(o,e){o!==null&&o.before(e)}function F(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[xg]??(o[xg]=o.nodeValue))&&(o[xg]=t,o.nodeValue=`${t}`)}function DH(o,e){return EH(o,e)}const Y_=new Map;function EH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){fH();var c=void 0,u=vH(()=>{var f=t??e.appendChild(pl());eH(f,{pending:()=>{}},w=>{Ns({});var m=io;s&&(m.c=s),n&&(i.$$events=n),c=o(w,i)||{},Rs()},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=xH(x);for(const A of[e,document]){var D=Y_.get(A);D===void 0&&(D=new Map,Y_.set(A,D));var P=D.get(x);P===void 0?(A.addEventListener(x,jS,{passive:k}),D.set(x,1)):D.set(x,P+1)}}}};return p(Ny(BP)),VS.add(p),()=>{var k;for(var w of g)for(const D of[e,document]){var m=Y_.get(D),x=m.get(w);--x==0?(D.removeEventListener(w,jS),m.delete(w),m.size===0&&Y_.delete(D)):m.set(w,x)}VS.delete(p),f!==t&&((k=f.parentNode)==null||k.removeChild(f))}});return TH.set(c,u),c}let TH=new WeakMap;var Gr,La,er,_d,e_,t_,Sb;class PH{constructor(e,t=!0){pn(this,"anchor");sn(this,Gr,new Map);sn(this,La,new Map);sn(this,er,new Map);sn(this,_d,new Set);sn(this,e_,!0);sn(this,t_,e=>{if(re(this,Gr).has(e)){var t=re(this,Gr).get(e),i=re(this,La).get(t);if(i)fv(i),re(this,_d).delete(t);else{var n=re(this,er).get(t);n&&(fv(n.effect),re(this,La).set(t,n.effect),re(this,er).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of re(this,Gr)){if(re(this,Gr).delete(s),s===e)break;const a=re(this,er).get(r);a&&(jo(a.effect),re(this,er).delete(r))}for(const[s,r]of re(this,La)){if(s===t||re(this,_d).has(s))continue;const a=()=>{if(Array.from(re(this,Gr).values()).includes(s)){var u=document.createDocumentFragment();T0(r,u),u.append(pl()),re(this,er).set(s,{effect:r,fragment:u})}else jo(r);re(this,_d).delete(s),re(this,La).delete(s)};re(this,e_)||!i?(re(this,_d).add(s),Cd(r,a,!1)):a()}}});sn(this,Sb,e=>{re(this,Gr).delete(e);const t=Array.from(re(this,Gr).values());for(const[i,n]of re(this,er))t.includes(i)||(jo(n.effect),re(this,er).delete(i))});this.anchor=e,on(this,e_,t)}ensure(e,t){var i=Hi,n=kP();if(t&&!re(this,La).has(e)&&!re(this,er).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),re(this,er).set(e,{effect:br(()=>t(r)),fragment:s})}else re(this,La).set(e,br(()=>t(this.anchor)));if(re(this,Gr).set(i,e),n){for(const[a,c]of re(this,La))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of re(this,er))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(re(this,t_)),i.ondiscard(re(this,Sb))}else re(this,t_).call(this,i)}}Gr=new WeakMap,La=new WeakMap,er=new WeakMap,_d=new WeakMap,e_=new WeakMap,t_=new WeakMap,Sb=new WeakMap;function W(o,e,t=!1){var i=new PH(o),n=t?bf: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 rn(o,e){return e}function MH(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Cd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;$S(o,Ny(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;gH(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|=Na;const r=document.createDocumentFragment();T0(s,r)}else jo(e[n],t)}}var VL;function pi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&iP)!==0;if(c){var u=o;r=u.appendChild(pl())}var f=null,g=S0(()=>{var A=t();return v0(A)?A:A==null?[]:Ny(A)}),p,w=new Map,m=!0;function x(A){(P.effect.f&Ir)===0&&(P.pending.delete(A),P.fallback=f,NH(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Na)===0?fv(f):(f.f^=Na,Ig(f,null,r)):Cd(f,()=>{f=null})))}function k(A){P.pending.delete(A)}var D=D0(()=>{p=d(g);for(var A=p.length,j=new Set,H=Hi,te=kP(),J=0;J<A;J+=1){var le=p[J],we=i(le,J),We=m?null:a.get(we);We?(We.v&&wf(We.v,le),We.i&&wf(We.i,J),te&&H.unskip_effect(We.e)):(We=RH(a,m?r:VL??(VL=pl()),le,we,J,n,e,t),m||(We.e.f|=Na),a.set(we,We)),j.add(we)}if(A===0&&s&&!f&&(m?f=br(()=>s(r)):(f=br(()=>s(VL??(VL=pl()))),f.f|=Na)),A>j.size&&v3(),!m)if(w.set(H,j),te){for(const[ue,et]of a)j.has(ue)||H.skip_effect(et.e);H.oncommit(x),H.ondiscard(k)}else x(H);d(g)}),P={effect:D,items:a,pending:w,outrogroups:null,fallback:f};m=!1}function gg(o){for(;o!==null&&(o.f&oa)===0;)o=o.next;return o}function NH(o,e,t,i,n){var We,ue,et,rt,me,lt,ft,Pt,Ne;var s=(i&T3)!==0,r=e.length,a=o.items,c=gg(o.effect.first),u,f=null,g,p=[],w=[],m,x,k,D;if(s)for(D=0;D<r;D+=1)m=e[D],x=n(m,D),k=a.get(x).e,(k.f&Na)===0&&((ue=(We=k.nodes)==null?void 0:We.a)==null||ue.measure(),(g??(g=new Set)).add(k));for(D=0;D<r;D+=1){if(m=e[D],x=n(m,D),k=a.get(x).e,o.outrogroups!==null)for(const Lt of o.outrogroups)Lt.pending.delete(k),Lt.done.delete(k);if((k.f&xo)!==0&&(fv(k),s&&((rt=(et=k.nodes)==null?void 0:et.a)==null||rt.unfix(),(g??(g=new Set)).delete(k))),(k.f&Na)!==0)if(k.f^=Na,k===c)Ig(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),Ig(k,P,t),f=k,p=[],w=[],c=gg(f.next);continue}if(k!==c){if(u!==void 0&&u.has(k)){if(p.length<w.length){var A=w[0],j;f=A.prev;var H=p[0],te=p[p.length-1];for(j=0;j<p.length;j+=1)Ig(p[j],A,t);for(j=0;j<w.length;j+=1)u.delete(w[j]);Bl(o,H.prev,te.next),Bl(o,f,H),Bl(o,te,A),c=A,f=te,D-=1,p=[],w=[]}else u.delete(k),Ig(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=gg(c.next);if(c===null)continue}(k.f&Na)===0&&p.push(k),f=k,c=gg(k.next)}if(o.outrogroups!==null){for(const Lt of o.outrogroups)Lt.pending.size===0&&($S(o,Ny(Lt.done)),(me=o.outrogroups)==null||me.delete(Lt));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=gg(c.next);var le=J.length;if(le>0){var we=(i&iP)!==0&&r===0?t:null;if(s){for(D=0;D<le;D+=1)(ft=(lt=J[D].nodes)==null?void 0:lt.a)==null||ft.measure();for(D=0;D<le;D+=1)(Ne=(Pt=J[D].nodes)==null?void 0:Pt.a)==null||Ne.fix()}MH(o,J,we)}}s&&uc(()=>{var Lt,Oe;if(g!==void 0)for(k of g)(Oe=(Lt=k.nodes)==null?void 0:Lt.a)==null||Oe.apply()})}function RH(o,e,t,i,n,s,r,a){var c=(r&D3)!==0?(r&P3)===0?dH(t,!1,!1):vu(t):null,u=(r&E3)!==0?vu(n):null;return{v:c,i:u,e:br(()=>(s(e,c??t,u??n,a),()=>{o.delete(i)}))}}function Ig(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Na)===0?e.nodes.start:t;i!==null;){var r=y_(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;V(()=>{var u=Ln;if(a!==(a=e()??"")){if(t){u.nodes=null,c.innerHTML=a,a!==""&&bu(Ra(c),c.lastChild);return}if(u.nodes!==null&&(EP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?H3:n?W3:void 0,g=LP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(bu(Ra(p),p.lastChild),i||n)for(;Ra(p);)r.before(Ra(p));else r.before(p)}}})}function jP(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=jP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function AH(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=jP(o))&&(i&&(i+=" "),i+=e);return i}function J_(o){return typeof o=="object"?AH(o):o??""}const jL=[...`
3
+ \r\f \v\uFEFF`];function OH(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 FH(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 At(o,e,t,i,n,s){var r=o[RS];if(r!==t||r===void 0){var a=OH(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[RS]=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=FH(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 $P(o,e,t=!1){if(o.multiple){if(e==null)return;if(!v0(e))return z3();for(var i of o.options)i.selected=e.includes(Gg(i));return}for(i of o.options){var n=Gg(i);if(hH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function HH(o){var e=new MutationObserver(()=>{$P(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),Gg);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&Gg(c)}t(a),o.__value=a,Hi!==null&&i.add(Hi)}),I0(()=>{var s=e();if(o===document.activeElement){var r=Hi;if(i.has(r))return}if($P(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Gg(a),t(s))}o.__value=s,n=!1}),HH(o)}function Gg(o){return"__value"in o?o.__value:o.value}const WH=Symbol("is custom element"),BH=Symbol("is html"),zH=_3?"progress":"PROGRESS";function UL(o,e){var t=P0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==zH)||(o.value=e??"")}function Dg(o,e){var t=P0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Fi(o,e,t,i){var n=P0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[p3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&VH(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function P0(o){return o[Tm]??(o[Tm]={[WH]:o.nodeName.includes("-"),[BH]:o.namespaceURI===nP})}var qL=new Map;function VH(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=a3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=JT(n)}return t}function Xt(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),Hi!==null&&i.add(Hi),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))}}}),Rl(e)==null&&o.value&&(t(Tw(o)?Pw(o.value):o.value),Hi!==null&&i.add(Hi)),Hy(()=>{var n=e();if(o===document.activeElement){var s=Hi;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)}),Rl(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,Xh,i_,Cb,UP;const xb=class xb{constructor(e){sn(this,Cb);sn(this,tc,new WeakMap);sn(this,Xh);sn(this,i_);on(this,i_,e)}observe(e,t){var i=re(this,tc).get(e)||new Set;return i.add(t),re(this,tc).set(e,i),Bn(this,Cb,UP).call(this).observe(e,re(this,i_)),()=>{var n=re(this,tc).get(e);n.delete(t),n.size===0&&(re(this,tc).delete(e),re(this,Xh).unobserve(e))}}};tc=new WeakMap,Xh=new WeakMap,i_=new WeakMap,Cb=new WeakSet,UP=function(){return re(this,Xh)??on(this,Xh,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of re(this,tc).get(t.target)||[])i(t)}}))},pn(xb,"entries",new WeakMap);let US=xb;var jH=new US({box:"border-box"});function $H(o,e,t){var i=jH.observe(o,()=>t(o[e]));I0(()=>(Rl(()=>t(o[e])),i))}function Mw(o,e){return o===e||(o==null?void 0:o[yd])===e}function Ds(o={},e,t,i){var n=io.r,s=Ln;return I0(()=>{var r,a;return Hy(()=>{r=a,a=[],Rl(()=>{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&NS;)c=c.parent;const u=()=>{a&&Mw(t(...a),o)&&e(null,...a)},f=c.teardown;c.teardown=()=>{u(),f==null||f()}}}),o}function Cf(o,e,t,i){var j;var n=!0,s=(t&R3)!==0,r=(t&A3)!==0,a=i,c=!0,u=void 0,f=()=>r&&n?(u??(u=bp(i)),d(u)):(c&&(c=!1,a=r?Rl(i):i),a);let g;if(s){var p=yd in o||g3 in o;g=((j=Hh(o,e))==null?void 0:j.set)??(p&&e in o?H=>o[e]=H:void 0)}var w,m=!1;s?[w,m]=G3(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(C3(),g(w)));var x;if(x=()=>{var H=o[e];return H===void 0?f():(c=!0,H)},(t&N3)===0)return x;if(g){var k=o.$$legacy;return(function(H,te){return arguments.length>0?((!te||k||m)&&g(te?x():H),H):x()})}var D=!1,P=((t&M3)!==0?bp:S0)(()=>(D=!1,x()));s&&d(P);var A=Ln;return(function(H,te){if(arguments.length>0){const J=te?d(P):s?yi(H):H;return y(P,J),D=!0,a!==void 0&&(a=J),H}return Cl&&D||(A.f&Ir)!==0?P.v:d(P)})}function ao(o){io===null&&tP(),$n(()=>{const e=Rl(o);if(typeof e=="function")return e})}function Wy(o){io===null&&tP(),ao(()=>()=>Rl(o))}const UH="5";var wE;typeof window<"u"&&((wE=window.__svelte??(window.__svelte={})).v??(wE.v=new Set)).add(UH);/*!-----------------------------------------------------------------------------
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
6
+ * Released under the MIT license
7
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
8
+ *-----------------------------------------------------------------------------*/var qH=Object.defineProperty,GH=Object.getOwnPropertyDescriptor,KH=Object.getOwnPropertyNames,ZH=Object.prototype.hasOwnProperty,XH=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of KH(e))!ZH.call(o,n)&&n!==t&&qH(o,n,{get:()=>e[n],enumerable:!(i=GH(e,n))||i.enumerable});return o},YH=(o,e,t)=>(XH(o,e,"default"),t),S_={};YH(S_,CE);var JH=class{constructor(e,t,i){this._onDidChange=new S_.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)}},QH={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},eW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},qP=new JH("json",QH,eW),tW=()=>GP().then(o=>o.getWorker());S_.languages.json={jsonDefaults:qP,getWorker:tW};function GP(){return SE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}S_.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});S_.languages.onLanguage("json",()=>{GP().then(o=>o.setupMode(qP))});/*!-----------------------------------------------------------------------------
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 iW=Object.defineProperty,nW=Object.getOwnPropertyDescriptor,sW=Object.getOwnPropertyNames,oW=Object.prototype.hasOwnProperty,rW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of sW(e))!oW.call(o,n)&&n!==t&&iW(o,n,{get:()=>e[n],enumerable:!(i=nW(e,n))||i.enumerable});return o},aW=(o,e,t)=>(rW(o,e,"default"),t),lW="5.4.5",xf={};aW(xf,CE);var KP=(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))(KP||{}),ZP=(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))(ZP||{}),XP=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(XP||{}),YP=(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))(YP||{}),JP=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(JP||{}),QP=class{constructor(o,e,t,i,n){this._onDidChange=new xf.Emitter,this._onDidExtraLibsChange=new xf.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)}},cW=lW,eM={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},tM=new QP({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),iM=new QP({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),dW=()=>By().then(o=>o.getTypeScriptWorker()),uW=()=>By().then(o=>o.getJavaScriptWorker());xf.languages.typescript={ModuleKind:KP,JsxEmit:ZP,NewLineKind:XP,ScriptTarget:YP,ModuleResolutionKind:JP,typescriptVersion:cW,typescriptDefaults:tM,javascriptDefaults:iM,getTypeScriptWorker:dW,getJavaScriptWorker:uW};function By(){return SE(()=>import("./tsMode-BcbP1HsB.js"),__vite__mapDeps([3,1,2]))}xf.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(tM)));xf.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(iM)));class hW extends _o{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Gt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Ci.map,toggled:be.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:be.has("isInDiffEditor"),menu:{when:be.has("isInDiffEditor"),id:Nt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class nM extends _o{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Gt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class sM extends _o{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Gt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const C_=Gt("diffEditor","Diff Editor");class fW extends ra{constructor(){super({id:"diffEditor.switchSide",title:Gt("switchSide","Switch Side"),icon:Ci.arrowSwap,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,i){const n=qf(e);if(n instanceof n_){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class gW extends ra{constructor(){super({id:"diffEditor.exitCompareMove",title:Gt("exitCompareMove","Exit Compare Move"),icon:Ci.close,precondition:O.comparingMovedCode,f1:!1,category:C_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.exitCompareMove()}}class pW extends ra{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Gt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Ci.fold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.collapseAllUnchangedRegions()}}class _W extends ra{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Gt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Ci.unfold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.showAllUnchangedRegions()}}class qS extends _o{constructor(){super({id:"diffEditor.revert",title:Gt("revert","Revert"),f1:!1,category:C_})}run(e,t){const i=mW(e,t.originalUri,t.modifiedUri);i instanceof n_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const oM=Gt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends _o{constructor(){super({id:kb.id,title:Gt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerNext()}};kb.id="editor.action.accessibleDiffViewer.next";let wp=kb;const Lb=class Lb extends _o{constructor(){super({id:Lb.id,title:Gt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerPrev()}};Lb.id="editor.action.accessibleDiffViewer.prev";let gv=Lb;function mW(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 qf(o){const t=o.get(os).listDiffEditors(),i=xE();if(i)for(const n of t){const s=n.getContainerDomNode();if(vW(s,i))return n}return null}function vW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}In(hW);In(nM);In(sM);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new sM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:be.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:be.has("isInDiffEditor")},order:11,group:"1_diff",when:be.and(O.diffEditorRenderSideBySideInlineBreakpointReached,be.has("isInDiffEditor"))});Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new nM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Ci.move,toggled:LA.create("config.diffEditor.experimental.showMoves",!0),precondition:be.has("isInDiffEditor")},order:10,group:"1_diff",when:be.has("isInDiffEditor")});In(qS);for(const o of[{icon:Ci.arrowRight,key:O.diffEditorInlineMode.toNegated()},{icon:Ci.discard,key:O.diffEditorInlineMode}])Dr.appendMenuItem(Nt.DiffEditorHunkToolbar,{command:{id:new qS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Dr.appendMenuItem(Nt.DiffEditorSelectionToolbar,{command:{id:new qS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"});In(fW);In(gW);In(pW);In(_W);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:wp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:be.has("isInDiffEditor")},order:10,group:"2_diff",when:be.and(O.accessibleDiffViewerVisible.negate(),be.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",wp.id);In(wp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);In(gv);var bW=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)}},GS;const zy=new an("selectionAnchorSet",!1);var Dd;let Nc=(Dd=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(mi.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(mi.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=Dd,Dd.ID="editor.contrib.selectionAnchorController",Dd);Nc=GS=bW([yW(1,mn)],Nc);class wW extends je{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.setSelectionAnchor()}}class SW extends je{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=Nc.get(t))==null||i.goToSelectionAnchor()}}class CW extends je{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.selectFromAnchorToCursor()}}class xW extends je{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.cancelSelectionAnchor()}}qi(Nc.ID,Nc,4);de(wW);de(SW);de(CW);de(xW);const kW=$t("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class LW extends je{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.jumpToBracket()}}class IW extends je{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Gt("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=yu.get(t))==null||s.selectToBracket(n)}}class DW extends je{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.removeBrackets(this.id)}}class EW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends ut{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 mi(r.lineNumber,r.column,r.lineNumber,r.column):new mi(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(U.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 mi(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(Yt.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 EW(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(kW),position:Oa.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Qi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let yu=Kl;qi(yu.ID,yu,1);de(IW);de(LW);de(DW);Dr.appendMenuItem(Nt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class TW{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 U(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,s,i,s),a)}else{const r=new U(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new mi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new mi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class rM extends je{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 TW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class PW extends rM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:O.writable})}}class MW extends rM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:O.writable})}}de(PW);de(MW);class NW extends je{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:O.writable,kbOpts:{kbExpr:O.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(U.fromPositions(p,g)),m=i.getValueInRange(U.fromPositions(g,f)),x=U.fromPositions(p,f);n.push(new s_(x,m+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}de(NW);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 RW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class aM{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"),cM(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 lM(o,e){return cM(pv(o),e.map(pv))}function cM(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=>kE(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 Vn=wa;const GL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class AW{}const OW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};aa.add(OW.DragAndDropContribution,new AW);const sp=class sp{constructor(){}static getInstance(){return sp.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};sp.INSTANCE=new sp;let KS=sp;function dM(o){const e=new aM;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,FW(n))}}return e}function FW(o){const e=o.path?En.parse(o.path):void 0;return RW(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const HW=Object.freeze([GL.EDITORS,GL.FILES,mS.RESOURCES,mS.INTERNAL_URI_LIST]);function uM(o,e=!1){const t=dM(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(En.file(a).toString()):n.push(En.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ms.uriList,M0(jy.create(n)))}for(const n of HW)t.delete(n);return t}var N0=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Sp=function(o,e){return function(t,i){e(t,i,o)}};class R0{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 op=class op extends R0{constructor(){super(...arguments),this.kind=op.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}}};op.id="text",op.kind=new Vn("text.plain");let wu=op;class hM extends R0{constructor(){super(...arguments),this.kind=new Vn("uri.absolute"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await fM(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 R0{constructor(e){super(),this._workspaceContextService=e,this.kind=new Vn("uri.relative"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await fM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?IA(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=N0([Sp(0,lf)],_v);class WW{constructor(){this.kind=new Vn("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 fM(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:En.parse(n),originalText:n})}catch{}return i}let ZS=class extends ut{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new wu)),this._register(e.documentDropEditProvider.register("*",new hM)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};ZS=N0([Sp(0,Jt),Sp(1,lf)],ZS);let XS=class extends ut{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new wu)),this._register(e.documentPasteEditProvider.register("*",new hM)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new WW))}};XS=N0([Sp(0,Jt),Sp(1,lf)],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 Gf{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 x_)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Co=class gM extends Gf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new gM(this.value)}};class pM extends Gf{}class sr extends pM{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 Kf?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 Kf extends Gf{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 Kf;return this.options.forEach(e.appendChild,e),e}}class A0 extends Gf{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 Gf{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 Cp extends pM{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 Cp(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 x_ extends Gf{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 Cp&&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 x_;return this._children=this.children.map(t=>t.clone()),e}walk(e){KL(this.children,e)}}class Su{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 x_;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 Cp(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 Kf;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 Cp(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 _M(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 DA(o,{range:s,text:typeof t.insertText=="string"?Su.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function mM(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 BW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zW=function(o,e){return function(t,i){e(t,i,o)}};const VW=Qi.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:LE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Ib=class Ib extends ut{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=jt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=jt("span.icon");this.domNode.append(t),t.classList.add(...yn.asClassNameArray(Ci.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 JS=Ib,mv=class extends ut{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=lp(()=>{const a=U.fromPositions(e);this._currentDecorations.set([{range:a,options:VW}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(JS,this.id,this._editor,a,t,n))},s??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};mv=BW([zW(2,Ai)],mv);var jW=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)?EA(e,{actionHandler:{callback:n=>{this.closeMessage(),TA(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&&PA(xE(),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 U(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=jW([ZL(1,mn),ZL(2,la)],ko);const $W=mo.bindToContribution(ko.get);ni(new $W({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)}};qi(ko.ID,ko,4);function Nw(o,e){return e&&(o.stack||o.stacktrace)?C("stackTrace.format","{0}: {1}",JL(o),YL(o.stack)||YL(o.stacktrace)):JL(o)}function YL(o){return Array.isArray(o)?o.join(`
16
+ `):o}function JL(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(IE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Nw(t.error,e);if(t.exception)return Nw(t.exception,e)}return o.stack?Nw(o,e):o.message?o.message:C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var vM=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},Bh=function(o,e){return function(t,i){e(t,i,o)}},QS,Ed;let eC=(Ed=class extends ut{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(zn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(zn((()=>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=jt(".post-edit-widget"),this.button=this._register(new MA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(_n(this.domNode,Kn.CLICK,()=>this.showSelector()))}getId(){return QS.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)=>NA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},QS=Ed,Ed.baseId="editor.widget.postEditWidget",Ed);eC=QS=vM([Bh(7,Wf),Bh(8,mn),Bh(9,us)],eC);let bv=class extends ut{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 D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:k,allEdits:t.allEdits},i,n,s))},u=(k,D)=>{Hc(k)||(this._notificationService.error(D),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=_M(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=vM([Bh(4,Ai),Bh(5,fy),Bh(6,oo)],bv);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},Qu=function(o,e){return function(t,i){e(t,i,o)}},ed;const bM="editor.changePasteType",O0=new an("pasteWidgetVisible",!1,C("pasteWidgetVisible","Whether the paste widget is showing")),Rw="application/vnd.code.copyMetadata";var Td;let xl=(Td=class extends ut{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:bM,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,D,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 U(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(D=this._editor._getViewModel())==null?void 0:D.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=dM(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 j=vl(await Promise.all(f.map(async H=>{try{return await H.prepareDocumentPaste(t,s,g,A)}catch(te){console.error(te);return}})));j.reverse();for(const H of j)for(const[te,J]of H)g.replace(te,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=uM(e.clipboardData);s.delete(Rw);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=>lM(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 Vn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new cf(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 wu)return this.applyDefaultPasteHandler(i,n,m,s);const k={triggerKind:vS.Automatic},D=await this.getPasteEdits(x,i,g,t,k,m);if(p.add(D),m.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof wu)return this.applyDefaultPasteHandler(i,n,m,s);if(D.edits.length){const P=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(A,j)=>new Promise((H,te)=>{(async()=>{var J,le;try{const we=(le=(J=A.provider).resolveDocumentPasteEdit)==null?void 0:le.call(J,A,j),We=new py,ue=we&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([We.p,we]),{cancel:()=>(We.cancel(),te(new _y))},0);return ue&&(A.additionalEdit=ue.additionalEdit),H(A)}catch(we){return te(we)}})()}),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 cf(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const w={triggerKind:vS.PasteAs,only:e&&e instanceof Vn?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(D=>e instanceof Vn?e.contains(D.kind):e.providerId===D.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 D=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=D==null?void 0:D.edit}if(!x)return;const k=_M(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(Rw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Rw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=RA.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 o_(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:mM(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 Vn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},ed=Td,Td.ID="editor.contrib.copyPasteActionController",Td);xl=ed=UW([Qu(1,Ai),Qu(2,fy),Qu(3,Bf),Qu(4,Jt),Qu(5,El),Qu(6,AA)],xl);const Cu="9_cutcopypaste",qW=zf||document.queryCommandSupported("cut"),yM=zf||document.queryCommandSupported("copy"),GW=typeof navigator.clipboard>"u"||OA?document.queryCommandSupported("paste"):!0;function F0(o){return o.register(),o}const KW=qW?F0(new $x({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:zf?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Nt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Nt.EditorContext,group:Cu,title:C("actions.clipboard.cutLabel","Cut"),when:O.writable,order:1},{menuId:Nt.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Nt.SimpleEditorContext,group:Cu,title:C("actions.clipboard.cutLabel","Cut"),when:O.writable,order:1}]})):void 0,ZW=yM?F0(new $x({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:zf?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Nt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Nt.EditorContext,group:Cu,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Nt.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Nt.SimpleEditorContext,group:Cu,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Dr.appendMenuItem(Nt.MenubarEditMenu,{submenu:Nt.MenubarCopy,title:Gt("copy as","Copy As"),group:"2_ccp",order:3});Dr.appendMenuItem(Nt.EditorContext,{submenu:Nt.EditorContextCopy,title:Gt("copy as","Copy As"),group:Cu,order:3});Dr.appendMenuItem(Nt.EditorContext,{submenu:Nt.EditorContextShare,title:Gt("share","Share"),group:"11_share",order:-1,when:be.and(be.notEquals("resourceScheme","output"),O.editorTextFocus)});Dr.appendMenuItem(Nt.ExplorerContext,{submenu:Nt.ExplorerContextShare,title:Gt("share","Share"),group:"11_share",order:-1});const Aw=GW?F0(new $x({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:zf?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Nt.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Nt.EditorContext,group:Cu,title:C("actions.clipboard.pasteLabel","Paste"),when:O.writable,order:4},{menuId:Nt.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Nt.SimpleEditorContext,group:Cu,title:C("actions.clipboard.pasteLabel","Paste"),when:O.writable,order:4}]})):void 0;class XW extends je{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:O.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 wM(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)))}wM(KW,"cut");wM(ZW,"copy");Aw&&(Aw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(os),i=o.get(Bf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=xl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():FA?(async()=>{const a=await i.readText();if(a!==""){const c=HA.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)));yM&&de(XW);const On=new class{constructor(){this.QuickFix=new Vn("quickfix"),this.Refactor=new Vn("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 Vn("notebook"),this.Source=new Vn("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 YW(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>SM(e,t,o.include))||!o.includeSourceActions&&On.Source.contains(e))}function JW(o,e){const t=e.kind?new Vn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>SM(t,i,o.include))||!o.includeSourceActions&&t&&On.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function SM(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 Vn(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 QW{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 CM="editor.action.codeAction",H0="editor.action.quickFix",xM="editor.action.autoFix",kM="editor.action.refactor",LM="editor.action.sourceAction",tC="editor.action.organizeImports",iC="editor.action.fixAll";class Kg extends ut{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)?Kg.codeActionsPreferredComparator(e,t):-1:zo(t.diagnostics)?1:Kg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Kg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&On.QuickFix.contains(new Vn(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 QL={actions:[],documentation:void 0};async function kh(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 WA(e,s),f=i.type===2,g=eB(o,e,f?a:r),p=new ct,w=g.map(async k=>{try{n.report(k);const D=await k.provideCodeActions(e,t,c,u.token);if(D&&p.add(D),u.token.isCancellationRequested)return QL;const P=((D==null?void 0:D.actions)||[]).filter(j=>j&&JW(r,j)),A=iB(k,P,r.include);return{actions:P.map(j=>new QW(j,k)),documentation:A}}catch(D){if(Hc(D))throw D;return ss(D),QL}}),m=o.onDidChange(()=>{const k=o.all(e);Ba(k,g)||u.cancel()});try{const k=await Promise.all(w),D=k.map(A=>A.actions).flat(),P=[...vl(k.map(A=>A.documentation)),...tB(o,e,i,D)];return new Kg(D,P,p)}finally{m.dispose(),u.dispose()}}function eB(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>YW(t,new Vn(n))):!0)}function*tB(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 iB(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Vn(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 Vn(n.kind)))return s.command}}var ud;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(ud||(ud={}));async function nB(o,e,t,i,n=zi.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!==ud.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=sB(f);c.error(typeof g=="string"?g:C("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function sB(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 En))throw fl();const{codeActionProvider:s}=o.get(Jt),r=o.get(ro).getModel(e);if(!r)throw fl();const a=mi.isISelection(t)?mi.liftSelection(t):U.isIRange(t)?r.validateRange(t):void 0;if(!a)throw fl();const c=typeof i=="string"?new Vn(i):void 0,u=await kh(s,r,a,{type:1,triggerAction:Eo.Default,filter:{includeSourceActions:!0,include:c}},ll.None,zi.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(zi.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var oB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rB=function(o,e){return function(t,i){e(t,i,o)}},nC,Pd;let sC=(Pd=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:Vn.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 Vn(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=Pd,Pd.codeActionCommands=[kM,CM,LM,tC,iC],Pd);sC=nC=oB([rB(0,us)],sC);$t("symbolIcon.arrayForeground",vs,C("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.booleanForeground",vs,C("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("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."));$t("symbolIcon.colorForeground",vs,C("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.constantForeground",vs,C("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("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."));$t("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."));$t("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."));$t("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."));$t("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."));$t("symbolIcon.fileForeground",vs,C("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.folderForeground",vs,C("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("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."));$t("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."));$t("symbolIcon.keyForeground",vs,C("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.keywordForeground",vs,C("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("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."));$t("symbolIcon.moduleForeground",vs,C("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.namespaceForeground",vs,C("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.nullForeground",vs,C("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.numberForeground",vs,C("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.objectForeground",vs,C("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.operatorForeground",vs,C("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.packageForeground",vs,C("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.propertyForeground",vs,C("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.referenceForeground",vs,C("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.snippetForeground",vs,C("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.stringForeground",vs,C("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.structForeground",vs,C("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.textForeground",vs,C("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.typeParameterForeground",vs,C("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("symbolIcon.unitForeground",vs,C("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));$t("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 IM=Object.freeze({kind:Vn.Empty,title:C("codeAction.widget.id.more","More Actions...")}),aB=Object.freeze([{kind:On.QuickFix,title:C("codeAction.widget.id.quickfix","Quick Fix")},{kind:On.RefactorExtract,title:C("codeAction.widget.id.extract","Extract"),icon:Ci.wrench},{kind:On.RefactorInline,title:C("codeAction.widget.id.inline","Inline"),icon:Ci.wrench},{kind:On.RefactorRewrite,title:C("codeAction.widget.id.convert","Rewrite"),icon:Ci.wrench},{kind:On.RefactorMove,title:C("codeAction.widget.id.move","Move"),icon:Ci.wrench},{kind:On.SurroundWith,title:C("codeAction.widget.id.surround","Surround With"),icon:Ci.surroundWith},{kind:On.Source,title:C("codeAction.widget.id.source","Source Action"),icon:Ci.symbolFile},IM]);function lB(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:IM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=aB.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Vn(s.action.kind):Vn.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:Ci.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var cB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dB=function(o,e){return function(t,i){e(t,i,o)}},ph;const eI=ts("gutter-lightbulb",Ci.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",Ci.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",Ci.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",Ci.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",Ci.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 xp=(dl=class extends ut{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Bi),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=ph.GUTTER_DECORATION,this._domNode=jt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(DE.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(BA(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(xM))==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 te=H.options.glyphMarginClassName;if(te&&!this.lightbulbClasses.some(J=>te.includes(J))){k=!0;break}}let D=a,P=1;if(!w){const H=te=>{const J=r.getLineContent(te);return/^\s*$|^\s+/.test(J)||J.length<=P};if(a>1&&!m(a-1)){const te=r.getLineCount(),J=a===te,le=a>1&&H(a-1),we=!J&&H(a+1),We=H(a),ue=!we&&!le;if(!we&&!le&&!k)return this.gutterState=new $r.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:ph._posPref}),this.renderGutterLightbub(),this.hide();le||J||le&&!We?D-=1:(we||ue&&We)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new $r.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:ph._posPref}),k)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!m(a+1))D+=1;else if(c*f.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new $r.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:ph._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const A=e.validActions,j=e.validActions[0].action.kind;if(A.length!==1||!j){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=Ci.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Ci.lightbulbSparkleAutofix:e=Ci.lightbulbAutofix:this.state.actions.hasAIFix?e=Ci.lightbulbSparkle:e=Ci.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=yn.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:yn.asClassName(e),glyphMargin:{position:Jm.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 U(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 U(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}},ph=dl,dl.GUTTER_DECORATION=Qi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:yn.asClassName(Ci.lightBulb),glyphMargin:{position:Jm.Left},stickiness:1}),dl.ID="editor.contrib.lightbulbWidget",dl._posPref=[0],dl);xp=ph=cB([dB(1,us)],xp);var DM=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 EM="acceptSelectedCodeAction",TM="previewSelectedCodeAction";class uB{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=yn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=md(e.group.icon.color.id))):(i.icon.className=yn.asClassName(Ci.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=PM(e.label),i.keybinding.set(e.keybinding),zA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(EM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(TM))==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=DM([oC(1,us)],rC);class hB extends UIEvent{constructor(){super("acceptSelectedAction")}}class oI extends UIEvent{constructor(){super("previewSelectedAction")}}function fB(o){if(o.kind==="action")return o.label}let aC=class extends ut{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 uB],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:fB},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let u=c.label?PM(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(VA),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 hB;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=DM([oC(4,my),oC(5,us)],aC);function PM(o){return o.replace(/\r\n|\r|\n/g," ")}var gB=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)}};$t("actionBar.toggledBackground",Xx,C("actionBar.toggledBackground","Background color for toggled action items in action bar."));const xu={Visible:new an("codeActionMenuVisible",!1,C("codeActionMenuVisible","Whether the action widget list is visible"))},Hu=Tl("actionWidgetService");let ku=class extends ut{get isVisible(){return xu.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=xu.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(df(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=jt(e),n=new cp(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};ku=gB([Ow(0,my),Ow(1,mn),Ow(2,Ai)],ku);Pl(Hu,ku,1);const k_=1100;In(class extends _o{constructor(){super({id:"hideCodeActionWidget",title:Gt("hideCodeActionWidget.title","Hide action widget"),precondition:xu.Visible,keybinding:{weight:k_,primary:9,secondary:[1033]}})}run(o){o.get(Hu).hide(!0)}});In(class extends _o{constructor(){super({id:"selectPrevCodeAction",title:Gt("selectPrevCodeAction.title","Select previous action"),precondition:xu.Visible,keybinding:{weight:k_,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Hu);e instanceof ku&&e.focusPrevious()}});In(class extends _o{constructor(){super({id:"selectNextCodeAction",title:Gt("selectNextCodeAction.title","Select next action"),precondition:xu.Visible,keybinding:{weight:k_,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Hu);e instanceof ku&&e.focusNext()}});In(class extends _o{constructor(){super({id:EM,title:Gt("acceptSelected.title","Accept selected action"),precondition:xu.Visible,keybinding:{weight:k_,primary:3,secondary:[2137]}})}run(o){const e=o.get(Hu);e instanceof ku&&e.acceptSelected()}});In(class extends _o{constructor(){super({id:TM,title:Gt("previewSelected.title","Preview selected action"),precondition:xu.Visible,keybinding:{weight:k_,primary:2051}})}run(o){const e=o.get(Hu);e instanceof ku&&e.acceptSelected(!0)}});const MM=new an("supportedCodeAction",""),rI="_typescript.applyFixAllCodeAction";class pB extends ut{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new r_),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=>Qm(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 NM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(sd||(sd={}));const NM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class _B extends ut{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 Bi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=MM.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 pB(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,D,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 j=await kh(this._registry,e,i.selection,i.trigger,ll.None,u),H=[...j.allActions];if(u.isCancellationRequested)return NM;const te=(p=j.validActions)==null?void 0:p.some(le=>le.action.kind?On.QuickFix.contains(new Vn(le.action.kind)):!1),J=this._markerService.read({resource:e.uri});if(te){for(const le of j.validActions)(m=(w=le.action.command)==null?void 0:w.arguments)!=null&&m.some(we=>typeof we=="string"&&we.includes(rI))&&(le.action.diagnostics=[...J.filter(we=>we.relatedInformation)]);return{validActions:j.validActions,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}else if(!te&&J.length>0){const le=i.selection.getPosition();let we=le,We=Number.MAX_VALUE;const ue=[...j.validActions];for(const rt of J){const me=rt.endColumn,lt=rt.endLineNumber,ft=rt.startLineNumber;if(lt===le.lineNumber||ft===le.lineNumber){we=new Yt(lt,me);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:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:we}},Ne=new mi(we.lineNumber,we.column,we.lineNumber,we.column),Lt=await kh(this._registry,e,Ne,Pt,ll.None,u);if(Lt.validActions.length!==0){for(const Oe of Lt.validActions)(A=(P=Oe.action.command)==null?void 0:P.arguments)!=null&&A.some(Se=>typeof Se=="string"&&Se.includes(rI))&&(Oe.action.diagnostics=[...J.filter(Se=>Se.relatedInformation)]);j.allActions.length===0&&H.push(...Lt.allActions),Math.abs(le.column-me)<We?ue.unshift(...Lt.validActions):ue.push(...Lt.validActions)}We=Math.abs(le.column-me)}}const et=ue.filter((rt,me,lt)=>lt.findIndex(ft=>ft.action.title===rt.action.title)===me);return et.sort((rt,me)=>rt.action.isPreferred&&!me.action.isPreferred?-1:!rt.action.isPreferred&&me.action.isPreferred||rt.action.isAI&&!me.action.isAI?1:!rt.action.isAI&&me.action.isAI?-1:0),{validActions:et,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}}if(i.trigger.type===1){const j=new Do,H=await kh(this._registry,e,i.selection,i.trigger,ll.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:j.elapsed()}),H}return kh(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 mB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_a=function(o,e){return function(t,i){e(t,i,o)}},_h;const vB="quickfix-edit-highlight";var gc;let kf=(gc=class extends ut{static get(e){return e.getContribution(_h.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 _B(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(xp.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,ud.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(nB,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){Nn(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,ud.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=Yt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?ud.FromAILightbulb:ud.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 Vn(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:_h.DECORATION})):p.map(x=>({range:x,options:_h.DECORATION}));n.set(m)}else if(w&&w.length>0){const m=w.map(k=>({range:k,options:_h.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;uf(C("editingNewSelection","Context: {0} at line {1} and column {2}.",k,x.startLineNumber,x.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,lB(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}},_h=gc,gc.ID="editor.contrib.codeActionController",gc.DECORATION=Qi.register({description:"quickfix-highlight",className:vB}),gc);kf=_h=mB([_a(1,Yx),_a(2,mn),_a(3,Ai),_a(4,Jt),_a(5,a_),_a(6,Cs),_a(7,jn),_a(8,Hu),_a(9,Ai),_a(10,ca)],kf);vy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(jA));const i=o.getColor(EE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${dp(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function L_(o){return be.regex(MM.keys()[0],new RegExp("(\\s|^)"+up(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 Wu(o,e,t,i,n=Eo.Default){if(o.hasModel()){const s=kf.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class bB extends je{constructor(){super({id:H0,label:C("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:be.and(O.writable,O.hasCodeActionsProvider),kbOpts:{kbExpr:O.textInputFocus,primary:2137,weight:100}})}run(e,t){return Wu(t,C("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Eo.QuickFix)}}class yB extends mo{constructor(){super({id:CM,precondition:be.and(O.writable,O.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:W0}]}})}runEditorCommand(e,t,i){const n=Ta.fromUser(i,{kind:Vn.Empty,apply:"ifSingle"});return Wu(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 wB extends je{constructor(){super({id:kM,label:C("refactor.label","Refactor..."),alias:"Refactor...",precondition:be.and(O.writable,O.hasCodeActionsProvider),kbOpts:{kbExpr:O.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:be.and(O.writable,L_(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 Wu(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:Vn.None,onlyIncludePreferredActions:n.preferred},n.apply,Eo.Refactor)}}class SB extends je{constructor(){super({id:LM,label:C("source.label","Source Action..."),alias:"Source Action...",precondition:be.and(O.writable,O.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:be.and(O.writable,L_(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 Wu(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:Vn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Eo.SourceAction)}}class CB extends je{constructor(){super({id:tC,label:C("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:be.and(O.writable,L_(On.SourceOrganizeImports)),kbOpts:{kbExpr:O.textInputFocus,primary:1581,weight:100}})}run(e,t){return Wu(t,C("editor.action.organize.noneMessage","No organize imports action available"),{include:On.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Eo.OrganizeImports)}}class xB extends je{constructor(){super({id:iC,label:C("fixAll.label","Fix All"),alias:"Fix All",precondition:be.and(O.writable,L_(On.SourceFixAll))})}run(e,t){return Wu(t,C("fixAll.noneMessage","No fix all action available"),{include:On.SourceFixAll,includeSourceActions:!0},"ifSingle",Eo.FixAll)}}class kB extends je{constructor(){super({id:xM,label:C("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:be.and(O.writable,L_(On.QuickFix)),kbOpts:{kbExpr:O.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Wu(t,C("editor.action.autoFix.noneMessage","No auto fixes available"),{include:On.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Eo.AutoFix)}}qi(kf.ID,kf,3);qi(xp.ID,xp,4);de(bB);de(wB);de(SB);de(CB);de(kB);de(xB);ni(new yB);aa.as(l_.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(l_.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(l_.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 RM(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;vn(En.isUri(t)),vn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Jt),s=o.get(ro).getModel(t);if(!s)throw fl();const r=[],a=new ct;return RM(n,s,zi.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,zi.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var LB=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},IB=function(o,e){return function(t,i){e(t,i,o)}};const AM=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 c_(20,.75);const t="codelens/cache";$A(UA,()=>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===Jx.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 U(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=LB([IB(0,Wc)],cC);Pl(AM,cC,1);class DB{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 rp=class rp{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${rp._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s<e.length;s++){const r=e[s];if(r&&(n=!0,r.command)){const a=qA(r.command.title.trim());if(r.command.id){const c=`c${rp._idPool++}`;i.push(jt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(jt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(jt("span",void 0," | "))}}n?(ev(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ev(this._domNode,jt("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}};rp._idPool=0;let dC=rp;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=U.plusRange(a,u.symbol.range):a=U.lift(u.symbol.range)}),this._viewZone=new DB(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&&U.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 EB=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},pg=function(o,e){return function(t,i){e(t,i,o)}},Yh;let kp=(Yh=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",Qx.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&&lp(()=>{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=>RM(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()},Nn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(zn(()=>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(zn(()=>{if(this._editor.getModel()){const n=hf.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=hf.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=>{Nn(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}},Yh.ID="css.editor.codeLens",Yh);kp=EB([pg(1,Jt),pg(2,rr),pg(3,Cs),pg(4,oo),pg(5,AM)],kp);qi(kp.ID,kp,1);de(class extends je{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:O.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(kp.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 OM=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 Lp=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 Ji(new ff(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Ji.Format.CSS.formatRGB(a):Ji.Format.CSS.formatRGBA(a),u=r?Ji.Format.CSS.formatHSL(a):Ji.Format.CSS.formatHSLA(a),f=r?Ji.Format.CSS.formatHex(a):Ji.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}};Lp=OM([uC(0,Ml)],Lp);let hC=class extends ut{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Lp(t)))}};hC=OM([uC(0,Jt),uC(1,Ml)],hC);Vf(hC);async function FM(o,e,t,i=!0){return B0(new TB,o,e,t,i)}function HM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class TB{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 PB{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 MB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,zi.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 Lp)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 WM(o,e){const{colorProvider:t}=o.get(Jt),i=o.get(ro).getModel(e);if(!i)throw fl();const n=o.get(jn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Hn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof En))throw fl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=WM(o,t);return B0(new PB,n,i,zi.None,s)});Hn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof En)||!Array.isArray(t)||t.length!==4||!U.isIRange(s))throw fl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=WM(o,n),[u,f,g,p]=t;return B0(new MB({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,zi.None,c)});var NB=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 BM=Object.create({});var pc;let Lf=(pc=class extends ut{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 TE(this._editor),this._decoratorLimitReporter=new RB,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 r_,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 FM(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){Nn(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 ff(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:LE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:BM}}})}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(U.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);Lf=fC=NB([Hw(1,jn),Hw(2,Jt),Hw(3,rr)],Lf);class RB{constructor(){this._onDidChange=new Bi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}qi(Lf.ID,Lf,1);class AB{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 Bi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Bi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Bi,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=jt;class OB extends ut{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Bo(".colorpicker-header"),Ot(e,this._domNode),this._pickedColorNode=Ot(this._domNode,Bo(".picked-color")),Ot(this._pickedColorNode,Bo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=Ot(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=Ot(this._domNode,Bo(".original-color")),this._originalColorNode.style.backgroundColor=Ji.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(iL)||Ji.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(iL)||Ji.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=Ji.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 FB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Ji.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 FB extends ut{constructor(e){super(),this._onClicked=this._register(new Bi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Ot(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),Ot(this._button,t),Ot(t,Bo(".button"+yn.asCSSSelector(ts("color-picker-close",Ci.close,C("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(_n(this._button,Kn.CLICK,()=>{this._onClicked.fire()}))}}class HB extends ut{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Bo(".colorpicker-body"),Ot(e,this._domNode),this._saturationBox=new WB(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 BB(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 zB(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 VB(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 Ji(new Lm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Ji(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 Ji(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 WB extends ut{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Bi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Bi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Bo(".saturation-wrap"),Ot(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Ot(this._domNode,this._canvas),this.selection=Bo(".saturation-selection"),Ot(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 PE);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 Ji(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=Ji.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 zM extends ut{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Bi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Bi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=Ot(e,Bo(".standalone-strip")),this.overlay=Ot(this.domNode,Bo(".standalone-overlay"))):(this.domNode=Ot(e,Bo(".strip")),this.overlay=Ot(this.domNode,Bo(".overlay"))),this.slider=Ot(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 PE),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 BB extends zM{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 Ji(new ff(t,i,n,1)),r=new Ji(new ff(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class zB extends zM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class VB extends ut{constructor(e){super(),this._onClicked=this._register(new Bi),this.onClicked=this._onClicked.event,this._button=Ot(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 jB extends d_{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(GA.getInstance(vd(e)).onDidChange(()=>this.layout())),this._domNode=Bo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new OB(this._domNode,this.model,n,s)),this.body=this._register(new HB(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 Lu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Bu=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var VM=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},jM=function(o,e){return function(t,i){e(t,i,o)}};class $B{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 Ip=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=Lf.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 $M(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=UM(this,this._editor,this._themeService,t,e);if(!i)return new Lu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Lu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Ip=VM([jM(1,Mr)],Ip);class UB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Dp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!Lf.get(this._editor))return null;const s=await FM(i,this._editor.getModel(),zi.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;U.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const c=r??e,u=a??t,f=!!r;return{colorHover:await $M(this,this._editor.getModel(),c,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new U(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=qM(this._editor,i,t))}renderHoverParts(e,t){return UM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Dp=VM([jM(1,Mr)],Dp);async function $M(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,u=new ff(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),f=new Ji(u),g=await HM(e,t,i,zi.None),p=new AB(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Ip?new $B(o,U.lift(t.range),p,i):new UB(o,U.lift(t.range),p,i)}function UM(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 jB(n.fragment,c,e.getOption(144),t,o instanceof Dp));let f=!1,g=new U(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Dp){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=qM(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 qM(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=U.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 HM(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,zi.None);e.colorPresentations=s||[]}const GM="editor.action.showHover",qB="editor.action.showDefinitionPreviewHover",GB="editor.action.scrollUpHover",KB="editor.action.scrollDownHover",ZB="editor.action.scrollLeftHover",XB="editor.action.scrollRightHover",YB="editor.action.pageUpHover",JB="editor.action.pageDownHover",QB="editor.action.goToTopHover",e4="editor.action.goToBottomHover",$y="editor.action.increaseHoverVerbosityLevel",t4=C({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Uy="editor.action.decreaseHoverVerbosityLevel",i4=C({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),KM="editor.action.inlineSuggest.commit",ZM="editor.action.inlineSuggest.showPrevious",XM="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 ut{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=kn(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 Yt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(u_((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=AE((u,f)=>{const g=f.add(this.instantiationService.createInstance(If,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(zn(()=>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,Ai)],gC);const n4=ts("inline-suggestion-hints-next",Ci.chevronRight,C("parameterHintsNextIcon","Icon for show next parameter hint.")),s4=ts("inline-suggestion-hints-previous",Ci.chevronLeft,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var _c;let If=(_c=class extends ut{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new gf(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(ZM,C("previous","Previous"),yn.asClassName(s4)),this.availableSuggestionCountAction=new gf("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(XM,C("next","Next"),yn.asClassName(n4)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Nt.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,Nt.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,w)=>{if(p instanceof pf)return c.createInstance(r4,p,void 0);if(p===this.availableSuggestionCountAction){const m=new o4(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 D of k)D instanceof pf&&m.push(D);m.length>0&&m.unshift(new hp),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);If=Bm=z0([yr(6,Cs),yr(7,Ai),yr(8,us),yr(9,mn),yr(10,Ru)],If);class o4 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 r4=class extends ME{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,...NE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},pC=class extends RE{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,Ru),yr(4,mn),yr(5,Wf),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 a4=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class YM extends ut{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Bi),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=KA(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){Nn(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 a4(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 Bi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Bi,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 yh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new yh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new yh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:nL.North}),this._southSash=new yh(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 l4=30,c4=24;class d4 extends ut{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?Yt.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-l4}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=fo(t),s=h_(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-c4}_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 u4=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},Q_=function(o,e){return function(t,i){e(t,i,o)}},ba;const dI=30,h4=6;var mc;let _C=(mc=class extends d4{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 OE),this._onDidResize=this._register(new Bi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=O.hoverVisible.bindTo(t),this._hoverFocusedKey=O.hoverFocused.bindTo(t),Ot(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(df(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=h4;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?h_(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=wh(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&&ZA(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=wh(e),i=gr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=wh(e),i=gr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=wh(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=u4([Q_(1,mn),Q_(2,jn),Q_(3,wy),Q_(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 JM{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 f4(this,this.anchor,t,this.isComplete)}}class f4 extends JM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}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},p4=function(o,e){return function(t,i){e(t,i,o)}};const hI=jt;let wv=class extends ut{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=Ot(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(XA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=Ot(this.actionsElement,e);return this._hasContent=!0,t}};wv=g4([p4(0,us)],wv);class _4{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function m4(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ss);if(!(!s||!v4(s)))return new _4(o,s,e)}function j0(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>m4(a,c,e,t,i));return ta.fromPromises(r).coalesce()}function QM(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(Jt);return QM(i.hoverProvider,e,t,zi.None)});vo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Jt);return QM(i.hoverProvider,e,t,zi.None,!0)});function v4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var b4=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 Lh=jt,y4=ts("hover-increase-verbosity",Ci.add,C("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),w4=ts("hover-decrease-verbosity",Ci.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 eN{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 Ep=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,D=m.options.hoverMessage;if(!D||fp(D))continue;m.options.beforeContentClassName&&(w=!0);const P=new U(e.range.startLineNumber,x,e.range.startLineNumber,k);r.push(new Cr(this,P,FE(D),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=>!fp(c.hover.contents)).map(c=>{const u=c.hover.range?U.lift(c.hover.range):i.range,f=new eN(c.hover,c.provider,s);return new Cr(this,u,c.hover.contents,!1,c.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new S4(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))}};Ep=b4([Kc(1,da),Kc(2,la),Kc(3,jn),Kc(4,Jt),Kc(5,us),Kc(6,f_),Kc(7,Cs)],Ep);class em{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class S4{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(zn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(g_(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=Lh("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 tN(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new ct,s=t===nr.Increase,r=Ot(e,Lh(yn.asCSSSelector(s?y4:w4)));r.tabIndex=0;const a=new YA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,x4(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 JA(r,c)),n.add(new QA(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 eN(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 C4(o,e,t,i,n){e.sort(g_(r=>r.ordinal,Sy));const s=[];for(const r of e)s.push(tN(t,r,i,n,o.onContentsChanged));return new Lu(s)}function tN(o,e,t,i,n){const s=new ct,r=Lh("div.hover-row"),a=Lh("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const f of c){if(fp(f))continue;const g=Lh("div.markdown-hover"),p=Ot(g,Lh("div.hover-contents")),w=s.add(new jf({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 x4(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 ut{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Bi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Bi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Bi),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 iN{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 Nh=class Nh{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??Nh._emptyInlayHintList,a])}catch(u){ss(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new _y;return new Nh(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=Nh._getRangeAtPosition(i,c);let g;f.getStartPosition().isBefore(c)?(g=U.fromPositions(f.getStartPosition(),c),u="after"):(g=U.fromPositions(c,f.getEndPosition()),u="before"),n.push(new $0(a,new iN(g,u),r))}}this.items=n.sort((s,r)=>Yt.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 U(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 U(i,c+1,i,u+1)}};Nh._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Sv=Nh;function k4(o){return En.from({scheme:uo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var L4=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)}};let Pr=class extends eO{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=L4([Ja(4,Ai),Ja(5,os),Ja(6,Cs),Ja(7,mn),Ja(8,Mr),Ja(9,oo),Ja(10,wy),Ja(11,xs),Ja(12,Jt)],Pr);const pI=new Ji(new ff(0,122,204)),I4={showArrow:!0,showFrame:!0,className:"",frameColor:pI,arrowColor:pI,keepEditorSelection:!1},D4="vs.editor.contrib.zoneWidget";class E4{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 T4{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),nO(`.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:U.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Db._IdGenerator=new iO(".arrow-decoration-");let vC=Db;class P4{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=tO(t),t0(this.options,I4,!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=U.isIRange(e)?U.lift(e):U.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 E4(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 T4(D4+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 U(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 yh(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 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},sN=function(o,e){return function(t,i){e(t,i,o)}};const oN=Tl("IPeekViewService");Pl(oN,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 Jh;let Cv=(Jh=class{constructor(e,t){e instanceof Pr&&go.inPeekEditor.bindTo(t)}dispose(){}},Jh.ID="editor.contrib.referenceController",Jh);Cv=nN([sN(1,mn)],Cv);qi(Cv.ID,Cv,0);function M4(o){const e=o.get(os).getFocusedCodeEditor();return e instanceof Pr?e.getParentEditor():e}const N4={headerBackgroundColor:Ji.white,primaryHeadingColor:Ji.fromHex("#333333"),secondaryHeadingColor:Ji.fromHex("#6c6c6cb3")};let xv=class extends P4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Bi,this.onDidClose=this._onDidClose.event,t0(this.options,N4,!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=jt(".head"),this._bodyElement=jt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=jt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),yl(this._titleElement,"click",s=>this._onTitleClick(s))),Ot(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=jt("span.filename"),this._secondaryHeading=jt("span.dirname"),this._metaHeading=jt("span.meta"),Ot(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=jt(".peekview-actions");Ot(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new cp(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new gf("peekview.close",C("label.close","Close"),yn.asClassName(Ci.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:sO.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=nN([sN(2,Ai)],xv);const R4=$t("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ji.black,hcLight:Ji.white},C("peekViewTitleBackground","Background color of the peek view title area.")),rN=$t("peekViewTitleLabel.foreground",{dark:Ji.white,light:Ji.black,hcDark:Ji.white,hcLight:p_},C("peekViewTitleForeground","Color of the peek view title.")),aN=$t("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},C("peekViewTitleInfoForeground","Color of the peek view title info.")),A4=$t("peekView.border",{dark:yS,light:yS,hcDark:bl,hcLight:bl},C("peekViewBorder","Color of the peek view borders and arrow.")),O4=$t("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ji.black,hcLight:Ji.white},C("peekViewResultsBackground","Background color of the peek view result list."));$t("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Ji.white,hcLight:p_},C("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));$t("peekViewResult.fileForeground",{dark:Ji.white,light:"#1E1E1E",hcDark:Ji.white,hcLight:p_},C("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));$t("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},C("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));$t("peekViewResult.selectionForeground",{dark:Ji.white,light:"#6C6C6C",hcDark:Ji.white,hcLight:p_},C("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const lN=$t("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Ji.black,hcLight:Ji.white},C("peekViewEditorBackground","Background color of the peek view editor."));$t("peekViewEditorGutter.background",lN,C("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));$t("peekViewEditorStickyScroll.background",lN,C("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));$t("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},C("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));$t("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},C("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));$t("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:pu,hcLight:pu},C("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Rc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=oO.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 F4{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 U(n,c.startColumn,n,s),f=new U(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 Tp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ec}dispose(){Qs(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 F4(i))}catch(i){Nn(i)}return this}}class Lo{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Bi,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 Tp(this,s.uri),this.groups.push(n)),n.children.length===0||Lo._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Rc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Qs(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:__(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()&&U.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)||U.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 Tp}getChildren(e){if(e instanceof Lo)return e.groups;if(e instanceof Tp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};yC=Ky([Zy(0,ua)],yC);class H4{getHeight(){return 23}getTemplateId(e){return e instanceof Tp?kv.id:Lv.id}}let wC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Rc){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 W4{getId(e){return e instanceof Rc?e.id:e.uri}}let SC=class extends ut{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new HE(i,{supportHighlights:!0})),this.badge=new rO(Ot(i,jt(".count")),{},aO),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,gp)],SC);var Md;let kv=(Md=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=Md,Md.id="FileReferencesRenderer",Md);kv=bC=Ky([Zy(0,Ai)],kv);class B4 extends ut{constructor(e){super(),this.label=this._register(new lO(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&&!pp.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 B4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Eb.id="OneReferenceRenderer";let Lv=Eb;class z4{getWidgetAriaLabel(){return C("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var V4=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)}};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(!U.equalsRange(s,n.range)){if(U.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 j4{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 $4 extends uO{}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 Bi,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(),Qs(this._preview),Qs(this._previewNotAvailableMessage),Qs(this._tree),Qs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(A4)||Ji.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(R4)||Ji.transparent,primaryHeadingColor:e.getColor(rN),secondaryHeadingColor:e.getColor(aN)})}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=Ot(e,jt("div.messages")),Oo(this._messageContainer),this._splitView=new cO(e,{orientation:1}),this._previewContainer=Ot(e,jt("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"),_p,ic.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=Ot(e,jt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new z4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(wC),identityProvider:new W4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:O4}};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($4,"ReferencesWidget",this._treeContainer,new H4,[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 Rc&&(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 Rc)return e;if(e instanceof Tp&&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(dO(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}Qs(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=U.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=V4([eh(3,Mr),eh(4,ua),eh(5,Ai),eh(6,oN),eh(7,gp),eh(8,us)],xC);var U4=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)}},zm;const zu=new an("referenceSearchVisible",!1,C("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Nd;let Iu=(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=zu.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=j4.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 Yt(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=U.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,Nn(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);Iu=zm=U4([th(2,mn),th(3,os),th(4,oo),th(5,Ai),th(6,Wc),th(7,jn)],Iu);function Vu(o,e){const t=M4(o);if(!t)return;const i=Iu.get(t);i&&e(i)}Ua.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ds(2089,60),when:be.or(zu,go.inPeekEditor),handler(o){Vu(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ua.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:be.or(zu,go.inPeekEditor),handler(o){Vu(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ua.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:be.or(zu,go.inPeekEditor),handler(o){Vu(o,e=>{e.goToNextOrPreviousReference(!1)})}});Hn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Hn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Hn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Hn.registerCommand("closeReferenceSearch",o=>Vu(o,e=>e.closeWidget()));Ua.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:be.and(go.inPeekEditor,be.not("config.editor.stablePeek"))});Ua.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:be.and(zu,be.not("config.editor.stablePeek"),be.or(O.editorTextFocus,hO.negate()))});Ua.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:be.and(zu,WE,BE.negate(),zE.negate()),handler(o){var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Rc&&Vu(o,n=>n.revealReference(t[0]))}});Ua.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:be.and(zu,WE,BE.negate(),zE.negate()),handler(o){var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Rc&&Vu(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 Rc&&Vu(o,n=>n.openReference(t[0],!1,!0))});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},Eg=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(Qm(g.uri,a.uri))u=!0,f=f||U.containsPosition(g.range,c);else if(u)break;(!u||!f)&&this.reset()});this._currentState=VE(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:U.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=cN([Eg(0,mn),Eg(1,os),Eg(2,oo),Eg(3,us)],kC);Pl(Xy,kC,1);ni(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 Bi,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(),Qs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,VE(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=cN([Eg(0,os)],LC);function IC(o,e){return e.uri.scheme===o.uri.scheme?!0:!fO(e.uri,uo.walkThroughSnippet,uo.vscodeChatCodeBlock,uo.vscodeChatCodeCompareBlock)}async function I_(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 D_(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function q0(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function G0(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function K0(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function E_(o,e,t,i,n,s){return I_(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(Jt),n=D_(i.definitionProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Jt),n=D_(i.definitionProvider,e,t,!0,zi.None);return qa(()=>n)});vo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Jt),n=K0(i.typeDefinitionProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Jt),n=K0(i.typeDefinitionProvider,e,t,!0,zi.None);return qa(()=>n)});vo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Jt),n=q0(i.declarationProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Jt),n=q0(i.declarationProvider,e,t,!0,zi.None);return qa(()=>n)});vo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Jt),n=E_(i.referenceProvider,e,t,!1,!1,zi.None);return qa(()=>n)});vo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Jt),n=E_(i.referenceProvider,e,t,!1,!0,zi.None);return qa(()=>n)});vo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Jt),n=G0(i.implementationProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Jt),n=G0(i.implementationProvider,e,t,!0,zi.None);return qa(()=>n)});Dr.appendMenuItem(Nt.EditorContext,{submenu:Nt.EditorContextPeek,title:C("peek.submenu","Peek"),group:"navigation",order:100});class Df{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Df||Yt.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===Nt.EditorContext||i.id===Nt.EditorContextPeek)&&(i.when=be.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(a_),c=e.get(Xy),u=e.get(Jt),f=e.get(Ai),g=t.getModel(),p=t.getPosition(),w=Df.is(i)?i:new Df(g,p),m=new cf(t,5),x=o_(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 D;if(k.referenceAt(g.uri,p)){const j=this._getAlternativeCommand(t);!hr._activeAlternativeCommands.has(j)&&hr._allSymbolNavigationCommands.has(j)&&(D=hr._allSymbolNavigationCommands.get(j))}const P=k.references.length;if(P===0){if(!this.configuration.muteMessage){const j=g.getWordAtPosition(p);(A=ko.get(t))==null||A.showMessage(this._getNoResultFoundMessage(j),p)}}else if(P===1&&D)hr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(j=>D.runEditorCommand(j,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(gO(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:U.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=Iu.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 T_ extends kl{async _getLocationModel(e,t,i,n){return new Lo(await D_(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;In((vc=class extends T_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:vc.id,title:{...Gt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:C({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:O.hasDefinitionProvider,keybinding:[{when:O.editorTextFocus,primary:70,weight:100},{when:be.and(O.editorTextFocus,jE),primary:2118,weight:100}],menu:[{id:Nt.EditorContext,group:"navigation",order:1.1},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Hn.registerCommandAlias("editor.action.goToDeclaration",vc.id)}},vc.id="editor.action.revealDefinition",vc));var bc;In((bc=class extends T_{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:bc.id,title:Gt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:be.and(O.hasDefinitionProvider,O.isInEmbeddedEditor.toNegated()),keybinding:[{when:O.editorTextFocus,primary:ds(2089,70),weight:100},{when:be.and(O.editorTextFocus,jE),primary:ds(2089,2118),weight:100}]}),Hn.registerCommandAlias("editor.action.openDeclarationToTheSide",bc.id)}},bc.id="editor.action.revealDefinitionAside",bc));var yc;In((yc=class extends T_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:yc.id,title:Gt("actions.previewDecl.label","Peek Definition"),precondition:be.and(O.hasDefinitionProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),keybinding:{when:O.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Nt.EditorContextPeek,group:"peek",order:2}}),Hn.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class dN 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 Rd;In((Rd=class extends dN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Rd.id,title:{...Gt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:C({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:be.and(O.hasDeclarationProvider,O.isInEmbeddedEditor.toNegated()),menu:[{id:Nt.EditorContext,group:"navigation",order:1.3},{id:Nt.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")}},Rd.id="editor.action.revealDeclaration",Rd));In(class extends dN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Gt("actions.peekDecl.label","Peek Declaration"),precondition:be.and(O.hasDeclarationProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),menu:{id:Nt.EditorContextPeek,group:"peek",order:3}})}});class uN 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 Ad;In((Ad=class extends uN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ad.ID,title:{...Gt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:C({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:O.hasTypeDefinitionProvider,keybinding:{when:O.editorTextFocus,primary:0,weight:100},menu:[{id:Nt.EditorContext,group:"navigation",order:1.4},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Ad.ID="editor.action.goToTypeDefinition",Ad));var Od;In((Od=class extends uN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Od.ID,title:Gt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:be.and(O.hasTypeDefinitionProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),menu:{id:Nt.EditorContextPeek,group:"peek",order:4}})}},Od.ID="editor.action.peekTypeDefinition",Od));class hN 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 Fd;In((Fd=class extends hN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Fd.ID,title:{...Gt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:C({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:O.hasImplementationProvider,keybinding:{when:O.editorTextFocus,primary:2118,weight:100},menu:[{id:Nt.EditorContext,group:"navigation",order:1.45},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Fd.ID="editor.action.goToImplementation",Fd));var Hd;In((Hd=class extends hN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Hd.ID,title:Gt("actions.peekImplementation.label","Peek Implementations"),precondition:be.and(O.hasImplementationProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),keybinding:{when:O.editorTextFocus,primary:3142,weight:100},menu:{id:Nt.EditorContextPeek,group:"peek",order:5}})}},Hd.ID="editor.action.peekImplementation",Hd));class fN 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}}In(class extends fN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Gt("goToReferences.label","Go to References"),mnemonicTitle:C({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:be.and(O.hasReferenceProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),keybinding:{when:O.editorTextFocus,primary:1094,weight:100},menu:[{id:Nt.EditorContext,group:"navigation",order:1.45},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Lo(await E_(e.referenceProvider,t,i,!0,!1,n),C("ref.title","References"))}});In(class extends fN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Gt("references.action.label","Peek References"),precondition:be.and(O.hasReferenceProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),menu:{id:Nt.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Lo(await E_(e.referenceProvider,t,i,!1,!1,n),C("ref.title","References"))}});class q4 extends kl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Gt("label.generic","Go to Any Symbol"),precondition:be.and(go.notInPeekEditor,O.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:En},{name:"position",description:"The position at which to start",constraint:Yt.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(o,e,t,i,n,s,r)=>{vn(En.isUri(e)),vn(Yt.isIPosition(t)),vn(Array.isArray(i)),vn(typeof n>"u"||typeof n=="string"),vn(typeof r>"u"||typeof r=="boolean");const a=o.get(os),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if($E(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(u=>{const f=new class extends q4{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(Ai).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:En},{name:"position",description:"The position at which to start",constraint:Yt.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)=>{vn(En.isUri(e)),vn(Yt.isIPosition(t));const i=o.get(Jt),n=o.get(os);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!$E(s)||!s.hasModel())return;const r=Iu.get(s);if(!r)return;const a=Es(u=>E_(i.referenceProvider,s.getModel(),Yt.lift(t),!1,!1,u).then(f=>new Lo(f,C("ref.title","References")))),c=new U(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 G4(o,e,t,i){const n=o.get(ua),s=o.get(Wf),r=o.get(Cs),a=o.get(Ai),c=o.get(oo);if(await i.item.resolve(zi.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Dr.getMenuItems(Nt.EditorContext).map(w=>pO(w)?w.command.id:Vy()));for(const w of kl.all())g.has(w.desc.id)&&f.push(new gf(w.desc.id,pf.label(w.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const m=await n.createModelReference(u.uri);try{const x=new Df(m.object.textEditorModel,U.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 hp),f.push(new gf(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 gN(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 T_({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Df(s.object.textEditorModel,U.getStartPosition(i.range)),U.lift(i.range))}),s.dispose()}var K4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ih=function(o,e){return function(t,i){e(t,i,o)}},mh;class Iv{constructor(){this._entries=new c_(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 pN=Tl("IInlayHintsCache");Pl(pN,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 Z4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var ul;let Pp=(ul=class{static get(e){return e.getContribution(mh.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 TE(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(_O.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(zn(()=>{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){Nn(u)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(zn(()=>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(zn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new Z4(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new U(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(zn(()=>{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(gN,n,this._editor,r.location):mO.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(zi.None),zo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Xn.replace(U.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!vO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(G4,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 iN(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(U.compareRangesUsingStarts)){const r=t.validateRange(new U(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!U.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=U.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var m,x;const i=[],n=(k,D,P,A,j)=>{const H={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:A,attachedData:j};i.push({item:k,classNameRef:D,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,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(k,P," ",D?Sh.Right:Sh.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>mh._MAX_LABEL_LEN)continue;k.hint.paddingLeft&&s(k,!1);const D=typeof k.hint.label=="string"?[{label:k.hint.label}]:k.hint.label;for(let P=0;P<D.length;P++){const A=D[P],j=P===0,H=P===D.length-1,te={fontSize:`${r}px`,fontFamily:`var(${f}), ${Qx.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};zo(k.hint.textEdits)&&(te.cursor="default"),this._fillInColors(te,k.hint),(A.command||A.location)&&((m=this._activeInlayHintPart)==null?void 0:m.part.item)===k&&this._activeInlayHintPart.part.index===P&&(te.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(te.color=gs(bO),te.cursor="pointer")),c&&(j&&H?(te.padding=`1px ${Math.max(1,r/4)|0}px`,te.borderRadius=`${r/4|0}px`):j?(te.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,te.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(te.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,te.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):te.padding="1px 0 1px 0");let J=A.label;g.totalLen+=J.length;let le=!1;const we=g.totalLen-mh._MAX_LABEL_LEN;if(we>0&&(J=J.slice(0,-we)+"…",le=!0),n(k,this._ruleFactory.createClassNameRef(te),X4(J),H&&!k.hint.paddingRight?Sh.Right:Sh.None,new DC(k,P)),le)break}if(k.hint.paddingRight&&s(k,!0),i.length>mh._MAX_DECORATORS)break}const p=[];for(const[k,D]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),D.classNameRef.dispose(),this._decorationsMetadata.delete(k))}const w=hf.capture(this._editor);this._editor.changeDecorations(k=>{const D=k.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const A=i[P];this._decorationsMetadata.set(D[P],A)}}),w.restore(this._editor)}_fillInColors(e,t){t.kind===aL.Parameter?(e.backgroundColor=gs(yO),e.color=gs(wO)):t.kind===aL.Type?(e.backgroundColor=gs(SO),e.color=gs(CO)):(e.backgroundColor=gs(xO),e.color=gs(kO))}_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()}},mh=ul,ul.ID="editor.contrib.InlayHints",ul._MAX_DECORATORS=1500,ul._MAX_LABEL_LEN=43,ul);Pp=mh=K4([ih(1,Jt),ih(2,rr),ih(3,pN),ih(4,Cs),ih(5,oo),ih(6,Ai)],Pp);function X4(o){return o.replace(/[ \t]/g," ")}Hn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;vn(En.isUri(t)),vn(U.isIRange(i));const{inlayHintsProvider:n}=o.get(Jt),s=await o.get(ua).createModelReference(t);try{const r=await Sv.create(n,s.object.textEditorModel,[U.lift(i)],zi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var Y4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 Ep{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(!Pp.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")}](${k4(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 Yt(n.startLineNumber,n.startColumn),t).filter(a=>!fp(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=Y4([zl(1,da),zl(2,la),zl(3,us),zl(4,f_),zl(5,jn),zl(6,ua),zl(7,Jt),zl(8,Cs)],Dv);class Z0 extends ut{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 Yt(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 Yt(s,r);return{showAtPosition:c,showAtSecondaryPosition:u}}}class J4{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 ut{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 ut.None;let i=t[0].range;for(const s of t){const r=s.range;i=U.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Pb._DECORATION_OPTIONS}]),zn(()=>{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})),zn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Lu([])}_renderStatusBar(e,t){if(t.hasContent)return new J4(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 Ep&&!(i instanceof Dv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Ip)}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 _f;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 Q4=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 ut{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Bi),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 YM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Bu.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 JM(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=Q4([mI(1,Ai),mI(2,us)],TC);var ez=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vI=function(o,e){return function(t,i){e(t,i,o)}},PC,Wd;let Gs=(Wd=class extends ut{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Bi),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===GM||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)||If.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=Wd,Wd.ID="editor.contrib.contentHover",Wd);Gs=PC=ez([vI(1,Ai),vI(2,us)],Gs);const Ak=class Ak extends ut{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!==BM||!i.range)return;const n=this._editor.getContribution(Gs.ID);if(n&&!n.isColorPickerVisible){const s=new U(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;qi(Ev.ID,Ev,2);Bu.register(Ip);var _N=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)}},MC,NC,Bd;let Du=(Bd=class extends ut{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=O.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=O.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(RC,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=Bd,Bd.ID="editor.contrib.standaloneColorPickerController",Bd);Du=MC=_N([Ih(1,mn),Ih(2,Ai)],Du);qi(Du.ID,Du,1);const bI=8,tz=22;var zd;let RC=(zd=class extends ut{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 Bi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Dp,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(df(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var m;const w=(m=p.target.element)==null?void 0:m.classList;w&&w.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return NC.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new iz(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 Lp(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-tz-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)}},NC=zd,zd.ID="editor.contrib.standaloneColorPickerWidget",zd);RC=NC=_N([Ih(3,Ai),Ih(4,us),Ih(5,Jt),Ih(6,Ml)],RC);class iz{constructor(e,t){this.value=e,this.foundInEditor=t}}class nz extends ra{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Gt("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:Nt.CommandPalette}],metadata:{description:Gt("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=Du.get(t))==null||i.showOrFocus()}}class sz extends je{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:O.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Gt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Du.get(t))==null||i.hide()}}class oz extends je{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:O.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Gt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Du.get(t))==null||i.insertColor()}}de(sz);de(oz);In(nz);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),D=p.substring(0,m);(k.indexOf(i)>=0||D.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 U(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 U.isEmpty(e)?n.push(Xn.delete(new U(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Xn.delete(new U(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Xn.delete(new U(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return U.isEmpty(e)?s.push(Xn.replace(new U(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Xn.insert(new Yt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Xn.insert(new Yt(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 mi(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 mi(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 D=k+w.commentStrLength;D<x.length&&x.charCodeAt(D)===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 Yt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),U.isEmpty(s[a].range)&&U.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 U(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 U(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else c=oc._createAddBlockCommentOperations(new U(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 U(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 mi(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 U(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 Yt(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 je{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)=>U.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 rz extends X0{constructor(){super(0,{id:"editor.action.commentLine",label:C("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class az extends X0{constructor(){super(1,{id:"editor.action.addCommentLine",label:C("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2081),weight:100}})}}class lz extends X0{constructor(){super(2,{id:"editor.action.removeCommentLine",label:C("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2099),weight:100}})}}class cz extends je{constructor(){super({id:"editor.action.blockComment",label:C("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:Nt.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()}}de(rz);de(az);de(lz);de(cz);var dz=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,Vd;let Ef=(Vd=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&&LO(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 IO){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 hp)}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()||DO(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 hp),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=Vd,Vd.ID="editor.contrib.contextmenu",Vd);Ef=AC=dz([Zc(1,Wf),Zc(2,my),Zc(3,mn),Zc(4,us),Zc(5,Ru),Zc(6,jn),Zc(7,lf)],Ef);class uz extends je{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:O.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Ef.get(t))==null||i.showContextMenu()}}qi(Ef.ID,Ef,2);de(uz);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 ut{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 Tf=Mb;class hz extends je{constructor(){super({id:"cursorUndo",label:C("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Tf.get(t))==null||n.cursorUndo()}}class fz extends je{constructor(){super({id:"cursorRedo",label:C("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Tf.get(t))==null||n.cursorRedo()}}qi(Tf.ID,Tf,0);de(hz);de(fz);class gz{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 U(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 mi(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 mi(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 mi(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 mi(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 mi(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 nh(o){return za?o.altKey:o.ctrlKey}const Zl=class Zl extends ut{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)||(nh(e)&&(this._modifierPressed=!0),this._mouseDown&&nh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(nh(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}nh(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 Yt(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 mi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new mi(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(nh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Zl.ID,new gz(this._dragSelection,t,nh(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 U(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;qi(Tv.ID,Tv,2);qi(xl.ID,xl,0);Vf(XS);ni(new class extends mo{constructor(){super({id:bM,precondition:O0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=xl.get(e))==null?void 0:t.changePasteType()}});ni(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 jd;de((jd=class extends je{constructor(){super({id:"editor.action.pasteAs",label:C("pasteAs","Paste As..."),alias:"Paste As...",precondition:O.writable,metadata:{description:"Paste as",args:[{name:"args",schema:jd.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 Vn(n):void 0)}},jd.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.")}}},jd));de(class extends je{constructor(){super({id:"editor.action.pasteAsText",label:C("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:O.writable})}run(o,e){var t;return(t=xl.get(e))==null?void 0:t.pasteAs({providerId:wu.id})}});class pz{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 mN=Tl("treeViewsDndService");Pl(mN,pz,1);var _z=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},im=function(o,e){return function(t,i){e(t,i,o)}},OC;const vN="editor.experimental.dropIntoEditor.defaultProvider",bN="editor.changeDropType",Y0=new an("dropWidgetVisible",!1,C("dropWidgetVisible","Whether the drop widget is showing"));var $d;let Pf=($d=class extends ut{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:bN,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 cf(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([U.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 o_(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:mM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(vN,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Vn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&lM(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new aM;const t=uM(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=$d,$d.ID="editor.contrib.dropIntoEditorController",$d);Pf=OC=_z([im(1,Ai),im(2,jn),im(3,Jt),im(4,mN)],Pf);qi(Pf.ID,Pf,2);Vf(ZS);ni(new class extends mo{constructor(){super({id:bN,precondition:Y0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Pf.get(e))==null||i.changeDropType()}});ni(new class extends mo{constructor(){super({id:"editor.hideDropWidget",precondition:Y0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Pf.get(e))==null||i.clearWidgets()}});aa.as(l_.Configuration).registerConfiguration({...by,properties:{[vN]:{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 U(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 U(g,1,p,1),options:Us._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=x.startLineNumber,p=x.endLineNumber)}s.push({range:new U(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 mz{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)=>U.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 yN(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():EO(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+=yN([n[a]],r)+t}),s.slice(0,-1)}class CI{constructor(e){this.staticValue=e,this.kind=0}}class vz{constructor(e){this.pieces=e,this.kind=1}}class Mf{static fromStaticValue(e){return new Mf([kd.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 vz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?yN(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=Mf._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 kd{static staticValue(e){return new kd(e,-1,null)}static caseOps(e,t){return new kd(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 bz{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++]=kd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=kd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=kd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Mf(this._result)}}function yz(o){if(!o||o.length===0)return new Mf(null);const e=[],t=new bz(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),J0=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,wz=240;class Zg{constructor(e,t){this._toDispose=new ct,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new r_,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,Qs(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)},wz)):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 U(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=UE(n.map(c=>c.range),c=>U.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 Yt(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=Zg._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 Yt(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 Yt(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=Zg._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 Yt(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?yz(this._state.replaceString):Mf.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 s_(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Yt(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=>Zg._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 TO(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 qE(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 mz(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 mi(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 Nb=class Nb extends d_{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:md(KE),inputActiveOptionForeground:md(GE),inputActiveOptionBackground:md(Xx)},s=this._register(CS());this.caseSensitive=this._register(new PO({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 MO({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 NO({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 Nb.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")}};Nb.ID="editor.contrib.findOptionsWidget";let HC=Nb;function lm(o,e){return o===1?!0:o===2?!1:e}class Sz extends ut{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 Bi),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"&&(U.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=>!U.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 Cz=C("defaultLabel","input"),xz=C("label.preserveCaseToggle","Preserve Case");class kz extends ZE{constructor(e){super({icon:Ci.preserveCase,title:xz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ky("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class Lz extends d_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Bi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Bi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Bi),this._onInput=this._register(new Bi),this._onKeyUp=this._register(new Bi),this._onPreserveCaseKeyDown=this._register(new Bi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Cz;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 RO(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 kz({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 wN=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},SN=function(o,e){return function(t,i){e(t,i,o)}};const Q0=new an("suggestWidgetVisible",!1,C("suggestWidgetVisible","Whether suggestion are visible")),ek="historyNavigationWidgetFocus",CN="historyNavigationForwardsEnabled",xN="historyNavigationBackwardsEnabled";let _l;const cm=[];function kN(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(CN,!0).bindTo(o),s=new an(xN,!0).bindTo(o),r=()=>{i.set(!0),_l=e},a=()=>{i.set(!1),_l===e&&(_l=void 0)};return OO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(zn(()=>{cm.splice(cm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let WC=class extends AO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(kN(s,this.inputBox))}};WC=wN([SN(3,mn)],WC);let BC=class extends Lz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(kN(r,this.inputBox))}};BC=wN([SN(3,mn)],BC);Ua.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:be.and(be.has(ek),be.equals(xN,!0),be.not("isComposing"),Q0.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{_l==null||_l.showPreviousValue()}});Ua.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:be.and(be.has(ek),be.equals(CN,!0),be.not("isComposing"),Q0.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",Ci.chevronRight,C("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),LI=ts("find-expanded",Ci.chevronDown,C("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Iz=ts("find-selection",Ci.selection,C("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Dz=ts("find-replace",Ci.replace,C("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Ez=ts("find-replace-all",Ci.replaceAll,C("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Tz=ts("find-previous-match",Ci.arrowUp,C("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Pz=ts("find-next-match",Ci.arrowDown,C("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Mz=C("label.findDialog","Find / Replace"),Nz=C("label.find","Find"),Rz=C("placeholder.find","Find"),Az=C("label.previousMatchButton","Previous Match"),Oz=C("label.nextMatchButton","Next Match"),Fz=C("label.toggleSelectionFind","Find in Selection"),Hz=C("label.closeButton","Close"),Wz=C("label.replace","Replace"),Bz=C("placeholder.replace","Replace"),zz=C("label.replaceButton","Replace"),Vz=C("label.replaceAllButton","Replace All"),jz=C("label.toggleReplaceButton","Toggle Replace"),$z=C("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",rc),Uz=C("label.matchesLocation","{0} of {1}"),II=C("label.noResults","No results"),ma=419,qz=275,Gz=qz-54;let _g=69;const Kz=33,DI="ctrlEnterReplaceAll.windows.donotask",EI=za?256:2048;class jw{constructor(e){this.afterLineNumber=e,this.heightInPx=Kz,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 Rb=class Rb extends d_{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(zn(()=>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(df(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=J0.bindTo(r),this._replaceFocusTracker=this._register(df(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 Rb.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,Nn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=_g+"px",this._state.matchesCount>=rc?this._matchesCount.title=$z: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(Uz,n,i)}else e=II;this._matchesCount.appendChild(document.createTextNode(e)),Er(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),_g=Math.max(_g,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=FO(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-_g>=i&&(a=!0),ma+28+n-_g>=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&&!U.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&&zf&&!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:Gz,label:Nz,placeholder:Rz,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()})),HO&&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 sh({label:Az+this._keybindingLabelFor(Mn.PreviousMatchFindAction),icon:Tz,hoverDelegate:i,onTrigger:()=>{Ch(this._codeEditor.getAction(Mn.PreviousMatchFindAction)).run().then(void 0,Nn)}},this._hoverService)),this._nextBtn=this._register(new sh({label:Oz+this._keybindingLabelFor(Mn.NextMatchFindAction),icon:Pz,hoverDelegate:i,onTrigger:()=>{Ch(this._codeEditor.getAction(Mn.NextMatchFindAction)).run().then(void 0,Nn)}},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 ZE({icon:Iz,title:Fz+this._keybindingLabelFor(Mn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:md(Xx),inputActiveOptionBorder:md(KE),inputActiveOptionForeground:md(GE)})),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 sh({label:Hz+this._keybindingLabelFor(Mn.CloseFindWidgetCommand),icon:XE,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:Wz,placeholder:Bz,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 sh({label:zz+this._keybindingLabelFor(Mn.ReplaceOneAction),icon:Dz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new sh({label:Vz+this._keybindingLabelFor(Mn.ReplaceAllAction),icon:Ez,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 sh({label:jz,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=Mz,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 yh(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(WO(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)}};Rb.ID="editor.contrib.findWidget";let zC=Rb;class sh extends d_{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+yn.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(...yn.asClassNameArray(kI)),this._domNode.classList.add(...yn.asClassNameArray(LI))):(this._domNode.classList.remove(...yn.asClassNameArray(LI)),this._domNode.classList.add(...yn.asClassNameArray(kI)))}}vy((o,e)=>{const t=o.getColor(EE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${dp(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(BO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${dp(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(zO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(VO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var LN=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 Zz=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)<Zz)return o.getModel().getValueInRange(i)}return null}var Ud;let po=(Ud=class extends ut{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 Sz),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=up(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=up(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 Zg(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=Ud,Ud.ID="editor.contrib.findController",Ud);po=VC=LN([tr(1,mn),tr(2,Wc),tr(3,Bf),tr(4,oo),tr(5,f_)],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=LN([tr(1,my),tr(2,mn),tr(3,us),tr(4,Mr),tr(5,oo),tr(6,Wc),tr(7,Bf),tr(8,f_)],$C);const Xz=YE(new JE({id:Mn.StartFindAction,label:C("startFindAction","Find"),alias:"Find",precondition:be.or(O.focus,be.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"3_find",title:C({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Xz.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 Yz={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 Jz extends je{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:Yz})}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 Qz extends je{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 IN extends je{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 eV extends IN{constructor(){super({id:Mn.NextMatchFindAction,label:C("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:O.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:be.and(O.focus,Yy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class tV extends IN{constructor(){super({id:Mn.PreviousMatchFindAction,label:C("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:O.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:be.and(O.focus,Yy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class iV extends je{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(QE),position:Oa.Full}}}])})}}class DN extends je{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 nV extends DN{constructor(){super({id:Mn.NextSelectionMatchFindAction,label:C("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class sV extends DN{constructor(){super({id:Mn.PreviousSelectionMatchFindAction,label:C("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const oV=YE(new JE({id:Mn.StartFindReplaceAction,label:C("startReplace","Replace"),alias:"Replace",precondition:be.or(O.focus,be.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"3_find",title:C({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));oV.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})});qi(po.ID,$C,0);de(Jz);de(Qz);de(eV);de(tV);de(iV);de(nV);de(sV);const ha=mo.bindToContribution(po.get);ni(new ha({id:Mn.CloseFindWidgetCommand,precondition:Al,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:be.and(O.focus,be.not("isComposing")),primary:9,secondary:[1033]}}));ni(new ha({id:Mn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:O.focus,primary:nm.primary,mac:nm.mac,win:nm.win,linux:nm.linux}}));ni(new ha({id:Mn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:O.focus,primary:sm.primary,mac:sm.mac,win:sm.win,linux:sm.linux}}));ni(new ha({id:Mn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:O.focus,primary:om.primary,mac:om.mac,win:om.win,linux:om.linux}}));ni(new ha({id:Mn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:O.focus,primary:rm.primary,mac:rm.mac,win:rm.win,linux:rm.linux}}));ni(new ha({id:Mn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:O.focus,primary:am.primary,mac:am.mac,win:am.win,linux:am.linux}}));ni(new ha({id:Mn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:O.focus,primary:3094}}));ni(new ha({id:Mn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:be.and(O.focus,J0),primary:3}}));ni(new ha({id:Mn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:O.focus,primary:2563}}));ni(new ha({id:Mn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:be.and(O.focus,J0),primary:void 0,mac:{primary:2051}}}));ni(new ha({id:Mn.SelectAllMatchesAction,precondition:Al,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:O.focus,primary:515}}));const rV={0:" ",1:"u",2:"r"},MI=65535,Zr=16777215,NI=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 aV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&NI)>>>24)+((this._endIndexes[e]&NI)>>>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]=`[${rV[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,D)=>Array.isArray(k)?(P=>P<D?k[P]:void 0):(P=>P<D?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 D=u,P=g;for(;;){if(!P||P.startLineNumber>f.endLineNumber){k=f;break}if(P.source===1&&P.endLineNumber>f.endLineNumber)break;P=a(++D)}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 aV{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 lV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Bi,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 eT(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 Zf(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 EN(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 cV(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 dV(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 TN(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 uV(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 hV(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 fV(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 gV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Bi,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||jO(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 U(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 RI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!pV(r,n))&&(n=RI(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 pV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function RI(o,e){const t=UE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const _V=5e3,mV="indent";class sk{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=mV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(yV(this.editorModel,i,n,this.foldingRangesLimit))}}let vV=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 bV={limit:_V,update:()=>{}};function yV(o,e,t,i=bV){const n=o.getOptions().tabSize,s=new vV(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 wV=$t("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);$t("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."));$t("editorGutter.foldingControlForeground",$O,C("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Pv=ts("folding-expanded",Ci.chevronDown,C("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Mv=ts("folding-collapsed",Ci.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(wV),position:1},oh=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:oh,firstLineDecorationClassName:yn.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:oh,firstLineDecorationClassName:yn.asClassName(Mv)}),ns.MANUALLY_COLLAPSED_VISUAL_DECORATION=Qi.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:oh,firstLineDecorationClassName:yn.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:oh,firstLineDecorationClassName:yn.asClassName(AI)}),ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Qi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:oh}),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:oh}),ns.EXPANDED_VISUAL_DECORATION=Qi.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+yn.asClassName(Pv),linesDecorationsTooltip:dm}),ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Qi.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:yn.asClassName(Pv),linesDecorationsTooltip:dm}),ns.MANUALLY_EXPANDED_VISUAL_DECORATION=Qi.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+yn.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:yn.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 SV={},CV="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=CV,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 xV(this.providers,this.editorModel,e).then(t=>{var i;return t?LV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function xV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,SV,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 kV{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 LV(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 kV(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 IV=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},mg=function(o,e){return function(t,i){e(t,i,o)}},td;const As=new an("foldingEnabled",!1);var qd;let Ac=(qd=class extends ut{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 PN(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=As.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 lV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new gV(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(m_.Imports.value,!0);u&&(r=hf.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,DV(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=>(Nn(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,Nn)}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=qd,qd.ID="editor.contrib.folding",qd);Ac=td=IV([mg(1,mn),mg(2,xs),mg(3,oo),mg(4,rr),mg(5,Jt)],Ac);class PN{constructor(e){this.editor=e,this._onDidChange=new Bi,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 je{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 DV(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 MN(o){if(!Cg(o)){if(!tT(o))return!1;const e=o;if(!Cg(e.levels)&&!fL(e.levels)||!Cg(e.direction)&&!IE(e.direction)||!Cg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(fL)))return!1}return!0}class EV extends js{constructor(){super({id:"editor.unfold",label:C("unfoldAction.label","Unfold"),alias:"Unfold",precondition:As,kbOpts:{kbExpr:O.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:MN,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"?EN(t,!1,s,r):Zf(t,!1,s,r)}}class TV extends js{constructor(){super({id:"editor.unfoldRecursively",label:C("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2142),weight:100}})}invoke(e,t,i,n){Zf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class PV extends js{constructor(){super({id:"editor.fold",label:C("foldAction.label","Fold"),alias:"Fold",precondition:As,kbOpts:{kbExpr:O.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:MN,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"?cV(t,!0,s):a==="up"?EN(t,!0,r||1,s):Zf(t,!0,r||1,s)}}class MV extends js{constructor(){super({id:"editor.toggleFold",label:C("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);tk(t,1,n)}}class NV extends js{constructor(){super({id:"editor.foldRecursively",label:C("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Zf(t,!0,Number.MAX_VALUE,n)}}class RV extends js{constructor(){super({id:"editor.toggleFoldRecursively",label:C("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);tk(t,Number.MAX_VALUE,n)}}class AV extends js{constructor(){super({id:"editor.foldAllBlockComments",label:C("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(t,m_.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*"+up(a.blockCommentStartToken));ik(t,c,!0)}}}}class OV extends js{constructor(){super({id:"editor.foldAllMarkerRegions",label:C("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(t,m_.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 FV extends js{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:C("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(t,m_.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 HV extends js{constructor(){super({id:"editor.foldAllExcept",label:C("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);TN(t,!0,n)}}class WV extends js{constructor(){super({id:"editor.unfoldAllExcept",label:C("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);TN(t,!1,n)}}class BV extends js{constructor(){super({id:"editor.foldAll",label:C("foldAllAction.label","Fold All"),alias:"Fold All",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2069),weight:100}})}invoke(e,t,i){Zf(t,!0)}}class zV extends js{constructor(){super({id:"editor.unfoldAll",label:C("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2088),weight:100}})}invoke(e,t,i){Zf(t,!1)}}const Rh=class Rh extends js{getFoldingLevel(){return parseInt(this.id.substr(Rh.ID_PREFIX.length))}invoke(e,t,i){dV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Rh.ID_PREFIX="editor.foldLevel",Rh.ID=e=>Rh.ID_PREFIX+e;let Nv=Rh;class VV extends js{constructor(){super({id:"editor.gotoParentFold",label:C("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=uV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class jV extends js{constructor(){super({id:"editor.gotoPreviousFold",label:C("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=hV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class $V extends js{constructor(){super({id:"editor.gotoNextFold",label:C("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:As,kbOpts:{kbExpr:O.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.createFoldingRangeFromSelection",label:C("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:As,kbOpts:{kbExpr:O.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 qV extends js{constructor(){super({id:"editor.removeManualFoldingRanges",label:C("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:As,kbOpts:{kbExpr:O.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()}}}qi(Ac.ID,Ac,0);de(EV);de(TV);de(PV);de(NV);de(RV);de(BV);de(zV);de(AV);de(OV);de(FV);de(HV);de(WV);de(MV);de(VV);de(jV);de($V);de(UV);de(qV);for(let o=1;o<=7;o++)UO(new Nv({id:Nv.ID(o),label:C("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2048|21+o),weight:100}}));Hn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof En))throw fl();const i=o.get(Jt),n=o.get(ro).getModel(t);if(!n)throw fl();const s=o.get(jn);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(zi.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?m_.fromValue(m):void 0})}return p}finally{f.dispose()}});class GV extends je{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){mp.setZoomLevel(mp.getZoomLevel()+1)}}class KV extends je{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){mp.setZoomLevel(mp.getZoomLevel()-1)}}class ZV extends je{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){mp.setZoomLevel(0)}}de(GV);de(KV);de(ZV);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},Xg=function(o,e){return function(t,i){e(t,i,o)}},Qh;let Rv=(Qh=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}});qO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||zo(r)&&(this._accessibilitySignalService.playSignal(nT.format,{userGesture:!1}),GO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Qh.ID="editor.contrib.autoFormat",Qh);Rv=NN([Xg(1,Jt),Xg(2,Ml),Xg(3,iT)],Rv);var ef;let Av=(ef=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(sT,this.editor,e,2,ll.None,zi.None,!1).catch(Nn))}},ef.ID="editor.contrib.formatOnPaste",ef);Av=NN([Xg(1,Jt),Xg(2,Ai)],Av);class XV extends je{constructor(){super({id:"editor.action.formatDocument",label:C("formatDocument.label","Format Document"),alias:"Format Document",precondition:be.and(O.notInCompositeEditor,O.writable,O.hasDocumentFormattingProvider),kbOpts:{kbExpr:O.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(Ai);await e.get(a_).showWhile(i.invokeFunction(KO,t,1,ll.None,zi.None,!0),250)}}}class YV extends je{constructor(){super({id:"editor.action.formatSelection",label:C("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:be.and(O.writable,O.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2084),weight:100},contextMenuOpts:{when:O.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(Ai),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new U(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(a_).showWhile(i.invokeFunction(sT,t,s,1,ll.None,zi.None,!0),250)}}qi(Rv.ID,Rv,2);qi(Av.ID,Av,2);de(XV);de(YV);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 JV=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 Dh{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 Dh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class RN extends Dh{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 Dh{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=Dh.findId(`provider_${f}`,s),p=new RN(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=>{Dh.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=Dh.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)=>U.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return il._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Yt.compare(U.getStartPosition(i.range),U.getStartPosition(n.range))||Yt.compare(U.getEndPosition(n.range),U.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 P_=Tl("IOutlineModelService");let GC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new ct,this._cache=new c_(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=JV([qw(0,Jt),qw(1,rr),qw(2,ro)],GC);Pl(P_,GC,1);Hn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;vn(En.isUri(t));const i=o.get(P_),s=await o.get(ua).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,zi.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends ut{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=ZO.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 QV(o){const e=new ct,t=e.add(oT());return e.add(Gn(i=>{t.setStyle(o.read(i))})),e}class Mp{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 rT([...this.parts.map(s=>new wl(U.fromPositions(new Yt(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,AN)}function AN(o,e){return o===e?!0:!o||!e?!1:o instanceof Mp&&e instanceof Mp||o instanceof KC&&e instanceof KC?o.equals(e):!1}const ej=[];function tj(){return ej}class ON{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new _f(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new U(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function FN(o,e){const t=new ct,i=o.createDecorationsCollection();return t.add(XO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function ij(o,e){return new Yt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function HI(o,e){return new Yt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}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},sj=function(o,e){return function(t,i){e(t,i,o)}};const WI="ghost-text";let ZC=class extends ut{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=kn(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 D=u[u.length-1];k&&D.decorations.push(new vp(D.content.length+1,D.content.length+1+x[0].length,k,0)),D.content+=x[0],x=x.slice(1)}for(const D of x)u.push({content:D,decorations:k?[new vp(1,D.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 ON(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=kn(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:U.fromPositions(new Yt(s.lineNumber,a.column)),options:{description:WI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Sh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new oj(this.editor,this.languageService.languageIdCodec,kn(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(zn(()=>{this.isDisposed.set(!0,void 0)})),this._register(FN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};ZC=nj([sj(2,da)],ZC);class oj extends ut{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=bd("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");rj(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function rj(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 lT(1e4);p.appendString('<div class="suggest-preview-text">');for(let x=0,k=t.length;x<k;x++){const D=t[x],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(x*g)),p.appendString('px;width:1000000px;">');const A=hT(P),j=YO(P),H=JO.createEmpty(P,n);cT(new dT(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,A,j,0,H,D.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,c,u!==QO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),uT(o,f);const w=p.build(),m=BI?BI.createHTML(w):w;o.innerHTML=m}const BI=aT("editorGhostText",{createHTML:o=>o});function aj(o,e){const t=new n2,i=new t2(t,u=>e.getLanguageConfiguration(u)),n=new e2(new lj([o]),i),s=i2(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(u,f){if(u.kind===2)if(c(u.openingBracket,f),f=hg(f,u.openingBracket.length),u.child&&(c(u.child,f),f=hg(f,u.child.length)),u.closingBracket)c(u.closingBracket,f),f=hg(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(hg(f,u.length)));else if(u.kind===4)for(const g of u.children)c(g,f),f=hg(f,g.length)}}return c(s,s2),r}class lj{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 HN(o,e,t,i,n=zi.None,s){const r=e instanceof Yt?uj(e,t):e,a=o.all(t),c=new o2;for(const D of a)D.groupId&&c.add(D.groupId,D);function u(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const A of D.yieldsToGroupIds||[]){const j=c.get(A);for(const H of j)P.push(H)}return P}const f=new Map,g=new Set;function p(D,P){if(P=[...P,D],g.has(D))return P;g.add(D);try{const A=u(D);for(const j of A){const H=p(j,P);if(H)return H}}finally{g.delete(D)}}function w(D){const P=f.get(D);if(P)return P;const A=p(D,[]);A&&ss(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${A.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const j=new py;return f.set(D,j.p),(async()=>{var H;if(!A){const te=u(D);for(const J of te){const le=await w(J);if(le&&le.items.length>0)return}}try{return e instanceof Yt?await D.provideInlineCompletions(t,e,i,n):await((H=D.provideInlineEdits)==null?void 0:H.call(D,t,e,i,n))}catch(te){ss(te);return}})().then(H=>j.complete(H),H=>j.error(H)),j.p}const m=await Promise.all(a.map(async D=>({provider:D,completions:await w(D)}))),x=new Map,k=[];for(const D of m){const P=D.completions;if(!P)continue;const A=new dj(P,D.provider);k.push(A);for(const j of P.items){const H=Fv.from(j,A,r,t,s);x.set(H.hash(),H)}}return new cj(Array.from(x.values()),new Set(x.keys()),k)}class cj{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 dj{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?U.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 U(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 U(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+g))}const f=new Su().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 r2(e.insertText);return new Fv(r,e.command,c,r,a,e.additionalTextEdits||tj(),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 uj(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new U(o.lineNumber,t.startColumn,o.lineNumber,i):U.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?aj(a,i):o}function Ld(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=__(n,o.text),r=nv.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=U.fromPositions(r,o.range.getEndPosition());return new wl(c,a)}function WN(o,e){return o.text.startsWith(e.text)&&hj(o.range,e.range)}function VI(o,e,t,i,n=0){let s=Ld(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Bs(r).length;if(s.range.startColumn-1<=a){const m=Bs(s.text).length,x=r.substring(s.range.startColumn-1,a),[k,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=k.column+x.length<=D.column?k.delta(0,x.length):D,A=U.fromPositions(P,D),j=s.text.startsWith(x)?s.text.substring(x.length):s.text.substring(m);s=new wl(A,j)}const u=e.getValueInRange(s.range),f=fj(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,D=Math.max(m.modifiedStart,Math.min(k,w)),P=s.text.substring(m.modifiedStart,D),A=s.text.substring(D,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 Mp(g,p)}function hj(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let va;function fj(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 a2({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var gj=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 ut{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 _j(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 pj(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 HN(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 vj(m,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!m.has(D)&&k.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),Au(D=>{s.set(k,D)}),!0})(),u=new mj(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=gj([UI(3,Jt),UI(4,xs)],XC);function pj(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 _j{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&l2(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,d2())&&(e.context.triggerKind===gl.Automatic||this.context.triggerKind===gl.Explicit)&&this.versionId===e.versionId}}class mj{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class vj{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:U.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=Ld(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)&&!!c2(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 U(1,1,1,1),wi={Visible:Q0,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 Nt("suggestWidgetStatusBar");class bj{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=pp.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,U.isIRange(t.range)?(this.editStart=new Yt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Yt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Yt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||U.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Yt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Yt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Yt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||U.spansMultipleLines(t.range.insert)||U.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 yj{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=zi.None){const r=new Do;t=t.clone();const a=e.getWordAtPosition(t),c=a?new U(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):U.fromPositions(t),u={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},f=[],g=new ct,p=[];let w=!1;const m=(k,D,P)=>{var j;let A=!1;if(!D)return A;for(const H of D.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&((j=H==null?void 0:H.tags)!=null&&j.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=Su.guessNeedsClipboard(H.insertText)),f.push(new bj(t,H,D,k)),A=!0}return fT(D)&&g.add(D),p.push({providerName:k._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),A},x=(async()=>{})();for(const k of o.orderedGroups(e)){let D=!1;if(await Promise.all(k.map(async P=>{if(i.providerItemsToReuse.has(P)){const A=i.providerItemsToReuse.get(P);A.forEach(j=>f.push(j)),D=D||A.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const A=new Do,j=await P.provideCompletionItems(e,t,n,s);D=m(P,j,A)||D}catch(A){ss(A)}})),D||s.isCancellationRequested)break}return await x,s.isCancellationRequested?(g.dispose(),Promise.reject(new _y)):new yj(f.sort(Cj(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 wj(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 Sj(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 Jy=new Map;Jy.set(0,wj);Jy.set(2,Sj);Jy.set(1,ak);function Cj(o){return Jy.get(o)}Hn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;vn(En.isUri(t)),vn(Yt.isIPosition(i)),vn(typeof n=="string"||!n),vn(typeof s=="number"||!s);const{completionProvider:r}=o.get(Jt),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(zi.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 xj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Eh{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 u2(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var kj=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},Lj=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=Bs(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Co&&(a=Bs(Ly(u.value).pop())),!0));const c=__(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 Vg(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Vg(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return h2(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=>!f2(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=kj([Lj(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 JI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=g2(this._workspaceService.getWorkspace());if(!p2(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 Vg(e.uri.path);let t=Vg(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=Vg(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 QI{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 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)}},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=U.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 mi(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 Kf,!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=U.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=Bs(r,0,t.column-1);let c;return n.walk(u=>{if(!(u instanceof Co)||u.parent instanceof Kf||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=mi.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(j=>j.get(lf)),m=e.invokeWithinContext(j=>new XI(j.get(gp),p)),x=()=>a,k=p.getValueInRange(Vr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Vr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),A=e.getSelections().map((j,H)=>({selection:j,idx:H})).sort((j,H)=>U.compareRangesUsingStarts(j.selection,H.selection));for(const{selection:j,idx:H}of A){let te=Vr.adjustSelection(p,j,i,0),J=Vr.adjustSelection(p,j,0,n);k!==p.getValueInRange(te)&&(te=j),D!==p.getValueInRange(J)&&(J=j);const le=j.setStartPosition(te.startLineNumber,te.startColumn).setEndPosition(J.endLineNumber,J.endColumn),we=new Su().parse(t,!0,s),We=le.getStartPosition(),ue=Vr.adjustWhitespace(p,We,r||H>0&&P!==p.getLineFirstNonWhitespaceColumn(j.positionLineNumber),we);we.resolveVariables(new KI([m,new YI(x,H,A.length,e.getOption(79)==="spread"),new ZI(p,j,H,c),new Hv(p,j,u),new Wv,new JI(w),new QI])),f[H]=Xn.replace(le,we.toString()),f[H].identifier={major:H,minor:0},f[H]._isTracked=!0,g[H]=new Bv(e,we,ue)}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 Su,g=new x_,p=new KI([e.invokeWithinContext(m=>new XI(m.get(gp),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 JI(e.invokeWithinContext(m=>m.get(lf))),new QI]);t=t.sort((m,x)=>U.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,te=U.fromPositions(H.getEndPosition(),x.getStartPosition()),J=new Co(u.getValueInRange(te));g.appendChild(J),w+=J.value.length}const D=f.parseFragment(k,g);Vr.adjustWhitespace(u,x.getStartPosition(),!0,g,new Set(D)),g.resolveVariables(p);const P=g.toString(),A=P.slice(w);w=P.length;const j=Xn.replace(x,A);j.identifier={major:m,minor:0},j._isTracked=!0,c.push(j)}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(){Qs(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=>mi.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=>mi.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(U.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(U.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(U.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=Ij([Dj(3,xs)],zv);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},um=function(o,e){return function(t,i){e(t,i,o)}},vh;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(vh.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=vh.InSnippetMode.bindTo(n),this._hasNextTabstop=vh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=vh.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?(vn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new zv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!Yt.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 D=p.choice.options[k];x.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(k+1),range:p.range,filterText:m?`${w}_${D.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(()=>{xj(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()}},vh=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=vh=Ej([um(1,Ou),um(2,Jt),um(3,mn),um(4,xs)],so);qi(so.ID,so,4);const Qy=mo.bindToContribution(so.get);ni(new Qy({id:"jumpToNextSnippetPlaceholder",precondition:be.and(so.InSnippetMode,so.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:O.textInputFocus,primary:2}}));ni(new Qy({id:"jumpToPrevSnippetPlaceholder",precondition:be.and(so.InSnippetMode,so.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:O.textInputFocus,primary:1026}}));ni(new Qy({id:"leaveSnippet",precondition:so.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:O.textInputFocus,primary:9,secondary:[1033]}}));ni(new Qy({id:"acceptSnippet",precondition:so.InSnippetMode,handler:o=>o.finish()}));var Tj=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 ut{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=kn(this,m=>this._positions.read(m)[0]??new Yt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tl.Redo,tl.Undo,tl.AcceptWord]),this._fetchInlineCompletionsPromise=gT({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 D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(m);if(D&&!P){const J=this._source.inlineCompletions.get();Au(le=>{(!J||D.request.versionId>J.request.versionId)&&this._source.inlineCompletions.set(D.clone(),le),this._source.clearSuggestWidgetInlineCompletions(le)})}const A=this._primaryPosition.read(m),j={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),te=x.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(A,j,te)}),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=kn(this,m=>{const x=this._selectedInlineCompletionId.read(m),k=this._filteredInlineCompletionItems.read(m),D=this._selectedInlineCompletionId===void 0?-1:k.findIndex(P=>P.semanticId===x);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=kn(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=kn(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 D=Ld(k.toSingleTextEdit(),x),P=this._computeAugmentation(D,m);if(!this._suggestPreviewEnabled.read(m)&&!P)return;const j=(P==null?void 0:P.edit)??D,H=P?P.edit.text.length-D.text.length:0,te=this._suggestPreviewMode.read(m),J=this._positions.read(m),le=[j,...Zw(this.textModel,J,j)],we=le.map((ue,et)=>VI(ue,x,te,J[et],H)).filter(Im),We=we[0]??new Mp(j.range.endLineNumber,[]);return{edits:le,primaryGhostText:We,ghostTexts:we,inlineCompletion:P==null?void 0:P.completion,suggestItem:k}}else{if(!this._isActive.read(m))return;const D=this.selectedInlineCompletion.read(m);if(!D)return;const P=D.toSingleTextEdit(m),A=this._inlineSuggestMode.read(m),j=this._positions.read(m),H=[P,...Zw(this.textModel,j,P)],te=H.map((J,le)=>VI(J,x,A,j[le],0)).filter(Im);return te[0]?{edits:H,primaryGhostText:te[0],ghostTexts:te,inlineCompletion:D,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:AN},m=>{const x=this.state.read(m);if(x)return x==null?void 0:x.primaryGhostText}),this._register(pT(this._fetchInlineCompletionsPromise));let w;this._register(Gn(m=>{var D,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,j=A.source;(P=(D=j.provider).handleItemDidShow)==null||P.call(D,j.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 _2(s,a=>{let c=a.toSingleTextEdit(t);return c=Ld(c,i,U.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),WN(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 _f;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=>mi.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 _f;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 Yt(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=U.fromPositions(w,c),x=e.getModel().getValueInRange(m)+g,k=new wl(m,x),D=[k,...Zw(this.textModel,p,k)],P=iD(D).map(A=>mi.fromPositions(A));e.executeEdits("inlineSuggestion.accept",D.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=U.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=Ld(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=Tj([Kw(9,Ai),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(U.fromPositions(i,r)),c=HI(i,s);if(c.lineNumber<1)return Nn(new _f(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=Pj(t.text,c);return n.map(f=>{const g=ij(HI(f,s),r),p=o.getValueInRange(U.fromPositions(f,g)),w=__(a,p),m=U.fromPositions(f,f.delta(0,w));return new wl(m,u)})}function Pj(o,e){let t="";const i=v2(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=m2.createSortPermutation(o,g_(s=>s.range,U.compareRangesUsingStarts)),i=new rT(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}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},nD=function(o,e){return function(t,i){e(t,i,o)}},Tg;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 Nj extends lk{constructor(){super("recentlyUsed"),this._cache=new c_(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 Rj extends lk{constructor(){super("recentlyUsedByPrefix"),this._trie=b2.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 JC=(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===Jx.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((n=this._strategy)==null?void 0:n.name)!==i){this._saveState();const s=Tg._strategyCtors.get(i)||sD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${Tg._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(`${Tg._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Tg=wc,wc._strategyCtors=new Map([["recentlyUsedByPrefix",Rj],["recentlyUsed",Nj],["first",sD]]),wc._storagePrefix="suggest/memories",wc);JC=Tg=Mj([nD(0,Wc),nD(1,jn)],JC);const ew=Tl("ISuggestMemories");Pl(ew,JC,1);var Aj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oj=function(o,e){return function(t,i){e(t,i,o)}},QC,Gd;let Vv=(Gd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=QC.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)}},QC=Gd,Gd.AtEnd=new an("atEndOfWord",!1),Gd);Vv=QC=Aj([Oj(1,mn)],Vv);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)}},Pg,Kd;let Nf=(Kd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Pg.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(Pg._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=Pg._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Pg=Kd,Kd.OtherSuggestions=new an("hasOtherSuggestions",!1),Kd);Nf=Pg=Fj([Hj(1,mn)],Nf);class Wj{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 Jo=class Jo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Jo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Jo._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>=Jo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Jo._maxDuration){setTimeout(()=>Jo._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 _T,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>=Jo._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-c>Jo._maxDuration){setTimeout(()=>Jo._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=U.fromPositions(u.range.getEndPosition(),m.getStartPosition()),k=U.fromPositions(u.range.getStartPosition(),m.getEndPosition());r.push({range:x}),r.push({range:k}),Jo._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:U.fromPositions(new Yt(n,s),t.getEndPosition())}),i.push({range:U.fromPositions(new Yt(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:U.fromPositions(new Yt(r,a),t.getEndPosition())}),i.push({range:U.fromPositions(new Yt(r,1),t.getEndPosition())}))}}};Jo._maxDuration=30,Jo._maxRounds=2;let jv=Jo;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(y2(g))return 2<<20;const p=ov(g,U.fromPositions(c),U.compareRangesUsingStarts),w=p>=0?g[p]:g[Math.max(0,~p-1)];let m=s.length;for(const x of s){if(!U.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=mT.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?vT:w2;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=pp.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=pp.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;S2(f.completion.filterText,f.textLabel)===0?f.score=x:(f.score=C2(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?x2(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 Bj=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 zj(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 Vj(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 r_,this._triggerState=void 0,this._completionDisposables=new ct,this._onDidCancel=new Bi,this._onDidTrigger=new Bi,this._onDidSuggest=new Bi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new mi(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(){Qs(this._triggerCharacterListener),Qs([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(!Vj(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="";L2(i.charCodeAt(i.length-1))?I2(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;Eh.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(!Eh.isAllOff(n)){if(!Eh.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(Eh.valueFor(n,r)!=="on")return}zj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){vn(this._editor.hasModel()),vn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Xc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,w,m;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Xc(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new 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 D=e==null?void 0:e.clipboardText;if(!D&&x.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),A=new Xc(P,this._editor.getPosition(),e),j={...mT.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),j,D),this._completionDisposables.add(x.disposable),this._onNewContext(A),this._reportDurationsTelemetry(x.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const te of x.items)te.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${te.provider._debugDisplayName}`,te.completion)}).catch(Nn)}_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(Bs(e.leadingLineContent)!==Bs(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=Bj([Vl(1,Ml),Vl(2,Bf),Vl(3,ca),Vl(4,Ou),Vl(5,mn),Vl(6,jn),Vl(7,Jt),Vl(8,k2)],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 jj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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=Ot(e,jt(".suggest-status-bar"));const r=(a=>a instanceof pf?i.createInstance(D2,a,{useComma:!0}):void 0);this._leftActions=new cp(this.element,{actionViewItemProvider:r}),this._rightActions=new cp(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=jj([Xw(2,Ai),Xw(3,Ru),Xw(4,mn)],i1);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},Uj=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 Bi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Bi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new ct,this._renderDisposeable=new ct,this._borderWidth=1,this._size=new An(330,0),this.domNode=jt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(jf,{editor:e}),this._body=jt(".body"),this._scrollbar=new bT(this._body,{alwaysConsumeMouseWheel:!0}),Ot(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Ot(this._body,jt(".header")),this._close=Ot(this._header,jt("span"+yn.asCSSSelector(Ci.close))),this._close.title=C("details.close","Close"),this._type=Ot(this._header,jt("p.type")),this._docs=Ot(this._body,jt("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,E2(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=$j([Uj(1,Ai)],n1);class qj{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=h_(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),te=-s.borderWidth+e.left+e.width,J=new An(H,n.height-e.top-s.borderHeight-s.verticalPadding),le=J.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:te,fit:H-t.width,maxSizeTop:J,maxSizeBottom:le,minSize:r.with(Math.min(H,r.width))}})(),u=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,te=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),J=new An(H,n.height-e.top-s.borderHeight-s.verticalPadding),le=J.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:te,fit:H-t.width,maxSizeTop:J,maxSizeBottom:le,minSize:r.with(Math.min(H,r.width))}})(),f=(function(){const H=e.left,te=-s.borderWidth+e.top+e.height,J=new An(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:te,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,te)=>te.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 D;i?x<=p.maxSizeTop.height?(m=!0,D=p.maxSizeTop):(m=!1,D=p.maxSizeBottom):x<=p.maxSizeBottom.height?(m=!1,D=p.maxSizeBottom):(m=!0,D=p.maxSizeTop);let{top:P,left:A}=p;!m&&x>e.height&&(P=w-x);const j=this._editor.getDomNode();if(j){const H=j.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=D,this._resizable.layout(x,Math.min(D.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 Gj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function hm(o,e,t,i,n){if(yn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(En.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(Gj);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=Kj(o,e,t);a&&s.push(`${fm(a)}-lang-file-icon`)}}return s}function Kj(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!==_p?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function fm(o){return o.replace(/[\s]/g,"/")}var Zj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yw=function(o,e){return function(t,i){e(t,i,o)}};function BN(o){return`suggest-aria-id:${o}`}const Xj=ts("suggest-more-info",Ci.chevronRight,C("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Jr;const Yj=new(Jr=class{extract(e,t){if(e.textLabel.match(Jr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Jr._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=Jr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Jr._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*\))/,Jr._regexStrict=new RegExp(`^${Jr._regexRelaxed.source}$`,"i"),Jr);let s1=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new Bi,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=Ot(e,jt(".icon")),s=Ot(n,jt("span.colorspan")),r=Ot(e,jt(".contents")),a=Ot(r,jt(".main")),c=Ot(a,jt(".icon-label.codicon")),u=Ot(a,jt("span.left")),f=Ot(a,jt("span.right")),g=new HE(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=Ot(u,jt("span.signature-label")),w=Ot(u,jt("span.qualifier-label")),m=Ot(f,jt("span.details-label")),x=Ot(f,jt("span.readMore"+yn.asCSSSelector(Xj)));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 D=this._editor.getOptions(),P=D.get(50),A=P.getMassagedFontFamily(),j=P.fontFeatureSettings,H=D.get(120)||P.fontSize,te=D.get(121)||P.lineHeight,J=P.fontWeight,le=P.letterSpacing,we=`${H}px`,We=`${te}px`,ue=`${le}px`;i.style.fontSize=we,i.style.fontWeight=J,i.style.letterSpacing=ue,a.style.fontFamily=A,a.style.fontFeatureSettings=j,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=BN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Cy(e.score)},r=[];if(n.kind===19&&Yj.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,En.from({scheme:"fake",path:e.textLabel}),Aa.FILE),c=hm(this._modelService,this._languageService,En.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,En.from({scheme:"fake",path:e.textLabel}),Aa.FOLDER),hm(this._modelService,this._languageService,En.from({scheme:"fake",path:n.detail}),Aa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...yn.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=Jw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Jw(n.label.detail||""),i.detailsLabel.textContent=Jw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?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=Zj([Yw(1,ro),Yw(2,da),Yw(3,Mr)],s1);function Jw(o){return o.replace(/\r\n|\r|\n/g,"")}var Jj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gm=function(o,e){return function(t,i){e(t,i,o)}},bh;$t("editorSuggestWidget.background",yT,C("editorSuggestWidgetBackground","Background color of the suggest widget."));$t("editorSuggestWidget.border",T2,C("editorSuggestWidgetBorder","Border color of the suggest widget."));const Qj=$t("editorSuggestWidget.foreground",p_,C("editorSuggestWidgetForeground","Foreground color of the suggest widget."));$t("editorSuggestWidget.selectedForeground",wT,C("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));$t("editorSuggestWidget.selectedIconForeground",P2,C("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const e6=$t("editorSuggestWidget.selectedBackground",ST,C("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));$t("editorSuggestWidget.highlightForeground",CT,C("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));$t("editorSuggestWidget.focusHighlightForeground",M2,C("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));$t("editorSuggestWidgetStatus.foreground",Ha(Qj,.5),C("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class t6{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 r_,this._disposables=new ct,this._onDidSelect=new vL,this._onDidFocus=new vL,this._onDidHide=new Bi,this._onDidShow=new Bi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Bi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new V0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new i6(this,e),this._persistedSize=new t6(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(),D=Math.round(x/2);let{width:P,height:A}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-A)<=D)&&(A=((w=a.persistedSize)==null?void 0:w.height)??k.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(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=Ot(this.element.domNode,jt(".message")),this._listElement=Ot(this.element.domNode,jt(".tree"));const c=this._disposables.add(s.createInstance(n1,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new qj(c,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(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:D,description:P}=p.completion.label;D&&P?w=C("label.full","{0} {1}, {2}",w,D,P):D?w=C("label.detail","{0} {1}",w,D):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(xT({listInactiveFocusBackground:e6,listInactiveFocusOutline:pu})),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=wi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=wi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=wi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=wi.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=dp(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=lp(()=>{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:BN(i)}))}).catch(Nn)),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=bh.LOADING_MESSAGE,Oo(this._listElement,this._status.element),Sr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uf(bh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=bh.NO_SUGGESTIONS_MESSAGE,Oo(this._listElement,this._status.element),Sr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uf(bh.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=lp(()=>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(vd(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(vd(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=h_(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,D=Math.min(k,f);let P=Math.min(Math.max(D,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=D):(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=N2(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}},bh=Sc,Sc.LOADING_MESSAGE=C("suggestWidget.loading","Loading..."),Sc.NO_SUGGESTIONS_MESSAGE=C("suggestWidget.noSuggestions","No suggestions."),Sc);o1=bh=Jj([gm(1,Wc),gm(2,mn),gm(3,Mr),gm(4,Ai)],o1);class i6{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 n6=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},rh=function(o,e){return function(t,i){e(t,i,o)}},r1;class s6{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(U.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 Zd;let xr=(Zd=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 o6(g=>g.priority),this._onWillInsertSuggestItem=new Bi,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=wi.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(vd(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 Wj(this.editor,g,this.model,k=>this._insertSuggestion(k,2));this._toDispose.add(p);const w=wi.MakesTextEdit.bindTo(this._contextKeyService),m=wi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),x=wi.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(zn(()=>{w.reset(),m.reset(),x.reset()})),this._toDispose.add(g.onDidFocus(({item:k})=>{const D=this.editor.getPosition(),P=k.editStart.column,A=D.column;let j=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!k.completion.additionalTextEdits&&!(k.completion.insertTextRules&4)&&A-P===k.completion.insertText.length&&(j=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:A})!==k.completion.insertText),w.set(j),m.set(!Yt.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(vd(e.getDomNode()),()=>this._toDispose.add(new t1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new ww(vd(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 s6(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=wi.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=hf.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(x=>{let k=U.lift(x.range);if(k.startLineNumber===r.position.lineNumber&&k.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,A=U.spansMultipleLines(k)?0:D;k=new U(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(j=>{if(j.isFlush){c.cancel(),k.dispose();return}for(const H of j.changes){const te=U.getEndPosition(H.range);(!x||Yt.isBefore(te,x))&&(x=te)}}),D=t;t|=2;let P=!1;const A=this.editor.onWillType(()=>{A.dispose(),P=!0,D&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=>Yt.isBefore(x,U.getStartPosition(H.range))))return!1;P&&this.editor.pushUndoStop();const j=hf.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Xn.replaceMove(U.lift(H.range),H.text))),j.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(D&2))&&this.editor.pushUndoStop(),!0}).then(j=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",m.elapsed(),j),p=j===!0?1:j===!1?0:-2}).finally(()=>{k.dispose(),A.dispose()}))}let{insertText:w}=r.completion;if(r.completion.insertTextRules&4||(w=Su.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):Nn(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:eT(Va(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:R2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){vn(this.editor.hasModel());let i=this.editor.getOption(119).insertMode==="replace";t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,r=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:n+r,overwriteAfter:s+a}}_alertCompletionItem(e){if(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)(()=>{Qs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Qs(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=Zd,Zd.ID="editor.contrib.suggestController",Zd);xr=r1=n6([rh(1,ew),rh(2,Cs),rh(3,mn),rh(4,Ai),rh(5,Ou),rh(6,ca)],xr);class o6{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 je{constructor(){super({id:Fb.id,label:C("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:be.and(O.writable,O.hasCompletionItemProvider,wi.Visible.toNegated()),kbOpts:{kbExpr:O.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;qi(xr.ID,xr,2);de(qv);const Uo=190,lo=mo.bindToContribution(xr.get);ni(new lo({id:"acceptSelectedSuggestion",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:be.and(wi.Visible,O.textInputFocus),weight:Uo},{primary:3,kbExpr:be.and(wi.Visible,O.textInputFocus,wi.AcceptSuggestionsOnEnter,wi.MakesTextEdit),weight:Uo}],menuOpts:[{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:wi.HasInsertAndReplaceRange.toNegated()},{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("insert"))},{menuId:hc,title:C("accept.replace","Replace"),group:"left",order:1,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("replace"))}]}));ni(new lo({id:"acceptAlternativeSelectedSuggestion",precondition:be.and(wi.Visible,O.textInputFocus,wi.HasFocusedSuggestion),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hc,group:"left",order:2,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("insert")),title:C("accept.replace","Replace")},{menuId:hc,group:"left",order:2,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("replace")),title:C("accept.insert","Insert")}]}));Hn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");ni(new lo({id:"hideSuggestWidget",precondition:wi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:9,secondary:[1033]}}));ni(new lo({id:"selectNextSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));ni(new lo({id:"selectNextPageSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:12,secondary:[2060]}}));ni(new lo({id:"selectLastSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));ni(new lo({id:"selectPrevSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));ni(new lo({id:"selectPrevPageSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:11,secondary:[2059]}}));ni(new lo({id:"selectFirstSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));ni(new lo({id:"focusSuggestion",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));ni(new lo({id:"focusAndAcceptSuggestion",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));ni(new lo({id:"toggleSuggestionDetails",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hc,group:"right",order:1,when:be.and(wi.DetailsVisible,wi.CanResolve),title:C("detail.more","Show Less")},{menuId:hc,group:"right",order:1,when:be.and(wi.DetailsVisible.toNegated(),wi.CanResolve),title:C("detail.less","Show More")}]}));ni(new lo({id:"toggleExplainMode",precondition:wi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));ni(new lo({id:"toggleSuggestionFocus",precondition:wi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2570,mac:{primary:778}}}));ni(new lo({id:"insertBestCompletion",precondition:be.and(O.textInputFocus,be.equals("config.editor.tabCompletion","on"),Vv.AtEnd,wi.Visible.toNegated(),Nf.OtherSuggestions.toNegated(),so.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(tT(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Uo,primary:2}}));ni(new lo({id:"insertNextSuggestion",precondition:be.and(O.textInputFocus,be.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,wi.Visible.toNegated(),so.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2}}));ni(new lo({id:"insertPrevSuggestion",precondition:be.and(O.textInputFocus,be.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,wi.Visible.toNegated(),so.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:1026}}));de(class extends je{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 r6 extends ut{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 Bi),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?Ld(g,f):void 0;if(!p)return-1;const w=Yt.lift(c),m=u.map((k,D)=>{const P=Yg.fromSuggestion(n,f,w,k,this.isShiftKeyPressed),A=Ld(P.toSingleTextEdit(),f),j=WN(p,A);return{index:D,valid:j,prefixLength:A.text.length,suggestItem:k}}).filter(k=>k&&k.valid&&k.prefixLength>0),x=A2(m,g_(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=Yg.fromSuggestion(n,u,c,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!a6(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 Yg.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 Yg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Su().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 Yg(U.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 O2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function a6(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}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},Qa=function(o,e){return function(t,i){e(t,i,o)}},a1,Xd;let or=(Xd=class extends ut{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=kn(this,p=>{var w;return((w=this._editorObs.selections.read(p))==null?void 0:w.map(m=>m.getEndPosition()))??[new Yt(1,1)]}),this._suggestWidgetAdaptor=this._register(new r6(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=kn(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=kn(this,p=>{const w=this.model.read(p);return(w==null?void 0:w.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=c6(this._ghostTexts,this._store),this._ghostTextWidgets=F2(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,KM,"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||If.dropDownVisible||Au(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(zn(()=>{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(H2(kn(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 D=x.textModel.getLineContent(k.primaryGhostText.lineNumber);await Iy(50,LS(m)),await W2(this._suggestWidgetSelectedItem,Cg,()=>!1,LS(m)),await this._accessibilitySignalService.playSignal(nT.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(k.primaryGhostText.renderForScreenReader(D))})),this._register(new gC(this.editor,this.model,this._instantiationService)),this._register(QV(kn(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 Yt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},a1=Xd,Xd.ID="editor.contrib.inlineCompletionsController",Xd);or=a1=l6([Qa(1,Ai),Qa(2,mn),Qa(3,jn),Qa(4,Cs),Qa(5,rr),Qa(6,Jt),Qa(7,iT),Qa(8,us),Qa(9,wy)],or);function c6(o,e){const t=Vo("result",[]),i=[];return e.add(Gn(n=>{const s=o.read(n);Au(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 je{constructor(){super({id:Hb.ID,label:C("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:be.and(O.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=XM;let l1=Hb;const Wb=class Wb extends je{constructor(){super({id:Wb.ID,label:C("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:be.and(O.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=ZM;let c1=Wb;class d6 extends je{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:C("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:O.writable})}async run(e,t){const i=or.get(t);await kT(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 u6 extends je{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:be.and(O.writable,Io.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:be.and(O.writable,Io.inlineSuggestionVisible)},menuOpts:[{menuId:Nt.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 h6 extends je{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:be.and(O.writable,Io.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Nt.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 f6 extends je{constructor(){super({id:KM,label:C("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Io.inlineSuggestionVisible,menuOpts:[{menuId:Nt.InlineSuggestionToolbar,title:C("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:be.and(Io.inlineSuggestionVisible,O.tabMovesFocus.toNegated(),Io.inlineSuggestionHasIndentationLessThanTabSize,wi.Visible.toNegated(),O.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 je{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);Au(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:Nt.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:be.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(jn),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 g6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vg=function(o,e){return function(t,i){e(t,i,o)}};class p6{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,U.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 p6(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(If,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 Lu([c])}renderScreenReaderText(e,t){const i=new ct,n=jt,s=n("div.hover-row.markdown-hover"),r=Ot(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new jf({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=g6([vg(1,da),vg(2,la),vg(3,wy),vg(4,Ai),vg(5,ca)],h1);class _6{}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}};qi(or.ID,or,3);de(d6);de(l1);de(c1);de(u6);de(h6);de(f6);de(d1);In(u1);Bu.register(h1);tw.register(new _6);var m6=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)}},Mg,Cc;let Rp=(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=>{Nn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Mg.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 LT(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){Nn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?U.lift(n[0].originSelectionRange):new U(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=U.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>=Mg.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+Mg.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new U(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?D_(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 T_({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()}},Mg=Cc,Cc.ID="editor.contrib.gotodefinitionatposition",Cc.MAX_SOURCE_PREVIEW_LINES=8,Cc);Rp=Mg=m6([Qw(1,ua),Qw(2,da),Qw(3,Jt)],Rp);qi(Rp.ID,Rp,2);var zN=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 Bi,this.onDidChange=this._onDidChange.event,this._dispoables=new ct,this._markers=[],this._nextIdx=-1,En.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=U.compareRangesUsingStarts(a,c)||eo.compare(a.severity,c.severity):u=eo.compare(a.severity,c.severity)||U.compareRangesUsingStarts(a,c)),u},r=()=>{this._markers=this._markerService.read({resource:En.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=U.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new U(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(U.containsPosition(this._markers[i],t))return new rD(this._markers[i],i+1,this._markers.length)}}};f1=zN([Gv(1,Yx),Gv(2,jn)],f1);const VN=Tl("IMarkerNavigationService");let g1=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new _T}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=zN([Gv(0,Yx),Gv(1,jn)],g1);Pl(VN,g1,1);var p1;(function(o){function e(t){switch(t){case G_.Ignore:return"severity-ignore "+yn.asClassName(Ci.info);case G_.Info:return yn.asClassName(Ci.info);case G_.Warning:return yn.asClassName(Ci.warning);case G_.Error:return yn.asClassName(Ci.error);default:return""}}o.className=e})(p1||(p1={}));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},ah=function(o,e){return function(t,i){e(t,i,o)}},_1;class b6{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 q2(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){Qs(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=jt("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=Ot(this._codeLink,jt("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 Yd;let Ap=(Yd=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 Bi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=eo.Warning,this._backgroundColor=Ji.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(C6);let t=m1,i=y6;this._severity===eo.Warning?(t=Vm,i=w6):this._severity===eo.Info&&(t=v1,i=S6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(rN),secondaryHeadingColor:e.getColor(aN)})}_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=Ot(e,jt(""))}_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 b6(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=U.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=Yd,Yd.TitleMenu=new Nt("gotoErrorTitleMenu"),Yd);Ap=_1=v6([ah(1,Mr),ah(2,la),ah(3,Ru),ah(4,Ai),ah(5,mn),ah(6,gp)],Ap);const aD=c0(z2,B2),lD=c0(j2,V2),cD=c0(yS,$2),m1=$t("editorMarkerNavigationError.background",{dark:aD,light:aD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationError","Editor marker navigation widget error color.")),y6=$t("editorMarkerNavigationError.headerBackground",{dark:Ha(m1,.1),light:Ha(m1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Vm=$t("editorMarkerNavigationWarning.background",{dark:lD,light:lD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),w6=$t("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=$t("editorMarkerNavigationInfo.background",{dark:cD,light:cD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),S6=$t("editorMarkerNavigationInfo.headerBackground",{dark:Ha(v1,.1),light:Ha(v1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),C6=$t("editorMarkerNavigation.background",U2,C("editorMarkerNavigationBackground","Editor marker navigation widget background."));var x6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pm=function(o,e){return function(t,i){e(t,i,o)}},Ng,Jd;let Eu=(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=jN.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(Ap,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)||!U.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:U.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 Yt(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);Eu=Ng=x6([pm(1,VN),pm(2,mn),pm(3,os),pm(4,Ai)],Eu);class iw extends je{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Eu.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:O.focus,primary:578,weight:100},menuOpts:{menuId:Ap.TitleMenu,title:rd.LABEL,icon:ts("marker-navigation-next",Ci.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:O.focus,primary:1602,weight:100},menuOpts:{menuId:Ap.TitleMenu,title:ad.LABEL,icon:ts("marker-navigation-previous",Ci.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 k6 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:O.focus,primary:66,weight:100},menuOpts:{menuId:Nt.MenubarGoMenu,title:C({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class L6 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:O.focus,primary:1090,weight:100},menuOpts:{menuId:Nt.MenubarGoMenu,title:C({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}qi(Eu.ID,Eu,4);de(Kv);de(b1);de(k6);de(L6);const jN=new an("markersNavigationVisible",!1),I6=mo.bindToContribution(Eu.get);ni(new I6({id:"closeMarkersNavigation",precondition:jN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:O.focus,primary:9,secondary:[1033]}}));var Ur;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Ur||(Ur={}));class D6 extends je{constructor(){super({id:GM,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:Gt("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:O.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 U(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 E6 extends je{constructor(){super({id:qB,label:C({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:Gt("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 U(n.lineNumber,n.column,n.lineNumber,n.column),r=Rp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class T6 extends je{constructor(){super({id:GB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:16,weight:100},metadata:{description:Gt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollUp()}}class P6 extends je{constructor(){super({id:KB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:18,weight:100},metadata:{description:Gt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollDown()}}class M6 extends je{constructor(){super({id:ZB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:15,weight:100},metadata:{description:Gt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollLeft()}}class N6 extends je{constructor(){super({id:XB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:17,weight:100},metadata:{description:Gt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollRight()}}class R6 extends je{constructor(){super({id:YB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Gt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.pageUp()}}class A6 extends je{constructor(){super({id:JB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Gt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.pageDown()}}class O6 extends je{constructor(){super({id:QB,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Gt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.goToTop()}}class F6 extends je{constructor(){super({id:e4,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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Gt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.goToBottom()}}class H6 extends je{constructor(){super({id:$y,label:t4,alias:"Increase Hover Verbosity Level",precondition:O.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 W6 extends je{constructor(){super({id:Uy,label:i4,alias:"Decrease Hover Verbosity Level",precondition:O.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 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},eS=function(o,e){return function(t,i){e(t,i,o)}};const cr=jt;class z6{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 U(e.range.startLineNumber,c,e.range.startLineNumber,u);r.push(new z6(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Lu([]);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 Lu(n)}_renderMarkerHover(e){const t=new ct,i=cr("div.hover-row"),n=Ot(i,cr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const u=Ot(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=Ot(g,cr("span"));x.innerText=s}const p=Ot(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=Ot(p,cr("span"));w.innerText=a.value;const m=Ot(n,g);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{const g=Ot(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=Ot(n,cr("div"));x.style.marginTop="8px";const k=Ot(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(Nn)}}));const D=Ot(x,cr("span"));D.innerText=g,this._editor.applyFontInfo(D)}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=Eu.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?ut.None:lp(()=>n.textContent=C("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(zn(()=>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(zn(()=>{c||a.dispose()})),e.statusBar.addAction({label:C("quick fixes","Quick Fix..."),commandId:H0,run:u=>{c=!0;const f=kf.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})}})},Nn)}}getCodeActions(e){return Es(t=>kh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new U(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),dD,ll.None,t))}};y1=B6([eS(1,G2),eS(2,la),eS(3,Jt)],y1);class V6{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=Jm.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)??Jm.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||fp(c)||i.push(...FE(c).map(e))}return i}}var j6=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=jt;var Qd;let S1=(Qd=class extends ut{constructor(e,t,i){super(),this._renderDisposeables=this._register(new ct),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new OE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new jf({editor:this._editor},t,i)),this._computer=new V6(this._editor),this._hoverOperation=this._register(new YM(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=Ot(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=Qd,Qd.ID="editor.contrib.modesGlyphHoverWidget",Qd);S1=w1=j6([uD(1,da),uD(2,la)],S1);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},U6=function(o,e){return function(t,i){e(t,i,o)}},tf;let Zv=(tf=class extends ut{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()}},tf.ID="editor.contrib.marginHover",tf);Zv=$6([U6(1,Ai)],Zv);class q6{}class G6{}class K6{}qi(Gs.ID,Gs,2);qi(Zv.ID,Zv,2);de(D6);de(E6);de(T6);de(P6);de(M6);de(N6);de(R6);de(A6);de(O6);de(F6);de(H6);de(W6);Bu.register(Ep);Bu.register(y1);vy((o,e)=>{const t=o.getColor(K2);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});tw.register(new q6);tw.register(new G6);tw.register(new K6);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 $N(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 Z2(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,mf.shiftIndent(x,x.length+k,r,a,c)),f=(x,k)=>(k=k||1,mf.unshiftIndent(x,x.length+k,r,a,c)),g=[],p=o.getLineContent(t);let w=Bs(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(Z6(o,x))continue;const k=o.getLineContent(x),D=Bs(k),P=m;s.shouldDecrease(x,P)&&(m=f(m),w=f(w)),D!==m&&g.push(Xn.replaceMove(new mi(x,1,x,D.length+1),X2(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 Z6(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var X6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Y6=function(o,e){return function(t,i){e(t,i,o)}};const Vb=class Vb extends je{constructor(){super({id:Vb.ID,label:C("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:O.writable,metadata:{description:Gt("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 i5(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 je{constructor(){super({id:jb.ID,label:C("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:O.writable,metadata:{description:Gt("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 n5(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 je{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:Gt("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:Gt("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:Gt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};qb.ID="editor.action.changeTabDisplaySize";let I1=qb;const Gb=class Gb extends je{constructor(){super({id:Gb.ID,label:C("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Gt("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 J6 extends je{constructor(){super({id:"editor.action.reindentlines",label:C("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:O.writable,metadata:{description:Gt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=$N(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class Q6 extends je{constructor(){super({id:"editor.action.reindentselectedlines",label:C("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:O.writable,metadata:{description:Gt("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=$N(n,i,c,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class e5{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(U.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 nf;let Xv=(nf=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)||t5(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=>mf.shiftIndent(m,m.length+1,r,a,c),unshiftIndent:m=>mf.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=jg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(m!==null){const x=Bs(p),k=wo(m,r),D=wo(x,r);if(k!==D){const P=Jg(k,r,c);u.push({range:new U(g,1,g,x.length+1),text:P}),p=P+p.substring(x.length)}else{const P=IT(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=jg(s,{tokenization:{getLineTokens:k=>i.tokenization.getLineTokens(k),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(k,D)=>i.getLanguageIdAtPosition(k,D)},getLineContent:k=>k===w?p:i.getLineContent(k)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(x!==null){const k=wo(x,r),D=wo(Bs(i.getLineContent(g+1)),r);if(k!==D){const P=k-D;for(let A=g+1;A<=e.endLineNumber;A++){const j=i.getLineContent(A),H=Bs(j),J=wo(H,r)+P,le=Jg(J,r,c);le!==H&&u.push({range:new U(A,1,A,H.length+1),text:le})}}}}if(u.length>0){this.editor.pushUndoStop();const m=new e5(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()}},nf.ID="editor.contrib.autoIndentOnPaste",nf);Xv=X6([Y6(1,xs)],Xv);function t5(o,e){const t=i=>Y2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function UN(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 U(r,1,r,c),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class i5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),UN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class n5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),UN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}qi(Xv.ID,Xv,2);de(C1);de(x1);de(k1);de(L1);de(I1);de(D1);de(J6);de(Q6);qi(Pp.ID,Pp,1);Bu.register(Dv);class s5{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 mi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new mi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}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},r5=function(o,e){return function(t,i){e(t,i,o)}},jm,xc;let Rf=(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 LT(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=U.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 mi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const w=new s5(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(Nn)}).catch(Nn)):Promise.resolve(void 0)}},jm=xc,xc.ID="editor.contrib.inPlaceReplaceController",xc.DECORATION=Qi.register({description:"in-place-replace",className:"valueSetReplacement"}),xc);Rf=jm=o5([r5(1,Ml)],Rf);class a5 extends je{constructor(){super({id:"editor.action.inPlaceReplace.up",label:C("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Rf.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class l5 extends je{constructor(){super({id:"editor.action.inPlaceReplace.down",label:C("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Rf.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}qi(Rf.ID,Rf,4);de(a5);de(l5);class c5 extends je{constructor(){super({id:"expandLineSelection",label:C("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:O.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)}}de(c5);class d5{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=u5(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 u5(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 U(a,w,a,f))}return i}class qN{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 U(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new U(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new U(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=mi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var h5=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},f5=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 U(1,1,1,1),null):(t.addEditOperation(new U(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new U(p,1,p,e.getLineMaxColumn(p)),null)),r=new mi(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new U(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=Bs(e.getLineContent(g)),D=m+wo(k,a);w=Jg(D,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)},D=jg(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(D!==null){const P=Bs(e.getLineContent(g)),A=wo(D,a),j=wo(P,a);A!==j&&(w=Jg(A,a,u)+this.trimStart(p))}}t.addEditOperation(new U(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)},D=jg(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(D!==null){const P=Bs(e.getLineContent(r.startLineNumber)),A=wo(D,a),j=wo(P,a);if(A!==j){const H=A-j;this.getIndentEditsOfMovingBlock(e,t,r,a,u,H)}}}}else t.addEditOperation(new U(r.startLineNumber,1,r.startLineNumber,1),w+`
53
+ `)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new U(g,1,g+1,1),null),t.addEditOperation(new U(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=jg(this._autoIndent,w,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(x!==null){const k=Bs(e.getLineContent(r.startLineNumber)),D=wo(x,a),P=wo(k,a);if(D!==P){const A=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,u,A)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>mf.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>mf.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===K_.None||s.indentAction===K_.Indent?r=s.indentation+s.appendText:s.indentAction===K_.IndentOutdent?r=s.indentation:s.indentAction===K_.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Bs(e.getLineContent(n));let u=Bs(r);const f=IT(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 U(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 U(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 U(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=Bs(c),g=wo(u,n)+r,p=Jg(g,n,s);p!==u&&(t.addEditOperation(new U(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=h5([f5(3,xs)],E1);const Ah=class Ah{static getCollator(){return Ah._COLLATOR||(Ah._COLLATOR=new Intl.Collator),Ah._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=g5(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=GN(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}};Ah._COLLATOR=null;let Op=Ah;function GN(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(Op.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function g5(o,e,t){const i=GN(o,e,t);return i?Xn.replace(new U(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class KN extends je{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)=>U.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 qN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class p5 extends KN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:C("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class _5 extends KN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:C("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class m5 extends je{constructor(){super({id:"editor.action.duplicateSelection",label:C("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:O.writable,menuOpts:{menuId:Nt.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 qN(a,!0));else{const c=new mi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new J2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class ZN extends je{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 v5 extends ZN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:C("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class b5 extends ZN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:C("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class XN extends je{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 mi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Op.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Op(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class y5 extends XN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:C("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:O.writable})}}class w5 extends XN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:C("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:O.writable})}}class S5 extends je{constructor(){super({id:"editor.action.removeDuplicateLines",label:C("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:O.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 mi(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 mi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),w=u.startLineNumber-r,m=new mi(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 je{constructor(){super({id:Kb.ID,label:C("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Yt(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(jn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new d5(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};Kb.ID="editor.action.trimTrailingWhitespace";let T1=Kb;class C5 extends je{constructor(){super({id:"editor.action.deleteLines",label:C("lines.delete","Delete Line"),alias:"Delete Line",precondition:O.writable,kbOpts:{kbExpr:O.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 mi(g,w,p,m),"")),a.push(new mi(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 x5 extends je{constructor(){super({id:"editor.action.indentLines",label:C("lines.indent","Indent Line"),alias:"Indent Line",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Q2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class k5 extends je{constructor(){super({id:"editor.action.outdentLines",label:C("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2140,weight:100}})}run(e,t){Dm.Outdent.runEditorCommand(e,t,null)}}class L5 extends je{constructor(){super({id:"editor.action.insertLineBefore",label:C("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,DT.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class I5 extends je{constructor(){super({id:"editor.action.insertLineAfter",label:C("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,DT.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class YN extends je{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];U.intersectRanges(f,g)===null?s.push(f):n[c+1]=U.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 D5 extends YN{constructor(){super({id:"deleteAllLeft",label:C("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:O.writable,kbOpts:{kbExpr:O.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 mi(c,r.startColumn,c,r.startColumn)}else a=new mi(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(U.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 U(r,a,s.startLineNumber,1)}else return new U(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new U(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class E5 extends YN{constructor(){super({id:"deleteAllRight",label:C("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:O.writable,kbOpts:{kbExpr:O.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 mi(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 U(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new U(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(U.compareRangesUsingStarts),n}}class T5 extends je{constructor(){super({id:"editor.action.joinLines",label:C("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:O.writable,kbOpts:{kbExpr:O.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(U.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 mi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn):w.startLineNumber>p.endLineNumber?(s.push(p),w):new mi(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 D=0,P,A;const j=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 le=a.getLineContent(J),we=a.getLineFirstNonWhitespaceColumn(J);if(we>=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 ue=le.substr(we-1);H+=(We?" ":"")+ue,We?D=ue.length+1:D=ue.length}else D=0}const te=new U(x,k,P,A);if(!te.isEmpty()){let J;m.isEmpty()?(c.push(Xn.replace(te,H)),J=new mi(te.startLineNumber-g,H.length-D+1,x-g,H.length-D+1)):m.startLineNumber===m.endLineNumber?(c.push(Xn.replace(te,H)),J=new mi(m.startLineNumber-g,m.startColumn,m.endLineNumber-g,m.endColumn)):(c.push(Xn.replace(te,H)),J=new mi(m.startLineNumber-g,m.startColumn,m.startLineNumber-g,H.length-j)),U.intersectRanges(te,n)!==null?f=J:u.push(J)}g+=te.endLineNumber-te.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,c,u),t.pushUndoStop()}}class P5 extends je{constructor(){super({id:"editor.action.transpose",label:C("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:O.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 U(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new s_(new mi(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new U(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new qE(g,p,new mi(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class ju extends je{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 U(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 M5 extends ju{constructor(){super({id:"editor.action.transformToUppercase",label:C("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:O.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class N5 extends ju{constructor(){super({id:"editor.action.transformToLowercase",label:C("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:O.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 ju{constructor(){super({id:"editor.action.transformToTitlecase",label:C("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:O.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 Oh=class Oh extends ju{constructor(){super({id:"editor.action.transformToSnakecase",label:C("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:O.writable})}_modifyText(e,t){const i=Oh.caseBoundary.get(),n=Oh.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Oh.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Oh.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Qg=Oh;const Xb=class Xb extends ju{constructor(){super({id:"editor.action.transformToCamelcase",label:C("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:O.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 Jv=Xb;const Fh=class Fh extends ju{constructor(){super({id:"editor.action.transformToPascalcase",label:C("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:O.writable})}_modifyText(e,t){const i=Fh.wordBoundary.get(),n=Fh.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("")}};Fh.wordBoundary=new ml("[_\\s-]","gm"),Fh.wordBoundaryToMaintain=new ml("(?<=\\.)","gm");let Qv=Fh;const Xl=class Xl extends ju{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:O.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;de(p5);de(_5);de(m5);de(v5);de(b5);de(y5);de(w5);de(S5);de(T1);de(C5);de(x5);de(k5);de(L5);de(I5);de(D5);de(E5);de(T5);de(P5);de(M5);de(N5);Qg.caseBoundary.isSupported()&&Qg.singleLetters.isSupported()&&de(Qg);Jv.wordBoundary.isSupported()&&de(Jv);Qv.wordBoundary.isSupported()&&de(Qv);Yv.titleBoundary.isSupported()&&de(Yv);eb.isSupported()&&de(eb);var R5=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 JN=new an("LinkedEditingInputVisible",!1),A5="linked-editing-decoration";var kc;let Af=(kc=class extends ut{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=JN.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=__(u,f);g+=w,u=u.substr(w),f=f.substr(w);const m=eF(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 U(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 QN(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(U.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)||Nn(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:A5}),kc);Af=$m=R5([_m(1,mn),_m(2,Jt),_m(3,xs),_m(4,rr)],Af);class O5 extends je{constructor(){super({id:"editor.action.linkedEditing",label:C("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:be.and(O.writable,O.hasRenameProvider),kbOpts:{kbExpr:O.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return En.isUri(n)&&Yt.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))))},Nn):super.runCommand(e,t)}run(e,t){const i=Af.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const F5=mo.bindToContribution(Af.get);ni(new F5({id:"cancelLinkedEditingInput",precondition:JN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:O.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function QN(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))}$t("editor.linkedEditingBackground",{dark:Ji.fromHex("#f00").transparent(.3),light:Ji.fromHex("#f00").transparent(.3),hcDark:Ji.fromHex("#f00").transparent(.3),hcLight:Ji.white},C("editorLinkedEditingBackground","Background color when the editor auto renames on type."));vo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Jt);return QN(i,e,t,zi.None)});qi(Af.ID,Af,1);de(O5);let H5=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 H5(r,n));t=tb._union(t,s),fT(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(U.areIntersectingOrTouching(c.range,u.range)){n++;continue}U.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 eR(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;vn(t instanceof En),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Jt),s=o.get(ro).getModel(t);if(!s)return[];const r=await eR(n,s,zi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(zi.None);const a=r.links.slice(0);return r.dispose(),a});var W5=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,eu;let Fp=(eu=class extends ut{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=>eR(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){Nn(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(zh.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 zh(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(zi.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=En.parse(s);if(a.scheme===uo.file){const c=tF(a);let u=null;c.startsWith("/./")||c.startsWith("\\.\\")?u=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(u=`.${c.substr(2)}`),u&&(s=iF(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.")):Nn(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=eu,eu.ID="editor.linkDetector",eu);Fp=P1=W5([mm(1,la),mm(2,oo),mm(3,Jt),mm(4,rr)],Fp);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 zh{static decoration(e,t){return{range:e.range,options:zh._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?fD.active:fD.general};return n.hoverMessage=B5(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,zh._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,zh._getOptions(this.link,t,!1))}}function B5(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 z5 extends je{constructor(){super({id:"editor.action.openLink",label:C("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Fp.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)}}}qi(Fp.ID,Fp,1);de(z5);const Ok=class Ok extends ut{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;qi(ib.ID,ib,2);const V5=$t("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);$t("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);$t("editor.wordHighlightTextBackground",V5,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 j5=$t("editor.wordHighlightBorder",{light:null,dark:null,hcDark:pu,hcLight:pu},C("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));$t("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:pu,hcLight:pu},C("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));$t("editor.wordHighlightTextBorder",j5,C("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const $5=$t("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),U5=$t("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",C("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),q5=$t("editorOverviewRuler.wordHighlightTextForeground",ET,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),G5=Qi.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:gs(U5),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),K5=Qi.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:gs(q5),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),Z5=Qi.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:gs(ET),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),X5=Qi.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),Y5=Qi.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:gs($5),position:Oa.Center},minimap:{color:gs(Dy),position:1}});function J5(o){return o===av.Write?G5:o===av.Text?K5:Y5}function Q5(o){return o?X5:Z5}vy((o,e)=>{const t=o.getColor(nF);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var e$=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},t$=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);uf(n)}}class i$ extends je{constructor(){super({id:"editor.action.insertCursorAbove",label:C("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Nt.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 n$ extends je{constructor(){super({id:"editor.action.insertCursorBelow",label:C("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Nt.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 s$ extends je{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:O.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Nt.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 mi(n,s,n,s))}e.endColumn>1&&i.push(new mi(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 o$ extends je{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 mi(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 r$ extends je{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 mi(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 Hp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Hp(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 mi(c.startLineNumber,g.startColumn,c.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
+ `);return new Hp(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 mi(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 mi(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 ut{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=Hp.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 mi(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(!tR(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 mi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Yb.ID="editor.contrib.multiCursorController";let Of=Yb;class Xf extends je{run(e,t){const i=Of.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(Ai).createInstance(po,t);this._run(i,a),a.dispose()}Bc(s,n.getCursorStates())}}}class a$ extends Xf{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:O.focus,primary:2082,weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class l$ extends Xf{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:Nt.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 c$ extends Xf{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:O.focus,primary:ds(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class d$ extends Xf{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 u$ extends Xf{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:O.focus,primary:3114,weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class h$ extends Xf{constructor(){super({id:"editor.action.changeAll",label:C("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:be.and(O.writable,O.editorTextFocus),kbOpts:{kbExpr:O.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class f${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(U.compareRangesUsingStarts)),this._cachedFindMatches}}var tu;let nb=(tu=class extends ut{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=Of.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(!tR(i.getModel(),f,p))return null}a=Hp.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 f$(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(U.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=U.compareRangesUsingStarts(w,n[f]);m<0?((n[f].isEmpty()||!U.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:Q5(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},M1=tu,tu.ID="editor.contrib.selectionHighlighter",tu);nb=M1=e$([t$(1,Jt)],nb);function tR(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 g$ extends je{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 p$ extends je{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()))}}qi(Of.ID,Of,4);qi(nb.ID,nb,1);de(i$);de(n$);de(s$);de(a$);de(l$);de(c$);de(d$);de(u$);de(h$);de(o$);de(r$);de(g$);de(p$);const _$="editor.action.inlineEdit.accept",m$="editor.action.inlineEdit.reject",v$="editor.action.inlineEdit.jumpTo",b$="editor.action.inlineEdit.jumpBack";var y$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},w$=function(o,e){return function(t,i){e(t,i,o)}};const tS="inline-edit";let N1=class extends ut{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=kn(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,j){if(g.length>0){const H=g[g.length-1];j&&H.decorations.push(new vp(H.content.length+1,H.content.length+1+A[0].length,j,0)),H.content+=A[0],A=A.slice(1)}for(const H of A)g.push({content:H,decorations:j?[new vp(1,H.length+1,j,0)]:[]})}const w=s.getLineContent(r.lineNumber);let m,x=0;if(!u&&(c||!a)){for(const A of r.parts){let j=A.lines;a&&!c&&(p(j,tS),j=[]),m===void 0?(f.push({column:A.column,text:j[0],preview:A.preview}),j=j.slice(1)):p([w.substring(x,A.column-1)],void 0),j.length>0&&(p(j,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 ON(m,w.length+1):void 0,D=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:k,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:u}}),this.decorations=kn(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 U(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 U(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:f0})}for(const a of s.inlineTexts)r.push({range:U.fromPositions(new Yt(s.lineNumber,a.column)),options:{description:tS,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:Sh.Left},showIfCollapsed:!0}});return r}),this._register(zn(()=>{this.isDisposed.set(!0,void 0)})),this._register(FN(this.editor,this.decorations))}};N1=y$([w$(2,da)],N1);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 R1=class extends ut{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=kn(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 Yt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(u_((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(zn(()=>e.removeContentWidget(a)))}))}};R1=uk([Ia(2,Ai)],R1);var Lc;let A1=(Lc=class extends ut{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(Nt.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(O1,this.nodes.toolBar,this.editor,Nt.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof pf)return n.createInstance(S$,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 pf&&c.push(g);c.length>0&&c.unshift(new hp),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,Ai),Ia(4,mn),Ia(5,Ru)],A1);class S$ extends ME{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,...NE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let O1=class extends RE{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,Ru),Ia(5,mn),Ia(6,Wf),Ia(7,us),Ia(8,Cs),Ia(9,ca)],O1);var iR=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)}},Rg,F1;function*C$(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 iu;let H1=(iu=class extends ut{static _createUniqueUri(){return En.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Rg._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=kn(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(C$(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 Yt(p,g);return{top:a.range.startLineNumber,left:w}}),this._text=kn(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,Rg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Rg._createUniqueUri())).keepObserved(this._store),this._diff=kn(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=kn(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 TT.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},zi.None);if(!p.identical)return p.changes})}),this._register(u_((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(zn(()=>e.removeOverlayWidget(u)))}))}},Rg=iu,iu._modelId=0,iu);H1=Rg=iR([qm(2,Ai),qm(3,g0),qm(4,ro)],H1);var nu;let W1=(nu=class extends ut{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=jt("div.inlineEditSideBySide",void 0),this._scrollChanged=bd("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())??_p,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=kn(c=>{const u=this._text.read(c);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=kn(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 U(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:PT}),x.modified.isEmpty||x.original.isEmpty)x.original.isEmpty||g.push({range:m(x.original.toInclusiveRange()),options:MT}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:NT});else for(const k of x.innerChanges||[])x.original.contains(k.originalRange.startLineNumber)&&g.push({range:m(k.originalRange),options:k.originalRange.isEmpty()?RT:h0}),x.modified.contains(k.modifiedRange.startLineNumber)&&p.push({range:k.modifiedRange,options:k.modifiedRange.isEmpty()?AT:OT});return{org:g,mod:p}}),this._originalDecorations=kn(this,c=>this._decorations.read(c).org),this._modifiedDecorations=kn(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 Yt(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=nu,nu.id=0,nu);W1=F1=iR([qm(5,Ai)],W1);var x$=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)}},Ag,ir;let to=(ir=class extends ut{static get(e){return e.getContribution(Ag.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=Ag.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Ag.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,D=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 Mp(k,[new Ov(D,P,!1)]),j=x.range.startLineNumber===x.range.endLineNumber&&A.parts.length===1&&A.parts[0].lines.length===1,H=x.text==="";return!j&&!H?void 0:this.instantiationService.createInstance(N1,this.editor,{ghostText:cl(A),minReservedLineCount:cl(0),targetTextModel:cl(this.editor.getModel()??void 0),range:cl(x.range)})}),this._isAccepting=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=bd("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=bd("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=bd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Gn(m=>{this._enabled.read(m)&&(p.read(m),this.getInlineEdit(e,!0))}));const w=this._register(oT());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 R1(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(U.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 k$(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(U.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ss),this.freeEdit(e),Au(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=Yt.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)}},Ag=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=Ag=x$([Yc(1,Ai),Yc(2,mn),Yc(3,Jt),Yc(4,Cs),Yc(5,jn),Yc(6,g0),Yc(7,ro)],to);function k$(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 L$=class extends je{constructor(){super({id:_$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:be.and(O.writable,to.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:be.and(O.writable,to.inlineEditVisibleContext,to.cursorAtInlineEditContext)}],menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=to.get(t);await(i==null?void 0:i.accept())}};class I$ extends je{constructor(){const e=be.and(O.writable,be.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 D$ extends je{constructor(){const e=be.and(O.writable,to.inlineEditVisibleContext,be.not(to.cursorAtInlineEditKey));super({id:v$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Nt.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 E$ extends je{constructor(){const e=be.and(O.writable,to.cursorAtInlineEditContext);super({id:b$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=to.get(t);i==null||i.jumpBack()}}class T$ extends je{constructor(){const e=be.and(O.writable,to.inlineEditVisibleContext);super({id:m$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=to.get(t);await(i==null?void 0:i.clear())}}de(L$);de(T$);de(D$);de(E$);de(I$);qi(to.ID,to,3);const P$="editor.action.inlineEdits.accept",M$="editor.action.inlineEdits.showPrevious",N$="editor.action.inlineEdits.showNext",Ff=new an("inlineEditsVisible",!1,C("inlineEditsVisible","Whether an inline edit is visible")),R$=new an("inlineEditsIsPinned",!1,C("isPinned","Whether an inline edit is visible")),Fk=class Fk extends ut{constructor(e){super(),this._editor=e,this._editorObs=Ea(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=al({owner:this,equalsFn:FT},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=A$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=AE((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 Wp=Fk;function A$(o,e){return yy(o,(t,i)=>i===!0?!0:e(t))}var O$=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},F$=function(o,e){return function(t,i){e(t,i,o)}};class H${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let B1=class extends ut{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"}})]),Yu("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Yu("defs",[Yu("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Yu("stop",{offset:"0%",class:"gradient-stop"}),Yu("stop",{offset:"100%",class:"gradient-stop"})])]),Yu("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",_p,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=kn(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,"",_p,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:sF},{contributions:oF.getSomeEditorContributions([xr.ID,Wp.ID,Ef.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=kn(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:PT}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||c.push({range:g.original.toInclusiveRange(),options:MT}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:NT});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?RT:h0}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?AT:OT});return u}),this._layout1=kn(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=kn(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 Th(f,g),m=new Th(f,p),x=p-g,k=50,D=this._editor.getOption(67)*a.newLines.length,P=x-D,A=new Th(f+k,g+P/2),j=new Th(f+k,p-P/2);return{topCode:w,bottomCode:m,codeHeight:x,topEdit:A,bottomEdit:j,editHeight:D}});const s=kn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(rF(this._elements.root,{display:kn(this,r=>s.read(r)?"block":"none")})),this._register(aF(this._editor.getDomNode(),this._elements.root)),this._register(Ea(e).createOverlayWidget({domNode:this._elements.root,position:cl(null),allowEditorOverflow:!1,minContentWidthInPx:kn(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 B$().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 D=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:D})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(z$(W$(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=O$([F$(3,Ai)],B1);function W$(o,e,t){return HT(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Th{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Th(this.x+e,this.y)}}class B${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 z$(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 V$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nS=function(o,e){return function(t,i){e(t,i,o)}},Og,su;let z1=(su=class extends ut{static _createUniqueUri(){return En.from({scheme:"inline-edits",path:new Date().toString()+String(Og._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,Og._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Og._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new $$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Vo(this,void 0),this.inlineEdit=kn(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=kn(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 D=((P=k[0].match(/^\s*/))==null?void 0:P[0])??"";return k.map(A=>A.replace(new RegExp("^"+D),""))}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 TT.fromFn(async()=>{const k=await x.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},zi.None);if(!k.identical)return new H$(lF.fromRangeInclusive(f),p(g),k.changes)})}),this._fetchStore=this._register(new ct),this._inlineEditsFetchResult=xS(this,void 0),this._inlineEdits=al({owner:this,equalsFn:FT},c=>{var u;return((u=this._inlineEditsFetchResult.read(c))==null?void 0:u.completions.map(f=>new j$(f)))??[]}),this._fetchInlineEditsPromise=gT({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 HN(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=kn(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=kn(this,c=>{const u=this._filteredInlineEditItems.read(c),f=this.selectedInlineCompletionIndex.read(c);return u[f]}),this._register(pT(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 _f;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Og=su,su._modelId=0,su);z1=Og=V$([nS(4,Jt),nS(5,g0),nS(6,ro)],z1);class j${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class $$ extends ut{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Vo(this,[]),this.range=kn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(zn(()=>{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 U$=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)}},V1,ou;let Ll=(ou=class extends ut{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=cF("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ea(this.editor),this._selection=kn(this,a=>this._editorObs.cursorSelection.read(a)??new mi(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)),q$(c=>{var u;return((u=this.model.read(c))==null?void 0:u.userPrompt)??Vo("empty","")}))}),this._register(kL(Ff,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(kL(R$,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=ou,ou.ID="editor.contrib.inlineEditsController",ou);Ll=V1=U$([bg(1,Ai),bg(2,mn),bg(3,rr),bg(4,Jt),bg(5,jn)],Ll);function q$(o){return HT(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function M_(o){return{label:o.value,alias:o.original}}const Jb=class Jb extends je{constructor(){super({id:Jb.ID,...M_(Gt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:be.and(O.writable,Ff),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()}};Jb.ID=N$;let j1=Jb;const Qb=class Qb extends je{constructor(){super({id:Qb.ID,...M_(Gt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:be.and(O.writable,Ff),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()}};Qb.ID=M$;let $1=Qb;class G$ extends je{constructor(){super({id:"editor.action.inlineEdits.trigger",...M_(Gt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:O.writable})}async run(e,t){const i=Ll.get(t);await kT(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class K$ extends je{constructor(){super({id:P$,...M_(Gt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Ff,menuOpts:{menuId:Nt.InlineEditsActions,title:C("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Ci.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Ff}})}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 je{constructor(){super({id:ey.ID,...M_(Gt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Ff,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Au(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};ey.ID="editor.action.inlineEdits.hide";let U1=ey;qi(Ll.ID,Ll,3);de(G$);de(j1);de($1);de(K$);de(U1);const Tu={Visible:new an("parameterHintsVisible",!1),MultipleSignatures:new an("parameterHintsMultipleSignatures",!1)};async function nR(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;vn(En.isUri(t)),vn(Yt.isIPosition(i)),vn(typeof n=="string"||!n);const s=o.get(Jt),r=await o.get(ua).createModelReference(t);try{const a=await nR(s.signatureHelpProvider,r.object.textEditorModel,Yt.lift(i),{triggerKind:cc.Invoke,isRetrigger:!1,triggerCharacter:n},zi.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 ut{constructor(e,t,i=ty.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Bi),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(Nn)}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(Z$);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=>nR(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),Nn(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 Z$(o,e){switch(e.triggerKind){case cc.Invoke:return e;case cc.ContentChange:return o;case cc.TriggerCharacter:default:return e}}var X$=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=jt,Y$=ts("parameter-hints-next",Ci.chevronDown,C("parameterHintsNextIcon","Icon for show next parameter hint.")),J$=ts("parameter-hints-previous",Ci.chevronUp,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var ru;let K1=(ru=class extends ut{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 jf({editor:e},s,n)),this.keyVisible=Tu.Visible.bindTo(i),this.keyMultipleSignatures=Tu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Mo(".editor-widget.parameter-hints-widget"),t=Ot(e,Mo(".phwrapper"));t.tabIndex=-1;const i=Ot(t,Mo(".controls")),n=Ot(i,Mo(".button"+yn.asCSSSelector(J$))),s=Ot(i,Mo(".overloads")),r=Ot(i,Mo(".button"+yn.asCSSSelector(Y$)));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 bT(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const u=Ot(a,Mo(".signature")),f=Ot(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",Qx.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=Ot(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=Ot(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)}Ot(this.domNodes.docs,Mo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")Ot(this.domNodes.docs,Mo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);Ot(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"&&Ch(t.documentation).length>0||t&&typeof t.documentation=="object"&&Ch(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Ch(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Ch(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),Ot(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|^)${up(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=ru,ru.ID="editor.widget.parameterHintsWidget",ru);K1=G1=X$([bm(2,mn),bm(3,la),bm(4,da),bm(5,ca)],K1);$t("editorHoverWidget.highlightForeground",CT,C("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));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},pD=function(o,e){return function(t,i){e(t,i,o)}},Z1,au;let Hf=(au=class extends ut{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=au,au.ID="editor.controller.parameterHints",au);Hf=Z1=Q$([pD(1,Ai),pD(2,Jt)],Hf);class eU extends je{constructor(){super({id:"editor.action.triggerParameterHints",label:C("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:O.hasSignatureHelpProvider,kbOpts:{kbExpr:O.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Hf.get(t);i==null||i.trigger({triggerKind:cc.Invoke})}}qi(Hf.ID,Hf,2);de(eU);const hk=175,fk=mo.bindToContribution(Hf.get);ni(new fk({id:"closeParameterHints",precondition:Tu.Visible,handler:o=>o.cancel(),kbOpts:{weight:hk,kbExpr:O.focus,primary:9,secondary:[1033]}}));ni(new fk({id:"showPrevParameterHint",precondition:be.and(Tu.Visible,Tu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:hk,kbExpr:O.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));ni(new fk({id:"showNextParameterHint",precondition:be.and(Tu.Visible,Tu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:hk,kbExpr:O.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));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},iU=function(o,e){return function(t,i){e(t,i,o)}};class nU{constructor(e){this.instantiationService=e}init(...e){}}function sU(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=u_((n,s)=>{const r=IS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function oU(o){return dF()?sU(o,X1):o()}let X1=class extends nU{constructor(e,t){super(t),this.init(e)}};X1=tU([iU(1,Ai)],X1);qi(Wp.ID,oU(()=>Wp),0);$t("editor.placeholder.foreground",uF,C("placeholderForeground","Foreground color of the placeholder text in the editor."));var rU=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 Yf=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=Yf.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Do,this._inputWithButton=new aU,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(hF),i=e.getColor(fF);this._domNode.style.backgroundColor=String(e.getColor(yT)??""),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(gF)??"");const n=e.getColor(pF);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;vn(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=h_(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}=Bp.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>s*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=C({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;vn(this._renameCandidateListView),vn(this._nPxAvailableAbove!==void 0),vn(this._nPxAvailableBelow!==void 0);const t=wh(this._inputWithButton.domNode),i=wh(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 Yt(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(zn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(zn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(zn(()=>this._candidates.clear()));const u=new py;return u.p.finally(()=>{c.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),vn(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,w;const m=this._renameCandidateListView.focusedCandidate;if(m!==void 0?(this._trace("using new name from renameSuggestion"),p=m,w={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,w=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:w,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},c.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),c.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),vn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new 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){vn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!U.isEmpty(i)&&!U.spansMultipleLines(i)&&U.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 o_(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=kE(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=rU([ym(2,Mr),ym(3,us),ym(4,mn),ym(5,Ou)],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(xT({listInactiveFocusForeground:wT,listInactiveFocusBackground:ST}))}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`,uf(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}=Bp.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 Bp(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 aU{constructor(){this._onDidInputChange=new Bi,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=_F().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 vn(this._inputNode),this._inputNode}get button(){return vn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=ES(Ci.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(Ci.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 ap=class ap{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=`${ap._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(Ci.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),uT(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(mF.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+ap._PADDING*2}}dispose(){}};ap._PADDING=2;let Bp=ap;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},jl=function(o,e){return function(t,i){e(t,i,o)}},J1;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 U(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:U.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 cU(o,e,t,i){const n=new pk(e,t,o),s=await n.resolveRenameLocation(zi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,zi.None)}var lu;let Oc=(lu=class{static get(e){return e.getContribution(J1.ID)}constructor(e,t,i,n,s,r,a,c,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=c,this._telemetryService=u,this._disposableStore=new 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 cf(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 cf(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,D)=>{let P=u.slice();return k===DS.Automatic&&(P=P.filter(([A,j])=>j)),P.map(([A])=>A.provideNewSymbolNames(a,s.range,k,D))};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=o_(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(U.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(D=>{e("edits applied"),D.ariaSummary&&Er(C("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,D.ariaSummary))}).catch(D=>{e(`error when applying edits ${JSON.stringify(D,null," ")}`),this._notificationService.error(C("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},k=>{e("error when providing rename edits",JSON.stringify(k,null," ")),this._notificationService.error(C("rename.failed","Rename failed to compute edits")),this._logService.error(k)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(w,250),w}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},J1=lu,lu.ID="editor.contrib.renameController",lu);Oc=J1=lU([jl(1,Ai),jl(2,oo),jl(3,fy),jl(4,a_),jl(5,Ou),jl(6,vF),jl(7,Jt),jl(8,ca)],Oc);class dU extends je{constructor(){super({id:"editor.action.rename",label:C("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:be.and(O.writable,O.hasRenameProvider),kbOpts:{kbExpr:O.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 En.isUri(n)&&Yt.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))))},Nn):super.runCommand(e,t)}run(e,t){const i=e.get(Ou),n=Oc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}qi(Oc.ID,Oc,4);de(dU);const _k=mo.bindToContribution(Oc.get);ni(new _k({id:"acceptRenameInput",precondition:Yf,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:be.and(O.focus,be.not("isComposing")),primary:3}}));ni(new _k({id:"acceptRenameInputWithPreview",precondition:be.and(Yf,be.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:be.and(O.focus,be.not("isComposing")),primary:2051}}));ni(new _k({id:"cancelRenameInput",precondition:Yf,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:O.focus,primary:9,secondary:[1033]}}));In(class extends _o{constructor(){super({id:"focusNextRenameSuggestion",title:{...Gt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Yf,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusNextRenameSuggestion()}});In(class extends _o{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Gt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Yf,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;vn(typeof n=="string");const{renameProvider:s}=o.get(Jt);return cU(s,e,t,n)});vo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Jt),s=await new pk(e,t,i).resolveRenameLocation(zi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});aa.as(l_.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 uU=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)}},sf;let sb=(sf=class extends ut{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=>hU(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()}},sf.ID="editor.sectionHeaderDetector",sf);sb=uU([_D(1,xs),_D(2,Ml)],sb);function hU(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}})}}qi(sb.ID,sb,1);function fU(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 gU(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return bF()||fU(e),yF.wrap(e)}function sR(o){const e=new Uint32Array(pU(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 gU(e)}function pU(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 oR(o){return o&&Array.isArray(o.edits)}class _U{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function rR(o,e){return o.has(e)}function mU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function aR(o,e,t,i,n){const s=mU(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)&&!oR(c))&&(c=null),new _U(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 vU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class bU{constructor(e,t){this.provider=e,this.tokens=t}}function yU(o,e){return o.has(e)}function lR(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function mk(o,e,t,i){const n=lR(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 bU(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;vn(t instanceof En);const i=o.get(ro).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Jt),s=vU(n,i);return s?s[0].getLegend():o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Hn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;vn(t instanceof En);const i=o.get(ro).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Jt);if(!rR(n,i))return o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await aR(n,i,null,null,zi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!nw(a))return;const c=sR({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;vn(t instanceof En);const n=o.get(ro).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Jt),r=lR(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!U.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,U.lift(i),zi.None);if(a)return a.provider.getLegend()});Hn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;vn(t instanceof En),vn(U.isIRange(i));const n=o.get(ro).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Jt),r=await mk(s,n,U.lift(i),zi.None);if(!(!r||!r.tokens))return sR({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 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},Da=function(o,e){return function(t,i){e(t,i,o)}},ql;let Q1=class extends ut{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()}};Q1=cR([Da(0,_0),Da(1,ro),Da(2,Mr),Da(3,jn),Da(4,rr),Da(5,Jt)],Q1);var Ic;let ex=(Ic=class extends ut{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=()=>{Qs(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),Qs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!rR(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=aR(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)||Nn(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(oR(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 wU(e,t.resultId,t.data);const a=WT(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=cR([Da(1,_0),Da(2,Mr),Da(3,rr),Da(4,Jt)],ex);class wU{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Vf(Q1);var SU=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)}},of;let ob=(of=class extends ut{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(!yU(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,WT(c,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},of.ID="editor.contrib.viewportSemanticTokens",of);ob=SU([yg(1,_0),yg(2,Mr),yg(3,jn),yg(4,rr),yg(5,Jt)],ob);qi(ob.ID,ob,1);class CU{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 U(i.lineNumber,r+c,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new U(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 U(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}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},kU=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 cu;let zp=(cu=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 uR(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),zi.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=>mi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},tx=cu,cu.ID="editor.contrib.smartSelectController",cu);zp=tx=xU([kU(1,Jt)],zp);class dR extends je{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=zp.get(t);i&&await i.run(this._forward)}}class LU extends dR{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:C("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Nt.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 IU extends dR{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:C("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}qi(zp.ID,zp,4);de(LU);de(IU);async function uR(o,e,t,i,n){const s=o.all(e).concat(new CU(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])U.isIRange(g.range)&&U.containsPosition(g.range,t[f])&&a[f].push(U.lift(g.range))}},ss));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,w)=>Yt.isBefore(p.getStartPosition(),w.getStartPosition())?1:Yt.isBefore(w.getStartPosition(),p.getStartPosition())||Yt.isBefore(p.getEndPosition(),w.getEndPosition())?-1:Yt.isBefore(w.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of c)(!f||U.containsRange(p,f)&&!U.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 U(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 U(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;vn(En.isUri(t));const n=o.get(Jt).selectionRangeProvider,s=await o.get(ua).createModelReference(t);try{return uR(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},zi.None)}finally{s.dispose()}});const DU=Object.freeze({View:Gt("view","View"),Help:Gt("help","Help"),Test:Gt("test","Test"),File:Gt("file","File"),Preferences:Gt("preferences","Preferences"),Developer:Gt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class ep{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 ep([],[],0)}}const mD=aT("stickyScrollViewLayer",{createHTML:o=>o}),sS="data-sticky-line-index",vD="data-sticky-is-line",EU="data-sticky-is-line-number",bD="data-sticky-is-folding-icon";class TU extends ut{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 Yt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let u;try{u=vp.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new dT(!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 lT(2e3),p=cT(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(EU,""),x.className="sticky-line-number",x.style.lineHeight=`${this._lineHeight}px`;const k=n.contentLeft;x.style.width=`${k}px`;const D=document.createElement("span");c.renderType===1||c.renderType===3&&t%10===0?D.innerText=t.toString():c.renderType===2&&(D.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),D.className="sticky-line-number-inner",D.style.lineHeight=`${this._lineHeight}px`,D.style.width=`${n.lineNumbersWidth}px`,D.style.paddingLeft=`${n.lineNumbersLeft}px`,x.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&x.appendChild(P.domNode),this._editor.applyFontInfo(m),this._editor.applyFontInfo(D),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 PU(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 MU(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=wF(t.characterMapping,e,0);return new Yt(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 PU{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 MU{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=yn.asClassName(e?Mv:Pv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class tp{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 hR{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},Vp=function(o,e){return function(t,i){e(t,i,o)}},ip;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(ip||(ip={}));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 ut{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 ip.OUTLINE_MODEL:this._modelProviders.push(new nx(this._editor,n));case ip.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new ox(this._editor,t,n));case ip.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=>(Nn(t),null))}};ix=sw([Vp(2,Ai),Vp(3,Jt)],ix);class fR extends ut{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=>(Nn(i),ac.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let nx=class extends fR{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 hR(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 RN){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 tp(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new tp(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 tp(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([Vp(1,Jt)],nx);class gR extends fR{constructor(e){super(e),this._foldingLimitReporter=new PN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new hR(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 tp(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let sx=class extends gR{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([Vp(1,xs)],sx);let ox=class extends gR{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([Vp(2,Jt)],ox);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},yD=function(o,e){return function(t,i){e(t,i,o)}};class RU{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let rx=class extends ut{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Bi),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(zn(()=>{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 RU(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=NU([yD(1,Jt),yD(2,xs)],rx);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},lh=function(o,e){return function(t,i){e(t,i,o)}},ax,du;let Il=(du=class extends ut{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 TU(this._editor),this._stickyLineCandidateProvider=new rx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=ep.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(vd(c),f)})),this._stickyScrollFocusedContextKey=O.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=O.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(df(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(U.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 U(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 Yt(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 Yt(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(zn(()=>f.dispose(!0)));let g;D_(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Yt(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(zn(()=>{g.style.textDecoration="none"}))):g||(g=w,g.style.textDecoration="underline",e.add(zn(()=>{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(gN,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new SF(e,t);this._contextMenuService.showContextMenu({menuId:Nt.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=ep.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 tp(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,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(m>D&&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 ep(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},ax=du,du.ID="store.contrib.stickyScrollController",du);Il=ax=AU([lh(1,Wf),lh(2,Jt),lh(3,Ai),lh(4,xs),lh(5,rr),lh(6,mn)],Il);class OU extends _o{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Gt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:C({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Gt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:DU.View,toggled:{condition:be.equals("config.editor.stickyScroll.enabled",!0),title:C("stickyScroll","Sticky Scroll"),mnemonicTitle:C({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Nt.CommandPalette},{id:Nt.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Nt.StickyScrollContext}]})}async run(e){const t=e.get(jn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const ow=100;class FU extends ra{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Gt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:C({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:be.and(be.has("config.editor.stickyScroll.enabled"),O.stickyScrollVisible),menu:[{id:Nt.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class HU extends ra{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Gt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class WU extends ra{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Gt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class BU extends ra{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Gt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class zU extends ra{constructor(){super({id:"editor.action.selectEditor",title:Gt("selectEditor.title","Select Editor"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}qi(Il.ID,Il,1);In(OU);In(FU);In(WU);In(HU);In(BU);In(zU);var pR=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},Fg=function(o,e){return function(t,i){e(t,i,o)}};class VU{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 CF{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===pp.Default)continue;const c=new U(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 VU(c,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(zi.None)}return e}};lx=pR([Fg(5,ew)],lx);let cx=class extends ut{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(Eh.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(Eh.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 U(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(zi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(U.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=pR([Fg(0,Jt),Fg(1,Bf),Fg(2,ew),Fg(3,os)],cx);Vf(cx);class jU extends je{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()}`)}}de(jU);const iy=class iy extends _o{constructor(){super({id:iy.ID,title:Gt({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:Gt("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;In(dx);var $U=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 ut{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=Ot(e,jt("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,xF.Tap)).event;this._register(DE.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=$U([wD(3,f_),wD(4,la)],ux);var _R=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mR=function(o,e){return function(t,i){e(t,i,o)}};const UU=26;let hx=class extends ut{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,UU)}};hx=_R([mR(1,Ai)],hx);let fx=class extends ut{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(jf,{}),this.element=jt("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=jt("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=Ot(this.element,jt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(jt(`div${yn.asCSSSelector(e.icon)}`));const n=Ot(this.element,jt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Ot(this.element,jt("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=Ot(this.element,jt("div.action-container"));this.actionBar=this._register(new cp(s)),this.actionBar.push(this._register(new gf("banner.close","Close Banner",yn.asClassName(XE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};fx=_R([mR(0,Ai)],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},Vh=function(o,e){return function(t,i){e(t,i,o)}};const qU=ts("extensions-warning-message",Ci.warning,C("warningIcon","Icon shown with a warning message in the extensions editor."));var rf;let jp=(rf=class extends ut{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 Up};else if(s.ambiguousCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Pu};else if(s.invisibleCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new $p};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:qU,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(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=GU(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"?kF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new gx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new KU(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},rf.ID="editor.contrib.unicodeHighlighter",rf);jp=yk([Vh(1,Ml),Vh(2,LF),Vh(3,Ai)],jp);function GU(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 ut{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(!BT(t,e))return null;const i=t.getValueInRange(e.range);return{reason:bR(i,this._options),inComment:VT(t,e),inString:zT(t,e)}}};gx=yk([Vh(3,Ml)],gx);class KU extends ut{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=jT.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 BT(t,e)?{reason:bR(i,this._options),inComment:VT(t,e),inString:zT(t,e)}:null}}const vR=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(jp.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:{hT(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))}`,D=new Ys("",!0).appendMarkdown(w).appendText(" ").appendLink(k,x,vR);s.push(new Cr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return C4(e,t,this._editor,this._languageService,this._openerService)}};px=yk([Vh(1,da),Vh(2,la)],px);function _x(o){return`U+${o.toString(16).padStart(4,"0")}`}function oS(o){let e=`\`${_x(o)}\``;return $T.isInvisibleCharacter(o)||(e+=` "${`${ZU(o)}`}"`),e}function ZU(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function bR(o,e){return jT.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 XU extends je{constructor(){super({id:Pu.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(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeComments,!1,2)}}class YU extends je{constructor(){super({id:Pu.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(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeStrings,!1,2)}}const sy=class sy extends je{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(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.ambiguousCharacters,!1,2)}};sy.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Pu=sy;const oy=class oy extends je{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(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.invisibleCharacters,!1,2)}};oy.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let $p=oy;const ry=class ry extends je{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(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.nonBasicASCII,!1,2)}};ry.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Up=ry;const ay=class ay extends je{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(jn);function g(m){return $T.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()=>{QU(f,[m])}});if(p.push({label:g(n),run:()=>JU(f,[n])}),a){const m=new XU;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(r){const m=new YU;p.push({label:m.label,run:async()=>m.runAction(f)})}if(s.kind===0){const m=new Pu;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(s.kind===1){const m=new $p;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(s.kind===2){const m=new Up;p.push({label:m.label,run:async()=>m.runAction(f)})}else e8(s);const w=await u.pick(p,{title:vR});w&&await w.run()}};ay.ID="editor.action.unicodeHighlight.showExcludeOptions";let lb=ay;async function JU(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 QU(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 e8(o){throw new Error(`Unexpected value: ${o}`)}de(Pu);de($p);de(Up);de(lb);qi(jp.ID,jp,1);Bu.register(px);var t8=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 yR="ignoreUnusualLineTerminators";function i8(o,e,t){o.setModelProperty(e.uri,yR,t)}function n8(o,e){return o.getModelProperty(e.uri,yR)}var af;let cb=(af=class extends ut{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()||n8(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){i8(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},af.ID="editor.contrib.unusualLineTerminatorsDetector",af);cb=t8([SD(1,m0),SD(2,os)],cb);qi(cb.ID,cb,1);var s8=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},o8=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 ut{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new CD)),this._register(e.multiDocumentHighlightProvider.register("*",new CD))}};mx=s8([o8(0,Jt)],mx);var wR=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 SR(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 r8(o,e,t,i,n,s){const r=o.ordered(e);return u0(r.map(a=>()=>{const c=s.filter(u=>DF(u)).filter(u=>EF(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 CR{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 U(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 a8 extends CR{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return SR(this._providers,e,t.getPosition(),n).then(s=>s||new Ec)}}class l8 extends CR{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return r8(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ec)}}function c8(o,e,t,i,n){return new a8(e,t,n,o)}function d8(o,e,t,i,n,s){return new l8(e,t,n,o,s)}vo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Jt),n=await SR(i.documentHighlightProvider,e,t,zi.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=>{IF(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(U.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()||Qm(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(!UT(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(Qm(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())},Nn)}}computeWithModel(e,t,i,n){return n.length?d8(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):c8(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:J5(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=wR([Km(4,os)],bx);var uu;let Fc=(uu=class extends ut{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=uu,uu.ID="editor.contrib.wordHighlighter",uu);Fc=vx=wR([Km(1,mn),Km(2,Jt),Km(3,os)],Fc);class xR extends je{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Fc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class u8 extends xR{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:O.editorTextFocus,primary:65,weight:100}})}}class h8 extends xR{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:O.editorTextFocus,primary:1089,weight:100}})}}class f8 extends je{constructor(){super({id:"editor.action.wordHighlight.trigger",label:C("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Fc.get(t);n&&n.restoreViewState(!0)}}qi(Fc.ID,Fc,0);de(u8);de(h8);de(f8);Vf(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=Fu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(u=>{const f=new Yt(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=>TF.fromModelSelection(u))),c.length===1){const u=new Yt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new mi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new mi(t.lineNumber,t.column,t.lineNumber,t.column)}}class zc extends rw{_move(e,t,i,n,s){return v_.moveWordLeft(e,t,i,n,s)}}class Vc extends rw{_move(e,t,i,n,s){return v_.moveWordRight(e,t,i,n)}}class g8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class p8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class _8 extends zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class m8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class v8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class b8 extends zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class y8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class w8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class S8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class C8 extends Vc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class x8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class k8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class L8 extends Vc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class I8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class D8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class E8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(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=Fu(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 s_(m,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class Sk extends aw{_delete(e,t){const i=v_.deleteWordLeft(e,t);return i||new U(1,1,1,1)}}class Ck extends aw{_delete(e,t){const i=v_.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new U(n,s,n,s)}}class T8 extends Sk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:O.writable})}}class P8 extends Sk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:O.writable})}}class M8 extends Sk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class N8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:O.writable})}}class R8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:O.writable})}}class A8 extends Ck{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class O8 extends je{constructor(){super({id:"deleteInsideWord",precondition:O.writable,label:C("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Fu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const u=v_.deleteInsideWord(n,s,c);return new s_(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}ni(new g8);ni(new p8);ni(new _8);ni(new m8);ni(new v8);ni(new b8);ni(new S8);ni(new C8);ni(new x8);ni(new k8);ni(new L8);ni(new I8);ni(new y8);ni(new w8);ni(new D8);ni(new E8);ni(new T8);ni(new P8);ni(new M8);ni(new N8);ni(new R8);ni(new A8);de(O8);class F8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=My.deleteWordPartLeft(e);return i||new U(1,1,1,1)}}class H8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:O.writable,kbOpts:{kbExpr:O.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 U(n,s,n,s)}}class kR extends rw{_move(e,t,i,n,s){return My.moveWordPartLeft(e,t,i,s)}}class W8 extends kR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class B8 extends kR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class LR extends rw{_move(e,t,i,n,s){return My.moveWordPartRight(e,t,i)}}class z8 extends LR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class V8 extends LR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ni(new F8);ni(new H8);ni(new W8);ni(new B8);ni(new z8);ni(new V8);const Hk=class Hk extends ut{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;qi(db.ID,db,2);var j8=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 ut{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Vo(this,void 0);const n=bd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=bd("_textModel.onDidChangeContent",_s.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(u_(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new NF),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(MF(g_(s=>s.range.endLineNumber-s.range.startLineNumber,Sy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};yx=j8([xD(1,Jt),xD(2,P_)],yx);PF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(yx,o));const Wk=class Wk extends ut{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 ut{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;qi(ub.ID,ub,3);var $8=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,hu;let qp=(hu=class extends ut{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=hu,hu.ID="editor.contrib.inspectTokens",hu);qp=Sx=$8([kD(1,qT),kD(2,da)],qp);class U8 extends je{constructor(){super({id:"editor.action.inspectTokens",label:FF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=qp.get(t);i==null||i.launch()}}function q8(o){let e="";for(let t=0,i=o.length;t<i;t++){const n=o.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function G8(o,e){const t=xy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>RF,tokenize:(n,s,r)=>OF(e,r),tokenizeEncoded:(n,s,r)=>AF(i,r)}}const cy=class cy extends ut{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=G8(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,jt("h2.tm-token",void 0,q8(r),jt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),Ot(this._domNode,jt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;Ot(this._domNode,jt("table.tm-metadata-table",void 0,jt("tbody",void 0,jt("tr",void 0,jt("td.tm-metadata-key",void 0,"language"),jt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),jt("tr",void 0,jt("td.tm-metadata-key",void 0,"token type"),jt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),jt("tr",void 0,jt("td.tm-metadata-key",void 0,"font style"),jt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),jt("tr",void 0,jt("td.tm-metadata-key",void 0,"foreground"),jt("td.tm-metadata-value",void 0,`${a?Ji.Format.CSS.formatHex(a.foreground):"-?-"}`)),jt("tr",void 0,jt("td.tm-metadata-key",void 0,"background"),jt("td.tm-metadata-value",void 0,`${a?Ji.Format.CSS.formatHex(a.background):"-?-"}`))))),Ot(this._domNode,jt("hr.tokens-inspect-separator")),i<t.tokens1.length&&Ot(this._domNode,jt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=xy.getColorMap(),i=fg.getLanguageId(e),n=fg.getTokenType(e),s=fg.getFontStyle(e),r=fg.getForeground(e),a=fg.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;qi(qp.ID,qp,4);de(U8);var K8=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)}},Hg,fu;let xx=(fu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=aa.as(b_.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(Hg.PREFIX.length));n&&n.prefix&&n.prefix!==Hg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Hg.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}})}},Hg=fu,fu.PREFIX="?",fu);xx=Hg=K8([LD(0,El),LD(1,us)],xx);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:xx,prefix:"",helpEntries:[{description:HF.helpQuickAccessActionLabel}]});class IR{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=GT(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(KT(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(zn(()=>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&&uf(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return UT(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(QE),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 IR{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,ut.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=GT(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(zn(()=>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 Z8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},X8=function(o,e){return function(t,i){e(t,i,o)}};let Gp=class extends kx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=_s.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Gp=Z8([X8(0,os)],Gp);var gu;let DR=(gu=class extends je{constructor(){super({id:gu.ID,label:ZT.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(El).quickAccess.show(Gp.PREFIX)}},gu.ID="editor.action.gotoLine",gu);de(DR);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:Gp,prefix:Gp.PREFIX,helpEntries:[{description:ZT.gotoLineActionLabel,commandId:DR.ID}]});const ER=[void 0,[]];function rS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?Y8(o,n.values,t,i):TR(o,e,t,i)}function Y8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=TR(o,r,t,i);if(typeof a!="number")return ER;n+=a,s.push(...c)}return[n,J8(s)]}function TR(o,e,t,i){const n=vT(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Cy(n)]:ER}function J8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!Q8(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 Q8(o,e){return!(o.end<e.start||e.end<o.start)}function ID(o){return o.startsWith('"')&&o.endsWith('"')}const PR=" ";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(PR);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=WF(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(PR)):Lx(o.original)}var e7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TD=function(o,e){return function(t,i){e(t,i,o)}},Zm,Qr;let Id=(Qr=class extends IR{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.")),ut.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):ut.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(zn(()=>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=jF(m,k=>!!(k.type!=="separator"&&k.range&&U.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,D;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=(D=(k=this.options)==null?void 0:k.openSideBySideDirection)==null?void 0:D.call(k);p&&(g=[{iconClass:p==="right"?yn.asClassName(Ci.splitHorizontal):yn.asClassName(Ci.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],j=BF(A.name),H=`$(${zF.toIcon(A.kind).id}) ${j}`,te=H.length-j.length;let J=A.containerName;i!=null&&i.extraContainerLabel&&(J?J=`${i.extraContainerLabel} • ${J}`:J=i.extraContainerLabel);let le,we,We,ue;if(t.original.length>c){let rt=!1;if(u!==t&&([le,we]=rS(H,{...t,values:void 0},c,te),typeof le=="number"&&(rt=!0)),typeof le!="number"&&([le,we]=rS(H,u,c,te),typeof le!="number"))continue;if(!rt&&f){if(J&&f.original.length>0&&([We,ue]=rS(J,f)),typeof We!="number")continue;typeof le=="number"&&(le+=We)}}const et=A.tags&&A.tags.indexOf(1)>=0;w.push({index:P,kind:A.kind,score:le,label:H,ariaLabel:VF(A.name,A.kind),description:J,highlights:et?void 0:{label:we,description:ue},range:{selection:U.collapseToStart(A.selectionRange),decoration:A.range},uri:s.uri,symbolName:j,strikethrough:et,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"&&j>0&&(A.label=r0(lS[P]||aS,j))},P,A,j=0;for(const te of m)P!==te.kind?(H(),P=te.kind,j=1,A={type:"separator"},x.push(A)):j++,x.push(te);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=Qr,Qr.PREFIX="@",Qr.SCOPE_PREFIX=":",Qr.PREFIX_BY_CATEGORY=`${Qr.PREFIX}${Qr.SCOPE_PREFIX}`,Qr);Id=Zm=e7([TD(0,Jt),TD(1,P_)],Id);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 t7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cS=function(o,e){return function(t,i){e(t,i,o)}};let Ix=class extends Id{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=_s.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ix=t7([cS(0,os),cS(1,Jt),cS(2,P_)],Ix);const uy=class uy extends je{constructor(){super({id:uy.ID,label:PS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:O.hasDocumentSymbolProvider,kbOpts:{kbExpr:O.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(El).quickAccess.show(Id.PREFIX,{itemActivation:$F.NONE})}};uy.ID="editor.action.quickOutline";let hb=uy;de(hb);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:Ix,prefix:Id.PREFIX,helpEntries:[{description:PS.quickOutlineActionLabel,prefix:Id.PREFIX,commandId:hb.ID},{description:PS.quickOutlineByCategoryActionLabel,prefix:Id.PREFIX_BY_CATEGORY}]});function i7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class np{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 i7(np.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=np.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=np.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 n7(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 Ph;(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"})(Ph||(Ph={}));function dS(o){return Array.isArray(o.items)}function PD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class s7 extends ut{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=(D,P)=>{var H;let A,j;if(dS(D)?(A=D.items,j=D.active):A=D,A.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(UF(this.options.noResultsPick)?A=[this.options.noResultsPick(p)]:A=[this.options.noResultsPick])}return e.items=A,j&&(e.activeItems=[j]),!0},x=async D=>{let P=!1,A=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Iy(D.mergeDelay),g.isCancellationRequested)||A||(P=m(D.picks,!0))})(),(async()=>{e.busy=!0;try{const j=await D.additionalPicks;if(g.isCancellationRequested)return;let H,te;dS(D.picks)?(H=D.picks.items,te=D.picks.active):H=D.picks;let J,le;if(dS(j)?(J=j.items,le=j.active):J=j,J.length>0||!P){let we;if(!te&&!le){const We=e.activeItems[0];We&&H.indexOf(We)!==-1&&(we=We)}m({items:[...H,...J],active:te||le||we})}}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 D=await w;if(g.isCancellationRequested)return;PD(D)?await x(D):m(D)}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 Ph.NO_ACTION:break;case Ph.CLOSE_PICKER:e.hide();break;case Ph.REFRESH_PICKER:a();break;case Ph.REMOVE_ITEM:{const k=e.items.indexOf(g);if(k!==-1){const D=e.items.slice(),P=D.splice(k,1),A=e.activeItems.filter(H=>H!==P[0]),j=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,A&&(e.activeItems=A),e.keepScrollPosition=j}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 MR=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)}},id,ls,Ma;let Dx=(Ma=class extends s7{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=KT(()=>{const x=new np;x.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const k=x.calculateScores(e,i);return n7(k).filter(D=>D.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,D=x.commandAlias?id.WORD_FILTER(e,x.commandAlias)??void 0:void 0;if(k||D)x.highlights={label:k,detail:this.options.showAlias?D: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(j=>j.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 D=this.commandsHistory.peek(x.commandId),P=this.commandsHistory.peek(k.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const A=this.options.suggestedCommandIds.has(x.commandId),j=this.options.suggestedCommandIds.has(k.commandId);if(A&&j)return 0;if(A)return-1;if(j)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 D;const x=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const k=x.map(P=>this.toCommandPick(P,n));return g&&((D=k[0])==null?void 0:D.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=qF(ZF,KF,GF),Ma);Dx=id=MR([Jl(1,Ai),Jl(2,us),Jl(3,Cs),Jl(4,ca),Jl(5,m0)],Dx);var ea;let Ex=(ea=class extends ut{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===Jx.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=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 c_(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=MR([Jl(0,Wc),Jl(1,jn),Jl(2,Ou)],Ex);class o7 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&&(XF(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:YF(n.label)||n.id})}return t}}var r7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ch=function(o,e){return function(t,i){e(t,i,o)}};let Kp=class extends o7{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[]}};Kp=r7([ch(0,Ai),ch(1,os),ch(2,us),ch(3,Cs),ch(4,ca),ch(5,m0)],Kp);const hy=class hy extends je{constructor(){super({id:hy.ID,label:XT.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(El).quickAccess.show(Kp.PREFIX)}};hy.ID="editor.action.quickCommand";let fb=hy;de(fb);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:Kp,prefix:Kp.PREFIX,helpEntries:[{description:XT.quickCommandHelp,commandId:fb.ID}]});var a7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dh=function(o,e){return function(t,i){e(t,i,o)}};let Tx=class extends Iu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Tx=a7([dh(1,mn),dh(2,os),dh(3,oo),dh(4,Ai),dh(5,Wc),dh(6,jn)],Tx);qi(Iu.ID,Tx,4);class l7 extends je{constructor(){super({id:"editor.action.toggleHighContrast",label:JF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(qT),n=i.getColorTheme();dp(n.type)?(i.setTheme(this._originalThemeName||(PL(n.type)?QF:e3)),this._originalThemeName=null):(i.setTheme(PL(n.type)?t3:i3),this._originalThemeName=n.themeName)}}de(l7);let Px=null;function c7(o){Px=o}function d7(o={}){return{"Content-Type":"application/json",...o}}async function Qt(o,e,t){const i=await fetch(e,{method:o,headers:d7(),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 u7(){return await(await fetch("/she/auth/mode")).json()}async function h7(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 f7(){await fetch("/she/auth/logout",{method:"POST"})}async function g7(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 p7(){return Qt("GET","/she/scripts/tree")}function uS(o){return Qt("GET",`/she/scripts/${o}`)}function Jc(o,e){return Qt("PUT",`/she/scripts/${o}`,{content:e})}function wm(o){return Qt("DELETE",`/she/scripts/${o}`)}function MD(o,e){return Qt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function _7(o){return Qt("POST","/she/scripts/mkdir",{path:o})}function m7(){return Qt("GET","/she/git/status")}function Wg(){return Qt("GET","/she/status")}function NR(){return Qt("POST","/she/restart")}function v7(){return Qt("POST","/she/update")}function b7(){return Qt("POST","/she/check-update")}function y7(o,e){return Qt("POST","/she/git/commit",{path:o,message:e})}function ND(o,e){return Qt("POST","/she/git/commit",{files:o,message:e})}function RD(o){return Qt("POST","/she/git/commit",{message:o})}function Sm(o){return Qt("POST","/she/git/push",{remote:o})}function w7(o,e){return Qt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function S7(o,e){return Qt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Dl(){return Qt("GET","/she/config")}function Zp(o){return Qt("PUT","/she/config",o)}function RR(){return Qt("GET","/she/db/docs")}function C7(o){return Qt("GET",`/she/db/docs/${o}`)}function AD(o,e){return Qt("PUT",`/she/db/docs/${o}`,e)}function x7(o){return Qt("DELETE",`/she/db/docs/${o}`)}function AR(){return Qt("GET","/she/db/views")}function k7(o){return Qt("GET",`/she/db/views/${o}`)}function OD(o,e){return Qt("PUT",`/she/db/views/${o}`,e)}function L7(o){return Qt("DELETE",`/she/db/views/${o}`)}function I7(){return Qt("GET","/she/deps")}function D7(o){return Qt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function E7(o,e){return Qt("POST","/she/deps/install",{name:o,version:null})}function T7(o){return Qt("POST","/she/deps/remove",{name:o})}function P7(o){return Qt("POST","/she/deps/update",{name:o})}function OR(){return Qt("GET","/she/deps/outdated")}function M7(){return Qt("POST","/she/deps/check-outdated")}function N7(){return Qt("GET","/she/ai/conversations")}function FD(o){return Qt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function R7(o,e,t){return Qt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function A7(o){return Qt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function hS(o){return Qt("GET",`/she/db/views/${o}/result`)}function FR(){return Qt("GET","/she/matter/devices")}function Xm(o){return Qt("GET",`/she/matter/devices/${o}`)}function O7(o){return Qt("POST","/she/matter/commission",o)}function F7(o){return Qt("DELETE",`/she/matter/devices/${o}`)}function H7(o,e,t,i,n){return Qt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function HR(){return Qt("GET","/she/mqtt/state")}function HD(o,e,t=!1,i=0){return Qt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function WR(){return Qt("GET","/she/ai/config")}function BR(){return Qt("GET","/she/ai/models")}function Mx(o){return Qt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function zR(o){return Qt("POST","/she/ai/prompt",o)}async function VR(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 jR(){return Qt("GET","/she/broker/status")}function W7(){return Qt("GET","/she/broker/config")}function B7(o){return Qt("PUT","/she/broker/config",o)}function z7(){return Qt("POST","/she/broker/reload")}function V7(){return Qt("POST","/she/broker/restart")}function j7(){return Qt("GET","/she/broker/users")}function $7(o,e){return Qt("POST","/she/broker/users",{username:o,password:e})}function U7(o){return Qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function q7(o,e){return Qt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function G7(){return Qt("GET","/she/broker/roles")}function K7(o){return Qt("POST","/she/broker/roles",{rolename:o})}function Z7(o){return Qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function X7(o,e){return Qt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function Y7(o,e,t){return Qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function J7(){return Qt("GET","/she/broker/groups")}function Q7(o){return Qt("POST","/she/broker/groups",{groupname:o})}function eq(o){return Qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function tq(){return Qt("GET","/she/broker/ca")}function iq(o){return Qt("POST","/she/broker/ca/generate",o??{})}function nq(){return Qt("GET","/she/broker/ca/server")}function sq(o){return Qt("POST","/she/broker/ca/server/generate",o)}function oq(){return Qt("GET","/she/broker/ca/certs")}function rq(o){return Qt("POST","/she/broker/ca/certs",o)}function aq(o){return Qt("DELETE",`/she/broker/ca/certs/${encodeURIComponent(o)}`)}function Qc(o,e){return`/she/broker/ca/certs/${encodeURIComponent(o)}/download?type=${e}`}function lq(){return Qt("GET","/she/broker/ca/trusted")}function cq(o){return Qt("POST","/she/broker/ca/trusted",{pem:o})}function dq(o){return Qt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}const uq=2e3,Ym=[];function $R(){return Ym.slice()}let lc=null;const gb=new Set,Mh=new Map;let Nx=null;function Xp(){let o=gb.size;for(const e of Mh.values())o+=e.size;return o}function hq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function xk(){if(lc)return;const o=hq(),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>=uq&&Ym.shift(),Ym.push(s),gb.forEach(r=>r(s))}const n=Mh.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{lc===e&&(lc=null),Xp()>0&&(Nx=setTimeout(xk,3e3))},e.onerror=()=>{e.close()}}function UR(){Nx&&clearTimeout(Nx),lc==null||lc.close(),lc=null}function kk(o){return gb.add(o),Xp()===1&&xk(),()=>{gb.delete(o),Xp()===0&&UR()}}function kr(o,e){return Mh.has(o)||Mh.set(o,new Set),Mh.get(o).add(e),Xp()===1&&xk(),()=>{var t;(t=Mh.get(o))==null||t.delete(e),Xp()===0&&UR()}}var fq=T('<button class="cancel svelte-1eh8v5n">Cancel</button>'),gq=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(D=>a=D)}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=Vs();cs("keydown",Sd,f);var w=Dt(p);{var m=x=>{var k=gq(),D=Dt(k),P=b(D,2),A=v(P),j=v(A),H=b(A,2),te=v(H);{var J=ue=>{var et=fq();G("click",et,()=>u(!1)),E(ue,et)};W(te,ue=>{d(r)||ue(J)})}var le=b(te,2);let we;var We=v(le);V(()=>{F(j,d(i)),we=At(le,1,"svelte-1eh8v5n",null,we,{danger:d(s)}),F(We,d(n))}),G("click",D,()=>u(!1)),G("click",le,()=>u(!0)),E(x,k)};W(w,x=>{d(t)&&x(m)})}return E(o,p),Rs(g)}Ks(["click"]);var pq=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 _q(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(D,P){return y(i,D,!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 D=d(r).trim();D&&(y(t,!1),a==null||a(D),a=null,y(r,""))}function g(){y(t,!1),a==null||a(null),a=null,y(r,"")}function p(D){d(t)&&D.key==="Escape"&&(D.stopPropagation(),g())}var w={show:u},m=Vs();cs("keydown",Sd,p);var x=Dt(m);{var k=D=>{var P=pq(),A=Dt(P),j=b(A,2),H=v(j),te=v(H),J=b(H,2);Ds(J,et=>y(c,et),()=>d(c));var le=b(J,2),we=v(le),We=b(we,2),ue=v(We);V(et=>{F(te,d(i)),Fi(J,"placeholder",d(n)),We.disabled=et,F(ue,d(s))},[()=>!d(r).trim()]),G("click",A,g),G("keydown",J,et=>{et.key==="Enter"&&(et.preventDefault(),f())}),Xt(J,()=>d(r),et=>y(r,et)),G("click",we,g),G("click",We,f),E(D,P)};W(x,D=>{d(t)&&D(k)})}return E(o,m),Rs(w)}Ks(["click","keydown"]);function qR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var fS,WD;function mq(){if(WD)return fS;WD=1;function o(R){return R instanceof Map?R.clear=R.delete=R.set=function(){throw new Error("map is read-only")}:R instanceof Set&&(R.add=R.clear=R.delete=function(){throw new Error("set is read-only")}),Object.freeze(R),Object.getOwnPropertyNames(R).forEach(Q=>{const Y=R[Q],fe=typeof Y;(fe==="object"||fe==="function")&&!Object.isFrozen(Y)&&o(Y)}),R}class e{constructor(Q){Q.data===void 0&&(Q.data={}),this.data=Q.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(R){return R.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(R,...Q){const Y=Object.create(null);for(const fe in R)Y[fe]=R[fe];return Q.forEach(function(fe){for(const _e in fe)Y[_e]=fe[_e]}),Y}const n="</span>",s=R=>!!R.scope,r=(R,{prefix:Q})=>{if(R.startsWith("language:"))return R.replace("language:","language-");if(R.includes(".")){const Y=R.split(".");return[`${Q}${Y.shift()}`,...Y.map((fe,_e)=>`${fe}${"_".repeat(_e+1)}`)].join(" ")}return`${Q}${R}`};class a{constructor(Q,Y){this.buffer="",this.classPrefix=Y.classPrefix,Q.walk(this)}addText(Q){this.buffer+=t(Q)}openNode(Q){if(!s(Q))return;const Y=r(Q.scope,{prefix:this.classPrefix});this.span(Y)}closeNode(Q){s(Q)&&(this.buffer+=n)}value(){return this.buffer}span(Q){this.buffer+=`<span class="${Q}">`}}const c=(R={})=>{const Q={children:[]};return Object.assign(Q,R),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 Y=c({scope:Q});this.add(Y),this.stack.push(Y)}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,Y){return typeof Y=="string"?Q.addText(Y):Y.children&&(Q.openNode(Y),Y.children.forEach(fe=>this._walk(Q,fe)),Q.closeNode(Y)),Q}static _collapse(Q){typeof Q!="string"&&Q.children&&(Q.children.every(Y=>typeof Y=="string")?Q.children=[Q.children.join("")]:Q.children.forEach(Y=>{u._collapse(Y)}))}}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,Y){const fe=Q.root;Y&&(fe.scope=`language:${Y}`),this.add(fe)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(R){return R?typeof R=="string"?R:R.source:null}function p(R){return x("(?=",R,")")}function w(R){return x("(?:",R,")*")}function m(R){return x("(?:",R,")?")}function x(...R){return R.map(Y=>g(Y)).join("")}function k(R){const Q=R[R.length-1];return typeof Q=="object"&&Q.constructor===Object?(R.splice(R.length-1,1),Q):{}}function D(...R){return"("+(k(R).capture?"":"?:")+R.map(fe=>g(fe)).join("|")+")"}function P(R){return new RegExp(R.toString()+"|").exec("").length-1}function A(R,Q){const Y=R&&R.exec(Q);return Y&&Y.index===0}const j=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(R,{joinWith:Q}){let Y=0;return R.map(fe=>{Y+=1;const _e=Y;let $=g(fe),Z="";for(;$.length>0;){const ie=j.exec($);if(!ie){Z+=$;break}Z+=$.substring(0,ie.index),$=$.substring(ie.index+ie[0].length),ie[0][0]==="\\"&&ie[1]?Z+="\\"+String(Number(ie[1])+_e):(Z+=ie[0],ie[0]==="("&&Y++)}return Z}).map(fe=>`(${fe})`).join(Q)}const te=/\b\B/,J="[a-zA-Z]\\w*",le="[a-zA-Z_]\\w*",we="\\b\\d+(\\.\\d+)?",We="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ue="\\b(0b[01]+)",et="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",rt=(R={})=>{const Q=/^#![ ]*\//;return R.binary&&(R.begin=x(Q,/.*\b/,R.binary,/\b.*/)),i({scope:"meta",begin:Q,end:/$/,relevance:0,"on:begin":(Y,fe)=>{Y.index!==0&&fe.ignoreMatch()}},R)},me={begin:"\\\\[\\s\\S]",relevance:0},lt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[me]},ft={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[me]},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/},Ne=function(R,Q,Y={}){const fe=i({scope:"comment",begin:R,end:Q,contains:[]},Y);fe.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 _e=D("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 fe.contains.push({begin:x(/[ ]+/,"(",_e,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),fe},Lt=Ne("//","$"),Oe=Ne("/\\*","\\*/"),Se=Ne("#","$"),nt={scope:"number",begin:we,relevance:0},Ft={scope:"number",begin:We,relevance:0},oi={scope:"number",begin:ue,relevance:0},Bt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[me,{begin:/\[/,end:/\]/,relevance:0,contains:[me]}]},Et={scope:"title",begin:J,relevance:0},Rt={scope:"title",begin:le,relevance:0},Ct={begin:"\\.\\s*"+le,relevance:0};var di=Object.freeze({__proto__:null,APOS_STRING_MODE:lt,BACKSLASH_ESCAPE:me,BINARY_NUMBER_MODE:oi,BINARY_NUMBER_RE:ue,COMMENT:Ne,C_BLOCK_COMMENT_MODE:Oe,C_LINE_COMMENT_MODE:Lt,C_NUMBER_MODE:Ft,C_NUMBER_RE:We,END_SAME_AS_BEGIN:function(R){return Object.assign(R,{"on:begin":(Q,Y)=>{Y.data._beginMatch=Q[1]},"on:end":(Q,Y)=>{Y.data._beginMatch!==Q[1]&&Y.ignoreMatch()}})},HASH_COMMENT_MODE:Se,IDENT_RE:J,MATCH_NOTHING_RE:te,METHOD_GUARD:Ct,NUMBER_MODE:nt,NUMBER_RE:we,PHRASAL_WORDS_MODE:Pt,QUOTE_STRING_MODE:ft,REGEXP_MODE:Bt,RE_STARTERS_RE:et,SHEBANG:rt,TITLE_MODE:Et,UNDERSCORE_IDENT_RE:le,UNDERSCORE_TITLE_MODE:Rt});function Li(R,Q){R.input[R.index-1]==="."&&Q.ignoreMatch()}function Ni(R,Q){R.className!==void 0&&(R.scope=R.className,delete R.className)}function Oi(R,Q){Q&&R.beginKeywords&&(R.begin="\\b("+R.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",R.__beforeBegin=Li,R.keywords=R.keywords||R.beginKeywords,delete R.beginKeywords,R.relevance===void 0&&(R.relevance=0))}function Wi(R,Q){Array.isArray(R.illegal)&&(R.illegal=D(...R.illegal))}function Si(R,Q){if(R.match){if(R.begin||R.end)throw new Error("begin & end are not supported with match");R.begin=R.match,delete R.match}}function ri(R,Q){R.relevance===void 0&&(R.relevance=1)}const _i=(R,Q)=>{if(!R.beforeMatch)return;if(R.starts)throw new Error("beforeMatch cannot be used with starts");const Y=Object.assign({},R);Object.keys(R).forEach(fe=>{delete R[fe]}),R.keywords=Y.keywords,R.begin=x(Y.beforeMatch,p(Y.begin)),R.starts={relevance:0,contains:[Object.assign(Y,{endsParent:!0})]},R.relevance=0,delete Y.beforeMatch},ki=["of","and","for","in","not","or","if","then","parent","list","value"],Vi="keyword";function Ri(R,Q,Y=Vi){const fe=Object.create(null);return typeof R=="string"?_e(Y,R.split(" ")):Array.isArray(R)?_e(Y,R):Object.keys(R).forEach(function($){Object.assign(fe,Ri(R[$],Q,$))}),fe;function _e($,Z){Q&&(Z=Z.map(ie=>ie.toLowerCase())),Z.forEach(function(ie){const Ce=ie.split("|");fe[Ce[0]]=[$,Mi(Ce[0],Ce[1])]})}}function Mi(R,Q){return Q?Number(Q):mt(R)?0:1}function mt(R){return ki.includes(R.toLowerCase())}const Mt={},hi=R=>{console.error(R)},Ti=(R,...Q)=>{console.log(`WARN: ${R}`,...Q)},Xi=(R,Q)=>{Mt[`${R}/${Q}`]||(console.log(`Deprecated as of ${R}. ${Q}`),Mt[`${R}/${Q}`]=!0)},ji=new Error;function Tn(R,Q,{key:Y}){let fe=0;const _e=R[Y],$={},Z={};for(let ie=1;ie<=Q.length;ie++)Z[ie+fe]=_e[ie],$[ie+fe]=!0,fe+=P(Q[ie-1]);R[Y]=Z,R[Y]._emit=$,R[Y]._multi=!0}function Fe(R){if(Array.isArray(R.begin)){if(R.skip||R.excludeBegin||R.returnBegin)throw hi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ji;if(typeof R.beginScope!="object"||R.beginScope===null)throw hi("beginScope must be object"),ji;Tn(R,R.begin,{key:"beginScope"}),R.begin=H(R.begin,{joinWith:""})}}function ei(R){if(Array.isArray(R.end)){if(R.skip||R.excludeEnd||R.returnEnd)throw hi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ji;if(typeof R.endScope!="object"||R.endScope===null)throw hi("endScope must be object"),ji;Tn(R,R.end,{key:"endScope"}),R.end=H(R.end,{joinWith:""})}}function ui(R){R.scope&&typeof R.scope=="object"&&R.scope!==null&&(R.beginScope=R.scope,delete R.scope)}function Pi(R){ui(R),typeof R.beginScope=="string"&&(R.beginScope={_wrap:R.beginScope}),typeof R.endScope=="string"&&(R.endScope={_wrap:R.endScope}),Fe(R),ei(R)}function $e(R){function Q(Z,ie){return new RegExp(g(Z),"m"+(R.case_insensitive?"i":"")+(R.unicodeRegex?"u":"")+(ie?"g":""))}class Y{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(ie,Ce){Ce.position=this.position++,this.matchIndexes[this.matchAt]=Ce,this.regexes.push([Ce,ie]),this.matchAt+=P(ie)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const ie=this.regexes.map(Ce=>Ce[1]);this.matcherRe=Q(H(ie,{joinWith:"|"}),!0),this.lastIndex=0}exec(ie){this.matcherRe.lastIndex=this.lastIndex;const Ce=this.matcherRe.exec(ie);if(!Ce)return null;const gt=Ce.findIndex((Ie,st)=>st>0&&Ie!==void 0),Re=this.matchIndexes[gt];return Ce.splice(0,gt),Object.assign(Ce,Re)}}class fe{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(ie){if(this.multiRegexes[ie])return this.multiRegexes[ie];const Ce=new Y;return this.rules.slice(ie).forEach(([gt,Re])=>Ce.addRule(gt,Re)),Ce.compile(),this.multiRegexes[ie]=Ce,Ce}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(ie,Ce){this.rules.push([ie,Ce]),Ce.type==="begin"&&this.count++}exec(ie){const Ce=this.getMatcher(this.regexIndex);Ce.lastIndex=this.lastIndex;let gt=Ce.exec(ie);if(this.resumingScanAtSamePosition()&&!(gt&&gt.index===this.lastIndex)){const Re=this.getMatcher(0);Re.lastIndex=this.lastIndex+1,gt=Re.exec(ie)}return gt&&(this.regexIndex+=gt.position+1,this.regexIndex===this.count&&this.considerAll()),gt}}function _e(Z){const ie=new fe;return Z.contains.forEach(Ce=>ie.addRule(Ce.begin,{rule:Ce,type:"begin"})),Z.terminatorEnd&&ie.addRule(Z.terminatorEnd,{type:"end"}),Z.illegal&&ie.addRule(Z.illegal,{type:"illegal"}),ie}function $(Z,ie){const Ce=Z;if(Z.isCompiled)return Ce;[Ni,Si,Pi,_i].forEach(Re=>Re(Z,ie)),R.compilerExtensions.forEach(Re=>Re(Z,ie)),Z.__beforeBegin=null,[Oi,Wi,ri].forEach(Re=>Re(Z,ie)),Z.isCompiled=!0;let gt=null;return typeof Z.keywords=="object"&&Z.keywords.$pattern&&(Z.keywords=Object.assign({},Z.keywords),gt=Z.keywords.$pattern,delete Z.keywords.$pattern),gt=gt||/\w+/,Z.keywords&&(Z.keywords=Ri(Z.keywords,R.case_insensitive)),Ce.keywordPatternRe=Q(gt,!0),ie&&(Z.begin||(Z.begin=/\B|\b/),Ce.beginRe=Q(Ce.begin),!Z.end&&!Z.endsWithParent&&(Z.end=/\B|\b/),Z.end&&(Ce.endRe=Q(Ce.end)),Ce.terminatorEnd=g(Ce.end)||"",Z.endsWithParent&&ie.terminatorEnd&&(Ce.terminatorEnd+=(Z.end?"|":"")+ie.terminatorEnd)),Z.illegal&&(Ce.illegalRe=Q(Z.illegal)),Z.contains||(Z.contains=[]),Z.contains=[].concat(...Z.contains.map(function(Re){return fi(Re==="self"?Z:Re)})),Z.contains.forEach(function(Re){$(Re,Ce)}),Z.starts&&$(Z.starts,ie),Ce.matcher=_e(Ce),Ce}if(R.compilerExtensions||(R.compilerExtensions=[]),R.contains&&R.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return R.classNameAliases=i(R.classNameAliases||{}),$(R)}function Ut(R){return R?R.endsWithParent||Ut(R.starts):!1}function fi(R){return R.variants&&!R.cachedVariants&&(R.cachedVariants=R.variants.map(function(Q){return i(R,{variants:null},Q)})),R.cachedVariants?R.cachedVariants:Ut(R)?i(R,{starts:R.starts?i(R.starts):null}):Object.isFrozen(R)?i(R):R}var Ii="11.11.1";class qe extends Error{constructor(Q,Y){super(Q),this.name="HTMLInjectionError",this.html=Y}}const he=t,K=i,ae=Symbol("nomatch"),xe=7,Pe=function(R){const Q=Object.create(null),Y=Object.create(null),fe=[];let _e=!0;const $="Could not find the language '{}', did you forget to load/include a language module?",Z={disableAutodetect:!0,name:"Plain text",contains:[]};let ie={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Ce(z){return ie.noHighlightRe.test(z)}function gt(z){let ee=z.className+" ";ee+=z.parentNode?z.parentNode.className:"";const Ue=ie.languageDetectRe.exec(ee);if(Ue){const Ye=ai(Ue[1]);return Ye||(Ti($.replace("{}",Ue[1])),Ti("Falling back to no-highlight mode for this block.",z)),Ye?Ue[1]:"no-highlight"}return ee.split(/\s+/).find(Ye=>Ce(Ye)||ai(Ye))}function Re(z,ee,Ue){let Ye="",ge="";typeof ee=="object"?(Ye=z,Ue=ee.ignoreIllegals,ge=ee.language):(Xi("10.7.0","highlight(lang, code, ...args) has been deprecated."),Xi("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),ge=z,Ye=ee),Ue===void 0&&(Ue=!0);const ve={code:Ye,language:ge};xi("before:highlight",ve);const vt=ve.result?ve.result:Ie(ve.language,ve.code,Ue);return vt.code=ve.code,xi("after:highlight",vt),vt}function Ie(z,ee,Ue,Ye){const ge=Object.create(null);function ve(ye,it){return ye.keywords[it]}function vt(){if(!Ke.keywords){tt.addText(Ee);return}let ye=0;Ke.keywordPatternRe.lastIndex=0;let it=Ke.keywordPatternRe.exec(Ee),pt="";for(;it;){pt+=Ee.substring(ye,it.index);const _t=De.case_insensitive?it[0].toLowerCase():it[0],Ze=ve(Ke,_t);if(Ze){const[qt,ii]=Ze;if(tt.addText(pt),pt="",ge[_t]=(ge[_t]||0)+1,ge[_t]<=xe&&(He+=ii),qt.startsWith("_"))pt+=it[0];else{const cn=De.classNameAliases[qt]||qt;Ge(it[0],cn)}}else pt+=it[0];ye=Ke.keywordPatternRe.lastIndex,it=Ke.keywordPatternRe.exec(Ee)}pt+=Ee.substring(ye),tt.addText(pt)}function Ei(){if(Ee==="")return;let ye=null;if(typeof Ke.subLanguage=="string"){if(!Q[Ke.subLanguage]){tt.addText(Ee);return}ye=Ie(Ke.subLanguage,Ee,!0,Vt[Ke.subLanguage]),Vt[Ke.subLanguage]=ye._top}else ye=It(Ee,Ke.subLanguage.length?Ke.subLanguage:null);Ke.relevance>0&&(He+=ye.relevance),tt.__addSublanguage(ye._emitter,ye.language)}function Te(){Ke.subLanguage!=null?Ei():vt(),Ee=""}function Ge(ye,it){ye!==""&&(tt.startScope(it),tt.addText(ye),tt.endScope())}function Wt(ye,it){let pt=1;const _t=it.length-1;for(;pt<=_t;){if(!ye._emit[pt]){pt++;continue}const Ze=De.classNameAliases[ye[pt]]||ye[pt],qt=it[pt];Ze?Ge(qt,Ze):(Ee=qt,vt(),Ee=""),pt++}}function Je(ye,it){return ye.scope&&typeof ye.scope=="string"&&tt.openNode(De.classNameAliases[ye.scope]||ye.scope),ye.beginScope&&(ye.beginScope._wrap?(Ge(Ee,De.classNameAliases[ye.beginScope._wrap]||ye.beginScope._wrap),Ee=""):ye.beginScope._multi&&(Wt(ye.beginScope,it),Ee="")),Ke=Object.create(ye,{parent:{value:Ke}}),Ke}function bt(ye,it,pt){let _t=A(ye.endRe,pt);if(_t){if(ye["on:end"]){const Ze=new e(ye);ye["on:end"](it,Ze),Ze.isMatchIgnored&&(_t=!1)}if(_t){for(;ye.endsParent&&ye.parent;)ye=ye.parent;return ye}}if(ye.endsWithParent)return bt(ye.parent,it,pt)}function Kt(ye){return Ke.matcher.regexIndex===0?(Ee+=ye[0],1):(Tt=!0,0)}function q(ye){const it=ye[0],pt=ye.rule,_t=new e(pt),Ze=[pt.__beforeBegin,pt["on:begin"]];for(const qt of Ze)if(qt&&(qt(ye,_t),_t.isMatchIgnored))return Kt(it);return pt.skip?Ee+=it:(pt.excludeBegin&&(Ee+=it),Te(),!pt.returnBegin&&!pt.excludeBegin&&(Ee=it)),Je(pt,ye),pt.returnBegin?0:it.length}function ne(ye){const it=ye[0],pt=ee.substring(ye.index),_t=bt(Ke,ye,pt);if(!_t)return ae;const Ze=Ke;Ke.endScope&&Ke.endScope._wrap?(Te(),Ge(it,Ke.endScope._wrap)):Ke.endScope&&Ke.endScope._multi?(Te(),Wt(Ke.endScope,ye)):Ze.skip?Ee+=it:(Ze.returnEnd||Ze.excludeEnd||(Ee+=it),Te(),Ze.excludeEnd&&(Ee=it));do Ke.scope&&tt.closeNode(),!Ke.skip&&!Ke.subLanguage&&(He+=Ke.relevance),Ke=Ke.parent;while(Ke!==_t.parent);return _t.starts&&Je(_t.starts,ye),Ze.returnEnd?0:it.length}function Ve(){const ye=[];for(let it=Ke;it!==De;it=it.parent)it.scope&&ye.unshift(it.scope);ye.forEach(it=>tt.openNode(it))}let Qe={};function Ae(ye,it){const pt=it&&it[0];if(Ee+=ye,pt==null)return Te(),0;if(Qe.type==="begin"&&it.type==="end"&&Qe.index===it.index&&pt===""){if(Ee+=ee.slice(it.index,it.index+1),!_e){const _t=new Error(`0 width match regex (${z})`);throw _t.languageName=z,_t.badRule=Qe.rule,_t}return 1}if(Qe=it,it.type==="begin")return q(it);if(it.type==="illegal"&&!Ue){const _t=new Error('Illegal lexeme "'+pt+'" for mode "'+(Ke.scope||"<unnamed>")+'"');throw _t.mode=Ke,_t}else if(it.type==="end"){const _t=ne(it);if(_t!==ae)return _t}if(it.type==="illegal"&&pt==="")return Ee+=`
81
+ `,1;if(ze>1e5&&ze>it.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ee+=pt,pt.length}const De=ai(z);if(!De)throw hi($.replace("{}",z)),new Error('Unknown language: "'+z+'"');const zt=$e(De);let kt="",Ke=Ye||zt;const Vt={},tt=new ie.__emitter(ie);Ve();let Ee="",He=0,Be=0,ze=0,Tt=!1;try{if(De.__emitTokens)De.__emitTokens(ee,tt);else{for(Ke.matcher.considerAll();;){ze++,Tt?Tt=!1:Ke.matcher.considerAll(),Ke.matcher.lastIndex=Be;const ye=Ke.matcher.exec(ee);if(!ye)break;const it=ee.substring(Be,ye.index),pt=Ae(it,ye);Be=ye.index+pt}Ae(ee.substring(Be))}return tt.finalize(),kt=tt.toHTML(),{language:z,value:kt,relevance:He,illegal:!1,_emitter:tt,_top:Ke}}catch(ye){if(ye.message&&ye.message.includes("Illegal"))return{language:z,value:he(ee),illegal:!0,relevance:0,_illegalBy:{message:ye.message,index:Be,context:ee.slice(Be-100,Be+100),mode:ye.mode,resultSoFar:kt},_emitter:tt};if(_e)return{language:z,value:he(ee),illegal:!1,relevance:0,errorRaised:ye,_emitter:tt,_top:Ke};throw ye}}function st(z){const ee={value:he(z),illegal:!1,relevance:0,_top:Z,_emitter:new ie.__emitter(ie)};return ee._emitter.addText(z),ee}function It(z,ee){ee=ee||ie.languages||Object.keys(Q);const Ue=st(z),Ye=ee.filter(ai).filter(Di).map(Te=>Ie(Te,z,!1));Ye.unshift(Ue);const ge=Ye.sort((Te,Ge)=>{if(Te.relevance!==Ge.relevance)return Ge.relevance-Te.relevance;if(Te.language&&Ge.language){if(ai(Te.language).supersetOf===Ge.language)return 1;if(ai(Ge.language).supersetOf===Te.language)return-1}return 0}),[ve,vt]=ge,Ei=ve;return Ei.secondBest=vt,Ei}function St(z,ee,Ue){const Ye=ee&&Y[ee]||Ue;z.classList.add("hljs"),z.classList.add(`language-${Ye}`)}function si(z){let ee=null;const Ue=gt(z);if(Ce(Ue))return;if(xi("before:highlightElement",{el:z,language:Ue}),z.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",z);return}if(z.children.length>0&&(ie.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)),ie.throwUnescapedHTML))throw new qe("One of your code blocks includes unescaped HTML.",z.innerHTML);ee=z;const Ye=ee.textContent,ge=Ue?Re(Ye,{language:Ue,ignoreIllegals:!0}):It(Ye);z.innerHTML=ge.value,z.dataset.highlighted="yes",St(z,Ue,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}),xi("after:highlightElement",{el:z,result:ge,text:Ye})}function ti(z){ie=K(ie,z)}const se=()=>{xt(),Xi("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Le(){xt(),Xi("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let at=!1;function xt(){function z(){xt()}if(document.readyState==="loading"){at||window.addEventListener("DOMContentLoaded",z,!1),at=!0;return}document.querySelectorAll(ie.cssSelector).forEach(si)}function ht(z,ee){let Ue=null;try{Ue=ee(R)}catch(Ye){if(hi("Language definition for '{}' could not be registered.".replace("{}",z)),_e)hi(Ye);else throw Ye;Ue=Z}Ue.name||(Ue.name=z),Q[z]=Ue,Ue.rawDefinition=ee.bind(null,R),Ue.aliases&&bi(Ue.aliases,{languageName:z})}function Xe(z){delete Q[z];for(const ee of Object.keys(Y))Y[ee]===z&&delete Y[ee]}function Ht(){return Object.keys(Q)}function ai(z){return z=(z||"").toLowerCase(),Q[z]||Q[Y[z]]}function bi(z,{languageName:ee}){typeof z=="string"&&(z=[z]),z.forEach(Ue=>{Y[Ue.toLowerCase()]=ee})}function Di(z){const ee=ai(z);return ee&&!ee.disableAutodetect}function fn(z){z["before:highlightBlock"]&&!z["before:highlightElement"]&&(z["before:highlightElement"]=ee=>{z["before:highlightBlock"](Object.assign({block:ee.el},ee))}),z["after:highlightBlock"]&&!z["after:highlightElement"]&&(z["after:highlightElement"]=ee=>{z["after:highlightBlock"](Object.assign({block:ee.el},ee))})}function Cn(z){fn(z),fe.push(z)}function un(z){const ee=fe.indexOf(z);ee!==-1&&fe.splice(ee,1)}function xi(z,ee){const Ue=z;fe.forEach(function(Ye){Ye[Ue]&&Ye[Ue](ee)})}function gn(z){return Xi("10.7.0","highlightBlock will be removed entirely in v12.0"),Xi("10.7.0","Please use highlightElement now."),si(z)}Object.assign(R,{highlight:Re,highlightAuto:It,highlightAll:xt,highlightElement:si,highlightBlock:gn,configure:ti,initHighlighting:se,initHighlightingOnLoad:Le,registerLanguage:ht,unregisterLanguage:Xe,listLanguages:Ht,getLanguage:ai,registerAliases:bi,autoDetection:Di,inherit:K,addPlugin:Cn,removePlugin:un}),R.debugMode=function(){_e=!1},R.safeMode=function(){_e=!0},R.versionString=Ii,R.regex={concat:x,lookahead:p,either:D,optional:m,anyNumberOfTimes:w};for(const z in di)typeof di[z]=="object"&&o(di[z]);return Object.assign(R,di),R},ot=Pe({});return ot.newInstance=()=>Pe({}),fS=ot,ot.HighlightJS=ot,ot.default=ot,fS}var vq=mq();const pb=qR(vq),BD="[A-Za-z$_][0-9A-Za-z$_]*",bq=["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"],yq=["true","false","null","undefined","NaN","Infinity"],GR=["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"],KR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ZR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],wq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Sq=[].concat(ZR,GR,KR);function XR(o){const e=o.regex,t=(Ne,{after:Lt})=>{const Oe="</"+Ne[0].slice(1);return Ne.input.indexOf(Oe,Lt)!==-1},i=BD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ne,Lt)=>{const Oe=Ne[0].length+Ne.index,Se=Ne.input[Oe];if(Se==="<"||Se===","){Lt.ignoreMatch();return}Se===">"&&(t(Ne,{after:Oe})||Lt.ignoreMatch());let nt;const Ft=Ne.input.substring(Oe);if(nt=Ft.match(/^\s*=/)){Lt.ignoreMatch();return}if((nt=Ft.match(/^\s+extends\s+/))&&nt.index===0){Lt.ignoreMatch();return}}},a={$pattern:BD,keyword:bq,literal:yq,built_in:Sq,"variable.language":wq},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 j=[].concat(P,p.contains),H=j.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(j)}]),te={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"}}]},le={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:{_:[...GR,...KR]}},we={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:[te],illegal:/%/},ue={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function et(Ne){return e.concat("(?!",Ne.join("|"),")")}const rt={match:e.concat(/\b/,et([...ZR,"super","import"].map(Ne=>`${Ne}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},me={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},lt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},te]},ft="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Pt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(ft)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[te]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:le},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),we,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,m,x,k,P,{match:/\$\d+/},g,le,{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:ft,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:[te,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},me,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[te]},rt,ue,J,lt,{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 $u=Lk();function YR(o){$u=o}var od={exec:()=>null};function uh(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 Cq=((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:uh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:uh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:uh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:uh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:uh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:uh(o=>new RegExp(`^ {0,${o}}>`))},xq=/^(?:[ \t]*(?:\n|$))+/,kq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Lq=/^ {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+|$)/,Iq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ik=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,JR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,QR=Fn(JR).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(),Dq=Fn(JR).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]+)*)/,Eq=/^[^\n]+/,Ek=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Tq=Fn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ek).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Pq=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]*?(?:-->|$))/,Mq=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(),eA=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(),Nq=Fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",eA).getRegex(),Pk={blockquote:Nq,code:kq,def:Tq,fences:Lq,heading:Iq,hr:N_,html:Mq,lheading:QR,list:Pq,newline:xq,paragraph:eA,table:od,text:Eq},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(),Rq={...Pk,lheading:Dq,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()},Aq={...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",QR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Oq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Fq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,tA=/^( {2,}|\\)\n(?!\s*$)/,Hq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Qf=/[\p{P}\p{S}]/u,cw=/[\s\p{P}\p{S}]/u,Mk=/[^\s\p{P}\p{S}]/u,Wq=Fn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,cw).getRegex(),iA=/(?!~)[\p{P}\p{S}]/u,Bq=/(?!~)[\s\p{P}\p{S}]/u,zq=/(?:[^\s\p{P}\p{S}]|~)/u,Vq=Fn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Cq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),nA=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,jq=Fn(nA,"u").replace(/punct/g,Qf).getRegex(),$q=Fn(nA,"u").replace(/punct/g,iA).getRegex(),sA="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Uq=Fn(sA,"gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,Qf).getRegex(),qq=Fn(sA,"gu").replace(/notPunctSpace/g,zq).replace(/punctSpace/g,Bq).replace(/punct/g,iA).getRegex(),Gq=Fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,Qf).getRegex(),Kq=Fn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Qf).getRegex(),Zq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Xq=Fn(Zq,"gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,Qf).getRegex(),Yq=Fn(/\\(punct)/,"gu").replace(/punct/g,Qf).getRegex(),Jq=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(),Qq=Fn(Tk).replace("(?:-->|$)","-->").getRegex(),e9=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",Qq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,t9=Fn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",_b).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),oA=Fn(/^!?\[(label)\]\[(ref)\]/).replace("label",_b).replace("ref",Ek).getRegex(),rA=Fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ek).getRegex(),i9=Fn("reflink|nolink(?!\\()","g").replace("reflink",oA).replace("nolink",rA).getRegex(),VD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Nk={_backpedal:od,anyPunctuation:Yq,autolink:Jq,blockSkip:Vq,br:tA,code:Fq,del:od,delLDelim:od,delRDelim:od,emStrongLDelim:jq,emStrongRDelimAst:Uq,emStrongRDelimUnd:Gq,escape:Oq,link:t9,nolink:rA,punctuation:Wq,reflink:oA,reflinkSearch:i9,tag:e9,text:Hq,url:od},n9={...Nk,link:Fn(/^!?\[(label)\]\((.*?)\)/).replace("label",_b).getRegex(),reflink:Fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_b).getRegex()},Rx={...Nk,emStrongRDelimAst:qq,emStrongLDelim:$q,delLDelim:Kq,delRDelim:Xq,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()},s9={...Rx,br:Fn(tA).replace("{2,}","*").getRegex(),text:Fn(Rx.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Cm={normal:Pk,gfm:Rq,pedantic:Aq},wg={normal:Nk,gfm:Rx,breaks:s9,pedantic:n9},o9={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},jD=o=>o9[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 r9(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 a9(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 l9(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||$u}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=l9(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=a9(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),D=this.rules.other.fencesBeginRegex(m),P=this.rules.other.headingBeginRegex(m),A=this.rules.other.htmlBeginRegex(m),j=this.rules.other.blockquoteBeginRegex(m);for(;o;){let H=o.split(`
103
+ `,1)[0],te;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),te=p):te=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||A.test(p)||j.test(p)||x.test(p)||k.test(p))break;if(te.search(this.rules.other.nonSpaceChar)>=m||!p.trim())f+=`
104
+ `+te.slice(m);else{if(w||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.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=te.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=r9(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||$u,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:wg.normal};this.options.pedantic?(t.block=Cm.pedantic,t.inline=wg.pedantic):this.options.gfm&&(t.block=Cm.gfm,this.options.breaks?t.inline=wg.breaks:t.inline=wg.gfm),this.tokenizer.rules=t}static get rules(){return{block:Cm,inline:wg}}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,D=e.slice(1),P;this.options.extensions.startInline.forEach(A=>{P=A.call({lexer:this},D),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||$u}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)}},Rk=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||$u,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 Rk}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,Bg=(xm=class{constructor(o){pn(this,"options");pn(this,"block");this.options=o||$u}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),c9=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",Rk);pn(this,"Lexer",Xr);pn(this,"Tokenizer",mb);pn(this,"Hooks",Bg);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 Bg;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];Bg.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&Bg.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}}},Mu=new c9;function Un(o,e){return Mu.parse(o,e)}Un.options=Un.setOptions=function(o){return Mu.setOptions(o),Un.defaults=Mu.defaults,YR(Un.defaults),Un};Un.getDefaults=Lk;Un.defaults=$u;Un.use=function(...o){return Mu.use(...o),Un.defaults=Mu.defaults,YR(Un.defaults),Un};Un.walkTokens=function(o,e){return Mu.walkTokens(o,e)};Un.parseInline=Mu.parseInline;Un.Parser=Yr;Un.parser=Yr.parse;Un.Renderer=vb;Un.TextRenderer=Rk;Un.Lexer=Xr;Un.lexer=Xr.lex;Un.Tokenizer=mb;Un.Hooks=Bg;Un.parse=Un;Un.options;Un.setOptions;Un.use;Un.walkTokens;Un.parseInline;Yr.parse;Xr.lex;var d9=T('<span class="chat-model svelte-10ayso4"><!></span>'),u9=T('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),h9=T('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),f9=T('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),g9=T('<ul class="history-list svelte-10ayso4"></ul>'),p9=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>'),_9=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>'),m9=T('Chatting in context of <code class="svelte-10ayso4"> </code>',1),v9=T('<button class="chip svelte-10ayso4"> </button>'),b9=T('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),y9=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>'),JD=T('<div class="text-block svelte-10ayso4"></div>'),w9=T('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),S9=T('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),C9=T('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),x9=T('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),k9=T('<button class="expand-btn svelte-10ayso4"> </button>'),L9=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>'),I9=T('<!> <div class="msg-content svelte-10ayso4"></div>',1),D9=T("<div><!></div>"),E9=T('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),T9=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>'),P9=T('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),M9=T('<div class="chat-error svelte-10ayso4"> </div>'),N9=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>'),R9=T('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),A9=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>'),O9=T('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),F9=T('<button class="send-btn svelte-10ayso4">↑</button>'),H9=T('<option class="svelte-10ayso4"> </option>'),W9=T('<select class="model-select svelte-10ayso4"></select>'),B9=T('<span class="model-name svelte-10ayso4"> </span>'),z9=T('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),V9=T('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),j9=T('<p class="info-status svelte-10ayso4">Loading…</p>'),$9=T('<p class="info-status info-err svelte-10ayso4"> </p>'),U9=T('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),q9=T('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),G9=T('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),K9=T('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),Z9=T('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),X9=T('<div class="running-model svelte-10ayso4"> </div>'),Y9=T('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),J9=T('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),Q9=T('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),eG=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>'),tG=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 iG(o,e){Ns(e,!0),pb.registerLanguage("javascript",XR),Un.use({breaks:!0,gfm:!0});let t=Cf(e,"currentScript",3,null),i=Cf(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);$n(()=>{localStorage.setItem(f,d(p))});let x=M(yi([])),k=M(yi(localStorage.getItem("she:selectedModel")??"")),D=M(null);const P=wt(()=>{var q;return d(D)!==null&&((q=t())==null?void 0:q.path)===d(D)});let A=M(yi(new Set)),j=M(!1),H=M(null),te=M(!1),J=M(""),le=M(0),we=null,We=M(0);const ue=["[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 et=M(!0),rt=M(!0),me=M(!0),lt=M(!1),ft,Pt=M(yi([])),Ne,Lt;const Oe=wt(()=>({apiref:d(et),tools:d(rt)})),Se=wt(()=>{var q;return((q=d(u))==null?void 0:q.configured)??!1}),nt=wt(()=>{var q;return d(Se)||!!((q=d(u))!=null&&q.provider)&&!!d(k)}),Ft=wt(()=>d(le)+new TextEncoder().encode(d(r)).length),oi=wt(()=>d(me)?t():null);$n(()=>{var ne;const q=(ne=t())==null?void 0:ne.path;y(me,!0),d(D)!==null&&q!==d(D)&&y(D,null)}),$n(()=>{var Qe;if(!d(P))return;const q=d(n).at(-1);if(!q||q.role!=="assistant")return;const Ve=Et(q.content).find(Ae=>Ae.type==="code"&&Si(Ae.lang));if(Ve){const Ae=ri(Ve.text);(Qe=e.onApply)==null||Qe.call(e,Ae?Ae.code:Ve.text)}});async function Bt(){try{const q=await WR();y(u,q,!0),q.configured&&!d(k)&&y(k,q.model,!0)}catch{}}$n(()=>(window.addEventListener("she:config-changed",Bt),()=>window.removeEventListener("she:config-changed",Bt))),$n(()=>{d(k)&&localStorage.setItem("she:selectedModel",d(k))}),$n(()=>{var q;(q=d(u))!=null&&q.provider&&BR().then(ne=>{y(x,ne.models,!0),!d(k)&&ne.models.length>0&&y(k,ne.models[0],!0)}).catch(()=>{})}),$n(()=>{d(k),y(H,null),y(J,"")}),$n(()=>{var ne,Ve;if(((ne=d(u))==null?void 0:ne.provider)!=="ollama")return;const q=d(k)||((Ve=d(u))==null?void 0:Ve.model);!q||d(H)||Mx(q).then(Qe=>{y(H,Qe,!0)}).catch(()=>{})}),$n(()=>{if(!d(a))return;y(We,Math.floor(Math.random()*ue.length),!0);const q=setInterval(()=>{y(We,(d(We)+1)%ue.length)},1e4);return()=>clearInterval(q)}),$n(()=>{var q;Lt&&(d(n).length+(((q=d(s))==null?void 0:q.length)??0),requestAnimationFrame(()=>{Lt&&(Lt.scrollTop=Lt.scrollHeight)}))}),$n(()=>{const q=d(Oe),ne=d(oi),Ve=i();d(nt)&&zR({context:q,currentScript:ne??null,extraFiles:Ve.length>0?Ve:void 0}).then(Qe=>{y(le,new TextEncoder().encode(Qe.prompt).length,!0)}).catch(()=>{})});function Et(q){const ne=q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),Ve=[],Qe=/```(\w*)\n([\s\S]*?)```/g;let Ae=0,De;for(;(De=Qe.exec(ne))!==null;)De.index>Ae&&Ve.push({type:"text",text:ne.slice(Ae,De.index)}),Ve.push({type:"code",lang:De[1]||"text",text:De[2].trimEnd()}),Ae=De.index+De[0].length;return Ae<ne.length&&Ve.push({type:"text",text:ne.slice(Ae)}),Ve}const Rt=15;function Ct(q){return q.split(`
147
+ `).length>Rt}function vi(q){const ne=new Set(d(A));ne.has(q)?ne.delete(q):ne.add(q),y(A,ne,!0)}function di(q,ne){if(Si(ne))try{return pb.highlight(q,{language:"javascript"}).value}catch{}return q.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Li(q){return Un.parse(q)}function Ni(q){const ne=q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),Ve=[],Qe=/```(\w*)\n([\s\S]*?)```/g;let Ae=0,De;for(;(De=Qe.exec(ne))!==null;)De.index>Ae&&Ve.push({type:"text",text:ne.slice(Ae,De.index)}),Ve.push({type:"code",lang:De[1]||"text",text:De[2].trimEnd()}),Ae=De.index+De[0].length;const zt=ne.slice(Ae),kt=zt.match(/```(\w*)\n([\s\S]*)$/);return kt?(kt.index>0&&Ve.push({type:"text",text:zt.slice(0,kt.index)}),Ve.push({type:"code",lang:kt[1]||"text",text:kt[2]})):zt&&Ve.push({type:"text",text:zt}),Ve}function Oi(q){navigator.clipboard.writeText(q).catch(()=>{})}function Wi(q,ne=!1){var Ve;ne&&t()&&y(D,t().path,!0),(Ve=e.onApply)==null||Ve.call(e,q)}function Si(q){return!q||q==="js"||q==="javascript"}function ri(q){const ne=q.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return ne?{filename:ne[1],code:q.slice(ne[0].length)}:null}function _i(q){return q>=1e9?`${(q/1e9).toFixed(1)} GB`:q>=1e6?`${(q/1e6).toFixed(0)} MB`:q>=1024?`${(q/1024).toFixed(1)} kB`:`${q} B`}async function ki(){if(y(j,!0),!(d(H)||d(te))){y(te,!0),y(J,"");try{y(H,await Mx(d(k)||d(u).model),!0)}catch(q){y(J,q.message,!0)}y(te,!1)}}function Vi(q){const ne=q.match(/\.([^.]+)$/);return ne?ne[1].toUpperCase():"?"}function Ri(q){switch(q){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return q}}function Mi(q){i(i().filter((ne,Ve)=>Ve!==q))}function mt(){ft.click()}async function Mt(q){if(!(!q||q.length===0))for(const ne of Array.from(q)){const Ve=await ne.text();i([...i(),{name:ne.name,content:Ve}])}}function hi(q){const ne=q.target;Mt(ne.files),ne.value=""}function Ti(q){var ne;q.preventDefault(),y(lt,!1),Mt(((ne=q.dataTransfer)==null?void 0:ne.files)??null)}function Xi(q){var ne;(ne=q.dataTransfer)!=null&&ne.types.includes("Files")&&(q.preventDefault(),y(lt,!0))}function ji(){y(lt,!1)}async function Tn(){try{y(w,await N7(),!0)}catch{}}async function Fe(){var ne;if(d(n).length===0)return;const q=((ne=d(n).find(Ve=>Ve.role==="user"))==null?void 0:ne.content.slice(0,80))??d(p);try{await R7(d(p),q,d(n)),await Tn()}catch{}}async function ei(q){try{const ne=await FD(q);y(n,ne.messages,!0),y(p,q,!0),y(m,!1),y(c,"")}catch{}}async function ui(q){try{await A7(q),await Tn(),q===d(p)&&Pi()}catch{}}function Pi(){y(n,[],!0),y(c,""),y(p,g(),!0),y(m,!1)}ao(async()=>{Bt();try{const q=await FD(d(p));y(n,q.messages,!0)}catch{}await Tn()});async function $e(){const q=d(r).trim();if(!q||d(a))return;y(r,""),y(c,""),y(a,!0);const ne={role:"user",content:q};y(n,[...d(n),ne],!0),we=new AbortController,y(Pt,[],!0);try{await VR({messages:d(n),currentScript:d(oi),context:d(Oe),modelOverride:d(k)||void 0,extraFiles:i().length>0?i():void 0},Ve=>{y(s,(d(s)??"")+Ve)},we.signal,Ve=>{y(Pt,[...d(Pt),Ve],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(Pt).length>0?[...d(Pt)]:void 0}],!0),y(Pt,[],!0)}catch(Ve){if(Ve.name==="AbortError"){const Qe=d(s);Qe&&Qe.trim()&&y(n,[...d(n),{role:"assistant",content:Qe+`
150
+
151
+ *[stopped]*`,toolEvents:d(Pt).length>0?[...d(Pt)]:void 0}],!0)}else y(c,Ve.message,!0)}finally{we=null,y(s,null),y(Pt,[],!0),y(a,!1),Fe()}}function Ut(){we==null||we.abort()}function fi(q){q.key==="Enter"&&!q.shiftKey&&(q.preventDefault(),$e())}function Ii(){Pi()}const qe=["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 he(q){y(r,q,!0),Ne==null||Ne.focus()}var K=tG(),ae=Dt(K),xe=v(ae),Pe=b(v(xe),2);{var ot=q=>{var ne=d9(),Ve=v(ne);{var Qe=zt=>{var kt=sa();V(()=>F(kt,`${d(u).provider??""} · ${(d(k)||d(u).model)??""}`)),E(zt,kt)},Ae=zt=>{var kt=sa();V(()=>F(kt,`${d(u).provider??""} · pick a model below`)),E(zt,kt)},De=zt=>{var kt=sa("Not configured");E(zt,kt)};W(Ve,zt=>{d(nt)?zt(Qe):d(u).provider?zt(Ae,1):zt(De,-1)})}V(()=>Fi(ne,"title",`Provider: ${d(u).provider??""}`)),E(q,ne)};W(Pe,q=>{d(u)&&q(ot)})}var R=b(Pe,2);let Q;var Y=b(R,2);{var fe=q=>{var ne=u9();G("click",ne,Ii),E(q,ne)};W(Y,q=>{d(n).length>0&&q(fe)})}var _e=b(xe,2);{var $=q=>{var ne=p9(),Ve=v(ne),Qe=b(v(Ve),2),Ae=b(Ve,2);{var De=kt=>{var Ke=h9();E(kt,Ke)},zt=kt=>{var Ke=g9();pi(Ke,21,()=>d(w),Vt=>Vt.id,(Vt,tt)=>{var Ee=f9();let He;var Be=v(Ee),ze=v(Be),Tt=b(Be,2);V(()=>{He=At(Ee,1,"history-item svelte-10ayso4",null,He,{"history-active":d(tt).id===d(p)}),Fi(Be,"title",d(tt).id),F(ze,d(tt).title||d(tt).id)}),G("click",Be,()=>ei(d(tt).id)),G("click",Tt,()=>ui(d(tt).id)),E(Vt,Ee)}),E(kt,Ke)};W(Ae,kt=>{d(w).length===0?kt(De):kt(zt,-1)})}G("click",Qe,Pi),E(q,ne)};W(_e,q=>{d(m)&&q($)})}var Z=b(_e,2),ie=v(Z);{var Ce=q=>{var ne=_9();E(q,ne)},gt=q=>{var ne=b9(),Ve=v(ne),Qe=v(Ve);{var Ae=kt=>{var Ke=m9(),Vt=b(Dt(Ke)),tt=v(Vt);V(Ee=>F(tt,Ee),[()=>t().path.split("/").pop()]),E(kt,Ke)},De=kt=>{var Ke=sa("No script open. Ask a general she scripting question.");E(kt,Ke)};W(Qe,kt=>{t()?kt(Ae):kt(De,-1)})}var zt=b(Ve,2);pi(zt,17,()=>qe,rn,(kt,Ke)=>{var Vt=v9(),tt=v(Vt);V(()=>F(tt,d(Ke))),G("click",Vt,()=>he(d(Ke))),E(kt,Vt)}),E(q,ne)};W(ie,q=>{d(Se)?d(n).length===0&&d(s)===null&&q(gt,1):q(Ce)})}var Re=b(ie,2);pi(Re,17,()=>d(n),rn,(q,ne,Ve)=>{var Qe=D9(),Ae=v(Qe);{var De=kt=>{var Ke=y9(),Vt=v(Ke);V(()=>F(Vt,d(ne).content)),E(kt,Ke)},zt=kt=>{const Ke=wt(()=>Et(d(ne).content));var Vt=I9(),tt=Dt(Vt);{var Ee=Be=>{var ze=YD();pi(ze,21,()=>d(ne).toolEvents,rn,(Tt,ye)=>{var it=Vs(),pt=Dt(it);{var _t=qt=>{var ii=ZD(),cn=b(v(ii),2),en=v(cn),Dn=b(cn,2);{var Jn=gi=>{var bn=KD(),ln=v(bn);V(rs=>F(ln,rs),[()=>Object.entries(d(ye).args).map(([rs,co])=>`${rs}=${JSON.stringify(co)}`).join(", ")]),E(gi,bn)},Gi=wt(()=>d(ye).args&&Object.keys(d(ye).args).length>0);W(Dn,gi=>{d(Gi)&&gi(Jn)})}V(gi=>F(en,gi),[()=>d(ye).name.replace(/_/g," ")]),E(qt,ii)},Ze=qt=>{var ii=XD(),cn=b(v(ii),2),en=v(cn);V(Dn=>F(en,Dn),[()=>d(ye).name.replace(/_/g," ")]),E(qt,ii)};W(pt,qt=>{d(ye).type==="tool_call"?qt(_t):qt(Ze,-1)})}E(Tt,it)}),E(Be,ze)};W(tt,Be=>{var ze;(ze=d(ne).toolEvents)!=null&&ze.length&&Be(Ee)})}var He=b(tt,2);pi(He,21,()=>d(Ke),rn,(Be,ze,Tt)=>{var ye=Vs(),it=Dt(ye);{var pt=Ze=>{var qt=JD();sc(qt,()=>Li(d(ze).text),!0),E(Ze,qt)},_t=Ze=>{const qt=wt(()=>Si(d(ze).lang)?ri(d(ze).text):null),ii=wt(()=>d(qt)?d(qt).code:d(ze).text),cn=wt(()=>`${Ve}:${Tt}`),en=wt(()=>Ct(d(ii))),Dn=wt(()=>d(A).has(d(cn)));var Jn=L9(),Gi=v(Jn),gi=v(Gi),bn=v(gi),ln=b(gi,2),rs=v(ln),co=b(rs,2);{var qo=ks=>{var Xs=w9();G("click",Xs,()=>e.onCreateFile(d(qt).filename,d(qt).code)),E(ks,Xs)},Nr=ks=>{var Xs=x9(),Ar=Dt(Xs),Ka=b(Ar,2);{var Ol=Go=>{var Or=S9();E(Go,Or)},Za=Go=>{var Or=C9();G("click",Or,()=>Wi(d(ze).text,!0)),E(Go,Or)};W(Ka,Go=>{d(P)?Go(Ol):Go(Za,-1)})}G("click",Ar,()=>Wi(d(ze).text)),E(ks,Xs)},Ga=wt(()=>Si(d(ze).lang)&&t());W(co,ks=>{d(qt)&&e.onCreateFile?ks(qo):d(Ga)&&ks(Nr,1)})}var Qn=b(Gi,2);let fa;var ga=v(Qn),hn=v(ga);sc(hn,()=>di(d(ii),d(ze).lang??""),!0);var Rr=b(ga,2);{var Zs=ks=>{var Xs=k9(),Ar=v(Xs);V(()=>F(Ar,d(Dn)?"▲ collapse":"▼ expand")),G("click",Xs,()=>vi(d(cn))),E(ks,Xs)};W(Rr,ks=>{d(en)&&ks(Zs)})}V(()=>{F(bn,d(qt)?`new: ${d(qt).filename}`:d(ze).lang),fa=At(Qn,1,"code-body svelte-10ayso4",null,fa,{collapsed:d(en)&&!d(Dn)})}),G("click",rs,()=>Oi(d(ii))),E(Ze,Jn)};W(it,Ze=>{d(ze).type==="text"?Ze(pt):Ze(_t,-1)})}E(Be,ye)}),E(kt,Vt)};W(Ae,kt=>{d(ne).role==="user"?kt(De):kt(zt,-1)})}V(()=>At(Qe,1,`message ${d(ne).role??""}`,"svelte-10ayso4")),E(q,Qe)});var Ie=b(Re,2);{var st=q=>{var ne=YD();pi(ne,21,()=>d(Pt),rn,(Ve,Qe)=>{var Ae=Vs(),De=Dt(Ae);{var zt=Ke=>{var Vt=ZD(),tt=b(v(Vt),2),Ee=v(tt),He=b(tt,2);{var Be=Tt=>{var ye=KD(),it=v(ye);V(pt=>F(it,pt),[()=>Object.entries(d(Qe).args).map(([pt,_t])=>`${pt}=${JSON.stringify(_t)}`).join(", ")]),E(Tt,ye)},ze=wt(()=>d(Qe).args&&Object.keys(d(Qe).args).length>0);W(He,Tt=>{d(ze)&&Tt(Be)})}V(Tt=>F(Ee,Tt),[()=>d(Qe).name.replace(/_/g," ")]),E(Ke,Vt)},kt=Ke=>{var Vt=XD(),tt=b(v(Vt),2),Ee=v(tt);V(He=>F(Ee,He),[()=>d(Qe).name.replace(/_/g," ")]),E(Ke,Vt)};W(De,Ke=>{d(Qe).type==="tool_call"?Ke(zt):Ke(kt,-1)})}E(Ve,Ae)}),E(q,ne)};W(Ie,q=>{d(Pt).length>0&&q(st)})}var It=b(Ie,2);{var St=q=>{var ne=E9(),Ve=v(ne),Qe=v(Ve),Ae=v(Qe);V(()=>F(Ae,ue[d(We)])),E(q,ne)};W(It,q=>{d(a)&&d(s)===null&&d(Pt).length===0&&q(St)})}var si=b(It,2);{var ti=q=>{var ne=P9(),Ve=v(ne);pi(Ve,21,()=>Ni(d(s)),rn,(Qe,Ae)=>{var De=Vs(),zt=Dt(De);{var kt=Vt=>{var tt=JD();sc(tt,()=>Li(d(Ae).text),!0),E(Vt,tt)},Ke=Vt=>{var tt=T9(),Ee=v(tt),He=v(Ee),Be=v(He),ze=b(Ee,2),Tt=v(ze);sc(Tt,()=>di(d(Ae).text,d(Ae).lang??""),!0),V(()=>F(Be,d(Ae).lang)),E(Vt,tt)};W(zt,Vt=>{d(Ae).type==="text"?Vt(kt):Vt(Ke,-1)})}E(Qe,De)}),E(q,ne)};W(si,q=>{d(s)!==null&&q(ti)})}Ds(Z,q=>Lt=q,()=>Lt);var se=b(Z,2);{var Le=q=>{var ne=M9(),Ve=v(ne);V(()=>F(Ve,d(c))),E(q,ne)};W(se,q=>{d(c)&&q(Le)})}var at=b(se,2),xt=v(at),ht=v(xt),Xe=b(xt,2),Ht=v(Xe),ai=b(Xe,2),bi=v(ai),Di=b(bi);{var fn=q=>{const ne=wt(()=>Math.min(100,Math.round(d(Ft)/4/d(H).contextLength*100)));var Ve=N9(),Qe=v(Ve),Ae=b(v(Qe));V((De,zt)=>{Fi(Ve,"title",`~${d(ne)??""}% of ${De??""} token context window used`),Fi(Ae,"stroke",d(ne)>80?"var(--fg-err)":d(ne)>50?"var(--fg-warn)":"var(--fg-ok)"),Fi(Ae,"stroke-dasharray",`${zt??""} 31.4`)},[()=>d(H).contextLength.toLocaleString(),()=>(d(ne)/100*31.4).toFixed(1)]),E(q,Ve)};W(Di,q=>{var ne;(ne=d(H))!=null&&ne.contextLength&&q(fn)})}var Cn=b(at,2),un=v(Cn);{var xi=q=>{const ne=wt(()=>Vi(t().path.split("/").pop()??t().path));var Ve=R9();let Qe;var Ae=v(Ve),De=v(Ae),zt=b(Ae,2),kt=v(zt),Ke=b(zt,2),Vt=v(Ke);V((tt,Ee)=>{Qe=At(Ve,1,"file-chip svelte-10ayso4",null,Qe,{inactive:!d(me)}),At(Ae,1,`badge badge-${tt??""}`,"svelte-10ayso4"),F(De,Ee),F(kt,t().path),Fi(Ke,"title",d(me)?"Remove from context":"Re-add to context"),F(Vt,d(me)?"×":"+")},[()=>d(ne).toLowerCase(),()=>Ri(d(ne))]),G("click",Ke,()=>y(me,!d(me))),E(q,Ve)};W(un,q=>{t()&&q(xi)})}var gn=b(un,2);pi(gn,17,i,rn,(q,ne,Ve)=>{const Qe=wt(()=>Vi(d(ne).name));var Ae=A9(),De=v(Ae),zt=v(De),kt=b(De,2),Ke=v(kt),Vt=b(kt,2);V((tt,Ee)=>{At(De,1,`badge badge-${tt??""}`,"svelte-10ayso4"),F(zt,Ee),F(Ke,d(ne).name)},[()=>d(Qe).toLowerCase(),()=>Ri(d(Qe))]),G("click",Vt,()=>Mi(Ve)),E(q,Ae)});var z=b(gn,2),ee=b(z,2);Ds(ee,q=>ft=q,()=>ft);var Ue=b(Cn,2);let Ye;var ge=v(Ue);let ve;var vt=v(ge);Ds(vt,q=>Ne=q,()=>Ne);var Ei=b(ge,2);{var Te=q=>{var ne=O9();G("click",ne,Ut),E(q,ne)},Ge=q=>{var ne=F9();V(Ve=>ne.disabled=Ve,[()=>!d(r).trim()||!d(nt)]),G("click",ne,$e),E(q,ne)};W(Ei,q=>{d(a)?q(Te):q(Ge,-1)})}var Wt=b(Ue,2);{var Je=q=>{var ne=V9(),Ve=v(ne),Qe=v(Ve),Ae=b(Ve,2);{var De=Vt=>{var tt=W9();pi(tt,21,()=>d(x),rn,(Ee,He)=>{var Be=H9(),ze=v(Be),Tt={};V(()=>{F(ze,d(He)),Tt!==(Tt=d(He))&&(Be.value=(Be.__value=d(He))??"")}),E(Ee,Be)}),V(()=>tt.disabled=d(a)),Ho(tt,()=>d(k),Ee=>y(k,Ee)),E(Vt,tt)},zt=Vt=>{var tt=B9(),Ee=v(tt);V(()=>F(Ee,d(k)||d(u).model)),E(Vt,tt)};W(Ae,Vt=>{d(x).length>0?Vt(De):Vt(zt,-1)})}var kt=b(Ae,2);{var Ke=Vt=>{var tt=z9();G("click",tt,ki),E(Vt,tt)};W(kt,Vt=>{d(u).provider==="ollama"&&Vt(Ke)})}V(()=>F(Qe,d(u).provider)),E(q,ne)};W(Wt,q=>{var ne;(ne=d(u))!=null&&ne.provider&&(d(Se)||d(x).length>0)&&q(Je)})}var bt=b(ae,2);{var Kt=q=>{var ne=eG(),Ve=v(ne),Qe=v(Ve),Ae=v(Qe),De=v(Ae),zt=b(Ae,2),kt=b(Qe,2),Ke=v(kt);{var Vt=He=>{var Be=j9();E(He,Be)},tt=He=>{var Be=$9(),ze=v(Be);V(()=>F(ze,d(J))),E(He,Be)},Ee=He=>{var Be=Q9(),ze=v(Be);{var Tt=Gi=>{var gi=U9(),bn=b(Dt(gi)),ln=v(bn);V(()=>F(ln,d(H).version)),E(Gi,gi)};W(ze,Gi=>{d(H).version&&Gi(Tt)})}var ye=b(ze,2);{var it=Gi=>{var gi=q9(),bn=b(Dt(gi)),ln=v(bn);V(()=>F(ln,d(H).details.family)),E(Gi,gi)};W(ye,Gi=>{var gi;(gi=d(H).details)!=null&&gi.family&&Gi(it)})}var pt=b(ye,2);{var _t=Gi=>{var gi=G9(),bn=b(Dt(gi)),ln=v(bn);V(()=>F(ln,d(H).details.parameter_size)),E(Gi,gi)};W(pt,Gi=>{var gi;(gi=d(H).details)!=null&&gi.parameter_size&&Gi(_t)})}var Ze=b(pt,2);{var qt=Gi=>{var gi=K9(),bn=b(Dt(gi)),ln=v(bn);V(()=>F(ln,d(H).details.quantization_level)),E(Gi,gi)};W(Ze,Gi=>{var gi;(gi=d(H).details)!=null&&gi.quantization_level&&Gi(qt)})}var ii=b(Ze,2);{var cn=Gi=>{var gi=Z9(),bn=b(Dt(gi)),ln=v(bn);V(()=>F(ln,d(H).details.format)),E(Gi,gi)};W(ii,Gi=>{var gi;(gi=d(H).details)!=null&&gi.format&&Gi(cn)})}var en=b(ii,2);{var Dn=Gi=>{var gi=Y9(),bn=b(Dt(gi),2);pi(bn,21,()=>d(H).running,rn,(ln,rs)=>{var co=X9(),qo=v(co);V(Nr=>F(qo,`${d(rs).name??""} · ${Nr??""} VRAM`),[()=>_i(d(rs).size_vram)]),E(ln,co)}),E(Gi,gi)},Jn=Gi=>{var gi=J9();E(Gi,gi)};W(en,Gi=>{d(H).running&&d(H).running.length>0?Gi(Dn):d(H).running!==null&&Gi(Jn,1)})}E(He,Be)};W(Ke,He=>{d(te)?He(Vt):d(J)?He(tt,1):d(H)&&He(Ee,2)})}V(()=>{var He;return F(De,`Ollama · ${(d(k)||((He=d(u))==null?void 0:He.model))??""}`)}),G("click",ne,()=>y(j,!1)),G("click",Ve,He=>He.stopPropagation()),G("click",zt,()=>y(j,!1)),E(q,ne)};W(bt,q=>{d(j)&&q(Kt)})}V(q=>{Q=At(R,1,"icon-hdr-btn svelte-10ayso4",null,Q,{active:d(m)}),F(bi,q),Ye=At(Ue,1,"input-row svelte-10ayso4",null,Ye,{"drag-over":d(lt)}),ve=At(ge,1,"textarea-wrap svelte-10ayso4",null,ve,{loading:d(a)}),Fi(vt,"placeholder",d(nt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":d(Se)?"Select a model above to start chatting":"AI not configured"),vt.disabled=d(a)||!d(nt)},[()=>_i(d(Ft))]),G("click",R,()=>y(m,!d(m))),Is(ht,()=>d(et),q=>y(et,q)),Is(Ht,()=>d(rt),q=>y(rt,q)),G("click",z,mt),G("change",ee,hi),cs("dragover",Ue,Xi),cs("dragleave",Ue,ji),cs("drop",Ue,Ti),G("keydown",vt,fi),Xt(vt,()=>d(r),q=>y(r,q)),E(o,K),Rs()}Ks(["click","change","keydown"]);const nG={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"]},sG={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 aA=[];const Bx=new Map,zx=new Map;async function QD(){try{Fx=(await HR()).map(e=>e.topic)}catch{}}async function eE(){try{const[o,e]=await Promise.all([RR(),AR()]);Hx=o,Wx=e}catch{}}async function tE(){try{const o=await FR();aA=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 oG(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=rG(u),g=aG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=hh(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=hh(u,0),w=iE(u,1)??hh(u,1);if(p&&w!==null)return{type:"matter-cluster",nodeId:p,endpointId:w}}if(f>=3){const p=hh(u,0),w=iE(u,1)??hh(u,1),m=hh(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 rG(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 aG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function hh(o,e){var s;const i=(s=lA(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=lA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function lA(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 Nu=nd.CompletionItemKind;function lG(o,e){return(e?Fx.filter(i=>i.startsWith(e)):Fx).map(i=>({label:i,kind:Nu.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function cG(o,e,t){const i=t?[...Hx,...Wx]:Hx;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Nu.Value,insertText:s,range:o,detail:Wx.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function dG(o,e){return aA.map(t=>{const i=Bx.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Nu.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function cA(o){return zx.get(o)??o}function uG(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 hG(o,e){const t=bb.get(cA(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:Nu.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function fG(o,e,t){const i=bb.get(cA(e));if(!i)return[];const n=uG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Nu.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function gG(o,e,t){return(t?sG[e]??[]:nG[e]??[]).map(n=>({label:n,kind:t?Nu.Function:Nu.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let nE=!1;function pG(){nE||(nE=!0,QD(),eE(),tE(),setInterval(QD,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=oG(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:lG(a,i.prefix)};case"db":return{suggestions:cG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:dG(a,i.prefix)};case"matter-endpointId":return{suggestions:hG(a,i.nodeId)};case"matter-cluster":return{suggestions:fG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:gG(a,i.cluster,i.isSend)};default:return null}}}))}var _G=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),mG=T('<button class="svelte-1pyfjii">Show git history</button>'),vG=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),bG=T('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),yG=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>'),wG=T('<ul class="tree-children svelte-1pyfjii"></ul>'),SG=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>'),CG=T('<span class="dirty-dot svelte-1pyfjii">●</span>'),xG=T('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),kG=T('<span class="err-dot svelte-1pyfjii">●</span>'),LG=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>'),IG=T('<span class="dis-spacer svelte-1pyfjii"></span>'),DG=T('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),EG=T('<div class="err svelte-1pyfjii"> </div>'),TG=T('<div class="history-empty svelte-1pyfjii">Loading…</div>'),PG=T('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),MG=T('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),NG=T('<button class="history-load-more svelte-1pyfjii"> </button>'),RG=T("<!> <!>",1),AG=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>'),OG=T('<span class="tab-dirty svelte-1pyfjii">●</span>'),FG=T('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),HG=T('<div class="tab-bar svelte-1pyfjii"></div>'),WG=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>'),BG=T('<div class="changes-err svelte-1pyfjii"> </div>'),zG=T('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">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),VG=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),jG=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),$G=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),UG=T('<span class="git-behind svelte-1pyfjii"> </span>'),qG=T('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),GG=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 &amp; Commit</button></div>',1),KG=T('<button class="danger svelte-1pyfjii">Delete</button>'),ZG=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 &amp; 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>`),XG=T('<button class="svelte-1pyfjii">Always accept in this session</button>'),YG=T('<button class="svelte-1pyfjii">Disable auto-accept</button>'),JG=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),QG=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>'),eK=T('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),tK=T('<div class="diff-container svelte-1pyfjii"></div>'),iK=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>'),nK=T('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),sK=T('<span class="log-file svelte-1pyfjii"> </span>'),oK=T("<option> </option>"),rK=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),aK=T('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),lK=T('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),cK=T('<div class="log-body svelte-1pyfjii"><!> <!></div>'),dK=T('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),uK=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 hK(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),D=M(null),P=M(yi([])),A=M(!1),j=M(30),H=M(void 0),te=null,J=null,le=null,we=M(!1),We=M(""),ue=M(!1),et=M(void 0),rt=M(yi(new Set));const me=new Set;let lt=M(yi(new Set)),ft=M(yi([])),Pt=M("all"),Ne=M(""),Lt=M(!1);const Oe=["all","debug","info","warn","error"],Se={debug:0,info:1,warn:2,error:3};function nt(B){if(d(Pt)!=="all"&&Se[B.level]<Se[d(Pt)])return!1;if(!d(Ne))return!0;if(d(Lt))try{return new RegExp(d(Ne),"i").test(B.msg)}catch{}return B.msg.toLowerCase().includes(d(Ne).toLowerCase())}let Ft=M(null);function oi(B){const oe=B.currentTarget.getBoundingClientRect();y(Ft,{x:oe.left,y:oe.top},!0)}function Bt(){y(Ft,null)}let Et,Rt,Ct,vi=!1,di=null,Li=null,Ni=!1,Oi=!1,Wi=M(!1),Si=M(null),ri=M(!1),_i=M(!1),ki=M(void 0),Vi=null,Ri=null,Mi=null,mt=M(yi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Mt=M(yi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),hi=M(yi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Ti=M(yi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Xi=!1,ji=0,Tn=0,Fe=!1,ei=0,ui=0,Pi=!1,$e=0,Ut=0,fi=!1,Ii=0,qe=0;const he=wt(()=>{var B;return d(u)&&d(Z)?{path:d(u),content:((B=d(Z).model)==null?void 0:B.getValue())??d(Z).savedContent}:null}),K=wt(()=>{var B;return new Set(((B=d(m))==null?void 0:B.changes.map(oe=>oe.file))??[])}),ae=wt(()=>{const B=new Set;for(const oe of d(K)){const Me=oe.split("/");for(let pe=1;pe<Me.length;pe++)B.add(Me.slice(0,pe).join("/"))}return B});let xe=M(!1),Pe=M(!1),ot=M(""),R=M(!1),Q=M(""),Y=M(yi(new Set));async function fe(){var B;if(!(!d(ot).trim()||d(Y).size===0)){y(R,!0),y(Q,"");try{const oe=d(m).changes.filter(Me=>d(Y).has(Me.file)).map(Me=>Me.file);if(oe.length===d(m).changes.length?await RD(d(ot).trim()):await ND(oe,d(ot).trim()),d(k))try{await Sm()}catch{}y(ot,""),await Ht(),(B=d(m))!=null&&B.changes.length?y(Y,new Set(d(m).changes.map(Me=>Me.file)),!0):y(xe,!1)}catch(oe){y(Q,oe.message,!0)}finally{y(R,!1)}}}let _e,$,Z=wt(()=>d(c).find(B=>B.path===d(u))??null);const ie="she-tabs",Ce="she-active-tab",gt="she-log-open",Re="she-chat-open";let Ie=Cf(e,"active",3,!0);$n(()=>{Oi&&(localStorage.setItem(ie,JSON.stringify(d(c).map(B=>B.path))),d(u)?localStorage.setItem(Ce,d(u)):localStorage.removeItem(Ce))}),$n(()=>{Oi&&localStorage.setItem(Re,String(d(Wi)))}),$n(()=>{Ie()&&Rt&&Rt.layout()});const st=`
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 It(B){d(c).some(oe=>oe.dirty)&&B.preventDefault()}ao(async()=>{var pe;window.addEventListener("beforeunload",It),y(w,localStorage.getItem(gt)!=="false"),y(Wi,localStorage.getItem(Re)==="true"),nd.typescript.javascriptDefaults.addExtraLib(st,"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}),pG(),Ct=dr.createModel("","javascript"),Rt=dr.create(Et,{model:Ct,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Rt.onDidChangeModelContent(()=>{if(vi)return;const yt=d(c).find(Zt=>Zt.path===d(u));yt&&(yt.dirty=Rt.getValue()!==yt.savedContent),Vt&&clearTimeout(Vt),Vt=setTimeout(tt,600)}),di=kk(yt=>{const Zt=yt.msg.match(/^([^:\n]+\.js):\s/);if(!Zt)return;const li=Zt[1];if(yt.level==="error")me.add(li),d(rt).has(li)||y(rt,new Set([...d(rt),li]),!0);else if(me.has(li)){me.delete(li);const $i=new Set(d(rt));$i.delete(li),y(rt,$i,!0)}const tn=d(c).find($i=>$i.path===li);tn&&(tn.logEntries=[...tn.logEntries.slice(-199),yt],tn.path===d(u)&&d(w)&&d(et)&&Om().then(()=>{d(et)&&(d(et).scrollTop=d(et).scrollHeight)}))}),Li=kr("script:running",yt=>{const Zt=yt.path;if(yt.running)y(lt,new Set([...d(lt),Zt]),!0);else{const li=new Set(d(lt));li.delete(Zt),y(lt,li,!0)}}),await St(),Ht();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(lt,new Set(yt.runningScripts??[]),!0)}catch{}const B=JSON.parse(localStorage.getItem(ie)??"[]"),oe=localStorage.getItem(Ce);for(const yt of B)await at(yt,!1);const Me=oe&&d(c).some(yt=>yt.path===oe)?oe:((pe=d(c)[0])==null?void 0:pe.path)??null;Me&&await ht(Me),Oi=!0}),Wy(()=>{var B;window.removeEventListener("beforeunload",It),Vt&&clearTimeout(Vt),di==null||di(),Li==null||Li();for(const oe of d(c))(B=oe.model)==null||B.dispose();Ct==null||Ct.dispose(),Rt==null||Rt.dispose()});async function St(){try{if(y(t,await p7(),!0),!Ni){let oe=function(Me){for(const pe of Me)pe.type==="dir"&&(B[pe.path]=!0,pe.children&&oe(pe.children))};Ni=!0;const B={};oe(d(t)),y(i,B,!0)}y(g,"")}catch(B){y(g,B.message,!0)}}function si(B){d(i)[B]=!d(i)[B]}function ti(B){switch(B){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return B}}async function se(B,oe){try{oe?await Jc(`${B}/.shelib`,""):await wm(`${B}/.shelib`),await St(),await ai("all",oe?`lib ${B}`:`unlib ${B}`)}catch(Me){y(g,Me.message,!0)}}async function Le(B,oe){const Me=B.split("/").pop(),pe=B.includes("/")?B.slice(0,B.lastIndexOf("/")):"",yt=pe?`${pe}/.shedisable-${Me}`:`.shedisable-${Me}`;try{oe?await Jc(yt,""):await wm(yt),await St(),await ai("all",oe?`disable ${B}`:`enable ${B}`)}catch(Zt){y(g,Zt.message,!0)}}async function at(B,oe=!0){var Me;if(d(c).some(pe=>pe.path===B)){oe&&await ht(B);return}try{const{content:pe}=await uS(B),yt=n3.parse(`file:///she-scripts/${encodeURIComponent(B)}`);(Me=dr.getModel(yt))==null||Me.dispose();const Zt=dr.createModel(pe,Ke(B),yt);y(c,[...d(c),{path:B,dirty:!1,savedContent:pe,model:Zt,logEntries:[]}],!0),oe&&await ht(B)}catch(pe){y(g,pe.message,!0)}}async function xt(B){await at(B,!0)}async function ht(B){const oe=d(c).find(Me=>Me.path===B);oe!=null&&oe.model&&(Ue(),y(Si,null),y(u,B,!0),vi=!0,Rt.setModel(oe.model),vi=!1,tt())}async function Xe(B){var pe;const oe=d(c).find(yt=>yt.path===B);if(!oe||oe.dirty&&!await _e.show(`Discard unsaved changes to ${B}?`,{confirm:"Discard"}))return;const Me=d(c).findIndex(yt=>yt.path===B);if((pe=oe.model)==null||pe.dispose(),y(c,d(c).filter(yt=>yt.path!==B),!0),d(u)===B){const yt=d(c)[Me]??d(c)[Me-1]??null;yt?await ht(yt.path):(y(u,null),Rt.setModel(Ct))}}async function Ht(){try{y(m,await m7(),!0)}catch{y(m,null)}}async function ai(B,oe){if(d(m))try{if(B==="all"?await RD(oe):await ND(B,oe),d(k))try{await Sm()}catch{}await Ht()}catch{}}async function bi(){if(!d(u))return;const B=d(c).find(oe=>oe.path===d(u));if(B){y(f,!0);try{const oe=Rt.getValue();await Jc(d(u),oe),B.savedContent=oe,B.dirty=!1,y(g,""),d(x)?await ai([d(u)],`update ${d(u)}`):Ht()}catch(oe){y(g,oe.message,!0)}finally{y(f,!1)}}}async function Di(){if(!d(u)||(await bi(),d(g)))return;const B=await $.show("Commit message:",{initial:`update ${d(u)}`,placeholder:"Update script",confirm:"Commit"});if(B)try{if(await y7(d(u),B),d(k))try{await Sm()}catch{}Ht()}catch(oe){y(g,"Git: "+oe.message)}}async function fn(){y(p,!1);try{await Sm(),await Ht(),y(g,"")}catch(B){y(g,"Git push: "+B.message)}}function Cn(B){const oe=Date.now()-new Date(B).getTime(),Me=Math.floor(oe/1e3);if(Me<60)return"just now";const pe=Math.floor(Me/60);if(pe<60)return`${pe}m ago`;const yt=Math.floor(pe/60);if(yt<24)return`${yt}h ago`;const Zt=Math.floor(yt/24);if(Zt<30)return`${Zt}d ago`;const li=Math.floor(Zt/30);return li<12?`${li}mo ago`:`${Math.floor(li/12)}y ago`}async function un(B){vt(),y(D,B,!0),y(P,[],!0),y(j,30),await xi()}async function xi(){if(d(D)){y(A,!0);try{y(P,await w7(d(D).path,d(j)),!0)}catch{}finally{y(A,!1)}}}async function gn(){y(j,d(j)+30),await xi()}function z(){y(D,null),y(P,[],!0),Ue()}async function ee(B){if(!d(D))return;Ue(),await xt(d(D).path);let oe;try{oe=await S7(B.hash,d(D).path)}catch{return}if(y(We,B.hash,!0),y(ue,oe.binary,!0),y(we,!0),oe.binary||oe.content===null)return;let Me="";const pe=d(c).find(Zt=>Zt.path===d(D).path);if(pe!=null&&pe.model)Me=pe.model.getValue();else try{Me=(await uS(d(D).path)).content}catch{}if(await Om(),!d(H))return;const yt=Ke(d(D).path);J=dr.createModel(oe.content,yt),le=dr.createModel(Me,yt),te=dr.createDiffEditor(d(H),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),te.setModel({original:J,modified:le})}function Ue(){y(we,!1),y(ue,!1),te==null||te.dispose(),te=null,J==null||J.dispose(),J=null,le==null||le.dispose(),le=null}async function Ye(){const B=d(n)?`${d(n)}/`:"",oe=await $.show("New script name:",{placeholder:B?`${B}myscript.js`:"myscript.js",initial:B,confirm:"Create"});if(!oe)return;const Me=oe.endsWith(".js")?`/* global she */
217
+ 'use strict';
218
+
219
+ `:"";await Jc(oe,Me),await St(),await at(oe,!0)}async function ge(){const B=d(n)?`${d(n)}/`:"",oe=await $.show("New folder name:",{placeholder:B?`${B}subfolder`:"myfolder",initial:B,confirm:"Create"});oe&&(await _7(oe),d(i)[oe]=!0,await St())}function ve(B,oe){B.preventDefault(),y(s,{x:B.clientX,y:B.clientY,entry:oe},!0)}function vt(){y(s,null)}async function Ei(B){vt(),y(n,B,!0),d(i)[B]=!0,await Ye()}async function Te(B){vt(),y(n,B,!0),await ge()}async function Ge(B){vt();const oe=B.path.includes("/")?B.path.slice(0,B.path.lastIndexOf("/")+1):"",Me=await $.show(B.type==="dir"?"Rename folder:":"Rename script:",{initial:B.name,placeholder:B.name,confirm:"Rename"});if(!Me||Me===B.name)return;const pe=oe+Me;try{await MD(B.path,pe);const yt=d(c).find(Zt=>Zt.path===B.path);yt&&(yt.path=pe,d(u)===B.path&&y(u,pe)),await St(),await ai("all",`rename ${B.path} → ${pe}`)}catch(yt){y(g,yt.message,!0)}}function Wt(B){if(!B.children)return 0;let oe=0;for(const Me of B.children)oe++,Me.type==="dir"&&(oe+=Wt(Me));return oe}async function Je(B){vt();let oe=`Delete ${B.type==="dir"?"folder":"file"} "${B.path}"?`;if(B.type==="dir"){const Me=Wt(B);Me>0&&(oe+=` This will also delete ${Me} item${Me===1?"":"s"} inside.`)}if(await _e.show(oe,{confirm:"Delete",danger:!0})){if(B.type==="dir")for(const Me of[...d(c)])Me.path.startsWith(B.path+"/")&&await Xe(Me.path);else await Xe(B.path);await wm(B.path),await St(),await ai("all",`delete ${B.path}`)}}async function bt(B){vt();const{content:oe}=await uS(B.path);d(ft).some(Me=>Me.name===B.path)||y(ft,[...d(ft),{name:B.path,content:oe}],!0),y(Wi,!0)}function Kt(B,oe){var Me;y(r,oe,!0),(Me=B.dataTransfer)==null||Me.setData("text/plain",oe)}function q(B,oe){if(B.preventDefault(),d(r)&&(d(r)===oe||oe.startsWith(d(r)+"/"))){B.dataTransfer&&(B.dataTransfer.dropEffect="none"),y(a,null);return}B.dataTransfer&&(B.dataTransfer.dropEffect="move"),y(a,oe,!0)}function ne(){y(a,null)}async function Ve(B,oe){var li,tn,$i;B.preventDefault(),y(a,null);const Me=Array.from(((li=B.dataTransfer)==null?void 0:li.items)??[]).filter(dn=>dn.kind==="file");if(Me.length>0&&!d(r)){for(const dn of Me){const Ui=(tn=dn.webkitGetAsEntry)==null?void 0:tn.call(dn);Ui&&await Qe(Ui,oe,!0)}await St();return}const pe=d(r)??(($i=B.dataTransfer)==null?void 0:$i.getData("text/plain"));if(y(r,null),!pe||pe===oe||oe.startsWith(pe+"/"))return;const yt=pe.split("/").pop(),Zt=oe?`${oe}/${yt}`:yt;if(Zt!==pe)try{await MD(pe,Zt);for(const dn of d(c))if(dn.path===pe)d(u)===pe&&y(u,Zt,!0),dn.path=Zt;else if(dn.path.startsWith(pe+"/")){const Ui=Zt+dn.path.slice(pe.length);d(u)===dn.path&&y(u,Ui),dn.path=Ui}await St(),await ai("all",`rename ${pe} → ${Zt}`)}catch(dn){y(g,dn.message,!0)}}async function Qe(B,oe,Me){if(B.isFile){const yt=await(await new Promise((li,tn)=>B.file(li,tn))).text(),Zt=oe?`${oe}/${B.name}`:B.name;await Jc(Zt,yt),Me&&B.name.endsWith(".js")&&await Le(Zt,!0)}else if(B.isDirectory){const pe=B.createReader();let yt=[],Zt;do Zt=await new Promise((li,tn)=>pe.readEntries(li,tn)),yt=[...yt,...Zt];while(Zt.length>0);for(const li of yt)await Qe(li,oe?`${oe}/${B.name}`:B.name,!1);if(Me){const li=oe?`${oe}/${B.name}`:B.name;await Le(li,!0)}}}async function Ae(){if(!d(u)||!await _e.show(`Delete ${d(u)}?`,{confirm:"Delete",danger:!0}))return;const B=d(u);await Xe(B),await wm(B),await St(),await ai("all",`delete ${B}`)}function De(){d(Z)&&(d(Z).logEntries=[])}function zt(){y(w,!d(w)),localStorage.setItem(gt,String(d(w)))}function kt(B){return new Date(B).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ke(B){var pe;const oe=((pe=B.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"}[oe]??"plaintext"}let Vt=null;async function tt(){const B=d(c).find(Me=>Me.path===d(u));if(!(B!=null&&B.model))return;const oe=B.model;try{const Zt=(await(await(await nd.typescript.getJavaScriptWorker())(oe.uri)).getSyntacticDiagnostics(oe.uri.toString())).map(li=>{const tn=oe.getPositionAt(li.start??0),$i=oe.getPositionAt((li.start??0)+(li.length??0));return{severity:s3.Error,startLineNumber:tn.lineNumber,startColumn:tn.column,endLineNumber:$i.lineNumber,endColumn:$i.column,message:typeof li.messageText=="string"?li.messageText:JSON.stringify(li.messageText),source:"she-syntax"}});if(dr.setModelMarkers(oe,"she-syntax",Zt),d(u)){if(Zt.length>0)me.add(d(u)),d(rt).has(d(u))||y(rt,new Set([...d(rt),d(u)]),!0);else if(me.has(d(u))){me.delete(d(u));const li=new Set(d(rt));li.delete(d(u)),y(rt,li,!0)}}}catch{}}function Ee(B){Xi=!0,ji=B.clientX,Tn=d(mt),B.preventDefault()}function He(B){Fe=!0,ei=B.clientY,ui=d(Mt),B.preventDefault()}function Be(B){Pi=!0,$e=B.clientX,Ut=d(hi),B.preventDefault()}function ze(B){fi=!0,Ii=B.clientY,qe=d(Ti),B.preventDefault()}function Tt(B){Xi&&y(mt,Math.max(140,Math.min(500,Tn+B.clientX-ji)),!0),Fe&&y(Mt,Math.max(60,Math.min(500,ui-(B.clientY-ei))),!0),Pi&&y(hi,Math.max(200,Math.min(700,Ut-(B.clientX-$e))),!0),fi&&y(Ti,Math.max(80,Math.min(600,qe-(B.clientY-Ii))),!0)}function ye(){Xi&&(Xi=!1,localStorage.setItem("she-scripts-sidebar-width",String(d(mt)))),Fe&&(Fe=!1,localStorage.setItem("she-scripts-log-height",String(d(Mt)))),Pi&&(Pi=!1,localStorage.setItem("she-scripts-chat-width",String(d(hi)))),fi&&(fi=!1,localStorage.setItem("she-scripts-history-height",String(d(Ti))))}function it(B){(B.ctrlKey||B.metaKey)&&B.key==="s"&&(B.preventDefault(),bi()),B.key==="Escape"&&(y(p,!1),y(s,null),y(Pe,!1))}async function pt(B,oe){const Me=await $.show("Save new script as:",{placeholder:"myscript.js",initial:B,confirm:"Create"});if(Me)try{await Jc(Me,oe),await St(),await at(Me,!0)}catch(pe){y(g,pe.message,!0)}}async function _t(B){var Me,pe;if(d(ri)&&d(u)){y(Si,B,!0),await Ze();return}if(y(Si,B,!0),await Om(),!d(ki))return;Ri==null||Ri.dispose(),Mi==null||Mi.dispose(),Vi==null||Vi.dispose();const oe=((pe=(Me=d(Z))==null?void 0:Me.model)==null?void 0:pe.getValue())??"";Ri=dr.createModel(oe,"javascript"),Mi=dr.createModel(B,"javascript"),Vi=dr.createDiffEditor(d(ki),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Vi.setModel({original:Ri,modified:Mi})}$n(()=>{d(u),y(ri,!1),y(_i,!1)});async function Ze(){if(d(Si)===null||!d(u))return;const B=d(Si);y(Si,null);const oe=d(c).find(Me=>Me.path===d(u));oe!=null&&oe.model&&(vi=!0,oe.model.setValue(B),vi=!1,oe.dirty=!1,oe.savedContent=B);try{await Jc(d(u),B),y(g,""),d(x)?await ai([d(u)],`update ${d(u)}`):Ht()}catch(Me){y(g,Me.message,!0)}ii()}function qt(){y(Si,null),ii()}function ii(){Vi==null||Vi.dispose(),Vi=null,Ri==null||Ri.dispose(),Ri=null,Mi==null||Mi.dispose(),Mi=null}var cn=uK();cs("keydown",Sd,it),cs("mousemove",Sd,Tt),cs("mouseup",Sd,ye);var en=Dt(cn);Ds(Jf(en,{}),B=>_e=B,()=>_e);var Dn=b(en,2);Ds(_q(Dn,{}),B=>$=B,()=>$);var Jn=b(Dn,2);{var Gi=B=>{var oe=bG(),Me=Dt(oe),pe=b(Me,2);let yt;var Zt=v(pe);{var li=$i=>{var dn=_G(),Ui=Dt(dn),nn=b(Ui,2),Ki=b(nn,4),Wn=b(Ki,2);G("click",Ui,()=>Ei(d(s).entry.path)),G("click",nn,()=>Te(d(s).entry.path)),G("click",Ki,()=>Ge(d(s).entry)),G("click",Wn,()=>Je(d(s).entry)),E($i,dn)},tn=$i=>{var dn=vG(),Ui=Dt(dn),nn=b(Ui,2),Ki=b(nn,2),Wn=b(Ki,2);{var Zn=Yi=>{var hs=mG();G("click",hs,()=>un(d(s).entry)),E(Yi,hs)};W(Wn,Yi=>{d(m)&&Yi(Zn)})}var qn=b(Wn,4);G("click",Ui,()=>xt(d(s).entry.path)),G("click",nn,()=>Ge(d(s).entry)),G("click",Ki,()=>bt(d(s).entry)),G("click",qn,()=>Je(d(s).entry)),E($i,dn)};W(Zt,$i=>{d(s).entry.type==="dir"?$i(li):$i(tn,-1)})}V(()=>yt=Fo(pe,"",yt,{left:`${d(s).x??""}px`,top:`${d(s).y??""}px`})),G("click",Me,vt),G("contextmenu",Me,$i=>{$i.preventDefault(),vt()}),E(B,oe)};W(Jn,B=>{d(s)&&B(Gi)})}var gi=b(Jn,2);{var bn=B=>{var oe=yG();let Me;V(()=>Me=Fo(oe,"",Me,{left:`${d(Ft).x??""}px`,top:`${d(Ft).y-4}px`})),E(B,oe)};W(gi,B=>{d(Ft)&&B(bn)})}var ln=b(gi,2),rs=v(ln);let co;{const B=(Me,pe=Ry,yt)=>{let Zt=S0(()=>u3(yt==null?void 0:yt(),!1));var li=Vs(),tn=Dt(li);{var $i=Ui=>{var nn=SG(),Ki=v(nn);let Wn;var Zn=v(Ki);let qn;var Yi=b(Zn,2);let hs;var Os=v(Yi),bs=b(Yi,2);{var as=wn=>{var Xo=sE();E(wn,Xo)},is=wt(()=>d(K).has(pe().path)||d(ae).has(pe().path));W(bs,wn=>{d(is)&&wn(as)})}var fs=b(bs,2),ys=v(fs),Fs=b(fs,2),pa=v(Fs),Wr=b(Ki,2);{var Hs=wn=>{var Xo=wG();pi(Xo,21,()=>pe().children,Ls=>Ls.path,(Ls,Br)=>{B(Ls,()=>d(Br),()=>pe().disabled||d(Zt))}),E(wn,Xo)};W(Wr,wn=>{d(i)[pe().path]&&pe().children&&wn(Hs)})}V(()=>{Wn=At(Ki,1,"dir-row svelte-1pyfjii",null,Wn,{"dir-selected":d(n)===pe().path,"drag-target":d(a)===pe().path}),Fi(Ki,"aria-selected",d(n)===pe().path),qn=At(Zn,1,"chevron svelte-1pyfjii",null,qn,{open:d(i)[pe().path]}),hs=At(Yi,1,"dir-name svelte-1pyfjii",null,hs,{lib:pe().lib}),F(Os,pe().name),Dg(ys,pe().lib),Dg(pa,pe().disabled)}),cs("dragstart",Ki,wn=>Kt(wn,pe().path)),cs("dragover",Ki,wn=>q(wn,pe().path)),cs("dragleave",Ki,ne),cs("drop",Ki,wn=>Ve(wn,pe().path)),G("contextmenu",Ki,wn=>ve(wn,pe())),G("click",Zn,()=>si(pe().path)),G("click",Yi,()=>{y(n,pe().path,!0),d(i)[pe().path]=!0}),G("keydown",Yi,wn=>wn.key==="Enter"&&y(n,pe().path,!0)),cs("mouseenter",fs,oi),cs("mouseleave",fs,Bt),G("change",ys,()=>se(pe().path,!pe().lib)),G("change",pa,()=>Le(pe().path,!pe().disabled)),E(Ui,nn)},dn=Ui=>{const nn=wt(()=>d(rt).has(pe().path)),Ki=wt(()=>d(K).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 Yi=DG();let hs;var Os=v(Yi),bs=v(Os);let as;var is=v(bs);let fs;var ys=v(is),Fs=b(is,2),pa=v(Fs),Wr=b(Fs,2);{var Hs=Pn=>{var ps=sE();E(Pn,ps)};W(Wr,Pn=>{d(Ki)&&Pn(Hs)})}var wn=b(Wr);{var Xo=Pn=>{var ps=CG();E(Pn,ps)};W(wn,Pn=>{d(Wn)&&Pn(Xo)})}var Ls=b(wn,2);{var Br=Pn=>{var ps=xG();E(Pn,ps)},lg=wt(()=>d(qn)&&d(lt).has(pe().path)&&!d(nn));W(Ls,Pn=>{d(lg)&&Pn(Br)})}var Wl=b(Ls,2);{var cg=Pn=>{var ps=kG();E(Pn,ps)};W(Wl,Pn=>{d(nn)&&Pn(cg)})}var zr=b(bs,2);{var pw=Pn=>{var ps=LG();let Gc;var Zu=v(ps);V(()=>{Gc=At(ps,1,"dis-label svelte-1pyfjii",null,Gc,{"dis-locked":d(Zt)}),Fi(ps,"title",d(Zt)?"Disabled by parent directory":"Disable — this script will not be executed"),Dg(Zu,pe().disabled),Zu.disabled=d(Zt)}),G("change",Zu,()=>Le(pe().path,!pe().disabled)),E(Pn,ps)},qc=Pn=>{var ps=IG();E(Pn,ps)};W(zr,Pn=>{d(qn)?Pn(pw):Pn(qc,-1)})}V((Pn,ps,Gc)=>{hs=At(Yi,1,"tree-file svelte-1pyfjii",null,hs,Pn),as=At(bs,1,"svelte-1pyfjii",null,as,{lib:pe().lib,dis:pe().disabled,err:d(nn)}),fs=At(is,1,`badge badge-${ps??""}`,"svelte-1pyfjii",fs,{"badge-shelib":pe().lib}),F(ys,Gc),F(pa,pe().name)},[()=>({active:d(c).some(Pn=>Pn.path===pe().path),"active-tab":pe().path===d(u)}),()=>d(Zn).toLowerCase(),()=>ti(d(Zn))]),cs("dragstart",Yi,Pn=>Kt(Pn,pe().path)),G("contextmenu",Yi,Pn=>ve(Pn,pe())),G("click",bs,()=>xt(pe().path)),E(Ui,Yi)};W(tn,Ui=>{pe().type==="dir"?Ui($i):Ui(dn,-1)})}E(Me,li)};var qo=v(rs),Nr=v(qo),Ga=b(Nr,2),Qn=b(Ga,2),fa=b(qo,2);{var ga=Me=>{var pe=EG(),yt=v(pe);V(()=>F(yt,d(g))),E(Me,pe)};W(fa,Me=>{d(g)&&Me(ga)})}var hn=b(fa,2),Rr=v(hn);let oe;var Zs=b(Rr,2);pi(Zs,17,()=>d(t),Me=>Me.path,(Me,pe)=>{B(Me,()=>d(pe))});var ks=b(hn,2);{var Xs=Me=>{var pe=AG();let yt;var Zt=v(pe),li=b(Zt,2),tn=v(li),$i=v(tn),dn=b(tn,2),Ui=b(li,2),nn=v(Ui);{var Ki=qn=>{var Yi=TG();E(qn,Yi)},Wn=qn=>{var Yi=PG();E(qn,Yi)},Zn=qn=>{var Yi=RG(),hs=Dt(Yi);pi(hs,17,()=>d(P),as=>as.hash,(as,is)=>{var fs=MG(),ys=v(fs),Fs=v(ys),pa=b(ys,2),Wr=v(pa);V((Hs,wn)=>{F(Fs,d(is).subject),F(Wr,`${Hs??""} · ${wn??""}`)},[()=>d(is).hash.slice(0,7),()=>Cn(d(is).date)]),G("click",fs,()=>ee(d(is))),E(as,fs)});var Os=b(hs,2);{var bs=as=>{var is=NG(),fs=v(is);V(()=>{is.disabled=d(A),F(fs,d(A)?"Loading…":"Load more")}),G("click",is,gn),E(as,is)};W(Os,as=>{d(P).length>=d(j)&&as(bs)})}E(qn,Yi)};W(nn,qn=>{d(A)&&d(P).length===0?qn(Ki):d(P).length===0?qn(Wn,1):qn(Zn,-1)})}V(()=>{yt=Fo(pe,"",yt,{height:`${d(Ti)??""}px`}),Fi(tn,"title",d(D).path),F($i,`History: ${d(D).name??""}`)}),G("mousedown",Zt,ze),G("click",dn,z),E(Me,pe)};W(ks,Me=>{d(D)&&Me(Xs)})}V(()=>oe=At(Rr,1,"tree-root-drop svelte-1pyfjii",null,oe,{"drag-target":d(a)===""})),G("click",Nr,Ye),G("click",Ga,ge),G("click",Qn,St),cs("dragover",Rr,Me=>q(Me,"")),cs("dragleave",Rr,ne),cs("drop",Rr,Me=>Ve(Me,""))}var Ar=b(rs,2),Ka=b(Ar,2),Ol=v(Ka);{var Za=B=>{var oe=HG();pi(oe,21,()=>d(c),Me=>Me.path,(Me,pe)=>{var yt=FG();let Zt;var li=v(yt),tn=v(li),$i=b(li,2);{var dn=nn=>{var Ki=OG();E(nn,Ki)};W($i,nn=>{d(pe).dirty&&nn(dn)})}var Ui=b($i,2);V(nn=>{Zt=At(yt,1,"tab svelte-1pyfjii",null,Zt,{active:d(pe).path===d(u)}),F(tn,nn)},[()=>d(pe).path.split("/").pop()]),G("click",yt,()=>ht(d(pe).path)),G("keydown",yt,nn=>nn.key==="Enter"&&ht(d(pe).path)),G("click",Ui,nn=>{nn.stopPropagation(),Xe(d(pe).path)}),E(Me,yt)}),E(B,oe)};W(Ol,B=>{d(c).length>0&&B(Za)})}var Go=b(Ol,2),Or=v(Go),Fr=v(Or),R_=b(Or,2);{var ar=B=>{var oe=qG(),Me=v(oe),pe=v(Me),yt=b(Me,2);{var Zt=Ui=>{var nn=VG(),Ki=v(nn),Wn=v(Ki),Zn=b(Ki,2);{var qn=Yi=>{var hs=zG(),Os=Dt(hs),bs=b(Os,2),as=b(v(bs),2);pi(as,21,()=>d(m).changes,rn,(Hs,wn)=>{var Xo=WG(),Ls=v(Xo),Br=b(Ls,2),lg=v(Br),Wl=b(Br,2),cg=v(Wl);V(zr=>{Dg(Ls,zr),F(lg,d(wn).status),F(cg,d(wn).file)},[()=>d(Y).has(d(wn).file)]),G("change",Ls,()=>{const zr=new Set(d(Y));zr.has(d(wn).file)?zr.delete(d(wn).file):zr.add(d(wn).file),y(Y,zr,!0)}),E(Hs,Xo)});var is=b(as,2),fs=v(is),ys=b(fs,2),Fs=v(ys),pa=b(is,2);{var Wr=Hs=>{var wn=BG(),Xo=v(wn);V(()=>F(Xo,d(Q))),E(Hs,wn)};W(pa,Hs=>{d(Q)&&Hs(Wr)})}V(Hs=>{var wn;ys.disabled=Hs,F(Fs,d(R)?"…":d(Y).size===((wn=d(m))==null?void 0:wn.changes.length)?"Commit all":`Commit ${d(Y).size}`)},[()=>!d(ot).trim()||d(R)||d(Y).size===0]),G("click",Os,()=>y(xe,!1)),G("keydown",fs,Hs=>Hs.key==="Enter"&&fe()),Xt(fs,()=>d(ot),Hs=>y(ot,Hs)),G("click",ys,fe),E(Yi,hs)};W(Zn,Yi=>{d(xe)&&Yi(qn)})}V(()=>{Fi(Ki,"title",`${d(m).changes.length??""} uncommitted change(s) — click to view`),F(Wn,`✎${d(m).changes.length??""}`)}),G("click",Ki,()=>{d(xe)||y(Y,new Set(d(m).changes.map(Yi=>Yi.file)),!0),y(xe,!d(xe)),y(Q,"")}),E(Ui,nn)};W(yt,Ui=>{d(m).changes.length>0&&Ui(Zt)})}var li=b(yt,2);{var tn=Ui=>{var nn=$G(),Ki=v(nn),Wn=v(Ki),Zn=b(Ki,2);{var qn=Yi=>{var hs=jG(),Os=Dt(hs),bs=b(Os,2),as=v(bs),is=v(as),fs=b(as,2),ys=v(fs);V(()=>F(is,`${d(m).ahead??""} unpushed commit(s)`)),G("click",Os,()=>y(Pe,!1)),G("click",ys,()=>{y(Pe,!1),fn()}),E(Yi,hs)};W(Zn,Yi=>{d(Pe)&&Yi(qn)})}V(()=>{Fi(Ki,"title",`${d(m).ahead??""} commit(s) ahead of upstream — click to push`),F(Wn,`↑${d(m).ahead??""}`)}),G("click",Ki,()=>y(Pe,!d(Pe))),E(Ui,nn)};W(li,Ui=>{d(m).ahead>0&&Ui(tn)})}var $i=b(li,2);{var dn=Ui=>{var nn=UG(),Ki=v(nn);V(()=>{Fi(nn,"title",`${d(m).behind??""} commit(s) behind upstream`),F(Ki,`↓${d(m).behind??""}`)}),E(Ui,nn)};W($i,Ui=>{d(m).behind>0&&Ui(dn)})}V(()=>{Fi(Me,"title",`Branch: ${d(m).branch??""}`),F(pe,`⎇ ${d(m).branch??""}`)}),E(B,oe)};W(R_,B=>{d(m)&&B(ar)})}var A_=b(R_,2),eg=v(A_),Ko=v(eg),O_=v(Ko),tg=b(Ko,2),ig=b(eg,2);{var dw=B=>{var oe=GG(),Me=Dt(oe),pe=b(Me,2),yt=v(pe),Zt=b(yt,2);G("click",Me,()=>y(p,!1)),G("click",yt,()=>{y(p,!1),bi()}),G("click",Zt,()=>{y(p,!1),Di()}),E(B,oe)};W(ig,B=>{d(p)&&B(dw)})}var ng=b(A_,2);{var F_=B=>{var oe=KG();G("click",oe,Ae),E(B,oe)};W(ng,B=>{d(u)&&B(F_)})}var sg=b(ng,2);let H_;var og=b(Go,2),W_=v(og),rg=v(W_),ag=v(rg);Ds(ag,B=>Et=B,()=>Et);var jc=b(ag,2);{var Xa=B=>{var oe=ZG();E(B,oe)};W(jc,B=>{d(u)||B(Xa)})}var B_=b(jc,2);{var $c=B=>{var oe=QG(),Me=v(oe),pe=v(Me),yt=b(v(pe)),Zt=v(yt),li=b(pe,2),tn=v(li),$i=v(tn),dn=v($i),Ui=v(dn),nn=b(dn,2),Ki=b($i,2);{var Wn=Yi=>{var hs=JG(),Os=Dt(hs),bs=b(Os,2),as=v(bs);{var is=ys=>{var Fs=XG();G("click",Fs,()=>{y(_i,!1),y(ri,!0),Ze()}),E(ys,Fs)},fs=ys=>{var Fs=YG();G("click",Fs,()=>{y(_i,!1),y(ri,!1)}),E(ys,Fs)};W(as,ys=>{d(ri)?ys(fs,-1):ys(is)})}G("click",Os,()=>y(_i,!1)),E(Yi,hs)};W(Ki,Yi=>{d(_i)&&Yi(Wn)})}var Zn=b(tn,2),qn=b(Me,2);Ds(qn,Yi=>y(ki,Yi),()=>d(ki)),V(Yi=>{F(Zt,Yi),F(Ui,d(ri)?"Auto-accept ✓":"Accept")},[()=>{var Yi;return(Yi=d(u))==null?void 0:Yi.split("/").pop()}]),G("click",dn,Ze),G("click",nn,()=>y(_i,!d(_i))),G("click",Zn,qt),E(B,oe)};W(B_,B=>{d(Si)!==null&&B($c)})}var To=b(B_,2);{var z_=B=>{var oe=iK(),Me=v(oe),pe=v(Me),yt=b(v(pe)),Zt=v(yt),li=b(yt,2),tn=v(li),$i=b(pe,2),dn=v($i),Ui=b(Me,2);{var nn=Wn=>{var Zn=eK();E(Wn,Zn)},Ki=Wn=>{var Zn=tK();Ds(Zn,qn=>y(H,qn),()=>d(H)),E(Wn,Zn)};W(Ui,Wn=>{d(ue)?Wn(nn):Wn(Ki,-1)})}V(Wn=>{var Zn;F(Zt,Wn),F(tn,(Zn=d(D))==null?void 0:Zn.name)},[()=>d(We).slice(0,7)]),G("click",dn,Ue),E(B,oe)};W(To,B=>{d(we)&&B(z_)})}var Uu=b(rg,2);let V_,qu;var Gu=v(Uu);{var uw=B=>{var oe=nK();G("mousedown",oe,He),E(B,oe)};W(Gu,B=>{d(w)&&B(uw)})}var j_=b(Gu,2),Ku=v(j_),$_=v(Ku),Zo=b($_);{var Fl=B=>{var oe=sK(),Me=v(oe);V(pe=>F(Me,`— ${pe??""}`),[()=>d(u).split("/").pop()]),E(B,oe)};W(Zo,B=>{d(u)&&B(Fl)})}var hw=b(Ku,2);{var Hr=B=>{var oe=rK(),Me=Dt(oe);pi(Me,21,()=>Oe,rn,(tn,$i)=>{var dn=oK(),Ui=v(dn),nn={};V(()=>{F(Ui,d($i)),nn!==(nn=d($i))&&(dn.value=(dn.__value=d($i))??"")}),E(tn,dn)});var pe=b(Me,2),yt=b(pe,2),Zt=v(yt),li=b(yt,2);Ho(Me,()=>d(Pt),tn=>y(Pt,tn)),Xt(pe,()=>d(Ne),tn=>y(Ne,tn)),Is(Zt,()=>d(Lt),tn=>y(Lt,tn)),G("click",li,De),E(B,oe)};W(hw,B=>{d(w)&&B(Hr)})}var fw=b(j_,2);{var Hl=B=>{var oe=cK(),Me=v(oe);pi(Me,17,()=>{var Zt;return(((Zt=d(Z))==null?void 0:Zt.logEntries)??[]).filter(nt)},Zt=>Zt.ts+Zt.msg,(Zt,li)=>{var tn=aK(),$i=v(tn),dn=v($i),Ui=b($i,2),nn=v(Ui),Ki=b(Ui,2),Wn=v(Ki);V((Zn,qn)=>{At(tn,1,`log-line ${d(li).level??""}`,"svelte-1pyfjii"),F(dn,Zn),F(nn,qn),F(Wn,d(li).msg)},[()=>kt(d(li).ts),()=>d(li).level.toUpperCase()]),E(Zt,tn)});var pe=b(Me,2);{var yt=Zt=>{var li=lK();E(Zt,li)};W(pe,Zt=>{var li;(((li=d(Z))==null?void 0:li.logEntries.length)??0)===0&&Zt(yt)})}Ds(oe,Zt=>y(et,Zt),()=>d(et)),E(B,oe)};W(fw,B=>{d(w)&&B(Hl)})}var gw=b(W_,2);{var Uc=B=>{var oe=dK(),Me=Dt(oe),pe=b(Me,2);let yt;var Zt=v(pe);iG(Zt,{get currentScript(){return d(he)},onApply:_t,onCreateFile:pt,get extraFiles(){return d(ft)},set extraFiles(li){y(ft,li,!0)}}),V(()=>yt=Fo(pe,"",yt,{width:`${d(hi)??""}px`})),G("mousedown",Me,Be),E(B,oe)};W(gw,B=>{d(Wi)&&B(Uc)})}V(()=>{var B;co=Fo(rs,"",co,{width:`${d(mt)??""}px`}),F(Fr,d(u)??"No file selected"),Ko.disabled=!((B=d(Z))!=null&&B.dirty)||d(f),F(O_,d(f)?"Saving…":"Save"),tg.disabled=!d(u),H_=At(sg,1,"ai-toggle svelte-1pyfjii",null,H_,{"ai-open":d(Wi)}),Fi(sg,"title",d(Wi)?"Close AI assistant":"Open AI assistant"),V_=At(Uu,1,"log-panel svelte-1pyfjii",null,V_,{collapsed:!d(w)}),qu=Fo(Uu,"",qu,{height:d(w)?`${d(Mt)}px`:"26px"}),F($_,`${d(w)?"▾":"▸"} Script Log `)}),G("mousedown",Ar,Ee),G("click",Ko,bi),G("click",tg,()=>y(p,!d(p))),G("click",sg,()=>y(Wi,!d(Wi))),G("click",Ku,zt),E(o,cn),Rs()}Ks(["click","contextmenu","keydown","change","mousedown"]);const dA="she-theme";function fK(){return localStorage.getItem(dA)??"dark"}function gK(o){localStorage.setItem(dA,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var zg={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 pK=zg.exports,oE;function _K(){return oE||(oE=1,(function(o,e){(function(t,i){i(e)})(pK,(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,N,X;return X=function(){S=!1,I&&(N.apply(_,I),I=!1)},N=function(){S?I=arguments:(l.apply(_,arguments),setTimeout(X,h),S=!0)},N}function f(l,h,_){var S=h[1],I=h[0],N=S-I;return l===S&&_?l:((l-I)%N+N)%N+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 D=/\{ *([\w_ -]+) *\}/g;function P(l,h){return l.replace(D,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 j(l,h){for(var _=0;_<l.length;_++)if(l[_]===h)return _;return-1}var H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function te(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var J=0;function le(l){var h=+new Date,_=Math.max(0,16-(h-J));return J=h+_,window.setTimeout(l,_)}var we=window.requestAnimationFrame||te("RequestAnimationFrame")||le,We=window.cancelAnimationFrame||te("CancelAnimationFrame")||te("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function ue(l,h,_){if(_&&we===le)l.call(h);else return we.call(window,r(l,h))}function et(l){l&&We.call(window,l)}var rt={__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:j,emptyImageUrl:H,requestFn:we,cancelFn:We,requestAnimFrame:ue,cancelAnimFrame:et};function me(){}me.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&&(lt(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 N=0,X=S._initHooks.length;N<X;N++)S._initHooks[N].call(this)}},h},me.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},me.mergeOptions=function(l){return n(this.prototype.options,l),this},me.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 lt(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 ft={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,N=l.length;I<N;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,N=0,X=l.length;N<X;N++)I?this._off(l[N]):this._off(l[N],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,N;if(this._events&&(S=this._events[l],!!S)){if(arguments.length===1){if(this._firingCount)for(I=0,N=S.length;I<N;I++)S[I].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var X=this._listens(l,h,_);if(X!==!1){var ce=S[X];this._firingCount&&(ce.fn=g,this._events[l]=S=S.slice()),S.splice(X,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 N=0,X=I.length;N<X;N++){var ce=I[N],ke=ce.fn;ce.once&&this.off(l,ke,ce.ctx),ke.call(ce.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 N=this._events&&this._events[l];if(N&&N.length&&this._listens(l,I,_)!==!1)return!0;if(S){for(var X in this._eventParents)if(this._eventParents[X].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,N=S.length;I<N;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,N=l.length;I<N;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)}};ft.addEventListener=ft.on,ft.removeEventListener=ft.clearAllEventListeners=ft.off,ft.addOneTimeEventListener=ft.once,ft.fireEvent=ft.fire,ft.hasEventListeners=ft.listens;var Pt=me.extend(ft);function Ne(l,h,_){this.x=_?Math.round(l):l,this.y=_?Math.round(h):h}var Lt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Ne.prototype={clone:function(){return new Ne(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 Ne(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Ne(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=Lt(this.x),this.y=Lt(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 Ne?l:A(l)?new Ne(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Ne(l.x,l.y):new Ne(l,h,_)}function Se(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Se.prototype={extend:function(l){var h,_;if(!l)return this;if(l instanceof Ne||typeof l[0]=="number"||"x"in l)h=_=Oe(l);else if(l=nt(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 Ne?l=Oe(l):l=nt(l),l instanceof Se?(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=nt(l);var h=this.min,_=this.max,S=l.min,I=l.max,N=I.x>=h.x&&S.x<=_.x,X=I.y>=h.y&&S.y<=_.y;return N&&X},overlaps:function(l){l=nt(l);var h=this.min,_=this.max,S=l.min,I=l.max,N=I.x>h.x&&S.x<_.x,X=I.y>h.y&&S.y<_.y;return N&&X},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 nt(Oe(h.x-S,h.y-I),Oe(_.x+S,_.y+I))},equals:function(l){return l?(l=nt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function nt(l,h){return!l||l instanceof Se?l:new Se(l,h)}function Ft(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Ft.prototype={extend:function(l){var h=this._southWest,_=this._northEast,S,I;if(l instanceof Bt)S=l,I=l;else if(l instanceof Ft){if(S=l._southWest,I=l._northEast,!S||!I)return this}else return l?this.extend(Et(l)||oi(l)):this;return!h&&!_?(this._southWest=new Bt(S.lat,S.lng),this._northEast=new Bt(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 Ft(new Bt(h.lat-S,h.lng-I),new Bt(_.lat+S,_.lng+I))},getCenter:function(){return new Bt((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 Bt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Bt(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 Bt||"lat"in l?l=Et(l):l=oi(l);var h=this._southWest,_=this._northEast,S,I;return l instanceof Ft?(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=oi(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),N=I.lat>=h.lat&&S.lat<=_.lat,X=I.lng>=h.lng&&S.lng<=_.lng;return N&&X},overlaps:function(l){l=oi(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),N=I.lat>h.lat&&S.lat<_.lat,X=I.lng>h.lng&&S.lng<_.lng;return N&&X},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=oi(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function oi(l,h){return l instanceof Ft?l:new Ft(l,h)}function Bt(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=+_)}Bt.prototype={equals:function(l,h){if(!l)return!1;l=Et(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 Ct.distance(this,Et(l))},wrap:function(){return Ct.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,_=h/Math.cos(Math.PI/180*this.lat);return oi([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new Bt(this.lat,this.lng,this.alt)}};function Et(l,h,_){return l instanceof Bt?l:A(l)&&typeof l[0]!="object"?l.length===3?new Bt(l[0],l[1],l[2]):l.length===2?new Bt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Bt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new Bt(l,h,_)}var Rt={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 Se(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 Bt(_,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 N=l.getSouthWest(),X=l.getNorthEast(),ce=new Bt(N.lat-S,N.lng-I),ke=new Bt(X.lat-S,X.lng-I);return new Ft(ce,ke)}},Ct=n({},Rt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var _=Math.PI/180,S=l.lat*_,I=h.lat*_,N=Math.sin((h.lat-l.lat)*_/2),X=Math.sin((h.lng-l.lng)*_/2),ce=N*N+Math.cos(S)*Math.cos(I)*X*X,ke=2*Math.atan2(Math.sqrt(ce),Math.sqrt(1-ce));return this.R*ke}}),vi=6378137,di={R:vi,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 Ne(this.R*l.lng*h,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var h=180/Math.PI;return new Bt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=vi*Math.PI;return new Se([-l,-l],[l,l])})()};function Li(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}Li.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 Ne((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Ni(l,h,_,S){return new Li(l,h,_,S)}var Oi=n({},Ct,{code:"EPSG:3857",projection:di,transformation:(function(){var l=.5/(Math.PI*di.R);return Ni(l,.5,-l,.5)})()}),Wi=n({},Oi,{code:"EPSG:900913"});function Si(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function ri(l,h){var _="",S,I,N,X,ce,ke;for(S=0,N=l.length;S<N;S++){for(ce=l[S],I=0,X=ce.length;I<X;I++)ke=ce[I],_+=(I?"L":"M")+ke.x+" "+ke.y;_+=h?Ie.svg?"z":"x":""}return _||"M0 0"}var _i=document.documentElement.style,ki="ActiveXObject"in window,Vi=ki&&!document.addEventListener,Ri="msLaunchUri"in navigator&&!("documentMode"in document),Mi=Re("webkit"),mt=Re("android"),Mt=Re("android 2")||Re("android 3"),hi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ti=mt&&Re("Google")&&hi<537&&!("AudioNode"in window),Xi=!!window.opera,ji=!Ri&&Re("chrome"),Tn=Re("gecko")&&!Mi&&!Xi&&!ki,Fe=!ji&&Re("safari"),ei=Re("phantom"),ui="OTransition"in _i,Pi=navigator.platform.indexOf("Win")===0,$e=ki&&"transition"in _i,Ut="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Mt,fi="MozPerspective"in _i,Ii=!window.L_DISABLE_3D&&($e||Ut||fi)&&!ui&&!ei,qe=typeof orientation<"u"||Re("mobile"),he=qe&&Mi,K=qe&&Ut,ae=!window.PointerEvent&&window.MSPointerEvent,xe=!!(window.PointerEvent||ae),Pe="ontouchstart"in window||!!window.TouchEvent,ot=!window.L_NO_TOUCH&&(Pe||xe),R=qe&&Xi,Q=qe&&Tn,Y=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,fe=(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})(),_e=(function(){return!!document.createElement("canvas").getContext})(),$=!!(document.createElementNS&&Si("svg").createSVGRect),Z=!!$&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),ie=!$&&(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}})(),Ce=navigator.platform.indexOf("Mac")===0,gt=navigator.platform.indexOf("Linux")===0;function Re(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Ie={ie:ki,ielt9:Vi,edge:Ri,webkit:Mi,android:mt,android23:Mt,androidStock:Ti,opera:Xi,chrome:ji,gecko:Tn,safari:Fe,phantom:ei,opera12:ui,win:Pi,ie3d:$e,webkit3d:Ut,gecko3d:fi,any3d:Ii,mobile:qe,mobileWebkit:he,mobileWebkit3d:K,msPointer:ae,pointer:xe,touch:ot,touchNative:Pe,mobileOpera:R,mobileGecko:Q,retina:Y,passiveEvents:fe,canvas:_e,svg:$,vml:ie,inlineSvg:Z,mac:Ce,linux:gt},st=Ie.msPointer?"MSPointerDown":"pointerdown",It=Ie.msPointer?"MSPointerMove":"pointermove",St=Ie.msPointer?"MSPointerUp":"pointerup",si=Ie.msPointer?"MSPointerCancel":"pointercancel",ti={touchstart:st,touchmove:It,touchend:St,touchcancel:si},se={touchstart:fn,touchmove:Di,touchend:Di,touchcancel:Di},Le={},at=!1;function xt(l,h,_){return h==="touchstart"&&bi(),se[h]?(_=se[h].bind(this,_),l.addEventListener(ti[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function ht(l,h,_){if(!ti[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(ti[h],_,!1)}function Xe(l){Le[l.pointerId]=l}function Ht(l){Le[l.pointerId]&&(Le[l.pointerId]=l)}function ai(l){delete Le[l.pointerId]}function bi(){at||(document.addEventListener(st,Xe,!0),document.addEventListener(It,Ht,!0),document.addEventListener(St,ai,!0),document.addEventListener(si,ai,!0),at=!0)}function Di(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in Le)h.touches.push(Le[_]);h.changedTouches=[h],l(h)}}function fn(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&ln(h),Di(l,h)}function Cn(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 un=200;function xi(l,h){l.addEventListener("dblclick",h);var _=0,S;function I(N){if(N.detail!==1){S=N.detail;return}if(!(N.pointerType==="mouse"||N.sourceCapabilities&&!N.sourceCapabilities.firesTouchEvents)){var X=co(N);if(!(X.some(function(ke){return ke instanceof HTMLLabelElement&&ke.attributes.for})&&!X.some(function(ke){return ke instanceof HTMLInputElement||ke instanceof HTMLSelectElement}))){var ce=Date.now();ce-_<=un?(S++,S===2&&h(Cn(N))):S=1,_=ce}}}return l.addEventListener("click",I),{dblclick:h,simDblclick:I}}function gn(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var z=Qe(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ee=Qe(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ue=ee==="webkitTransition"||ee==="OTransition"?ee+"End":"transitionend";function Ye(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 ve(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 Te(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function Ge(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Wt(l,h){if(l.classList!==void 0)return l.classList.contains(h);var _=q(l);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function Je(l,h){if(l.classList!==void 0)for(var _=m(h),S=0,I=_.length;S<I;S++)l.classList.add(_[S]);else if(!Wt(l,h)){var N=q(l);Kt(l,(N?N+" ":"")+h)}}function bt(l,h){l.classList!==void 0?l.classList.remove(h):Kt(l,w((" "+q(l)+" ").replace(" "+h+" "," ")))}function Kt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function q(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function ne(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&Ve(l,h)}function Ve(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 Qe(l){for(var h=document.documentElement.style,_=0;_<l.length;_++)if(l[_]in h)return l[_];return!1}function Ae(l,h,_){var S=h||new Ne(0,0);l.style[z]=(Ie.ie3d?"translate("+S.x+"px,"+S.y+"px)":"translate3d("+S.x+"px,"+S.y+"px,0)")+(_?" scale("+_+")":"")}function De(l,h){l._leaflet_pos=h,Ie.any3d?Ae(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function zt(l){return l._leaflet_pos||new Ne(0,0)}var kt,Ke,Vt;if("onselectstart"in document)kt=function(){Ze(window,"selectstart",ln)},Ke=function(){ii(window,"selectstart",ln)};else{var tt=Qe(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);kt=function(){if(tt){var l=document.documentElement.style;Vt=l[tt],l[tt]="none"}},Ke=function(){tt&&(document.documentElement.style[tt]=Vt,Vt=void 0)}}function Ee(){Ze(window,"dragstart",ln)}function He(){ii(window,"dragstart",ln)}var Be,ze;function Tt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ye(),Be=l,ze=l.style.outlineStyle,l.style.outlineStyle="none",Ze(window,"keydown",ye))}function ye(){Be&&(Be.style.outlineStyle=ze,Be=void 0,ze=void 0,ii(window,"keydown",ye))}function it(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function pt(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var _t={__proto__:null,TRANSFORM:z,TRANSITION:ee,TRANSITION_END:Ue,get:Ye,getStyle:ge,create:ve,remove:vt,empty:Ei,toFront:Te,toBack:Ge,hasClass:Wt,addClass:Je,removeClass:bt,setClass:Kt,getClass:q,setOpacity:ne,testProp:Qe,setTransform:Ae,setPosition:De,getPosition:zt,get disableTextSelection(){return kt},get enableTextSelection(){return Ke},disableImageDrag:Ee,enableImageDrag:He,preventOutline:Tt,restoreOutline:ye,getSizedParentNode:it,getScale:pt};function Ze(l,h,_,S){if(h&&typeof h=="object")for(var I in h)Dn(l,I,h[I],_);else{h=m(h);for(var N=0,X=h.length;N<X;N++)Dn(l,h[N],_,S)}return this}var qt="_leaflet_events";function ii(l,h,_,S){if(arguments.length===1)cn(l),delete l[qt];else if(h&&typeof h=="object")for(var I in h)Jn(l,I,h[I],_);else if(h=m(h),arguments.length===2)cn(l,function(ce){return j(h,ce)!==-1});else for(var N=0,X=h.length;N<X;N++)Jn(l,h[N],_,S);return this}function cn(l,h){for(var _ in l[qt]){var S=_.split(/\d/)[0];(!h||h(S))&&Jn(l,S,null,null,_)}}var en={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Dn(l,h,_,S){var I=h+c(_)+(S?"_"+c(S):"");if(l[qt]&&l[qt][I])return this;var N=function(ce){return _.call(S||l,ce||window.event)},X=N;!Ie.touchNative&&Ie.pointer&&h.indexOf("touch")===0?N=xt(l,h,N):Ie.touch&&h==="dblclick"?N=xi(l,N):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(en[h]||h,N,Ie.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(N=function(ce){ce=ce||window.event,Qn(l,ce)&&X(ce)},l.addEventListener(en[h],N,!1)):l.addEventListener(h,X,!1):l.attachEvent("on"+h,N),l[qt]=l[qt]||{},l[qt][I]=N}function Jn(l,h,_,S,I){I=I||h+c(_)+(S?"_"+c(S):"");var N=l[qt]&&l[qt][I];if(!N)return this;!Ie.touchNative&&Ie.pointer&&h.indexOf("touch")===0?ht(l,h,N):Ie.touch&&h==="dblclick"?gn(l,N):"removeEventListener"in l?l.removeEventListener(en[h]||h,N,!1):l.detachEvent("on"+h,N),l[qt][I]=null}function Gi(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function gi(l){return Dn(l,"wheel",Gi),this}function bn(l){return Ze(l,"mousedown touchstart dblclick contextmenu",Gi),l._leaflet_disable_click=!0,this}function ln(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function rs(l){return ln(l),Gi(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 Ne(l.clientX,l.clientY);var _=pt(h),S=_.boundingClientRect;return new Ne((l.clientX-S.left)/_.x-h.clientLeft,(l.clientY-S.top)/_.y-h.clientTop)}var Nr=Ie.linux&&Ie.chrome?window.devicePixelRatio:Ie.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Ga(l){return Ie.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Nr: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 Qn(l,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==l;)_=_.parentNode}catch{return!1}return _!==l}var fa={__proto__:null,on:Ze,off:ii,stopPropagation:Gi,disableScrollPropagation:gi,disableClickPropagation:bn,preventDefault:ln,stop:rs,getPropagationPath:co,getMousePosition:qo,getWheelDelta:Ga,isExternalTarget:Qn,addListener:Ze,removeListener:ii},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=zt(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=ue(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(),De(this._el,_),this.fire("step")},_complete:function(){et(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),hn=Pt.extend({options:{crs:Oi,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(Et(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ee&&Ie.any3d&&!Ie.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Ze(this._proxy,Ue,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(Et(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||(Ie.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(Ie.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),N=l instanceof Ne?l:this.latLngToContainerPoint(l),X=N.subtract(I).multiplyBy(1-1/S),ce=this.containerPointToLatLng(I.add(X));return this.setView(ce,h,{zoom:_})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():oi(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 N=S.subtract(_).divideBy(2),X=this.project(l.getSouthWest(),I),ce=this.project(l.getNorthEast(),I),ke=this.unproject(X.add(ce).divideBy(2).add(N),I);return{center:ke,zoom:I}},fitBounds:function(l,h){if(l=oi(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){Je(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||!Ie.any3d)return this.setView(l,h,_);this._stop();var S=this.project(this.getCenter()),I=this.project(l),N=this.getSize(),X=this._zoom;l=Et(l),h=h===void 0?X:h;var ce=Math.max(N.x,N.y),ke=ce*this.getZoomScale(X,h),dt=I.distanceTo(S)||1,ci=1.42,Zi=ci*ci;function Sn(Ps){var q_=Ps?-1:1,yA=Ps?ke:ce,wA=ke*ke-ce*ce+q_*Zi*Zi*dt*dt,SA=2*yA*Zi*dt,_w=wA/SA,Qk=Math.sqrt(_w*_w+1)-_w,CA=Qk<1e-9?-18:Math.log(Qk);return CA}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=Sn(0);function Xu(Ps){return ce*($s(Po)/$s(Po+ci*Ps))}function _A(Ps){return ce*($s(Po)*lr(Po+ci*Ps)-bo(Po))/Zi}function mA(Ps){return 1-Math.pow(1-Ps,1.5)}var vA=Date.now(),Yk=(Sn(1)-Po)/ci,bA=_.duration?1e3*_.duration:1e3*Yk*.8;function Jk(){var Ps=(Date.now()-vA)/bA,q_=mA(Ps)*Yk;Ps<=1?(this._flyToFrame=ue(Jk,this),this._move(this.unproject(S.add(I.subtract(S).multiplyBy(_A(q_)/dt)),X),this.getScaleZoom(ce/Xu(q_),X),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),Jk.call(this),this},flyToBounds:function(l,h){var _=this._getBoundsCenterZoom(l,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(l){return l=oi(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,oi(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()),N=this.project(l),X=this.getPixelBounds(),ce=nt([X.min.add(_),X.max.subtract(S)]),ke=ce.getSize();if(!ce.contains(N)){this._enforcingBounds=!0;var dt=N.subtract(ce.getCenter()),ci=ce.extend(N).getSize().subtract(ke);I.x+=dt.x<0?-ci.x:ci.x,I.y+=dt.y<0?-ci.y:ci.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(),N=S.subtract(I);return!N.x&&!N.y?this:(l.animate&&l.pan?this.panBy(N):(l.pan&&this._rawPanBy(N),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 Bt(h,_),I=S.toBounds(l.coords.accuracy*2),N=this._locateOptions;if(N.setView){var X=this.getBoundsZoom(I);this.setView(S,N.maxZoom?Math.min(X,N.maxZoom):X)}var ce={latlng:S,bounds:I,timestamp:l.timestamp};for(var ke in l.coords)typeof l.coords[ke]=="number"&&(ce[ke]=l.coords[ke]);this.fire("locationfound",ce)}},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&&(et(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=ve("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 Ft(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=oi(l),_=Oe(_||[0,0]);var S=this.getZoom()||0,I=this.getMinZoom(),N=this.getMaxZoom(),X=l.getNorthWest(),ce=l.getSouthEast(),ke=this.getSize().subtract(_),dt=nt(this.project(ce,S),this.project(X,S)).getSize(),ci=Ie.any3d?this.options.zoomSnap:1,Zi=ke.x/dt.x,Sn=ke.y/dt.y,bo=h?Math.max(Zi,Sn):Math.min(Zi,Sn);return S=this.getScaleZoom(bo,S),ci&&(S=Math.round(S/(ci/100))*(ci/100),S=h?Math.ceil(S/ci)*ci:Math.floor(S/ci)*ci),Math.max(I,Math.min(N,S))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Ne(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 Se(_,_.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(Et(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(Et(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Et(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(oi(l))},distance:function(l,h){return this.options.crs.distance(Et(l),Et(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(Et(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=Ye(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ze(h,"scroll",this._onScroll,this),this._containerId=c(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ie.any3d,Je(l,"leaflet-container"+(Ie.touch?" leaflet-touch":"")+(Ie.retina?" leaflet-retina":"")+(Ie.ielt9?" leaflet-oldie":"")+(Ie.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),De(this._mapPane,new Ne(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Je(l.markerPane,"leaflet-zoom-hide"),Je(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,_){De(this._mapPane,new Ne(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 et(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){De(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?ii:Ze;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),Ie.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){et(this._resizeRequest),this._resizeRequest=ue(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",N=l.target||l.srcElement,X=!1;N;){if(S=this._targets[c(N)],S&&(h==="click"||h==="preclick")&&this._draggableMoved(S)){X=!0;break}if(S&&S.listens(h,!0)&&(I&&!Qn(N,l)||(_.push(S),I))||N===this._container)break;N=N.parentNode}return!_.length&&!X&&!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"&&Tt(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 N=[],X=0;X<_.length;X++)_[X].listens(h,!0)&&N.push(_[X]);I=N.concat(I)}if(I.length){h==="contextmenu"&&ln(l);var ce=I[0],ke={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var dt=ce.getLatLng&&(!ce._radius||ce._radius<=10);ke.containerPoint=dt?this.latLngToContainerPoint(ce.getLatLng()):this.mouseEventToContainerPoint(l),ke.layerPoint=this.containerPointToLayerPoint(ke.containerPoint),ke.latlng=dt?ce.getLatLng():this.layerPointToLatLng(ke.layerPoint)}for(X=0;X<I.length;X++)if(I[X].fire(h,ke,!0),ke.originalEvent._stopped||I[X].options.bubblingMouseEvents===!1&&j(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 zt(this._mapPane)||new Ne(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 nt([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),N=new Se(S.subtract(I),S.add(I)),X=this._getBoundsOffset(N,_,h);return Math.abs(X.x)<=1&&Math.abs(X.y)<=1?l:this.unproject(S.add(X),h)},_limitOffset:function(l,h){if(!h)return l;var _=this.getPixelBounds(),S=new Se(_.min.add(l),_.max.add(l));return l.add(this._getBoundsOffset(S,h))},_getBoundsOffset:function(l,h,_){var S=nt(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),I=S.min.subtract(l.min),N=S.max.subtract(l.max),X=this._rebound(I.x,-N.x),ce=this._rebound(I.y,-N.y);return new Ne(X,ce)},_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=Ie.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=ve("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var _=z,S=this._proxy.style[_];Ae(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();Ae(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:(ue(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,Je(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 Rr(l,h){return new hn(l,h)}var Zs=me.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 Je(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)};hn.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=ve("div",h+"control-container",this._container);function S(I,N){var X=h+I+" "+h+N;l[I+N]=ve("div",X,_)}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(){Je(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?(Je(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=ve("div",l),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),bn(h),gi(h);var S=this._section=ve("section",l+"-list");_&&(this._map.on("click",this.collapse,this),Ze(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=ve("a",l+"-toggle",h);I.href="#",I.title="Layers",I.setAttribute("role","button"),Ze(I,{keydown:function(N){N.keyCode===13&&this._expandSafely()},click:function(N){ln(N),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=ve("div",l+"-base",S),this._separator=ve("div",l+"-separator",S),this._overlaysList=ve("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),Ze(S,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var N=document.createElement("span");h.appendChild(N),N.appendChild(S),N.appendChild(I);var X=l.overlay?this._overlaysList:this._baseLayersList;return X.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,_,S=[],I=[];this._handlingClick=!0;for(var N=l.length-1;N>=0;N--)h=l[N],_=this._getLayer(h.layerId).layer,h.checked?S.push(_):h.checked||I.push(_);for(N=0;N<I.length;N++)this._map.hasLayer(I[N])&&this._map.removeLayer(I[N]);for(N=0;N<S.length;N++)this._map.hasLayer(S[N])||this._map.addLayer(S[N]);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,Ze(l,"click",ln),this.expand();var h=this;setTimeout(function(){ii(l,"click",ln),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">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var h="leaflet-control-zoom",_=ve("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 N=ve("a",_,S);return N.innerHTML=l,N.href="#",N.title=h,N.setAttribute("role","button"),N.setAttribute("aria-label",h),bn(N),Ze(N,"click",rs),Ze(N,"click",I,this),Ze(N,"click",this._refocusOnMap,this),N},_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())&&(Je(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Je(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});hn.mergeOptions({zoomControl:!0}),hn.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",_=ve("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=ve("div",h,_)),l.imperial&&(this._iScale=ve("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">'+(Ie.inlineSvg?Or+" ":"")+"Leaflet</a>"},initialize:function(l){x(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=ve("div","leaflet-control-attribution"),bn(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> ')}}});hn.mergeOptions({attributionControl:!0}),hn.addInitHook(function(){this.options.attributionControl&&new Fr().addTo(this)});var R_=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=R_;var ar=me.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 A_={Events:ft},eg=Ie.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||(Ze(this._dragStartTarget,eg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Ko._dragging===this&&this.finishDrag(!0),ii(this._dragStartTarget,eg,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Wt(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&&Tt(this._element),Ee(),kt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,_=it(this._element);this._startPoint=new Ne(h.clientX,h.clientY),this._startPos=zt(this._element),this._parentScale=pt(_);var S=l.type==="mousedown";Ze(document,S?"mousemove":"touchmove",this._onMove,this),Ze(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 Ne(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,ln(l),this._moved||(this.fire("dragstart"),this._moved=!0,Je(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Je(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),De(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),ii(document,"mousemove touchmove",this._onMove,this),ii(document,"mouseup touchend touchcancel",this._onUp,this),He(),Ke();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 O_(l,h,_){var S,I=[1,4,2,8],N,X,ce,ke,dt,ci,Zi,Sn;for(N=0,ci=l.length;N<ci;N++)l[N]._code=Xa(l[N],h);for(ce=0;ce<4;ce++){for(Zi=I[ce],S=[],N=0,ci=l.length,X=ci-1;N<ci;X=N++)ke=l[N],dt=l[X],ke._code&Zi?dt._code&Zi||(Sn=jc(dt,ke,Zi,h,_),Sn._code=Xa(Sn,h),S.push(Sn)):(dt._code&Zi&&(Sn=jc(dt,ke,Zi,h,_),Sn._code=Xa(Sn,h),S.push(Sn)),S.push(ke));l=S}return l}function tg(l,h){var _,S,I,N,X,ce,ke,dt,ci;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 Zi=Et([0,0]),Sn=oi(l),bo=Sn.getNorthWest().distanceTo(Sn.getSouthWest())*Sn.getNorthEast().distanceTo(Sn.getNorthWest());bo<1700&&(Zi=ig(l));var $s=l.length,lr=[];for(_=0;_<$s;_++){var Po=Et(l[_]);lr.push(h.project(Et([Po.lat-Zi.lat,Po.lng-Zi.lng])))}for(ce=ke=dt=0,_=0,S=$s-1;_<$s;S=_++)I=lr[_],N=lr[S],X=I.y*N.x-N.y*I.x,ke+=(I.x+N.x)*X,dt+=(I.y+N.y)*X,ce+=X*3;ce===0?ci=lr[0]:ci=[ke/ce,dt/ce];var Xu=h.unproject(Oe(ci));return Et([Xu.lat+Zi.lat,Xu.lng+Zi.lng])}function ig(l){for(var h=0,_=0,S=0,I=0;I<l.length;I++){var N=Et(l[I]);h+=N.lat,_+=N.lng,S++}return Et([h/S,_/S])}var dw={__proto__:null,clipPolygon:O_,polygonCenter:tg,centroid:ig};function ng(l,h){if(!h||!l.length)return l.slice();var _=h*h;return l=W_(l,_),l=H_(l,_),l}function F_(l,h,_){return Math.sqrt($c(l,h,_,!0))}function sg(l,h,_){return $c(l,h,_)}function H_(l,h){var _=l.length,S=typeof Uint8Array<"u"?Uint8Array:Array,I=new S(_);I[0]=I[_-1]=1,og(l,I,h,0,_-1);var N,X=[];for(N=0;N<_;N++)I[N]&&X.push(l[N]);return X}function og(l,h,_,S,I){var N=0,X,ce,ke;for(ce=S+1;ce<=I-1;ce++)ke=$c(l[ce],l[S],l[I],!0),ke>N&&(X=ce,N=ke);N>_&&(h[X]=1,og(l,h,_,S,X),og(l,h,_,X,I))}function W_(l,h){for(var _=[l[0]],S=1,I=0,N=l.length;S<N;S++)B_(l[S],l[I])>h&&(_.push(l[S]),I=S);return I<N-1&&_.push(l[N-1]),_}var rg;function ag(l,h,_,S,I){var N=S?rg:Xa(l,_),X=Xa(h,_),ce,ke,dt;for(rg=X;;){if(!(N|X))return[l,h];if(N&X)return!1;ce=N||X,ke=jc(l,h,ce,_,I),dt=Xa(ke,_),ce===N?(l=ke,N=dt):(h=ke,X=dt)}}function jc(l,h,_,S,I){var N=h.x-l.x,X=h.y-l.y,ce=S.min,ke=S.max,dt,ci;return _&8?(dt=l.x+N*(ke.y-l.y)/X,ci=ke.y):_&4?(dt=l.x+N*(ce.y-l.y)/X,ci=ce.y):_&2?(dt=ke.x,ci=l.y+X*(ke.x-l.x)/N):_&1&&(dt=ce.x,ci=l.y+X*(ce.x-l.x)/N),new Ne(dt,ci,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 B_(l,h){var _=h.x-l.x,S=h.y-l.y;return _*_+S*S}function $c(l,h,_,S){var I=h.x,N=h.y,X=_.x-I,ce=_.y-N,ke=X*X+ce*ce,dt;return ke>0&&(dt=((l.x-I)*X+(l.y-N)*ce)/ke,dt>1?(I=_.x,N=_.y):dt>0&&(I+=X*dt,N+=ce*dt)),X=l.x-I,ce=l.y-N,S?X*X+ce*ce:new Ne(I,N)}function To(l){return!A(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function z_(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),To(l)}function Uu(l,h){var _,S,I,N,X,ce,ke,dt;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 ci=Et([0,0]),Zi=oi(l),Sn=Zi.getNorthWest().distanceTo(Zi.getSouthWest())*Zi.getNorthEast().distanceTo(Zi.getNorthWest());Sn<1700&&(ci=ig(l));var bo=l.length,$s=[];for(_=0;_<bo;_++){var lr=Et(l[_]);$s.push(h.project(Et([lr.lat-ci.lat,lr.lng-ci.lng])))}for(_=0,S=0;_<bo-1;_++)S+=$s[_].distanceTo($s[_+1])/2;if(S===0)dt=$s[0];else for(_=0,N=0;_<bo-1;_++)if(X=$s[_],ce=$s[_+1],I=X.distanceTo(ce),N+=I,N>S){ke=(N-S)/I,dt=[ce.x-ke*(ce.x-X.x),ce.y-ke*(ce.y-X.y)];break}var Po=h.unproject(Oe(dt));return Et([Po.lat+ci.lat,Po.lng+ci.lng])}var V_={__proto__:null,simplify:ng,pointToSegmentDistance:F_,closestPointOnSegment:sg,clipSegment:ag,_getEdgeIntersection:jc,_getBitCode:Xa,_sqClosestPointOnSegment:$c,isFlat:To,_flat:z_,polylineCenter:Uu},qu={project:function(l){return new Ne(l.lng,l.lat)},unproject:function(l){return new Bt(l.y,l.x)},bounds:new Se([-180,-90],[180,90])},Gu={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Se([-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/_,N=Math.sqrt(1-I*I),X=N*Math.sin(S),ce=Math.tan(Math.PI/4-S/2)/Math.pow((1-X)/(1+X),N/2);return S=-_*Math.log(Math.max(ce,1e-10)),new Ne(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),N=Math.exp(-l.y/_),X=Math.PI/2-2*Math.atan(N),ce=0,ke=.1,dt;ce<15&&Math.abs(ke)>1e-7;ce++)dt=I*Math.sin(X),dt=Math.pow((1-dt)/(1+dt),I/2),ke=Math.PI/2-2*Math.atan(N*dt)-X,X+=ke;return new Bt(X*h,l.x*h/_)}},uw={__proto__:null,LonLat:qu,Mercator:Gu,SphericalMercator:di},j_=n({},Ct,{code:"EPSG:3395",projection:Gu,transformation:(function(){var l=.5/(Math.PI*Gu.R);return Ni(l,.5,-l,.5)})()}),Ku=n({},Ct,{code:"EPSG:4326",projection:qu,transformation:Ni(1/180,1,-1/180,.5)}),$_=n({},Rt,{projection:qu,transformation:Ni(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});Rt.Earth=Ct,Rt.EPSG3395=j_,Rt.EPSG3857=Oi,Rt.EPSG900913=Wi,Rt.EPSG4326=Ku,Rt.Simple=$_;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})}}});hn.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 Ft;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=me.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),N=Oe(h==="shadow"&&_.shadowAnchor||_.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(_.className||""),N&&(l.style.marginLeft=-N.x+"px",l.style.marginTop=-N.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 Ie.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 N=S.exec(_);return N&&N[I]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=ve("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):""}}),B=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(),Je(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,N=zt(h._icon),X=_.getPixelBounds(),ce=_.getPixelOrigin(),ke=nt(X.min._subtract(ce).add(I),X.max._subtract(ce).subtract(I));if(!ke.contains(N)){var dt=Oe((Math.max(ke.max.x,N.x)-ke.max.x)/(X.max.x-ke.max.x)-(Math.min(ke.min.x,N.x)-ke.min.x)/(X.min.x-ke.min.x),(Math.max(ke.max.y,N.y)-ke.max.y)/(X.max.y-ke.max.y)-(Math.min(ke.min.y,N.y)-ke.min.y)/(X.min.y-ke.min.y)).multiplyBy(S);_.panBy(dt,{animate:!1}),this._draggable._newPos._add(dt),this._draggable._startPos._add(dt),De(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=ue(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&&(et(this._panRequest),this._panRequest=ue(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,_=h._shadow,S=zt(h._icon),I=h._map.layerPointToLatLng(S);_&&De(_,S),h._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){et(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),oe=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=Et(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=Et(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||"")),Je(_,h),l.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ze(_,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),N=!1;I!==this._shadow&&(this._removeShadow(),N=!0),I&&(Je(I,h),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),S&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&N&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ii(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&&De(this._icon,l),this._shadow&&De(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&&(Je(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),B)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new B(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&&ne(this._icon,l),this._shadow&&ne(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 Me(l,h){return new oe(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=Et(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Et(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 Se(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 Zt(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=Et(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 Ft(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===Ct.distance){var I=Math.PI/180,N=this._mRadius/Ct.R/I,X=_.project([h+N,l]),ce=_.project([h-N,l]),ke=X.add(ce).divideBy(2),dt=_.unproject(ke).lat,ci=Math.acos((Math.cos(N*I)-Math.sin(h*I)*Math.sin(dt*I))/(Math.cos(h*I)*Math.cos(dt*I)))/I;(isNaN(ci)||ci===0)&&(ci=N/Math.cos(Math.PI/180*h)),this._point=ke.subtract(_.getPixelOrigin()),this._radius=isNaN(ci)?0:ke.x-_.project([dt,l-ci]).x,this._radiusY=ke.y-X.y}else{var Zi=S.unproject(S.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(Zi).x}this._updateBounds()}});function tn(l,h,_){return new li(l,h,_)}var $i=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,N,X=0,ce=this._parts.length;X<ce;X++)for(var ke=this._parts[X],dt=1,ci=ke.length;dt<ci;dt++){I=ke[dt-1],N=ke[dt];var Zi=S(l,I,N,!0);Zi<h&&(h=Zi,_=S(l,I,N))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Uu(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Et(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Ft,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]=Et(l[S]),this._bounds.extend(h[S])):h[S]=this._convertLatLngs(l[S]);return h},_project:function(){var l=new Se;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 Ne(l,l);this._rawPxBounds&&(this._pxBounds=new Se([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,_){var S=l[0]instanceof Bt,I=l.length,N,X;if(S){for(X=[],N=0;N<I;N++)X[N]=this._map.latLngToLayerPoint(l[N]),_.extend(X[N]);h.push(X)}else for(N=0;N<I;N++)this._projectLatlngs(l[N],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,N,X,ce,ke;for(_=0,I=0,N=this._rings.length;_<N;_++)for(ke=this._rings[_],S=0,X=ke.length;S<X-1;S++)ce=ag(ke[S],ke[S+1],l,S,!0),ce&&(h[I]=h[I]||[],h[I].push(ce[0]),(ce[1]!==ke[S+1]||S===X-2)&&(h[I].push(ce[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,_=0,S=l.length;_<S;_++)l[_]=ng(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,N,X,ce,ke=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(_=0,N=this._parts.length;_<N;_++)for(ce=this._parts[_],S=0,X=ce.length,I=X-1;S<X;I=S++)if(!(!h&&S===0)&&F_(l,ce[I],ce[S])<=ke)return!0;return!1}});function dn(l,h){return new $i(l,h)}$i._flat=z_;var Ui=$i.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return tg(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=$i.prototype._convertLatLngs.call(this,l),_=h.length;return _>=2&&h[0]instanceof Bt&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(l){$i.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 Ne(h,h);if(l=new Se(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,N;S<I;S++)N=O_(this._rings[S],l,!0),N.length&&this._parts.push(N)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,_,S,I,N,X,ce,ke,dt;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(N=0,ke=this._parts.length;N<ke;N++)for(_=this._parts[N],X=0,dt=_.length,ce=dt-1;X<dt;ce=X++)S=_[X],I=_[ce],S.y>l.y!=I.y>l.y&&l.x<(I.x-S.x)*(l.y-S.y)/(I.y-S.y)+S.x&&(h=!h);return h||$i.prototype._containsPoint.call(this,l,!0)}});function nn(l,h){return new Ui(l,h)}var Ki=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 N=this.options;if(N.filter&&!N.filter(l))return this;var X=Wn(l,N);return X?(X.feature=as(l),X.defaultOptions=X.options,this.resetStyle(X),N.onEachFeature&&N.onEachFeature(l,X),this.addLayer(X)):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=[],N=h&&h.pointToLayer,X=h&&h.coordsToLatLng||qn,ce,ke,dt,ci;if(!S&&!_)return null;switch(_.type){case"Point":return ce=X(S),Zn(N,l,ce,h);case"MultiPoint":for(dt=0,ci=S.length;dt<ci;dt++)ce=X(S[dt]),I.push(Zn(N,l,ce,h));return new Hr(I);case"LineString":case"MultiLineString":return ke=Yi(S,_.type==="LineString"?0:1,X),new $i(ke,h);case"Polygon":case"MultiPolygon":return ke=Yi(S,_.type==="Polygon"?1:2,X),new Ui(ke,h);case"GeometryCollection":for(dt=0,ci=_.geometries.length;dt<ci;dt++){var Zi=Wn({geometry:_.geometries[dt],type:"Feature",properties:l.properties},h);Zi&&I.push(Zi)}return new Hr(I);case"FeatureCollection":for(dt=0,ci=_.features.length;dt<ci;dt++){var Sn=Wn(_.features[dt],h);Sn&&I.push(Sn)}return new Hr(I);default:throw new Error("Invalid GeoJSON object.")}}function Zn(l,h,_,S){return l?l(h,_):new oe(_,S&&S.markersInheritOptions&&S)}function qn(l){return new Bt(l[1],l[0],l[2])}function Yi(l,h,_){for(var S=[],I=0,N=l.length,X;I<N;I++)X=h?Yi(l[I],h-1,_):(_||qn)(l[I]),S.push(X);return S}function hs(l,h){return l=Et(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 Os(l,h,_,S){for(var I=[],N=0,X=l.length;N<X;N++)I.push(h?Os(l[N],To(l[N])?0:h-1,_,S):hs(l[N],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)})}};oe.include(is),li.include(is),yt.include(is),$i.include({toGeoJSON:function(l){var h=!To(this._latlngs),_=Os(this._latlngs,h?1:0,!1,l);return bs(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),Ui.include({toGeoJSON:function(l){var h=!To(this._latlngs),_=h&&!To(this._latlngs[0]),S=Os(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 N=I.toGeoJSON(l);if(_)S.push(N.geometry);else{var X=as(N);X.type==="FeatureCollection"?S.push.apply(S,X.features):S.push(X)}}}),_?bs(this,{geometries:S,type:"GeometryCollection"}):{type:"FeatureCollection",features:S}}});function fs(l,h){return new Ki(l,h)}var ys=fs,Fs=Zo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,_){this._url=l,this._bounds=oi(h),x(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Je(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&&Te(this._image),this},bringToBack:function(){return this._map&&Ge(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=oi(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:ve("img");if(Je(h,"leaflet-image-layer"),this._zoomAnimated&&Je(h,"leaflet-zoom-animated"),this.options.className&&Je(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;Ae(this._image,_,h)},_reset:function(){var l=this._image,h=new Se(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();De(l,h.min),l.style.width=_.x+"px",l.style.height=_.y+"px"},_updateOpacity:function(){ne(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 Fs(l,h,_)},Wr=Fs.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:ve("video");if(Je(h,"leaflet-image-layer"),this._zoomAnimated&&Je(h,"leaflet-zoom-animated"),this.options.className&&Je(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 N=0;N<this._url.length;N++){var X=ve("source");X.src=this._url[N],h.appendChild(X)}}});function Hs(l,h,_){return new Wr(l,h,_)}var wn=Fs.extend({_initImage:function(){var l=this._image=this._url;Je(l,"leaflet-image-layer"),this._zoomAnimated&&Je(l,"leaflet-zoom-animated"),this.options.className&&Je(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Xo(l,h,_){return new wn(l,h,_)}var Ls=Zo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof Bt||A(l))?(this._latlng=Et(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&&ne(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&ne(this._container,1),this.bringToFront(),this.options.interactive&&(Je(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(ne(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=Et(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&&Te(this._container),this},bringToBack:function(){return this._map&&Ge(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?De(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]}});hn.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",Gi))},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",Gi))},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=ve("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=ve("div",l+"-content-wrapper",h);if(this._contentNode=ve("div",l+"-content",_),bn(h),gi(this._contentNode),Ze(h,"contextmenu",Gi),this._tipContainer=ve("div",l+"-tip-container",h),this._tip=ve("div",l+"-tip",this._tipContainer),this.options.closeButton){var S=this._closeButton=ve("a",l+"-close-button",h);S.setAttribute("role","button"),S.setAttribute("aria-label","Close popup"),S.href="#close",S.innerHTML='<span aria-hidden="true">&#215;</span>',Ze(S,"click",function(I){ln(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,N="leaflet-popup-scrolled";I&&S>I?(h.height=I+"px",Je(l,N)):bt(l,N),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),_=this._getAnchor();De(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 Ne(this._containerLeft,-_-this._containerBottom);I._add(zt(this._container));var N=l.layerPointToContainerPoint(I),X=Oe(this.options.autoPanPadding),ce=Oe(this.options.autoPanPaddingTopLeft||X),ke=Oe(this.options.autoPanPaddingBottomRight||X),dt=l.getSize(),ci=0,Zi=0;N.x+S+ke.x>dt.x&&(ci=N.x+S-dt.x+ke.x),N.x-ci-ce.x<0&&(ci=N.x-ce.x),N.y+_+ke.y>dt.y&&(Zi=N.y+_-dt.y+ke.y),N.y-Zi-ce.y<0&&(Zi=N.y-ce.y),(ci||Zi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([ci,Zi]))}},_getAnchor:function(){return Oe(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),lg=function(l,h){return new Br(l,h)};hn.mergeOptions({closePopupOnClick:!0}),hn.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=ve("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,N=S.latLngToContainerPoint(S.getCenter()),X=S.layerPointToContainerPoint(l),ce=this.options.direction,ke=I.offsetWidth,dt=I.offsetHeight,ci=Oe(this.options.offset),Zi=this._getAnchor();ce==="top"?(h=ke/2,_=dt):ce==="bottom"?(h=ke/2,_=0):ce==="center"?(h=ke/2,_=dt/2):ce==="right"?(h=0,_=dt/2):ce==="left"?(h=ke,_=dt/2):X.x<N.x?(ce="right",h=0,_=dt/2):(ce="left",h=ke+(ci.x+Zi.x)*2,_=dt/2),l=l.subtract(Oe(h,_,!0)).add(ci).add(Zi),bt(I,"leaflet-tooltip-right"),bt(I,"leaflet-tooltip-left"),bt(I,"leaflet-tooltip-top"),bt(I,"leaflet-tooltip-bottom"),Je(I,"leaflet-tooltip-"+ce),De(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&ne(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])}}),cg=function(l,h){return new Wl(l,h)};hn.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&&(Ze(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Ze(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:Ie.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&&(Te(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Ge(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 Ne?l:new Ne(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,N;S<I;S++)N=h[S].style.zIndex,h[S]!==this._container&&N&&(_=l(_,+N));isFinite(_)&&(this.options.zIndex=_+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Ie.ielt9){ne(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 N=Math.min(1,(l-I.loaded)/200);ne(I.el,N),N<1?h=!0:(I.active?_=!0:this._onOpaqueTile(I),I.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(et(this._fadeFrame),this._fadeFrame=ue(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=ve("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=ve("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),N=Math.floor(h/2),X=_-1,ce=new Ne(+I,+N);ce.z=+X;var ke=this._tileCoordsToKey(ce),dt=this._tiles[ke];return dt&&dt.active?(dt.retain=!0,!0):(dt&&dt.loaded&&(dt.retain=!0),X>S?this._retainParent(I,N,X,S):!1)},_retainChildren:function(l,h,_,S){for(var I=2*l;I<2*l+2;I++)for(var N=2*h;N<2*h+2;N++){var X=new Ne(I,N);X.z=_+1;var ce=this._tileCoordsToKey(X),ke=this._tiles[ce];if(ke&&ke.active){ke.retain=!0;continue}else ke&&ke.loaded&&(ke.retain=!0);_+1<S&&this._retainChildren(I,N,_+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 N=this.options.updateWhenZooming&&I!==this._tileZoom;(!S||N)&&(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();Ie.any3d?Ae(l.el,I,S):De(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(),N=h.getSize().divideBy(S*2);return new Se(I.subtract(N),I.add(N))},_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),N=I.getCenter(),X=[],ce=this.options.keepBuffer,ke=new Se(I.getBottomLeft().subtract([ce,-ce]),I.getTopRight().add([ce,-ce]));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 dt in this._tiles){var ci=this._tiles[dt].coords;(ci.z!==this._tileZoom||!ke.contains(new Ne(ci.x,ci.y)))&&(this._tiles[dt].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(l,_);return}for(var Zi=I.min.y;Zi<=I.max.y;Zi++)for(var Sn=I.min.x;Sn<=I.max.x;Sn++){var bo=new Ne(Sn,Zi);if(bo.z=this._tileZoom,!!this._isValidTile(bo)){var $s=this._tiles[this._tileCoordsToKey(bo)];$s?$s.current=!0:X.push(bo)}}if(X.sort(function(Po,Xu){return Po.distanceTo(N)-Xu.distanceTo(N)}),X.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var lr=document.createDocumentFragment();for(Sn=0;Sn<X.length;Sn++)this._addTile(X[Sn],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 oi(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(_),N=h.unproject(S,l.z),X=h.unproject(I,l.z);return[N,X]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),_=new Ft(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 Ne(+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){Je(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,Ie.ielt9&&this.options.opacity<1&&ne(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&&ue(r(this._tileReady,this,l,null,I)),De(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?(ne(_.el,0),et(this._fadeFrame),this._fadeFrame=ue(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(Je(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ie.ielt9||!this._map._fadeAnimated?ue(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 Ne(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 Se(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&&Ie.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 Ze(_,"load",r(this._tileOnLoad,this,h,_)),Ze(_,"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:Ie.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){Ie.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 Zu=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&&Ie.retina?2:1,N=this.getTileSize();_.width=N.x*I,_.height=N.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=nt(_.project(h[0]),_.project(h[1])),I=S.min,N=S.max,X=(this._wmsVersion>=1.3&&this._crs===Ku?[I.y,I.x,N.y,N.x]:[I.x,I.y,N.x,N.y]).join(","),ce=ps.prototype.getTileUrl.call(this,l);return ce+k(this.wmsParams,ce,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+X},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function uA(l,h){return new Zu(l,h)}ps.WMS=Zu,Gc.wms=uA;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(),Je(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),N=S.multiplyBy(-_).add(I).subtract(this._map._getNewPixelOrigin(l,h));Ie.any3d?Ae(this._container,N,_):De(this._container,N)},_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 Se(_,_.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");Ze(l,"mousemove",this._onMouseMove,this),Ze(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ze(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){et(this._redrawRequest),delete this._ctx,vt(this._container),ii(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=Ie.retina?2:1;De(h,l.min),h.width=S*_.x,h.height=S*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",Ie.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||ue(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Se,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,N,X=l._parts,ce=X.length,ke=this._ctx;if(ce){for(ke.beginPath(),_=0;_<ce;_++){for(S=0,I=X[_].length;S<I;S++)N=X[_][S],ke[S?"lineTo":"moveTo"](N.x,N.y);h&&ke.closePath()}this._fillStroke(ke,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&&(Je(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 Ie.canvas?new Bk(l):null}var dg=(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">')}})(),hA={_initContainer:function(){this._container=ve("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ya.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=dg("shape");Je(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=dg("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=dg("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=dg("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){Te(l._container)},_bringToBack:function(l){Ge(l._container)}},U_=Ie.vml?dg:Si,ug=Ya.extend({_initContainer:function(){this._container=U_("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=U_("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){vt(this._container),ii(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)),De(_,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=U_("path");l.options.className&&Je(h,l.options.className),l.options.interactive&&Je(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,ri(l._parts,h))},_updateCircle:function(l){var h=l._point,_=Math.max(Math.round(l._radius),1),S=Math.max(Math.round(l._radiusY),1)||_,I="a"+_+","+S+" 0 1,0 ",N=l._empty()?"M0 0":"M"+(h.x-_)+","+h.y+I+_*2+",0 "+I+-_*2+",0 ";this._setPath(l,N)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){Te(l._path)},_bringToBack:function(l){Ge(l._path)}});Ie.vml&&ug.include(hA);function Vk(l){return Ie.svg||Ie.vml?new ug(l):null}hn.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=Ui.extend({initialize:function(l,h){Ui.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=oi(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function fA(l,h){return new jk(l,h)}ug.create=U_,ug.pointsToPath=ri,Ki.geometryToLayer=Wn,Ki.coordsToLatLng=qn,Ki.coordsToLatLngs=Yi,Ki.latLngToCoords=hs,Ki.latLngsToCoords=Os,Ki.getFeature=bs,Ki.asFeature=as,hn.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(){Ze(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ii(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(),kt(),Ee(),this._startPoint=this._map.mouseEventToContainerPoint(l),Ze(document,{contextmenu:rs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=ve("div","leaflet-zoom-box",this._container),Je(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new Se(this._point,this._startPoint),_=h.getSize();De(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")),Ke(),He(),ii(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 Ft(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())}});hn.addInitHook("addHandler","boxZoom",$k),hn.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)}});hn.addInitHook("addHandler","doubleClickZoom",Uk),hn.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))}Je(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=oi(this._map.options.maxBounds);this._offsetLimit=nt(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-_,N=(S+h+_)%l-h-_,X=Math.abs(I+_)<Math.abs(N+_)?I:N;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=X},_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]),N=(this._lastTime-this._times[0])/1e3,X=_.easeLinearity,ce=I.multiplyBy(X/N),ke=ce.distanceTo([0,0]),dt=Math.min(_.inertiaMaxSpeed,ke),ci=ce.multiplyBy(dt/ke),Zi=dt/(_.inertiaDeceleration*X),Sn=ci.multiplyBy(-Zi/2).round();!Sn.x&&!Sn.y?h.fire("moveend"):(Sn=h._limitOffset(Sn,h.options.maxBounds),ue(function(){h.panBy(Sn,{duration:Zi,easeLinearity:X,noMoveStart:!0,animate:!0})}))}}});hn.addInitHook("addHandler","dragging",qk),hn.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"),Ze(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(),ii(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(){Ze(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ii(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)}}});hn.addInitHook("addHandler","keyboard",Gk),hn.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Kk=ar.extend({addHooks:function(){Ze(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ii(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,N=_?Math.ceil(I/_)*_:I,X=l._limitZoom(h+(this._delta>0?N:-N))-h;this._delta=0,this._startTime=null,X&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+X):l.setZoomAround(this._lastMousePos,h+X))}});hn.addInitHook("addHandler","scrollWheelZoom",Kk);var gA=600;hn.mergeOptions({tapHold:Ie.touchNative&&Ie.safari&&Ie.mobile,tapTolerance:15});var Zk=ar.extend({addHooks:function(){Ze(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ii(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 Ne(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Ze(document,"touchend",ln),Ze(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),gA),Ze(document,"touchend touchcancel contextmenu",this._cancel,this),Ze(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ii(document,"touchend",ln),ii(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ii(document,"touchend touchcancel contextmenu",this._cancel,this),ii(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new Ne(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(_)}});hn.addInitHook("addHandler","tapHold",Zk),hn.mergeOptions({touchZoom:Ie.touch,bounceAtZoomLimits:!0});var Xk=ar.extend({addHooks:function(){Je(this._map._container,"leaflet-touch-zoom"),Ze(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){bt(this._map._container,"leaflet-touch-zoom"),ii(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(),Ze(document,"touchmove",this._onTouchMove,this),Ze(document,"touchend touchcancel",this._onTouchEnd,this),ln(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 N=_._add(S)._divideBy(2)._subtract(this._centerPoint);if(I===1&&N.x===0&&N.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(N),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),et(this._animRequest);var X=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=ue(X,this,!0),ln(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,et(this._animRequest),ii(document,"touchmove",this._onTouchMove,this),ii(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))}});hn.addInitHook("addHandler","touchZoom",Xk),hn.BoxZoom=$k,hn.DoubleClickZoom=Uk,hn.Drag=qk,hn.Keyboard=Gk,hn.ScrollWheelZoom=Kk,hn.TapHold=Zk,hn.TouchZoom=Xk,t.Bounds=Se,t.Browser=Ie,t.CRS=Rt,t.Canvas=Bk,t.Circle=li,t.CircleMarker=yt,t.Class=me,t.Control=Zs,t.DivIcon=zr,t.DivOverlay=Ls,t.DomEvent=fa,t.DomUtil=_t,t.Draggable=Ko,t.Evented=Pt,t.FeatureGroup=Hr,t.GeoJSON=Ki,t.GridLayer=qc,t.Handler=ar,t.Icon=Hl,t.ImageOverlay=Fs,t.LatLng=Bt,t.LatLngBounds=Ft,t.Layer=Zo,t.LayerGroup=Fl,t.LineUtil=V_,t.Map=hn,t.Marker=oe,t.Mixin=A_,t.Path=pe,t.Point=Ne,t.PolyUtil=dw,t.Polygon=Ui,t.Polyline=$i,t.Popup=Br,t.PosAnimation=ga,t.Projection=uw,t.Rectangle=jk,t.Renderer=Ya,t.SVG=ug,t.SVGOverlay=wn,t.TileLayer=ps,t.Tooltip=Wl,t.Transformation=Li,t.Util=rt,t.VideoOverlay=Wr,t.bind=r,t.bounds=nt,t.canvas=zk,t.circle=tn,t.circleMarker=Zt,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=Et,t.latLngBounds=oi,t.layerGroup=hw,t.map=Rr,t.marker=Me,t.point=Oe,t.polygon=nn,t.polyline=dn,t.popup=lg,t.rectangle=fA,t.setOptions=x,t.stamp=c,t.svg=Vk,t.svgOverlay=Xo,t.tileLayer=Gc,t.tooltip=cg,t.transformation=Ni,t.version=i,t.videoOverlay=Hs;var pA=window.L;t.noConflict=function(){return window.L=pA,this},window.L=t}))})(zg,zg.exports)),zg.exports}var mK=_K();const Sg=qR(mK),vK="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=",bK="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==",yK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Rn=(o,e=Ry)=>{var t=wK(),i=b(v(t),2),n=v(i);V(()=>F(n,e())),E(o,t)};var wK=T('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),SK=T("<button> </button>"),CK=T('<span class="err svelte-767znw"> </span>'),xK=T('<span class="ok svelte-767znw"> </span>'),kK=T('<div class="loading svelte-767znw">Loading…</div>'),LK=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>'),IK=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),DK=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>'),EK=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>'),TK=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),PK=T('<div class="field-error svelte-767znw"> </div>'),MK=T('<div class="field-ok svelte-767znw"> </div>'),NK=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>'),RK=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>'),AK=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>'),OK=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>"),FK=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>'),HK=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>'),WK=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>'),BK=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>'),zK=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>'),VK=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>'),jK=T('<span class="free-badge svelte-767znw">FREE</span> ',1),$K=T('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),UK=T("<div><!> <!></div>"),qK=T('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),GK=T('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),KK=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>'),ZK=T('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),XK=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 YK(o,e){Ns(e,!0),delete Sg.Icon.Default.prototype._getIconUrl,Sg.Icon.Default.mergeOptions({iconUrl:vK,iconRetinaUrl:bK,shadowUrl:yK});let t=M(yi(fK())),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(""),D=M("none"),P=M(""),A=M("X-Remote-User"),j=M(""),H=M(!1),te=M(""),J=M(""),le=M(""),we=M(!1),We=M(!1),ue=M(!1),et=M(""),rt=M(48.7408),me=M(9.1778),lt=M(!1),ft=M(void 0),Pt=M(!1),Ne=M(null),Lt=M("info"),Oe=M(""),Se=M(""),nt=M(!1),Ft=M(!1),oi=M("");const Bt=[{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 Et=M("ollama"),Rt=M("ollama"),Ct=M(""),vi=M(""),di=M("");const Li={};let Ni="ollama";function Oi($,Z){return $==="anthropic"?"anthropic":$==="ollama"?"ollama":Z?Z.includes("localhost:1234")?"lmstudio":Z.includes("groq.com")?"groq":Z.includes("googleapis.com")?"gemini":"openai":"openai"}function Wi(){Li[Ni]={baseUrl:d(Ct),model:d(vi),apiKey:d(di)};const $=Bt.find(ie=>ie.id===d(Et));if(!$)return;y(Rt,$.provider,!0);const Z=Li[d(Et)];y(Ct,(Z==null?void 0:Z.baseUrl)??$.baseUrl,!0),y(vi,(Z==null?void 0:Z.model)??$.defaultModel,!0),y(di,(Z==null?void 0:Z.apiKey)??"",!0),Ni=d(Et)}const Si=wt(()=>Bt.find($=>$.id===d(Et)));let ri=M(yi({}));const _i=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"]);$n(()=>{if(!d(ft))return;const $=typeof d(rt)=="number"?d(rt):48.7408,Z=typeof d(me)=="number"?d(me):9.1778,ie=Sg.map(d(ft)).setView([$,Z],10);Sg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(ie);const Ce=Sg.marker([$,Z],{draggable:!0}).addTo(ie);y(Ne,Ce,!0);const gt=Re=>{y(rt,+Re.lat.toFixed(6)),y(me,+Re.lng.toFixed(6))};return Ce.on("dragend",()=>gt(Ce.getLatLng())),ie.on("click",Re=>{Ce.setLatLng(Re.latlng),gt(Re.latlng)}),()=>{y(Ne,null),ie.remove()}}),$n(()=>{!d(Ne)||d(rt)===""||d(me)===""||d(Ne).setLatLng([Number(d(rt)),Number(d(me))])});let ki;function Vi(){if(!navigator.geolocation){ki.show("Geolocation is not supported by this browser.",{alert:!0});return}y(Pt,!0),navigator.geolocation.getCurrentPosition($=>{y(rt,+$.coords.latitude.toFixed(6)),y(me,+$.coords.longitude.toFixed(6)),y(Pt,!1)},()=>{y(Pt,!1)})}let Ri=M(!0),Mi=M(!1),mt=M(""),Mt=M(""),hi=M(""),Ti=M("appearance");const Xi=[{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 ji=wt(()=>Xi.filter($=>{const Z=d(hi).trim().toLowerCase();return!Z||$.label.toLowerCase().includes(Z)||$.terms.some(ie=>ie.includes(Z))}));function Tn($){var Z;y(Ti,$,!0),(Z=document.getElementById("sec-"+$))==null||Z.scrollIntoView({behavior:"smooth",block:"start"})}ao(async()=>{try{const $=await Wg();$.dataDir&&y(i,$.dataDir,!0)}catch{}try{const $=await Dl();if(typeof $.url=="string"&&$.url)try{const Ce=new URL($.url);y(n,Ce.protocol.replace(":",""),!0),y(s,Ce.host,!0)}catch{y(s,$.url,!0)}typeof $.mqttUsername=="string"&&y(r,$.mqttUsername,!0),typeof $.mqttPassword=="string"&&y(a,$.mqttPassword,!0),typeof $.mqttCa=="string"&&y(c,$.mqttCa,!0),typeof $.mqttCert=="string"&&y(u,$.mqttCert,!0),typeof $.mqttKey=="string"&&y(f,$.mqttKey,!0),typeof $.mqttVersion=="string"&&y(w,$.mqttVersion,!0),typeof $.name=="string"&&y(g,$.name,!0),typeof $.variablePrefix=="string"&&y(p,$.variablePrefix,!0),typeof $.disableVariables=="boolean"&&y(m,$.disableVariables,!0),typeof $.port=="number"&&y(x,$.port,!0),typeof $.bindAddress=="string"&&y(k,$.bindAddress,!0),typeof $.auth=="string"&&y(D,$.auth,!0),typeof $.proxyHeader=="string"&&y(A,$.proxyHeader,!0),typeof $.proxyLogoutUrl=="string"&&y(j,$.proxyLogoutUrl,!0),typeof $.dir=="string"&&y(le,$.dir,!0),typeof $.disableWatch=="boolean"&&y(we,$.disableWatch,!0),typeof $.gitAutoCommit=="boolean"&&y(We,$.gitAutoCommit,!0),typeof $.gitAutoPush=="boolean"&&y(ue,$.gitAutoPush,!0),typeof $.latitude=="number"&&y(rt,$.latitude,!0),typeof $.longitude=="number"&&y(me,$.longitude,!0),typeof $.timezone=="string"&&y(et,$.timezone,!0),typeof $.verbosity=="string"&&y(Lt,$.verbosity,!0),typeof $.dbPath=="string"&&y(Oe,$.dbPath,!0),typeof $.dbPrefix=="string"&&y(Se,$.dbPrefix,!0),typeof $.dbPublish=="boolean"&&y(nt,$.dbPublish,!0),typeof $.dbRetain=="boolean"&&y(Ft,$.dbRetain,!0);const Z=$.redis;Z!=null&&Z.url&&y(oi,Z.url,!0);const ie=$.ai;ie!=null&&ie.provider&&y(Rt,ie.provider,!0),ie!=null&&ie.baseUrl&&y(Ct,ie.baseUrl,!0),ie!=null&&ie.model&&y(vi,ie.model,!0),ie!=null&&ie.apiKey&&y(di,ie.apiKey,!0),y(Et,Oi(d(Rt),d(Ct)),!0),Ni=d(Et),y(ri,Object.fromEntries(Object.entries($).filter(([Ce])=>!_i.has(Ce))),!0)}catch($){y(Mt,$.message,!0)}finally{y(Ri,!1)}});async function Fe(){if(y(J,""),y(te,""),d(D)==="password"&&!d(P)){y(J,"A password is required to enable password authentication.");return}y(H,!0);try{await g7(d(D),d(D)==="password"?d(P):void 0,d(D)==="proxy"?d(A):void 0,d(D)==="proxy"?d(j):void 0),y(P,""),y(te,"Authentication settings saved.")}catch($){y(J,$.message,!0)}finally{y(H,!1)}}async function ei(){y(Mt,""),y(mt,"");const $={...d(ri)};d(s)&&($.url=`${d(n)}://${d(s)}`),$.name=d(g),$.variablePrefix=d(p),d(w)&&($.mqttVersion=d(w)),d(m)&&($.disableVariables=!0),d(r)&&($.mqttUsername=d(r)),d(a)&&($.mqttPassword=d(a)),d(c)&&($.mqttCa=d(c)),d(u)&&($.mqttCert=d(u)),d(f)&&($.mqttKey=d(f)),d(x)!==""&&($.port=Number(d(x))),d(k)&&($.bindAddress=d(k)),d(le)&&($.dir=d(le)),d(we)&&($.disableWatch=!0),d(We)&&($.gitAutoCommit=!0),d(ue)&&($.gitAutoPush=!0),d(rt)!==""&&($.latitude=Number(d(rt))),d(me)!==""&&($.longitude=Number(d(me))),d(et)&&($.timezone=d(et)),$.verbosity=d(Lt),d(Oe)&&($.dbPath=d(Oe),d(Se)&&($.dbPrefix=d(Se)),d(nt)&&($.dbPublish=!0,d(Ft)&&($.dbRetain=!0))),d(oi)&&($.redis={url:d(oi)}),d(Rt)&&($.ai={provider:d(Rt),...d(Ct)?{baseUrl:d(Ct)}:{},...d(vi)?{model:d(vi)}:{},...d(di)?{apiKey:d(di)}:{}}),y(Mi,!0);try{const Z=await Zp($);window.dispatchEvent(new CustomEvent("she:config-changed")),y(mt,Z.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Z){y(Mt,Z.message,!0)}finally{y(Mi,!1)}}var ui=XK(),Pi=Dt(ui);Ds(Jf(Pi,{}),$=>ki=$,()=>ki);var $e=b(Pi,2),Ut=v($e),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);pi(qe,21,()=>Xi,$=>$.id,($,Z)=>{var ie=Vs(),Ce=Dt(ie);{var gt=Ie=>{var st=SK();let It;var St=v(st);V(()=>{It=At(st,1,"section-link svelte-767znw",null,It,{active:d(Ti)===d(Z).id}),F(St,d(Z).label)}),G("click",st,()=>Tn(d(Z).id)),E(Ie,st)},Re=wt(()=>d(ji).some(Ie=>Ie.id===d(Z).id));W(Ce,Ie=>{d(Re)&&Ie(gt)})}E($,ie)});var he=b(Ut,2),K=v(he),ae=b(v(K),2);{var xe=$=>{var Z=CK(),ie=v(Z);V(()=>F(ie,d(Mt))),E($,Z)};W(ae,$=>{d(Mt)&&$(xe)})}var Pe=b(ae,2);{var ot=$=>{var Z=xK(),ie=v(Z);V(()=>F(ie,d(mt))),E($,Z)};W(Pe,$=>{d(mt)&&$(ot)})}var R=b(Pe,2),Q=v(R),Y=b(K,2);{var fe=$=>{var Z=kK();E($,Z)},_e=$=>{var Z=ZK(),ie=v(Z);{var Ce=Te=>{var Ge=LK(),Wt=b(v(Ge),2),Je=b(v(Wt),2),bt=v(Je);bt.value=bt.__value="dark";var Kt=b(bt);Kt.value=Kt.__value="light";var q=b(Kt);q.value=q.__value="system",G("change",Je,()=>gK(d(t))),Ho(Je,()=>d(t),ne=>y(t,ne)),E(Te,Ge)},gt=wt(()=>d(ji).some(Te=>Te.id==="appearance"));W(ie,Te=>{d(gt)&&Te(Ce)})}var Re=b(ie,2);{var Ie=Te=>{var Ge=DK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Kt=b(Je,2),q=v(Kt);q.value=q.__value="mqtt";var ne=b(q);ne.value=ne.__value="mqtts";var Ve=b(ne);Ve.value=Ve.__value="ws";var Qe=b(Ve);Qe.value=Qe.__value="wss";var Ae=b(Wt,2),De=v(Ae),zt=b(v(De));Rn(zt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var kt=b(De,2),Ke=b(Ae,2),Vt=v(Ke),tt=b(v(Vt));Rn(tt,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Ee=b(Vt,2),He=b(Ke,2),Be=v(He),ze=b(v(Be));Rn(ze,()=>"MQTT broker password. Stored in plain text in config.json.");var Tt=b(Be,2),ye=b(He,2);{var it=Qn=>{var fa=IK(),ga=Dt(fa),hn=v(ga),Rr=b(v(hn));Rn(Rr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Zs=b(hn,2),ks=b(ga,2),Xs=v(ks),Ar=b(v(Xs));Rn(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));Rn(Go,()=>"PEM-encoded private key matching the client certificate.");var Or=b(Za,2);Xt(Zs,()=>d(c),Fr=>y(c,Fr)),Xt(Ka,()=>d(u),Fr=>y(u,Fr)),Xt(Or,()=>d(f),Fr=>y(f,Fr)),E(Qn,fa)};W(ye,Qn=>{(d(n)==="mqtts"||d(n)==="wss")&&Qn(it)})}var pt=b(ye,2),_t=v(pt),Ze=b(v(_t));Rn(Ze,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var qt=b(_t,2),ii=v(qt);ii.value=ii.__value="";var cn=b(ii);cn.value=cn.__value="5";var en=b(pt,2),Dn=v(en),Jn=b(v(Dn));Rn(Jn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Gi=b(Dn,2),gi=b(en,2),bn=v(gi),ln=b(v(bn));Rn(ln,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var rs=b(bn,2),co=b(gi,2),qo=b(v(co),2),Nr=v(qo),Ga=b(Nr,4);Rn(Ga,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Ho(Kt,()=>d(n),Qn=>y(n,Qn)),Xt(kt,()=>d(s),Qn=>y(s,Qn)),Xt(Ee,()=>d(r),Qn=>y(r,Qn)),Xt(Tt,()=>d(a),Qn=>y(a,Qn)),Ho(qt,()=>d(w),Qn=>y(w,Qn)),Xt(Gi,()=>d(g),Qn=>y(g,Qn)),Xt(rs,()=>d(p),Qn=>y(p,Qn)),Is(Nr,()=>d(m),Qn=>y(m,Qn)),E(Te,Ge)},st=wt(()=>d(ji).some(Te=>Te.id==="mqtt"));W(Re,Te=>{d(st)&&Te(Ie)})}var It=b(Re,2);{var St=Te=>{var Ge=NK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Kt=b(Je,2),q=v(Kt);q.value=q.__value="none";var ne=b(q);ne.value=ne.__value="password";var Ve=b(ne);Ve.value=Ve.__value="proxy";var Qe=b(Wt,2);{var Ae=ze=>{var Tt=EK(),ye=v(Tt),it=v(ye),pt=b(it);Rn(pt,()=>"Set a new password. Leave empty to keep the current password (if already set).");var _t=b(ye,2);V(()=>F(it,`${d(P)?"New password":"Password"} `)),Xt(_t,()=>d(P),Ze=>y(P,Ze)),E(ze,Tt)};W(Qe,ze=>{d(D)==="password"&&ze(Ae)})}var De=b(Qe,2);{var zt=ze=>{var Tt=TK(),ye=Dt(Tt),it=v(ye),pt=b(v(it));Rn(pt,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var _t=b(it,2),Ze=b(ye,2),qt=v(Ze),ii=b(v(qt));Rn(ii,()=>"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 cn=b(qt,2);Xt(_t,()=>d(A),en=>y(A,en)),Xt(cn,()=>d(j),en=>y(j,en)),E(ze,Tt)};W(De,ze=>{d(D)==="proxy"&&ze(zt)})}var kt=b(De,2);{var Ke=ze=>{var Tt=PK(),ye=v(Tt);V(()=>F(ye,d(J))),E(ze,Tt)};W(kt,ze=>{d(J)&&ze(Ke)})}var Vt=b(kt,2);{var tt=ze=>{var Tt=MK(),ye=v(Tt);V(()=>F(ye,d(te))),E(ze,Tt)};W(Vt,ze=>{d(te)&&ze(tt)})}var Ee=b(Vt,2),He=b(v(Ee),2),Be=v(He);V(()=>{He.disabled=d(H)||d(D)==="password"&&!d(P),F(Be,d(H)?"Saving…":"Apply authentication settings")}),Ho(Kt,()=>d(D),ze=>y(D,ze)),G("click",He,Fe),E(Te,Ge)},si=wt(()=>d(ji).some(Te=>Te.id==="auth"));W(It,Te=>{d(si)&&Te(St)})}var ti=b(It,2);{var se=Te=>{var Ge=RK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Kt=b(Je,2),q=b(Wt,2),ne=v(q),Ve=b(v(ne));Rn(Ve,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Qe=b(ne,2);Xt(Kt,()=>d(x),Ae=>y(x,Ae)),Xt(Qe,()=>d(k),Ae=>y(k,Ae)),E(Te,Ge)},Le=wt(()=>d(ji).some(Te=>Te.id==="webserver"));W(ti,Te=>{d(Le)&&Te(se)})}var at=b(ti,2);{var xt=Te=>{var Ge=AK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Kt=b(Je,2),q=b(Wt,2),ne=b(v(q),2),Ve=v(ne),Qe=b(Ve,4);Rn(Qe,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),V(()=>Fi(Kt,"placeholder",`${d(i)??""}/scripts (default)`)),Xt(Kt,()=>d(le),Ae=>y(le,Ae)),Is(Ve,()=>d(we),Ae=>y(we,Ae)),E(Te,Ge)},ht=wt(()=>d(ji).some(Te=>Te.id==="scripts"));W(at,Te=>{d(ht)&&Te(xt)})}var Xe=b(at,2);{var Ht=Te=>{var Ge=OK(),Wt=b(v(Ge),2),Je=b(v(Wt),2),bt=v(Je),Kt=b(bt,4);Rn(Kt,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var q=b(Wt,2),ne=b(v(q),2),Ve=v(ne),Qe=b(Ve,4);Rn(Qe,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Is(bt,()=>d(We),Ae=>y(We,Ae)),Is(Ve,()=>d(ue),Ae=>y(ue,Ae)),E(Te,Ge)},ai=wt(()=>d(ji).some(Te=>Te.id==="git"));W(Xe,Te=>{d(ai)&&Te(Ht)})}var bi=b(Xe,2);{var Di=Te=>{var Ge=HK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Kt=b(Je,2),q=b(Kt,2);pi(q,20,()=>{var _t;return((_t=Intl.supportedValuesOf)==null?void 0:_t.call(Intl,"timeZone"))??[]},rn,(_t,Ze)=>{var qt=rE(),ii=v(qt),cn={};V(()=>{F(ii,Ze),cn!==(cn=Ze)&&(qt.value=(qt.__value=Ze)??"")}),E(_t,qt)});var ne=b(Wt,2),Ve=v(ne),Qe=b(v(Ve));Rn(Qe,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Ae=b(Ve,2),De=b(ne,2),zt=v(De),kt=b(v(zt));Rn(kt,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ke=b(zt,2),Vt=b(De,2),tt=b(v(Vt),2),Ee=v(tt),He=v(Ee);{var Be=_t=>{var Ze=sa("…");E(_t,Ze)},ze=_t=>{var Ze=sa("📍 Use my location");E(_t,Ze)};W(He,_t=>{d(Pt)?_t(Be):_t(ze,-1)})}var Tt=b(Ee,2),ye=v(Tt),it=b(Vt,2);{var pt=_t=>{var Ze=FK(),qt=b(v(Ze),2);Ds(qt,ii=>y(ft,ii),()=>d(ft)),E(_t,Ze)};W(it,_t=>{d(lt)&&_t(pt)})}V(()=>{Ee.disabled=d(Pt),F(ye,d(lt)?"Hide map":"Pick on map")}),Xt(Kt,()=>d(et),_t=>y(et,_t)),Xt(Ae,()=>d(rt),_t=>y(rt,_t)),Xt(Ke,()=>d(me),_t=>y(me,_t)),G("click",Ee,Vi),G("click",Tt,()=>y(lt,!d(lt))),E(Te,Ge)},fn=wt(()=>d(ji).some(Te=>Te.id==="solar"));W(bi,Te=>{d(fn)&&Te(Di)})}var Cn=b(bi,2);{var un=Te=>{var Ge=WK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Kt=b(Je,2),q=v(Kt);q.value=q.__value="debug";var ne=b(q);ne.value=ne.__value="info";var Ve=b(ne);Ve.value=Ve.__value="warn";var Qe=b(Ve);Qe.value=Qe.__value="error",Ho(Kt,()=>d(Lt),Ae=>y(Lt,Ae)),E(Te,Ge)},xi=wt(()=>d(ji).some(Te=>Te.id==="logging"));W(Cn,Te=>{d(xi)&&Te(un)})}var gn=b(Cn,2);{var z=Te=>{var Ge=zK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Kt=b(Je,2),q=b(Wt,2),ne=v(q),Ve=b(v(ne));Rn(Ve,()=>"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 Qe=b(ne,2),Ae=b(q,2),De=b(v(Ae),2);let zt;var kt=v(De),Ke=b(kt,4);Rn(Ke,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var Vt=b(Ae,2);{var tt=Ee=>{var He=BK(),Be=b(v(He),2);let ze;var Tt=v(Be),ye=b(Tt,4);Rn(ye,()=>"When enabled, MQTT messages for document changes are published as retained messages."),V(()=>{ze=At(Be,1,"check-label svelte-767znw",null,ze,{muted:!d(Oe)}),Tt.disabled=!d(Oe)}),Is(Tt,()=>d(Ft),it=>y(Ft,it)),E(Ee,He)};W(Vt,Ee=>{d(nt)&&Ee(tt)})}V(()=>{Fi(Kt,"placeholder",`defaults to ${d(i)??""}/db`),Qe.disabled=!d(Oe),zt=At(De,1,"check-label svelte-767znw",null,zt,{muted:!d(Oe)}),kt.disabled=!d(Oe)}),Xt(Kt,()=>d(Oe),Ee=>y(Oe,Ee)),Xt(Qe,()=>d(Se),Ee=>y(Se,Ee)),Is(kt,()=>d(nt),Ee=>y(nt,Ee)),E(Te,Ge)},ee=wt(()=>d(ji).some(Te=>Te.id==="shedb"));W(gn,Te=>{d(ee)&&Te(z)})}var Ue=b(gn,2);{var Ye=Te=>{var Ge=VK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(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 Kt=b(Je,2);Xt(Kt,()=>d(oi),q=>y(oi,q)),E(Te,Ge)},ge=wt(()=>d(ji).some(Te=>Te.id==="redis"));W(Ue,Te=>{d(ge)&&Te(Ye)})}var ve=b(Ue,2);{var vt=Te=>{var Ge=KK(),Wt=b(v(Ge),2),Je=v(Wt),bt=b(v(Je));Rn(bt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Kt=b(Je,2);pi(Kt,21,()=>Bt,rn,(tt,Ee)=>{var He=rE(),Be=v(He),ze={};V(()=>{F(Be,d(Ee).label),ze!==(ze=d(Ee).id)&&(He.value=(He.__value=d(Ee).id)??"")}),E(tt,He)});var q=b(Wt,2);{var ne=tt=>{var Ee=UK();let He;var Be=v(Ee);{var ze=it=>{var pt=jK(),_t=b(Dt(pt));V(()=>F(_t,` ${d(Si).freeNote??""}`)),E(it,pt)};W(Be,it=>{d(Si).freeNote&&it(ze)})}var Tt=b(Be,2);{var ye=it=>{var pt=$K(),_t=b(Dt(pt));V(()=>Fi(_t,"href",d(Si).apiKeyUrl)),E(it,pt)};W(Tt,it=>{d(Si).apiKeyUrl&&it(ye)})}V(()=>He=At(Ee,1,"preset-note svelte-767znw",null,He,{free:!!d(Si).freeNote})),E(tt,Ee)};W(q,tt=>{var Ee,He;((Ee=d(Si))!=null&&Ee.freeNote||(He=d(Si))!=null&&He.apiKeyUrl)&&tt(ne)})}var Ve=b(q,2);{var Qe=tt=>{var Ee=qK(),He=v(Ee),Be=b(v(He));Rn(Be,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ze=b(He,2);V(()=>{var Tt;return Fi(ze,"placeholder",d(Et)==="ollama"?"http://localhost:11434":d(Et)==="lmstudio"?"http://localhost:1234":((Tt=d(Si))==null?void 0:Tt.baseUrl)??"")}),Xt(ze,()=>d(Ct),Tt=>y(Ct,Tt)),E(tt,Ee)};W(Ve,tt=>{d(Et)!=="anthropic"&&tt(Qe)})}var Ae=b(Ve,2),De=v(Ae),zt=b(v(De));Rn(zt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var kt=b(De,2),Ke=b(Ae,2);{var Vt=tt=>{var Ee=GK(),He=v(Ee),Be=b(v(He));Rn(Be,()=>"Stored in config.json. Not needed for local providers.");var ze=b(He,2);Xt(ze,()=>d(di),Tt=>y(di,Tt)),E(tt,Ee)};W(Ke,tt=>{d(Et)!=="ollama"&&d(Et)!=="lmstudio"&&tt(Vt)})}V(()=>{var tt;return Fi(kt,"placeholder",((tt=d(Si))==null?void 0:tt.defaultModel)||"e.g. llama3.2")}),G("change",Kt,Wi),Ho(Kt,()=>d(Et),tt=>y(Et,tt)),Xt(kt,()=>d(vi),tt=>y(vi,tt)),E(Te,Ge)},Ei=wt(()=>d(ji).some(Te=>Te.id==="ai"));W(ve,Te=>{d(Ei)&&Te(vt)})}E($,Z)};W(Y,$=>{d(Ri)?$(fe):$(_e,-1)})}V(()=>{R.disabled=d(Mi),F(Q,d(Mi)?"Saving…":"Save")}),Xt(Ii,()=>d(hi),$=>y(hi,$)),G("click",R,ei),E(o,ui),Rs()}Ks(["click","change"]);var JK=T("<option> </option>"),QK=T('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),eZ=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 tZ(o,e){Ns(e,!0);let t=M(yi($R())),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)}),$n(()=>{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=eZ(),m=v(w),x=b(v(m),2);pi(x,21,()=>c,rn,(J,le)=>{var we=JK(),We=v(we),ue={};V(()=>{F(We,d(le)),ue!==(ue=d(le))&&(we.value=(we.__value=d(le))??"")}),E(J,we)});var k=b(x,2),D=b(k,2),P=v(D),A=b(D,2),j=v(A),H=b(A,2),te=b(m,2);pi(te,21,()=>d(t).filter(g),J=>J.ts+J.msg,(J,le)=>{var we=QK(),We=v(we),ue=v(We),et=b(We,2),rt=v(et),me=b(et,2),lt=v(me);V((ft,Pt)=>{At(we,1,`line ${d(le).level??""}`,"svelte-18loop9"),F(ue,ft),F(rt,Pt),F(lt,d(le).msg)},[()=>p(d(le).ts),()=>d(le).level.toUpperCase()]),E(J,we)}),Ds(te,J=>i=J,()=>i),Ho(x,()=>d(s),J=>y(s,J)),Xt(k,()=>d(r),J=>y(r,J)),Is(P,()=>d(a),J=>y(a,J)),Is(j,()=>d(n),J=>y(n,J)),G("click",H,f),E(o,w),Rs()}Ks(["click"]);var iZ=T('<span class="chat-model svelte-1twuiul"><!></span>'),nZ=T('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),sZ=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>'),oZ=T('Working on view <code class="svelte-1twuiul"> </code>',1),rZ=T('<button class="chip svelte-1twuiul"> </button>'),aZ=T('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),lZ=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>'),cZ=T('<button class="expand-btn svelte-1twuiul"> </button>'),dZ=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>'),uZ=T('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),hZ=T('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),fZ=T("<div><!></div>"),gZ=T('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),pZ=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>'),_Z=T('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),mZ=T('<div class="chat-error svelte-1twuiul"> </div>'),vZ=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>'),bZ=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>'),yZ=T('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),wZ=T('<button class="send-btn svelte-1twuiul">↑</button>'),SZ=T('<option class="svelte-1twuiul"> </option>'),CZ=T('<select class="model-select svelte-1twuiul"></select>'),xZ=T('<span class="model-name svelte-1twuiul"> </span>'),kZ=T('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),LZ=T('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),IZ=T('<p class="info-status svelte-1twuiul">Loading…</p>'),DZ=T('<p class="info-status info-err svelte-1twuiul"> </p>'),EZ=T('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),TZ=T('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),PZ=T('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),MZ=T('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),NZ=T('<div class="running-model svelte-1twuiul"> </div>'),RZ=T('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),AZ=T('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),OZ=T('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),FZ=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>'),HZ=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 WZ(o,e){Ns(e,!0),pb.registerLanguage("javascript",XR),Un.use({breaks:!0,gfm:!0});let t=Cf(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")??""));$n(()=>{localStorage.setItem(i,JSON.stringify(d(n)))});let p=M(yi(new Set)),w=M(!1),m=M(null),x=M(!1),k=M(""),D=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 j=M(!0),H=M(!0),te=M(!0),J=M(yi([])),le=M(!0),we=M(!1),We,ue=M(yi([])),et=M(0),rt,me;const lt=wt(()=>({apiref:!1,shedb:d(j),sampleDocs:d(H),tools:d(te)})),ft=wt(()=>{var z;return((z=d(u))==null?void 0:z.configured)??!1}),Pt=wt(()=>d(et)+new TextEncoder().encode(d(r)).length),Ne=wt(()=>d(le)?t():null);async function Lt(){try{const z=await WR();y(u,z,!0),z.configured&&!d(g)&&y(g,z.model,!0)}catch{}}$n(()=>(window.addEventListener("she:config-changed",Lt),()=>window.removeEventListener("she:config-changed",Lt))),ao(()=>{Lt()}),$n(()=>{d(g)&&localStorage.setItem("she:selectedModel",d(g))}),$n(()=>{var z;(z=d(u))!=null&&z.provider&&BR().then(ee=>{y(f,ee.models,!0),!d(g)&&ee.models.length>0&&y(g,ee.models[0],!0)}).catch(()=>{})}),$n(()=>{d(g),y(m,null),y(k,"")}),$n(()=>{const z=d(lt),ee=d(Ne),Ue=d(J);d(ft)&&zR({context:z,currentView:ee??null,extraFiles:Ue.length>0?Ue:void 0}).then(Ye=>{y(et,new TextEncoder().encode(Ye.prompt).length,!0)}).catch(()=>{})}),$n(()=>{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)}),$n(()=>{var z;me&&(d(n).length+(((z=d(s))==null?void 0:z.length)??0),requestAnimationFrame(()=>{me&&(me.scrollTop=me.scrollHeight)}))});function Oe(z){const ee=[],Ue=/```(\w*)\n([\s\S]*?)```/g;let Ye=0,ge;for(;(ge=Ue.exec(z))!==null;)ge.index>Ye&&ee.push({type:"text",text:z.slice(Ye,ge.index)}),ee.push({type:"code",lang:ge[1]||"text",text:ge[2].trimEnd()}),Ye=ge.index+ge[0].length;return Ye<z.length&&ee.push({type:"text",text:z.slice(Ye)}),ee}function Se(z){const ee=[],Ue=/```(\w*)\n([\s\S]*?)```/g;let Ye=0,ge;for(;(ge=Ue.exec(z))!==null;)ge.index>Ye&&ee.push({type:"text",text:z.slice(Ye,ge.index)}),ee.push({type:"code",lang:ge[1]||"text",text:ge[2].trimEnd()}),Ye=ge.index+ge[0].length;const ve=z.slice(Ye),vt=ve.match(/```(\w*)\n([\s\S]*)$/);return vt?(vt.index>0&&ee.push({type:"text",text:ve.slice(0,vt.index)}),ee.push({type:"code",lang:vt[1]||"text",text:vt[2]})):ve&&ee.push({type:"text",text:ve}),ee}function nt(z){const ee={};for(const Ue of z)if(Ue.type==="code"){if(Ue.lang==="filter")ee.filter=Ue.text.trim();else if(di(Ue.lang)){const Ye=Ue.text.split(`
223
+ `)[0].trim();Ye==="// @view-map"?ee.map=Ue.text.split(`
224
+ `).slice(1).join(`
225
+ `).trim():Ye==="// @view-reduce"&&(ee.reduce=Ue.text.split(`
226
+ `).slice(1).join(`
227
+ `).trim())}}return ee}function Ft(z){return z.filter!==void 0||z.map!==void 0||z.reduce!==void 0}function oi(z){const ee=[];return z.filter!==void 0&&ee.push("filter"),z.map!==void 0&&ee.push("map"),z.reduce!==void 0&&ee.push("reduce"),`Apply ${ee.join(" + ")}`}const Bt=15;function Et(z){return z.split(`
228
+ `).length>Bt}function Rt(z){const ee=new Set(d(p));ee.has(z)?ee.delete(z):ee.add(z),y(p,ee,!0)}function Ct(z,ee){if(di(ee))try{return pb.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function vi(z){return Un.parse(z)}function di(z){return!z||z==="js"||z==="javascript"}function Li(z){navigator.clipboard.writeText(z).catch(()=>{})}async function Ni(){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 Oi(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:`${z} B`}function Wi(z){const ee=z.match(/\.([^.]+)$/);return ee?ee[1].toUpperCase():"?"}function Si(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return z}}function ri(z){y(J,d(J).filter((ee,Ue)=>Ue!==z),!0)}function _i(){We.click()}async function ki(z){if(!(!z||z.length===0))for(const ee of Array.from(z)){const Ue=await ee.text();y(J,[...d(J),{name:ee.name,content:Ue}],!0)}}function Vi(z){const ee=z.target;ki(ee.files),ee.value=""}function Ri(z){var ee;z.preventDefault(),y(we,!1),ki(((ee=z.dataTransfer)==null?void 0:ee.files)??null)}function Mi(z){var ee;(ee=z.dataTransfer)!=null&&ee.types.includes("Files")&&(z.preventDefault(),y(we,!0))}function mt(){y(we,!1)}async function Mt(){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),D=new AbortController,y(ue,[],!0);try{await VR({messages:d(n),currentView:d(Ne),context:d(lt),modelOverride:d(g)||void 0,extraFiles:d(J).length>0?d(J):void 0},ee=>{y(s,(d(s)??"")+ee)},D.signal,ee=>{y(ue,[...d(ue),ee],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(ue).length>0?[...d(ue)]:void 0}],!0),y(ue,[],!0)}catch(ee){if(ee.name==="AbortError"){const Ue=d(s);Ue!=null&&Ue.trim()&&y(n,[...d(n),{role:"assistant",content:Ue+`
229
+
230
+ *[stopped]*`,toolEvents:d(ue).length>0?[...d(ue)]:void 0}],!0)}else y(c,ee.message,!0)}finally{D=null,y(s,null),y(ue,[],!0),y(a,!1)}}}function hi(){D==null||D.abort()}function Ti(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Mt())}function Xi(){y(n,[],!0),y(c,"")}const ji=["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 Tn(z){y(r,z,!0),rt==null||rt.focus()}var Fe=HZ(),ei=Dt(Fe),ui=v(ei),Pi=b(v(ui),2);{var $e=z=>{var ee=iZ(),Ue=v(ee);{var Ye=ve=>{var vt=sa();V(()=>F(vt,`${d(u).provider??""} · ${(d(g)||d(u).model)??""}`)),E(ve,vt)},ge=ve=>{var vt=sa("Not configured");E(ve,vt)};W(Ue,ve=>{d(ft)?ve(Ye):ve(ge,-1)})}V(()=>Fi(ee,"title",`Provider: ${d(u).provider??""}`)),E(z,ee)};W(Pi,z=>{d(u)&&z($e)})}var Ut=b(Pi,2);{var fi=z=>{var ee=nZ();G("click",ee,Xi),E(z,ee)};W(Ut,z=>{d(n).length>0&&z(fi)})}var Ii=b(ui,2),qe=v(Ii);{var he=z=>{var ee=sZ();E(z,ee)},K=z=>{var ee=aZ(),Ue=v(ee),Ye=v(Ue);{var ge=Ei=>{var Te=oZ(),Ge=b(Dt(Te)),Wt=v(Ge);V(()=>F(Wt,t().id)),E(Ei,Te)},ve=Ei=>{var Te=sa("No view selected. Ask a general sheDB view question.");E(Ei,Te)};W(Ye,Ei=>{t()?Ei(ge):Ei(ve,-1)})}var vt=b(Ue,2);pi(vt,17,()=>ji,rn,(Ei,Te)=>{var Ge=rZ(),Wt=v(Ge);V(()=>F(Wt,d(Te))),G("click",Ge,()=>Tn(d(Te))),E(Ei,Ge)}),E(z,ee)};W(qe,z=>{d(ft)?d(n).length===0&&d(s)===null&&z(K,1):z(he)})}var ae=b(qe,2);pi(ae,17,()=>d(n),rn,(z,ee,Ue)=>{var Ye=fZ(),ge=v(Ye);{var ve=Ei=>{var Te=lZ(),Ge=v(Te);V(()=>F(Ge,d(ee).content)),E(Ei,Te)},vt=Ei=>{const Te=wt(()=>Oe(d(ee).content)),Ge=wt(()=>nt(d(Te)));var Wt=hZ(),Je=Dt(Wt);{var bt=Ae=>{var De=cE();pi(De,21,()=>d(ee).toolEvents,rn,(zt,kt)=>{var Ke=Vs(),Vt=Dt(Ke);{var tt=He=>{var Be=aE(),ze=b(v(Be)),Tt=v(ze);V(ye=>F(Tt,ye),[()=>d(kt).name.replace(/_/g," ")]),E(He,Be)},Ee=He=>{var Be=lE(),ze=b(v(Be)),Tt=v(ze);V(ye=>F(Tt,ye),[()=>d(kt).name.replace(/_/g," ")]),E(He,Be)};W(Vt,He=>{d(kt).type==="tool_call"?He(tt):He(Ee,-1)})}E(zt,Ke)}),E(Ae,De)};W(Je,Ae=>{var De;(De=d(ee).toolEvents)!=null&&De.length&&Ae(bt)})}var Kt=b(Je,2),q=v(Kt);pi(q,17,()=>d(Te),rn,(Ae,De,zt)=>{var kt=Vs(),Ke=Dt(kt);{var Vt=Ee=>{var He=dE();sc(He,()=>vi(d(De).text),!0),E(Ee,He)},tt=Ee=>{const He=wt(()=>`${Ue}:${zt}`),Be=wt(()=>Et(d(De).text)),ze=wt(()=>d(p).has(d(He))),Tt=wt(()=>d(De).lang==="filter");var ye=dZ(),it=v(ye),pt=v(it),_t=v(pt),Ze=b(pt,2),qt=v(Ze),ii=b(it,2);let cn;var en=v(ii),Dn=v(en);sc(Dn,()=>Ct(d(De).text,d(De).lang??""),!0);var Jn=b(en,2);{var Gi=gi=>{var bn=cZ(),ln=v(bn);V(()=>F(ln,d(ze)?"▲ collapse":"▼ expand")),G("click",bn,()=>Rt(d(He))),E(gi,bn)};W(Jn,gi=>{d(Be)&&gi(Gi)})}V(()=>{F(_t,d(Tt)?"filter":d(De).lang),cn=At(ii,1,"code-body svelte-1twuiul",null,cn,{collapsed:d(Be)&&!d(ze)})}),G("click",qt,()=>Li(d(De).text)),E(Ee,ye)};W(Ke,Ee=>{d(De).type==="text"?Ee(Vt):Ee(tt,-1)})}E(Ae,kt)});var ne=b(q,2);{var Ve=Ae=>{var De=uZ(),zt=v(De),kt=v(zt);V(Ke=>F(kt,Ke),[()=>oi(d(Ge))]),G("click",zt,()=>e.onApplyView(d(Ge))),E(Ae,De)},Qe=wt(()=>Ft(d(Ge))&&e.onApplyView);W(ne,Ae=>{d(Qe)&&Ae(Ve)})}E(Ei,Wt)};W(ge,Ei=>{d(ee).role==="user"?Ei(ve):Ei(vt,-1)})}V(()=>At(Ye,1,`message ${d(ee).role??""}`,"svelte-1twuiul")),E(z,Ye)});var xe=b(ae,2);{var Pe=z=>{var ee=cE();pi(ee,21,()=>d(ue),rn,(Ue,Ye)=>{var ge=Vs(),ve=Dt(ge);{var vt=Te=>{var Ge=aE(),Wt=b(v(Ge)),Je=v(Wt);V(bt=>F(Je,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)},Ei=Te=>{var Ge=lE(),Wt=b(v(Ge)),Je=v(Wt);V(bt=>F(Je,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)};W(ve,Te=>{d(Ye).type==="tool_call"?Te(vt):Te(Ei,-1)})}E(Ue,ge)}),E(z,ee)};W(xe,z=>{d(ue).length>0&&z(Pe)})}var ot=b(xe,2);{var R=z=>{var ee=gZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye);V(()=>F(ge,A[d(P)])),E(z,ee)};W(ot,z=>{d(a)&&d(s)===null&&d(ue).length===0&&z(R)})}var Q=b(ot,2);{var Y=z=>{var ee=_Z(),Ue=v(ee);pi(Ue,21,()=>Se(d(s)),rn,(Ye,ge)=>{var ve=Vs(),vt=Dt(ve);{var Ei=Ge=>{var Wt=dE();sc(Wt,()=>vi(d(ge).text),!0),E(Ge,Wt)},Te=Ge=>{var Wt=pZ(),Je=v(Wt),bt=v(Je),Kt=v(bt),q=b(Je,2),ne=v(q);sc(ne,()=>Ct(d(ge).text,d(ge).lang??""),!0),V(()=>F(Kt,d(ge).lang)),E(Ge,Wt)};W(vt,Ge=>{d(ge).type==="text"?Ge(Ei):Ge(Te,-1)})}E(Ye,ve)}),E(z,ee)};W(Q,z=>{d(s)!==null&&z(Y)})}Ds(Ii,z=>me=z,()=>me);var fe=b(Ii,2);{var _e=z=>{var ee=mZ(),Ue=v(ee);V(()=>F(Ue,d(c))),E(z,ee)};W(fe,z=>{d(c)&&z(_e)})}var $=b(fe,2),Z=v($),ie=v(Z),Ce=b(Z,2),gt=v(Ce),Re=b(Ce,2),Ie=v(Re),st=b(Re,2),It=v(st),St=b($,2),si=v(St);{var ti=z=>{var ee=vZ();let Ue;var Ye=b(v(ee),2),ge=v(Ye),ve=b(Ye,2),vt=v(ve);V(()=>{Ue=At(ee,1,"file-chip svelte-1twuiul",null,Ue,{inactive:!d(le)}),F(ge,t().id),Fi(ve,"title",d(le)?"Remove from context":"Re-add to context"),F(vt,d(le)?"×":"+")}),G("click",ve,()=>y(le,!d(le))),E(z,ee)};W(si,z=>{t()&&z(ti)})}var se=b(si,2);pi(se,17,()=>d(J),rn,(z,ee,Ue)=>{const Ye=wt(()=>Wi(d(ee).name));var ge=bZ(),ve=v(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei),Ge=b(Ei,2);V((Wt,Je)=>{At(ve,1,`badge badge-${Wt??""}`,"svelte-1twuiul"),F(vt,Je),F(Te,d(ee).name)},[()=>d(Ye).toLowerCase(),()=>Si(d(Ye))]),G("click",Ge,()=>ri(Ue)),E(z,ge)});var Le=b(se,2),at=b(Le,2);Ds(at,z=>We=z,()=>We);var xt=b(St,2);let ht;var Xe=v(xt);let Ht;var ai=v(Xe);Ds(ai,z=>rt=z,()=>rt);var bi=b(Xe,2);{var Di=z=>{var ee=yZ();G("click",ee,hi),E(z,ee)},fn=z=>{var ee=wZ();V(Ue=>ee.disabled=Ue,[()=>!d(r).trim()||!d(ft)]),G("click",ee,Mt),E(z,ee)};W(bi,z=>{d(a)?z(Di):z(fn,-1)})}var Cn=b(xt,2);{var un=z=>{var ee=LZ(),Ue=v(ee),Ye=v(Ue),ge=b(Ue,2);{var ve=Ge=>{var Wt=CZ();pi(Wt,21,()=>d(f),rn,(Je,bt)=>{var Kt=SZ(),q=v(Kt),ne={};V(()=>{F(q,d(bt)),ne!==(ne=d(bt))&&(Kt.value=(Kt.__value=d(bt))??"")}),E(Je,Kt)}),V(()=>Wt.disabled=d(a)),Ho(Wt,()=>d(g),Je=>y(g,Je)),E(Ge,Wt)},vt=Ge=>{var Wt=xZ(),Je=v(Wt);V(()=>F(Je,d(g)||d(u).model)),E(Ge,Wt)};W(ge,Ge=>{d(f).length>0?Ge(ve):Ge(vt,-1)})}var Ei=b(ge,2);{var Te=Ge=>{var Wt=kZ();G("click",Wt,Ni),E(Ge,Wt)};W(Ei,Ge=>{d(u).provider==="ollama"&&Ge(Te)})}V(()=>F(Ye,d(u).provider)),E(z,ee)};W(Cn,z=>{d(ft)&&d(u)&&z(un)})}var xi=b(ei,2);{var gn=z=>{var ee=FZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye),ve=v(ge),vt=b(ge,2),Ei=b(Ye,2),Te=v(Ei);{var Ge=bt=>{var Kt=IZ();E(bt,Kt)},Wt=bt=>{var Kt=DZ(),q=v(Kt);V(()=>F(q,d(k))),E(bt,Kt)},Je=bt=>{var Kt=OZ(),q=v(Kt);{var ne=Ee=>{var He=EZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).version)),E(Ee,He)};W(q,Ee=>{d(m).version&&Ee(ne)})}var Ve=b(q,2);{var Qe=Ee=>{var He=TZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.family)),E(Ee,He)};W(Ve,Ee=>{var He;(He=d(m).details)!=null&&He.family&&Ee(Qe)})}var Ae=b(Ve,2);{var De=Ee=>{var He=PZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.parameter_size)),E(Ee,He)};W(Ae,Ee=>{var He;(He=d(m).details)!=null&&He.parameter_size&&Ee(De)})}var zt=b(Ae,2);{var kt=Ee=>{var He=MZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.quantization_level)),E(Ee,He)};W(zt,Ee=>{var He;(He=d(m).details)!=null&&He.quantization_level&&Ee(kt)})}var Ke=b(zt,2);{var Vt=Ee=>{var He=RZ(),Be=b(Dt(He),2);pi(Be,21,()=>d(m).running,rn,(ze,Tt)=>{var ye=NZ(),it=v(ye);V(pt=>F(it,`${d(Tt).name??""} · ${pt??""} VRAM`),[()=>Oi(d(Tt).size_vram)]),E(ze,ye)}),E(Ee,He)},tt=Ee=>{var He=AZ();E(Ee,He)};W(Ke,Ee=>{d(m).running&&d(m).running.length>0?Ee(Vt):d(m).running!==null&&Ee(tt,1)})}E(bt,Kt)};W(Te,bt=>{d(x)?bt(Ge):d(k)?bt(Wt,1):d(m)&&bt(Je,2)})}V(()=>{var bt;return F(ve,`Ollama · ${(d(g)||((bt=d(u))==null?void 0:bt.model))??""}`)}),G("click",ee,()=>y(w,!1)),G("click",Ue,bt=>bt.stopPropagation()),G("click",vt,()=>y(w,!1)),E(z,ee)};W(xi,z=>{d(w)&&z(gn)})}V(z=>{F(It,z),ht=At(xt,1,"input-row svelte-1twuiul",null,ht,{"drag-over":d(we)}),Ht=At(Xe,1,"textarea-wrap svelte-1twuiul",null,Ht,{loading:d(a)}),Fi(ai,"placeholder",d(ft)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ai.disabled=d(a)||!d(ft)},[()=>Oi(d(Pt))]),Is(ie,()=>d(j),z=>y(j,z)),Is(gt,()=>d(H),z=>y(H,z)),Is(Ie,()=>d(te),z=>y(te,z)),G("click",Le,_i),G("change",at,Vi),cs("dragover",xt,Mi),cs("dragleave",xt,mt),cs("drop",xt,Ri),G("keydown",ai,Ti),Xt(ai,()=>d(r),z=>y(r,z)),E(o,Fe),Rs()}Ks(["click","change","keydown"]);var BZ=T('<div class="me svelte-1pxdb1"></div>');function gS(o,e){Ns(e,!0);let t=Cf(e,"value",15,""),i=Cf(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()),$n(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=BZ();Ds(a,c=>n=c,()=>n),E(o,a),Rs()}var zZ=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 &mdash; 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),VZ=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>'),jZ=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>'),$Z=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),UZ=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),qZ=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),GZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),KZ=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>'),ZZ=T('<span class="badge-error svelte-rrt0o">error</span>'),XZ=T('<span class="badge-ok svelte-rrt0o"> </span>'),YZ=T('<pre class="result-error svelte-rrt0o"> </pre>'),JZ=T('<pre class="result-json svelte-rrt0o"> </pre>'),QZ=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),eX=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 &nbsp;·&nbsp; 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>'),tX=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),iX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),nX=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>'),sX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function oX(o,e){Ns(e,!0);const t=he=>{var K=zZ(),ae=Dt(K);Ds(Jf(ae,{}),xe=>Si=xe,()=>Si),E(he,K)};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),D=M(null),P=M(!1),A=M(null),j=M("she/db/view/");const H="she-db-panel";let te=M(yi(localStorage.getItem(H)??"docs")),J=M(""),le=M(!1),we=M(null),We=M(""),ue=M(!1),et=M(null);const rt="she-db-sidebar-width";let me=M(yi(parseInt(localStorage.getItem(rt)??"220",10))),lt=!1,ft=0,Pt=0;const Ne="she-db-chat-width",Lt="she-db-chat-open";let Oe=M(localStorage.getItem(Lt)==="true"),Se=M(yi(parseInt(localStorage.getItem(Ne)??"320",10))),nt=!1,Ft=0,oi=0;const Bt=wt(()=>d(f)?{id:d(f),filter:d(g),map:d(p),reduce:d(w)}:null);function Et(he){he.filter!==void 0&&y(g,he.filter,!0),he.map!==void 0&&y(p,he.map,!0),he.reduce!==void 0&&y(w,he.reduce,!0)}$n(()=>{localStorage.setItem(Lt,String(d(Oe)))}),$n(()=>{localStorage.setItem(H,d(te))}),$n(()=>{d(f)?localStorage.setItem(c,d(f)):localStorage.removeItem(c)});function Rt(he){lt=!0,ft=he.clientX,Pt=d(me),he.preventDefault()}function Ct(he){lt&&y(me,Math.max(140,Math.min(500,Pt+he.clientX-ft)),!0),nt&&y(Se,Math.max(240,Math.min(600,oi-(he.clientX-Ft))),!0)}function vi(){lt&&(lt=!1,localStorage.setItem(rt,String(d(me)))),nt&&(nt=!1,localStorage.setItem(Ne,String(d(Se))))}function di(he){nt=!0,Ft=he.clientX,oi=d(Se),he.preventDefault()}async function Li(){try{y(i,await RR(),!0)}catch{}}async function Ni(){try{y(u,await AR(),!0)}catch{}}async function Oi(he){y(n,he,!0),y(a,null),y(r,!0);try{const K=await C7(he);y(s,JSON.stringify(K,null,2),!0)}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}finally{y(r,!1)}}async function Wi(){if(d(n)){y(a,null);try{const he=JSON.parse(d(s));await AD(d(n),he)}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}}let Si;async function ri(){if(d(n)&&await Si.show(`Delete document "${d(n)}"?`,{confirm:"Delete",danger:!0}))try{await x7(d(n)),y(n,null),y(s,"{}")}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}async function _i(){const he=d(J).trim();if(he){y(we,null);try{await AD(he,{}),y(le,!1),y(J,""),await Oi(he)}catch(K){y(we,K instanceof Error?K.message:String(K),!0)}}}async function ki(he){y(f,he,!0),y(A,null),y(P,!0),y(D,null);try{const K=await k7(he);y(g,K.filter??"",!0),y(p,K.map,!0),y(w,K.reduce??"",!0),y(m,K.description??"",!0),y(x,K.mqttpub??!1,!0),y(k,K.retain??!1,!0),y(D,await hS(he).catch(()=>null),!0)}catch(K){y(A,K instanceof Error?K.message:String(K),!0)}finally{y(P,!1)}}async function Vi(){if(d(f)){y(A,null);try{const he={map:d(p)};d(g).trim()&&(he.filter=d(g).trim()),d(w).trim()&&(he.reduce=d(w).trim()),d(m).trim()&&(he.description=d(m).trim()),d(x)&&(he.mqttpub=!0),d(k)&&(he.retain=!0),await OD(d(f),he)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}}async function Ri(){if(d(f))try{y(D,await hS(d(f)),!0)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function Mi(){if(d(f)&&await Si.show(`Delete view "${d(f)}"?`,{confirm:"Delete",danger:!0}))try{await L7(d(f)),y(f,null),y(g,""),y(p,"// emit(this.someProperty)"),y(w,""),y(m,""),y(x,!1),y(k,!1),y(D,null)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function mt(){if(!d(We).trim())return;const he=d(We).trim();y(et,null);try{await OD(he,{map:"// emit(this.someProperty)"}),y(ue,!1),y(We,""),await Ni(),await ki(he)}catch(K){y(et,K instanceof Error?K.message:String(K),!0)}}let Mt=M(""),hi=M(""),Ti=wt(()=>[...d(i)].filter(he=>!d(Mt)||he.toLowerCase().includes(d(Mt).toLowerCase())).sort()),Xi=wt(()=>[...d(u)].filter(he=>!d(hi)||he.toLowerCase().includes(d(hi).toLowerCase())).sort());ao(()=>{Li(),Ni().then(()=>{d(f)&&d(u).includes(d(f))?ki(d(f)):y(f,null)}),Dl().then(Pe=>{const ot=Pe.dbPrefix||"she/db/",R=ot.endsWith("/")?ot:ot+"/";y(j,R+"view/")}).catch(()=>{});const he=kr("db:ids",Pe=>{y(i,Pe.ids??[],!0)}),K=kr("db:viewIds",Pe=>{y(u,Pe.ids??[],!0)}),ae=kr("db:change",async Pe=>{const ot=Pe.id;d(n)===ot&&(Pe.doc===null?(y(n,null),y(s,"{}")):y(s,JSON.stringify(Pe.doc,null,2),!0))}),xe=kr("db:viewUpdate",async Pe=>{const ot=Pe.id;d(f)===ot&&y(D,await hS(ot).catch(()=>null),!0)});return()=>{he(),K(),ae(),xe()}});var ji=sX(),Tn=v(ji),Fe=v(Tn);let ei;var ui=b(Fe,2);let Pi;var $e=b(ui,2);{var Ut=he=>{var K=VZ();let ae;V(()=>{ae=At(K,1,"ai-toggle svelte-rrt0o",null,ae,{"ai-open":d(Oe)}),Fi(K,"title",d(Oe)?"Close AI assistant":"Open AI assistant")}),G("click",K,()=>y(Oe,!d(Oe))),E(he,K)};W($e,he=>{d(te)==="views"&&he(Ut)})}var fi=b(Tn,2);{var Ii=he=>{var K=qZ(),ae=v(K);let xe;var Pe=v(ae),ot=v(Pe),R=b(Pe,2);{var Q=Re=>{var Ie=jZ(),st=Dt(Ie),It=v(st),St=b(It,2),si=b(st,2);{var ti=se=>{var Le=uE(),at=v(Le);V(()=>F(at,d(we))),E(se,Le)};W(si,se=>{d(we)&&se(ti)})}G("keydown",It,se=>se.key==="Enter"&&_i()),Xt(It,()=>d(J),se=>y(J,se)),G("click",St,_i),E(Re,Ie)};W(R,Re=>{d(le)&&Re(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);pi(_e,20,()=>d(Ti),Re=>Re,(Re,Ie)=>{var st=hE();let It;var St=v(st);V(()=>{It=At(st,1,"flat-item svelte-rrt0o",null,It,{"active-item":d(n)===Ie}),F(St,Ie)}),G("click",st,()=>Oi(Ie)),E(Re,st)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Ce=Re=>{var Ie=UZ(),st=Dt(Ie),It=v(st),St=v(It),si=b(It,2),ti=b(si,2),se=b(st,2);{var Le=Xe=>{var Ht=fE(),ai=v(Ht);V(()=>F(ai,d(a))),E(Xe,Ht)};W(se,Xe=>{d(a)&&Xe(Le)})}var at=b(se,2);{var xt=Xe=>{var Ht=gE();E(Xe,Ht)},ht=Xe=>{var Ht=$Z(),ai=v(Ht);gS(ai,{language:"json",get value(){return d(s)},set value(bi){y(s,bi,!0)}}),E(Xe,Ht)};W(at,Xe=>{d(r)?Xe(xt):Xe(ht,-1)})}V(()=>F(St,d(n))),G("click",si,Wi),G("click",ti,ri),E(Re,Ie)},gt=Re=>{t(Re)};W(ie,Re=>{d(n)?Re(Ce):Re(gt,-1)})}V(()=>xe=Fo(ae,"",xe,{width:`${d(me)??""}px`})),G("click",ot,()=>{y(le,!d(le)),y(we,null)}),Xt(fe,()=>d(Mt),Re=>y(Mt,Re)),G("mousedown",$,Rt),E(he,K)},qe=he=>{var K=nX(),ae=v(K);let xe;var Pe=v(ae),ot=v(Pe),R=b(Pe,2);{var Q=st=>{var It=GZ(),St=Dt(It),si=v(St),ti=b(si,2),se=b(St,2);{var Le=at=>{var xt=uE(),ht=v(xt);V(()=>F(ht,d(et))),E(at,xt)};W(se,at=>{d(et)&&at(Le)})}G("keydown",si,at=>at.key==="Enter"&&mt()),Xt(si,()=>d(We),at=>y(We,at)),G("click",ti,mt),E(st,It)};W(R,st=>{d(ue)&&st(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);pi(_e,20,()=>d(Xi),st=>st,(st,It)=>{var St=hE();let si;var ti=v(St);V(()=>{si=At(St,1,"flat-item svelte-rrt0o",null,si,{"active-item":d(f)===It}),F(ti,It)}),G("click",St,()=>ki(It)),E(st,St)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Ce=st=>{var It=tX(),St=Dt(It),si=v(St),ti=v(si),se=b(si,2),Le=b(se,2),at=b(Le,2),xt=b(St,2);{var ht=bi=>{var Di=fE(),fn=v(Di);V(()=>F(fn,d(A))),E(bi,Di)};W(xt,bi=>{d(A)&&bi(ht)})}var Xe=b(xt,2);{var Ht=bi=>{var Di=gE();E(bi,Di)},ai=bi=>{var Di=eX(),fn=v(Di),Cn=b(v(fn),2),un=v(Cn),xi=b(fn,2),gn=b(v(xi),2),z=v(gn),ee=b(xi,2),Ue=b(v(ee),2),Ye=v(Ue);gS(Ye,{language:"javascript",get value(){return d(p)},set value(Qe){y(p,Qe,!0)}});var ge=b(ee,2),ve=b(v(ge),2),vt=v(ve);gS(vt,{language:"javascript",get value(){return d(w)},set value(Qe){y(w,Qe,!0)}});var Ei=b(ge,2),Te=v(Ei),Ge=v(Te),Wt=b(Ge,4),Je=b(v(Wt)),bt=v(Je),Kt=b(Te,2);{var q=Qe=>{var Ae=KZ(),De=v(Ae);Is(De,()=>d(k),zt=>y(k,zt)),E(Qe,Ae)};W(Kt,Qe=>{d(x)&&Qe(q)})}var ne=b(Ei,2);{var Ve=Qe=>{var Ae=QZ(),De=v(Ae),zt=b(v(De));{var kt=He=>{var Be=ZZ();E(He,Be)},Ke=He=>{var Be=XZ(),ze=v(Be);V(()=>F(ze,`${d(D).length??0??""} items · rev ${d(D)._rev??""}`)),E(He,Be)};W(zt,He=>{d(D).error?He(kt):He(Ke,-1)})}var Vt=b(De,2);{var tt=He=>{var Be=YZ(),ze=v(Be);V(()=>F(ze,d(D).error)),E(He,Be)},Ee=He=>{var Be=JZ(),ze=v(Be);V(Tt=>F(ze,Tt),[()=>JSON.stringify(d(D).result,null,2)]),E(He,Be)};W(Vt,He=>{d(D).error?He(tt):He(Ee,-1)})}E(Qe,Ae)};W(ne,Qe=>{d(D)&&Qe(Ve)})}V(()=>F(bt,`${d(j)??""}${d(f)??""} on every update`)),Xt(un,()=>d(m),Qe=>y(m,Qe)),Xt(z,()=>d(g),Qe=>y(g,Qe)),Is(Ge,()=>d(x),Qe=>y(x,Qe)),E(bi,Di)};W(Xe,bi=>{d(P)?bi(Ht):bi(ai,-1)})}V(()=>F(ti,d(f))),G("click",se,Vi),G("click",Le,Ri),G("click",at,Mi),E(st,It)},gt=st=>{t(st)};W(ie,st=>{d(f)?st(Ce):st(gt,-1)})}var Re=b(Z,2);{var Ie=st=>{var It=iX(),St=Dt(It),si=b(St,2);let ti;var se=v(si);WZ(se,{get currentView(){return d(Bt)},onApplyView:Et}),V(()=>ti=Fo(si,"",ti,{width:`${d(Se)??""}px`})),G("mousedown",St,di),E(st,It)};W(Re,st=>{d(Oe)&&st(Ie)})}V(()=>xe=Fo(ae,"",xe,{width:`${d(me)??""}px`})),G("click",ot,()=>{y(ue,!d(ue)),y(et,null)}),Xt(fe,()=>d(hi),st=>y(hi,st)),G("mousedown",$,Rt),E(he,K)};W(fi,he=>{d(te)==="docs"?he(Ii):he(qe,-1)})}V(()=>{ei=At(Fe,1,"svelte-rrt0o",null,ei,{active:d(te)==="docs"}),Pi=At(ui,1,"svelte-rrt0o",null,Pi,{active:d(te)==="views"})}),G("mousemove",ji,Ct),G("mouseup",ji,vi),cs("mouseleave",ji,vi),G("click",Fe,()=>y(te,"docs")),G("click",ui,()=>y(te,"views")),E(o,ji),Rs()}Ks(["mousemove","mouseup","click","keydown","mousedown"]);var rX=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),aX=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>'),lX=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>'),cX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),dX=T('<span class="device-name svelte-1ua3isv"> </span>'),uX=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>'),hX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),fX=T('<p class="info svelte-1ua3isv">Loading…</p>'),gX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),pX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),_X=T('<span class="attr-id svelte-1ua3isv"> </span>'),mX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),vX=T('<div class="attr-actions svelte-1ua3isv"></div>'),bX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),yX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),wX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),SX=T("<!> <!>",1),CX=T('<span class="cmd-list svelte-1ua3isv"></span>'),xX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),kX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),LX=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>'),IX=T('<th class="svelte-1ua3isv"> </th>'),DX=T('<td class="svelte-1ua3isv"> </td>'),EX=T('<tr class="svelte-1ua3isv"></tr>'),TX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),PX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),MX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),NX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),RX=T('<span class="attr-val svelte-1ua3isv"> </span>'),AX=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>'),OX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),FX=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>'),HX=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),WX=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>'),BX=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),zX=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),VX=T('<span class="stream-badge svelte-1ua3isv"> </span>'),jX=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),pS=T('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),$X=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),UX=T('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),qX=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),GX=T('<div class="stream-body svelte-1ua3isv"><!></div>'),KX=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 ZX(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(K,ae,xe,Pe,ot){try{await H7(K,ae,xe,Pe,ot)}catch(R){console.error("matter command failed",R)}}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(K,ae){const xe=n[K];return ae.map(Pe=>{const ot=typeof Pe=="number"?Pe:Number(Pe);return{id:ot,name:(xe==null?void 0:xe[ot])??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(K){return"0x"+K.toString(16).toUpperCase().padStart(4,"0")}let f=M(yi([])),g=yi(new Map);function p(K){if(K==null)return"—";if(typeof K=="boolean"||typeof K=="number")return String(K);if(typeof K=="string")return K.length>50?K.slice(0,47)+"…":K;const ae=JSON.stringify(K);return ae.length>60?ae.slice(0,57)+"…":ae}function w(K){return K==null?"—":typeof K=="boolean"||typeof K=="number"?String(K):typeof K=="string"?K:JSON.stringify(K)}function m(K){return K!==null&&typeof K=="object"&&!Array.isArray(K)}function x(K){return Array.isArray(K)&&K.length>0&&K.every(m)}function k(K,ae){return!!(ae==="attributeList"||Array.isArray(K)&&K.length===0||m(K)&&Object.keys(K).length===0)}function D(K){return new Date(K).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,j=32;let H=0,te=M(yi([])),J=M(!0),le=M(180),we=wt(()=>{const K=Math.max(1,Math.floor((d(le)-j)/A)+1);return d(te).slice(0,K)});function We(K){K.preventDefault();const ae=K.clientY,xe=d(le);function Pe(R){y(le,Math.max(60,Math.min(600,xe+ae-R.clientY)),!0)}function ot(){document.removeEventListener("mousemove",Pe),document.removeEventListener("mouseup",ot)}document.addEventListener("mousemove",Pe),document.addEventListener("mouseup",ot)}let ue=M(null),et=M(!1),rt=M(null),me=M(!1),lt=M("passcode"),ft=M(""),Pt=M(""),Ne=M(""),Lt=M(!1),Oe=M(null),Se=M("");const nt="she:matter:selectedNodeId";async function Ft(){try{y(f,await FR(),!0);for(const K of d(f))Xm(K.nodeId).then(ae=>{g.set(K.nodeId,ae)}).catch(()=>{});if(d(f).length>0&&!d(ue)){const K=localStorage.getItem(nt),ae=K&&d(f).find(xe=>xe.nodeId===K)?K:d(f)[0].nodeId;oi(ae)}}catch{y(f,[],!0)}}async function oi(K){y(et,!0),y(rt,null);try{y(ue,await Xm(K),!0),g.set(K,d(ue)),localStorage.setItem(nt,K)}catch(ae){y(rt,ae instanceof Error?ae.message:String(ae),!0)}finally{y(et,!1)}}let Bt;async function Et(K){var ae;if(await Bt.show(`Unpair device ${K}?`,{confirm:"Unpair",danger:!0}))try{await F7(K),((ae=d(ue))==null?void 0:ae.nodeId)===K&&y(ue,null),await Ft()}catch(xe){y(rt,xe instanceof Error?xe.message:String(xe),!0)}}async function Rt(){y(Lt,!0),y(Oe,null);try{let K;d(lt)==="passcode"?(K={passcode:Number(d(ft))},d(Pt)&&(K={...K,discriminator:Number(d(Pt))})):K={pairingCode:d(Ne).trim()},d(Se).trim()&&(K={...K,discoveryAddress:d(Se).trim()}),await O7(K),y(me,!1),y(ft,""),y(Pt,""),y(Ne,""),y(Se,""),await Ft()}catch(K){y(Oe,K instanceof Error?K.message:String(K),!0)}finally{y(Lt,!1)}}ao(()=>{Ft()});const Ct=kr("matter:deviceList",K=>{if(!Array.isArray(K.devices))return;const ae=K.devices;for(const xe of ae)g.has(xe.nodeId)||Xm(xe.nodeId).then(Pe=>{g.set(xe.nodeId,Pe)}).catch(()=>{});y(f,ae,!0)}),vi=kr("matter:deviceStatus",K=>{if(K.nodeId===void 0)return;const ae=String(K.nodeId),xe=!!K.online;y(f,d(f).map(Pe=>Pe.nodeId===ae?{...Pe,online:xe}:Pe),!0),y(te,[{id:H++,kind:"status",nodeId:ae,online:xe,ts:Date.now()},...d(te).slice(0,P-1)],!0)}),di=kr("matter:attr",K=>{const ae=String(K.nodeId),xe=K.endpointId,Pe=String(K.clusterName),ot=String(K.attrName),R=K.value;if(d(ue)&&d(ue).nodeId===ae){const Y=d(ue).endpoints.find(_e=>_e.endpointId===xe),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[ot]=R)}const Q=g.get(ae);if(Q){const Y=Q.endpoints.find(_e=>_e.endpointId===xe),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[ot]=R)}y(te,[{id:H++,kind:"attr",nodeId:ae,endpointId:xe,clusterName:Pe,attrName:ot,value:R,ts:K.ts??Date.now()},...d(te).slice(0,P-1)],!0)});Wy(()=>{Ct(),vi(),di()});var Li=KX(),Ni=Dt(Li);Ds(Jf(Ni,{}),K=>Bt=K,()=>Bt);var Oi=b(Ni,2),Wi=v(Oi),Si=v(Wi),ri=v(Si),_i=b(v(ri),2),ki=b(ri,2);{var Vi=K=>{var ae=lX(),xe=v(ae),Pe=v(xe);let ot;var R=b(Pe,2);let Q;var Y=b(xe,2);{var fe=Ie=>{var st=rX(),It=Dt(st),St=b(v(It)),si=b(It,2),ti=b(v(si));Xt(St,()=>d(ft),se=>y(ft,se)),Xt(ti,()=>d(Pt),se=>y(Pt,se)),E(Ie,st)},_e=Ie=>{var st=aX(),It=b(v(st));Xt(It,()=>d(Ne),St=>y(Ne,St)),E(Ie,st)};W(Y,Ie=>{d(lt)==="passcode"?Ie(fe):Ie(_e,-1)})}var $=b(Y,2),Z=b(v($)),ie=b($,2);{var Ce=Ie=>{var st=pE(),It=v(st);V(()=>F(It,d(Oe))),E(Ie,st)};W(ie,Ie=>{d(Oe)&&Ie(Ce)})}var gt=b(ie,2),Re=v(gt);V(()=>{ot=At(Pe,1,"svelte-1ua3isv",null,ot,{active:d(lt)==="passcode"}),Q=At(R,1,"svelte-1ua3isv",null,Q,{active:d(lt)==="pairingCode"}),gt.disabled=d(Lt),F(Re,d(Lt)?"Commissioning…":"Commission")}),G("click",Pe,()=>y(lt,"passcode")),G("click",R,()=>y(lt,"pairingCode")),Xt(Z,()=>d(Se),Ie=>y(Se,Ie)),G("click",gt,Rt),E(K,ae)};W(ki,K=>{d(me)&&K(Vi)})}var Ri=b(ki,2),Mi=v(Ri);pi(Mi,17,()=>d(f),K=>K.nodeId,(K,ae)=>{var xe=uX();let Pe;var ot=v(xe),R=v(ot);let Q;var Y=b(R,2),fe=v(Y);{var _e=ie=>{var Ce=cX(),gt=Dt(Ce),Re=v(gt),Ie=b(gt,2),st=v(Ie);V(()=>{F(Re,d(ae).name),F(st,`#${d(ae).nodeId??""}`)}),E(ie,Ce)},$=ie=>{var Ce=dX(),gt=v(Ce);V(()=>F(gt,`Node ${d(ae).nodeId??""}`)),E(ie,Ce)};W(fe,ie=>{d(ae).name?ie(_e):ie($,-1)})}var Z=b(ot,2);V(()=>{var ie;Pe=At(xe,1,"svelte-1ua3isv",null,Pe,{selected:((ie=d(ue))==null?void 0:ie.nodeId)===d(ae).nodeId}),Q=At(R,1,"status-dot svelte-1ua3isv",null,Q,{online:d(ae).online})}),G("click",ot,()=>oi(d(ae).nodeId)),G("click",Z,()=>Et(d(ae).nodeId)),E(K,xe)});var mt=b(Mi,2);{var Mt=K=>{var ae=hX();E(K,ae)};W(mt,K=>{d(f).length===0&&K(Mt)})}var hi=b(Si,2),Ti=v(hi);{var Xi=K=>{var ae=fX();E(K,ae)},ji=K=>{var ae=pE(),xe=v(ae);V(()=>F(xe,d(rt))),E(K,ae)},Tn=K=>{var ae=BX(),xe=Dt(ae),Pe=v(xe),ot=v(Pe),R=b(Pe,2);{var Q=$=>{var Z=gX(),ie=v(Z);V(()=>F(ie,d(ue).subtitle)),E($,Z)};W(R,$=>{d(ue).subtitle&&$(Q)})}var Y=b(R,2),fe=v(Y),_e=b(xe,2);pi(_e,17,()=>d(ue).endpoints,$=>$.endpointId,($,Z)=>{var ie=WX(),Ce=v(ie),gt=v(Ce),Re=b(gt),Ie=v(Re),st=b(Re,2);pi(st,21,()=>d(Z).clusters,rn,(ti,se)=>{var Le=pX(),at=v(Le);V(()=>F(at,d(se).name)),E(ti,Le)});var It=b(Ce,2);{var St=ti=>{var se=FX(),Le=b(v(se));pi(Le,21,()=>d(Z).clusters,rn,(at,xt)=>{var ht=OX(),Xe=Dt(ht),Ht=v(Xe),ai=v(Ht),bi=b(Xe,2);pi(bi,17,()=>Object.entries(d(xt).attrs),rn,(Di,fn)=>{var Cn=wt(()=>NL(d(fn),2));let un=()=>d(Cn)[0],xi=()=>d(Cn)[1];var gn=Vs(),z=Dt(gn);{var ee=Ye=>{const ge=wt(()=>{var Be;return(Be=t[d(xt).name])==null?void 0:Be[un()]}),ve=wt(()=>(un()==="acceptedCommandList"||un()==="generatedCommandList")&&Array.isArray(xi())),vt=wt(()=>{var Be;return((Be=c[d(xt).name])==null?void 0:Be[un()])??a[un()]});var Ei=AX(),Te=v(Ei),Ge=v(Te),Wt=v(Ge),Je=b(Ge);{var bt=Be=>{var ze=_X(),Tt=v(ze);V(ye=>F(Tt,`(${ye??""})`),[()=>u(d(vt))]),E(Be,ze)};W(Je,Be=>{d(vt)!==void 0&&Be(bt)})}var Kt=b(Te),q=v(Kt);{var ne=Be=>{var ze=vX();pi(ze,21,()=>d(ge),rn,(Tt,ye)=>{var it=mX(),pt=v(it);V(()=>F(pt,d(ye).label)),G("click",it,()=>i(d(ue).nodeId,d(Z).endpointId,d(xt).name,d(ye).command,d(ye).args)),E(Tt,it)}),E(Be,ze)};W(q,Be=>{d(ge)&&Be(ne)})}var Ve=b(Kt),Qe=v(Ve);{var Ae=Be=>{var ze=CX();pi(ze,21,()=>s(d(xt).name,xi()),rn,(Tt,ye,it)=>{var pt=SX(),_t=Dt(pt);{var Ze=en=>{var Dn=bX();E(en,Dn)};W(_t,en=>{it>0&&en(Ze)})}var qt=b(_t,2);{var ii=en=>{var Dn=yX(),Jn=Dt(Dn),Gi=v(Jn),gi=b(Jn),bn=v(gi);V(()=>{F(Gi,d(ye).name),F(bn,`(${d(ye).id??""})`)}),E(en,Dn)},cn=en=>{var Dn=wX(),Jn=v(Dn);V(()=>F(Jn,d(ye).id)),E(en,Dn)};W(qt,en=>{d(ye).name?en(ii):en(cn,-1)})}E(Tt,pt)}),E(Be,ze)},De=Be=>{var ze=LX(),Tt=b(v(ze));pi(Tt,21,xi,rn,(ye,it)=>{const pt=wt(()=>d(it)),_t=wt(()=>d(pt).deviceType),Ze=wt(()=>r[d(_t)]);var qt=kX(),ii=v(qt),cn=v(ii);{var en=gi=>{var bn=xX(),ln=Dt(bn),rs=b(ln),co=v(rs);V(qo=>{F(ln,`${d(Ze)??""} `),F(co,`(${qo??""})`)},[()=>u(d(_t))]),E(gi,bn)},Dn=gi=>{var bn=sa();V(ln=>F(bn,ln),[()=>u(d(_t))]),E(gi,bn)};W(cn,gi=>{d(Ze)?gi(en):gi(Dn,-1)})}var Jn=b(ii),Gi=v(Jn);V(gi=>F(Gi,gi),[()=>w(d(pt).revision)]),E(ye,qt)}),E(Be,ze)},zt=wt(()=>un()==="deviceTypeList"&&Array.isArray(xi())),kt=Be=>{const ze=wt(()=>[...new Set(xi().flatMap(_t=>Object.keys(_t)))]);var Tt=TX(),ye=v(Tt),it=v(ye);pi(it,21,()=>d(ze),rn,(_t,Ze)=>{var qt=IX(),ii=v(qt);V(()=>F(ii,d(Ze))),E(_t,qt)});var pt=b(ye);pi(pt,21,xi,rn,(_t,Ze)=>{var qt=EX();pi(qt,21,()=>d(ze),rn,(ii,cn)=>{var en=DX(),Dn=v(en);V(Jn=>F(Dn,Jn),[()=>w(d(Ze)[d(cn)])]),E(ii,en)}),E(_t,qt)}),E(Be,Tt)},Ke=wt(()=>x(xi())),Vt=Be=>{var ze=MX(),Tt=v(ze);pi(Tt,21,()=>Object.entries(xi()),rn,(ye,it)=>{var pt=wt(()=>NL(d(it),2));let _t=()=>d(pt)[0],Ze=()=>d(pt)[1];var qt=PX(),ii=v(qt),cn=v(ii),en=b(ii),Dn=v(en);V(Jn=>{F(cn,_t()),F(Dn,Jn)},[()=>w(Ze())]),E(ye,qt)}),E(Be,ze)},tt=wt(()=>m(xi())),Ee=Be=>{var ze=NX(),Tt=v(ze);V(()=>{Fi(ze,"href",xi()),F(Tt,xi())}),E(Be,ze)},He=Be=>{var ze=RX(),Tt=v(ze);V(ye=>F(Tt,ye),[()=>w(xi())]),E(Be,ze)};W(Qe,Be=>{d(ve)?Be(Ae):d(zt)?Be(De,1):d(Ke)?Be(kt,2):d(tt)?Be(Vt,3):(un()==="productUrl"||un()==="productURL")&&typeof xi()=="string"?Be(Ee,4):Be(He,-1)})}V(()=>{Fi(Te,"title",un()),F(Wt,un())}),E(Ye,Ei)},Ue=wt(()=>!k(xi(),un()));W(z,Ye=>{d(Ue)&&Ye(ee)})}E(Di,gn)}),V(()=>F(ai,d(xt).name)),E(at,ht)}),E(ti,se)},si=ti=>{var se=HX();E(ti,se)};W(It,ti=>{d(Z).clusters.length>0?ti(St):ti(si,-1)})}V(()=>{F(gt,`${d(Z).name??`Endpoint ${d(Z).endpointId}`??""} `),F(Ie,`ep${d(Z).endpointId??""}`)}),E($,ie)}),V(()=>{F(ot,d(ue).name??`Node ${d(ue).nodeId}`),F(fe,`Node ID: ${d(ue).nodeId??""}`)}),E(K,ae)},Fe=K=>{var ae=zX();E(K,ae)};W(Ti,K=>{d(et)?K(Xi):d(rt)?K(ji,1):d(ue)?K(Tn,2):K(Fe,-1)})}var ei=b(Wi,2),ui=v(ei),Pi=b(ui,2),$e=b(v(Pi),2);{var Ut=K=>{var ae=VX(),xe=v(ae);V(()=>F(xe,d(te).length)),E(K,ae)};W($e,K=>{!d(J)&&d(te).length>0&&K(Ut)})}var fi=b($e,2),Ii=v(fi),qe=b(Pi,2);{var he=K=>{var ae=GX(),xe=v(ae);{var Pe=R=>{var Q=jX();E(R,Q)},ot=R=>{var Q=Vs(),Y=Dt(Q);pi(Y,17,()=>d(we),fe=>fe.id,(fe,_e)=>{const $=wt(()=>{var St,si;return((St=g.get(d(_e).nodeId))==null?void 0:St.name)??((si=d(f).find(ti=>ti.nodeId===d(_e).nodeId))==null?void 0:si.name)??null}),Z=wt(()=>{var St,si;return d(_e).endpointId!==void 0?((si=(St=g.get(d(_e).nodeId))==null?void 0:St.endpoints.find(ti=>ti.endpointId===d(_e).endpointId))==null?void 0:si.name)??null:null}),ie=wt(()=>d(_e).attrName??d(_e).clusterName);var Ce=qX(),gt=v(Ce),Re=v(gt),Ie=b(gt,2);{var st=St=>{var si=$X(),ti=b(Dt(si),2),se=v(ti),Le=b(se);{var at=Ht=>{var ai=pS(),bi=b(Dt(ai)),Di=v(bi);V(()=>F(Di,`(#${d(_e).nodeId??""})`)),E(Ht,ai)};W(Le,Ht=>{d($)&&Ht(at)})}var xt=b(ti,2);let ht;var Xe=v(xt);V(()=>{F(se,d($)??`#${d(_e).nodeId}`),ht=At(xt,1,"e-val svelte-1ua3isv",null,ht,{"e-online":d(_e).online,"e-offline":!d(_e).online}),F(Xe,d(_e).online?"online":"offline")}),E(St,si)},It=St=>{var si=UX(),ti=b(Dt(si),2),se=v(ti),Le=b(se);{var at=xi=>{var gn=pS(),z=b(Dt(gn)),ee=v(z);V(()=>F(ee,`(#${d(_e).nodeId??""})`)),E(xi,gn)};W(Le,xi=>{d($)&&xi(at)})}var xt=b(ti,2),ht=v(xt),Xe=b(ht);{var Ht=xi=>{var gn=pS(),z=b(Dt(gn)),ee=v(z);V(()=>F(ee,`(ep ${d(_e).endpointId??""})`)),E(xi,gn)};W(Xe,xi=>{d(Z)&&xi(Ht)})}var ai=b(xt,2),bi=v(ai),Di=b(ai,2),fn=v(Di),Cn=b(Di,2),un=v(Cn);V(xi=>{F(se,d($)??`#${d(_e).nodeId}`),F(ht,d(Z)??`ep${d(_e).endpointId}`),F(bi,d(_e).clusterName),F(fn,d(ie)),F(un,xi)},[()=>p(d(_e).value)]),E(St,si)};W(Ie,St=>{d(_e).kind==="status"?St(st):St(It,-1)})}V(St=>F(Re,St),[()=>D(d(_e).ts)]),E(fe,Ce)}),E(R,Q)};W(xe,R=>{d(we).length===0?R(Pe):R(ot,-1)})}E(K,ae)};W(qe,K=>{d(J)&&K(he)})}V(()=>{Fo(ei,d(J)?`height: ${d(le)}px;`:""),F(Ii,d(J)?"▾":"▸")}),G("click",_i,()=>y(me,!d(me))),G("mousedown",ui,We),G("click",fi,()=>{y(J,!d(J))}),E(o,Li),Rs()}Ks(["click","mousedown"]);var XX=T("<button>›</button>"),YX=T('<span class="chev-ph svelte-1vejtrc"></span>'),JX=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),QX=T('<div class="tc svelte-1vejtrc"></div>'),eY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),tY=T("<option></option>"),iY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),nY=T('<span class="pub-err svelte-1vejtrc"> </span>'),sY=T('<div class="info svelte-1vejtrc">Loading…</div>'),oY=T('<div class="info err svelte-1vejtrc"> </div>'),rY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),aY=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>'),lY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),cY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),dY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),uY=T('<span class="stream-badge"> </span>'),hY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),fY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),gY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),pY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),_Y=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),mY=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>'),vY=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),bY=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 yY(o,e){Ns(e,!0);const t=(se,Le=Ry)=>{const at=wt(()=>d(g).has(Le().path)),xt=wt(()=>d(a)>=0&&Le().children.size>0),ht=wt(()=>d(a)>=0&&Le().isLeaf&&!n.has(Le().path));var Xe=eY(),Ht=v(Xe);let ai;var bi=v(Ht);{var Di=Ye=>{var ge=XX();let ve;V(()=>{ve=At(ge,1,"chev svelte-1vejtrc",null,ve,{open:d(at)}),Fi(ge,"aria-label",d(at)?"Collapse":"Expand")}),G("click",ge,()=>p(Le().path)),E(Ye,ge)},fn=Ye=>{var ge=YX();E(Ye,ge)};W(bi,Ye=>{d(xt)?Ye(Di):Ye(fn,-1)})}var Cn=b(bi,2),un=v(Cn),xi=b(Cn,2);{var gn=Ye=>{var ge=JX(),ve=Dt(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei);V((Ge,Wt,Je)=>{Fi(ve,"title",Ge),F(vt,Wt),F(Te,Je)},[()=>{var Ge;return Oi((Ge=ri(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return Oi((Ge=ri(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return((Ge=ri(Le().path))==null?void 0:Ge.ts)!=null?Wi(ri(Le().path).ts):""}]),E(Ye,ge)},z=wt(()=>Le().isLeaf&&i.has(Le().path));W(xi,Ye=>{d(z)&&Ye(gn)})}var ee=b(Ht,2);{var Ue=Ye=>{var ge=QX();pi(ge,21,()=>[...Le().children.values()].sort((ve,vt)=>ve.seg.localeCompare(vt.seg)),ve=>ve.path,(ve,vt)=>{t(ve,()=>d(vt))}),E(Ye,ge)};W(ee,Ye=>{d(xt)&&d(at)&&Ye(Ue)})}V(()=>{ai=At(Ht,1,"tr svelte-1vejtrc",null,ai,{stale:d(ht)}),F(un,Le().seg)}),G("click",Ht,()=>{y(et,Le().path+"/#")}),G("contextmenu",Ht,Ye=>{Ye.preventDefault(),y(Se,{x:Ye.clientX,y:Ye.clientY,topic:Le().path},!0)}),E(se,Xe)},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 se of s)f(se);s.clear(),OL(a)}))}const u=new Map;function f(se){const Le=se.split("/");let at=u,xt="";for(let ht=0;ht<Le.length;ht++){const Xe=Le[ht];xt=ht===0?Xe:`${xt}/${Xe}`,at.has(Xe)||at.set(Xe,{seg:Xe,path:xt,children:new Map,isLeaf:!1});const Ht=at.get(Xe);ht===Le.length-1&&(Ht.isLeaf=!0),at=Ht.children}}let g=M(yi(new Set));function p(se){const Le=new Set(d(g));Le.has(se)?Le.delete(se):Le.add(se),y(g,Le,!0)}let w=M("");const m=24,x=5;let k=M(0),D=M(300),P=wt(()=>{if(d(a),!d(w))return[];const se=d(w).toLowerCase().split(/\s+/).filter(Boolean),Le=[];for(const[at,xt]of i){const ht=at.toLowerCase();se.every(Xe=>ht.includes(Xe))&&Le.push({topic:at,...xt})}return Le.sort((at,xt)=>at.topic.localeCompare(xt.topic))}),A=wt(()=>{const se=d(P).length,Le=Math.max(0,Math.floor(d(k)/m)-x),at=Math.min(se,Math.ceil((d(k)+d(D))/m)+x);return{start:Le,end:at,totalH:se*m,top:Le*m}});const j=1e3,H=200,te=20,J=36;let le=0,we=M(yi([])),We=M(yi([])),ue=M(!0),et=M("#"),rt=M(200);$n(()=>{const se=d(et).trim(),Le=Rl(()=>d(we)),at=!se||se==="#"?Le.slice(0,H):Le.filter(xt=>me(se,xt.topic)).slice(0,H);if(se&&se!=="#"){const xt=new Set(at.map(Xe=>Xe.topic)),ht=[];for(const[Xe,Ht]of i)xt.has(Xe)||me(se,Xe)&&ht.push({id:-(ht.length+1),topic:Xe,val:Ht.val,ts:Ht.ts,retained:!0});ht.sort((Xe,Ht)=>Xe.topic.localeCompare(Ht.topic)),y(We,[...at,...ht],!0)}else y(We,at,!0)});function me(se,Le){if(se==="#")return!0;const at=se.split("/"),xt=Le.split("/");for(let ht=0;ht<at.length;ht++){if(at[ht]==="#")return!0;if(ht>=xt.length||at[ht]!=="+"&&at[ht]!==xt[ht])return!1}return at.length===xt.length}function lt(se){se.preventDefault();const Le=se.clientY,at=d(rt);function xt(Xe){y(rt,Math.max(60,Math.min(800,at+Le-Xe.clientY)),!0)}function ht(){document.removeEventListener("mousemove",xt),document.removeEventListener("mouseup",ht)}document.addEventListener("mousemove",xt),document.addEventListener("mouseup",ht)}let ft=wt(()=>{const se=Math.max(1,Math.floor((d(rt)-J)/te)+1);return d(We).slice(0,se)}),Pt=M(!0),Ne=M(null);async function Lt(){y(Pt,!0),y(Ne,null);try{const se=await HR();for(const Le of se)i.set(Le.topic,{val:Le.val,ts:Le.ts}),f(Le.topic)}catch(se){y(Ne,se instanceof Error?se.message:String(se),!0)}finally{y(Pt,!1),OL(a)}}const Oe=kr("mqtt",se=>{const{topic:Le,val:at,ts:xt}=se;i.set(Le,{val:at,ts:xt}),n.add(Le),s.add(Le),c();const ht={id:le++,topic:Le,val:at,ts:xt};y(we,[ht,...d(we).slice(0,j-1)],!0);const Xe=d(et).trim();(!Xe||Xe==="#"||me(Xe,Le))&&y(We,[ht,...d(We).filter(Ht=>!(Ht.retained&&Ht.topic===Le)).slice(0,H-1)],!0)});let Se=M(null),nt=M(null);async function Ft(se,Le){const at=[se];if(Le){const xt=se+"/";for(const ht of i.keys())ht.startsWith(xt)&&at.push(ht)}for(const xt of at)await HD(xt,"",!0,0)}let oi=wt(()=>(d(a),[...i.keys()].sort())),Bt=M(""),Et=M(""),Rt=M(!1),Ct=M(0),vi=M(!1),di=M(null),Li=M(!1);async function Ni(){if(d(Bt)){y(vi,!0),y(di,null),y(Li,!1);try{await HD(d(Bt),d(Et),d(Rt),d(Ct)),y(Li,!0),setTimeout(()=>{y(Li,!1)},2e3)}catch(se){y(di,se instanceof Error?se.message:String(se),!0)}finally{y(vi,!1)}}}function Oi(se){return se==null?"":typeof se=="object"?JSON.stringify(se):String(se)}function Wi(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Si(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ri(se){return d(a),i.get(se)}let _i=wt(()=>(d(a),[...u.values()].sort((se,Le)=>se.seg.localeCompare(Le.seg)))),ki=wt(()=>(d(a),i.size));ao(Lt),Wy(()=>{Oe(),r!==null&&cancelAnimationFrame(r)});var Vi=bY(),Ri=b(v(Vi),2),Mi=v(Ri),mt=v(Mi),Mt=b(mt,2);pi(Mt,20,()=>d(oi),se=>se,(se,Le)=>{var at=tY(),xt={};V(()=>{xt!==(xt=Le)&&(at.value=(at.__value=Le)??"")}),E(se,at)});var hi=b(Mt,2),Ti=b(hi,2),Xi=v(Ti),ji=b(Ti,2),Tn=v(ji);Tn.value=Tn.__value=0;var Fe=b(Tn);Fe.value=Fe.__value=1;var ei=b(Fe);ei.value=ei.__value=2;var ui=b(ji,2),Pi=b(ui,2);{var $e=se=>{var Le=iY();E(se,Le)};W(Pi,se=>{d(Li)&&se($e)})}var Ut=b(Pi,2);{var fi=se=>{var Le=nY(),at=v(Le);V(()=>F(at,d(di))),E(se,Le)};W(Ut,se=>{d(di)&&se(fi)})}var Ii=b(Mi,2),qe=v(Ii),he=b(qe,2),K=v(he);{var ae=se=>{var Le=sa();V(()=>F(Le,`${d(P).length??""} /`)),E(se,Le)};W(K,se=>{d(w)&&se(ae)})}var xe=b(K),Pe=b(Ii,2);{var ot=se=>{var Le=sY();E(se,Le)},R=se=>{var Le=oY(),at=v(Le);V(()=>F(at,d(Ne))),E(se,Le)},Q=se=>{var Le=Vs(),at=Dt(Le);{var xt=Xe=>{var Ht=rY();E(Xe,Ht)},ht=Xe=>{var Ht=lY(),ai=v(Ht),bi=v(ai);pi(bi,21,()=>d(P).slice(d(A).start,d(A).end),Di=>Di.topic,(Di,fn)=>{var Cn=aY(),un=v(Cn),xi=v(un),gn=b(un,2),z=v(gn),ee=b(gn,2),Ue=v(ee);V((Ye,ge,ve)=>{F(xi,d(fn).topic),Fi(gn,"title",Ye),F(z,ge),F(Ue,ve)},[()=>Oi(d(fn).val),()=>Oi(d(fn).val),()=>Wi(d(fn).ts)]),E(Di,Cn)}),V(()=>{Fo(ai,`height: ${d(A).totalH??""}px; position: relative;`),Fo(bi,`top: ${d(A).top??""}px;`)}),cs("scroll",Ht,Di=>{y(k,Di.currentTarget.scrollTop,!0)}),$H(Ht,"clientHeight",Di=>y(D,Di)),E(Xe,Ht)};W(at,Xe=>{d(P).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)},Y=se=>{var Le=dY(),at=v(Le);{var xt=Xe=>{var Ht=cY();E(Xe,Ht)},ht=Xe=>{var Ht=Vs(),ai=Dt(Ht);pi(ai,17,()=>d(_i),bi=>bi.path,(bi,Di)=>{t(bi,()=>d(Di))}),E(Xe,Ht)};W(at,Xe=>{d(_i).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)};W(Pe,se=>{d(Pt)?se(ot):d(Ne)?se(R,1):d(w)?se(Q,2):se(Y,-1)})}var fe=b(Ri,2),_e=v(fe),$=b(_e,2),Z=v($),ie=b(Z,2);{var Ce=se=>{var Le=uY(),at=v(Le);V(()=>F(at,d(We).length)),E(se,Le)};W(ie,se=>{!d(ue)&&d(We).length>0&&se(Ce)})}var gt=b(ie,2),Re=v(gt),Ie=b($,2);{var st=se=>{var Le=pY(),at=v(Le);{var xt=Xe=>{var Ht=hY();E(Xe,Ht)},ht=Xe=>{var Ht=Vs(),ai=Dt(Ht);pi(ai,17,()=>d(ft),bi=>bi.id,(bi,Di)=>{var fn=gY();let Cn;var un=v(fn),xi=v(un),gn=b(un,2);{var z=ve=>{var vt=fY();E(ve,vt)};W(gn,ve=>{d(Di).retained&&ve(z)})}var ee=b(gn,2),Ue=v(ee),Ye=b(ee,2),ge=v(Ye);V((ve,vt,Ei)=>{Cn=At(fn,1,"sr svelte-1vejtrc",null,Cn,{retained:d(Di).retained}),F(xi,ve),F(Ue,d(Di).topic),Fi(Ye,"title",vt),F(ge,Ei)},[()=>Si(d(Di).ts),()=>Oi(d(Di).val),()=>Oi(d(Di).val)]),E(bi,fn)}),E(Xe,Ht)};W(at,Xe=>{d(ft).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)};W(Ie,se=>{d(ue)&&se(st)})}var It=b(fe,2);{var St=se=>{var Le=_Y(),at=Dt(Le),xt=b(at,2);let ht;var Xe=v(xt),Ht=b(Xe,2);V(()=>ht=Fo(xt,"",ht,{left:`${d(Se).x??""}px`,top:`${d(Se).y??""}px`})),G("click",at,()=>y(Se,null)),G("contextmenu",at,ai=>{ai.preventDefault(),y(Se,null)}),G("click",Xe,()=>{navigator.clipboard.writeText(d(Se).topic),y(Se,null)}),G("click",Ht,()=>{const ai=d(Se).topic,bi=ai+"/",Di=[...i.keys()].some(fn=>fn.startsWith(bi));y(nt,{topic:ai,hasChildren:Di,recursive:!1},!0),y(Se,null)}),E(se,Le)};W(It,se=>{d(Se)&&se(St)})}var si=b(It,2);{var ti=se=>{var Le=vY(),at=Dt(Le),xt=b(at,2),ht=b(v(xt),2),Xe=v(ht),Ht=b(v(Xe)),ai=v(Ht),bi=b(Xe,2);{var Di=xi=>{var gn=mY(),z=v(gn);Is(z,()=>d(nt).recursive,ee=>d(nt).recursive=ee),E(xi,gn)};W(bi,xi=>{d(nt).hasChildren&&xi(Di)})}var fn=b(ht,2),Cn=v(fn),un=b(Cn,2);V(()=>F(ai,d(nt).topic)),G("click",at,()=>y(nt,null)),G("click",Cn,()=>y(nt,null)),G("click",un,()=>{const{topic:xi,recursive:gn}=d(nt);y(nt,null),Ft(xi,gn)}),E(se,Le)};W(si,se=>{d(nt)&&se(ti)})}V(()=>{ui.disabled=d(vi)||!d(Bt),F(xe,` ${d(ki)??""}`),Fo(fe,d(ue)?`height: ${d(rt)}px;`:""),F(Re,d(ue)?"▾":"▸")}),Xt(mt,()=>d(Bt),se=>y(Bt,se)),Xt(hi,()=>d(Et),se=>y(Et,se)),Is(Xi,()=>d(Rt),se=>y(Rt,se)),Ho(ji,()=>d(Ct),se=>y(Ct,se)),G("click",ui,Ni),Xt(qe,()=>d(w),se=>y(w,se)),G("mousedown",_e,lt),Xt(Z,()=>d(et),se=>y(et,se)),G("click",gt,()=>{y(ue,!d(ue))}),E(o,Vi),Rs()}Ks(["click","contextmenu","mousedown"]);var wY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),SY=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>'),CY=T('<div class="err svelte-twakcj"> </div>'),xY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),kY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),LY=T('<p class="empty svelte-twakcj">No match.</p>'),IY=T("<span> </span>"),DY=VP('<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>'),EY=VP('<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>'),TY=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>'),PY=T('<span class="result-author svelte-twakcj"> </span>'),MY=T('<span class="result-date svelte-twakcj"> </span>'),NY=T('<span class="result-desc svelte-twakcj"> </span>'),RY=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>'),AY=T('<div class="results-list svelte-twakcj"></div>'),OY=T('<pre class="npm-output svelte-twakcj"> </pre>'),FY=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>`),HY=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 WY(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(Fe=>Fe.name.toLowerCase().includes(d(i).toLowerCase())):d(t)),k=wt(()=>Object.keys(d(n)).filter(Fe=>!d(s).includes(Fe)).length);ao(async()=>{await Promise.all([D(),P(),A()])});async function D(){try{y(t,await I7(),!0),y(p,"")}catch(Fe){y(p,Fe.message,!0)}}async function P(){try{y(n,await OR(),!0)}catch{}}async function A(){try{const Fe=await Dl();y(s,Array.isArray(Fe.pinnedPackages)?Fe.pinnedPackages:[],!0)}catch{}}async function j(Fe){const ei=d(s).includes(Fe)?d(s).filter(ui=>ui!==Fe):[...d(s),Fe];y(s,ei,!0);try{const ui=await Dl();await Zp({...ui,pinnedPackages:ei})}catch{}}async function H(){y(r,!0);try{y(n,await M7(),!0)}catch{}finally{y(r,!1)}}async function te(){const Fe=d(a).trim();if(!Fe){y(c,[],!0);return}y(g,!0),y(p,"");try{y(c,await D7(Fe),!0)}catch(ei){y(p,ei.message,!0)}finally{y(g,!1)}}function J(Fe){if(!Fe)return"";try{return new Date(Fe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function le(Fe,ei){m[Fe]=!0,y(p,""),y(w,"");try{const ui=await E7(Fe,ei);y(w,ui.stdout||ui.stderr||"Done.",!0),y(u,!0),await D()}catch(ui){y(p,ui.message,!0)}finally{m[Fe]=!1}}async function we(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const ei=await T7(Fe);y(w,ei.stdout||ei.stderr||"Done.",!0),y(u,!0);const ui={...d(n)};delete ui[Fe],y(n,ui,!0),await D()}catch(ei){y(p,ei.message,!0)}finally{m[Fe]=!1}}async function We(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const ei=await P7(Fe);y(w,ei.stdout||ei.stderr||"Done.",!0),y(u,!0);const ui={...d(n)};delete ui[Fe],y(n,ui,!0),await D()}catch(ei){y(p,ei.message,!0)}finally{m[Fe]=!1}}let ue;async function et(){if(await ue.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){y(f,!0);try{await NR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var rt=HY(),me=Dt(rt);Ds(Jf(me,{}),Fe=>ue=Fe,()=>ue);var lt=b(me,2),ft=v(lt);{var Pt=Fe=>{var ei=wY();E(Fe,ei)},Ne=Fe=>{var ei=SY(),ui=b(v(ei));G("click",ui,et),E(Fe,ei)};W(ft,Fe=>{d(f)?Fe(Pt):d(u)&&Fe(Ne,1)})}var Lt=b(ft,2);{var Oe=Fe=>{var ei=CY(),ui=v(ei);V(()=>F(ui,d(p))),E(Fe,ei)};W(Lt,Fe=>{d(p)&&Fe(Oe)})}var Se=b(Lt,2),nt=v(Se),Ft=v(nt),oi=b(v(Ft),2),Bt=v(oi),Et=b(oi,2);{var Rt=Fe=>{var ei=xY(),ui=v(ei);V(()=>F(ui,`${d(k)??""} outdated`)),E(Fe,ei)};W(Et,Fe=>{d(k)>0&&Fe(Rt)})}var Ct=b(Et,2),vi=v(Ct);let di;var Li=b(Ft,2),Ni=v(Li),Oi=b(Li,2),Wi=v(Oi);{var Si=Fe=>{var ei=kY();E(Fe,ei)},ri=Fe=>{var ei=LY();E(Fe,ei)},_i=Fe=>{var ei=Vs(),ui=Dt(ei);pi(ui,17,()=>d(x),Pi=>Pi.name,(Pi,$e)=>{var Ut=TY();let fi;var Ii=v(Ut),qe=v(Ii),he=v(qe),K=b(qe,2),ae=v(K),xe=b(K,2);{var Pe=Ce=>{var gt=IY();let Re;var Ie=v(gt);V(st=>{Re=At(gt,1,"dep-latest svelte-twakcj",null,Re,st),F(Ie,`→ v${d(n)[d($e).name].latest??""}`)},[()=>({"dep-latest--pinned":d(s).includes(d($e).name)})]),E(Ce,gt)};W(xe,Ce=>{d(n)[d($e).name]&&Ce(Pe)})}var ot=b(Ii,2),R=v(ot);let Q;var Y=b(R,2);let fe;var _e=v(Y);{var $=Ce=>{var gt=DY();E(Ce,gt)},Z=Ce=>{var gt=EY();E(Ce,gt)};W(_e,Ce=>{m[d($e).name]?Ce($):Ce(Z,-1)})}var ie=b(Y,2);V((Ce,gt,Re)=>{fi=At(Ut,1,"dep-row svelte-twakcj",null,fi,{"dep-busy":!!m[d($e).name]}),Fi(qe,"href",d($e).url??`https://www.npmjs.com/package/${d($e).name}`),F(he,d($e).name),F(ae,d($e).installedVersion??d($e).version),Q=At(R,1,"icon-btn svelte-twakcj",null,Q,Ce),Fi(R,"title",gt),fe=At(Y,1,"icon-btn svelte-twakcj",null,fe,Re),Y.disabled=!!m[d($e).name],Fi(Y,"title",d(n)[d($e).name]?`Update to v${d(n)[d($e).name].latest}`:"Update to latest"),ie.disabled=!!m[d($e).name]},[()=>({"icon-btn--pinned":d(s).includes(d($e).name)}),()=>d(s).includes(d($e).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!d(n)[d($e).name]&&!d(s).includes(d($e).name)})]),G("click",R,()=>j(d($e).name)),G("click",Y,()=>We(d($e).name)),G("click",ie,()=>we(d($e).name)),E(Pi,Ut)}),E(Fe,ei)};W(Wi,Fe=>{d(t).length===0?Fe(Si):d(x).length===0?Fe(ri,1):Fe(_i,-1)})}var ki=b(nt,2),Vi=b(v(ki),2),Ri=v(Vi),Mi=b(Ri,2),mt=v(Mi),Mt=b(Vi,2);{var hi=Fe=>{var ei=AY();pi(ei,21,()=>d(c),ui=>ui.name,(ui,Pi)=>{var $e=RY(),Ut=v($e),fi=v(Ut),Ii=v(fi),qe=b(fi,2),he=v(qe),K=b(qe,2);{var ae=fe=>{var _e=PY(),$=v(_e);V(()=>F($,d(Pi).author)),E(fe,_e)};W(K,fe=>{d(Pi).author&&fe(ae)})}var xe=b(K,2);{var Pe=fe=>{var _e=MY(),$=v(_e);V(Z=>{Fi(_e,"title",d(Pi).date),F($,Z)},[()=>J(d(Pi).date)]),E(fe,_e)};W(xe,fe=>{d(Pi).date&&fe(Pe)})}var ot=b(xe,2);{var R=fe=>{var _e=NY(),$=v(_e);V(()=>F($,d(Pi).description)),E(fe,_e)};W(ot,fe=>{d(Pi).description&&fe(R)})}var Q=b(Ut,2),Y=v(Q);V(()=>{Fi(fi,"href",d(Pi).url??`https://www.npmjs.com/package/${d(Pi).name}`),F(Ii,d(Pi).name),F(he,d(Pi).version),Q.disabled=!!m[d(Pi).name],F(Y,m[d(Pi).name]?"Installing…":"Install")}),G("click",Q,()=>le(d(Pi).name)),E(ui,$e)}),E(Fe,ei)};W(Mt,Fe=>{d(c).length>0&&Fe(hi)})}var Ti=b(Mt,2);{var Xi=Fe=>{var ei=OY(),ui=v(ei);V(()=>F(ui,d(w))),E(Fe,ei)};W(Ti,Fe=>{d(w)&&Fe(Xi)})}var ji=b(Ti,2);{var Tn=Fe=>{var ei=FY();E(Fe,ei)};W(ji,Fe=>{!d(c).length&&!d(w)&&Fe(Tn)})}V(()=>{F(Bt,d(t).length),Ct.disabled=d(r),di=At(vi,0,"svelte-twakcj",null,di,{spinning:d(r)}),Mi.disabled=d(g),F(mt,d(g)?"Searching…":"Search")}),G("click",Ct,H),Xt(Ni,()=>d(i),Fe=>y(i,Fe)),G("keydown",Ri,Fe=>Fe.key==="Enter"&&te()),Xt(Ri,()=>d(a),Fe=>y(a,Fe)),G("click",Mi,te),E(o,rt),Rs()}Ks(["click","keydown"]);var Ul=T('<div class="err svelte-3itf14"> </div>'),BY=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>'),zY=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>'),VY=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>'),jY=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>'),$Y=T('<div class="empty svelte-3itf14">No roles found.</div>'),UY=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>'),GY=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>'),KY=T('<div class="empty svelte-3itf14">No groups found.</div>'),ZY=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>'),XY=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>'),YY=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>'),JY=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>'),QY=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>'),eJ=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>'),tJ=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>'),iJ=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>'),nJ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),sJ=T("<option> </option>"),oJ=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>'),rJ=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>'),aJ=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 lJ(o,e){Ns(e,!0);let t=M(yi([])),i=M(yi([])),n=M(yi([])),s=M(""),r=M(""),a=M(""),c=M("users"),u=M(!1),f=M(""),g=M(""),p=M(!1),w=M(""),m=M(!1),x=M(!1),k=M(""),D=M(""),P=M(""),A=M(!1),j=M(!1),H=M(""),te=M(""),J=M(!1),le=M(null),we=M(!1),We=M("publishClientSend"),ue=M(""),et=M(!0),rt=M(""),me=M(!1),lt=M(""),ft=M(""),Pt=M(!1);const Ne=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Lt(){var qe,he,K;try{const[ae,xe,Pe]=await Promise.allSettled([j7(),G7(),J7()]);ae.status==="fulfilled"?(y(t,ae.value.users,!0),y(s,"")):y(s,((qe=ae.reason)==null?void 0:qe.message)??"Failed to load users",!0),xe.status==="fulfilled"?(y(i,xe.value.roles,!0),y(r,"")):y(r,((he=xe.reason)==null?void 0:he.message)??"Failed to load roles",!0),Pe.status==="fulfilled"?(y(n,Pe.value.groups,!0),y(a,"")):y(a,((K=Pe.reason)==null?void 0:K.message)??"Failed to load groups",!0)}catch{}}ao(()=>{Lt()});async function Oe(){y(w,""),y(m,!0);try{await $7(d(f),d(g)),y(f,""),y(g,""),y(u,!1),await Lt()}catch(qe){y(w,qe.message??"Failed to create user",!0)}finally{y(m,!1)}}async function Se(qe){if(confirm(`Delete user "${qe}"?`))try{await U7(qe),await Lt()}catch(he){y(s,he.message,!0)}}async function nt(qe){y(k,qe,!0),y(D,""),y(P,""),y(x,!0)}async function Ft(){y(P,""),y(A,!0);try{await q7(d(k),d(D)),y(x,!1)}catch(qe){y(P,qe.message,!0)}finally{y(A,!1)}}async function oi(){y(te,""),y(J,!0);try{await K7(d(H)),y(H,""),y(j,!1),await Lt()}catch(qe){y(te,qe.message??"Failed to create role",!0)}finally{y(J,!1)}}async function Bt(qe){var he;if(confirm(`Delete role "${qe}"?`))try{await Z7(qe),((he=d(le))==null?void 0:he.rolename)===qe&&(y(le,null),y(we,!1)),await Lt()}catch(K){y(r,K.message,!0)}}function Et(qe){y(le,qe,!0),y(we,!0),y(We,"publishClientSend"),y(ue,""),y(et,!0),y(rt,"")}async function Rt(){if(d(le)){y(rt,"");try{await X7(d(le).rolename,{acltype:d(We),topic:d(ue),allow:d(et)}),y(ue,""),await Lt(),y(le,d(i).find(qe=>qe.rolename===d(le).rolename)??d(le),!0)}catch(qe){y(rt,qe.message,!0)}}}async function Ct(qe,he,K){try{await Y7(qe,he,K),await Lt(),y(le,d(i).find(ae=>ae.rolename===qe)??d(le),!0)}catch(ae){y(rt,ae.message,!0)}}async function vi(){y(ft,""),y(Pt,!0);try{await Q7(d(lt)),y(lt,""),y(me,!1),await Lt()}catch(qe){y(ft,qe.message??"Failed to create group",!0)}finally{y(Pt,!1)}}async function di(qe){if(confirm(`Delete group "${qe}"?`))try{await eq(qe),await Lt()}catch(he){y(a,he.message,!0)}}var Li=aJ(),Ni=Dt(Li),Oi=v(Ni),Wi=v(Oi);let Si;var ri=b(Wi,2);let _i;var ki=b(ri,2);let Vi;var Ri=b(ki,2),Mi=b(Oi,2);{var mt=qe=>{var he=jY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(s))),E(Y,fe)};W(xe,Y=>{d(s)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=BY();E(Y,fe)},Q=Y=>{var fe=VY(),_e=b(v(fe));pi(_e,21,()=>d(t),rn,($,Z)=>{var ie=zY(),Ce=v(ie),gt=v(Ce),Re=b(Ce);pi(Re,21,()=>d(Z).roles??[],rn,(si,ti)=>{var se=_E(),Le=v(se);V(()=>F(Le,d(ti).rolename)),E(si,se)});var Ie=b(Re);pi(Ie,21,()=>d(Z).groups??[],rn,(si,ti)=>{var se=mE(),Le=v(se);V(()=>F(Le,d(ti).groupname)),E(si,se)});var st=b(Ie),It=v(st),St=b(It,2);V(()=>F(gt,d(Z).username)),G("click",It,()=>nt(d(Z).username)),G("click",St,()=>Se(d(Z).username)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(t).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(u,!0),y(w,"")}),E(qe,he)};W(Mi,qe=>{d(c)==="users"&&qe(mt)})}var Mt=b(Mi,2);{var hi=qe=>{var he=GY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(r))),E(Y,fe)};W(xe,Y=>{d(r)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=$Y();E(Y,fe)},Q=Y=>{var fe=qY(),_e=b(v(fe));pi(_e,21,()=>d(i),rn,($,Z)=>{var ie=UY(),Ce=v(ie),gt=v(Ce),Re=b(Ce),Ie=v(Re),st=b(Re),It=v(st),St=b(It,2);V(()=>{var si;F(gt,d(Z).rolename),F(Ie,((si=d(Z).acls)==null?void 0:si.length)??0)}),G("click",It,()=>Et(d(Z))),G("click",St,()=>Bt(d(Z).rolename)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(i).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(j,!0),y(te,""),y(H,"")}),E(qe,he)};W(Mt,qe=>{d(c)==="roles"&&qe(hi)})}var Ti=b(Mt,2);{var Xi=qe=>{var he=YY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(a))),E(Y,fe)};W(xe,Y=>{d(a)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=KY();E(Y,fe)},Q=Y=>{var fe=XY(),_e=b(v(fe));pi(_e,21,()=>d(n),rn,($,Z)=>{var ie=ZY(),Ce=v(ie),gt=v(Ce),Re=b(Ce);pi(Re,21,()=>d(Z).clients??[],rn,(St,si)=>{var ti=_E(),se=v(ti);V(()=>F(se,d(si).username)),E(St,ti)});var Ie=b(Re);pi(Ie,21,()=>d(Z).roles??[],rn,(St,si)=>{var ti=mE(),se=v(ti);V(()=>F(se,d(si).rolename)),E(St,ti)});var st=b(Ie),It=v(st);V(()=>F(gt,d(Z).groupname)),G("click",It,()=>di(d(Z).groupname)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(n).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(me,!0),y(ft,""),y(lt,"")}),E(qe,he)};W(Ti,qe=>{d(c)==="groups"&&qe(Xi)})}var ji=b(Ni,2);{var Tn=qe=>{var he=JY(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2),ot=b(v(Pe)),R=v(ot),Q=b(R,2),Y=v(Q),fe=b(Pe,2);{var _e=gt=>{var Re=Ul(),Ie=v(Re);V(()=>F(Ie,d(w))),E(gt,Re)};W(fe,gt=>{d(w)&&gt(_e)})}var $=b(fe,2),Z=v($),ie=b(Z,2),Ce=v(ie);V(()=>{Fi(R,"type",d(p)?"text":"password"),F(Y,d(p)?"Hide":"Show"),ie.disabled=d(m)||!d(f)||!d(g),F(Ce,d(m)?"Creating…":"Create")}),Xt(xe,()=>d(f),gt=>y(f,gt)),Xt(R,()=>d(g),gt=>y(g,gt)),G("click",Q,()=>y(p,!d(p))),G("click",Z,()=>y(u,!1)),G("click",ie,Oe),E(qe,he)};W(ji,qe=>{d(u)&&qe(Tn)})}var Fe=b(ji,2);{var ei=qe=>{var he=QY(),K=v(he),ae=v(K),xe=b(v(ae)),Pe=v(xe),ot=b(ae,2),R=b(v(ot)),Q=b(ot,2);{var Y=ie=>{var Ce=Ul(),gt=v(Ce);V(()=>F(gt,d(P))),E(ie,Ce)};W(Q,ie=>{d(P)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{F(Pe,d(k)),$.disabled=d(A)||!d(D),F(Z,d(A)?"Saving…":"Set password")}),Xt(R,()=>d(D),ie=>y(D,ie)),G("click",_e,()=>y(x,!1)),G("click",$,Ft),E(qe,he)};W(Fe,qe=>{d(x)&&qe(ei)})}var ui=b(Fe,2);{var Pi=qe=>{var he=eJ(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2);{var ot=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(te))),E(_e,$)};W(Pe,_e=>{d(te)&&_e(ot)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(J)||!d(H),F(fe,d(J)?"Creating…":"Create")}),Xt(xe,()=>d(H),_e=>y(H,_e)),G("click",Q,()=>y(j,!1)),G("click",Y,oi),E(qe,he)};W(ui,qe=>{d(j)&&qe(Pi)})}var $e=b(ui,2);{var Ut=qe=>{var he=oJ(),K=v(he),ae=v(K),xe=b(v(ae)),Pe=v(xe),ot=b(ae,2);{var R=st=>{var It=iJ(),St=b(v(It));pi(St,21,()=>d(le).acls??[],rn,(si,ti)=>{var se=tJ(),Le=v(se),at=v(Le),xt=b(Le),ht=v(xt),Xe=b(xt),Ht=v(Xe),ai=b(Xe),bi=v(ai);V(()=>{F(at,d(ti).acltype),F(ht,d(ti).topic),F(Ht,d(ti).allow?"✓":"✗")}),G("click",bi,()=>Ct(d(le).rolename,d(ti).acltype,d(ti).topic)),E(si,se)}),E(st,It)},Q=st=>{var It=nJ();E(st,It)};W(ot,st=>{var It;(((It=d(le).acls)==null?void 0:It.length)??0)>0?st(R):st(Q,-1)})}var Y=b(ot,2),fe=v(Y);pi(fe,21,()=>Ne,rn,(st,It)=>{var St=sJ(),si=v(St),ti={};V(()=>{F(si,d(It)),ti!==(ti=d(It))&&(St.value=(St.__value=d(It))??"")}),E(st,St)});var _e=b(fe,2),$=b(_e,2),Z=v($),ie=b($,2),Ce=b(Y,2);{var gt=st=>{var It=Ul(),St=v(It);V(()=>F(St,d(rt))),E(st,It)};W(Ce,st=>{d(rt)&&st(gt)})}var Re=b(Ce,2),Ie=v(Re);V(()=>{F(Pe,d(le).rolename),ie.disabled=!d(ue)}),Ho(fe,()=>d(We),st=>y(We,st)),Xt(_e,()=>d(ue),st=>y(ue,st)),Is(Z,()=>d(et),st=>y(et,st)),G("click",ie,Rt),G("click",Ie,()=>y(we,!1)),E(qe,he)};W($e,qe=>{d(we)&&d(le)&&qe(Ut)})}var fi=b($e,2);{var Ii=qe=>{var he=rJ(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2);{var ot=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(ft))),E(_e,$)};W(Pe,_e=>{d(ft)&&_e(ot)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(Pt)||!d(lt),F(fe,d(Pt)?"Creating…":"Create")}),Xt(xe,()=>d(lt),_e=>y(lt,_e)),G("click",Q,()=>y(me,!1)),G("click",Y,vi),E(qe,he)};W(fi,qe=>{d(me)&&qe(Ii)})}V(()=>{Si=At(Wi,1,"svelte-3itf14",null,Si,{active:d(c)==="users"}),_i=At(ri,1,"svelte-3itf14",null,_i,{active:d(c)==="roles"}),Vi=At(ki,1,"svelte-3itf14",null,Vi,{active:d(c)==="groups"})}),G("click",Wi,()=>y(c,"users")),G("click",ri,()=>y(c,"roles")),G("click",ki,()=>y(c,"groups")),G("click",Ri,Lt),E(o,Li),Rs()}Ks(["click"]);var vE=T('<div class="err svelte-9i68x"> </div>'),cJ=T('<div class="ok svelte-9i68x">Saved.</div>'),dJ=T('<div class="reload-msg svelte-9i68x"> </div>'),uJ=T('<div class="loading svelte-9i68x">Loading…</div>'),hJ=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>'),fJ=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>'),gJ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),pJ=T('<div class="cards svelte-9i68x"><!> <!></div>'),_J=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 &amp; Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function mJ(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 W7(),!0),y(u,JSON.parse(JSON.stringify(d(t).listeners)),!0),y(f,d(t).checksum,!0),y(i,"")}catch(Se){y(i,Se.message??"Failed to load broker config",!0)}}function p(){y(u,[...d(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(Se){y(u,d(u).filter((nt,Ft)=>Ft!==Se),!0)}async function m(){if(d(t)){y(n,!0),y(s,""),y(r,!1);try{await B7({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(Se){y(s,Se.message??"Save failed",!0)}finally{y(n,!1)}}}async function x(){y(a,!0),y(c,"");try{const Se=await z7();y(c,Se.stderr||Se.stdout||"Reloaded",!0)}catch(Se){y(c,"Error: "+(Se.message??"reload failed"))}finally{y(a,!1)}}function k(Se){var nt,Ft,oi,Bt;return!!((nt=Se.tls)!=null&&nt.certfile||(Ft=Se.tls)!=null&&Ft.keyfile||(oi=Se.tls)!=null&&oi.capath||(Bt=Se.tls)!=null&&Bt.cafile)}function D(Se,nt){nt||(Se.tls={}),y(u,[...d(u)],!0)}var P=_J(),A=v(P),j=b(v(A),2),H=v(j),te=b(H,2),J=v(te),le=b(te,2),we=v(le),We=b(A,2);{var ue=Se=>{var nt=vE(),Ft=v(nt);V(()=>F(Ft,d(i))),E(Se,nt)};W(We,Se=>{d(i)&&Se(ue)})}var et=b(We,2);{var rt=Se=>{var nt=vE(),Ft=v(nt);V(()=>F(Ft,d(s))),E(Se,nt)};W(et,Se=>{d(s)&&Se(rt)})}var me=b(et,2);{var lt=Se=>{var nt=cJ();E(Se,nt)};W(me,Se=>{d(r)&&Se(lt)})}var ft=b(me,2);{var Pt=Se=>{var nt=dJ(),Ft=v(nt);V(()=>F(Ft,d(c))),E(Se,nt)};W(ft,Se=>{d(c)&&Se(Pt)})}var Ne=b(ft,2);{var Lt=Se=>{var nt=uJ();E(Se,nt)},Oe=Se=>{var nt=pJ(),Ft=v(nt);pi(Ft,17,()=>d(u),rn,(Et,Rt,Ct)=>{var vi=fJ(),di=v(vi),Li=v(di),Ni=v(Li),Oi=b(Li,2),Wi=b(di,2),Si=v(Wi),ri=b(v(Si)),_i=b(Si,2),ki=b(v(_i)),Vi=v(ki);Vi.value=Vi.__value="mqtt";var Ri=b(Vi);Ri.value=Ri.__value="websockets";var Mi=b(_i,2),mt=b(v(Mi)),Mt=b(Wi,2),hi=v(Mt),Ti=v(hi),Xi=b(Mt,2);{var ji=Fe=>{var ei=hJ(),ui=v(ei),Pi=v(ui),$e=b(v(Pi)),Ut=b(Pi,2),fi=b(v(Ut)),Ii=b(ui,2),qe=v(Ii),he=b(v(qe)),K=b(qe,2),ae=b(v(K)),xe=b(Ii,2),Pe=v(xe),ot=b(v(Pe)),R=b(Pe,2),Q=b(v(R)),Y=v(Q);Y.value=Y.__value="";var fe=b(Y);fe.value=fe.__value="tlsv1.3";var _e=b(fe);_e.value=_e.__value="tlsv1.2";var $=b(xe,2),Z=v($),ie=v(Z),Ce=b(Z,2),gt=v(Ce);Xt($e,()=>d(Rt).tls.certfile,Re=>d(Rt).tls.certfile=Re),Xt(fi,()=>d(Rt).tls.keyfile,Re=>d(Rt).tls.keyfile=Re),Xt(he,()=>d(Rt).tls.cafile,Re=>d(Rt).tls.cafile=Re),Xt(ae,()=>d(Rt).tls.capath,Re=>d(Rt).tls.capath=Re),Xt(ot,()=>d(Rt).tls.crlfile,Re=>d(Rt).tls.crlfile=Re),Ho(Q,()=>d(Rt).tls.tls_version,Re=>d(Rt).tls.tls_version=Re),Is(ie,()=>d(Rt).tls.require_certificate,Re=>d(Rt).tls.require_certificate=Re),Is(gt,()=>d(Rt).tls.use_identity_as_username,Re=>d(Rt).tls.use_identity_as_username=Re),E(Fe,ei)},Tn=wt(()=>k(d(Rt)));W(Xi,Fe=>{d(Tn)&&Fe(ji)})}V(Fe=>{F(Ni,`Port ${d(Rt).port??""}`),Dg(Ti,Fe)},[()=>k(d(Rt))]),G("click",Oi,()=>w(Ct)),Xt(ri,()=>d(Rt).port,Fe=>d(Rt).port=Fe),Ho(ki,()=>d(Rt).protocol,Fe=>d(Rt).protocol=Fe),Xt(mt,()=>d(Rt).bindAddress,Fe=>d(Rt).bindAddress=Fe),G("change",Ti,Fe=>D(d(Rt),Fe.target.checked)),E(Et,vi)});var oi=b(Ft,2);{var Bt=Et=>{var Rt=gJ();E(Et,Rt)};W(oi,Et=>{d(u).length===0&&Et(Bt)})}E(Se,nt)};W(Ne,Se=>{d(t)===null&&!d(i)?Se(Lt):Se(Oe,-1)})}V(()=>{te.disabled=d(n),F(J,d(n)?"Saving…":"Save"),le.disabled=d(a),F(we,d(a)?"Reloading…":"Apply & Reload")}),G("click",H,p),G("click",te,m),G("click",le,x),E(o,P),Rs()}Ks(["click","change"]);var fh=T('<div class="err svelte-9auejo"> </div>'),vJ=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>'),bJ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),yJ=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>'),wJ=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>'),SJ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),CJ=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>'),xJ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),kJ=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>'),LJ=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>'),IJ=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>'),DJ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),EJ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),TJ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),PJ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),MJ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),NJ=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),RJ=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>'),AJ=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>'),OJ=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>'),FJ=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>'),HJ=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>'),WJ=T('<button class="btn-primary svelte-9auejo"> </button>'),BJ=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>'),zJ=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),VJ=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),jJ=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>'),$J=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>'),UJ=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 qJ(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),D=M(!1),P=M(""),A=M(null),j=M(!1),H=M(""),te=M(365),J=M(!1),le=M(""),we=M(null),We=M(!1),ue=M(""),et=M(!1),rt=M(""),me=M("");async function lt(){try{const[$e,Ut,fi,Ii]=await Promise.allSettled([tq(),nq(),oq(),lq()]);$e.status==="fulfilled"&&y(i,$e.value.ca,!0),Ut.status==="fulfilled"&&y(n,Ut.value.server,!0),fi.status==="fulfilled"&&y(s,fi.value.certs,!0),Ii.status==="fulfilled"&&y(r,Ii.value.certs,!0),y(a,"")}catch($e){y(a,$e.message,!0)}}ao(()=>{lt()});async function ft(){y(p,""),y(g,!0);try{await iq({cn:d(u),days:d(f)}),y(c,!1),await lt()}catch($e){y(p,$e.message,!0)}finally{y(g,!1)}}async function Pt(){y(P,""),y(D,!0),y(A,null);try{const $e=d(x).split(",").map(fi=>fi.trim()).filter(Boolean),Ut=await sq({cn:d(m),san:$e,days:d(k)});y(A,Ut,!0),await lt()}catch($e){y(P,$e.message,!0)}finally{y(D,!1)}}async function Ne(){y(le,""),y(J,!0),y(we,null);try{const $e=await rq({cn:d(H),days:d(te)});y(we,$e,!0),y(H,""),await lt()}catch($e){y(le,$e.message,!0)}finally{y(J,!1)}}async function Lt($e){if(confirm(`Revoke certificate for "${$e.cn}" (serial ${$e.serial})?`))try{await aq($e.serial),await lt()}catch(Ut){y(me,Ut.message,!0)}}async function Oe(){y(rt,""),y(et,!0);try{await cq(d(ue)),y(ue,""),y(We,!1),await lt()}catch($e){y(rt,$e.message,!0)}finally{y(et,!1)}}async function Se($e){if(confirm("Remove this trusted CA cert?"))try{await dq($e),await lt()}catch(Ut){y(me,Ut.message,!0)}}function nt($e){const Ut=new Date($e).getTime()-Date.now();return Ut<0?"expired":Ut<30*864e5?"expiring":""}function Ft($e){return new Date($e).toLocaleDateString()}var oi=UJ(),Bt=Dt(oi),Et=v(Bt),Rt=v(Et);let Ct;var vi=b(Rt,2);let di;var Li=b(vi,2);let Ni;var Oi=b(Li,2);let Wi;var Si=b(Oi,2),ri=b(Et,2);{var _i=$e=>{var Ut=fh(),fi=v(Ut);V(()=>F(fi,d(a))),E($e,Ut)};W(ri,$e=>{d(a)&&$e(_i)})}var ki=b(ri,2);{var Vi=$e=>{var Ut=fh(),fi=v(Ut);V(()=>F(fi,d(me))),E($e,Ut)};W(ki,$e=>{d(me)&&$e(Vi)})}var Ri=b(ki,2);{var Mi=$e=>{var Ut=yJ(),fi=v(Ut),Ii=b(v(fi),2),qe=v(Ii),he=b(fi,2);{var K=xe=>{var Pe=vJ(),ot=v(Pe),R=b(v(ot)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(ot,2),ie=v(Z);V((Ce,gt,Re)=>{F(Q,d(i).cn),F(fe,d(i).fingerprint),At(_e,1,Ce,"svelte-9auejo"),F($,gt),Fi(ie,"href",`data:application/x-pem-file;charset=utf-8,${Re??""}`)},[()=>J_(nt(d(i).expires)),()=>Ft(d(i).expires),()=>encodeURIComponent(d(i).crt)]),E(xe,Pe)},ae=xe=>{var Pe=bJ();E(xe,Pe)};W(he,xe=>{d(i)?xe(K):xe(ae,-1)})}V(()=>F(qe,d(i)?"Regenerate CA":"Generate CA")),G("click",Ii,()=>{y(c,!0),y(p,"")}),E($e,Ut)},mt=$e=>{var Ut=CJ(),fi=v(Ut),Ii=b(v(fi),2),qe=v(Ii),he=b(fi,2);{var K=xe=>{var Pe=wJ(),ot=v(Pe),R=b(v(ot)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e);V((Z,ie)=>{F(Q,d(n).cn),F(fe,d(n).fingerprint),At(_e,1,Z,"svelte-9auejo"),F($,ie)},[()=>J_(nt(d(n).expires)),()=>Ft(d(n).expires)]),E(xe,Pe)},ae=xe=>{var Pe=SJ();E(xe,Pe)};W(he,xe=>{d(n)?xe(K):xe(ae,-1)})}V(()=>F(qe,d(n)?"Regenerate":"Generate server cert")),G("click",Ii,()=>{y(w,!0),y(P,""),y(A,null)}),E($e,Ut)},Mt=$e=>{var Ut=IJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);{var he=ae=>{var xe=xJ();E(ae,xe)},K=ae=>{var xe=LJ(),Pe=b(v(xe));pi(Pe,21,()=>d(r),rn,(ot,R)=>{var Q=kJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Ce=b(Z),gt=v(Ce);V((Re,Ie,st)=>{F(fe,d(R).cn),F($,`${Re??""}…`),At(Z,1,Ie,"svelte-9auejo"),F(ie,st)},[()=>d(R).fingerprint.slice(0,29),()=>J_(nt(d(R).expires)),()=>Ft(d(R).expires)]),G("click",gt,()=>Se(d(R).fingerprint)),E(ot,Q)}),E(ae,xe)};W(qe,ae=>{d(r).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(We,!0),y(rt,""),y(ue,"")}),E($e,Ut)},hi=$e=>{var Ut=OJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);{var he=ae=>{var xe=DJ();E(ae,xe)},K=ae=>{var xe=AJ(),Pe=b(v(xe));pi(Pe,21,()=>d(s),rn,(ot,R)=>{var Q=RJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Ce=b(Z),gt=v(Ce),Re=b(Ce),Ie=v(Re);{var st=ht=>{var Xe=EJ();E(ht,Xe)},It=ht=>{var Xe=TJ();E(ht,Xe)},St=wt(()=>nt(d(R).expires)==="expired"),si=ht=>{var Xe=PJ();E(ht,Xe)},ti=wt(()=>nt(d(R).expires)==="expiring"),se=ht=>{var Xe=MJ();E(ht,Xe)};W(Ie,ht=>{d(R).revoked?ht(st):d(St)?ht(It,1):d(ti)?ht(si,2):ht(se,-1)})}var Le=b(Re),at=v(Le);{var xt=ht=>{var Xe=NJ(),Ht=Dt(Xe),ai=b(Ht,2),bi=b(ai,2),Di=b(bi,2);V((fn,Cn,un)=>{Fi(Ht,"href",fn),Fi(Ht,"download",`${d(R).cn??""}.p12`),Fi(ai,"href",Cn),Fi(ai,"download",`${d(R).cn??""}.crt`),Fi(bi,"href",un),Fi(bi,"download",`${d(R).cn??""}.key`)},[()=>Qc(d(R).serial,"p12"),()=>Qc(d(R).serial,"crt"),()=>Qc(d(R).serial,"key")]),G("click",Di,()=>Lt(d(R))),E(ht,Xe)};W(at,ht=>{d(R).revoked||ht(xt)})}V((ht,Xe,Ht)=>{F(fe,d(R).cn),F($,d(R).serial),F(ie,ht),At(Ce,1,Xe,"svelte-9auejo"),F(gt,Ht)},[()=>new Date(d(R).issued).toLocaleDateString(),()=>J_(d(R).revoked?"":nt(d(R).expires)),()=>Ft(d(R).expires)]),E(ot,Q)}),E(ae,xe)};W(qe,ae=>{d(s).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(j,!0),y(le,""),y(we,null),y(H,""),y(te,365)}),E($e,Ut)};W(Ri,$e=>{d(t)==="ca"?$e(Mi):d(t)==="server"?$e(mt,1):d(t)==="trusted"?$e(Mt,2):d(t)==="clients"&&$e(hi,3)})}var Ti=b(Bt,2);{var Xi=$e=>{var Ut=FJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2);{var xe=Y=>{var fe=fh(),_e=v(fe);V(()=>F(_e,d(p))),E(Y,fe)};W(ae,Y=>{d(p)&&Y(xe)})}var Pe=b(ae,2),ot=v(Pe),R=b(ot,2),Q=v(R);V(()=>{R.disabled=d(g)||!d(u),F(Q,d(g)?"Generating…":"Generate")}),Xt(qe,()=>d(u),Y=>y(u,Y)),Xt(K,()=>d(f),Y=>y(f,Y)),G("click",ot,()=>y(c,!1)),G("click",R,ft),E($e,Ut)};W(Ti,$e=>{d(c)&&$e(Xi)})}var ji=b(Ti,2);{var Tn=$e=>{var Ut=BJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2),xe=b(v(ae)),Pe=b(ae,2);{var ot=Z=>{var ie=fh(),Ce=v(ie);V(()=>F(Ce,d(P))),E(Z,ie)};W(Pe,Z=>{d(P)&&Z(ot)})}var R=b(Pe,2);{var Q=Z=>{var ie=HJ(),Ce=b(v(ie),2),gt=b(v(Ce)),Re=v(gt),Ie=b(gt,3),st=v(Ie),It=b(Ie,3),St=v(It);V(()=>{F(Re,d(A).certPath),F(st,d(A).keyPath),F(St,d(A).fingerprint)}),E(Z,ie)};W(R,Z=>{d(A)&&Z(Q)})}var Y=b(R,2),fe=v(Y),_e=b(fe,2);{var $=Z=>{var ie=WJ(),Ce=v(ie);V(()=>{ie.disabled=d(D)||!d(m),F(Ce,d(D)?"Generating…":"Generate")}),G("click",ie,Pt),E(Z,ie)};W(_e,Z=>{d(A)||Z($)})}Xt(qe,()=>d(m),Z=>y(m,Z)),Xt(K,()=>d(x),Z=>y(x,Z)),Xt(xe,()=>d(k),Z=>y(k,Z)),G("click",fe,()=>y(w,!1)),E($e,Ut)};W(ji,$e=>{d(w)&&$e(Tn)})}var Fe=b(ji,2);{var ei=$e=>{var Ut=jJ(),fi=v(Ut),Ii=b(v(fi),2);{var qe=K=>{var ae=zJ(),xe=Dt(ae),Pe=b(v(xe)),ot=b(xe,2),R=b(v(ot)),Q=b(ot,2);{var Y=ie=>{var Ce=fh(),gt=v(Ce);V(()=>F(gt,d(le))),E(ie,Ce)};W(Q,ie=>{d(le)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{$.disabled=d(J)||!d(H),F(Z,d(J)?"Issuing…":"Issue")}),Xt(Pe,()=>d(H),ie=>y(H,ie)),Xt(R,()=>d(te),ie=>y(te,ie)),G("click",_e,()=>y(j,!1)),G("click",$,Ne),E(K,ae)},he=K=>{var ae=VJ(),xe=Dt(ae),Pe=v(xe),ot=b(v(Pe)),R=v(ot),Q=b(Pe,2),Y=b(v(Q)),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(_e,3),ie=v(Z),Ce=b(Z,4),gt=v(Ce),Re=v(gt),Ie=b(Q,2),st=v(Ie),It=b(st,2),St=b(It,2),si=b(St,2),ti=b(xe,2),se=v(ti);V((Le,at,xt,ht,Xe)=>{F(R,d(we).cn),F(fe,d(we).serial),F($,d(we).fingerprint),F(ie,Le),F(Re,d(we).passphrase),Fi(st,"href",at),Fi(st,"download",`${d(we).cn??""}.p12`),Fi(It,"href",xt),Fi(It,"download",`${d(we).cn??""}.crt`),Fi(St,"href",ht),Fi(St,"download",`${d(we).cn??""}.key`),Fi(si,"href",Xe)},[()=>Ft(d(we).expires),()=>Qc(d(we).serial,"p12"),()=>Qc(d(we).serial,"crt"),()=>Qc(d(we).serial,"key"),()=>Qc(d(we).serial,"ca")]),G("click",se,()=>y(j,!1)),E(K,ae)};W(Ii,K=>{d(we)?K(he,-1):K(qe)})}E($e,Ut)};W(Fe,$e=>{d(j)&&$e(ei)})}var ui=b(Fe,2);{var Pi=$e=>{var Ut=$J(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2);{var K=R=>{var Q=fh(),Y=v(Q);V(()=>F(Y,d(rt))),E(R,Q)};W(he,R=>{d(rt)&&R(K)})}var ae=b(he,2),xe=v(ae),Pe=b(xe,2),ot=v(Pe);V(()=>{Pe.disabled=d(et)||!d(ue),F(ot,d(et)?"Adding…":"Add")}),Xt(qe,()=>d(ue),R=>y(ue,R)),G("click",xe,()=>y(We,!1)),G("click",Pe,Oe),E($e,Ut)};W(ui,$e=>{d(We)&&$e(Pi)})}V(()=>{Ct=At(Rt,1,"svelte-9auejo",null,Ct,{active:d(t)==="ca"}),di=At(vi,1,"svelte-9auejo",null,di,{active:d(t)==="server"}),Ni=At(Li,1,"svelte-9auejo",null,Ni,{active:d(t)==="trusted"}),Wi=At(Oi,1,"svelte-9auejo",null,Wi,{active:d(t)==="clients"})}),G("click",Rt,()=>y(t,"ca")),G("click",vi,()=>y(t,"server")),G("click",Li,()=>y(t,"trusted")),G("click",Oi,()=>y(t,"clients")),G("click",Si,lt),E(o,oi),Rs()}Ks(["click"]);var _S=T('<div class="err svelte-17yczfe"> </div>'),GJ=T('<div class="ok svelte-17yczfe">Saved.</div>'),KJ=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>'),ZJ=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>'),XJ=T("<span> </span>"),YJ=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 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 class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div> <!> <!> <!></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 JJ(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[mt,Mt]=await Promise.all([Dl(),jR()]);y(w,mt,!0),Mt.sshKeyDefault&&y(a,Mt.sshKeyDefault,!0);const hi=d(w).broker??{};y(t,hi.ssh??{},!0),d(t).port||(d(t).port=22),d(t).user||(d(t).user="she"),d(t).identityFile||(d(t).identityFile=d(a))}catch(mt){y(i,mt.message,!0)}});async function m(){y(n,!0),y(r,""),y(s,!1);try{const mt=d(w).broker??{},Mt={...d(w),broker:{...mt,ssh:d(t)}};await Zp(Mt),y(s,!0),setTimeout(()=>y(s,!1),3e3)}catch(mt){y(r,mt.message,!0)}finally{y(n,!1)}}async function x(){y(u,!0),y(f,"");try{const mt=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Mt=await mt.json();if(!mt.ok)throw new Error(Mt.error??mt.statusText);y(c,Mt.publicKey,!0)}catch(mt){y(f,mt.message,!0)}finally{y(u,!1)}}async function k(){y(g,!0),y(p,"");try{const mt=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Mt=await mt.json();if(!mt.ok)throw new Error(Mt.error??mt.statusText);y(p,Mt.ok?"✓ Connection successful":"✗ "+(Mt.error??"Failed"),!0)}catch(mt){y(p,"✗ "+mt.message)}finally{y(g,!1)}}function D(mt){navigator.clipboard.writeText(mt).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=YJ(),j=v(A);{var H=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(i))),E(mt,Mt)};W(j,mt=>{d(i)&&mt(H)})}var te=b(j,2),J=b(v(te),4),le=v(J),we=b(v(le)),We=b(le,2),ue=b(v(We)),et=b(We,2),rt=b(v(et)),me=b(et,2),lt=b(v(me)),ft=b(J,2);{var Pt=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(r))),E(mt,Mt)};W(ft,mt=>{d(r)&&mt(Pt)})}var Ne=b(ft,2);{var Lt=mt=>{var Mt=GJ();E(mt,Mt)};W(Ne,mt=>{d(s)&&mt(Lt)})}var Oe=b(Ne,2),Se=v(Oe),nt=v(Se),Ft=b(te,2),oi=b(v(Ft),2),Bt=b(v(oi)),Et=v(Bt),Rt=b(oi,2),Ct=v(Rt),vi=v(Ct),di=b(Rt,2);{var Li=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(f))),E(mt,Mt)};W(di,mt=>{d(f)&&mt(Li)})}var Ni=b(di,2);{var Oi=mt=>{var Mt=KJ(),hi=b(v(Mt)),Ti=v(hi),Xi=b(Ti,2);V(()=>UL(Ti,d(c))),G("click",Xi,()=>D(d(c))),E(mt,Mt)};W(Ni,mt=>{d(c)&&mt(Oi)})}var Wi=b(Ni,2);{var Si=mt=>{var Mt=ZJ(),hi=b(v(Mt)),Ti=v(hi),Xi=b(Ti,2);V(()=>UL(Ti,d(P))),G("click",Xi,()=>D(d(P))),E(mt,Mt)};W(Wi,mt=>{d(P)&&mt(Si)})}var ri=b(Ft,2),_i=b(v(ri),2),ki=v(_i),Vi=v(ki),Ri=b(ki,2);{var Mi=mt=>{var Mt=XJ();let hi;var Ti=v(Mt);V(Xi=>{hi=At(Mt,1,"test-result svelte-17yczfe",null,hi,Xi),F(Ti,d(p))},[()=>({ok:d(p).startsWith("✓"),fail:d(p).startsWith("✗")})]),E(mt,Mt)};W(Ri,mt=>{d(p)&&mt(Mi)})}V(()=>{Fi(lt,"placeholder",d(a)),Se.disabled=d(n),F(nt,d(n)?"Saving…":"Save"),F(Et,d(t).identityFile||d(a)),Ct.disabled=d(u),F(vi,d(u)?"Generating…":"Generate keypair"),ki.disabled=d(g)||!d(t).host,F(Vi,d(g)?"Testing…":"Test SSH connection")}),Xt(we,()=>d(t).host,mt=>d(t).host=mt),Xt(ue,()=>d(t).port,mt=>d(t).port=mt),Xt(rt,()=>d(t).user,mt=>d(t).user=mt),Xt(lt,()=>d(t).identityFile,mt=>d(t).identityFile=mt),G("click",Se,m),G("click",Ct,x),G("click",ki,k),E(o,A),Rs()}Ks(["click"]);var QJ=T('<div class="err svelte-d31be1"> </div>'),eQ=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">Requires <code class="svelte-d31be1">mosquitto_ctrl</code> to be installed on this machine (comes with <code class="svelte-d31be1">mosquitto-clients</code>).</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),tQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),iQ=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>'),nQ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),sQ=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-danger svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),oQ=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>'),rQ=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>'),aQ=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 lQ(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(me){y(i,me.message,!0)}finally{y(n,!1)}}async function x(){y(n,!0),y(i,"");try{const me=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)})}),lt=await me.json();if(!me.ok||!lt.ok)throw new Error(lt.error??"Bootstrap failed");y(c,lt,!0);const ft=await Dl(),Pt=ft.broker??{};await Zp({...ft,broker:{...Pt,dynsec:{adminUsername:lt.adminUsername,adminPassword:lt.adminPassword}}}),y(t,"restart")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function k(){y(f,!0),y(i,"");try{await V7(),await new Promise(me=>setTimeout(me,2e3)),y(u,!0),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(f,!1)}}async function D(){y(w,!0),y(i,"");try{const me=await Dl(),lt=me.broker??{};await Zp({...me,broker:{...lt,dynsec:{adminUsername:d(g),adminPassword:d(p)}}}),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(w,!1)}}var P=aQ(),A=v(P),j=b(v(A),2),H=b(A,2);{var te=me=>{var lt=QJ(),ft=v(lt);V(()=>F(ft,d(i))),E(me,lt)};W(H,me=>{d(i)&&me(te)})}var J=b(H,2);{var le=me=>{var lt=eQ(),ft=b(v(lt),6),Pt=v(ft);V(()=>Pt.disabled=d(n)),G("click",Pt,()=>{y(t,"probe"),m()}),E(me,lt)},we=me=>{var lt=tQ(),ft=v(lt),Pt=v(ft);V(()=>F(Pt,d(n)?"Probing dynsec…":"Checking dynsec status…")),E(me,lt)},We=me=>{var lt=iQ(),ft=b(v(lt),2),Pt=b(v(ft)),Ne=b(ft,2),Lt=b(v(Ne)),Oe=b(Ne,2),Se=b(v(Oe)),nt=b(Oe,2),Ft=v(nt),oi=v(Ft);V(()=>{Ft.disabled=d(n)||!d(s),F(oi,d(n)?"Bootstrapping…":"Bootstrap dynsec")}),Xt(Pt,()=>d(s),Bt=>y(s,Bt)),Xt(Lt,()=>d(r),Bt=>y(r,Bt)),Xt(Se,()=>d(a),Bt=>y(a,Bt)),G("click",Ft,x),E(me,lt)},ue=me=>{var lt=sQ(),ft=b(v(lt),2),Pt=b(v(ft),3),Ne=v(Pt),Lt=b(ft,4),Oe=v(Lt),Se=v(Oe),nt=b(Oe,2),Ft=b(Lt,2);{var oi=Bt=>{var Et=nQ();E(Bt,Et)};W(Ft,Bt=>{d(f)&&Bt(oi)})}V(()=>{F(Ne,d(c).confFilePath),Oe.disabled=d(f),F(Se,d(f)?"Restarting…":"Restart mosquitto now")}),G("click",Oe,k),G("click",nt,()=>{y(t,"done")}),E(me,lt)},et=me=>{var lt=oQ(),ft=b(v(lt),4),Pt=v(ft);G("click",Pt,function(...Ne){var Lt;(Lt=e.onDone)==null||Lt.apply(this,Ne)}),E(me,lt)},rt=me=>{var lt=rQ(),ft=b(v(lt),2),Pt=b(v(ft)),Ne=b(ft,2),Lt=b(v(Ne)),Oe=b(Ne,2),Se=v(Oe),nt=b(Se,2),Ft=v(nt);V(()=>{nt.disabled=d(w)||!d(g)||!d(p),F(Ft,d(w)?"Saving…":"Save credentials")}),Xt(Pt,()=>d(g),oi=>y(g,oi)),Xt(Lt,()=>d(p),oi=>y(p,oi)),G("click",Se,()=>y(t,"intro")),G("click",nt,D),E(me,lt)};W(J,me=>{d(t)==="intro"?me(le):d(t)==="probe"?me(we,1):d(t)==="config"?me(We,2):d(t)==="restart"&&d(c)?me(ue,3):d(t)==="done"?me(et,4):d(t)==="manual"&&me(rt,5)})}G("click",j,()=>y(t,"manual")),E(o,P),Rs()}Ks(["click"]);var cQ=T('<div class="loading svelte-zeztkb">Loading…</div>'),dQ=T('<div class="error-banner svelte-zeztkb"> </div>'),uQ=T('<div class="status-badge ok svelte-zeztkb">Connected</div>'),hQ=T('<div class="status-badge err svelte-zeztkb">Disconnected</div>'),fQ=T('<button class="wizard-btn svelte-zeztkb">Run Setup Wizard</button>'),gQ=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),pQ=T('<div class="status-grid svelte-zeztkb"><div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Dynamic Security</h3> <!></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>'),_Q=T('<div class="tab-content svelte-zeztkb" style="padding-top:0"><!></div>'),mQ=T('<div class="tab-content svelte-zeztkb"><!></div> <!>',1),vQ=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 bQ(o,e){Ns(e,!0);let t=M(!1),i=M("status"),n=M(null),s=M(""),r=M(!0);async function a(){try{y(n,await jR(),!0),y(s,"")}catch(ue){y(s,ue.message??"Failed to load broker status",!0)}finally{y(r,!1)}}ao(()=>{a();const ue=setInterval(a,1e4);return()=>clearInterval(ue)});function c(ue){var rt;if(!((rt=d(n))!=null&&rt.sys))return"—";const et=d(n).sys[ue];return et?String(et.val??"—"):"—"}var u=vQ(),f=v(u),g=v(f);let p;var w=b(g,2);let m;var x=b(w,2);let k;var D=b(x,2);let P;var A=b(D,2);let j;var H=b(f,2);{var te=ue=>{var et=mQ(),rt=Dt(et),me=v(rt);{var lt=Oe=>{var Se=cQ();E(Oe,Se)},ft=Oe=>{var Se=dQ(),nt=v(Se);V(()=>F(nt,d(s))),E(Oe,Se)},Pt=Oe=>{var Se=pQ(),nt=v(Se),Ft=b(v(nt),2);{var oi=Ri=>{var Mi=Vs(),mt=Dt(Mi);{var Mt=Ti=>{var Xi=uQ();E(Ti,Xi)},hi=Ti=>{var Xi=hQ();E(Ti,Xi)};W(mt,Ti=>{d(n).dynsec.connected?Ti(Mt):Ti(hi,-1)})}E(Ri,Mi)},Bt=Ri=>{var Mi=gQ(),mt=b(Dt(Mi),4);{var Mt=hi=>{var Ti=fQ();G("click",Ti,()=>y(t,!0)),E(hi,Ti)};W(mt,hi=>{d(t)||hi(Mt)})}E(Ri,Mi)};W(Ft,Ri=>{d(n).dynsec.configured?Ri(oi):Ri(Bt,-1)})}var Et=b(nt,2),Rt=b(v(Et),2),Ct=b(v(Rt),2),vi=v(Ct),di=b(Ct,4),Li=v(di),Ni=b(di,4),Oi=v(Ni),Wi=b(Ni,4),Si=v(Wi),ri=b(Wi,4),_i=v(ri),ki=b(ri,4),Vi=v(ki);V((Ri,Mi,mt,Mt,hi,Ti)=>{F(vi,Ri),F(Li,Mi),F(Oi,mt),F(Si,Mt),F(_i,hi),F(Vi,Ti)},[()=>c("$SYS/broker/version"),()=>c("$SYS/broker/uptime"),()=>c("$SYS/broker/clients/connected"),()=>c("$SYS/broker/clients/total"),()=>c("$SYS/broker/messages/received"),()=>c("$SYS/broker/messages/sent")]),E(Oe,Se)};W(me,Oe=>{d(r)?Oe(lt):d(s)?Oe(ft,1):d(n)&&Oe(Pt,2)})}var Ne=b(rt,2);{var Lt=Oe=>{var Se=_Q(),nt=v(Se);lQ(nt,{onDone:()=>{y(t,!1),a()}}),E(Oe,Se)};W(Ne,Oe=>{d(t)&&d(n)&&!d(n).dynsec.configured&&Oe(Lt)})}E(ue,et)},J=ue=>{lJ(ue,{})},le=ue=>{mJ(ue,{})},we=ue=>{qJ(ue,{})},We=ue=>{JJ(ue,{})};W(H,ue=>{d(i)==="status"?ue(te):d(i)==="users"?ue(J,1):d(i)==="listeners"?ue(le,2):d(i)==="certs"?ue(we,3):d(i)==="ssh"&&ue(We,4)})}V(()=>{p=At(g,1,"svelte-zeztkb",null,p,{active:d(i)==="status"}),m=At(w,1,"svelte-zeztkb",null,m,{active:d(i)==="users"}),k=At(x,1,"svelte-zeztkb",null,k,{active:d(i)==="listeners"}),P=At(D,1,"svelte-zeztkb",null,P,{active:d(i)==="certs"}),j=At(A,1,"svelte-zeztkb",null,j,{active:d(i)==="ssh"})}),G("click",g,()=>y(i,"status")),G("click",w,()=>y(i,"users")),G("click",x,()=>y(i,"listeners")),G("click",D,()=>y(i,"certs")),G("click",A,()=>y(i,"ssh")),E(o,u),Rs()}Ks(["click"]);var yQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),wQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),SQ=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),CQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),xQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),kQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),LQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),IQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),DQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),EQ=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),TQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),PQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),MQ=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>'),NQ=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>'),RQ=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),AQ=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),OQ=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),FQ=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>'),HQ=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),WQ=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>'),BQ=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zQ=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>'),VQ=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>'),jQ=T('<div class="login-error svelte-1n46o8q"> </div>'),$Q=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>'),UQ=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>'),qQ=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>'),GQ=T("<!> <!> <!> <!>",1);function KQ(o,e){Ns(e,!0);const t=["scripts","mqtt","matter","broker","db","logs","config","packages"];function i(){const Ct=location.hash.slice(1);return t.includes(Ct)?Ct:"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);c7(()=>{y(p,!0)});async function D(){y(m,""),y(x,!0);try{await h7(d(w)),y(w,""),y(p,!1)}catch(Ct){y(m,Ct.message??"Login failed",!0)}finally{y(x,!1)}}async function P(){if(d(f)==="proxy"&&d(g)){window.location.href=d(g);return}await f7(),y(p,!0)}let A=M(null),j=M(!1),H=M(!1),te=M(!1),J=M(!1),le=M(yi([])),we=M(0),We=M(yi([]));const ue=wt(()=>d(We).filter(Ct=>Ct.online).length),et=wt(()=>d(We).length===0?"none":d(ue)===d(We).length?"all":d(ue)>0?"some":"offline");let rt=M(!1),me=M(!1);async function lt(){if(!await d(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;y(j,!0);let Ct;try{Ct=(await Wg()).startedAt}catch{}try{await NR()}catch{}const vi=Date.now()+6e4;for(;Date.now()<vi;){await new Promise(di=>setTimeout(di,250));try{const di=await Wg();if(Ct===void 0||di.startedAt!==Ct){location.reload();return}}catch{}}location.reload()}async function ft(){y(c,!0);try{const Ct=await b7();d(s)&&y(s,{...d(s),latestVersion:Ct.latestVersion??void 0},!0)}catch{}finally{y(c,!1)}}async function Pt(){var di,Li;if(!await d(A).show(`Update to v${(di=d(s))==null?void 0:di.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;y(a,!1),y(u,!0);const Ct=(Li=d(s))==null?void 0:Li.startedAt;try{await v7()}catch{}const vi=Date.now()+18e4;for(;Date.now()<vi;){await new Promise(Ni=>setTimeout(Ni,1e3));try{const Ni=await Wg();if(Ct===void 0||Ni.startedAt!==Ct){location.reload();return}}catch{y(u,!1),y(j,!0)}}location.reload()}function Ne(Ct){y(n,Ct,!0),location.hash=Ct}ao(async()=>{location.hash||(location.hash=d(n));const Ct=()=>{y(n,i(),!0)};window.addEventListener("hashchange",Ct);try{const ri=await u7();y(f,ri.mode,!0),y(g,ri.proxyLogoutUrl??"",!0),d(f)==="password"&&(await fetch("/she/scripts")).status===401&&y(p,!0)}catch{}y(k,!0);async function vi(){try{y(s,await Wg(),!0)}catch{}try{const[ri,_i]=await Promise.all([OR(),Dl()]);y(le,Array.isArray(_i.pinnedPackages)?_i.pinnedPackages:[],!0),y(we,Object.keys(ri).filter(ki=>!d(le).includes(ki)).length,!0)}catch{}}vi();const di=setInterval(vi,5e3),Li=kr("mqtt:status",ri=>{ri.connected===!1?(y(J,!0),y(H,!1),y(te,!1)):(y(J,!1),y(H,ri.ready===!1),y(te,ri.ready===!0))}),Ni=kr("matter:deviceList",ri=>{Array.isArray(ri.devices)&&y(We,ri.devices.map(_i=>({nodeId:String(_i.nodeId),online:!!_i.online})),!0)}),Oi=kr("matter:deviceStatus",ri=>{if(ri.nodeId===void 0)return;const _i=String(ri.nodeId),ki=!!ri.online;y(We,d(We).map(Vi=>Vi.nodeId===_i?{...Vi,online:ki}:Vi),!0)}),Wi=$R();y(rt,Wi.some(ri=>ri.level==="error"),!0),y(me,!d(rt)&&Wi.some(ri=>ri.level==="warn"),!0);const Si=kk(ri=>{ri.level==="error"?(y(rt,!0),y(me,!1)):ri.level==="warn"&&!d(rt)&&y(me,!0)});return()=>{window.removeEventListener("hashchange",Ct),clearInterval(di),Li(),Ni(),Oi(),Si()}});var Lt=GQ();cs("click",wP,()=>{d(r)&&y(r,!1),d(a)&&y(a,!1)});var Oe=Dt(Lt);{var Se=Ct=>{var vi=VQ(),di=v(vi),Li=b(v(di),2);let Ni;var Oi=b(Li,2);let Wi;var Si=b(v(Oi),2);{var ri=ge=>{var ve=yQ();V(()=>Fi(ve,"title",`${d(we)??""} package update${d(we)===1?"":"s"} available`)),E(ge,ve)};W(Si,ge=>{d(we)>0&&ge(ri)})}var _i=b(Oi,2);let ki;var Vi=b(v(_i),2);{var Ri=ge=>{var ve=wQ();E(ge,ve)},Mi=ge=>{var ve=SQ();E(ge,ve)},mt=ge=>{var ve=CQ();E(ge,ve)};W(Vi,ge=>{d(J)?ge(Ri):d(H)?ge(Mi,1):d(te)&&ge(mt,2)})}var Mt=b(_i,2);let hi;var Ti=b(v(Mt),2);{var Xi=ge=>{var ve=xQ();E(ge,ve)},ji=ge=>{var ve=kQ();E(ge,ve)},Tn=ge=>{var ve=LQ();E(ge,ve)};W(Ti,ge=>{d(et)==="all"?ge(Xi):d(et)==="some"?ge(ji,1):d(et)==="offline"&&ge(Tn,2)})}var Fe=b(Mt,2);let ei;var ui=b(Fe,2);let Pi;var $e=b(ui,2);let Ut;var fi=b(v($e),2);{var Ii=ge=>{var ve=IQ();E(ge,ve)},qe=ge=>{var ve=DQ();E(ge,ve)};W(fi,ge=>{d(rt)?ge(Ii):d(me)&&ge(qe,1)})}var he=b($e,4),K=b(v(he),2),ae=v(K),xe=v(ae);xe.nodeValue="v1.1.1 ";var Pe=b(xe);{var ot=ge=>{var ve=EQ();E(ge,ve)};W(Pe,ge=>{var ve,vt;(ve=d(s))!=null&&ve.latestVersion&&!((vt=d(s))!=null&&vt.docker)&&ge(ot)})}var R=b(ae,2);{var Q=ge=>{var ve=NQ(),vt=v(ve),Ei=b(v(vt));Ei.textContent="v1.1.1";var Te=b(Ei,2);{var Ge=Ae=>{var De=TQ(),zt=b(Dt(De)),kt=v(zt);V(()=>F(kt,`v${d(s).latestVersion??""}`)),E(Ae,De)},Wt=Ae=>{var De=PQ();E(Ae,De)};W(Te,Ae=>{var De;(De=d(s))!=null&&De.latestVersion?Ae(Ge):Ae(Wt,-1)})}var Je=b(vt,2),bt=v(Je);{var Kt=Ae=>{var De=MQ(),zt=b(v(De));V(()=>F(zt,` Update to v${d(s).latestVersion??""}`)),G("click",De,Pt),E(Ae,De)};W(bt,Ae=>{var De;(De=d(s))!=null&&De.latestVersion&&Ae(Kt)})}var q=b(bt,2),ne=v(q);let Ve;var Qe=b(ne);V(()=>{q.disabled=d(c),Ve=At(ne,0,"svelte-1n46o8q",null,Ve,{spinning:d(c)}),F(Qe,` ${d(c)?"Checking…":"Check for updates"}`)}),G("click",ve,Ae=>Ae.stopPropagation()),G("click",q,ft),E(ge,ve)};W(R,ge=>{var ve;d(a)&&!((ve=d(s))!=null&&ve.docker)&&ge(Q)})}var Y=b(K,2),fe=v(Y),_e=b(fe,2);{var $=ge=>{var ve=BQ(),vt=v(ve);{var Ei=bt=>{var Kt=FQ(),q=v(Kt);{var ne=pt=>{const _t=wt(()=>Math.floor((Date.now()-d(s).startedAt)/1e3)),Ze=wt(()=>Math.floor(d(_t)/86400)),qt=wt(()=>Math.floor(d(_t)%86400/3600)),ii=wt(()=>Math.floor(d(_t)%3600/60));var cn=RQ(),en=b(Dt(cn)),Dn=v(en);V(()=>F(Dn,`${d(Ze)>0?d(Ze)+"d ":""}${d(qt)>0||d(Ze)>0?d(qt)+"h ":""}${d(ii)??""}m`)),E(pt,cn)};W(q,pt=>{d(s).startedAt&&pt(ne)})}var Ve=b(q,3),Qe=v(Ve),Ae=b(Ve,3),De=v(Ae),zt=b(Ae,3),kt=v(zt),Ke=b(zt,2);{var Vt=pt=>{var _t=AQ(),Ze=b(Dt(_t)),qt=v(Ze),ii=b(Ze,3),cn=v(ii);V(()=>{F(qt,d(s).matterNodes??0),F(cn,d(s).matterEndpoints??0)}),E(pt,_t)};W(Ke,pt=>{d(s).matterEnabled&&pt(Vt)})}var tt=b(Ke,2);{var Ee=pt=>{var _t=OQ(),Ze=b(Dt(_t)),qt=v(Ze),ii=b(Ze,3),cn=v(ii);V(()=>{F(qt,d(s).dbDocs??"—"),F(cn,d(s).dbViews??"—")}),E(pt,_t)};W(tt,pt=>{d(s).dbEnabled&&pt(Ee)})}var He=b(tt,3),Be=v(He),ze=b(He,3),Tt=v(ze),ye=b(ze,3),it=v(ye);V(()=>{F(Qe,d(s).scripts),F(De,d(s).topics),F(kt,d(s).mqttMsgPerSec??"—"),F(Be,d(s).handlers??"—"),F(Tt,d(s).memMb!=null?d(s).memMb+" MB":"—"),F(it,d(s).cpuPercent!=null?d(s).cpuPercent+" %":"—")}),E(bt,Kt)},Te=bt=>{var Kt=HQ();E(bt,Kt)};W(vt,bt=>{d(s)?bt(Ei):bt(Te,-1)})}var Ge=b(vt,2),Wt=v(Ge);{var Je=bt=>{var Kt=WQ();G("click",Kt,()=>{y(r,!1),lt()}),E(bt,Kt)};W(Wt,bt=>{var Kt;(Kt=d(s))!=null&&Kt.docker||bt(Je)})}G("click",ve,bt=>bt.stopPropagation()),E(ge,ve)};W(_e,ge=>{d(r)&&ge($)})}var Z=b(Y,2);let ie;var Ce=b(Z,2);{var gt=ge=>{var ve=zQ();G("click",ve,P),E(ge,ve)};W(Ce,ge=>{d(f)==="password"&&ge(gt)})}var Re=b(di,2),Ie=v(Re);Ds(Jf(Ie,{}),ge=>y(A,ge,!0),()=>d(A));var st=b(Ie,2);let It;var St=v(st);{let ge=wt(()=>d(n)==="scripts");hK(St,{get active(){return d(ge)}})}var si=b(st,2);let ti;var se=v(si);WY(se,{});var Le=b(si,2);let at;var xt=v(Le);yY(xt,{});var ht=b(Le,2);let Xe;var Ht=v(ht);ZX(Ht,{});var ai=b(ht,2);let bi;var Di=v(ai);bQ(Di,{});var fn=b(ai,2);let Cn;var un=v(fn);oX(un,{});var xi=b(fn,2);let gn;var z=v(xi);YK(z,{});var ee=b(xi,2);let Ue;var Ye=v(ee);tZ(Ye,{}),V(()=>{Ni=At(Li,1,"svelte-1n46o8q",null,Ni,{active:d(n)==="scripts"}),Wi=At(Oi,1,"svelte-1n46o8q",null,Wi,{active:d(n)==="packages"}),ki=At(_i,1,"svelte-1n46o8q",null,ki,{active:d(n)==="mqtt"}),hi=At(Mt,1,"svelte-1n46o8q",null,hi,{active:d(n)==="matter"}),ei=At(Fe,1,"svelte-1n46o8q",null,ei,{active:d(n)==="broker"}),Pi=At(ui,1,"svelte-1n46o8q",null,Pi,{active:d(n)==="db"}),Ut=At($e,1,"svelte-1n46o8q",null,Ut,{active:d(n)==="logs"}),ie=At(Z,1,"nav-settings svelte-1n46o8q",null,ie,{active:d(n)==="config"}),It=At(st,1,"page-wrap svelte-1n46o8q",null,It,{hidden:d(n)!=="scripts"}),ti=At(si,1,"page-wrap svelte-1n46o8q",null,ti,{hidden:d(n)!=="packages"}),at=At(Le,1,"page-wrap svelte-1n46o8q",null,at,{hidden:d(n)!=="mqtt"}),Xe=At(ht,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:d(n)!=="matter"}),bi=At(ai,1,"page-wrap svelte-1n46o8q",null,bi,{hidden:d(n)!=="broker"}),Cn=At(fn,1,"page-wrap svelte-1n46o8q",null,Cn,{hidden:d(n)!=="db"}),gn=At(xi,1,"page-wrap svelte-1n46o8q",null,gn,{hidden:d(n)!=="config"}),Ue=At(ee,1,"page-wrap svelte-1n46o8q",null,Ue,{hidden:d(n)!=="logs"})}),G("click",Li,()=>Ne("scripts")),G("click",Oi,()=>Ne("packages")),G("click",_i,()=>Ne("mqtt")),G("click",Mt,()=>Ne("matter")),G("click",Fe,()=>Ne("broker")),G("click",ui,()=>Ne("db")),G("click",$e,()=>{Ne("logs"),y(rt,!1),y(me,!1)}),G("click",ae,ge=>{ge.stopPropagation(),y(a,!d(a)),y(r,!1)}),G("click",fe,ge=>{ge.stopPropagation(),y(r,!d(r)),y(a,!1)}),G("click",Z,()=>Ne("config")),E(Ct,vi)};W(Oe,Ct=>{d(k)&&!d(p)&&Ct(Se)})}var nt=b(Oe,2);{var Ft=Ct=>{var vi=$Q(),di=v(vi),Li=b(v(di),4),Ni=b(v(Li),2),Oi=b(Li,2);{var Wi=_i=>{var ki=jQ(),Vi=v(ki);V(()=>F(Vi,d(m))),E(_i,ki)};W(Oi,_i=>{d(m)&&_i(Wi)})}var Si=b(Oi,2),ri=v(Si);V(()=>{Ni.disabled=d(x),Si.disabled=d(x)||!d(w),F(ri,d(x)?"Signing in…":"Sign in")}),cs("submit",di,_i=>{_i.preventDefault(),D()}),Xt(Ni,()=>d(w),_i=>y(w,_i)),E(Ct,vi)};W(nt,Ct=>{d(p)&&Ct(Ft)})}var oi=b(nt,2);{var Bt=Ct=>{var vi=UQ();E(Ct,vi)};W(oi,Ct=>{d(j)&&Ct(Bt)})}var Et=b(oi,2);{var Rt=Ct=>{var vi=qQ();E(Ct,vi)};W(Et,Ct=>{d(u)&&Ct(Rt)})}E(o,Lt),Rs()}Ks(["click"]);DH(KQ,{target:document.getElementById("app")});export{tM as t};