smart-home-engine 0.24.4 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,225 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-D21ZrR9G.js"])))=>i.map(i=>d[i]);
2
- var sA=Object.defineProperty;var kL=o=>{throw TypeError(o)};var oA=(o,e,t)=>e in o?sA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Fi=(o,e,t)=>oA(o,typeof e!="symbol"?e+"":e,t),Ww=(o,e,t)=>e.has(o)||kL("Cannot "+t);var J=(o,e,t)=>(Ww(o,e,"read from private field"),t?t.call(o):e.get(o)),Ii=(o,e,t)=>e.has(o)?kL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Di=(o,e,t,i)=>(Ww(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),wn=(o,e,t)=>(Ww(o,e,"access private method"),t);import{_ as zD,m as VD,l as vt,A as Ys,C as oe,I as Cn,D as kp,a as Jn,g as jD,M as et,b as Xt,E as Wr,c as M,r as Qi,d as ur,e as w,f as rA,h as pn,R as Pi,S as zt,i as Ns,j as gr,k as Wi,n as _i,o as ie,p as we,K as ts,q as ut,s as ze,t as as,u as B,v as xi,O as ba,w as ss,P as yt,x as Bw,y as Ip,z as UD,B as Ya,F as Br,G as Hy,H as _s,U as on,J as Bu,L as St,N as nl,Q as aA,T as $s,V as Wy,W as lA,X as $D,$ as ht,Y as Ki,Z as Hi,a0 as Fn,a1 as ri,a2 as Lo,a3 as Mf,a4 as He,a5 as qm,a6 as cA,a7 as dA,a8 as rs,a9 as hA,aa as zr,ab as Js,ac as Lt,ad as qD,ae as yn,af as uA,ag as gA,ah as Gs,ai as _g,aj as is,ak as Rb,al as zs,am as wc,an as d0,ao as Ab,ap as fs,aq as zu,ar as ps,as as Ob,at as Fb,au as fA,av as Dp,aw as vg,ax as gl,ay as pA,az as bg,aA as mA,aB as h0,aC as _A,aD as vA,aE as IL,aF as Yn,aG as Ja,aH as Vs,aI as fi,aJ as Ka,aK as bA,aL as Ca,aM as So,aN as us,aO as Vr,aP as u0,aQ as ls,aR as Gn,aS as b_,aT as gi,aU as KD,aV as wA,aW as g0,aX as Hb,aY as f0,aZ as p0,a_ as Zc,a$ as yA,b0 as m0,b1 as SA,b2 as _0,b3 as fl,b4 as pl,b5 as Vu,b6 as Nf,b7 as ho,b8 as Ep,b9 as w_,ba as zw,bb as dn,bc as v0,bd as Pp,be as Wb,bf as CA,bg as GD,bh as Rf,bi as ju,bj as Af,bk as Tp,bl as Bb,bm as $i,bn as yc,bo as Mp,bp as xA,bq as LA,br as b0,bs as kA,bt as y_,bu as Vo,bv as w0,bw as Uu,bx as ml,by as wg,bz as wi,bA as $u,bB as ZD,bC as Np,bD as IA,bE as Xc,bF as st,bG as DL,bH as Km,bI as XD,bJ as mr,bK as Rr,bL as un,bM as qu,bN as rr,bO as Ku,bP as On,bQ as Of,bR as uh,bS as By,bT as YD,bU as JD,bV as QD,bW as y0,bX as so,bY as Yi,bZ as Rp,b_ as eE,b$ as Qa,c0 as zb,c1 as DA,c2 as Qh,c3 as EL,c4 as Ap,c5 as tE,c6 as eu,c7 as EA,c8 as Qo,c9 as Vb,ca as PA,cb as Qs,cc as jr,cd as Op,ce as Ff,cf as iE,cg as Ho,ch as Fp,ci as jb,cj as TA,ck as MA,cl as NA,cm as yg,cn as xa,co as gs,cp as RA,cq as S0,cr as AA,cs as OA,ct as PL,cu as FA,cv as Hp,cw as sl,cx as zy,cy as Kd,cz as ol,cA as HA,cB as wa,cC as ar,cD as bo,cE as TL,cF as As,cG as Wp,cH as hc,cI as La,cJ as WA,cK as Ur,cL as Hf,cM as Ub,cN as nE,cO as BA,cP as zA,cQ as C0,cR as VA,cS as Wf,cT as jA,cU as Fl,cV as Bf,cW as ML,cX as UA,cY as $A,cZ as Da,c_ as qA,c$ as x0,d0 as sE,d1 as oE,d2 as rE,d3 as aE,d4 as KA,d5 as GA,d6 as lE,d7 as cE,d8 as ZA,d9 as L0,da as XA,db as YA,dc as Vn,dd as JA,de as k0,df as QA,dg as tu,dh as NL,di as eO,dj as tO,dk as iO,dl as nO,dm as sO,dn as oO,dp as Gu,dq as $b,dr as Vy,ds as rO,dt as aO,du as RL,dv as jy,dw as lO,dx as AL,dy as Vw,dz as cO,dA as dE,dB as dO,dC as hE,dD as Uy,dE as hO,dF as uO,dG as gO,dH as uE,dI as gE,dJ as fO,dK as S_,dL as fE,dM as qb,dN as pO,dO as mO,dP as uc,dQ as I0,dR as _O,dS as OL,dT as FL,dU as vO,dV as iu,dW as pE,dX as bO,dY as wO,dZ as yO,d_ as SO,d$ as mE,e0 as _E,e1 as vE,e2 as bE,e3 as CO,e4 as ya,e5 as HL,e6 as xO,e7 as Bp,e8 as LO,e9 as Gg,ea as wE,eb as WL,ec as zf,ed as yE,ee as C_,ef as kO,eg as SE,eh as IO,ei as CE,ej as DO,ek as EO,el as xE,em as LE,en as rl,eo as Kb,ep as PO,eq as kE,er as Co,es as Yc,et as IE,eu as TO,ev as MO,ew as DE,ex as EE,ey as NO,ez as PE,eA as TE,eB as Vf,eC as RO,eD as AO,eE as OO,eF as FO,eG as Fg,eH as BL,eI as HO,eJ as WO,eK as BO,eL as x_,eM as ys,eN as zO,eO as $y,eP as gh,eQ as VO,eR as qa,eS as jO,eT as UO,eU as ME,eV as $O,eW as uf,eX as qO,eY as KO,eZ as GO,e_ as ZO,e$ as zL,f0 as VL,f1 as jL,f2 as fh,f3 as D0,f4 as NE,f5 as qy,f6 as Gm,f7 as RE,f8 as L_,f9 as XO,fa as YO,fb as JO,fc as QO,fd as E0,fe as AE,ff as e2,fg as k_,fh as OE,fi as FE,fj as t2,fk as i2,fl as n2,fm as s2,fn as o2,fo as r2,fp as a2,fq as l2,fr as HE,fs as c2,ft as I_,fu as WE,fv as d2,fw as BE,fx as h2,fy as zE,fz as VE,fA as u2,fB as UL,fC as jE,fD as $L,fE as g2,fF as jw,fG as qL,fH as f2,fI as p2,fJ as m2,fK as ha,fL as gc,fM as _2,fN as KL,fO as Zm,fP as v2,fQ as Ga,fR as Gb,fS as Ky,fT as b2,fU as UE,fV as $E,fW as Os,fX as GL,fY as mm,fZ as P0,f_ as w2,f$ as y2,g0 as S2,g1 as C2,g2 as x2,g3 as L2,g4 as k2,g5 as I2,g6 as ZL,g7 as D2,g8 as E2,g9 as P2,ga as Zu,gb as gf,gc as qE,gd as T2,ge as T0,gf as Xm,gg as _m,gh as Uw,gi as M2,gj as N2,gk as KE,gl as R2,gm as M0,gn as A2,go as O2,gp as GE,gq as Zb,gr as F2,gs as D_,gt as N0,gu as R0,gv as A0,gw as ZE,gx as XE,gy as YE,gz as JE,gA as QE,gB as eP,gC as tP,gD as XL,gE as iP,gF as Th,gG as H2,gH as W2,gI as B2,gJ as z2,gK as nP,gL as V2,gM as j2,gN as YL,gO as Gy,gP as $l,gQ as U2,gR as $2,gS as q2,gT as K2,gU as G2,gV as Z2,gW as JL,gX as O0,gY as Zy,gZ as X2,g_ as Xy,g$ as Y2,h0 as J2,h1 as Q2,h2 as eF,h3 as F0,h4 as sP,h5 as QL,h6 as ek,h7 as tF,h8 as iF,h9 as nF,ha as tk,hb as $w,hc as sF,hd as oF,he as rF,hf as qw,hg as oP,hh as rP,hi as aP,hj as lP,hk as al,hl as cP,hm as H0,hn as ik,ho as aF,hp as dP,hq as lF,hr as cF,hs as Xb,ht as Yb,hu as ph,hv as Jb,hw as zp,hx as dF,hy as Qb,hz as hF,hA as uF,hB as gF,hC as hP,hD as Hg,hE as fF,hF as pF,hG as mF,hH as _F,hI as Vp,hJ as vF,hK as uP,hL as gP,hM as fP,hN as Yy,hO as bF,hP as wF,hQ as yF,hR as SF,hS as CF,hT as Jy,hU as xF,hV as LF,hW as kF,hX as IF,hY as DF,hZ as EF,h_ as PF,h$ as TF,i0 as pP,i1 as MF,i2 as NF,i3 as RF,i4 as nk,i5 as AF,i6 as OF,i7 as Ac,i8 as Ha,i9 as FF,ia as HF}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 mP=!1;var W0=Array.isArray,WF=Array.prototype.indexOf,E_=Array.prototype.includes,ew=Array.from,BF=Object.defineProperty,_u=Object.getOwnPropertyDescriptor,zF=Object.getOwnPropertyDescriptors,VF=Object.prototype,jF=Array.prototype,_P=Object.getPrototypeOf,sk=Object.isExtensible;const tw=()=>{};function UF(o){for(var e=0;e<o.length;e++)o[e]()}function vP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function ok(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 Ws=2,Xu=4,iw=8,bP=1<<24,Ar=16,Hr=32,fc=64,Qy=128,dr=512,Ss=1024,Is=2048,ka=4096,ro=8192,hr=16384,Sg=32768,eS=1<<25,Yu=65536,P_=1<<17,$F=1<<18,Cg=1<<19,qF=1<<20,ma=1<<25,Gd=65536,T_=1<<21,vu=1<<22,ql=1<<23,Jc=Symbol("$state"),KF=Symbol("legacy props"),GF=Symbol(""),Ym=Symbol("attributes"),tS=Symbol("class"),iS=Symbol("style"),Zg=Symbol("text"),Jm=Symbol("form reset"),nw=new class extends Error{constructor(){super(...arguments);Fi(this,"name","StaleReactionError");Fi(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function wP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function ZF(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function XF(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function YF(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function JF(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function QF(o){throw new Error("https://svelte.dev/e/effect_orphan")}function eH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function tH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function iH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function nH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function sH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function oH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const rH=1,aH=2,yP=4,lH=8,cH=16,dH=1,hH=4,uH=8,gH=16,fH=1,pH=2,ws=Symbol("uninitialized"),SP="http://www.w3.org/1999/xhtml",mH="http://www.w3.org/2000/svg",_H="http://www.w3.org/1998/Math/MathML";function vH(){console.warn("https://svelte.dev/e/derived_inert")}function bH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function wH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function CP(o){return o===this.v}function yH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function xP(o){return!yH(o,this.v)}let SH=!1,Hs=null;function Ju(o){Hs=o}function Io(o,e=!1,t){Hs={p:Hs,i:!1,c:null,e:null,s:o,x:null,r:Ji,l:null}}function Do(o){var e=Hs,t=e.e;if(t!==null){e.e=null;for(var i of t)KP(i)}return o!==void 0&&(e.x=o),e.i=!0,Hs=e.p,o??{}}function LP(){return!0}let Bc=[];function kP(){var o=Bc;Bc=[],UF(o)}function Kl(o){if(Bc.length===0&&!pf){var e=Bc;queueMicrotask(()=>{e===Bc&&kP()})}Bc.push(o)}function CH(){for(;Bc.length>0;)kP()}function IP(o){var e=Ji;if(e===null)return Xi.f|=ql,o;if((e.f&Sg)===0&&(e.f&Xu)===0)throw o;Hl(o,e)}function Hl(o,e){for(;e!==null;){if((e.f&Qy)!==0){if((e.f&Sg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const xH=-7169;function ds(o,e){o.f=o.f&xH|e}function B0(o){(o.f&dr)!==0||o.deps===null?ds(o,Ss):ds(o,ka)}function DP(o){if(o!==null)for(const e of o)(e.f&Ws)===0||(e.f&Gd)===0||(e.f^=Gd,DP(e.deps))}function EP(o,e,t){(o.f&Is)!==0?e.add(o):(o.f&ka)!==0&&t.add(o),DP(o.deps),ds(o,Ss)}let vm=!1;function LH(o){var e=vm;try{return vm=!1,[o(),vm]}finally{vm=e}}let Kw=null,Mh=null,ci=null,ff=null,Rs=null,nS=null,pf=!1,Gw=!1,nu=null,Qm=null;var rk=0;let kH=1;var Su,Rl,Uc,Cu,xu,Lu,Va,ku,mo,wp,ja,Lr,aa,Iu,$c,jn,sS,Xg,oS,PP,TP,Kh,IH,Yg;const zv=class zv{constructor(){Ii(this,jn);Fi(this,"id",kH++);Ii(this,Su,!1);Fi(this,"linked",!0);Ii(this,Rl,null);Ii(this,Uc,null);Fi(this,"async_deriveds",new Map);Fi(this,"current",new Map);Fi(this,"previous",new Map);Ii(this,Cu,new Set);Ii(this,xu,new Set);Ii(this,Lu,0);Ii(this,Va,new Map);Ii(this,ku,null);Ii(this,mo,[]);Ii(this,wp,[]);Ii(this,ja,new Set);Ii(this,Lr,new Set);Ii(this,aa,new Map);Ii(this,Iu,new Set);Fi(this,"is_fork",!1);Ii(this,$c,!1);Mh===null?Kw=Mh=this:(Di(Mh,Uc,this),Di(this,Rl,Mh)),Mh=this}skip_effect(e){J(this,aa).has(e)||J(this,aa).set(e,{d:[],m:[]}),J(this,Iu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=J(this,aa).get(e);if(i){J(this,aa).delete(e);for(var n of i.d)ds(n,Is),t(n);for(n of i.m)ds(n,ka),t(n)}J(this,Iu).add(e)}capture(e,t,i=!1){e.v!==ws&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&ql)===0&&(this.current.set(e,[t,i]),Rs==null||Rs.set(e,t)),this.is_fork||(e.v=t)}activate(){ci=this}deactivate(){ci=null,Rs=null}flush(){try{Gw=!0,ci=this,wn(this,jn,Xg).call(this)}finally{rk=0,nS=null,nu=null,Qm=null,Gw=!1,ci=null,Rs=null,Qc.clear()}}discard(){var e;for(const t of J(this,xu))t(this);J(this,xu).clear(),wn(this,jn,Yg).call(this),(e=J(this,ku))==null||e.resolve()}register_created_effect(e){J(this,wp).push(e)}increment(e,t){if(Di(this,Lu,J(this,Lu)+1),e){let i=J(this,Va).get(t)??0;J(this,Va).set(t,i+1)}}decrement(e,t){if(Di(this,Lu,J(this,Lu)-1),e){let i=J(this,Va).get(t)??0;i===1?J(this,Va).delete(t):J(this,Va).set(t,i-1)}J(this,$c)||(Di(this,$c,!0),Kl(()=>{Di(this,$c,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)J(this,ja).add(i);for(const i of t)J(this,Lr).add(i);e.clear(),t.clear()}oncommit(e){J(this,Cu).add(e)}ondiscard(e){J(this,xu).add(e)}settled(){return(J(this,ku)??Di(this,ku,vP())).promise}static ensure(){if(ci===null){const e=ci=new zv;!Gw&&!pf&&Kl(()=>{J(e,Su)||e.flush()})}return ci}apply(){{Rs=null;return}}schedule(e){var n;if(nS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(Xu|iw|bP))!==0&&(e.f&Sg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(nu!==null&&t===Ji&&(Xi===null||(Xi.f&Ws)===0))return;if((i&(fc|Hr))!==0){if((i&Ss)===0)return;t.f^=Ss}}J(this,mo).push(t)}};Su=new WeakMap,Rl=new WeakMap,Uc=new WeakMap,Cu=new WeakMap,xu=new WeakMap,Lu=new WeakMap,Va=new WeakMap,ku=new WeakMap,mo=new WeakMap,wp=new WeakMap,ja=new WeakMap,Lr=new WeakMap,aa=new WeakMap,Iu=new WeakMap,$c=new WeakMap,jn=new WeakSet,sS=function(){if(this.is_fork)return!0;for(const i of J(this,Va).keys()){for(var e=i,t=!1;e.parent!==null;){if(J(this,aa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Xg=function(){var c,h,g,f;Di(this,Su,!0),rk++>1e3&&(wn(this,jn,Yg).call(this),EH());for(const p of J(this,ja))J(this,Lr).delete(p),ds(p,Is),this.schedule(p);for(const p of J(this,Lr))ds(p,ka),this.schedule(p);const e=J(this,mo);Di(this,mo,[]),this.apply();var t=nu=[],i=[],n=Qm=[];for(const p of e)try{wn(this,jn,oS).call(this,p,t,i)}catch(v){throw RP(p),wn(this,jn,sS).call(this)||this.discard(),v}if(ci=null,n.length>0){var s=zv.ensure();for(const p of n)s.schedule(p)}if(nu=null,Qm=null,wn(this,jn,sS).call(this)){wn(this,jn,Kh).call(this,i),wn(this,jn,Kh).call(this,t);for(const[p,v]of J(this,aa))NP(p,v);n.length>0&&wn(c=ci,jn,Xg).call(c);return}const r=wn(this,jn,PP).call(this);if(r){wn(this,jn,Kh).call(this,i),wn(this,jn,Kh).call(this,t),wn(h=r,jn,TP).call(h,this);return}J(this,ja).clear(),J(this,Lr).clear();for(const p of J(this,Cu))p(this);J(this,Cu).clear(),ff=this,ak(i),ak(t),ff=null,(g=J(this,ku))==null||g.resolve();var a=ci;if(J(this,Lu)===0&&(J(this,mo).length===0||a!==null)&&wn(this,jn,Yg).call(this),J(this,mo).length>0)if(a!==null){const p=a;J(p,mo).push(...J(this,mo).filter(v=>!J(p,mo).includes(v)))}else a=this;a!==null&&wn(f=a,jn,Xg).call(f)},oS=function(e,t,i){e.f^=Ss;for(var n=e.first;n!==null;){var s=n.f,r=(s&(Hr|fc))!==0,a=r&&(s&Ss)!==0,c=a||(s&ro)!==0||J(this,aa).has(n);if(!c&&n.fn!==null){r?n.f^=Ss:(s&Xu)!==0?t.push(n):Up(n)&&((s&Ar)!==0&&J(this,Lr).add(n),eg(n));var h=n.first;if(h!==null){n=h;continue}}for(;n!==null;){var g=n.next;if(g!==null){n=g;break}n=n.parent}}},PP=function(){for(var e=J(this,Rl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=J(e,Rl)}return null},TP=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(J(e,ja),J(e,Lr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Ws)!==0)t(c);else{var a=c;r&(vu|Ar)&&!this.async_deriveds.has(a)&&(J(this,Lr).delete(a),ds(a,Is),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),wn(i=e,jn,Yg).call(i),ci=this,wn(this,jn,Xg).call(this)},Kh=function(e){for(var t=0;t<e.length;t+=1)EP(e[t],J(this,ja),J(this,Lr))},IH=function(){var g;for(let f=Kw;f!==null;f=J(f,Uc)){var e=f.id<this.id,t=[];for(const[p,[v,_]]of this.current){if(f.current.has(p)){var i=f.current.get(p)[0];if(e&&v!==i)f.current.set(p,[v,_]);else continue}t.push(p)}if(e)for(const[p,v]of this.async_deriveds){const _=f.async_deriveds.get(p);_&&v.promise.then(_.resolve).catch(_.reject)}if(J(f,Su)){var n=[...f.current.keys()].filter(p=>!f.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&f.discard();else if(t.length>0){if(e)for(const p of J(this,Iu))f.unskip_effect(p,v=>{var _;(v.f&(Ar|vu))!==0?f.schedule(v):wn(_=f,jn,Kh).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)MP(a,n,s,r);r=new Map;var c=[...f.current].filter(([p,v])=>{const _=this.current.get(p);return _?_[0]!==v[0]||_[1]!==v[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of J(this,wp))(p.f&(hr|ro|P_))===0&&z0(p,c,r)&&((p.f&(vu|Ar))!==0?(ds(p,Is),f.schedule(p)):J(f,ja).add(p));if(J(f,mo).length>0&&!J(f,$c)){f.apply();for(var h of J(f,mo))wn(g=f,jn,oS).call(g,h,[],[]);Di(f,mo,[])}f.deactivate()}}}},Yg=function(){if(this.linked){var e=J(this,Rl),t=J(this,Uc);e===null?Kw=t:Di(e,Uc,t),t===null?Mh=e:Di(t,Rl,e),this.linked=!1}};let Zd=zv;function DH(o){var e=pf;pf=!0;try{for(var t;;){if(CH(),ci===null)return t;ci.flush()}}finally{pf=e}}function EH(){try{eH()}catch(o){Hl(o,nS)}}let Sr=null;function ak(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(hr|ro))===0&&Up(i)&&(Sr=new Set,eg(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&XP(i),(Sr==null?void 0:Sr.size)>0)){Qc.clear();for(const n of Sr){if((n.f&(hr|ro))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Sr.has(r)&&(Sr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(hr|ro))===0&&eg(c)}}Sr.clear()}}Sr=null}}function MP(o,e,t,i){if(!t.has(o)&&(t.add(o),o.reactions!==null))for(const n of o.reactions){const s=n.f;(s&Ws)!==0?MP(n,e,t,i):(s&(vu|Ar))!==0&&(s&Is)===0&&z0(n,e,i)&&(ds(n,Is),V0(n))}}function z0(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(E_.call(e,n))return!0;if((n.f&Ws)!==0&&z0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function V0(o){ci.schedule(o)}function NP(o,e){if(!((o.f&Hr)!==0&&(o.f&Ss)!==0)){(o.f&Is)!==0?e.d.push(o):(o.f&ka)!==0&&e.m.push(o),ds(o,Ss);for(var t=o.first;t!==null;)NP(t,e),t=t.next}}function RP(o){ds(o,Ss);for(var e=o.first;e!==null;)RP(e),e=e.next}function PH(o){let e=0,t=Xd(0),i;return()=>{$0()&&(u(t),ow(()=>(e===0&&(i=vl(()=>o(()=>mf(t)))),e+=1,()=>{Kl(()=>{e-=1,e===0&&(i==null||i(),i=void 0,mf(t))})})))}}var TH=Yu|Cg;function MH(o,e,t,i){new NH(o,e,t,i)}var tr,c0,ir,qc,_o,nr,io,Ro,Ua,Kc,Al,Du,yp,Sp,$a,Vv,hs,RH,AH,OH,rS,e_,t_,aS,lS;class NH{constructor(e,t,i,n){Ii(this,hs);Fi(this,"parent");Fi(this,"is_pending",!1);Fi(this,"transform_error");Ii(this,tr);Ii(this,c0,null);Ii(this,ir);Ii(this,qc);Ii(this,_o);Ii(this,nr,null);Ii(this,io,null);Ii(this,Ro,null);Ii(this,Ua,null);Ii(this,Kc,0);Ii(this,Al,0);Ii(this,Du,!1);Ii(this,yp,new Set);Ii(this,Sp,new Set);Ii(this,$a,null);Ii(this,Vv,PH(()=>(Di(this,$a,Xd(J(this,Kc))),()=>{Di(this,$a,null)})));var s;Di(this,tr,e),Di(this,ir,t),Di(this,qc,r=>{var a=Ji;a.b=this,a.f|=Qy,i(r)}),this.parent=Ji.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Di(this,_o,G0(()=>{wn(this,hs,rS).call(this)},TH))}defer_effect(e){EP(e,J(this,yp),J(this,Sp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!J(this,ir).pending}update_pending_count(e,t){wn(this,hs,aS).call(this,e,t),Di(this,Kc,J(this,Kc)+e),!(!J(this,$a)||J(this,Du))&&(Di(this,Du,!0),Kl(()=>{Di(this,Du,!1),J(this,$a)&&Qu(J(this,$a),J(this,Kc))}))}get_effect_pending(){return J(this,Vv).call(this),u(J(this,$a))}error(e){if(!J(this,ir).onerror&&!J(this,ir).failed)throw e;ci!=null&&ci.is_fork?(J(this,nr)&&ci.skip_effect(J(this,nr)),J(this,io)&&ci.skip_effect(J(this,io)),J(this,Ro)&&ci.skip_effect(J(this,Ro)),ci.oncommit(()=>{wn(this,hs,lS).call(this,e)})):wn(this,hs,lS).call(this,e)}}tr=new WeakMap,c0=new WeakMap,ir=new WeakMap,qc=new WeakMap,_o=new WeakMap,nr=new WeakMap,io=new WeakMap,Ro=new WeakMap,Ua=new WeakMap,Kc=new WeakMap,Al=new WeakMap,Du=new WeakMap,yp=new WeakMap,Sp=new WeakMap,$a=new WeakMap,Vv=new WeakMap,hs=new WeakSet,RH=function(){try{Di(this,nr,sr(()=>J(this,qc).call(this,J(this,tr))))}catch(e){this.error(e)}},AH=function(e){const t=J(this,ir).failed;t&&Di(this,Ro,sr(()=>{t(J(this,tr),()=>e,()=>()=>{})}))},OH=function(){const e=J(this,ir).pending;e&&(this.is_pending=!0,Di(this,io,sr(()=>e(J(this,tr)))),Kl(()=>{var t=Di(this,Ua,document.createDocumentFragment()),i=el();t.append(i),Di(this,nr,wn(this,hs,t_).call(this,()=>sr(()=>J(this,qc).call(this,i)))),J(this,Al)===0&&(J(this,tr).before(t),Di(this,Ua,null),td(J(this,io),()=>{Di(this,io,null)}),wn(this,hs,e_).call(this,ci))}))},rS=function(){try{if(this.is_pending=this.has_pending_snippet(),Di(this,Al,0),Di(this,Kc,0),Di(this,nr,sr(()=>{J(this,qc).call(this,J(this,tr))})),J(this,Al)>0){var e=Di(this,Ua,document.createDocumentFragment());X0(J(this,nr),e);const t=J(this,ir).pending;Di(this,io,sr(()=>t(J(this,tr))))}else wn(this,hs,e_).call(this,ci)}catch(t){this.error(t)}},e_=function(e){this.is_pending=!1,e.transfer_effects(J(this,yp),J(this,Sp))},t_=function(e){var t=Ji,i=Xi,n=Hs;Ia(J(this,_o)),fr(J(this,_o)),Ju(J(this,_o).ctx);try{return Zd.ensure(),e()}catch(s){return IP(s),null}finally{Ia(t),fr(i),Ju(n)}},aS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&wn(i=this.parent,hs,aS).call(i,e,t);return}Di(this,Al,J(this,Al)+e),J(this,Al)===0&&(wn(this,hs,e_).call(this,t),J(this,io)&&td(J(this,io),()=>{Di(this,io,null)}),J(this,Ua)&&(J(this,tr).before(J(this,Ua)),Di(this,Ua,null)))},lS=function(e){J(this,nr)&&(xo(J(this,nr)),Di(this,nr,null)),J(this,io)&&(xo(J(this,io)),Di(this,io,null)),J(this,Ro)&&(xo(J(this,Ro)),Di(this,Ro,null));var t=J(this,ir).onerror;let i=J(this,ir).failed;var n=!1,s=!1;const r=()=>{if(n){wH();return}n=!0,s&&oH(),J(this,Ro)!==null&&td(J(this,Ro),()=>{Di(this,Ro,null)}),wn(this,hs,t_).call(this,()=>{wn(this,hs,rS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){Hl(h,J(this,_o)&&J(this,_o).parent)}i&&Di(this,Ro,wn(this,hs,t_).call(this,()=>{try{return sr(()=>{var h=Ji;h.b=this,h.f|=Qy,i(J(this,tr),()=>c,()=>r)})}catch(h){return Hl(h,J(this,_o).parent),null}}))};Kl(()=>{var c;try{c=this.transform_error(e)}catch(h){Hl(h,J(this,_o)&&J(this,_o).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>Hl(h,J(this,_o)&&J(this,_o).parent)):a(c)})};function FH(o,e,t,i){const n=jf;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Ji,a=HH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&hr)===0){a();try{i(p)}catch(v){Hl(v,r)}M_()}}var g=AP();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>WH(p))).then(p=>h([...e.map(n),...p])).catch(p=>Hl(p,r)).finally(g)}c?c.then(()=>{a(),f(),M_()}):f()}function HH(){var o=Ji,e=Xi,t=Hs,i=ci;return function(s=!0){Ia(o),fr(e),Ju(t),s&&(o.f&hr)===0&&(i==null||i.activate(),i==null||i.apply())}}function M_(o=!0){Ia(null),fr(null),Ju(null),o&&(ci==null||ci.deactivate())}function AP(){var o=Ji,e=o.b,t=ci,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 jf(o){var e=Ws|Is;return Ji!==null&&(Ji.f|=Cg),{ctx:Hs,deps:null,effects:null,equals:CP,f:e,fn:o,reactions:null,rv:0,v:ws,wv:0,parent:Ji,ac:null}}const bm=Symbol("obsolete");function WH(o,e,t){let i=Ji;i===null&&ZF();var n=void 0,s=Xd(ws),r=!Xi,a=new Set;return YH(()=>{var v,_;var c=Ji,h=vP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,y=>{y!==nw&&h.reject(y)}).finally(M_)}catch(y){h.reject(y),M_()}var g=ci;if(r){if((c.f&Sg)!==0)var f=AP();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(bm);else for(const y of a.values())y.reject(bm);a.add(h),g.async_deriveds.set(c,h)}const p=(y,S=void 0)=>{f==null||f(),a.delete(h),S!==bm&&(g.activate(),S?(s.f|=ql,Qu(s,S)):((s.f&ql)!==0&&(s.f^=ql),Qu(s,y)),g.deactivate())};h.promise.then(p,y=>p(null,y||"unknown"))}),q0(()=>{for(const c of a)c.reject(bm)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function ot(o){const e=jf(o);return QP(e),e}function OP(o){const e=jf(o);return e.equals=xP,e}function BH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)xo(e[t])}}function j0(o){var e,t=Ji,i=o.parent;if(!ll&&i!==null&&o.v!==ws&&(i.f&(hr|ro))!==0)return vH(),o.v;Ia(i);try{o.f&=~Gd,BH(o),e=nT(o)}finally{Ia(t)}return e}function FP(o){var e=j0(o);if(!o.equals(e)&&(o.wv=tT(),(!(ci!=null&&ci.is_fork)||o.deps===null)&&(ci!==null?(ci.capture(o,e,!0),ff==null||ff.capture(o,e,!0)):o.v=e,o.deps===null))){ds(o,Ss);return}ll||(Rs!==null?($0()||ci!=null&&ci.is_fork)&&Rs.set(o,e):B0(o))}function zH(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(nw),i.fn!==null&&(i.teardown=tw),i.ac=null,Uf(i,0),Z0(i))}function HP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&eg(e)}let N_=new Set;const Qc=new Map;let WP=!1;function Xd(o,e){var t={f:0,v:o,reactions:null,equals:CP,rv:0,wv:0};return t}function U(o,e){const t=Xd(o);return QP(t),t}function VH(o,e=!1,t=!0){const i=Xd(o);return e||(i.equals=xP),i}function I(o,e,t=!1){Xi!==null&&(!Or||(Xi.f&P_)!==0)&&LP()&&(Xi.f&(Ws|Ar|vu|P_))!==0&&(Sa===null||!Sa.has(o))&&sH();let i=t?bi(e):e;return Qu(o,i,Qm)}function Qu(o,e,t=null){if(!o.equals(e)){Qc.set(o,ll?e:o.v);var i=Zd.ensure();if(i.capture(o,e),(o.f&Ws)!==0){const n=o;(o.f&Is)!==0&&j0(n),Rs===null&&B0(n)}o.wv=tT(),BP(o,Is,t),Ji!==null&&(Ji.f&Ss)!==0&&(Ji.f&(Hr|fc))===0&&(er===null?QH([o]):er.push(o)),!i.is_fork&&N_.size>0&&!WP&&jH()}return e}function jH(){WP=!1;for(const o of N_){(o.f&Ss)!==0&&ds(o,ka);let e;try{e=Up(o)}catch{e=!0}e&&eg(o)}N_.clear()}function lk(o,e=1){var t=u(o),i=e===1?t++:t--;return I(o,t),i}function mf(o){I(o,o.v+1)}function BP(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&Is)===0;if(c&&ds(r,e),(a&P_)!==0)N_.add(r);else if((a&Ws)!==0){var h=r;Rs==null||Rs.delete(h),(a&Gd)===0&&(a&dr&&(Ji===null||(Ji.f&T_)===0)&&(r.f|=Gd),BP(h,ka,t))}else if(c){var g=r;(a&Ar)!==0&&Sr!==null&&Sr.add(g),t!==null?t.push(g):V0(g)}}}function bi(o){if(typeof o!="object"||o===null||Jc in o)return o;const e=_P(o);if(e!==VF&&e!==jF)return o;var t=new Map,i=W0(o),n=U(0),s=id,r=a=>{if(id===s)return a();var c=Xi,h=id;fr(null),uk(s);var g=a();return fr(c),uk(h),g};return i&&t.set("length",U(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&iH();var g=t.get(c);return g===void 0?r(()=>{var f=U(h.value);return t.set(c,f),f}):I(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>U(ws));t.set(c,g),mf(n)}}else I(h,ws),mf(n);return!0},get(a,c,h){var v;if(c===Jc)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=_u(a,c))!=null&&v.writable)&&(g=r(()=>{var _=bi(f?a[c]:ws),y=U(_);return y}),t.set(c,g)),g!==void 0){var p=u(g);return p===ws?void 0:p}return Reflect.get(a,c,h)},getOwnPropertyDescriptor(a,c){var h=Reflect.getOwnPropertyDescriptor(a,c);if(h&&"value"in h){var g=t.get(c);g&&(h.value=u(g))}else if(h===void 0){var f=t.get(c),p=f==null?void 0:f.v;if(f!==void 0&&p!==ws)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===Jc)return!0;var h=t.get(c),g=h!==void 0&&h.v!==ws||Reflect.has(a,c);if(h!==void 0||Ji!==null&&(!g||(p=_u(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?bi(a[c]):ws,_=U(v);return _}),t.set(c,h));var f=u(h);if(f===ws)return!1}return g},set(a,c,h,g){var N;var f=t.get(c),p=c in a;if(i&&c==="length")for(var v=h;v<f.v;v+=1){var _=t.get(v+"");_!==void 0?I(_,ws):v in a&&(_=r(()=>U(ws)),t.set(v+"",_))}if(f===void 0)(!p||(N=_u(a,c))!=null&&N.writable)&&(f=r(()=>U(void 0)),I(f,bi(h)),t.set(c,f));else{p=f.v!==ws;var y=r(()=>bi(h));I(f,y)}var S=Reflect.getOwnPropertyDescriptor(a,c);if(S!=null&&S.set&&S.set.call(g,h),!p){if(i&&typeof c=="string"){var D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&I(D,P+1)}mf(n)}return!0},ownKeys(a){u(n);var c=Reflect.ownKeys(a).filter(f=>{var p=t.get(f);return p===void 0||p.v!==ws});for(var[h,g]of t)g.v!==ws&&!(h in a)&&c.push(h);return c},setPrototypeOf(){nH()}})}function ck(o){try{if(o!==null&&typeof o=="object"&&Jc in o)return o[Jc]}catch{}return o}function UH(o,e){return Object.is(ck(o),ck(e))}var ed,zP,VP,jP,UP;function $H(){if(ed===void 0){ed=window,zP=document,VP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;jP=_u(e,"firstChild").get,UP=_u(e,"nextSibling").get,sk(o)&&(o[tS]=void 0,o[Ym]=null,o[iS]=void 0,o.__e=void 0),sk(t)&&(t[Zg]=void 0)}}function el(o=""){return document.createTextNode(o)}function _a(o){return jP.call(o)}function jp(o){return UP.call(o)}function C(o,e){return _a(o)}function wt(o,e=!1){{var t=_a(o);return t instanceof Comment&&t.data===""?jp(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=jp(i);return i}function qH(o){o.textContent=""}function $P(){return!1}function qP(o,e,t){return e==null||e===SP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let dk=!1;function KH(){dk||(dk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Jm])==null||e.call(t)})},{capture:!0}))}function sw(o){var e=Xi,t=Ji;fr(null),Ia(null);try{return o()}finally{fr(e),Ia(t)}}function U0(o,e,t,i=t){o.addEventListener(e,()=>sw(t));const n=o[Jm];n?o[Jm]=()=>{n(),i(!0)}:o[Jm]=()=>i(!0),KH()}function GH(o){Ji===null&&(Xi===null&&QF(),JF()),ll&&YF()}function ZH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function _l(o,e){var t=Ji;t!==null&&(t.f&ro)!==0&&(o|=ro);var i={ctx:Hs,deps:null,nodes:null,f:o|Is|dr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};ci==null||ci.register_created_effect(i);var n=i;if((o&Xu)!==0)nu!==null?nu.push(i):Zd.ensure().schedule(i);else if(e!==null){try{eg(i)}catch(r){throw xo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Cg)===0&&(n=n.first,(o&Ar)!==0&&(o&Yu)!==0&&n!==null&&(n.f|=Yu))}if(n!==null&&(n.parent=t,t!==null&&ZH(n,t),Xi!==null&&(Xi.f&Ws)!==0&&(o&fc)===0)){var s=Xi;(s.effects??(s.effects=[])).push(n)}return i}function $0(){return Xi!==null&&!Or}function q0(o){const e=_l(iw,null);return ds(e,Ss),e.teardown=o,e}function Rn(o){GH();var e=Ji.f,t=!Xi&&(e&Hr)!==0&&Hs!==null&&!Hs.i;if(t){var i=Hs;(i.e??(i.e=[])).push(o)}else return KP(o)}function KP(o){return _l(Xu|qF,o)}function XH(o){Zd.ensure();const e=_l(fc|Cg,o);return(t={})=>new Promise(i=>{t.outro?td(e,()=>{xo(e),i(void 0)}):(xo(e),i(void 0))})}function K0(o){return _l(Xu,o)}function YH(o){return _l(vu|Cg,o)}function ow(o,e=0){return _l(iw|e,o)}function Z(o,e=[],t=[],i=[]){FH(i,e,t,n=>{_l(iw,()=>o(...n.map(u)))})}function G0(o,e=0){var t=_l(Ar|e,o);return t}function sr(o){return _l(Hr|Cg,o)}function GP(o){var e=o.teardown;if(e!==null){const t=ll,i=Xi;hk(!0),fr(null);try{e.call(null)}finally{hk(t),fr(i)}}}function Z0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&sw(()=>{n.abort(nw)});var i=t.next;(t.f&fc)!==0?t.parent=null:xo(t,e),t=i}}function JH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&Hr)===0&&xo(e),e=t}}function xo(o,e=!0){var t=!1;(e||(o.f&$F)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(ZP(o.nodes.start,o.nodes.end),t=!0),ds(o,eS),Z0(o,e&&!t),Uf(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();GP(o),o.f^=eS,o.f|=hr;var n=o.parent;n!==null&&n.first!==null&&XP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function ZP(o,e){for(;o!==null;){var t=o===e?null:jp(o);o.remove(),o=t}}function XP(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 td(o,e,t=!0){var i=[];YP(o,i,!0);var n=()=>{t&&xo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function YP(o,e,t){if((o.f&ro)===0){o.f^=ro;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&fc)===0){var r=(n.f&Yu)!==0||(n.f&Hr)!==0&&(o.f&Ar)!==0;YP(n,e,r?t:!1)}n=s}}}function R_(o){JP(o,!0)}function JP(o,e){if((o.f&ro)!==0){o.f^=ro,(o.f&Ss)===0&&(ds(o,Is),Zd.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&Yu)!==0||(t.f&Hr)!==0;JP(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 X0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:jp(t);e.append(t),t=n}}let i_=!1,ll=!1;function hk(o){ll=o}let Xi=null,Or=!1;function fr(o){Xi=o}let Ji=null;function Ia(o){Ji=o}let Sa=null;function QP(o){Xi!==null&&(Sa??(Sa=new Set)).add(o)}let vo=null,Mo=0,er=null;function QH(o){er=o}let eT=1,zc=0,id=zc;function uk(o){id=o}function tT(){return++eT}function Up(o){var e=o.f;if((e&Is)!==0)return!0;if(e&Ws&&(o.f&=~Gd),(e&ka)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Up(s)&&FP(s),s.wv>o.wv)return!0}(e&dr)!==0&&Rs===null&&ds(o,Ss)}return!1}function iT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Sa!==null&&Sa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&Ws)!==0?iT(s,e,!1):e===s&&(t?ds(s,Is):(s.f&Ss)!==0&&ds(s,ka),V0(s))}}function nT(o){var y;var e=vo,t=Mo,i=er,n=Xi,s=Sa,r=Hs,a=Or,c=id,h=o.f;vo=null,Mo=0,er=null,Xi=(h&(Hr|fc))===0?o:null,Sa=null,Ju(o.ctx),Or=!1,id=++zc,o.ac!==null&&(sw(()=>{o.ac.abort(nw)}),o.ac=null);try{o.f|=T_;var g=o.fn,f=g();o.f|=Sg;var p=o.deps,v=ci==null?void 0:ci.is_fork;if(vo!==null){var _;if(v||Uf(o,Mo),p!==null&&Mo>0)for(p.length=Mo+vo.length,_=0;_<vo.length;_++)p[Mo+_]=vo[_];else o.deps=p=vo;if($0()&&(o.f&dr)!==0)for(_=Mo;_<p.length;_++)((y=p[_]).reactions??(y.reactions=[])).push(o)}else!v&&p!==null&&Mo<p.length&&(Uf(o,Mo),p.length=Mo);if(LP()&&er!==null&&!Or&&p!==null&&(o.f&(Ws|ka|Is))===0)for(_=0;_<er.length;_++)iT(er[_],o);if(n!==null&&n!==o){if(zc++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=zc;if(e!==null)for(const S of e)S.rv=zc;er!==null&&(i===null?i=er:i.push(...er))}return(o.f&ql)!==0&&(o.f^=ql),f}catch(S){return IP(S)}finally{o.f^=T_,vo=e,Mo=t,er=i,Xi=n,Sa=s,Ju(r),Or=a,id=c}}function eW(o,e){let t=e.reactions;if(t!==null){var i=WF.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&Ws)!==0&&(vo===null||!E_.call(vo,e))){var s=e;(s.f&dr)!==0&&(s.f^=dr,s.f&=~Gd),s.v!==ws&&B0(s),zH(s),Uf(s,0)}}function Uf(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)eW(o,t[i])}function eg(o){var e=o.f;if((e&hr)===0){ds(o,Ss);var t=Ji,i=i_;Ji=o,i_=!0;try{(e&(Ar|bP))!==0?JH(o):Z0(o),GP(o);var n=nT(o);o.teardown=typeof n=="function"?n:null,o.wv=eT;var s;mP&&SH&&(o.f&Is)!==0&&o.deps}finally{i_=i,Ji=t}}}async function cS(){await Promise.resolve(),DH()}function u(o){var e=o.f,t=(e&Ws)!==0;if(Xi!==null&&!Or){var i=Ji!==null&&(Ji.f&hr)!==0;if(!i&&(Sa===null||!Sa.has(o))){var n=Xi.deps;if((Xi.f&T_)!==0)o.rv<zc&&(o.rv=zc,vo===null&&n!==null&&n[Mo]===o?Mo++:vo===null?vo=[o]:vo.push(o));else{Xi.deps??(Xi.deps=[]),E_.call(Xi.deps,o)||Xi.deps.push(o);var s=o.reactions;s===null?o.reactions=[Xi]:E_.call(s,Xi)||s.push(Xi)}}}if(ll&&Qc.has(o))return Qc.get(o);if(t){var r=o;if(ll){var a=r.v;return((r.f&Ss)===0&&r.reactions!==null||oT(r))&&(a=j0(r)),Qc.set(r,a),a}var c=(r.f&dr)===0&&!Or&&Xi!==null&&(i_||(Xi.f&dr)!==0),h=(r.f&Sg)===0;Up(r)&&(c&&(r.f|=dr),FP(r)),c&&!h&&(HP(r),sT(r))}if(Rs!=null&&Rs.has(o))return Rs.get(o);if((o.f&ql)!==0)throw o.v;return o.v}function sT(o){if(o.f|=dr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&Ws)!==0&&(e.f&dr)===0&&(HP(e),sT(e))}function oT(o){if(o.v===ws)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Qc.has(e)||(e.f&Ws)!==0&&oT(e))return!0;return!1}function vl(o){var e=Or;try{return Or=!0,o()}finally{Or=e}}const tW=["touchstart","touchmove"];function iW(o){return tW.includes(o)}const Vc=Symbol("events"),rT=new Set,dS=new Set;function nW(o,e,t,i={}){function n(s){if(i.capture||hS.call(e,s),!s.cancelBubble)return sw(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Kl(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function es(o,e,t,i,n){var s={capture:i,passive:n},r=nW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&q0(()=>{e.removeEventListener(o,r,s)})}function ne(o,e,t){(e[Vc]??(e[Vc]={}))[o]=t}function _r(o){for(var e=0;e<o.length;e++)rT.add(o[e]);for(var t of dS)t(o)}let gk=null;function hS(o){var y,S;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;gk=o;var r=0,a=gk===o&&o[Vc];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[Vc]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){BF(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=Xi,f=Ji;fr(null),Ia(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[Vc])==null?void 0:S[i];_!=null&&(!s.disabled||o.target===s)&&_.call(s,o)}catch(D){p?v.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of v)queueMicrotask(()=>{throw D});throw p}}finally{o[Vc]=e,delete o.currentTarget,fr(g),Ia(f)}}}var WD;const Zw=((WD=globalThis==null?void 0:globalThis.window)==null?void 0:WD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function sW(o){return(Zw==null?void 0:Zw.createHTML(o))??o}function aT(o){var e=qP("template");return e.innerHTML=sW(o.replaceAll("<!>","<!---->")),e.content}function Yd(o,e){var t=Ji;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function R(o,e){var t=(e&fH)!==0,i=(e&pH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=aT(s?o:"<!>"+o),t||(n=_a(n)));var r=i||VP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=_a(r),c=r.lastChild;Yd(a,c)}else Yd(r,r);return r}}function oW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=aT(n),a=_a(r);s=_a(a)}var c=s.cloneNode(!0);return Yd(c,c),c}}function lT(o,e){return oW(o,e,"svg")}function Fr(o=""){{var e=el(o+"");return Yd(e,e),e}}function Ds(){var o=document.createDocumentFragment(),e=document.createComment(""),t=el();return o.append(e,t),Yd(e,t),o}function T(o,e){o!==null&&o.before(e)}function K(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Zg]??(o[Zg]=o.nodeValue))&&(o[Zg]=t,o.nodeValue=`${t}`)}function rW(o,e){return aW(o,e)}const wm=new Map;function aW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){$H();var c=void 0,h=XH(()=>{var g=t??e.appendChild(el());MH(g,{pending:()=>{}},v=>{Io({});var _=Hs;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Do()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var y=v[_];if(!f.has(y)){f.add(y);var S=iW(y);for(const N of[e,document]){var D=wm.get(N);D===void 0&&(D=new Map,wm.set(N,D));var P=D.get(y);P===void 0?(N.addEventListener(y,hS,{passive:S}),D.set(y,1)):D.set(y,P+1)}}}};return p(ew(rT)),dS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=wm.get(D),y=_.get(v);--y==0?(D.removeEventListener(v,hS),_.delete(v),_.size===0&&wm.delete(D)):_.set(v,y)}dS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return lW.set(c,h),c}let lW=new WeakMap;var kr,la,Ao,Gc,Cp,xp,jv;class cW{constructor(e,t=!0){Fi(this,"anchor");Ii(this,kr,new Map);Ii(this,la,new Map);Ii(this,Ao,new Map);Ii(this,Gc,new Set);Ii(this,Cp,!0);Ii(this,xp,e=>{if(J(this,kr).has(e)){var t=J(this,kr).get(e),i=J(this,la).get(t);if(i)R_(i),J(this,Gc).delete(t);else{var n=J(this,Ao).get(t);n&&(R_(n.effect),J(this,la).set(t,n.effect),J(this,Ao).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of J(this,kr)){if(J(this,kr).delete(s),s===e)break;const a=J(this,Ao).get(r);a&&(xo(a.effect),J(this,Ao).delete(r))}for(const[s,r]of J(this,la)){if(s===t||J(this,Gc).has(s))continue;const a=()=>{if(Array.from(J(this,kr).values()).includes(s)){var h=document.createDocumentFragment();X0(r,h),h.append(el()),J(this,Ao).set(s,{effect:r,fragment:h})}else xo(r);J(this,Gc).delete(s),J(this,la).delete(s)};J(this,Cp)||!i?(J(this,Gc).add(s),td(r,a,!1)):a()}}});Ii(this,jv,e=>{J(this,kr).delete(e);const t=Array.from(J(this,kr).values());for(const[i,n]of J(this,Ao))t.includes(i)||(xo(n.effect),J(this,Ao).delete(i))});this.anchor=e,Di(this,Cp,t)}ensure(e,t){var i=ci,n=$P();if(t&&!J(this,la).has(e)&&!J(this,Ao).has(e))if(n){var s=document.createDocumentFragment(),r=el();s.append(r),J(this,Ao).set(e,{effect:sr(()=>t(r)),fragment:s})}else J(this,la).set(e,sr(()=>t(this.anchor)));if(J(this,kr).set(i,e),n){for(const[a,c]of J(this,la))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of J(this,Ao))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(J(this,xp)),i.ondiscard(J(this,jv))}else J(this,xp).call(this,i)}}kr=new WeakMap,la=new WeakMap,Ao=new WeakMap,Gc=new WeakMap,Cp=new WeakMap,xp=new WeakMap,jv=new WeakMap;function q(o,e,t=!1){var i=new cW(o),n=t?Yu:0;function s(r,a){i.ensure(r,a)}G0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function An(o,e){return e}function dW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];td(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;uS(o,ew(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 h=t,g=h.parentNode;qH(g),g.append(h),o.items.clear()}uS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function uS(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=ma;const r=document.createDocumentFragment();X0(s,r)}else xo(e[n],t)}}var fk;function mi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&yP)!==0;if(c){var h=o;r=h.appendChild(el())}var g=null,f=OP(()=>{var N=t();return W0(N)?N:N==null?[]:ew(N)}),p,v=new Map,_=!0;function y(N){(P.effect.f&hr)===0&&(P.pending.delete(N),P.fallback=g,hW(P,p,r,e,i),g!==null&&(p.length===0?(g.f&ma)===0?R_(g):(g.f^=ma,Jg(g,null,r)):td(g,()=>{g=null})))}function S(N){P.pending.delete(N)}var D=G0(()=>{p=u(f);for(var N=p.length,j=new Set,H=ci,ee=$P(),X=0;X<N;X+=1){var fe=p[X],be=i(fe,X),Te=_?null:a.get(be);Te?(Te.v&&Qu(Te.v,fe),Te.i&&Qu(Te.i,X),ee&&H.unskip_effect(Te.e)):(Te=uW(a,_?r:fk??(fk=el()),fe,be,X,n,e,t),_||(Te.e.f|=ma),a.set(be,Te)),j.add(be)}if(N===0&&s&&!g&&(_?g=sr(()=>s(r)):(g=sr(()=>s(fk??(fk=el()))),g.f|=ma)),N>j.size&&XF(),!_)if(v.set(H,j),ee){for(const[xe,ct]of a)j.has(xe)||H.skip_effect(ct.e);H.oncommit(y),H.ondiscard(S)}else y(H);u(f)}),P={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function Wg(o){for(;o!==null&&(o.f&Hr)===0;)o=o.next;return o}function hW(o,e,t,i,n){var Te,xe,ct,Pt,dt,ai,Mt,Jt,ge;var s=(i&lH)!==0,r=e.length,a=o.items,c=Wg(o.effect.first),h,g=null,f,p=[],v=[],_,y,S,D;if(s)for(D=0;D<r;D+=1)_=e[D],y=n(_,D),S=a.get(y).e,(S.f&ma)===0&&((xe=(Te=S.nodes)==null?void 0:Te.a)==null||xe.measure(),(f??(f=new Set)).add(S));for(D=0;D<r;D+=1){if(_=e[D],y=n(_,D),S=a.get(y).e,o.outrogroups!==null)for(const rt of o.outrogroups)rt.pending.delete(S),rt.done.delete(S);if((S.f&ro)!==0&&(R_(S),s&&((Pt=(ct=S.nodes)==null?void 0:ct.a)==null||Pt.unfix(),(f??(f=new Set)).delete(S))),(S.f&ma)!==0)if(S.f^=ma,S===c)Jg(S,null,t);else{var P=g?g.next:c;S===o.effect.last&&(o.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),Sl(o,g,S),Sl(o,S,P),Jg(S,P,t),g=S,p=[],v=[],c=Wg(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var N=v[0],j;g=N.prev;var H=p[0],ee=p[p.length-1];for(j=0;j<p.length;j+=1)Jg(p[j],N,t);for(j=0;j<v.length;j+=1)h.delete(v[j]);Sl(o,H.prev,ee.next),Sl(o,g,H),Sl(o,ee,N),c=N,g=ee,D-=1,p=[],v=[]}else h.delete(S),Jg(S,c,t),Sl(o,S.prev,S.next),Sl(o,S,g===null?o.effect.first:g.next),Sl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=Wg(c.next);if(c===null)continue}(S.f&ma)===0&&p.push(S),g=S,c=Wg(S.next)}if(o.outrogroups!==null){for(const rt of o.outrogroups)rt.pending.size===0&&(uS(o,ew(rt.done)),(dt=o.outrogroups)==null||dt.delete(rt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||h!==void 0){var X=[];if(h!==void 0)for(S of h)(S.f&ro)===0&&X.push(S);for(;c!==null;)(c.f&ro)===0&&c!==o.fallback&&X.push(c),c=Wg(c.next);var fe=X.length;if(fe>0){var be=(i&yP)!==0&&r===0?t:null;if(s){for(D=0;D<fe;D+=1)(Mt=(ai=X[D].nodes)==null?void 0:ai.a)==null||Mt.measure();for(D=0;D<fe;D+=1)(ge=(Jt=X[D].nodes)==null?void 0:Jt.a)==null||ge.fix()}dW(o,X,be)}}s&&Kl(()=>{var rt,Ae;if(f!==void 0)for(S of f)(Ae=(rt=S.nodes)==null?void 0:rt.a)==null||Ae.apply()})}function uW(o,e,t,i,n,s,r,a){var c=(r&rH)!==0?(r&cH)===0?VH(t,!1,!1):Xd(t):null,h=(r&aH)!==0?Xd(n):null;return{v:c,i:h,e:sr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function Jg(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&ma)===0?e.nodes.start:t;i!==null;){var r=jp(i);if(s.before(i),i===n)return;i=r}}function Sl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function Wl(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;Z(()=>{var h=Ji;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&Yd(_a(c),c.lastChild);return}if(h.nodes!==null&&(ZP(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?mH:n?_H:void 0,f=qP(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(Yd(_a(p),p.lastChild),i||n)for(;_a(p);)r.before(_a(p));else r.before(p)}}})}const pk=[...`
3
- \r\f \v\uFEFF`];function gW(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||pk.includes(i[r-1]))&&(a===i.length||pk.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function mk(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 Xw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function fW(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(Xw)),n&&c.push(...Object.keys(n).map(Xw));var h=0,g=-1;const y=o.length;for(var f=0;f<y;f++){var p=o[f];if(a?p==="/"&&o[f-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[f+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&g===-1)g=f;else if(p===";"||f===y-1){if(g!==-1){var v=Xw(o.substring(h,g).trim());if(!c.includes(v)){p!==";"&&f++;var _=o.substring(h,f).trim();t+=" "+_+";"}}h=f+1,g=-1}}}}return i&&(t+=mk(i)),n&&(t+=mk(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Ut(o,e,t,i,n,s){var r=o[tS];if(r!==t||r===void 0){var a=gW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[tS]=t}else if(s&&n!==s)for(var c in s){var h=!!s[c];(n==null||h!==!!n[c])&&o.classList.toggle(c,h)}return s}function Yw(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 Bo(o,e,t,i){var n=o[iS];if(n!==e){var s=fW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[iS]=e}else i&&(Array.isArray(i)?(Yw(o,t==null?void 0:t[0],i[0]),Yw(o,t==null?void 0:t[1],i[1],"important")):Yw(o,t,i));return i}function cT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!W0(e))return bH();for(var i of o.options)i.selected=e.includes(_f(i));return}for(i of o.options){var n=_f(i);if(UH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function pW(o){var e=new MutationObserver(()=>{cT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),q0(()=>{e.disconnect()})}function ua(o,e,t=e){var i=new WeakSet,n=!0;U0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),_f);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&_f(c)}t(a),o.__value=a,ci!==null&&i.add(ci)}),K0(()=>{var s=e();if(o===document.activeElement){var r=ci;if(i.has(r))return}if(cT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=_f(a),t(s))}o.__value=s,n=!1}),pW(o)}function _f(o){return"__value"in o?o.__value:o.value}const mW=Symbol("is custom element"),_W=Symbol("is html");function Jw(o,e){var t=dT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Bn(o,e,t,i){var n=dT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[GF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&vW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function dT(o){return o[Ym]??(o[Ym]={[mW]:o.nodeName.includes("-"),[_W]:o.namespaceURI===SP})}var _k=new Map;function vW(o){var e=o.getAttribute("is")||o.nodeName,t=_k.get(e);if(t)return t;_k.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=zF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=_P(n)}return t}function Ei(o,e,t=e){var i=new WeakSet;U0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Qw(o)?ey(s):s,t(s),ci!==null&&i.add(ci),await cS(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var h=o.value.length;r===a&&a===c&&h>c?(o.selectionStart=h,o.selectionEnd=h):(o.selectionStart=r,o.selectionEnd=Math.min(a,h))}}}),vl(e)==null&&o.value&&(t(Qw(o)?ey(o.value):o.value),ci!==null&&i.add(ci)),ow(()=>{var n=e();if(o===document.activeElement){var s=ci;if(i.has(s))return}Qw(o)&&n===ey(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function qs(o,e,t=e){U0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),vl(e)==null&&t(o.checked),ow(()=>{var i=e();o.checked=!!i})}function Qw(o){var e=o.type;return e==="number"||e==="range"}function ey(o){return o===""?null:+o}var Ol,Eu,Lp,Uv,hT;const $v=class $v{constructor(e){Ii(this,Uv);Ii(this,Ol,new WeakMap);Ii(this,Eu);Ii(this,Lp);Di(this,Lp,e)}observe(e,t){var i=J(this,Ol).get(e)||new Set;return i.add(t),J(this,Ol).set(e,i),wn(this,Uv,hT).call(this).observe(e,J(this,Lp)),()=>{var n=J(this,Ol).get(e);n.delete(t),n.size===0&&(J(this,Ol).delete(e),J(this,Eu).unobserve(e))}}};Ol=new WeakMap,Eu=new WeakMap,Lp=new WeakMap,Uv=new WeakSet,hT=function(){return J(this,Eu)??Di(this,Eu,new ResizeObserver(e=>{for(var t of e){$v.entries.set(t.target,t);for(var i of J(this,Ol).get(t.target)||[])i(t)}}))},Fi($v,"entries",new WeakMap);let gS=$v;var bW=new gS({box:"border-box"});function wW(o,e,t){var i=bW.observe(o,()=>t(o[e]));K0(()=>(vl(()=>t(o[e])),i))}function ty(o,e){return o===e||(o==null?void 0:o[Jc])===e}function Cs(o={},e,t,i){var n=Hs.r,s=Ji;return K0(()=>{var r,a;return ow(()=>{r=a,a=[],vl(()=>{ty(t(...a),o)||(e(o,...a),r&&ty(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&eS;)c=c.parent;const h=()=>{a&&ty(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function tg(o,e,t,i){var j;var n=!0,s=(t&uH)!==0,r=(t&gH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=jf(i)),u(h)):(c&&(c=!1,a=r?vl(i):i),a);let f;if(s){var p=Jc in o||KF in o;f=((j=_u(o,e))==null?void 0:j.set)??(p&&e in o?H=>o[e]=H:void 0)}var v,_=!1;s?[v,_]=LH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(tH(),f(v)));var y;if(y=()=>{var H=o[e];return H===void 0?g():(c=!0,H)},(t&hH)===0)return y;if(f){var S=o.$$legacy;return(function(H,ee){return arguments.length>0?((!ee||S||_)&&f(ee?y():H),H):y()})}var D=!1,P=((t&dH)!==0?jf:OP)(()=>(D=!1,y()));s&&u(P);var N=Ji;return(function(H,ee){if(arguments.length>0){const X=ee?u(P):s?bi(H):H;return I(P,X),D=!0,a!==void 0&&(a=X),H}return ll&&D||(N.f&hr)!==0?P.v:u(P)})}function vr(o){Hs===null&&wP(),Rn(()=>{const e=vl(o);if(typeof e=="function")return e})}function rw(o){Hs===null&&wP(),vr(()=>()=>vl(o))}const yW="5";var BD;typeof window<"u"&&((BD=window.__svelte??(window.__svelte={})).v??(BD.v=new Set)).add(yW);/*!-----------------------------------------------------------------------------
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 SW=Object.defineProperty,CW=Object.getOwnPropertyDescriptor,xW=Object.getOwnPropertyNames,LW=Object.prototype.hasOwnProperty,kW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of xW(e))!LW.call(o,n)&&n!==t&&SW(o,n,{get:()=>e[n],enumerable:!(i=CW(e,n))||i.enumerable});return o},IW=(o,e,t)=>(kW(o,e,"default"),t),$p={};IW($p,VD);var DW=class{constructor(e,t,i){this._onDidChange=new $p.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)}},EW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},PW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},uT=new DW("json",EW,PW),TW=()=>gT().then(o=>o.getWorker());$p.languages.json={jsonDefaults:uT,getWorker:TW};function gT(){return zD(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}$p.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});$p.languages.onLanguage("json",()=>{gT().then(o=>o.setupMode(uT))});/*!-----------------------------------------------------------------------------
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 MW=Object.defineProperty,NW=Object.getOwnPropertyDescriptor,RW=Object.getOwnPropertyNames,AW=Object.prototype.hasOwnProperty,OW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of RW(e))!AW.call(o,n)&&n!==t&&MW(o,n,{get:()=>e[n],enumerable:!(i=NW(e,n))||i.enumerable});return o},FW=(o,e,t)=>(OW(o,e,"default"),t),HW="5.4.5",ig={};FW(ig,VD);var fT=(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))(fT||{}),pT=(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))(pT||{}),mT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(mT||{}),_T=(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))(_T||{}),vT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(vT||{}),bT=class{constructor(o,e,t,i,n){this._onDidChange=new ig.Emitter,this._onDidExtraLibsChange=new ig.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)}},WW=HW,wT={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},yT=new bT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},wT),ST=new bT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},wT),BW=()=>aw().then(o=>o.getTypeScriptWorker()),zW=()=>aw().then(o=>o.getJavaScriptWorker());ig.languages.typescript={ModuleKind:fT,JsxEmit:pT,NewLineKind:mT,ScriptTarget:_T,ModuleResolutionKind:vT,typescriptVersion:WW,typescriptDefaults:yT,javascriptDefaults:ST,getTypeScriptWorker:BW,getJavaScriptWorker:zW};function aw(){return zD(()=>import("./tsMode-D21ZrR9G.js"),__vite__mapDeps([3,1,2]))}ig.languages.onLanguage("typescript",()=>aw().then(o=>o.setupTypeScript(yT)));ig.languages.onLanguage("javascript",()=>aw().then(o=>o.setupJavaScript(ST)));class VW extends Ys{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:vt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Xt.map,toggled:oe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:oe.has("isInDiffEditor"),menu:{when:oe.has("isInDiffEditor"),id:et.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class CT extends Ys{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:vt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class xT extends Ys{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:vt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const qp=vt("diffEditor","Diff Editor");class jW extends Wr{constructor(){super({id:"diffEditor.switchSide",title:vt("switchSide","Switch Side"),icon:Xt.arrowSwap,precondition:oe.has("isInDiffEditor"),f1:!0,category:qp})}runEditorCommand(e,t,i){const n=xg(e);if(n instanceof kp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class UW extends Wr{constructor(){super({id:"diffEditor.exitCompareMove",title:vt("exitCompareMove","Exit Compare Move"),icon:Xt.close,precondition:M.comparingMovedCode,f1:!1,category:qp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=xg(e);n instanceof kp&&n.exitCompareMove()}}class $W extends Wr{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:vt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Xt.fold,precondition:oe.has("isInDiffEditor"),f1:!0,category:qp})}runEditorCommand(e,t,...i){const n=xg(e);n instanceof kp&&n.collapseAllUnchangedRegions()}}class qW extends Wr{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:vt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Xt.unfold,precondition:oe.has("isInDiffEditor"),f1:!0,category:qp})}runEditorCommand(e,t,...i){const n=xg(e);n instanceof kp&&n.showAllUnchangedRegions()}}class fS extends Ys{constructor(){super({id:"diffEditor.revert",title:vt("revert","Revert"),f1:!1,category:qp})}run(e,t){const i=KW(e,t.originalUri,t.modifiedUri);i instanceof kp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const LT=vt("accessibleDiffViewer","Accessible Diff Viewer"),qv=class qv extends Ys{constructor(){super({id:qv.id,title:vt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:LT,precondition:oe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=xg(e);t==null||t.accessibleDiffViewerNext()}};qv.id="editor.action.accessibleDiffViewer.next";let $f=qv;const Kv=class Kv extends Ys{constructor(){super({id:Kv.id,title:vt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:LT,precondition:oe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=xg(e);t==null||t.accessibleDiffViewerPrev()}};Kv.id="editor.action.accessibleDiffViewer.prev";let A_=Kv;function KW(o,e,t){return o.get(Jn).listDiffEditors().find(s=>{var c,h;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((h=a.getModel())==null?void 0:h.uri.toString())===e.toString()})||null}function xg(o){const t=o.get(Jn).listDiffEditors(),i=jD();if(i)for(const n of t){const s=n.getContainerDomNode();if(GW(s,i))return n}return null}function GW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Qi(VW);Qi(CT);Qi(xT);ur.appendMenuItem(et.EditorTitle,{command:{id:new xT().desc.id,title:w("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:oe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:oe.has("isInDiffEditor")},order:11,group:"1_diff",when:oe.and(M.diffEditorRenderSideBySideInlineBreakpointReached,oe.has("isInDiffEditor"))});ur.appendMenuItem(et.EditorTitle,{command:{id:new CT().desc.id,title:w("showMoves","Show Moved Code Blocks"),icon:Xt.move,toggled:rA.create("config.diffEditor.experimental.showMoves",!0),precondition:oe.has("isInDiffEditor")},order:10,group:"1_diff",when:oe.has("isInDiffEditor")});Qi(fS);for(const o of[{icon:Xt.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:Xt.discard,key:M.diffEditorInlineMode}])ur.appendMenuItem(et.DiffEditorHunkToolbar,{command:{id:new fS().desc.id,title:w("revertHunk","Revert Block"),icon:o.icon},when:oe.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),ur.appendMenuItem(et.DiffEditorSelectionToolbar,{command:{id:new fS().desc.id,title:w("revertSelection","Revert Selection"),icon:o.icon},when:oe.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Qi(jW);Qi(UW);Qi($W);Qi(qW);ur.appendMenuItem(et.EditorTitle,{command:{id:$f.id,title:w("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:oe.has("isInDiffEditor")},order:10,group:"2_diff",when:oe.and(M.accessibleDiffViewerVisible.negate(),oe.has("isInDiffEditor"))});pn.registerCommandAlias("editor.action.diffReview.next",$f.id);Qi($f);pn.registerCommandAlias("editor.action.diffReview.prev",A_.id);Qi(A_);var ZW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},XW=function(o,e){return function(t,i){e(t,i,o)}},pS;const lw=new Pi("selectionAnchorSet",!1);var rd;let pc=(rd=class{static get(e){return e.getContribution(pS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=lw.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(zt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ns().appendText(w("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),gr(w("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(zt.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()}},pS=rd,rd.ID="editor.contrib.selectionAnchorController",rd);pc=pS=ZW([XW(1,Wi)],pc);class YW extends we{constructor(){super({id:"editor.action.setSelectionAnchor",label:w("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2080),weight:100}})}async run(e,t){var i;(i=pc.get(t))==null||i.setSelectionAnchor()}}class JW extends we{constructor(){super({id:"editor.action.goToSelectionAnchor",label:w("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:lw})}async run(e,t){var i;(i=pc.get(t))==null||i.goToSelectionAnchor()}}class QW extends we{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:w("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:lw,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2089),weight:100}})}async run(e,t){var i;(i=pc.get(t))==null||i.selectFromAnchorToCursor()}}class e3 extends we{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:w("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:lw,kbOpts:{kbExpr:M.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=pc.get(t))==null||i.cancelSelectionAnchor()}}_i(pc.ID,pc,4);ie(YW);ie(JW);ie(QW);ie(e3);const t3=ut("editorOverviewRuler.bracketMatchForeground","#A0A0A0",w("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class i3 extends we{constructor(){super({id:"editor.action.jumpToBracket",label:w("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Jd.get(t))==null||i.jumpToBracket()}}class n3 extends we{constructor(){super({id:"editor.action.selectToBracket",label:w("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:vt("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=Jd.get(t))==null||s.selectToBracket(n)}}class s3 extends we{constructor(){super({id:"editor.action.removeBrackets",label:w("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Jd.get(t))==null||i.removeBrackets(this.id)}}class o3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const El=class El extends ze{static get(e){return e.getContribution(El.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new as(()=>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 zt(r.lineNumber,r.column,r.lineNumber,r.column):new zt(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 h=t.bracketPairs.findNextBracket(s);h&&h.range&&(r=t.bracketPairs.matchBracket(h.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(B.compareRangesUsingStarts);const[h,g]=r;if(a=e?h.getStartPosition():h.getEndPosition(),c=e?g.getEndPosition():g.getStartPosition(),g.containsPosition(s)){const f=a;a=c,c=f}}a&&c&&i.push(new zt(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 f=0,p=e.length;f<p;f++){const v=e[f];v.isEmpty()&&(s[r++]=v.getStartPosition())}s.length>1&&s.sort(yt.compare);const a=[];let c=0,h=0;const g=n.length;for(let f=0,p=s.length;f<p;f++){const v=s[f];for(;h<g&&n[h].position.isBefore(v);)h++;if(h<g&&n[h].position.equals(v))a[c++]=n[h];else{let _=t.bracketPairs.matchBracket(v,20),y=El._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),y=El._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new o3(v,_,y)}}this._lastBracketsData=a,this._lastVersionId=i}};El.ID="editor.contrib.bracketMatchingController",El._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=xi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:ss(t3),position:ba.Center}}),El._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=xi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Jd=El;_i(Jd.ID,Jd,1);ie(n3);ie(i3);ie(s3);ur.appendMenuItem(et.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:w({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class r3{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 B(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,s,i,s),a)}else{const r=new B(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new zt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new zt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class kT extends we{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 r3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class a3 extends kT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:w("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:M.writable})}}class l3 extends kT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:w("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:M.writable})}}ie(a3);ie(l3);class c3 extends we{constructor(){super({id:"editor.action.transposeLetters",label:w("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:M.writable,kbOpts:{kbExpr:M.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,h=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&h===2))continue;const g=c===h?r.getPosition():Bw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=Bw.leftPosition(i,g),p=Bw.leftPosition(i,f),v=i.getValueInRange(B.fromPositions(p,f)),_=i.getValueInRange(B.fromPositions(f,g)),y=B.fromPositions(p,g);n.push(new Ip(y,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ie(c3);const cw=(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 Y0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function d3(o,e,t){const i={id:cw(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class IT{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 Ya.some(this,([i,n])=>n.asFile())&&t.push("files"),ET(O_(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 O_(e)}}function O_(o){return o.toLowerCase()}function DT(o,e){return ET(O_(o),e.map(O_))}function ET(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 dw=Object.freeze({create:o=>UD(o.map(e=>e.toString())).join(`\r
14
- `),split:o=>o.split(`\r
15
- `),parse:o=>dw.split(o).filter(e=>!e.startsWith("#"))}),na=class na{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+na.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new na((this.value?[this.value,...e]:e).join(na.sep))}};na.sep=".",na.None=new na("@@none@@"),na.Empty=new na("");let Sn=na;const vk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class h3{}const u3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Br.add(u3.DragAndDropContribution,new h3);const Df=class Df{constructor(){}static getInstance(){return Df.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Df.INSTANCE=new Df;let mS=Df;function PT(o){const e=new IT;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,Y0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,g3(n))}}return e}function g3(o){const e=o.path?on.parse(o.path):void 0;return d3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const f3=Object.freeze([vk.EDITORS,vk.FILES,Hy.RESOURCES,Hy.INTERNAL_URI_LIST]);function TT(o,e=!1){const t=PT(o),i=t.get(Hy.INTERNAL_URI_LIST);if(i)t.replace(_s.uriList,i);else if(e||!t.has(_s.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(on.file(a).toString()):n.push(on.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(_s.uriList,Y0(dw.create(n)))}for(const n of f3)t.delete(n);return t}var J0=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qf=function(o,e){return function(t,i){e(t,i,o)}};class Q0{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 Ef=class Ef extends Q0{constructor(){super(...arguments),this.kind=Ef.kind,this.dropMimeTypes=[_s.text],this.pasteMimeTypes=[_s.text]}async getEdit(e,t){const i=e.get(_s.text);if(!i||e.has(_s.uriList))return;const n=await i.asString();return{handledMimeType:_s.text,title:w("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Ef.id="text",Ef.kind=new Sn("text.plain");let Qd=Ef;class MT extends Q0{constructor(){super(...arguments),this.kind=new Sn("uri.absolute"),this.dropMimeTypes=[_s.uriList],this.pasteMimeTypes=[_s.uriList]}async getEdit(e,t){const i=await NT(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===$s.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?w("defaultDropProvider.uriList.uris","Insert Uris"):w("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?w("defaultDropProvider.uriList.paths","Insert Paths"):w("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:_s.uriList,insertText:s,title:r,kind:this.kind}}}let F_=class extends Q0{constructor(e){super(),this._workspaceContextService=e,this.kind=new Sn("uri.relative"),this.dropMimeTypes=[_s.uriList],this.pasteMimeTypes=[_s.uriList]}async getEdit(e,t){const i=await NT(e);if(!i.length||t.isCancellationRequested)return;const n=nl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?aA(r.uri,s):void 0}));if(n.length)return{handledMimeType:_s.uriList,insertText:n.join(" "),title:i.length>1?w("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):w("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};F_=J0([qf(0,Bu)],F_);class p3{constructor(){this.kind=new Sn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:_s.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==Wy.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:w("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function NT(o){const e=o.get(_s.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of dw.parse(t))try{i.push({uri:on.parse(n),originalText:n})}catch{}return i}let _S=class extends ze{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Qd)),this._register(e.documentDropEditProvider.register("*",new MT)),this._register(e.documentDropEditProvider.register("*",new F_(t)))}};_S=J0([qf(0,St),qf(1,Bu)],_S);let vS=class extends ze{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Qd)),this._register(e.documentPasteEditProvider.register("*",new MT)),this._register(e.documentPasteEditProvider.register("*",new F_(t))),this._register(e.documentPasteEditProvider.register("*",new p3))}};vS=J0([qf(0,St),qf(1,Bu)],vS);const Xo=class Xo{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=Xo._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(Xo.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(Xo.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(Xo.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(Xo.isVariableCharacter(i)||Xo.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 Xo._table[i]>"u"&&!Xo.isDigitCharacter(i)&&!Xo.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};Xo._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let bS=Xo;class Lg{constructor(){this._children=[]}appendChild(e){return e instanceof oo&&this._children[this._children.length-1]instanceof oo?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 h of a)h.parent=c,r(h.children,h)})(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 Kp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let oo=class RT extends Lg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new RT(this.value)}};class AT extends Lg{}class Wo extends AT{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 kg?this._children[0]:void 0}clone(){const e=new Wo(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class kg extends Lg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof oo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new kg;return this.options.forEach(e.appendChild,e),e}}class e1 extends Lg{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 Ir&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Ir){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new e1;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 Ir extends Lg{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 Ir(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Kf extends AT{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 oo(t)],!0):!1}clone(){const e=new Kf(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function bk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Kp extends Lg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Wo&&(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 bk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Wo&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Kf&&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 Kp;return this._children=this.children.map(t=>t.clone()),e}walk(e){bk(this.children,e)}}class eh{constructor(){this._scanner=new bS,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 Kp;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 Wo&&(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,h)=>{const g=n.get(c.index);if(!g)return;const f=new Wo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof Wo&&n.has(v.index)&&!h.has(v.index)&&(h.add(v.index),r(v,h),h.delete(v.index))}t.replace(c,[f])},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 Wo(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 oo(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 Wo(Number(t)):new Kf(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 Wo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new oo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new kg;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 oo(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 Kf(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new oo("${"+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 e1;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 oo(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 Ir(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Ir(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 Ir(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Ir(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Ir(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 Ir(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Ir(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new oo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function OT(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 lA(o,{range:s,text:typeof t.insertText=="string"?eh.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function FT(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 h=t.get(r);h||(h=[],t.set(r,h)),h.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 h=t.get(a);return h&&(n.push(a),c=s(h),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var m3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_3=function(o,e){return function(t,i){e(t,i,o)}};const v3=xi.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:$D,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Gv=class Gv extends ze{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=ht(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=ht("span.icon");this.domNode.append(t),t.classList.add(...Ki.asClassNameArray(Xt.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(Hi(this.domNode,Fn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Gv.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)}};Gv.baseId="editor.widget.inlineProgressWidget";let wS=Gv,H_=class extends ze{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Lo),this._currentWidget=this._register(new Lo),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=Mf(()=>{const a=B.fromPositions(e);this._currentDecorations.set([{range:a,options:v3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(wS,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()}};H_=m3([_3(2,ri)],H_);var b3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wk=function(o,e){return function(t,i){e(t,i,o)}},n_,Zl;let ao=(Zl=class{static get(e){return e.getContribution(n_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Lo,this._messageListeners=new He,this._mouseOverMessage=!1,this._editor=e,this._visible=n_.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){gr(qm(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=qm(e)?cA(e,{actionHandler:{callback:n=>{this.closeMessage(),dA(this._openerService,n,qm(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new yk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(rs.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&hA(jD(),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(Hi(this._messageWidget.value.getDomNode(),Fn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Hi(this._messageWidget.value.getDomNode(),Fn.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 B(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(yk.fadeOut(this._messageWidget.value))}},n_=Zl,Zl.ID="editor.contrib.messageController",Zl.MESSAGE_VISIBLE=new Pi("messageVisible",!1,w("messageVisible","Whether the editor is currently showing an inline message")),Zl);ao=n_=b3([wk(1,Wi),wk(2,zr)],ao);const w3=Js.bindToContribution(ao.get);Lt(new w3({id:"leaveEditorMessage",precondition:ao.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let yk=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const r=document.createElement("div");typeof n=="string"?(r.classList.add("message"),r.textContent=n):(n.classList.add("message"),r.appendChild(n)),this._domNode.appendChild(r);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};_i(ao.ID,ao,4);function iy(o,e){return e&&(o.stack||o.stacktrace)?w("stackTrace.format","{0}: {1}",Ck(o),Sk(o.stack)||Sk(o.stacktrace)):Ck(o)}function Sk(o){return Array.isArray(o)?o.join(`
16
- `):o}function Ck(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"?w("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function W_(o=null,e=!1){if(!o)return w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=nl(o),i=W_(t[0],e);return t.length>1?w("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(qD(o))return o;if(o.detail){const t=o.detail;if(t.error)return iy(t.error,e);if(t.exception)return iy(t.exception,e)}return o.stack?iy(o,e):o.message?o.message:w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var HT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bu=function(o,e){return function(t,i){e(t,i,o)}},yS,ad;let SS=(ad=class extends ze{constructor(e,t,i,n,s,r,a,c,h,g){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=g,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(h),this.visibleContext.set(!0),this._register(yn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(yn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(rs.runAndSubscribe(g.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=ht(".post-edit-widget"),this.button=this._register(new uA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Hi(this.domNode,Fn.CLICK,()=>this.showSelector()))}getId(){return yS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Gs(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>gA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},yS=ad,ad.baseId="editor.widget.postEditWidget",ad);SS=yS=HT([bu(7,_g),bu(8,Wi),bu(9,is)],SS);let B_=class extends ze{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 Lo),this._register(rs.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 S=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:S,allEdits:t.allEdits},i,n,s))},h=(S,D)=>{wc(S)||(this._notificationService.error(D),i&&this.show(e[0],t,c))};let g;try{g=await n(a,s)}catch(S){return h(S,w("resolveError",`Error resolving edit '{0}':
17
- {1}`,a.title,W_(S)))}if(s.isCancellationRequested)return;const f=OT(r.uri,e,g),p=e[0],v=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let _,y;try{_=await this._bulkEditService.apply(f,{editor:this._editor,token:s}),y=r.getDecorationRange(v[0])}catch(S){return h(S,w("applyError",`Error applying edit '{0}':
18
- {1}`,a.title,W_(S)))}finally{r.deltaDecorations(v,[])}s.isCancellationRequested||i&&_.isApplied&&t.allEdits.length>1&&this.show(y??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(SS,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()}};B_=HT([bu(4,ri),bu(5,Rb),bu(6,zs)],B_);var y3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nh=function(o,e){return function(t,i){e(t,i,o)}},Mc;const WT="editor.changePasteType",t1=new Pi("pasteWidgetVisible",!1,w("pasteWidgetVisible","Whether the paste widget is showing")),ny="application/vnd.code.copyMetadata";var ld;let cl=(ld=class extends ze{static get(e){return e.getContribution(Mc.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(Hi(c,"copy",h=>this.handleCopy(h))),this._register(Hi(c,"cut",h=>this.handleCopy(h))),this._register(Hi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new H_("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(B_,"pasteIntoEditor",e,t1,{id:WT,label:w("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},d0().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 y,S,D,P;if(!this._editor.hasTextFocus()||((S=(y=this._clipboardService).clearInternalState)==null||S.call(y),!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 B(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,Ab),h={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},g=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(N=>!!N.prepareDocumentPaste);if(!g.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:h});return}const f=PT(e.clipboardData),p=g.flatMap(N=>N.copyMimeTypes??[]),v=cw();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=fs(async N=>{const j=nl(await Promise.all(g.map(async H=>{try{return await H.prepareDocumentPaste(t,s,f,N)}catch(ee){console.error(ee);return}})));j.reverse();for(const H of j)for(const[ee,X]of H)f.replace(ee,X);return f});(P=Mc._currentCopyOperation)==null||P.dataTransferPromise.cancel(),Mc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=ao.get(this._editor))==null||c.closeMessage(),(h=this._currentPasteOperation)==null||h.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=TT(e.clipboardData);s.delete(ny);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],_s.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(f=>{var v,_;const p=(v=this._pasteAsActionContext)==null?void 0:v.preferred;return p&&f.providedPasteEditKinds&&!this.providerMatchesPreference(f,p)?!1:(_=f.pasteMimeTypes)==null?void 0:_.some(y=>DT(y,r))});if(!a.length){(g=this._pasteAsActionContext)!=null&&g.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=ao.get(this._editor))==null||i.showMessage(w("pasteAsError","No paste edits for '{0}' found",t instanceof Sn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new zu(r,3,void 0),c=fs(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new He,v=p.add(new ps(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const y=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!y.length||y.length===1&&y[0]instanceof Qd)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:Wy.Automatic},D=await this.getPasteEdits(y,i,f,t,S,_);if(p.add(D),_.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof Qd)return this.applyDefaultPasteHandler(i,n,_,s);if(D.edits.length){const P=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(N,j)=>new Promise((H,ee)=>{(async()=>{var X,fe;try{const be=(fe=(X=N.provider).resolveDocumentPasteEdit)==null?void 0:fe.call(X,N,j),Te=new Ob,xe=be&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),w("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Te.p,be]),{cancel:()=>(Te.cancel(),ee(new Fb))},0);return xe&&(N.additionalEdit=xe.additionalEdit),H(N)}catch(be){return ee(be)}})()}),_)}await this.applyDefaultPasteHandler(i,n,_,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),w("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=fs(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new He,f=g.add(new zu(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,f.token),f.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const v={triggerKind:Wy.PasteAs,only:e&&e instanceof Sn?e:void 0};let _=g.add(await this.getPasteEdits(p,n,h,i,v,f.token));if(f.token.isCancellationRequested)return;if(e&&(_={edits:_.edits.filter(D=>e instanceof Sn?e.contains(D.kind):e.providerId===D.provider.id),dispose:_.dispose}),!_.edits.length){v.only&&this.showPasteAsNoEditMessage(i,v.only);return}let y;if(e)y=_.edits.at(0);else{const D=await this._quickInputService.pick(_.edits.map(P=>{var N;return{label:P.title,description:(N=P.kind)==null?void 0:N.value,edit:P}}),{placeHolder:w("pasteAsPickerPlaceholder","Select Paste Action")});y=D==null?void 0:D.edit}if(!y)return;const S=OT(h.uri,i,y);await this._bulkEditService.apply(S,{editor:this._editor})}finally{g.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:w("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(ny,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(ny);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=fA.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=Mc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Mc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(_s.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(_s.uriList,Y0(dw.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new He,c=await Dp(Promise.all(e.map(async g=>{var f,p;try{const v=await((f=g.provideDocumentPasteEdits)==null?void 0:f.call(g,i,n,t,s,r));return v&&a.add(v),(p=v==null?void 0:v.edits)==null?void 0:p.map(_=>({..._,provider:g}))}catch(v){wc(v)||console.error(v);return}})),r),h=nl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:FT(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(_s.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 Sn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Mc=ld,ld.ID="editor.contrib.copyPasteActionController",ld);cl=Mc=y3([Nh(1,ri),Nh(2,Rb),Nh(3,vg),Nh(4,St),Nh(5,gl),Nh(6,pA)],cl);const th="9_cutcopypaste",S3=bg||document.queryCommandSupported("cut"),BT=bg||document.queryCommandSupported("copy"),C3=typeof navigator.clipboard>"u"||mA?document.queryCommandSupported("paste"):!0;function i1(o){return o.register(),o}const x3=S3?i1(new h0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:bg?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:et.MenubarEditMenu,group:"2_ccp",title:w({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:et.EditorContext,group:th,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:et.CommandPalette,group:"",title:w("actions.clipboard.cutLabel","Cut"),order:1},{menuId:et.SimpleEditorContext,group:th,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,L3=BT?i1(new h0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:bg?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:et.MenubarEditMenu,group:"2_ccp",title:w({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:et.EditorContext,group:th,title:w("actions.clipboard.copyLabel","Copy"),order:2},{menuId:et.CommandPalette,group:"",title:w("actions.clipboard.copyLabel","Copy"),order:1},{menuId:et.SimpleEditorContext,group:th,title:w("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ur.appendMenuItem(et.MenubarEditMenu,{submenu:et.MenubarCopy,title:vt("copy as","Copy As"),group:"2_ccp",order:3});ur.appendMenuItem(et.EditorContext,{submenu:et.EditorContextCopy,title:vt("copy as","Copy As"),group:th,order:3});ur.appendMenuItem(et.EditorContext,{submenu:et.EditorContextShare,title:vt("share","Share"),group:"11_share",order:-1,when:oe.and(oe.notEquals("resourceScheme","output"),M.editorTextFocus)});ur.appendMenuItem(et.ExplorerContext,{submenu:et.ExplorerContextShare,title:vt("share","Share"),group:"11_share",order:-1});const sy=C3?i1(new h0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:bg?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:et.MenubarEditMenu,group:"2_ccp",title:w({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:et.EditorContext,group:th,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:et.CommandPalette,group:"",title:w("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:et.SimpleEditorContext,group:th,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class k3 extends we{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:w("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(IL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),IL.forceCopyWithSyntaxHighlighting=!1)}}function zT(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(Jn).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)=>(d0().execCommand(e),!0)))}zT(x3,"cut");zT(L3,"copy");sy&&(sy.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(Jn),i=o.get(vg),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=cl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():_A?(async()=>{const a=await i.readText();if(a!==""){const c=vA.INSTANCE.get(a);let h=!1,g=null,f=null;c&&(h=n.getOption(37)&&!!c.isFromEmptySelection,g=typeof c.multicursorText<"u"?c.multicursorText:null,f=c.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:h,multicursorText:g,mode:f})}})():!0:!1}),sy.addImplementation(0,"generic-dom",(o,e)=>(d0().execCommand("paste"),!0)));BT&&ie(k3);const gn=new class{constructor(){this.QuickFix=new Sn("quickfix"),this.Refactor=new Sn("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 Sn("notebook"),this.Source=new Sn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var uo;(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"})(uo||(uo={}));function I3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>VT(e,t,o.include))||!o.includeSourceActions&&gn.Source.contains(e))}function D3(o,e){const t=e.kind?new Sn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>VT(t,i,o.include))||!o.includeSourceActions&&t&&gn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function VT(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class ga{static fromUser(e,t){return!e||typeof e!="object"?new ga(t.kind,t.apply,!1):new ga(ga.getKindFromUser(e,t.kind),ga.getApplyFromUser(e,t.apply),ga.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 Sn(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 E3{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){Yn(n)}i&&(this.action.edit=i.edit)}return this}}const jT="editor.action.codeAction",n1="editor.action.quickFix",UT="editor.action.autoFix",$T="editor.action.refactor",qT="editor.action.sourceAction",CS="editor.action.organizeImports",xS="editor.action.fixAll";class vf extends ze{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:So(e.diagnostics)?So(t.diagnostics)?vf.codeActionsPreferredComparator(e,t):-1:So(t.diagnostics)?1:vf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(vf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&gn.QuickFix.contains(new Sn(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 xk={actions:[],documentation:void 0};async function su(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],gn.Notebook]},c={only:(y=r.include)==null?void 0:y.value,trigger:i.type},h=new bA(e,s),g=i.type===2,f=P3(o,e,g?a:r),p=new He,v=f.map(async S=>{try{n.report(S);const D=await S.provideCodeActions(e,t,c,h.token);if(D&&p.add(D),h.token.isCancellationRequested)return xk;const P=((D==null?void 0:D.actions)||[]).filter(j=>j&&D3(r,j)),N=M3(S,P,r.include);return{actions:P.map(j=>new E3(j,S)),documentation:N}}catch(D){if(wc(D))throw D;return Yn(D),xk}}),_=o.onDidChange(()=>{const S=o.all(e);Ca(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(N=>N.actions).flat(),P=[...nl(S.map(N=>N.documentation)),...T3(o,e,i,D)];return new vf(D,P,p)}finally{_.dispose(),h.dispose()}}function P3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>I3(t,new Sn(n))):!0)}function*T3(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 M3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Sn(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 Sn(n.kind)))return s.command}}var jc;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(jc||(jc={}));async function N3(o,e,t,i,n=fi.None){var h;const s=o.get(Rb),r=o.get(us),a=o.get(Vr),c=o.get(zs);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&&!((h=e.action.edit)!=null&&h.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!==jc.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(g){const f=R3(g);c.error(typeof f=="string"?f:w("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function R3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}pn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof on))throw Ja();const{codeActionProvider:s}=o.get(St),r=o.get(Vs).getModel(e);if(!r)throw Ja();const a=zt.isISelection(t)?zt.liftSelection(t):B.isIRange(t)?r.validateRange(t):void 0;if(!a)throw Ja();const c=typeof i=="string"?new Sn(i):void 0,h=await su(s,r,a,{type:1,triggerAction:uo.Default,filter:{includeSourceActions:!0,include:c}},Ka.None,fi.None),g=[],f=Math.min(h.validActions.length,typeof n=="number"?n:0);for(let p=0;p<f;p++)g.push(h.validActions[p].resolve(fi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var A3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},O3=function(o,e){return function(t,i){e(t,i,o)}},LS,cd;let kS=(cd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new u0(()=>this.keybindingService.getKeybindings().filter(t=>LS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===CS?i={kind:gn.SourceOrganizeImports.value}:t.command===xS&&(i={kind:gn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...ga.fromUser(i,{kind:Sn.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 Sn(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)}},LS=cd,cd.codeActionCommands=[$T,jT,qT,CS,xS],cd);kS=LS=A3([O3(0,is)],kS);ut("symbolIcon.arrayForeground",ls,w("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.booleanForeground",ls,w("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},w("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.colorForeground",ls,w("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.constantForeground",ls,w("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},w("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},w("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},w("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.fileForeground",ls,w("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.folderForeground",ls,w("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},w("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.keyForeground",ls,w("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.keywordForeground",ls,w("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},w("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.moduleForeground",ls,w("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.namespaceForeground",ls,w("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.nullForeground",ls,w("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.numberForeground",ls,w("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.objectForeground",ls,w("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.operatorForeground",ls,w("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.packageForeground",ls,w("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.propertyForeground",ls,w("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.referenceForeground",ls,w("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.snippetForeground",ls,w("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.stringForeground",ls,w("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.structForeground",ls,w("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.textForeground",ls,w("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.typeParameterForeground",ls,w("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.unitForeground",ls,w("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const KT=Object.freeze({kind:Sn.Empty,title:w("codeAction.widget.id.more","More Actions...")}),F3=Object.freeze([{kind:gn.QuickFix,title:w("codeAction.widget.id.quickfix","Quick Fix")},{kind:gn.RefactorExtract,title:w("codeAction.widget.id.extract","Extract"),icon:Xt.wrench},{kind:gn.RefactorInline,title:w("codeAction.widget.id.inline","Inline"),icon:Xt.wrench},{kind:gn.RefactorRewrite,title:w("codeAction.widget.id.convert","Rewrite"),icon:Xt.wrench},{kind:gn.RefactorMove,title:w("codeAction.widget.id.move","Move"),icon:Xt.wrench},{kind:gn.SurroundWith,title:w("codeAction.widget.id.surround","Surround With"),icon:Xt.surroundWith},{kind:gn.Source,title:w("codeAction.widget.id.source","Source Action"),icon:Xt.symbolFile},KT]);function H3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:KT,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=F3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Sn(s.action.kind):Sn.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:Xt.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var W3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},B3=function(o,e){return function(t,i){e(t,i,o)}},Gh;const Lk=Gn("gutter-lightbulb",Xt.lightBulb,w("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),kk=Gn("gutter-lightbulb-auto-fix",Xt.lightbulbAutofix,w("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),Ik=Gn("gutter-lightbulb-sparkle",Xt.lightbulbSparkle,w("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Dk=Gn("gutter-lightbulb-aifix-auto-fix",Xt.lightbulbSparkleAutofix,w("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.")),Ek=Gn("gutter-lightbulb-sparkle-filled",Xt.sparkleFilled,w("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 Cr;(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})(Cr||(Cr={}));var Za;let Gf=(Za=class extends ze{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new gi),this.onClick=this._onClick.event,this._state=Cr.Hidden,this._gutterState=Cr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Lk.id,"codicon-"+Dk.id,"codicon-"+kk.id,"codicon-"+Ik.id,"codicon-"+Ek.id],this.gutterDecoration=Gh.GUTTER_DECORATION,this._domNode=ht("div.lightBulbWidget"),this._domNode.role="listbox",this._register(KD.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(wA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=Gs(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(Hi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(rs.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(UT))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(n1))==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}=Gs(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),h=r.getOptions().tabSize,g=this._editor.getOptions().get(50),f=r.getLineContent(a),p=g0(f,h),v=g.spaceWidth*p>22,_=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),y=this._editor.getLineDecorations(a);let S=!1;if(y)for(const H of y){const ee=H.options.glyphMarginClassName;if(ee&&!this.lightbulbClasses.some(X=>ee.includes(X))){S=!0;break}}let D=a,P=1;if(!v){const H=ee=>{const X=r.getLineContent(ee);return/^\s*$|^\s+/.test(X)||X.length<=P};if(a>1&&!_(a-1)){const ee=r.getLineCount(),X=a===ee,fe=a>1&&H(a-1),be=!X&&H(a+1),Te=H(a),xe=!be&&!fe;if(!be&&!fe&&!S)return this.gutterState=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Gh._posPref}),this.renderGutterLightbub(),this.hide();fe||X||fe&&!Te?D-=1:(be||xe&&Te)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Gh._posPref}),S)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!_(a+1))D+=1;else if(c*g.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Gh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const N=e.validActions,j=e.validActions[0].action.kind;if(N.length!==1||!j){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Cr.Hidden&&(this.state=Cr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Cr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Cr.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=Xt.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Xt.lightbulbSparkleAutofix:e=Xt.lightbulbAutofix:this.state.actions.hasAIFix?e=Xt.lightbulbSparkle:e=Xt.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Ki.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Ek,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Dk:e=kk:this.gutterState.actions.hasAIFix?e=Ik:e=Lk,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=xi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Ki.asClassName(e),glyphMargin:{position:b_.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 B(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 B(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=w("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=w("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=w("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=w("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Gh=Za,Za.GUTTER_DECORATION=xi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Ki.asClassName(Xt.lightBulb),glyphMargin:{position:b_.Left},stickiness:1}),Za.ID="editor.contrib.lightbulbWidget",Za._posPref=[0],Za);Gf=Gh=W3([B3(1,is)],Gf);var GT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},IS=function(o,e){return function(t,i){e(t,i,o)}};const ZT="acceptSelectedCodeAction",XT="previewSelectedCodeAction";class z3{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 DS=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 f0(e,p0);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=Ki.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Zc(e.group.icon.color.id))):(i.icon.className=Ki.asClassName(Xt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=YT(e.label),i.keybinding.set(e.keybinding),yA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(ZT))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(XT))==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=w({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=w({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};DS=GT([IS(1,is)],DS);class V3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Pk extends UIEvent{constructor(){super("previewSelectedAction")}}function j3(o){if(o.kind==="action")return o.label}let ES=class extends ze{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 ps),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 m0(e,this.domNode,a,[new DS(t,this._keybindingService),new z3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:j3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?YT(c==null?void 0:c.label):"";return c.disabled&&(h=w({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",h,c.disabled)),h}return null},getWidgetAriaLabel:()=>w({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:c=>c.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(SA),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((h,g)=>{const f=this.domNode.ownerDocument.getElementById(this._list.getElementID(g));if(f){f.style.width="auto";const p=f.getBoundingClientRect().width;return f.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 Pk:new V3;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 Pk):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([])}};ES=GT([IS(4,Hb),IS(5,is)],ES);function YT(o){return o.replace(/\r\n|\r|\n/g," ")}var U3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oy=function(o,e){return function(t,i){e(t,i,o)}};ut("actionBar.toggledBackground",_0,w("actionBar.toggledBackground","Background color for toggled action items in action bar."));const ih={Visible:new Pi("codeActionMenuVisible",!1,w("codeActionMenuVisible","Whether the action widget list is visible"))},mh=fl("actionWidgetService");let nh=class extends ze{get isVisible(){return ih.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Lo)}show(e,t,i,n,s,r,a){const c=ih.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(ES,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:g=>(c.set(!0),this._renderWidget(g,h,a??[])),onHide:g=>{c.reset(),this._onWidgetClosed(g)}},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 v;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 He,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Hi(a,Fn.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(Hi(h,Fn.POINTER_MOVE,()=>h.remove())),s.add(Hi(h,Fn.MOUSE_DOWN,()=>h.remove()));let g=0;if(i.length){const _=this._createActionBar(".action-widget-action-bar",i);_&&(n.appendChild(_.getContainer().parentElement),s.add(_),g=_.getContainer().offsetWidth)}const f=(v=this._list.value)==null?void 0:v.layout(g);n.style.width=`${f}px`;const p=s.add(Vu(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=ht(e),n=new Nf(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};nh=U3([oy(0,Hb),oy(1,Wi),oy(2,ri)],nh);pl(mh,nh,1);const Gp=1100;Qi(class extends Ys{constructor(){super({id:"hideCodeActionWidget",title:vt("hideCodeActionWidget.title","Hide action widget"),precondition:ih.Visible,keybinding:{weight:Gp,primary:9,secondary:[1033]}})}run(o){o.get(mh).hide(!0)}});Qi(class extends Ys{constructor(){super({id:"selectPrevCodeAction",title:vt("selectPrevCodeAction.title","Select previous action"),precondition:ih.Visible,keybinding:{weight:Gp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(mh);e instanceof nh&&e.focusPrevious()}});Qi(class extends Ys{constructor(){super({id:"selectNextCodeAction",title:vt("selectNextCodeAction.title","Select next action"),precondition:ih.Visible,keybinding:{weight:Gp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(mh);e instanceof nh&&e.focusNext()}});Qi(class extends Ys{constructor(){super({id:ZT,title:vt("acceptSelected.title","Accept selected action"),precondition:ih.Visible,keybinding:{weight:Gp,primary:3,secondary:[2137]}})}run(o){const e=o.get(mh);e instanceof nh&&e.acceptSelected()}});Qi(class extends Ys{constructor(){super({id:XT,title:vt("previewSelected.title","Preview selected action"),precondition:ih.Visible,keybinding:{weight:Gp,primary:2051}})}run(o){const e=o.get(mh);e instanceof nh&&e.acceptSelected(!0)}});const JT=new Pi("supportedCodeAction",""),Tk="_typescript.applyFixAllCodeAction";class $3 extends ze{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Ep),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=>w_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:uo.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!==zw.Off){{if(i===zw.On)return t;if(i===zw.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 Oc;(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(wc(r))return QT;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(Oc||(Oc={}));const QT=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class q3 extends ze{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 Lo),this._state=Oc.Empty,this._onDidChangeState=this._register(new gi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=JT.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(Oc.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(Oc.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 $3(this._editor,this._markerService,i=>{var c;if(!i){this.setState(Oc.Empty);return}const n=i.selection.getStartPosition(),s=fs(async h=>{var g,f,p,v,_,y,S,D,P,N;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===uo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(gn.QuickFix))){const j=await su(this._registry,e,i.selection,i.trigger,Ka.None,h),H=[...j.allActions];if(h.isCancellationRequested)return QT;const ee=(p=j.validActions)==null?void 0:p.some(fe=>fe.action.kind?gn.QuickFix.contains(new Sn(fe.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(ee){for(const fe of j.validActions)(_=(v=fe.action.command)==null?void 0:v.arguments)!=null&&_.some(be=>typeof be=="string"&&be.includes(Tk))&&(fe.action.diagnostics=[...X.filter(be=>be.relatedInformation)]);return{validActions:j.validActions,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}else if(!ee&&X.length>0){const fe=i.selection.getPosition();let be=fe,Te=Number.MAX_VALUE;const xe=[...j.validActions];for(const Pt of X){const dt=Pt.endColumn,ai=Pt.endLineNumber,Mt=Pt.startLineNumber;if(ai===fe.lineNumber||Mt===fe.lineNumber){be=new yt(ai,dt);const Jt={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(S=i.trigger.filter)==null?void 0:S.include:gn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:be}},ge=new zt(be.lineNumber,be.column,be.lineNumber,be.column),rt=await su(this._registry,e,ge,Jt,Ka.None,h);if(rt.validActions.length!==0){for(const Ae of rt.validActions)(N=(P=Ae.action.command)==null?void 0:P.arguments)!=null&&N.some(Ze=>typeof Ze=="string"&&Ze.includes(Tk))&&(Ae.action.diagnostics=[...X.filter(Ze=>Ze.relatedInformation)]);j.allActions.length===0&&H.push(...rt.allActions),Math.abs(fe.column-dt)<Te?xe.unshift(...rt.validActions):xe.push(...rt.validActions)}Te=Math.abs(fe.column-dt)}}const ct=xe.filter((Pt,dt,ai)=>ai.findIndex(Mt=>Mt.action.title===Pt.action.title)===dt);return ct.sort((Pt,dt)=>Pt.action.isPreferred&&!dt.action.isPreferred?-1:!Pt.action.isPreferred&&dt.action.isPreferred||Pt.action.isAI&&!dt.action.isAI?1:!Pt.action.isAI&&dt.action.isAI?-1:0),{validActions:ct,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 ho,H=await su(this._registry,e,i.selection,i.trigger,Ka.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:j.elapsed()}),H}return su(this._registry,e,i.selection,i.trigger,Ka.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new Oc.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:uo.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 K3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Jr=function(o,e){return function(t,i){e(t,i,o)}},Zh;const G3="quickfix-edit-highlight";var Xl;let ng=(Xl=class extends ze{static get(e){return e.getContribution(Zh.ID)}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this._commandService=a,this._configurationService=c,this._actionWidgetService=h,this._instantiationService=g,this._telemetryService=f,this._activeCodeActions=this._register(new Lo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new q3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new u0(()=>{const p=this._editor.getContribution(Gf.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(kS),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,jc.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=ao.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(N3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:uo.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(h){dn(h);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 g=this.tryGetValidActionToApply(e.trigger,t);if(g){try{this.hideLightBulbWidget(),await this._applyCodeAction(g,!1,!1,jc.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=ao.get(this._editor))==null||r.showMessage(f.action.disabled,e.trigger.context.position),t.dispose();return}}}const h=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!h&&!t.validActions.length)){(c=ao.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:h,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(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?jc.FromAILightbulb:jc.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:h=>{var g;(g=this._editor)==null||g.focus(),n.clear()},onHover:async(h,g)=>{var v;if(g.isCancellationRequested)return;let f=!1;const p=h.action.kind;if(p){const _=new Sn(p);f=[gn.RefactorExtract,gn.RefactorInline,gn.RefactorRewrite,gn.RefactorMove,gn.Source].some(S=>S.contains(_))}return{canPreview:f||!!((v=h.action.edit)!=null&&v.edits.length)}},onFocus:h=>{var g,f;if(h&&h.action){const p=h.action.ranges,v=h.action.diagnostics;if(n.clear(),p&&p.length>0){const _=v&&(v==null?void 0:v.length)>1?v.map(y=>({range:y,options:Zh.DECORATION})):p.map(y=>({range:y,options:Zh.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:Zh.DECORATION}));n.set(_);const y=v[0];if(y.startLineNumber&&y.startColumn){const S=(f=(g=this._editor.getModel())==null?void 0:g.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:f.word;ju(w("editingNewSelection","Context: {0} at line {1} and column {2}.",S,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,H3(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=Gs(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:w("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:w("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Zh=Xl,Xl.ID="editor.contrib.codeActionController",Xl.DECORATION=xi.register({description:"quickfix-highlight",className:G3}),Xl);ng=Zh=K3([Jr(1,v0),Jr(2,Wi),Jr(3,ri),Jr(4,St),Jr(5,Pp),Jr(6,us),Jr(7,Cn),Jr(8,mh),Jr(9,ri),Jr(10,Vr)],ng);Wb((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(CA));const i=o.getColor(GD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Rf(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Zp(o){return oe.regex(JT.keys()[0],new RegExp("(\\s|^)"+Af(o.value)+"\\b"))}const s1={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:w("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:w("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[w("args.schema.apply.first","Always apply the first returned code action."),w("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),w("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:w("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function _h(o,e,t,i,n=uo.Default){if(o.hasModel()){const s=ng.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class Z3 extends we{constructor(){super({id:n1,label:w("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:oe.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:2137,weight:100}})}run(e,t){return _h(t,w("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,uo.QuickFix)}}class X3 extends Js{constructor(){super({id:jT,precondition:oe.and(M.writable,M.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:s1}]}})}runEditorCommand(e,t,i){const n=ga.fromUser(i,{kind:Sn.Empty,apply:"ifSingle"});return _h(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?w("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):w("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?w("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):w("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class Y3 extends we{constructor(){super({id:$T,label:w("refactor.label","Refactor..."),alias:"Refactor...",precondition:oe.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:oe.and(M.writable,Zp(gn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:s1}]}})}run(e,t,i){const n=ga.fromUser(i,{kind:gn.Refactor,apply:"never"});return _h(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?w("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):w("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?w("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):w("editor.action.refactor.noneMessage","No refactorings available"),{include:gn.Refactor.contains(n.kind)?n.kind:Sn.None,onlyIncludePreferredActions:n.preferred},n.apply,uo.Refactor)}}class J3 extends we{constructor(){super({id:qT,label:w("source.label","Source Action..."),alias:"Source Action...",precondition:oe.and(M.writable,M.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:oe.and(M.writable,Zp(gn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:s1}]}})}run(e,t,i){const n=ga.fromUser(i,{kind:gn.Source,apply:"never"});return _h(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?w("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):w("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?w("editor.action.source.noneMessage.preferred","No preferred source actions available"):w("editor.action.source.noneMessage","No source actions available"),{include:gn.Source.contains(n.kind)?n.kind:Sn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,uo.SourceAction)}}class Q3 extends we{constructor(){super({id:CS,label:w("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:oe.and(M.writable,Zp(gn.SourceOrganizeImports)),kbOpts:{kbExpr:M.textInputFocus,primary:1581,weight:100}})}run(e,t){return _h(t,w("editor.action.organize.noneMessage","No organize imports action available"),{include:gn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",uo.OrganizeImports)}}class eB extends we{constructor(){super({id:xS,label:w("fixAll.label","Fix All"),alias:"Fix All",precondition:oe.and(M.writable,Zp(gn.SourceFixAll))})}run(e,t){return _h(t,w("fixAll.noneMessage","No fix all action available"),{include:gn.SourceFixAll,includeSourceActions:!0},"ifSingle",uo.FixAll)}}class tB extends we{constructor(){super({id:UT,label:w("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:oe.and(M.writable,Zp(gn.QuickFix)),kbOpts:{kbExpr:M.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return _h(t,w("editor.action.autoFix.noneMessage","No auto fixes available"),{include:gn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",uo.AutoFix)}}_i(ng.ID,ng,3);_i(Gf.ID,Gf,4);ie(Z3);ie(Y3);ie(J3);ie(Q3);ie(tB);ie(eB);Lt(new X3);Br.as(Tp.Configuration).registerConfiguration({...Bb,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:w("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Br.as(Tp.Configuration).registerConfiguration({...Bb,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:w("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});Br.as(Tp.Configuration).registerConfiguration({...Bb,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:w("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 PS{constructor(){this.lenses=[],this._disposables=new He}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 eM(o,e,t){const i=o.ordered(e),n=new Map,s=new PS,r=i.map(async(a,c)=>{n.set(a,c);try{const h=await Promise.resolve(a.provideCodeLenses(e,t));h&&s.add(h,a)}catch(h){Yn(h)}});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}pn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;$i(on.isUri(t)),$i(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(St),s=o.get(Vs).getModel(t);if(!s)throw Ja();const r=[],a=new He;return eM(n,s,fi.None).then(c=>{a.add(c);const h=[];for(const g of c.lenses)i==null||g.symbol.command?r.push(g.symbol):i-- >0&&g.provider.resolveCodeLens&&h.push(Promise.resolve(g.provider.resolveCodeLens(s,g.symbol,fi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var iB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nB=function(o,e){return function(t,i){e(t,i,o)}};const tM=fl("ICodeLensCache");class Mk{constructor(e,t){this.lineCount=e,this.data=t}}let TS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Mp(20,.75);const t="codelens/cache";xA(LA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=rs.filter(e.onWillSaveState,r=>r.reason===b0.SHUTDOWN);rs.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 PS;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new Mk(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 B(a,1,a,11)});const r=new PS;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Mk(n.lineCount,r))}}catch{}}};TS=iB([nB(0,yc)],TS);pl(tM,TS,1);class sB{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 Pf=class Pf{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Pf._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s<e.length;s++){const r=e[s];if(r&&(n=!0,r.command)){const a=kA(r.command.title.trim());if(r.command.id){const c=`c${Pf._idPool++}`;i.push(ht("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(ht("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(ht("span",void 0," | "))}}n?(y_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):y_(this._domNode,ht("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}};Pf._idPool=0;let MS=Pf;class ry{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 Nk=xi.register({collapseOnReplaceEdit:!0,description:"codelens"});class Rk{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((h,g)=>{h.symbol.command&&c.push(h.symbol),i.addDecoration({range:h.symbol.range,options:Nk},f=>this._decorationIds[g]=f),a?a=B.plusRange(a,h.symbol.range):a=B.lift(h.symbol.range)}),this._viewZone=new sB(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 MS(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&&B.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:Nk},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 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},Bg=function(o,e){return function(t,i){e(t,i,o)}},Pu;let Zf=(Pu=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 He,this._localToDispose=new He,this._lenses=[],this._oldCodeLensModels=new He,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new as(()=>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",w0.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&&Mf(()=>{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 as(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=fs(r=>eM(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()},dn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(yn(()=>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(g=>{!g.isValid()||c===g.getLineNumber()?a.push(g):(g.update(r),c=g.getLineNumber())});const h=new ry;a.forEach(g=>{g.dispose(h,r),this._lenses.splice(this._lenses.indexOf(g),1)}),h.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(yn(()=>{if(this._editor.getModel()){const n=Uu.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 ry;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=Uu.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new ry;let g=0,f=0;for(;f<i.length&&g<this._lenses.length;){const p=i[f][0].symbol.range.startLineNumber,v=this._lenses[g].getLineNumber();v<p?(this._lenses[g].dispose(h,c),this._lenses.splice(g,1)):v===p?(this._lenses[g].updateCodeLensSymbols(i[f],h),f++,g++):(this._lenses.splice(g,0,new Rk(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++,f++)}for(;g<this._lenses.length;)this._lenses[g].dispose(h,c),this._lenses.splice(g,1);for(;f<i.length;)this._lenses.push(new Rk(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++;h.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=fs(a=>{const c=t.map((h,g)=>{const f=new Array(h.length),p=h.map((v,_)=>!v.symbol.command&&typeof v.provider.resolveCodeLens=="function"?Promise.resolve(v.provider.resolveCodeLens(e,v.symbol,a)).then(y=>{f[_]=y},Yn):(f[_]=v.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[g].isDisposed()&&i[g].updateCommands(f)})});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=>{dn(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}},Pu.ID="css.editor.codeLens",Pu);Zf=oB([Bg(1,St),Bg(2,Vo),Bg(3,us),Bg(4,zs),Bg(5,tM)],Zf);_i(Zf.ID,Zf,1);ie(class extends we{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:M.hasCodeLensProvider,label:w("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(gl),n=e.get(us),s=e.get(zs),r=t.getSelection().positionLineNumber,a=t.getContribution(Zf.ID);if(!a)return;const c=await a.getModel();if(!c)return;const h=[];for(const p of c.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&h.push({label:p.symbol.command.title,command:p.symbol.command});if(h.length===0)return;const g=await i.pick(h,{canPickMany:!1,placeHolder:w("placeHolder","Select a command")});if(!g)return;let f=g.command;if(c.isDisposed){const p=await a.getModel(),v=p==null?void 0:p.lenses.find(_=>{var y;return _.symbol.range.startLineNumber===r&&((y=_.symbol.command)==null?void 0:y.title)===f.title});if(!v||!v.symbol.command)return;f=v.symbol.command}try{await n.executeCommand(f.id,...f.arguments||[])}catch(p){s.error(p)}}});var iM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};let Xf=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 wi(new $u(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?wi.Format.CSS.formatRGB(a):wi.Format.CSS.formatRGBA(a),h=r?wi.Format.CSS.formatHSL(a):wi.Format.CSS.formatHSLA(a),g=r?wi.Format.CSS.formatHex(a):wi.Format.CSS.formatHexA(a),f=[];return f.push({label:c,textEdit:{range:n,text:c}}),f.push({label:h,textEdit:{range:n,text:h}}),f.push({label:g,textEdit:{range:n,text:g}}),f}};Xf=iM([NS(0,ml)],Xf);let RS=class extends ze{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Xf(t)))}};RS=iM([NS(0,St),NS(1,ml)],RS);wg(RS);async function nM(o,e,t,i=!0){return o1(new rB,o,e,t,i)}function sM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class rB{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({colorInfo:r,provider:e});return Array.isArray(s)}}class aB{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 lB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,fi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function o1(o,e,t,i,n){let s=!1,r;const a=[],c=e.ordered(t);for(let h=c.length-1;h>=0;h--){const g=c[h];if(g instanceof Xf)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){Yn(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function oM(o,e){const{colorProvider:t}=o.get(St),i=o.get(Vs).getModel(e);if(!i)throw Ja();const n=o.get(Cn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}pn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof on))throw Ja();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=oM(o,t);return o1(new aB,n,i,fi.None,s)});pn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof on)||!Array.isArray(t)||t.length!==4||!B.isIRange(s))throw Ja();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=oM(o,n),[h,g,f,p]=t;return o1(new lB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,fi.None,c)});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},ay=function(o,e){return function(t,i){e(t,i,o)}},AS;const rM=Object.create({});var Yl;let sg=(Yl=class extends ze{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new He),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new ZD(this._editor),this._decoratorLimitReporter=new dB,this._colorDecorationClassRefs=this._register(new He),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:AS.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 Ep,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=fs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new ho(!1),n=await nM(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){dn(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:xi.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:h}=e[s].colorInfo.color,g=new $u(Math.round(r*255),Math.round(a*255),Math.round(c*255),h),f=`rgba(${g.r}, ${g.g}, ${g.b}, ${g.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:f}));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:$D,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:rM}}})}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(B.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)}},AS=Yl,Yl.ID="editor.contrib.colorDetector",Yl.RECOMPUTE_TIME=1e3,Yl);sg=AS=cB([ay(1,Cn),ay(2,St),ay(3,Vo)],sg);class dB{constructor(){this._onDidChange=new gi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}_i(sg.ID,sg,1);class hB{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 gi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new gi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new gi,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 yo=ht;class uB extends ze{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=yo(".colorpicker-header"),st(e,this._domNode),this._pickedColorNode=st(this._domNode,yo(".picked-color")),st(this._pickedColorNode,yo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=st(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=w("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=st(this._domNode,yo(".original-color")),this._originalColorNode.style.backgroundColor=wi.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(DL)||wi.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(DL)||wi.white})),this._register(Hi(this._pickedColorNode,Fn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Hi(this._originalColorNode,Fn.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=wi.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 gB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=wi.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 gB extends ze{constructor(e){super(),this._onClicked=this._register(new gi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),st(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),st(this._button,t),st(t,yo(".button"+Ki.asCSSSelector(Gn("color-picker-close",Xt.close,w("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Hi(this._button,Fn.CLICK,()=>{this._onClicked.fire()}))}}class fB extends ze{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=yo(".colorpicker-body"),st(e,this._domNode),this._saturationBox=new pB(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 mB(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 _B(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 wi(new Km(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new wi(new Km(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new wi(new Km(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 pB extends ze{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new gi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=yo(".saturation-wrap"),st(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",st(this._domNode,this._canvas),this.selection=yo(".saturation-selection"),st(this._domNode,this.selection),this.layout(),this._register(Hi(this._domNode,Fn.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 XD);const t=Gs(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=Hi(e.target.ownerDocument,Fn.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 wi(new Km(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=wi.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 aM extends ze{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new gi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=st(e,yo(".standalone-strip")),this.overlay=st(this.domNode,yo(".standalone-overlay"))):(this.domNode=st(e,yo(".strip")),this.overlay=st(this.domNode,yo(".overlay"))),this.slider=st(this.domNode,yo(".slider")),this.slider.style.top="0px",this._register(Hi(this.domNode,Fn.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 XD),i=Gs(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=Hi(e.target.ownerDocument,Fn.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 mB extends aM{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 wi(new $u(t,i,n,1)),r=new wi(new $u(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class _B extends aM{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 ze{constructor(e){super(),this._onClicked=this._register(new gi),this.onClicked=this._onClicked.event,this._button=st(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Hi(this._button,Fn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class bB extends Np{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(IA.getInstance(Xc(e)).onDidChange(()=>this.layout())),this._domNode=yo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new uB(this._domNode,this.model,n,s)),this.body=this._register(new fB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class ly{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 s_{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 sh{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const vh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var lM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cM=function(o,e){return function(t,i){e(t,i,o)}};class wB{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 Yf=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Rr.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=sg.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 dM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=hM(this,this._editor,this._themeService,t,e);if(!i)return new sh([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new sh([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Yf=lM([cM(1,mr)],Yf);class yB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Jf=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!sg.get(this._editor))return null;const s=await nM(i,this._editor.getModel(),fi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;B.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await dM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new B(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await o_(this._editor.getModel(),t,this._color,i,e),i=uM(this._editor,i,t))}renderHoverParts(e,t){return hM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Jf=lM([cM(1,mr)],Jf);async function dM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new $u(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new wi(h),f=await sM(e,t,i,fi.None),p=new hB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof Yf?new wB(o,B.lift(t.range),p,i):new yB(o,B.lift(t.range),p,i)}function hM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new un(302,p))}const s=new He,r=i[0],a=e.getModel(),c=r.model,h=s.add(new bB(n.fragment,c,e.getOption(144),t,o instanceof Jf));let g=!1,f=new B(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Jf){const p=r.model.color;o.color=p,o_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await o_(a,c,p,f,r),g=!0,f=uM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{o_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function uM(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=B.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function o_(o,e,t,i,n){const s=await sM(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,fi.None);e.colorPresentations=s||[]}const gM="editor.action.showHover",SB="editor.action.showDefinitionPreviewHover",CB="editor.action.scrollUpHover",xB="editor.action.scrollDownHover",LB="editor.action.scrollLeftHover",kB="editor.action.scrollRightHover",IB="editor.action.pageUpHover",DB="editor.action.pageDownHover",EB="editor.action.goToTopHover",PB="editor.action.goToBottomHover",hw="editor.action.increaseHoverVerbosityLevel",TB=w({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),uw="editor.action.decreaseHoverVerbosityLevel",MB=w({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),fM="editor.action.inlineSuggest.commit",pM="editor.action.inlineSuggest.showPrevious",mM="editor.action.inlineSuggest.showNext";var r1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},or=function(o,e){return function(t,i){e(t,i,o)}},r_;let OS=class extends ze{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=Yi(this,n=>{var c,h;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,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Rp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=eE((h,g)=>{const f=g.add(this.instantiationService.createInstance(og,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(yn(()=>e.removeContentWidget(f))),g.add(On(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==Qa.Explicit&&r.triggerExplicitly()})),f}),c=zb(this,(h,g)=>!!this.position.read(h)||!!g);s.add(On(h=>{c.read(h)&&a.read(h)}))}))}};OS=r1([or(2,ri)],OS);const NB=Gn("inline-suggestion-hints-next",Xt.chevronRight,w("parameterHintsNextIcon","Icon for show next parameter hint.")),RB=Gn("inline-suggestion-hints-previous",Xt.chevronLeft,w("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Jl;let og=(Jl=class extends ze{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new qu(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=w({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,h,g,f){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=h,this._contextKeyService=g,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${r_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=rr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[rr("div@toolBar")]),this.previousAction=this.createCommandAction(pM,w("previous","Previous"),Ki.asClassName(RB)),this.availableSuggestionCountAction=new qu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(mM,w("next","Next"),Ki.asClassName(NB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(et.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new as(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new as(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(FS,this.nodes.toolBar,et.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof Ku)return c.createInstance(OB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new AB(void 0,p,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{r_._dropDownVisible=p})),this._register(On(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(On(p=>{const v=this._suggestionCount.read(p),_=this._currentSuggestionIdx.read(p);v!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${_+1}/${v}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),v!==void 0&&v>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(On(p=>{const _=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:S=>this._commandService.executeCommand(y.id)}));for(const[y,S]of this.inlineCompletionsActionsMenus.getActions())for(const D of S)D instanceof Ku&&_.push(D);_.length>0&&_.unshift(new Of),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},r_=Jl,Jl._dropDownVisible=!1,Jl.id=0,Jl);og=r_=r1([or(6,us),or(7,ri),or(8,is),or(9,Wi),or(10,uh)],og);class AB extends By{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 OB=class extends YD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=rr("div.keybinding").root;this._register(new f0(t,p0,{disableTitle:!0,...JD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},FS=class extends QD{constructor(e,t,i,n,s,r,a,c,h){super(e,{resetMenu:t,...i},n,s,r,a,c,h),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,h;const e=[],t=[];y0(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,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Ca(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ca(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};FS=r1([or(3,uh),or(4,Wi),or(5,_g),or(6,is),or(7,us),or(8,Vr)],FS);function gw(o,e,t){const i=Gs(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let FB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class _M extends ze{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new gi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new as(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new as(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new as(()=>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=DA(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){dn(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 FB(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 a1{constructor(){this._onDidWillResize=new gi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new gi,this.onDidResize=this._onDidResize.event,this._sashListener=new He,this._size=new un(0,0),this._minSize=new un(0,0),this._maxSize=new un(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Qh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Qh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Qh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:EL.North}),this._southSash=new Qh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:EL.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(rs.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(rs.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(rs.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(rs.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 un(t,e);un.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 HB=30,WB=24;class BB extends ze{constructor(e,t=new un(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new a1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=un.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 un(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:Gs(t).top+i.top-HB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Gs(t),s=Ap(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-WB}_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 zB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},ta;const Ak=30,VB=6;var Ql;let HS=(Ql=class extends BB{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 un(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new tE),this._onDidResize=this._register(new gi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=M.hoverVisible.bindTo(t),this._hoverFocusedKey=M.hoverFocused.bindTo(t),st(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(g=>{g.hasChanged(50)&&this._updateFont()}));const h=this._register(Vu(this._resizableNode.domNode));this._register(h.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(h.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 ta.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 ta._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ta._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){ta._applyMaxDimensions(this._hover.contentsDomNode,e,t),ta._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 un(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ta._lastDimensions=new un(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=VB;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?Ap(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=Gs(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Ok(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=Ok(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,ta._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ta._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=eu(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&&EA(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 un(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 un(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 un(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=eu(e),i=Qo(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=eu(e),i=Qo(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=eu(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-Ak})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Ak})}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})}},ta=Ql,Ql.ID="editor.contrib.resizableContentHoverWidget",Ql._lastDimensions=new un(0,0),Ql);HS=ta=zB([ym(1,Wi),ym(2,Cn),ym(3,Vb),ym(4,is)],HS);function Ok(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),h=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(c*c+h*h)}class z_{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 Rr.EMPTY;const i=z_._getLineDecorations(this._editor,t);return Rr.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Rr.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=z_._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return nl(t)}}class vM{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 jB(this,this.anchor,t,this.isComplete)}}class jB extends vM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var UB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$B=function(o,e){return function(t,i){e(t,i,o)}};const Fk=ht;let V_=class extends ze{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=Fk("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=st(this.hoverElement,Fk("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(PA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=st(this.actionsElement,e);return this._hasContent=!0,t}};V_=UB([$B(0,is)],V_);class qB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function KB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(Yn);if(!(!s||!GB(s)))return new qB(o,s,e)}function l1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>KB(a,c,e,t,i));return Rr.fromPromises(r).coalesce()}function bM(o,e,t,i,n=!1){return l1(o,e,t,i,n).map(s=>s.hover).toPromise()}Qs("_executeHoverProvider",(o,e,t)=>{const i=o.get(St);return bM(i.hoverProvider,e,t,fi.None)});Qs("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(St);return bM(i.hoverProvider,e,t,fi.None,!0)});function GB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var ZB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ic=function(o,e){return function(t,i){e(t,i,o)}};const ou=ht,XB=Gn("hover-increase-verbosity",Xt.add,w("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),YB=Gn("hover-decrease-verbosity",Xt.remove,w("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class lr{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 wM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Ho.Increase:return this.hover.canIncreaseVerbosity??!1;case Ho.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Qf=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 lr(this,e.range,[new Ns().appendText(w("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),h=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),g=this._editor.getOption(118),f=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:h});let p=!1;g>=0&&c>g&&e.range.startColumn>=g&&(p=!0,r.push(new lr(this,e.range,[{value:w("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof f=="number"&&c>=f&&r.push(new lr(this,e.range,[{value:w("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let v=!1;for(const _ of t){const y=_.range.startLineNumber===n?_.range.startColumn:1,S=_.range.endLineNumber===n?_.range.endColumn:s,D=_.options.hoverMessage;if(!D||Ff(D))continue;_.options.beforeContentClassName&&(v=!0);const P=new B(e.range.startLineNumber,y,e.range.startLineNumber,S);r.push(new lr(this,P,iE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Rr.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Rr.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return l1(e,t,s,n).filter(c=>!Ff(c.hover.contents)).map(c=>{const h=c.hover.range?B.lift(c.hover.range):i.range,g=new wM(c.hover,c.provider,s);return new lr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new JB(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))}};Qf=ZB([Ic(1,jr),Ic(2,zr),Ic(3,Cn),Ic(4,St),Ic(5,is),Ic(6,Op),Ic(7,us)],Qf);class Sm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class JB{constructor(e,t,i,n,s,r,a,c,h,g,f){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=h,this._configurationService=g,this._onFinishedRendering=f,this._ongoingHoverOperations=new Map,this._disposables=new He,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(yn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Fp(n=>n.ordinal,jb)),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 He;if(r.add(i),!s)return new Sm(e,n,r);const a=s.supportsVerbosityAction(Ho.Increase),c=s.supportsVerbosityAction(Ho.Decrease);if(!a&&!c)return new Sm(e,n,r);const h=ou("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,Ho.Increase,a)),r.add(this._renderHoverExpansionAction(h,Ho.Decrease,c)),new Sm(e,n,r)}_renderMarkdownHover(e,t){return yM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new He,s=t===Ho.Increase,r=st(e,ou(Ki.asCSSSelector(s?XB:YB)));r.tabIndex=0;const a=new TA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,ez(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===Ho.Increase?hw:uw);return n.add(new MA(r,c)),n.add(new NA(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 wM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new lr(this._hoverParticipant,h.range,a.contents,h.isBeforeContent,h.ordinal,c),f=this._renderHoverPart(g,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,f,g),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:g,hoverElement:f.hoverElement}}async _fetchHover(e,t,i){let n=i===Ho.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new ps;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const c={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let h;try{h=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,c))}catch(g){Yn(g)}return a.dispose(),this._ongoingHoverOperations.delete(s),h}_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 Sm(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 QB(o,e,t,i,n){e.sort(Fp(r=>r.ordinal,jb));const s=[];for(const r of e)s.push(yM(t,r,i,n,o.onContentsChanged));return new sh(s)}function yM(o,e,t,i,n){const s=new He,r=ou("div.hover-row"),a=ou("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(Ff(g))continue;const f=ou("div.markdown-hover"),p=st(f,ou("div.hover-contents")),v=s.add(new yg({editor:o},t,i));s.add(v.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const _=s.add(v.render(g));p.appendChild(_.element),a.appendChild(f)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function ez(o,e){switch(e){case Ho.Increase:{const t=o.lookupKeybinding(hw);return t?w("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):w("increaseVerbosity","Increase Hover Verbosity")}case Ho.Decrease:{const t=o.lookupKeybinding(uw);return t?w("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):w("decreaseVerbosity","Decrease Hover Verbosity")}}}function WS(o,e){return!!o[e]}class cy{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=WS(e.event,t.triggerModifier),this.hasSideBySideModifier=WS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Hk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=WS(e,t.triggerModifier)}}class Cm{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 Wk(o){return o==="altKey"?xa?new Cm(57,"metaKey",6,"altKey"):new Cm(5,"ctrlKey",6,"altKey"):xa?new Cm(6,"altKey",57,"metaKey"):new Cm(6,"altKey",5,"ctrlKey")}class fw extends ze{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new gi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new gi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new gi),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=Wk(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=Wk(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 cy(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new cy(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new cy(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new Hk(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new Hk(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 SM{constructor(e,t){this.range=e,this.direction=t}}class c1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new c1(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){Yn(t),this._isResolved=!1}}}const uu=class uu{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async c=>{try{const h=await a.provideInlayHints(t,c,n);(h!=null&&h.hints.length||a.onDidChangeInlayHints)&&s.push([h??uu._emptyInlayHintList,a])}catch(h){Yn(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new Fb;return new uu(i,s,t)}constructor(e,t,i){this._disposables=new He,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 h="before";const g=uu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=B.fromPositions(g.getStartPosition(),c),h="after"):(f=B.fromPositions(c,g.getEndPosition()),h="before"),n.push(new c1(a,new SM(f,h),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 B(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),h=s.getEndOffset(a);return h-c===1&&(c===r&&a>1?(c=s.getStartOffset(a-1),h=s.getEndOffset(a-1)):h===r&&a<s.getCount()-1&&(c=s.getStartOffset(a+1),h=s.getEndOffset(a+1))),new B(i,c+1,i,h+1)}};uu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let j_=uu;function tz(o){return on.from({scheme:$s.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var iz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oa=function(o,e){return function(t,i){e(t,i,o)}};let pr=class extends RA{constructor(e,t,i,n,s,r,a,c,h,g,f,p,v){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,c,h,g,f,p,v),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(_=>this._onParentConfigurationChanged(_)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){S0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};pr=iz([Oa(4,ri),Oa(5,Jn),Oa(6,us),Oa(7,Wi),Oa(8,mr),Oa(9,zs),Oa(10,Vb),Oa(11,gs),Oa(12,St)],pr);const Bk=new wi(new $u(0,122,204)),nz={showArrow:!0,showFrame:!0,className:"",frameColor:Bk,arrowColor:Bk,keepEditorSelection:!1},sz="vs.editor.contrib.zoneWidget";class oz{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 rz{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Zv=class Zv{constructor(e){this._editor=e,this._ruleName=Zv._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),PL(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(){PL(this._ruleName),FA(`.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:B.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Zv._IdGenerator=new OA(".arrow-decoration-");let BS=Zv;class az{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new He,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=AA(t),S0(this.options,nz,!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 BS(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=B.isIRange(e)?B.lift(e):B.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:xi.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,h=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(h=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 oz(r,i.lineNumber,i.column,t,v=>this._onViewZoneTop(v),v=>this._onViewZoneHeight(v),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new rz(sz+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:h;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const g=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=g+"px",this.container.style.overflow="hidden"),this._doLayout(g,s),this.options.keepEditorSelection||this.editor.setSelection(e);const f=this.editor.getModel();if(f){const p=f.validateRange(new B(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===f.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 Qh(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 CM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xM=function(o,e){return function(t,i){e(t,i,o)}};const LM=fl("IPeekViewService");pl(LM,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 Zs;(function(o){o.inPeekEditor=new Pi("inReferenceSearchEditor",!0,w("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(Zs||(Zs={}));var Tu;let U_=(Tu=class{constructor(e,t){e instanceof pr&&Zs.inPeekEditor.bindTo(t)}dispose(){}},Tu.ID="editor.contrib.referenceController",Tu);U_=CM([xM(1,Wi)],U_);_i(U_.ID,U_,0);function lz(o){const e=o.get(Jn).getFocusedCodeEditor();return e instanceof pr?e.getParentEditor():e}const cz={headerBackgroundColor:wi.white,primaryHeadingColor:wi.fromHex("#333333"),secondaryHeadingColor:wi.fromHex("#6c6c6cb3")};let $_=class extends az{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new gi,this.onDidClose=this._onDidClose.event,S0(this.options,cz,!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=ht(".head"),this._bodyElement=ht(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=ht(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),ol(this._titleElement,"click",s=>this._onTitleClick(s))),st(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=ht("span.filename"),this._secondaryHeading=ht("span.dirname"),this._metaHeading=ht("span.meta"),st(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=ht(".peekview-actions");st(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Nf(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new qu("peekview.close",w("label.close","Close"),Ki.asClassName(Xt.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:HA.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:wa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,ar(this._metaHeading)):bo(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`)}};$_=CM([xM(2,ri)],$_);const dz=ut("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:wi.black,hcLight:wi.white},w("peekViewTitleBackground","Background color of the peek view title area.")),kM=ut("peekViewTitleLabel.foreground",{dark:wi.white,light:wi.black,hcDark:wi.white,hcLight:Hp},w("peekViewTitleForeground","Color of the peek view title.")),IM=ut("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},w("peekViewTitleInfoForeground","Color of the peek view title info.")),hz=ut("peekView.border",{dark:zy,light:zy,hcDark:sl,hcLight:sl},w("peekViewBorder","Color of the peek view borders and arrow.")),uz=ut("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:wi.black,hcLight:wi.white},w("peekViewResultsBackground","Background color of the peek view result list."));ut("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:wi.white,hcLight:Hp},w("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));ut("peekViewResult.fileForeground",{dark:wi.white,light:"#1E1E1E",hcDark:wi.white,hcLight:Hp},w("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));ut("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},w("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));ut("peekViewResult.selectionForeground",{dark:wi.white,light:"#6C6C6C",hcDark:wi.white,hcLight:Hp},w("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const DM=ut("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:wi.black,hcLight:wi.white},w("peekViewEditorBackground","Background color of the peek view editor."));ut("peekViewEditorGutter.background",DM,w("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));ut("peekViewEditorStickyScroll.background",DM,w("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));ut("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},w("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));ut("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},w("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));ut("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Kd,hcLight:Kd},w("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class mc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=WA.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?w({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,La(this.uri),this.range.startLineNumber,this.range.startColumn):w("aria.oneReference","in {0} on line {1} at column {2}",La(this.uri),this.range.startLineNumber,this.range.startColumn)}}class gz{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}),h=new B(n,c.startColumn,n,s),g=new B(r,a,r,1073741824),f=i.getValueInRange(h).replace(/^\s+/,""),p=i.getValueInRange(e),v=i.getValueInRange(g).replace(/\s+$/,"");return{value:f+p+v,highlight:{start:f.length,end:f.length+p.length}}}}class ep{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new hc}dispose(){As(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?w("aria.fileReferences.1","1 symbol in {0}, full path {1}",La(this.uri),this.uri.fsPath):w("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,La(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 gz(i))}catch(i){dn(i)}return this}}class lo{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new gi,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||!TL.isEqual(n.uri,s.uri,!0))&&(n=new ep(this,s.uri),this.groups.push(n)),n.children.length===0||lo._compareReferences(s,n.children[n.children.length-1])!==0){const r=new mc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){As(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?w("aria.result.0","No results found"):this.references.length===1?w("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?w("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):w("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:Wp(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()&&B.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 TL.compare(e.uri,t.uri)||B.compareRangesUsingStarts(e.range,t.range)}}var pw=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mw=function(o,e){return function(t,i){e(t,i,o)}},zS;let VS=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof lo||e instanceof ep}getChildren(e){if(e instanceof lo)return e.groups;if(e instanceof ep)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};VS=pw([mw(0,Ur)],VS);class fz{getHeight(){return 23}getTemplateId(e){return e instanceof ep?q_.id:K_.id}}let jS=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof mc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return La(e.uri)}};jS=pw([mw(0,is)],jS);class pz{getId(e){return e instanceof mc?e.id:e.uri}}let US=class extends ze{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new nE(i,{supportHighlights:!0})),this.badge=new BA(st(i,ht(".count")),{},zA),e.appendChild(i)}set(e,t){const i=C0(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(w("referencesCount","{0} references",n)):this.badge.setTitleFormat(w("referenceCount","{0} reference",n))}};US=pw([mw(1,Hf)],US);var dd;let q_=(dd=class{constructor(e){this._instantiationService=e,this.templateId=zS.id}renderTemplate(e){return this._instantiationService.createInstance(US,e)}renderElement(e,t,i){i.set(e.element,Ub(e.filterData))}disposeTemplate(e){e.dispose()}},zS=dd,dd.id="FileReferencesRenderer",dd);q_=zS=pw([mw(0,ri)],q_);class mz extends ze{constructor(e){super(),this.label=this._register(new VA(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(`${La(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Wf.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,Ub(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Xv=class Xv{constructor(){this.templateId=Xv.id}renderTemplate(e){return new mz(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Xv.id="OneReferenceRenderer";let K_=Xv;class _z{getWidgetAriaLabel(){return w("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var vz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rh=function(o,e){return function(t,i){e(t,i,o)}};const Yv=class Yv{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new He,this._callOnModelChange=new He,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:Yv.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(!B.equalsRange(s,n.range)){if(B.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()}};Yv.DecorationOptions=xi.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let $S=Yv;class bz{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 wz extends $A{}let qS=class extends $_{constructor(e,t,i,n,s,r,a,c,h){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=h,this._disposeOnNewModel=new He,this._callOnDispose=new He,this._onDidSelectReference=new gi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new un(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(),As(this._preview),As(this._previewNotAvailableMessage),As(this._tree),As(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(hz)||wi.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(dz)||wi.transparent,primaryHeadingColor:e.getColor(kM),secondaryHeadingColor:e.getColor(IM)})}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=st(e,ht("div.messages")),bo(this._messageContainer),this._splitView=new jA(e,{orientation:1}),this._previewContainer=st(e,ht("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),bo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(Fl,w("missingPreviewMessage","no preview available"),Bf,Fl.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=st(e,ht("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new _z,keyboardNavigationLabelProvider:this._instantiationService.createInstance(jS),identityProvider:new pz,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:uz}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(ol(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(wz,"ReferencesWidget",this._treeContainer,new fz,[this._instantiationService.createInstance(q_),this._instantiationService.createInstance(K_)],this._instantiationService.createInstance(VS),i),this._splitView.addView({onDidChange:rs.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},ML.Distribute),this._splitView.addView({onDidChange:rs.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)}},ML.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 mc&&(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")})),bo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new un(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=w("noResults","No results"),ar(this._messageContainer),Promise.resolve(void 0)):(bo(this._messageContainer),this._decorationsManager=new $S(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"),ar(this._treeContainer),ar(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 mc)return e;if(e instanceof ep&&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!==$s.inMemory?this.setTitle(UA(e.uri),this._uriLabel.getUriLabel(C0(e.uri))):this.setTitle(w("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}As(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=B.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()}};qS=vz([Rh(3,mr),Rh(4,Ur),Rh(5,ri),Rh(6,LM),Rh(7,Hf),Rh(8,is)],qS);var yz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},a_;const bh=new Pi("referenceSearchVisible",!1,w("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var hd;let oh=(hd=class{static get(e){return e.getContribution(a_.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 He,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=bh.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=bz.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(qS,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(w("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:h,kind:g}=c;if(h)switch(g){case"open":(c.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(h,!1,!1);break;case"side":this.openReference(h,!0,!1);break;case"goto":i?this._gotoReference(h,!0):this.openReference(h,!1,!0);break}}));const a=++this._requestIdPool;t.then(c=>{var h;if(a!==this._requestIdPool||!this._widget){c.dispose();return}return(h=this._model)==null||h.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(w("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const g=this._editor.getModel().uri,f=new yt(e.startLineNumber,e.startColumn),p=this._model.nearestReference(g,f);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=B.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=a_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,fs(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,dn(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)}},a_=hd,hd.ID="editor.contrib.referencesController",hd);oh=a_=yz([Ah(2,Wi),Ah(3,Jn),Ah(4,zs),Ah(5,ri),Ah(6,yc),Ah(7,Cn)],oh);function wh(o,e){const t=lz(o);if(!t)return;const i=oh.get(t);i&&e(i)}Da.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ts(2089,60),when:oe.or(bh,Zs.inPeekEditor),handler(o){wh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Da.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:oe.or(bh,Zs.inPeekEditor),handler(o){wh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Da.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:oe.or(bh,Zs.inPeekEditor),handler(o){wh(o,e=>{e.goToNextOrPreviousReference(!1)})}});pn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");pn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");pn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");pn.registerCommand("closeReferenceSearch",o=>wh(o,e=>e.closeWidget()));Da.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:oe.and(Zs.inPeekEditor,oe.not("config.editor.stablePeek"))});Da.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:oe.and(bh,oe.not("config.editor.stablePeek"),oe.or(M.editorTextFocus,qA.negate()))});Da.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:oe.and(bh,sE,oE.negate(),rE.negate()),handler(o){var i;const t=(i=o.get(x0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof mc&&wh(o,n=>n.revealReference(t[0]))}});Da.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:oe.and(bh,sE,oE.negate(),rE.negate()),handler(o){var i;const t=(i=o.get(x0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof mc&&wh(o,n=>n.openReference(t[0],!0,!0))}});pn.registerCommand("openReference",o=>{var i;const t=(i=o.get(x0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof mc&&wh(o,n=>n.openReference(t[0],!1,!0))});var EM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qg=function(o,e){return function(t,i){e(t,i,o)}};const d1=new Pi("hasSymbols",!1,w("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),_w=fl("ISymbolNavigationService");let KS=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=d1.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 GS(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 h=!1,g=!1;for(const f of t.references)if(w_(f.uri,a.uri))h=!0,g=g||B.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=aE(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:B.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?w("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):w("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};KS=EM([Qg(0,Wi),Qg(1,Jn),Qg(2,zs),Qg(3,is)],KS);pl(_w,KS,1);Lt(new class extends Js{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:d1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(_w).revealNext(e)}});Da.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:d1,primary:9,handler(o){o.get(_w).reset()}});let GS=class{constructor(e){this._listener=new Map,this._disposables=new He,this._onDidChange=new gi,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(),As(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,aE(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)}};GS=EM([Qg(0,Jn)],GS);function ZS(o,e){return e.uri.scheme===o.uri.scheme?!0:!KA(e.uri,$s.walkThroughSnippet,$s.vscodeChatCodeBlock,$s.vscodeChatCodeCompareBlock)}async function Xp(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{Yn(h)})),a=await Promise.all(r);return nl(a.flat()).filter(c=>ZS(o,c))}function Yp(o,e,t,i,n){return Xp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function h1(o,e,t,i,n){return Xp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function u1(o,e,t,i,n){return Xp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function g1(o,e,t,i,n){return Xp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Jp(o,e,t,i,n,s){return Xp(e,t,o,n,async(r,a,c)=>{var f,p;const h=(f=await r.provideReferences(a,c,{includeDeclaration:!0},s))==null?void 0:f.filter(v=>ZS(a,v));if(!i||!h||h.length!==2)return h;const g=(p=await r.provideReferences(a,c,{includeDeclaration:!1},s))==null?void 0:p.filter(v=>ZS(a,v));return g&&g.length===1?g:h})}async function Ea(o){const e=await o(),t=new lo(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Qs("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(St),n=Yp(i.definitionProvider,e,t,!1,fi.None);return Ea(()=>n)});Qs("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(St),n=Yp(i.definitionProvider,e,t,!0,fi.None);return Ea(()=>n)});Qs("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(St),n=g1(i.typeDefinitionProvider,e,t,!1,fi.None);return Ea(()=>n)});Qs("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(St),n=g1(i.typeDefinitionProvider,e,t,!0,fi.None);return Ea(()=>n)});Qs("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(St),n=h1(i.declarationProvider,e,t,!1,fi.None);return Ea(()=>n)});Qs("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(St),n=h1(i.declarationProvider,e,t,!0,fi.None);return Ea(()=>n)});Qs("_executeReferenceProvider",(o,e,t)=>{const i=o.get(St),n=Jp(i.referenceProvider,e,t,!1,!1,fi.None);return Ea(()=>n)});Qs("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(St),n=Jp(i.referenceProvider,e,t,!1,!0,fi.None);return Ea(()=>n)});Qs("_executeImplementationProvider",(o,e,t)=>{const i=o.get(St),n=u1(i.implementationProvider,e,t,!1,fi.None);return Ea(()=>n)});Qs("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(St),n=u1(i.implementationProvider,e,t,!0,fi.None);return Ea(()=>n)});ur.appendMenuItem(et.EditorContext,{submenu:et.EditorContextPeek,title:w("peek.submenu","Peek"),group:"navigation",order:100});class rg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof rg||yt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Yo=class Yo extends Wr{static all(){return Yo._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Ya.wrap(t.menu))(i.id===et.EditorContext||i.id===et.EditorContextPeek)&&(i.when=oe.and(e.precondition,i.when));return t}constructor(e,t){super(Yo._patchConfig(t)),this.configuration=e,Yo._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(zs),r=e.get(Jn),a=e.get(Pp),c=e.get(_w),h=e.get(St),g=e.get(ri),f=t.getModel(),p=t.getPosition(),v=rg.is(i)?i:new rg(f,p),_=new zu(t,5),y=Dp(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var N;if(!S||_.token.isCancellationRequested)return;gr(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const j=this._getAlternativeCommand(t);!Yo._activeAlternativeCommands.has(j)&&Yo._allSymbolNavigationCommands.has(j)&&(D=Yo._allSymbolNavigationCommands.get(j))}const P=S.references.length;if(P===0){if(!this.configuration.muteMessage){const j=f.getWordAtPosition(p);(N=ao.get(t))==null||N.showMessage(this._getNoResultFoundMessage(j),p)}}else if(P===1&&D)Yo._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(j=>D.runEditorCommand(j,t,i,n).finally(()=>{Yo._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,S,n)},S=>{s.error(S)}).finally(()=>{_.dispose()});return a.showWhile(y,250),y}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",h=await this._openReference(i,e,a,this.configuration.openToSide,!c);c&&h?this._openInPeek(h,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(GA(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:B.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const c=a.getModel(),h=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===c&&h.clear()},350)}return a}}_openInPeek(e,t,i){const n=oh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),fs(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Yo._allSymbolNavigationCommands=new Map,Yo._activeAlternativeCommands=new Set;let dl=Yo;class Qp extends dl{async _getLocationModel(e,t,i,n){return new lo(await Yp(e.definitionProvider,t,i,!1,n),w("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?w("noResultWord","No definition found for '{0}'",e.word):w("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var ec;Qi((ec=class extends Qp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ec.id,title:{...vt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:w({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:M.hasDefinitionProvider,keybinding:[{when:M.editorTextFocus,primary:70,weight:100},{when:oe.and(M.editorTextFocus,lE),primary:2118,weight:100}],menu:[{id:et.EditorContext,group:"navigation",order:1.1},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),pn.registerCommandAlias("editor.action.goToDeclaration",ec.id)}},ec.id="editor.action.revealDefinition",ec));var tc;Qi((tc=class extends Qp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:tc.id,title:vt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:oe.and(M.hasDefinitionProvider,M.isInEmbeddedEditor.toNegated()),keybinding:[{when:M.editorTextFocus,primary:ts(2089,70),weight:100},{when:oe.and(M.editorTextFocus,lE),primary:ts(2089,2118),weight:100}]}),pn.registerCommandAlias("editor.action.openDeclarationToTheSide",tc.id)}},tc.id="editor.action.revealDefinitionAside",tc));var ic;Qi((ic=class extends Qp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ic.id,title:vt("actions.previewDecl.label","Peek Definition"),precondition:oe.and(M.hasDefinitionProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:et.EditorContextPeek,group:"peek",order:2}}),pn.registerCommandAlias("editor.action.previewDeclaration",ic.id)}},ic.id="editor.action.peekDefinition",ic));class PM extends dl{async _getLocationModel(e,t,i,n){return new lo(await h1(e.declarationProvider,t,i,!1,n),w("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?w("decl.noResultWord","No declaration found for '{0}'",e.word):w("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var ud;Qi((ud=class extends PM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ud.id,title:{...vt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:w({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:oe.and(M.hasDeclarationProvider,M.isInEmbeddedEditor.toNegated()),menu:[{id:et.EditorContext,group:"navigation",order:1.3},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?w("decl.noResultWord","No declaration found for '{0}'",e.word):w("decl.generic.noResults","No declaration found")}},ud.id="editor.action.revealDeclaration",ud));Qi(class extends PM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:vt("actions.peekDecl.label","Peek Declaration"),precondition:oe.and(M.hasDeclarationProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:et.EditorContextPeek,group:"peek",order:3}})}});class TM extends dl{async _getLocationModel(e,t,i,n){return new lo(await g1(e.typeDefinitionProvider,t,i,!1,n),w("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?w("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):w("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var gd;Qi((gd=class extends TM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:gd.ID,title:{...vt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:w({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:M.hasTypeDefinitionProvider,keybinding:{when:M.editorTextFocus,primary:0,weight:100},menu:[{id:et.EditorContext,group:"navigation",order:1.4},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},gd.ID="editor.action.goToTypeDefinition",gd));var fd;Qi((fd=class extends TM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:fd.ID,title:vt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:oe.and(M.hasTypeDefinitionProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:et.EditorContextPeek,group:"peek",order:4}})}},fd.ID="editor.action.peekTypeDefinition",fd));class MM extends dl{async _getLocationModel(e,t,i,n){return new lo(await u1(e.implementationProvider,t,i,!1,n),w("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?w("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):w("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var pd;Qi((pd=class extends MM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:pd.ID,title:{...vt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:w({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:M.hasImplementationProvider,keybinding:{when:M.editorTextFocus,primary:2118,weight:100},menu:[{id:et.EditorContext,group:"navigation",order:1.45},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},pd.ID="editor.action.goToImplementation",pd));var md;Qi((md=class extends MM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:md.ID,title:vt("actions.peekImplementation.label","Peek Implementations"),precondition:oe.and(M.hasImplementationProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:et.EditorContextPeek,group:"peek",order:5}})}},md.ID="editor.action.peekImplementation",md));class NM extends dl{_getNoResultFoundMessage(e){return e?w("references.no","No references found for '{0}'",e.word):w("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Qi(class extends NM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...vt("goToReferences.label","Go to References"),mnemonicTitle:w({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:oe.and(M.hasReferenceProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:et.EditorContext,group:"navigation",order:1.45},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new lo(await Jp(e.referenceProvider,t,i,!0,!1,n),w("ref.title","References"))}});Qi(class extends NM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:vt("references.action.label","Peek References"),precondition:oe.and(M.hasReferenceProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:et.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new lo(await Jp(e.referenceProvider,t,i,!1,!1,n),w("ref.title","References"))}});class Sz extends dl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:vt("label.generic","Go to Any Symbol"),precondition:oe.and(Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new lo(this._references,w("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&w("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}pn.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:on},{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)=>{$i(on.isUri(e)),$i(yt.isIPosition(t)),$i(Array.isArray(i)),$i(typeof n>"u"||typeof n=="string"),$i(typeof r>"u"||typeof r=="boolean");const a=o.get(Jn),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(cE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends Sz{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(ri).invokeFunction(g.run.bind(g),c)})}});pn.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:on},{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(us).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});pn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{$i(on.isUri(e)),$i(yt.isIPosition(t));const i=o.get(St),n=o.get(Jn);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!cE(s)||!s.hasModel())return;const r=oh.get(s);if(!r)return;const a=fs(h=>Jp(i.referenceProvider,s.getModel(),yt.lift(t),!1,!1,h).then(g=>new lo(g,w("ref.title","References")))),c=new B(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});pn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function Cz(o,e,t,i){const n=o.get(Ur),s=o.get(_g),r=o.get(us),a=o.get(ri),c=o.get(zs);if(await i.item.resolve(fi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(ur.getMenuItems(et.EditorContext).map(v=>ZA(v)?v.command.id:cw()));for(const v of dl.all())f.has(v.desc.id)&&g.push(new qu(v.desc.id,Ku.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const y=new rg(_.object.textEditorModel,B.getStartPosition(h.range)),S=i.item.anchor.range;await a.invokeFunction(v.runEditorCommand.bind(v),e,y,S)}finally{_.dispose()}}));if(i.part.command){const{command:v}=i.part;g.push(new Of),g.push(new qu(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:L0.Error,source:i.item.provider.displayName,message:_})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const v=Gs(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function RM(o,e,t,i){const s=await o.get(Ur).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Wi),h=Zs.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new Qp({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new rg(s.object.textEditorModel,B.getStartPosition(i.range)),B.lift(i.range))}),s.dispose()}var xz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oh=function(o,e){return function(t,i){e(t,i,o)}},Xh;class G_{constructor(){this._entries=new Mp(50)}get(e){const t=G_._key(e);return this._entries.get(t)}set(e,t){const i=G_._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const AM=fl("IInlayHintsCache");pl(AM,G_,1);class XS{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 Lz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Xa;let tp=(Xa=class{static get(e){return e.getContribution(Xh.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 He,this._sessionDisposables=new He,this._decorationsMetadata=new Map,this._ruleFactory=new ZD(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(XA.getInstance().event(h=>{if(!this._editor.hasModel())return;const g=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:a;if(g!==this._activeRenderMode){this._activeRenderMode=g;const f=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(f);this._updateHintsDecorators([f.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(yn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new as(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new ps;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await j_.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(r.delay=this._debounceInfo.update(t,Date.now()-a),h.isCancellationRequested){g.dispose();return}for(const f of g.provider)typeof f.onDidChangeInlayHints=="function"&&!s.has(f)&&(s.add(f),this._sessionDisposables.add(f.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(g),this._updateHintsDecorators(g.ranges,g.items),this._cacheHintsForFastRestore(t)}catch(h){dn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(yn(()=>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 He,t=e.add(new fw(this._editor)),i=new He;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 ps;i.add(yn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new Lz(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new B(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(yn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([g],f)}))})),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(RM,n,this._editor,r.location):YA.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(fi.None),So(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Vn.replace(B.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!JA(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(Cz,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 k0&&(t==null?void 0:t.attachedData)instanceof XS)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:L0.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 SM(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(B.compareRangesUsingStarts)){const r=t.validateRange(new B(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!B.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=B.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,y;const i=[],n=(S,D,P,N,j)=>{const H={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:N,attachedData:j};i.push({item:S,classNameRef:D,decoration:{range:S.anchor.range,options:{description:"InlayHint",showIfCollapsed:S.anchor.range.isEmpty(),collapseOnReplaceEdit:!S.anchor.range.isEmpty(),stickiness:0,[S.anchor.direction]:this._activeRenderMode===0?H:void 0}}})},s=(S,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,P," ",D?tu.Right:tu.None)},{fontSize:r,fontFamily:a,padding:c,isUniform:h}=this._getLayoutInfo(),g="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(g,a);let f={line:0,totalLen:0};for(const S of t){if(f.line!==S.anchor.range.startLineNumber&&(f={line:S.anchor.range.startLineNumber,totalLen:0}),f.totalLen>Xh._MAX_LABEL_LEN)continue;S.hint.paddingLeft&&s(S,!1);const D=typeof S.hint.label=="string"?[{label:S.hint.label}]:S.hint.label;for(let P=0;P<D.length;P++){const N=D[P],j=P===0,H=P===D.length-1,ee={fontSize:`${r}px`,fontFamily:`var(${g}), ${w0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};So(S.hint.textEdits)&&(ee.cursor="default"),this._fillInColors(ee,S.hint),(N.command||N.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===P&&(ee.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ee.color=ss(QA),ee.cursor="pointer")),c&&(j&&H?(ee.padding=`1px ${Math.max(1,r/4)|0}px`,ee.borderRadius=`${r/4|0}px`):j?(ee.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,ee.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(ee.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,ee.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):ee.padding="1px 0 1px 0");let X=N.label;f.totalLen+=X.length;let fe=!1;const be=f.totalLen-Xh._MAX_LABEL_LEN;if(be>0&&(X=X.slice(0,-be)+"…",fe=!0),n(S,this._ruleFactory.createClassNameRef(ee),kz(X),H&&!S.hint.paddingRight?tu.Right:tu.None,new XS(S,P)),fe)break}if(S.hint.paddingRight&&s(S,!0),i.length>Xh._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const P=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(S);P&&e.some(N=>N.containsRange(P))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=Uu.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const N=i[P];this._decorationsMetadata.set(D[P],N)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===NL.Parameter?(e.backgroundColor=ss(eO),e.color=ss(tO)):t.kind===NL.Type?(e.backgroundColor=ss(iO),e.color=ss(nO)):(e.backgroundColor=ss(sO),e.color=ss(oO))}_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()}},Xh=Xa,Xa.ID="editor.contrib.InlayHints",Xa._MAX_DECORATORS=1500,Xa._MAX_LABEL_LEN=43,Xa);tp=Xh=xz([Oh(1,St),Oh(2,Vo),Oh(3,AM),Oh(4,us),Oh(5,zs),Oh(6,ri)],tp);function kz(o){return o.replace(/[ \t]/g," ")}pn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;$i(on.isUri(t)),$i(B.isIRange(i));const{inlayHintsProvider:n}=o.get(St),s=await o.get(Ur).createModelReference(t);try{const r=await j_.create(n,s.object.textEditorModel,[B.lift(i)],fi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var Iz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cl=function(o,e){return function(t,i){e(t,i,o)}};class zk extends s_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Z_=class extends Qf{constructor(e,t,i,n,s,r,a,c,h){super(e,t,i,r,c,n,s,h),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!tp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof k0&&i.attachedData instanceof XS?new zk(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof zk?new Rr(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 Ns().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new lr(this,e.range,[r],!1,0)),So(s.item.hint.textEdits)&&n.emitOne(new lr(this,e.range,[new Ns().appendText(w("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ns().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new lr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?xa?w("links.navigate.kb.meta.mac","cmd + click"):w("links.navigate.kb.meta","ctrl + click"):xa?w("links.navigate.kb.alt.mac","option + click"):w("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Ns().appendText(w("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Ns().appendText(w("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Ns(`[${w("hint.cmd","Execute Command")}](${tz(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new lr(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):Rr.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Rr.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)?l1(this._languageFeaturesService.hoverProvider,r,new yt(n.startLineNumber,n.startColumn),t).filter(a=>!Ff(a.hover.contents)).map(a=>new lr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Rr.EMPTY}finally{s.dispose()}}};Z_=Iz([Cl(1,jr),Cl(2,zr),Cl(3,is),Cl(4,Op),Cl(5,Cn),Cl(6,Ur),Cl(7,St),Cl(8,us)],Z_);class f1 extends ze{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new YS(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=f1.computeHoverPositions(e,a.range,c);this.shouldAppearBeforeContent=c.some(f=>f.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=g,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 g=e._getViewModel(),f=g.coordinatesConverter,p=f.convertModelRangeToViewRange(t),v=g.getLineMinColumn(p.startLineNumber),_=new yt(p.startLineNumber,v);n=f.convertViewPositionToModelPosition(_).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const g of i){const f=g.range,p=f.startLineNumber===s,v=f.endLineNumber===s;if(p&&v){const y=f.startColumn,S=Math.min(r,y);r=Math.max(S,n)}g.forceShowAtRange&&(a=f)}let c,h;if(a){const g=a.getStartPosition();c=g,h=g}else c=t.getStartPosition(),h=new yt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class Dz{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 Jv=class Jv extends ze{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 ze.None;let i=t[0].range;for(const s of t){const r=s.range;i=B.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Jv._DECORATION_OPTIONS}]),yn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new V_(n),r={fragment:this._fragment,statusBar:s,...i},a=new He;for(const h of e){const g=this._renderHoverPartsForParticipant(t,h,r);a.add(g);for(const f of g.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:h,hoverPart:f.hoverPart,hoverElement:f.hoverElement})}const c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),yn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new sh([])}_renderStatusBar(e,t){if(t.hasContent)return new Dz(e,t)}_registerListenersOnRenderedParts(){const e=new He;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Hi(n,Fn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Hi(n,Fn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Qf&&!(i instanceof Z_));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Yf)}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 Gu;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Jv._DECORATION_OPTIONS=xi.register({description:"content-hover-highlight",className:"hoverHighlight"});let YS=Jv;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},Vk=function(o,e){return function(t,i){e(t,i,o)}};let JS=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new gi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(HS,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new z_(this._editor,this._participants),this._hoverOperation=this._register(new _M(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of vh.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 vM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(ol(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(ol(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register($b.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 f1(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 ly(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 ly(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||!gw(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new ly(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}};JS=Ez([Vk(1,ri),Vk(2,is)],JS);var Pz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jk=function(o,e){return function(t,i){e(t,i,o)}},QS,_d;let Es=(_d=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new gi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new He,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new as(()=>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(QS.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?gw(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 h;const a=this._isMouseOnContentHoverWidget(r),c=((h=this._contentWidget)==null?void 0:h.isColorPickerVisible)??!1;return a&&c},s=(r,a)=>{var c,h,g,f;return(a&&((h=this._contentWidget)==null?void 0:h.containsNode((c=r.event.browserEvent.view)==null?void 0:c.document.activeElement))&&!((f=(g=r.event.browserEvent.view)==null?void 0:g.getSelection())!=null&&f.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,c,h,g;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&&((h=this._contentWidget)!=null&&h.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((g=this._contentWidget)==null?void 0:g.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===hw||t.commandId===uw)&&((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)||og.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(JS,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()}},QS=_d,_d.ID="editor.contrib.contentHover",_d);Es=QS=Pz([jk(1,ri),jk(2,is)],Es);const Q1=class Q1 extends ze{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!==rM||!i.range)return;const n=this._editor.getContribution(Es.ID);if(n&&!n.isColorPickerVisible){const s=new B(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};Q1.ID="editor.contrib.colorContribution";let X_=Q1;_i(X_.ID,X_,2);vh.register(Yf);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},ru=function(o,e){return function(t,i){e(t,i,o)}},eC,tC,vd;let rh=(vd=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=M.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=M.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(iC,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(eC.ID)}},eC=vd,vd.ID="editor.contrib.standaloneColorPickerController",vd);rh=eC=OM([ru(1,Wi),ru(2,ri)],rh);_i(rh.ID,rh,1);const Uk=8,Tz=22;var bd;let iC=(bd=class extends ze{constructor(e,t,i,n,s,r,a){var f;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 gi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Jf,this._editor),this._position=(f=this._editor._getViewModel())==null?void 0:f.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),h=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},g=this._register(Vu(this._body));this._register(g.onDidBlur(p=>{this.hide()})),this._register(g.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var _;const v=(_=p.target.element)==null?void 0:_.classList;v&&v.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(h),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return tC.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 Mz(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 Xf(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 V_(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,h=c.saturationBox.domNode.clientWidth,g=c.domNode.clientWidth-h-Tz-Uk,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+Uk+"px";const _=p.originalColorNode;_.style.width=g+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(f&&(f.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},tC=bd,bd.ID="editor.contrib.standaloneColorPickerWidget",bd);iC=tC=OM([ru(3,ri),ru(4,is),ru(5,St),ru(6,ml)],iC);class Mz{constructor(e,t){this.value=e,this.foundInEditor=t}}class Nz extends Wr{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...vt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:w({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:et.CommandPalette}],metadata:{description:vt("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=rh.get(t))==null||i.showOrFocus()}}class Rz extends we{constructor(){super({id:"editor.action.hideColorPicker",label:w({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:M.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:vt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=rh.get(t))==null||i.hide()}}class Az extends we{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:w({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:M.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:vt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=rh.get(t))==null||i.insertColor()}}ie(Rz);ie(Az);Qi(Nz);class Bl{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,h=e.endLineNumber,g=e.endColumn,f=s.getLineContent(a),p=s.getLineContent(h);let v=f.lastIndexOf(t,c-1+t.length),_=p.indexOf(i,g-1-i.length);if(v!==-1&&_!==-1)if(a===h)f.substring(v+t.length,_).indexOf(i)>=0&&(v=-1,_=-1);else{const S=f.substring(v+t.length),D=p.substring(0,_);(S.indexOf(i)>=0||D.indexOf(i)>=0)&&(v=-1,_=-1)}let y;v!==-1&&_!==-1?(n&&v+t.length<f.length&&f.charCodeAt(v+t.length)===32&&(t=t+" "),n&&_>0&&p.charCodeAt(_-1)===32&&(i=" "+i,_-=1),y=Bl._createRemoveBlockCommentOperations(new B(a,v+t.length+1,h,_+1),t,i)):(y=Bl._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const S of y)r.addTrackedEditOperation(S.range,S.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return B.isEmpty(e)?n.push(Vn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Vn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Vn.delete(new B(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return B.isEmpty(e)?s.push(Vn.replace(new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Vn.insert(new yt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Vn.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 zt(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 zt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class Wa{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 h=0,g=i-t+1;h<g;h++)c[h]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return c}static _analyzeLines(e,t,i,n,s,r,a,c){let h=!0,g;e===0?g=!0:e===1?g=!1:g=!0;for(let f=0,p=n.length;f<p;f++){const v=n[f],_=s+f;if(_===s&&a){v.ignore=!0;continue}const y=i.getLineContent(_),S=Vy(y);if(S===-1){v.ignore=r,v.commentStrOffset=y.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!Bl._haystackHasNeedleAtOffset(y,v.commentStr,S)&&(e===0?g=!1:e===1||(v.ignore=!0)),g&&t){const D=S+v.commentStrLength;D<y.length&&y.charCodeAt(D)===32&&(v.commentStrLength+=1)}}if(e===0&&h){g=!1;for(let f=0,p=n.length;f<p;f++)n[f].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,c){const h=Wa._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:Wa._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=Wa._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(Wa._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),B.isEmpty(s[a].range)&&B.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),h=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return c!==-1&&h===-1&&(h=e.getLineContent(s).indexOf(n,c+i.length),r=s),c===-1&&h!==-1&&(c=e.getLineContent(r).lastIndexOf(i,h),s=r),t.isEmpty()&&(c===-1||h===-1)&&(c=e.getLineContent(s).indexOf(i),c!==-1&&(h=e.getLineContent(s).indexOf(n,c+i.length))),c!==-1&&e.getLineContent(s).charCodeAt(c+i.length)===32&&(i+=" "),h!==-1&&e.getLineContent(r).charCodeAt(h-1)===32&&(n=" "+n,h-=1),c!==-1&&h!==-1?Bl._createRemoveBlockCommentOperations(new B(s,c+i.length+1,r,h+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 h=e.getLineContent(i.startLineNumber);let g=Vy(h);g===-1&&(g=h.length),c=Bl._createAddBlockCommentOperations(new B(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=Bl._createAddBlockCommentOperations(new B(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 h of c)t.addEditOperation(h.range,h.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new B(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=Wa._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 zt(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(Vn.delete(new B(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(Vn.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,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(let p=0,v=t[c].commentStrOffset;f<s&&p<v;p++)f=Wa.nextVisibleColumn(f,n,g.charCodeAt(p)===9,1);f<s&&(s=f)}s=Math.floor(s/n)*n;for(let c=0,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(r=0,a=t[c].commentStrOffset;f<s&&r<a;r++)f=Wa.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class p1 extends we{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(gs);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((g,f)=>({selection:g,index:f,ignoreFirstLine:!1}));c.sort((g,f)=>B.compareRangesUsingStarts(g.selection,f.selection));let h=c[0];for(let g=1;g<c.length;g++){const f=c[g];h.selection.endLineNumber===f.selection.startLineNumber&&(h.index<f.index?f.ignoreFirstLine=!0:(h.ignoreFirstLine=!0,h=f))}for(const g of c)s.push(new Wa(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Oz extends p1{constructor(){super(0,{id:"editor.action.commentLine",label:w("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class Fz extends p1{constructor(){super(1,{id:"editor.action.addCommentLine",label:w("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2081),weight:100}})}}class Hz extends p1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:w("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2099),weight:100}})}}class Wz extends we{constructor(){super({id:"editor.action.blockComment",label:w("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(gs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new Bl(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}ie(Oz);ie(Fz);ie(Hz);ie(Wz);var Bz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Dc=function(o,e){return function(t,i){e(t,i,o)}},nC,wd;let ag=(wd=class{static get(e){return e.getContribution(nC.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 He,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(h=>this._onContextMenu(h))),this._toDispose.add(this._editor.onMouseWheel(h=>{if(this._contextMenuIsBeingShownCount>0){const g=this._contextViewService.getContextViewElement(),f=h.srcElement;f.shadowRoot&&rO(g)===f.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(h=>{this._editor.getOption(24)&&h.keyCode===58&&(h.preventDefault(),h.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 aO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new RL(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new Of)}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=Gs(this._editor.getDomNode()),c=a.left+r.left,h=a.top+r.top+r.height;n={x:c,y:h}}const s=this._editor.getOption(128)&&!jy;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 By(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new By(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()||lO(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=h=>({id:`menu-action-${++i}`,label:h.label,tooltip:"",class:void 0,enabled:typeof h.enabled>"u"?!0:h.enabled,checked:h.checked,run:h.run}),s=(h,g)=>new RL(`menu-action-${++i}`,h,g,void 0),r=(h,g,f,p,v)=>{if(!g)return n({label:h,enabled:g,run:()=>{}});const _=S=>()=>{this._configurationService.updateValue(f,S)},y=[];for(const S of v)y.push(n({label:S.label,checked:p===S.value,run:_(S.value)}));return s(h,y)},a=[];a.push(n({label:w("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Of),a.push(n({label:w("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(w("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:w("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:w("context.minimap.size.fill","Fill"),value:"fill"},{label:w("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(w("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:w("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:w("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!jy;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:h=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},nC=wd,wd.ID="editor.contrib.contextmenu",wd);ag=nC=Bz([Dc(1,_g),Dc(2,Hb),Dc(3,Wi),Dc(4,is),Dc(5,uh),Dc(6,Cn),Dc(7,Bu)],ag);class zz extends we{constructor(){super({id:"editor.action.showContextMenu",label:w("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=ag.get(t))==null||i.showContextMenu()}}_i(ag.ID,ag,2);ie(zz);class dy{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 hy{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Qv=class Qv extends ze{static get(e){return e.getContribution(Qv.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 dy(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new hy(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 hy(new dy(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 hy(new dy(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}};Qv.ID="editor.contrib.cursorUndoRedoController";let lg=Qv;class Vz extends we{constructor(){super({id:"cursorUndo",label:w("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=lg.get(t))==null||n.cursorUndo()}}class jz extends we{constructor(){super({id:"cursorRedo",label:w("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=lg.get(t))==null||n.cursorRedo()}}_i(lg.ID,lg,0);ie(Vz);ie(jz);class Uz{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 B(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 zt(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 zt(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 zt(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 zt(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 zt(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 Fh(o){return xa?o.altKey:o.ctrlKey}const Pl=class Pl extends ze{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)||(Fh(e)&&(this._modifierPressed=!0),this._mouseDown&&Fh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(Fh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Pl.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}Fh(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 zt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new zt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(Fh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Pl.ID,new Uz(this._dragSelection,t,Fh(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 B(e.lineNumber,e.column,e.lineNumber,e.column),options:Pl._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()}};Pl.ID="editor.contrib.dragAndDrop",Pl.TRIGGER_KEY_VALUE=xa?6:5,Pl._DECORATION_OPTIONS=xi.register({description:"dnd-target",className:"dnd-target"});let Y_=Pl;_i(Y_.ID,Y_,2);_i(cl.ID,cl,0);wg(vS);Lt(new class extends Js{constructor(){super({id:WT,precondition:t1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=cl.get(e))==null?void 0:t.changePasteType()}});Lt(new class extends Js{constructor(){super({id:"editor.hidePasteWidget",precondition:t1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=cl.get(e))==null||t.clearWidgets()}});var yd;ie((yd=class extends we{constructor(){super({id:"editor.action.pasteAs",label:w("pasteAs","Paste As..."),alias:"Paste As...",precondition:M.writable,metadata:{description:"Paste as",args:[{name:"args",schema:yd.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=cl.get(t))==null?void 0:s.pasteAs(n?new Sn(n):void 0)}},yd.argsSchema={type:"object",properties:{kind:{type:"string",description:w("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.")}}},yd));ie(class extends we{constructor(){super({id:"editor.action.pasteAsText",label:w("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:M.writable})}run(o,e){var t;return(t=cl.get(e))==null?void 0:t.pasteAs({providerId:Qd.id})}});class $z{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 $k{constructor(e){this.identifier=e}}const FM=fl("treeViewsDndService");pl(FM,$z,1);var qz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xm=function(o,e){return function(t,i){e(t,i,o)}},sC;const HM="editor.experimental.dropIntoEditor.defaultProvider",WM="editor.changeDropType",m1=new Pi("dropWidgetVisible",!1,w("dropWidgetVisible","Whether the drop widget is showing"));var Sd;let cg=(Sd=class extends ze{static get(e){return e.getContribution(sC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=mS.getInstance(),this._dropProgressManager=this._register(t.createInstance(H_,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(B_,"dropIntoEditor",e,m1,{id:WM,label:w("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=fs(async r=>{const a=new He,c=a.add(new zu(e,1,void 0,r));try{const h=await this.extractDataTransferData(i);if(h.size===0||c.token.isCancellationRequested)return;const g=e.getModel();if(!g)return;const f=this._languageFeaturesService.documentDropEditProvider.ordered(g).filter(v=>v.dropMimeTypes?v.dropMimeTypes.some(_=>h.matches(_)):!0),p=a.add(await this.getDropEdits(f,g,t,h,c));if(c.token.isCancellationRequested)return;if(p.edits.length){const v=this.getInitialActiveEditIndex(g,p.edits),_=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([B.fromPositions(t)],{activeEditIndex:v,allEdits:p.edits},_,async y=>y,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,w("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new He,a=await Dp(Promise.all(e.map(async h=>{try{const g=await h.provideDocumentDropEdits(t,i,n,s.token);return g&&r.add(g),g==null?void 0:g.edits.map(f=>({...f,providerId:h.id}))}catch(g){console.error(g)}})),s.token),c=nl(a??[]).flat();return{edits:FT(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(HM,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Sn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&DT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new IT;const t=TT(e.dataTransfer);if(this.treeItemsTransfer.hasData($k.prototype)){const i=this.treeItemsTransfer.getData($k.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}},sC=Sd,Sd.ID="editor.contrib.dropIntoEditorController",Sd);cg=sC=qz([xm(1,ri),xm(2,Cn),xm(3,St),xm(4,FM)],cg);_i(cg.ID,cg,2);wg(_S);Lt(new class extends Js{constructor(){super({id:WM,precondition:m1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=cg.get(e))==null||i.changeDropType()}});Lt(new class extends Js{constructor(){super({id:"editor.hideDropWidget",precondition:m1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=cg.get(e))==null||i.clearWidgets()}});Br.as(Tp.Configuration).registerConfiguration({...Bb,properties:{[HM]:{type:"object",scope:5,description:w("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const ks=class ks{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===ks._FIND_MATCH_DECORATION||n===ks._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,ks._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,ks._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 B(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,ks._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=ks._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=ks._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),h=this._editor.getLayoutInfo().height/a,g=Math.max(2,Math.ceil(3/h));let f=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let v=1,_=e.length;v<_;v++){const y=e[v].range;p+g>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new B(f,1,p,1),options:ks._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=y.startLineNumber,p=y.endLineNumber)}s.push({range:new B(f,1,p,1),options:ks._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,ks._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}};ks._CURRENT_FIND_MATCH_DECORATION=xi.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:ss(Vw),position:ba.Center},minimap:{color:ss(AL),position:1}}),ks._FIND_MATCH_DECORATION=xi.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:ss(Vw),position:ba.Center},minimap:{color:ss(AL),position:1}}),ks._FIND_MATCH_NO_OVERVIEW_DECORATION=xi.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),ks._FIND_MATCH_ONLY_OVERVIEW_DECORATION=xi.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:ss(Vw),position:ba.Center}}),ks._RANGE_HIGHLIGHT_DECORATION=xi.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),ks._FIND_SCOPE_DECORATION=xi.register({description:"find-scope",className:"findScope",isWholeLine:!0});let oC=ks;class Kz{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)=>B.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 BM(o,e){if(o&&o[0]!==""){const t=qk(o,e,"-"),i=qk(o,e,"_");return t&&!i?Kk(o,e,"-"):!t&&i?Kk(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():cO(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 qk(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function Kk(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=BM([n[a]],r)+t}),s.slice(0,-1)}class Gk{constructor(e){this.staticValue=e,this.kind=0}}class Gz{constructor(e){this.pieces=e,this.kind=1}}class dg{static fromStaticValue(e){return new dg([nd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Gk(""):e.length===1&&e[0].staticValue!==null?this._state=new Gk(e[0].staticValue):this._state=new Gz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?BM(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=dg._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const c=[],h=r.caseOps.length;let g=0;for(let f=0,p=a.length;f<p;f++){if(g>=h){c.push(a.slice(f));break}switch(r.caseOps[g]){case"U":c.push(a[f].toUpperCase());break;case"u":c.push(a[f].toUpperCase()),g++;break;case"L":c.push(a[f].toLowerCase());break;case"l":c.push(a[f].toLowerCase()),g++;break;default:c.push(a[f])}}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 nd{static staticValue(e){return new nd(e,-1,null)}static caseOps(e,t){return new nd(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 Zz{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++]=nd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=nd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=nd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new dg(this._result)}}function Xz(o){if(!o||o.length===0)return new dg(null);const e=[],t=new Zz(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 bl=new Pi("findWidgetVisible",!1);bl.toNegated();const vw=new Pi("findInputFocussed",!1),_1=new Pi("replaceInputFocussed",!1),Lm={primary:545,mac:{primary:2593}},km={primary:565,mac:{primary:2613}},Im={primary:560,mac:{primary:2608}},Dm={primary:554,mac:{primary:2602}},Em={primary:558,mac:{primary:2606}},cn={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"},zl=19999,Yz=240;class bf{constructor(e,t){this._toDispose=new He,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Ep,this._decorations=new oC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new as(()=>{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,As(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)},Yz)):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 B(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,zl);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=dE(n.map(c=>c.range),c=>B.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 g=this._decorations.matchAfterPosition(e);g&&this._setCurrentFindMatch(g);return}if(this._decorations.getCount()<zl){let g=this._decorations.matchBeforePosition(e);g&&g.isEmpty()&&g.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),g=this._decorations.matchBeforePosition(e)),g&&this._setCurrentFindMatch(g);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=bf._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),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!h){if(!t&&!n.containsRange(h.range))return this._moveToPrevMatch(h.range.getStartPosition(),!0);this._setCurrentFindMatch(h.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()<zl){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=bf._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,h=this._editor.getModel();let g=new yt(a,c),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&f&&f.range.isEmpty()&&f.range.getStartPosition().equals(g)&&(g=this._nextSearchPosition(g),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),f?!n&&!r.containsRange(f.range)?this._getNextMatch(f.range.getEndPosition(),t,i,!0):f: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?Xz(this._state.replaceString):dg.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 Ip(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=>bf._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>=zl?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new dO(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 f="mu";i.ignoreCase&&(f+="i"),i.global&&(f+="g"),i=new RegExp(i.source,f)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let c;const h=this._state.preserveCase;a.hasReplacementPatterns||h?c=s.replace(i,function(){return a.buildReplaceString(arguments,h)}):c=s.replace(i,a.buildReplaceString(null,h));const g=new hE(r,c,this._editor.getSelection());this._executeEditorCommand("replaceAll",g)}_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 Kz(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 zt(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 eb=class eb extends Np{constructor(e,t,i){super(),this._hideSoon=this._register(new as(()=>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:Zc(gE),inputActiveOptionForeground:Zc(uE),inputActiveOptionBackground:Zc(_0)},s=this._register(Uy());this.caseSensitive=this._register(new hO({appendTitle:this._keybindingLabelFor(cn.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 uO({appendTitle:this._keybindingLabelFor(cn.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 gO({appendTitle:this._keybindingLabelFor(cn.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(Hi(this._domNode,Fn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Hi(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 eb.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")}};eb.ID="editor.contrib.findOptionsWidget";let rC=eb;function Pm(o,e){return o===1?!0:o===2?!1:e}class Jz extends ze{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Pm(this._isRegexOverride,this._isRegex)}get wholeWord(){return Pm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Pm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Pm(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 gi),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"&&(B.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var g;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,h=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"&&((g=e.searchScope)!=null&&g.every(f=>{var p;return(p=this._searchScope)==null?void 0:p.some(v=>!B.equalsRange(v,f))})||(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),h!==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>=zl}}const Qz=w("defaultLabel","input"),eV=w("label.preserveCaseToggle","Preserve Case");class tV extends fE{constructor(e){super({icon:Xt.preserveCase,title:eV+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??qb("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class iV extends Np{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new gi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new gi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new gi),this._onInput=this._register(new gi),this._onKeyUp=this._register(new gi),this._onPreserveCaseKeyDown=this._register(new gi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Qz;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,c=!!n.flexibleWidth,h=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new fO(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:c,flexibleMaxHeight:h,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new tV({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 g=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const v=g.indexOf(this.domNode.ownerDocument.activeElement);if(v>=0){let _=-1;p.equals(17)?_=(v+1)%g.length:p.equals(15)&&(v===0?_=g.length-1:_=v-1),p.equals(9)?(g[v].blur(),this.inputBox.focus()):_>=0&&g[_].focus(),S_.stop(p,!0)}}});const f=document.createElement("div");f.className="controls",f.style.display=this._showOptionButtons?"block":"none",f.appendChild(this.preserveCase.domNode),this.domNode.appendChild(f),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 zM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},VM=function(o,e){return function(t,i){e(t,i,o)}};const v1=new Pi("suggestWidgetVisible",!1,w("suggestWidgetVisible","Whether suggestion are visible")),b1="historyNavigationWidgetFocus",jM="historyNavigationForwardsEnabled",UM="historyNavigationBackwardsEnabled";let tl;const Tm=[];function $M(o,e){if(Tm.includes(e))throw new Error("Cannot register the same widget multiple times");Tm.push(e);const t=new He,i=new Pi(b1,!1).bindTo(o),n=new Pi(jM,!0).bindTo(o),s=new Pi(UM,!0).bindTo(o),r=()=>{i.set(!0),tl=e},a=()=>{i.set(!1),tl===e&&(tl=void 0)};return mO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(yn(()=>{Tm.splice(Tm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let aC=class extends pO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register($M(s,this.inputBox))}};aC=zM([VM(3,Wi)],aC);let lC=class extends iV{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register($M(r,this.inputBox))}};lC=zM([VM(3,Wi)],lC);Da.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:oe.and(oe.has(b1),oe.equals(UM,!0),oe.not("isComposing"),v1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{tl==null||tl.showPreviousValue()}});Da.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:oe.and(oe.has(b1),oe.equals(jM,!0),oe.not("isComposing"),v1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{tl==null||tl.showNextValue()}});function Zk(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 Xk=Gn("find-collapsed",Xt.chevronRight,w("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Yk=Gn("find-expanded",Xt.chevronDown,w("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),nV=Gn("find-selection",Xt.selection,w("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),sV=Gn("find-replace",Xt.replace,w("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),oV=Gn("find-replace-all",Xt.replaceAll,w("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),rV=Gn("find-previous-match",Xt.arrowUp,w("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),aV=Gn("find-next-match",Xt.arrowDown,w("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),lV=w("label.findDialog","Find / Replace"),cV=w("label.find","Find"),dV=w("placeholder.find","Find"),hV=w("label.previousMatchButton","Previous Match"),uV=w("label.nextMatchButton","Next Match"),gV=w("label.toggleSelectionFind","Find in Selection"),fV=w("label.closeButton","Close"),pV=w("label.replace","Replace"),mV=w("placeholder.replace","Replace"),_V=w("label.replaceButton","Replace"),vV=w("label.replaceAllButton","Replace All"),bV=w("label.toggleReplaceButton","Toggle Replace"),wV=w("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",zl),yV=w("label.matchesLocation","{0} of {1}"),Jk=w("label.noResults","No results"),Qr=419,SV=275,CV=SV-54;let zg=69;const xV=33,Qk="ctrlEnterReplaceAll.windows.donotask",eI=xa?256:2048;class uy{constructor(e){this.afterLineNumber=e,this.heightInPx=xV,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 iI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const tb=class tb extends Np{constructor(e,t,i,n,s,r,a,c,h,g){super(),this._hoverService=g,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=h,this._ctrlEnterReplaceAllWarningPrompted=!!c.getBoolean(Qk,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new uc(500),this._register(yn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(f=>this._onStateChanged(f))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(f=>{if(f.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),f.hasChanged(146)&&this._tryUpdateWidgetWidth(),f.hasChanged(2)&&this.updateAccessibilitySupport(),f.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const v=this._codeEditor.getOption(41).addExtraSpaceOnTop;v&&!this._viewZone&&(this._viewZone=new uy(0),this._showViewZone()),!v&&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 f=await this._controller.getGlobalBufferTerm();f&&f!==this._state.searchString&&(this._state.change({searchString:f},!1),this._findInput.select())}})),this._findInputFocused=vw.bindTo(r),this._findFocusTracker=this._register(Vu(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=_1.bindTo(r),this._replaceFocusTracker=this._register(Vu(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 uy(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(f=>{if(f.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return tb.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=Qo(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,dn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=zg+"px",this._state.matchesCount>=zl?this._matchesCount.title=wV: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>=zl&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=I0(yV,n,i)}else e=Jk;this._matchesCount.appendChild(document.createTextNode(e)),gr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),zg=Math.max(zg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===Jk)return i===""?w("ariaSearchNoResultEmpty","{0} found",e):w("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=w("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 w("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=Gs(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=_O(this._domNode).left;r>c&&(t=!1);const h=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(h?h.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 uy(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&&Qo(this._domNode)>Qr){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=Qo(this._findInput.domNode);return}if(Qr+28+n>=i&&(r=!0),Qr+28+n-zg>=i&&(a=!0),Qr+28+n-zg>=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=Qo(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&&!B.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 iI(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{Ab&&bg&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(w("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(Qk,!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 iI(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 aC(null,this._contextViewProvider,{width:CV,label:cV,placeholder:dV,appendCaseSensitiveLabel:this._keybindingLabelFor(cn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(cn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(cn.ToggleRegexCommand),validation:g=>{if(g.length===0||!this._findInput.getRegex())return null;try{return new RegExp(g,"gu"),null}catch(f){return{content:f.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>Zk(this._keybindingService),inputBoxStyles:FL,toggleStyles:OL},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(g=>this._onFindInputKeyDown(g))),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(g=>{g.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),g.preventDefault())})),this._register(this._findInput.onRegexKeyDown(g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),g.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(g=>{this._tryUpdateHeight()&&this._showViewZone()})),vO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(Uy());this._prevBtn=this._register(new Hh({label:hV+this._keybindingLabelFor(cn.PreviousMatchFindAction),icon:rV,hoverDelegate:i,onTrigger:()=>{iu(this._codeEditor.getAction(cn.PreviousMatchFindAction)).run().then(void 0,dn)}},this._hoverService)),this._nextBtn=this._register(new Hh({label:uV+this._keybindingLabelFor(cn.NextMatchFindAction),icon:aV,hoverDelegate:i,onTrigger:()=>{iu(this._codeEditor.getAction(cn.NextMatchFindAction)).run().then(void 0,dn)}},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 fE({icon:nV,title:gV+this._keybindingLabelFor(cn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Zc(_0),inputActiveOptionBorder:Zc(gE),inputActiveOptionForeground:Zc(uE)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let g=this._codeEditor.getSelections();g=g.map(f=>(f.endColumn===1&&f.endLineNumber>f.startLineNumber&&(f=f.setEndPosition(f.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(f.endLineNumber-1))),f.isEmpty()?null:f)).filter(f=>!!f),g.length&&this._state.change({searchScope:g},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Hh({label:fV+this._keybindingLabelFor(cn.CloseFindWidgetCommand),icon:pE,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),g.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new lC(null,void 0,{label:pV,placeholder:mV,appendPreserveCaseLabel:this._keybindingLabelFor(cn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>Zk(this._keybindingService),inputBoxStyles:FL,toggleStyles:OL},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(g=>this._onReplaceInputKeyDown(g))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(g=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(g=>{g.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(),g.preventDefault())}));const r=this._register(Uy());this._replaceBtn=this._register(new Hh({label:_V+this._keybindingLabelFor(cn.ReplaceOneAction),icon:sV,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Hh({label:vV+this._keybindingLabelFor(cn.ReplaceAllAction),icon:oV,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 Hh({label:bV,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Qo(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=lV,this._domNode.role="dialog",this._domNode.style.width=`${Qr}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 Qh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=Qr;this._register(this._resizeSash.onDidStart(()=>{h=Qo(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<Qr)return;const p=parseFloat(bO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=Qo(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=Qo(this._domNode);if(g<Qr)return;let f=Qr;if(!this._resized||g===Qr){const p=this._codeEditor.getLayoutInfo();f=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=Qo(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};tb.ID="editor.contrib.findWidget";let cC=tb;class Hh extends Np{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Ki.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??qb("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(...Ki.asClassNameArray(Xk)),this._domNode.classList.add(...Ki.asClassNameArray(Yk))):(this._domNode.classList.remove(...Ki.asClassNameArray(Yk)),this._domNode.classList.add(...Ki.asClassNameArray(Xk)))}}Wb((o,e)=>{const t=o.getColor(GD);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Rf(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(wO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Rf(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(sl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(yO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(SO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var qM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oo=function(o,e){return function(t,i){e(t,i,o)}},dC;const LV=524288;function hC(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)<LV)return o.getModel().getValueInRange(i)}return null}var Cd;let Xs=(Cd=class extends ze{get editor(){return this._editor}static get(e){return e.getContribution(dC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=bl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new uc(500),this._state=this._register(new Jz),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!!vw.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=Af(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=hC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Af(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=hC(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 bf(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(w("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)}},dC=Cd,Cd.ID="editor.contrib.findController",Cd);Xs=dC=qM([Oo(1,Wi),Oo(2,yc),Oo(3,vg),Oo(4,zs),Oo(5,Op)],Xs);let uC=class extends Xs{constructor(e,t,i,n,s,r,a,c,h){super(e,i,a,c,r,h),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 cC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new rC(this._editor,this._state,this._keybindingService))}};uC=qM([Oo(1,Hb),Oo(2,Wi),Oo(3,is),Oo(4,mr),Oo(5,zs),Oo(6,yc),Oo(7,vg),Oo(8,Op)],uC);const kV=mE(new _E({id:cn.StartFindAction,label:w("startFindAction","Find"),alias:"Find",precondition:oe.or(M.focus,oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"3_find",title:w({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));kV.addImplementation(0,(o,e,t)=>{const i=Xs.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 IV={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 DV extends we{constructor(){super({id:cn.StartFindWithArgs,label:w("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:IV})}async run(e,t,i){const n=Xs.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 EV extends we{constructor(){super({id:cn.StartFindWithSelection,label:w("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=Xs.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 KM extends we{async run(e,t){const i=Xs.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 PV extends KM{constructor(){super({id:cn.NextMatchFindAction,label:w("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:oe.and(M.focus,vw),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class TV extends KM{constructor(){super({id:cn.PreviousMatchFindAction,label:w("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:oe.and(M.focus,vw),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class MV extends we{constructor(){super({id:cn.GoToMatchFindAction,label:w("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:bl}),this._highlightDecorations=[]}run(e,t,i){const n=Xs.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(zs).notify({severity:L0.Warning,message:w("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(gl),a=new He,c=a.add(r.createInputBox());c.placeholder=w("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const h=f=>{const p=parseInt(f);if(isNaN(p))return;const v=n.getState().matchesCount;if(p>0&&p<=v)return p-1;if(p<0&&p>=-v)return v+p},g=f=>{const p=h(f);if(typeof p=="number"){c.validationMessage=void 0,n.goToMatch(p);const v=n.getState().currentMatch;v&&this.addDecorations(t,v)}else c.validationMessage=w("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(c.onDidChangeValue(f=>{g(f)})),a.add(c.onDidAccept(()=>{const f=h(c.value);typeof f=="number"?(n.goToMatch(f),c.hide()):c.validationMessage=w("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:ss(vE),position:ba.Full}}}])})}}class GM extends we{async run(e,t){const i=Xs.get(t);if(!i)return;const n=hC(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 GM{constructor(){super({id:cn.NextSelectionMatchFindAction,label:w("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class RV extends GM{constructor(){super({id:cn.PreviousSelectionMatchFindAction,label:w("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const AV=mE(new _E({id:cn.StartFindReplaceAction,label:w("startReplace","Replace"),alias:"Replace",precondition:oe.or(M.focus,oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"3_find",title:w({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));AV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Xs.get(e);if(!i)return!1;const n=e.getSelection(),s=i.isFindInputFocused(),r=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!s,a=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});_i(Xs.ID,uC,0);ie(DV);ie(EV);ie(PV);ie(TV);ie(MV);ie(NV);ie(RV);const $r=Js.bindToContribution(Xs.get);Lt(new $r({id:cn.CloseFindWidgetCommand,precondition:bl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:oe.and(M.focus,oe.not("isComposing")),primary:9,secondary:[1033]}}));Lt(new $r({id:cn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:M.focus,primary:Lm.primary,mac:Lm.mac,win:Lm.win,linux:Lm.linux}}));Lt(new $r({id:cn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:M.focus,primary:km.primary,mac:km.mac,win:km.win,linux:km.linux}}));Lt(new $r({id:cn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:M.focus,primary:Im.primary,mac:Im.mac,win:Im.win,linux:Im.linux}}));Lt(new $r({id:cn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:M.focus,primary:Dm.primary,mac:Dm.mac,win:Dm.win,linux:Dm.linux}}));Lt(new $r({id:cn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:M.focus,primary:Em.primary,mac:Em.mac,win:Em.win,linux:Em.linux}}));Lt(new $r({id:cn.ReplaceOneAction,precondition:bl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Lt(new $r({id:cn.ReplaceOneAction,precondition:bl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:oe.and(M.focus,_1),primary:3}}));Lt(new $r({id:cn.ReplaceAllAction,precondition:bl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Lt(new $r({id:cn.ReplaceAllAction,precondition:bl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:oe.and(M.focus,_1),primary:void 0,mac:{primary:2051}}}));Lt(new $r({id:cn.SelectAllMatchesAction,precondition:bl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const OV={0:" ",1:"u",2:"r"},nI=65535,Dr=16777215,sI=4278190080;class gy{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>nI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new gy(e.length),this._userDefinedStates=new gy(e.length),this._recoveredStates=new gy(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>Dr||r>Dr)throw new Error("startLineNumber or endLineNumber must not exceed "+Dr);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]&Dr}getEndLineNumber(e){return this._endIndexes[e]&Dr}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n<this._types.length;n++)this._types[n]===e&&(this.setCollapsed(n,t),i=!0);return i}toRegion(e){return new FV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&sI)>>>24)+((this._endIndexes[e]&sI)>>>16);return t===nI?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){const n=Math.floor((t+i)/2);e<this.getStartLineNumber(n)?i=n:t=n+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${OV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Dr,endLineNumber:this._endIndexes[e]&Dr,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 h=e[c];i[c]=h.startLineNumber,n[c]=h.endLineNumber,s.push(h.type),h.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=(S,D)=>Array.isArray(S)?(P=>P<D?S[P]:void 0):(P=>P<D?S.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,h=0,g=r(0),f=a(0);const p=[];let v,_=0;const y=[];for(;g||f;){let S;if(f&&(!g||g.startLineNumber>=f.startLineNumber))g&&g.startLineNumber===f.startLineNumber?(f.source===1?S=f:(S=g,S.isCollapsed=f.isCollapsed&&(g.endLineNumber===f.endLineNumber||!(n!=null&&n.startsInside(g.startLineNumber+1,g.endLineNumber+1))),S.source=0),g=r(++c)):(S=f,f.isCollapsed&&f.source===0&&(S.source=2)),f=a(++h);else{let D=h,P=f;for(;;){if(!P||P.startLineNumber>g.endLineNumber){S=g;break}if(P.source===1&&P.endLineNumber>g.endLineNumber)break;P=a(++D)}g=r(++c)}if(S){for(;v&&v.endLineNumber<S.startLineNumber;)v=p.pop();S.endLineNumber>S.startLineNumber&&S.startLineNumber>_&&S.endLineNumber<=i&&(!v||v.endLineNumber>=S.endLineNumber)&&(y.push(S),_=S.startLineNumber,v&&p.push(v),v=S)}}return y}}class FV{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class HV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new gi,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 h=this._regions.getEndLineNumber(n),g=this._regions.isCollapsed(n);if(h<=s){const f=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(g,h<=r,f))}g&&h>r&&(r=h),n++}};for(const c of e){const h=c.regionIndex,g=this._editorDecorationIds[h];if(g&&!t[g]){t[g]=!0,a(h);const f=!this._regions.isCollapsed(h);this._regions.setCollapsed(h,f),s=Math.max(s,this._regions.getEndLineNumber(h))}}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),h=e.getSource(n)!==0,g={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:g,options:this._decorationProvider.getDecorationOption(c,a<=i,h)}),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 bE(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 h=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!h.containedBy(r[r.length-1]);)r.pop();r.push(h),t(h,r.length)&&i.push(h)}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 w1(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,h)=>c.isCollapsed!==r&&h<e);i.push(...a)}}}o.toggleCollapseState(i)}function Ig(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,h)=>c.isCollapsed!==e&&h<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function ZM(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 WV(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 BV(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 XM(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 y1(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 S1(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 zV(o,e){let t=null;const i=e.getRegionAtLine(o);if(i!==null&&(t=i.startLineNumber,o===t)){const n=i.parentIndex;n!==-1?t=e.regions.getStartLineNumber(n):t=null}return t}function VV(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){if(o!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let n=0;for(i!==-1&&(n=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<o)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function jV(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 UV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new gi,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||CO(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,h=a.getEndLineNumber(i);s<=c&&h<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===c&&this._hiddenRanges[n].endLineNumber===h?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new B(c,1,h,1))),s=c,r=h)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return oI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!$V(r,n))&&(n=oI(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let c=e[r];const h=s(c.startLineNumber);h&&(c=c.setStartPosition(h,i.getLineMaxColumn(h)),t=!0);const g=s(c.endLineNumber);g&&(c=c.setEndPosition(g,i.getLineMaxColumn(g)),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 $V(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function oI(o,e){const t=dE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const qV=5e3,KV="indent";class C1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=KV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(XV(this.editorModel,i,n,this.foldingRangesLimit))}}let GV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Dr||t>Dr)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 h=this._indentOccurrences[c];if(h){if(h+i>t){n=c;break}i+=h}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let c=this._length-1,h=0;c>=0;c--){const g=this._startIndexes[c],f=e.getLineContent(g),p=g0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new wo(r,a)}}};const ZV={limit:qV,update:()=>{}};function XV(o,e,t,i=ZV){const n=o.getOptions().tabSize,s=new GV(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 h=o.getLineCount();h>0;h--){const g=o.getLineContent(h),f=g0(g,n);let p=a[a.length-1];if(f===-1){e&&(p.endAbove=h);continue}let v;if(r&&(v=g.match(r)))if(v[1]){let _=a.length-1;for(;_>0&&a[_].indent!==-2;)_--;if(_>0){a.length=_+1,p=a[_],s.insertFirst(h,p.line,f),p.line=h,p.indent=f,p.endAbove=h;continue}}else{a.push({indent:-2,endAbove:h,line:h});continue}if(p.indent>f){do a.pop(),p=a[a.length-1];while(p.indent>f);const _=p.endAbove-1;_-h>=1&&s.insertFirst(h,_,f)}p.indent===f?p.endAbove=h:a.push({indent:f,endAbove:h,line:h})}return s.toIndentRanges(o)}const YV=ut("editor.foldBackground",{light:ya(HL,.3),dark:ya(HL,.3),hcDark:null,hcLight:null},w("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);ut("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},w("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));ut("editorGutter.foldingControlForeground",xO,w("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const J_=Gn("folding-expanded",Xt.chevronDown,w("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Q_=Gn("folding-collapsed",Xt.chevronRight,w("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),rI=Gn("folding-manual-collapsed",Q_,w("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),aI=Gn("folding-manual-expanded",J_,w("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),fy={color:ss(YV),position:1},Wh=w("linesCollapsed","Click to expand the range."),Mm=w("linesExpanded","Click to collapse the range."),Xn=class Xn{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Xn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Xn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Xn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Xn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Xn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Xn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Xn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Xn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Xn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Xn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Xn.MANUALLY_EXPANDED_VISUAL_DECORATION:Xn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Xn.COLLAPSED_VISUAL_DECORATION=xi.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Wh,firstLineDecorationClassName:Ki.asClassName(Q_)}),Xn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xi.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:fy,isWholeLine:!0,linesDecorationsTooltip:Wh,firstLineDecorationClassName:Ki.asClassName(Q_)}),Xn.MANUALLY_COLLAPSED_VISUAL_DECORATION=xi.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Wh,firstLineDecorationClassName:Ki.asClassName(rI)}),Xn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xi.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:fy,isWholeLine:!0,linesDecorationsTooltip:Wh,firstLineDecorationClassName:Ki.asClassName(rI)}),Xn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Wh}),Xn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:fy,isWholeLine:!0,linesDecorationsTooltip:Wh}),Xn.EXPANDED_VISUAL_DECORATION=xi.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Ki.asClassName(J_),linesDecorationsTooltip:Mm}),Xn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xi.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Ki.asClassName(J_),linesDecorationsTooltip:Mm}),Xn.MANUALLY_EXPANDED_VISUAL_DECORATION=xi.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Ki.asClassName(aI),linesDecorationsTooltip:Mm}),Xn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xi.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Ki.asClassName(aI),linesDecorationsTooltip:Mm}),Xn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Xn.HIDDEN_RANGE_DECORATION=xi.register({description:"folding-hidden-range-decoration",stickiness:1});let gC=Xn;const JV={},QV="syntax";class x1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=QV,this.disposables=new He,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return e4(this.providers,this.editorModel,e).then(t=>{var i;return t?i4(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function e4(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,JV,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const c=e.getLineCount();for(const h of a)h.start>0&&h.end>h.start&&h.end<=c&&i.push({start:h.start,end:h.end,rank:r,kind:h.kind})}},Yn));return Promise.all(n).then(s=>i)}class t4{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>Dr||t>Dr)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 h=this._nestingLevels[a];(h<i||h===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 i4(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 t4(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 n4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Nc;const vs=new Pi("foldingEnabled",!1);var xd;let _c=(xd=class extends ze{static get(e){return e.getContribution(Nc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Nc._foldingRangeSelector)==null?void 0:n.call(Nc,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 He),this.editor=e,this._foldingLimitReporter=new YM(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 gC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=vs.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 h=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=h.get(111),this.foldingDecorationProvider.showFoldingHighlights=h.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 HV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new UV(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new uc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new as(()=>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 C1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Nc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new x1(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 ho,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=fs(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(Bp.Imports.value,!0);h&&(r=Uu.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,s4(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=>(dn(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,dn)}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 h=[];if(c){const g=p=>!p.containedBy(r)&&!r.containedBy(p),f=t.getRegionsInside(null,g);for(const p of f)p.isCollapsed&&h.push(p);h.length===0&&(h=f)}else{const g=e.event.middleButton||e.event.shiftKey;if(g)for(const f of t.getRegionsInside(r))f.isCollapsed===a&&h.push(f);(a||!g||h.length===0)&&h.push(r)}t.toggleCollapseState(h),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Nc=xd,xd.ID="editor.contrib.folding",xd);_c=Nc=n4([Vg(1,Wi),Vg(2,gs),Vg(3,zs),Vg(4,Vo),Vg(5,St)],_c);class YM{constructor(e){this.editor=e,this._onDidChange=new gi,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 xs extends we{runEditorCommand(e,t,i){const n=e.get(gs),s=_c.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 s4(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 JM(o){if(!Gg(o)){if(!wE(o))return!1;const e=o;if(!Gg(e.levels)&&!WL(e.levels)||!Gg(e.direction)&&!qD(e.direction)||!Gg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(WL)))return!1}return!0}class o4 extends xs{constructor(){super({id:"editor.unfold",label:w("unfoldAction.label","Unfold"),alias:"Unfold",precondition:vs,kbOpts:{kbExpr:M.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:JM,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"?ZM(t,!1,s,r):Ig(t,!1,s,r)}}class r4 extends xs{constructor(){super({id:"editor.unfoldRecursively",label:w("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2142),weight:100}})}invoke(e,t,i,n){Ig(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class a4 extends xs{constructor(){super({id:"editor.fold",label:w("foldAction.label","Fold"),alias:"Fold",precondition:vs,kbOpts:{kbExpr:M.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:JM,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"?WV(t,!0,s):a==="up"?ZM(t,!0,r||1,s):Ig(t,!0,r||1,s)}}class l4 extends xs{constructor(){super({id:"editor.toggleFold",label:w("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);w1(t,1,n)}}class c4 extends xs{constructor(){super({id:"editor.foldRecursively",label:w("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Ig(t,!0,Number.MAX_VALUE,n)}}class d4 extends xs{constructor(){super({id:"editor.toggleFoldRecursively",label:w("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);w1(t,Number.MAX_VALUE,n)}}class h4 extends xs{constructor(){super({id:"editor.foldAllBlockComments",label:w("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())S1(t,Bp.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*"+Af(a.blockCommentStartToken));y1(t,c,!0)}}}}class u4 extends xs{constructor(){super({id:"editor.foldAllMarkerRegions",label:w("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())S1(t,Bp.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);y1(t,c,!0)}}}}class g4 extends xs{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:w("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())S1(t,Bp.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);y1(t,c,!1)}}}}class f4 extends xs{constructor(){super({id:"editor.foldAllExcept",label:w("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);XM(t,!0,n)}}class p4 extends xs{constructor(){super({id:"editor.unfoldAllExcept",label:w("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);XM(t,!1,n)}}class m4 extends xs{constructor(){super({id:"editor.foldAll",label:w("foldAllAction.label","Fold All"),alias:"Fold All",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2069),weight:100}})}invoke(e,t,i){Ig(t,!0)}}class _4 extends xs{constructor(){super({id:"editor.unfoldAll",label:w("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2088),weight:100}})}invoke(e,t,i){Ig(t,!1)}}const gu=class gu extends xs{getFoldingLevel(){return parseInt(this.id.substr(gu.ID_PREFIX.length))}invoke(e,t,i){BV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};gu.ID_PREFIX="editor.foldLevel",gu.ID=e=>gu.ID_PREFIX+e;let ev=gu;class v4 extends xs{constructor(){super({id:"editor.gotoParentFold",label:w("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=zV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class b4 extends xs{constructor(){super({id:"editor.gotoPreviousFold",label:w("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=VV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class w4 extends xs{constructor(){super({id:"editor.gotoNextFold",label:w("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=jV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class y4 extends xs{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:w("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(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,h)=>c.startLineNumber-h.startLineNumber);const a=wo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(wo.fromFoldRanges(a))}}}}class S4 extends xs{constructor(){super({id:"editor.removeManualFoldingRanges",label:w("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:c}=r;s.push(c>=a?{startLineNumber:a,endLineNumber:c}:{endLineNumber:c,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}_i(_c.ID,_c,0);ie(o4);ie(r4);ie(a4);ie(c4);ie(d4);ie(m4);ie(_4);ie(h4);ie(u4);ie(g4);ie(f4);ie(p4);ie(l4);ie(v4);ie(b4);ie(w4);ie(y4);ie(S4);for(let o=1;o<=7;o++)LO(new ev({id:ev.ID(o),label:w("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2048|21+o),weight:100}}));pn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof on))throw Ja();const i=o.get(St),n=o.get(Vs).getModel(t);if(!n)throw Ja();const s=o.get(Cn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(gs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new C1(n,r,c);let g=h;if(a!=="indentation"){const v=_c.getFoldingRangeProviders(i,n);v.length&&(g=new x1(n,v,()=>{},c,h))}const f=await g.compute(fi.None),p=[];try{if(f)for(let v=0;v<f.length;v++){const _=f.getType(v);p.push({start:f.getStartLineNumber(v),end:f.getEndLineNumber(v),kind:_?Bp.fromValue(_):void 0})}return p}finally{g.dispose()}});class C4 extends we{constructor(){super({id:"editor.action.fontZoomIn",label:w("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){zf.setZoomLevel(zf.getZoomLevel()+1)}}class x4 extends we{constructor(){super({id:"editor.action.fontZoomOut",label:w("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){zf.setZoomLevel(zf.getZoomLevel()-1)}}class L4 extends we{constructor(){super({id:"editor.action.fontZoomReset",label:w("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){zf.setZoomLevel(0)}}ie(C4);ie(x4);ie(L4);var QM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wf=function(o,e){return function(t,i){e(t,i,o)}},Mu;let tv=(Mu=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new He,this._sessionDisposables=new He,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 C_;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 ps,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,c=r.changes.length;a<c;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});kO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||So(r)&&(this._accessibilitySignalService.playSignal(SE.format,{userGesture:!1}),IO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Mu.ID="editor.contrib.autoFormat",Mu);tv=QM([wf(1,St),wf(2,ml),wf(3,yE)],tv);var Nu;let iv=(Nu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new He,this._callOnModel=new He,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(CE,this.editor,e,2,Ka.None,fi.None,!1).catch(dn))}},Nu.ID="editor.contrib.formatOnPaste",Nu);iv=QM([wf(1,St),wf(2,ri)],iv);class k4 extends we{constructor(){super({id:"editor.action.formatDocument",label:w("formatDocument.label","Format Document"),alias:"Format Document",precondition:oe.and(M.notInCompositeEditor,M.writable,M.hasDocumentFormattingProvider),kbOpts:{kbExpr:M.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(ri);await e.get(Pp).showWhile(i.invokeFunction(DO,t,1,Ka.None,fi.None,!0),250)}}}class I4 extends we{constructor(){super({id:"editor.action.formatSelection",label:w("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:oe.and(M.writable,M.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2084),weight:100},contextMenuOpts:{when:M.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(ri),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new B(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Pp).showWhile(i.invokeFunction(CE,t,s,1,Ka.None,fi.None,!0),250)}}_i(tv.ID,tv,2);_i(iv.ID,iv,2);ie(k4);ie(I4);pn.registerCommand("editor.action.format",async o=>{const e=o.get(Jn).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(us);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var D4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},py=function(o,e){return function(t,i){e(t,i,o)}};class au{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 fC extends au{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class eN extends au{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class za extends au{static create(e,t,i){const n=new ps(i),s=new za(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=au.findId(`provider_${g}`,s),p=new eN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])za._makeOutlineElement(_,p);return p},v=>(Yn(v),p)).then(v=>{au.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Ca(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?za.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=au.findId(e,t),n=new fC(i,t,e);if(e.children)for(const s of e.children)za._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=Ya.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 fC?e.push(t.symbol):e.push(...Ya.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>B.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return za._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>yt.compare(B.getStartPosition(i.range),B.getStartPosition(n.range))||yt.compare(B.getEndPosition(n.range),B.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&&za._flattenDocumentSymbols(e,n.children,n.name)}}const em=fl("IOutlineModelService");let pC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new He,this._cache=new Mp(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()||!Ca(s.provider,n)){const a=new ps;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:za.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(h=>{s.model=h,this._debounceInformation.update(e,Date.now()-c)}).catch(h=>{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()}}};pC=D4([py(0,St),py(1,Vo),py(2,Vs)],pC);pl(em,pC,1);pn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;$i(on.isUri(t));const i=o.get(em),s=await o.get(Ur).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,fi.None)).getTopLevelSymbols()}finally{s.dispose()}});const sa=class sa extends ze{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(On(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(On(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:h}=a.parts[0],g=h[0],f=n.textModel.getLineIndentColumn(a.lineNumber);if(c<=f){let v=Vy(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=EO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};sa.inlineSuggestionVisible=new Pi("inlineSuggestionVisible",!1,w("inlineSuggestionVisible","Whether an inline suggestion is visible")),sa.inlineSuggestionHasIndentation=new Pi("inlineSuggestionHasIndentation",!1,w("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),sa.inlineSuggestionHasIndentationLessThanTabSize=new Pi("inlineSuggestionHasIndentationLessThanTabSize",!0,w("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),sa.suppressSuggestions=new Pi("inlineSuggestionSuppressSuggestions",void 0,w("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let co=sa;function E4(o){const e=new He,t=e.add(xE());return e.add(On(i=>{t.setStyle(o.read(i))})),e}class ip{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 LE([...this.parts.map(s=>new rl(B.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 nv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Kb(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 mC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new nv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Kb(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 lI(o,e){return Ca(o,e,tN)}function tN(o,e){return o===e?!0:!o||!e?!1:o instanceof ip&&e instanceof ip||o instanceof mC&&e instanceof mC?o.equals(e):!1}const P4=[];function T4(){return P4}class iN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Gu(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new B(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function nN(o,e){const t=new He,i=o.createDecorationsCollection();return t.add(PO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function M4(o,e){return new yt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function cI(o,e){return new yt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var N4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},R4=function(o,e){return function(t,i){e(t,i,o)}};const dI="ghost-text";let _C=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Co(this,!1),this.currentTextModel=so(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Yi(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 mC?r.columnRange:void 0,c=[],h=[];function g(y,S){if(h.length>0){const D=h[h.length-1];S&&D.decorations.push(new Vf(D.content.length+1,D.content.length+1+y[0].length,S,0)),D.content+=y[0],y=y.slice(1)}for(const D of y)h.push({content:D,decorations:S?[new Vf(1,D.length+1,S,0)]:[]})}const f=s.getLineContent(r.lineNumber);let p,v=0;for(const y of r.parts){let S=y.lines;p===void 0?(c.push({column:y.column,text:S[0],preview:y.preview}),S=S.slice(1)):g([f.substring(v,y.column-1)],void 0),S.length>0&&(g(S,dI),p===void 0&&y.column<=f.length&&(p=y.column)),v=y.column-1}p!==void 0&&g([f.substring(v)],void 0);const _=p!==void 0?new iN(p,f.length+1):void 0;return{replacedRange:a,inlineTexts:c,additionalLines:h,hiddenRange:_,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Yi(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:B.fromPositions(new yt(s.lineNumber,a.column)),options:{description:dI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:tu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new A4(this.editor,this.languageService.languageIdCodec,Yi(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(yn(()=>{this.isDisposed.set(!0,void 0)})),this._register(nN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};_C=N4([R4(2,jr)],_C);class A4 extends ze{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=Yc("editorOptionChanged",rs.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(On(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");O4(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function O4(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",c=i.get(95),h=i.get(51),g=i.get(50),f=i.get(67),p=new IE(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,S=t.length;y<S;y++){const D=t[y],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*f)),p.appendString('px;width:1000000px;">');const N=TE(P),j=TO(P),H=MO.createEmpty(P,n);DE(new EE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,P,!1,N,j,0,H,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==NO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),PE(o,g);const v=p.build(),_=hI?hI.createHTML(v):v;o.innerHTML=_}const hI=kE("editorGhostText",{createHTML:o=>o});function F4(o,e){const t=new FO,i=new AO(t,h=>e.getLanguageConfiguration(h)),n=new RO(new H4([o]),i),s=OO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=Fg(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Fg(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Fg(g,h.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(h.openingBracket.languageId).findClosingTokenText(h.openingBracket.bracketIds);r+=p}else if(h.kind!==3){if(h.kind===0||h.kind===1)r+=a.substring(BL(g),BL(Fg(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Fg(g,f.length)}}return c(s,HO),r}class H4{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 sN(o,e,t,i,n=fi.None,s){const r=e instanceof yt?z4(e,t):e,a=o.all(t),c=new WO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const N of D.yieldsToGroupIds||[]){const j=c.get(N);for(const H of j)P.push(H)}return P}const g=new Map,f=new Set;function p(D,P){if(P=[...P,D],f.has(D))return P;f.add(D);try{const N=h(D);for(const j of N){const H=p(j,P);if(H)return H}}finally{f.delete(D)}}function v(D){const P=g.get(D);if(P)return P;const N=p(D,[]);N&&Yn(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const j=new Ob;return g.set(D,j.p),(async()=>{var H;if(!N){const ee=h(D);for(const X of ee){const fe=await v(X);if(fe&&fe.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(ee){Yn(ee);return}})().then(H=>j.complete(H),H=>j.error(H)),j.p}const _=await Promise.all(a.map(async D=>({provider:D,completions:await v(D)}))),y=new Map,S=[];for(const D of _){const P=D.completions;if(!P)continue;const N=new B4(P,D.provider);S.push(N);for(const j of P.items){const H=sv.from(j,N,r,t,s);y.set(H.hash(),H)}}return new W4(Array.from(y.values()),new Set(y.keys()),S)}class W4{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 B4{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 sv{static from(e,t,i,n,s){let r,a,c=e.range?B.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=uI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+h))}a=void 0}else if("snippet"in e.insertText){const h=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=uI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new eh().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof oo?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else BO(e.insertText);return new sv(r,e.command,c,r,a,e.additionalTextEdits||T4(),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 sv(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 rl(this.range,this.insertText)}}function z4(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new B(o.lineNumber,t.startColumn,o.lineNumber,i):B.fromPositions(o,o.with(void 0,i))}function uI(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?F4(a,i):o}function sd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Wp(n,o.text),r=x_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=B.fromPositions(r,o.range.getEndPosition());return new rl(c,a)}function oN(o,e){return o.text.startsWith(e.text)&&V4(o.range,e.range)}function gI(o,e,t,i,n=0){let s=sd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=ys(r).length;if(s.range.startColumn-1<=a){const _=ys(s.text).length,y=r.substring(s.range.startColumn-1,a),[S,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=S.column+y.length<=D.column?S.delta(0,y.length):D,N=B.fromPositions(P,D),j=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(_);s=new rl(N,j)}const h=e.getValueInRange(s.range),g=j4(h,s.text);if(!g)return;const f=s.range.startLineNumber,p=new Array;if(t==="prefix"){const _=g.filter(y=>y.originalLength===0);if(_.length>1||_.length===1&&_[0].originalStart!==h.length)return}const v=s.text.length-n;for(const _ of g){const y=s.range.startColumn+_.originalStart+_.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<i.column||_.originalLength>0)return;if(_.modifiedLength===0)continue;const S=_.modifiedStart+_.modifiedLength,D=Math.max(_.modifiedStart,Math.min(S,v)),P=s.text.substring(_.modifiedStart,D),N=s.text.substring(D,Math.max(_.modifiedStart,S));P.length>0&&p.push(new nv(y,P,!1)),N.length>0&&p.push(new nv(y,N,!0))}return new ip(f,p)}function V4(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ea;function j4(o,e){if((ea==null?void 0:ea.originalValue)===o&&(ea==null?void 0:ea.newValue)===e)return ea==null?void 0:ea.changes;{let t=pI(o,e,!0);if(t){const i=fI(t);if(i>0){const n=pI(o,e,!1);n&&fI(n)<i&&(t=n)}}return ea={originalValue:o,newValue:e,changes:t},t}}function fI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function pI(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(h){let g=0;for(let f=0,p=h.length;f<p;f++){const v=h.charCodeAt(f);v>g&&(g=v)}return g}const n=Math.max(i(o),i(e));function s(h){if(h<0)throw new Error("unexpected");return n+h+1}function r(h){let g=0,f=0;const p=new Int32Array(h.length);for(let v=0,_=h.length;v<_;v++)if(t&&h[v]==="("){const y=f*100+g;p[v]=s(2*y),g++}else if(t&&h[v]===")"){g=Math.max(g-1,0);const y=f*100+g;p[v]=s(2*y+1),g===0&&f++}else p[v]=h.charCodeAt(v);return p}const a=r(o),c=r(e);return new zO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}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},mI=function(o,e){return function(t,i){e(t,i,o)}};let vC=class extends ze{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 Lo),this.inlineCompletions=$y("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=$y("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new q4(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((g=this._updateOperation.value)!=null&&g.request.satisfies(n))return this._updateOperation.value.promise;if((f=s.get())!=null&&f.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new ps,c=(async()=>{if((r||t.triggerKind===Qa.Automatic)&&await $4(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const v=new Date,_=await sN(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 y=new Date;this._debounceValue.update(this.textModel,y.getTime()-v.getTime());const S=new G4(_,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!_.has(D)&&S.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),gh(D=>{s.set(S,D)}),!0})(),h=new K4(n,a,c);return this._updateOperation.value=h,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()}};vC=U4([mI(3,St),mI(4,gs)],vC);function $4(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 q4{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&VO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,UO())&&(e.context.triggerKind===Qa.Automatic||this.context.triggerKind===Qa.Explicit)&&this.versionId===e.versionId}}class K4{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class G4{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 _I(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 _I(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class _I{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=qa({owner:this,equalsFn:B.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??my)}toSingleTextEdit(e){return new rl(this._updatedRange.read(e)??my,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=sd(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 h=a.substring(0,c),g=a.substring(c),f=r.substring(0,c),p=r.substring(c);const v=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=v&&(f=f.trimStart(),f.length===0&&(p=p.trimStart()),h=h.trimStart(),h.length===0&&(g=g.trimStart())),h.startsWith(f)&&!!jO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&x_.ofRange(i).isGreaterThanOrEqualTo(x_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new rl(this._updatedRange.read(e)??my,this.inlineCompletion.filterText)}}const my=new B(1,1,1,1),qt={Visible:v1,HasFocusedSuggestion:new Pi("suggestWidgetHasFocusedSuggestion",!1,w("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Pi("suggestWidgetDetailsVisible",!1,w("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Pi("suggestWidgetMultipleSuggestions",!1,w("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Pi("suggestionMakesTextEdit",!0,w("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Pi("acceptSuggestionOnEnter",!0,w("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Pi("suggestionHasInsertAndReplaceRange",!1,w("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Pi("suggestionInsertMode",void 0,{type:"string",description:w("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Pi("suggestionCanResolve",!1,w("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Gl=new et("suggestWidgetStatusBar");class Z4{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Wf.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,B.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||B.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||B.spansMultipleLines(t.range.insert)||B.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 ho(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{wc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const ib=class ib{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}};ib.default=new ib;let np=ib;class X4{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function L1(o,e,t,i=np.default,n={triggerKind:0},s=fi.None){const r=new ho;t=t.clone();const a=e.getWordAtPosition(t),c=a?new B(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):B.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new He,p=[];let v=!1;const _=(S,D,P)=>{var j;let N=!1;if(!D)return N;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=h),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!v&&H.insertTextRules&&H.insertTextRules&4&&(v=eh.guessNeedsClipboard(H.insertText)),g.push(new Z4(t,H,D,S)),N=!0}return ME(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),N},y=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async P=>{if(i.providerItemsToReuse.has(P)){const N=i.providerItemsToReuse.get(P);N.forEach(j=>g.push(j)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const N=new ho,j=await P.provideCompletionItems(e,t,n,s);D=_(P,j,N)||D}catch(N){Yn(N)}})),D||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(f.dispose(),Promise.reject(new Fb)):new X4(g.sort(Q4(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function k1(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 Y4(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return k1(o,e)}function J4(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return k1(o,e)}const bw=new Map;bw.set(0,Y4);bw.set(2,J4);bw.set(1,k1);function Q4(o){return bw.get(o)}pn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;$i(on.isUri(t)),$i(yt.isIPosition(i)),$i(typeof n=="string"||!n),$i(typeof s=="number"||!s);const{completionProvider:r}=o.get(St),a=await o.get(Ur).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await L1(r,a.object.textEditorModel,g,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of f.items)h.length<(s??0)&&h.push(p.resolve(fi.None)),c.incomplete=c.incomplete||p.container.incomplete,c.suggestions.push(p.completion);try{return await Promise.all(h),c}finally{setTimeout(()=>f.disposable.dispose(),100)}}finally{a.dispose()}});function ej(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class lu{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 vI(o,e=Ab){return $O(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}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},ij=function(o,e){return function(t,i){e(t,i,o)}};class bI{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 wI{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=ys(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof oo&&(a=ys(Kb(h.value).pop())),!0));const c=Wp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(h,g,f)=>`${g}${a.substr(c)}${f}`)}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 yI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return uf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=uf(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return qO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(C0(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 SI{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=>!KO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let ov=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}}};ov=tj([ij(2,gs)],ov);const oa=class oa{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 oa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return oa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return oa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return oa.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}}};oa.dayNames=[w("Sunday","Sunday"),w("Monday","Monday"),w("Tuesday","Tuesday"),w("Wednesday","Wednesday"),w("Thursday","Thursday"),w("Friday","Friday"),w("Saturday","Saturday")],oa.dayNamesShort=[w("SundayShort","Sun"),w("MondayShort","Mon"),w("TuesdayShort","Tue"),w("WednesdayShort","Wed"),w("ThursdayShort","Thu"),w("FridayShort","Fri"),w("SaturdayShort","Sat")],oa.monthNames=[w("January","January"),w("February","February"),w("March","March"),w("April","April"),w("May","May"),w("June","June"),w("July","July"),w("August","August"),w("September","September"),w("October","October"),w("November","November"),w("December","December")],oa.monthNamesShort=[w("JanuaryShort","Jan"),w("FebruaryShort","Feb"),w("MarchShort","Mar"),w("AprilShort","Apr"),w("MayShort","May"),w("JuneShort","Jun"),w("JulyShort","Jul"),w("AugustShort","Aug"),w("SeptemberShort","Sep"),w("OctoberShort","Oct"),w("NovemberShort","Nov"),w("DecemberShort","Dec")];let rv=oa;class CI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=GO(this._workspaceService.getWorkspace());if(!ZO(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(zL(e))return uf(e.uri.path);let t=uf(e.configPath.path);return t.endsWith(VL)&&(t=t.substr(0,t.length-VL.length-1)),t}_resoveWorkspacePath(e){if(zL(e))return vI(e.uri.fsPath);const t=uf(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?vI(i):"/"}}class xI{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 cw()}}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)}},yr;const Jo=class Jo{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=jL(t.placeholders,Wo.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=B.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?Jo._decor.inactiveFinal:Jo._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),h=s.transform.resolve(c).split(/\r\n|\r|\n/);for(let g=1;g<h.length;g++)h[g]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+h[g]);n.push(Vn.replace(a,h.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),h=this._editor.getModel().getDecorationRange(c);r.push(new zt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?Jo._decor.activeFinal:Jo._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?Jo._decor.activeFinal:Jo._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?Jo._decor.inactiveFinal:Jo._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Wo){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 kg,!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 h=s._snippet.offset(c),g=s._snippet.fullLen(c),f=B.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,Jo._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=jL(this._snippet.placeholders,Wo.compareByIndex)})}};Jo._decor={active:xi.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:xi.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:xi.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:xi.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let av=Jo;const LI={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let lv=yr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=ys(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof oo)||h.parent instanceof kg||s&&!s.has(h))return!0;const g=h.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(h);if(p===0)g[0]=e.normalizeIndentation(g[0]);else{c=c??n.toString();const v=c.charCodeAt(p-1);(v===10||v===13)&&(g[0]=e.normalizeIndentation(a+g[0]))}for(let v=1;v<g.length;v++)g[v]=e.normalizeIndentation(a+g[v])}const f=g.join(e.getEOL());return f!==h.value&&(h.parent.replace(h,[new oo(f)]),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,h=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:c});t=zt.createWithDirection(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,c,h){const g=[],f=[];if(!e.hasModel())return{edits:g,snippets:f};const p=e.getModel(),v=e.invokeWithinContext(j=>j.get(Bu)),_=e.invokeWithinContext(j=>new yI(j.get(Hf),p)),y=()=>a,S=p.getValueInRange(yr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(yr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),N=e.getSelections().map((j,H)=>({selection:j,idx:H})).sort((j,H)=>B.compareRangesUsingStarts(j.selection,H.selection));for(const{selection:j,idx:H}of N){let ee=yr.adjustSelection(p,j,i,0),X=yr.adjustSelection(p,j,0,n);S!==p.getValueInRange(ee)&&(ee=j),D!==p.getValueInRange(X)&&(X=j);const fe=j.setStartPosition(ee.startLineNumber,ee.startColumn).setEndPosition(X.endLineNumber,X.endColumn),be=new eh().parse(t,!0,s),Te=fe.getStartPosition(),xe=yr.adjustWhitespace(p,Te,r||H>0&&P!==p.getLineFirstNonWhitespaceColumn(j.positionLineNumber),be);be.resolveVariables(new bI([_,new SI(y,H,N.length,e.getOption(79)==="spread"),new wI(p,j,H,c),new ov(p,j,h),new rv,new CI(v),new xI])),g[H]=Vn.replace(fe,be.toString()),g[H].identifier={major:H,minor:0},g[H]._isTracked=!0,f[H]=new av(e,be,xe)}return{edits:g,snippets:f}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const c=[],h=e.getModel(),g=new eh,f=new Kp,p=new bI([e.invokeWithinContext(_=>new yI(_.get(Hf),h)),new SI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new wI(h,e.getSelection(),0,r),new ov(h,e.getSelection(),a),new rv,new CI(e.invokeWithinContext(_=>_.get(Bu))),new xI]);t=t.sort((_,y)=>B.compareRangesUsingStarts(_.range,y.range));let v=0;for(let _=0;_<t.length;_++){const{range:y,template:S}=t[_];if(_>0){const H=t[_-1].range,ee=B.fromPositions(H.getEndPosition(),y.getStartPosition()),X=new oo(h.getValueInRange(ee));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);yr.adjustWhitespace(h,y.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const P=f.toString(),N=P.slice(v);v=P.length;const j=Vn.replace(y,N);j.identifier={major:_,minor:0},j._isTracked=!0,c.push(j)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new av(e,f,"")]}}constructor(e,t,i=LI,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){As(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"?yr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):yr.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=>zt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=LI){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=yr.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=>zt.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(B.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(B.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(B.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};lv=yr=nj([sj(3,gs)],lv);var oj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nm=function(o,e){return function(t,i){e(t,i,o)}},Yh;const kI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var fa;let Bs=(fa=class{static get(e){return e.getContribution(Yh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new He,this._modelVersionId=-1,this._inSnippet=Yh.InSnippetMode.bindTo(n),this._hasNextTabstop=Yh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Yh.HasPrevTabstop.bindTo(n)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?kI:{...kI,...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?($i(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new lv(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:(g,f)=>{if(!this._session||g!==this._editor.getModel()||!yt.equals(this._editor.getPosition(),f))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const v=g.getValueInRange(p.range),_=!!p.choice.options.find(S=>S.value===v),y=[];for(let S=0;S<p.choice.options.length;S++){const D=p.choice.options[S];y.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(S+1),range:p.range,filterText:_?`${v}_${D.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:w("next","Go to next placeholder...")}})}return{suggestions:y}}},s=this._editor.getModel();let r,a=!1;const c=()=>{r==null||r.dispose(),a=!1},h=()=>{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:h,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(()=>{ej(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},Yh=fa,fa.ID="snippetController2",fa.InSnippetMode=new Pi("inSnippetMode",!1,w("inSnippetMode","Whether the editor in current in snippet mode")),fa.HasNextTabstop=new Pi("hasNextTabstop",!1,w("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),fa.HasPrevTabstop=new Pi("hasPrevTabstop",!1,w("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),fa);Bs=Yh=oj([Nm(1,fh),Nm(2,St),Nm(3,Wi),Nm(4,gs)],Bs);_i(Bs.ID,Bs,4);const ww=Js.bindToContribution(Bs.get);Lt(new ww({id:"jumpToNextSnippetPlaceholder",precondition:oe.and(Bs.InSnippetMode,Bs.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Lt(new ww({id:"jumpToPrevSnippetPlaceholder",precondition:oe.and(Bs.InSnippetMode,Bs.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Lt(new ww({id:"leaveSnippet",precondition:Bs.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Lt(new ww({id:"acceptSnippet",precondition:Bs.InSnippetMode,handler:o=>o.finish()}));var rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_y=function(o,e){return function(t,i){e(t,i,o)}};let bC=class extends ze{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,c,h,g,f,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=h,this._instantiationService=g,this._commandService=f,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(vC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Co(this,!1),this._forceUpdateExplicitlySignal=D0(this),this._selectedInlineCompletionId=Co(this,void 0),this._primaryPosition=Yi(this,_=>this._positions.read(_)[0]??new yt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Ba.Redo,Ba.Undo,Ba.AcceptWord]),this._fetchInlineCompletionsPromise=NE({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Qa.Automatic}),handleChange:(_,y)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?y.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=Qa.Explicit),!0)},(_,y)=>{if(this._forceUpdateExplicitlySignal.read(_),!(this._enabled.read(_)&&this.selectedSuggestItem.read(_)||this._isActive.read(_))){this._source.cancelUpdate();return}this._textModelVersionId.read(_);const D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(_);if(D&&!P){const X=this._source.inlineCompletions.get();gh(fe=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),fe),this._source.clearSuggestWidgetInlineCompletions(fe)})}const N=this._primaryPosition.read(_),j={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),ee=y.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(N,j,ee)}),this._filteredInlineCompletionItems=qa({owner:this,equalsFn:qy()},_=>{const y=this._source.inlineCompletions.read(_);if(!y)return[];const S=this._primaryPosition.read(_);return y.inlineCompletions.filter(P=>P.isVisible(this.textModel,S,_))}),this.selectedInlineCompletionIndex=Yi(this,_=>{const y=this._selectedInlineCompletionId.read(_),S=this._filteredInlineCompletionItems.read(_),D=this._selectedInlineCompletionId===void 0?-1:S.findIndex(P=>P.semanticId===y);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=Yi(this,_=>{const y=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return y[S]}),this.activeCommands=qa({owner:this,equalsFn:qy()},_=>{var y;return((y=this.selectedInlineCompletion.read(_))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,_=>_==null?void 0:_.request.context.triggerKind),this.inlineCompletionsCount=Yi(this,_=>{if(this.lastTriggerKind.read(_)===Qa.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=qa({owner:this,equalsFn:(_,y)=>!_||!y?_===y:lI(_.ghostTexts,y.ghostTexts)&&_.inlineCompletion===y.inlineCompletion&&_.suggestItem===y.suggestItem},_=>{const y=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=sd(S.toSingleTextEdit(),y),P=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!P)return;const j=(P==null?void 0:P.edit)??D,H=P?P.edit.text.length-D.text.length:0,ee=this._suggestPreviewMode.read(_),X=this._positions.read(_),fe=[j,...vy(this.textModel,X,j)],be=fe.map((xe,ct)=>gI(xe,y,ee,X[ct],H)).filter(Gm),Te=be[0]??new ip(j.range.endLineNumber,[]);return{edits:fe,primaryGhostText:Te,ghostTexts:be,inlineCompletion:P==null?void 0:P.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const P=D.toSingleTextEdit(_),N=this._inlineSuggestMode.read(_),j=this._positions.read(_),H=[P,...vy(this.textModel,j,P)],ee=H.map((X,fe)=>gI(X,y,N,j[fe],0)).filter(Gm);return ee[0]?{edits:H,primaryGhostText:ee[0],ghostTexts:ee,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=qa({owner:this,equalsFn:lI},_=>{const y=this.state.read(_);if(y)return y.ghostTexts}),this.primaryGhostText=qa({owner:this,equalsFn:tN},_=>{const y=this.state.read(_);if(y)return y==null?void 0:y.primaryGhostText}),this._register(RE(this._fetchInlineCompletionsPromise));let v;this._register(On(_=>{var D,P;const y=this.state.read(_),S=y==null?void 0:y.inlineCompletion;if((S==null?void 0:S.semanticId)!==(v==null?void 0:v.semanticId)&&(v=S,S)){const N=S.inlineCompletion,j=N.source;(P=(D=j.provider).handleItemDidShow)==null||P.call(D,j.inlineCompletions,N.sourceInlineCompletion,N.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?Ba.Undo:e!=null&&e.isRedoing?Ba.Redo:this.isAcceptingPartially?Ba.AcceptWord:Ba.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){L_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){L_(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(Gm);return XO(s,a=>{let c=a.toSingleTextEdit(t);return c=sd(c,i,B.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),oN(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 Gu;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",[Vn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=Bs.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=II(s).map(a=>zt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Vn.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,Yn),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 g=/\s+/g.exec(i);return g&&g.index!==void 0&&g.index+g[0].length<c&&(c=g.index+g[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 Gu;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),h=a.text,g=t(c,h);if(g===h.length&&s.parts.length===1){this.accept(e);return}const f=h.substring(0,g),p=this._positions.get(),v=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const _=B.fromPositions(v,c),y=e.getModel().getValueInRange(_)+f,S=new rl(_,y),D=[S,...vy(this.textModel,p,S)],P=II(D).map(N=>zt.fromPositions(N));e.executeEdits("inlineSuggestion.accept",D.map(N=>Vn.replace(N.range,N.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=B.fromPositions(r.range.getStartPosition(),x_.ofText(f).addToPosition(c)),y=e.getModel().getValueInRange(_,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,y.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=sd(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})}};bC=rj([_y(9,ri),_y(10,us),_y(11,gs)],bC);var Ba;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(Ba||(Ba={}));function vy(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(B.fromPositions(i,r)),c=cI(i,s);if(c.lineNumber<1)return dn(new Gu(`positionWithinTextEdit line number should be bigger than 0.
36
- Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=aj(t.text,c);return n.map(g=>{const f=M4(cI(g,s),r),p=o.getValueInRange(B.fromPositions(g,f)),v=Wp(a,p),_=B.fromPositions(g,g.delta(0,v));return new rl(_,h)})}function aj(o,e){let t="";const i=JO(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 II(o){const e=YO.createSortPermutation(o,Fp(s=>s.range,B.compareRangesUsingStarts)),i=new LE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var lj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DI=function(o,e){return function(t,i){e(t,i,o)}},ef;class I1{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 EI extends I1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class cj extends I1{constructor(){super("recentlyUsed"),this._cache=new Mp(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 h=0;h<i.length&&i[h].score[0]===s;h++){const g=`${e.getLanguageId()}/${i[h].textLabel}`,f=this._cache.peek(g);if(f&&f.touch>c&&f.type===i[h].completion.kind&&f.insertText===i[h].completion.insertText&&(c=f.touch,a=h),i[h].completion.preselect&&r===-1)return r=h}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:E0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class dj extends I1{constructor(){super("recentlyUsedByPrefix"),this._trie=QO.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:h}=i[a].completion;if(c===r.type&&h===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:E0.fromString(i.type),this._trie.set(t,i)}}}var nc;let wC=(nc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new He,this._persistSoon=new as(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===b0.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=ef._strategyCtors.get(i)||EI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${ef._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(`${ef._storagePrefix}/${this._strategy.name}`,i,t,1)}}},ef=nc,nc._strategyCtors=new Map([["recentlyUsedByPrefix",dj],["recentlyUsed",cj],["first",EI]]),nc._storagePrefix="suggest/memories",nc);wC=ef=lj([DI(0,yc),DI(1,Cn)],wC);const yw=fl("ISuggestMemories");pl(yw,wC,1);var hj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uj=function(o,e){return function(t,i){e(t,i,o)}},yC,Ld;let cv=(Ld=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=yC.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)}},yC=Ld,Ld.AtEnd=new Pi("atEndOfWord",!1),Ld);cv=yC=hj([uj(1,Wi)],cv);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},fj=function(o,e){return function(t,i){e(t,i,o)}},tf,kd;let hg=(kd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=tf.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(tf._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=tf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},tf=kd,kd.OtherSuggestions=new Pi("hasOtherSuggestions",!1),kd);hg=tf=gj([fj(1,Wi)],hg);class pj{constructor(e,t,i,n){this._disposables=new He,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||!So(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new C_;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 No=class No{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>No._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>No._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>=No._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>No._maxDuration){setTimeout(()=>No._bracketsRightYield(e,t+1,i,n,s));break}if(c.bracketInfo.isOpeningBracket){const g=c.bracketInfo.bracketText,f=r.has(g)?r.get(g):0;r.set(g,f+1)}else{const g=c.bracketInfo.getOpeningBrackets()[0].bracketText;let f=r.has(g)?r.get(g):0;if(f-=1,r.set(g,Math.max(0,f)),f<0){let p=s.get(g);p||(p=new AE,s.set(g,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>=No._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>No._maxDuration){setTimeout(()=>No._bracketsLeftYield(e,t+1,i,n,s,r));break}if(h.bracketInfo.isOpeningBracket){const f=h.bracketInfo.bracketText;let p=a.has(f)?a.get(f):0;if(p-=1,a.set(f,Math.max(0,p)),p<0){const v=s.get(f);if(v){const _=v.shift();v.size===0&&s.delete(f);const y=B.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=B.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:y}),r.push({range:S}),No._addBracketLeading(i,S,r)}}}else{const f=h.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(f)?a.get(f):0;a.set(f,p+1)}n=h.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:B.fromPositions(new yt(n,s),t.getEndPosition())}),i.push({range:B.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:B.fromPositions(new yt(r,a),t.getEndPosition())}),i.push({range:B.fromPositions(new yt(r,1),t.getEndPosition())}))}}};No._maxDuration=30,No._maxRounds=2;let dv=No;const ra=class ra{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return ra.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return ra.None;const[s]=await new dv().provideSelectionRanges(i,[n]);if(s.length===0)return ra.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return ra.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends ra{distance(c,h){if(!n.equals(t.getPosition()))return 0;if(h.kind===17)return 2<<20;const g=typeof h.label=="string"?h.label:h.label.label,f=r[g];if(e2(f))return 2<<20;const p=k_(f,B.fromPositions(c),B.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const y of s){if(!B.containsRange(y.range,v))break;_-=1}return _}}}};ra.None=new class extends ra{distance(){return 0}};let hv=ra,PI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Ml{constructor(e,t,i,n,s,r,a=OE.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Ml._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=Ml._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Ml._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?FE:t2;for(let h=0;h<r.length;h++){const g=r[h];if(g.isInvalid)continue;const f=this._itemsByProvider.get(g.provider);f?f.push(g):this._itemsByProvider.set(g.provider,[g]);const p=g.position.column-g.editStart.column,v=p+i-(g.position.column-this._column);if(n.length!==v&&(n=v===0?"":t.slice(-v),s=n.toLowerCase()),g.word=n,v===0)g.score=Wf.Default;else{let _=0;for(;_<p;){const y=n.charCodeAt(_);if(y===32||y===9)_+=1;else break}if(_>=v)g.score=Wf.Default;else if(typeof g.completion.filterText=="string"){const y=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;i2(g.completion.filterText,g.textLabel)===0?g.score=y:(g.score=n2(n,s,_,g.textLabel,g.labelLow,0),g.score[0]=y[0])}else{const y=c(n,s,_,g.textLabel,g.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;g.score=y}}g.idx=h,g.distance=this._wordDistance.distance(g.position,g.completion),a.push(g),e.push(g.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?s2(e.length-.85,e,(h,g)=>h-g):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 Ml._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 Ml._compareCompletionItems(e,t)}}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},xl=function(o,e){return function(t,i){e(t,i,o)}},SC;class Ec{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 _j(o,e,t){if(!e.getContextKeyValue(co.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(co.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(co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let uv=SC=class{constructor(e,t,i,n,s,r,a,c,h){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=h,this._toDispose=new He,this._triggerCharacterListener=new He,this._triggerQuickSuggest=new Ep,this._triggerState=void 0,this._completionDisposables=new He,this._onDidCancel=new gi,this._onDidTrigger=new gi,this._onDidSuggest=new gi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new zt(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 g=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{g=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{g=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(f=>{g||this._onCursorChange(f)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!g&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){As(this._triggerCharacterListener),As([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)||Ec.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="";r2(i.charCodeAt(i.length-1))?a2(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,h]of this._completionModel.getItemsByProvider())s.has(c)||a.set(c,h);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;lu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=Bs.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Ec.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(!lu.isAllOff(n)){if(!lu.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(lu.valueFor(n,r)!=="on")return}_j(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){$i(this._editor.hasModel()),$i(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Ec(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,v,_;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Ec(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 ps;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}=SC.createSuggestFilter(this._editor),h=new np(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(v=e.completionOptions)==null?void 0:v.providerFilter,(_=e.completionOptions)==null?void 0:_.providerItemsToReuse,c),g=hv.create(this._editorWorkerService,this._editor),f=L1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([y,S])=>{var H;if((H=this._requestToken)==null||H.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&y.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),N=new Ec(P,this._editor.getPosition(),e),j={...OE.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Ml(y.items,this._context.column,{leadingLineContent:N.leadingLineContent,characterCountDelta:N.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),j,D),this._completionDisposables.add(y.disposable),this._onNewContext(N),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const ee of y.items)ee.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ee.provider._debugDisplayName}`,ee.completion)}).catch(dn)}_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(ys(e.leadingLineContent)!==ys(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(Ec.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=Ec.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=SC=mj([xl(1,ml),xl(2,vg),xl(3,Vr),xl(4,fh),xl(5,Wi),xl(6,Cn),xl(7,St),xl(8,o2)],uv);const nb=class nb{constructor(e,t){this._disposables=new He,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)>nb._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()}};nb._maxSelectionLength=51200;let CC=nb;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},by=function(o,e){return function(t,i){e(t,i,o)}};let xC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new He,this.element=st(e,ht(".suggest-status-bar"));const r=(a=>a instanceof Ku?i.createInstance(l2,a,{useComma:!0}):void 0);this._leftActions=new Nf(this.element,{actionViewItemProvider:r}),this._rightActions=new Nf(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()}};xC=bj([by(2,ri),by(3,uh),by(4,Wi)],xC);var wj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yj=function(o,e){return function(t,i){e(t,i,o)}};function D1(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let LC=class{constructor(e,t){this._editor=e,this._onDidClose=new gi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new gi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new He,this._renderDisposeable=new He,this._borderWidth=1,this._size=new un(330,0),this.domNode=ht(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(yg,{editor:e}),this._body=ht(".body"),this._scrollbar=new HE(this._body,{alwaysConsumeMouseWheel:!0}),st(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=st(this._body,ht(".header")),this._close=st(this._header,ht("span"+Ki.asCSSSelector(Xt.close))),this._close.title=w("details.close","Close"),this._type=st(this._header,ht("p.type")),this._docs=st(this._body,ht("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=w("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 Ns().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!D1(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,ar(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else wa(this._type),this._type.title="",bo(this._type),this.domNode.classList.add("no-type");if(wa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),wa(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 un(e,t);un.equals(i,this._size)||(this._size=i,c2(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}};LC=wj([yj(1,ri)],LC);class Sj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new He,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new a1,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=Ap(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new un(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),ee=-s.borderWidth+e.left+e.width,X=new un(H,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ee,fit:H-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(H,r.width))}})(),h=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,ee=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new un(H,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ee,fit:H-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(H,r.width))}})(),g=(function(){const H=e.left,ee=-s.borderWidth+e.top+e.height,X=new un(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:ee,left:H,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(H=>H.fit>=0)??f.sort((H,ee)=>ee.fit-H.fit)[0],v=e.top+e.height-s.borderHeight;let _,y=t.height;const S=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>S&&(y=S);let D;i?y<=p.maxSizeTop.height?(_=!0,D=p.maxSizeTop):(_=!1,D=p.maxSizeBottom):y<=p.maxSizeBottom.height?(_=!1,D=p.maxSizeBottom):(_=!0,D=p.maxSizeTop);let{top:P,left:N}=p;!_&&y>e.height&&(P=v-y);const j=this._editor.getDomNode();if(j){const H=j.getBoundingClientRect();P-=H.top,N-=H.left}this._applyTopLeft({left:N,top:P}),this._resizable.enableSashes(!_,p===c,_,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(y,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 va;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(va||(va={}));const Cj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Rm(o,e,t,i,n){if(Ki.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(on.isUri(n))return[];const s=i===va.ROOT_FOLDER?["rootfolder-icon"]:i===va.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===$s.data)r=I_.parseMetaData(t).get(I_.META_DATA_LABEL);else{const a=t.path.match(Cj);a?(r=Am(a[2].toLowerCase()),a[1]&&s.push(`${Am(a[1].toLowerCase())}-name-dir-icon`)):r=Am(t.authority.toLowerCase())}if(i===va.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===va.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 h=1;h<c.length;h++)s.push(`${c.slice(h).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=xj(o,e,t);a&&s.push(`${Am(a)}-lang-file-icon`)}}return s}function xj(o,e,t){if(!t)return null;let i=null;if(t.scheme===$s.data){const s=I_.parseMetaData(t).get(I_.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Bf?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Am(o){return o.replace(/[\s]/g,"/")}var Lj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wy=function(o,e){return function(t,i){e(t,i,o)}};function rN(o){return`suggest-aria-id:${o}`}const kj=Gn("suggest-more-info",Xt.chevronRight,w("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Tr;const Ij=new(Tr=class{extract(e,t){if(e.textLabel.match(Tr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Tr._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=Tr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Tr._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*\))/,Tr._regexStrict=new RegExp(`^${Tr._regexRelaxed.source}$`,"i"),Tr);let kC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new gi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new He,i=e;i.classList.add("show-file-icons");const n=st(e,ht(".icon")),s=st(n,ht("span.colorspan")),r=st(e,ht(".contents")),a=st(r,ht(".main")),c=st(a,ht(".icon-label.codicon")),h=st(a,ht("span.left")),g=st(a,ht("span.right")),f=new nE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=st(h,ht("span.signature-label")),v=st(h,ht("span.qualifier-label")),_=st(g,ht("span.details-label")),y=st(g,ht("span.readMore"+Ki.asCSSSelector(kj)));return y.title=w("readMore","Read More"),{root:i,left:h,right:g,icon:n,colorspan:s,iconLabel:f,iconContainer:c,parametersLabel:p,qualifierLabel:v,detailsLabel:_,readMore:y,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),P=D.get(50),N=P.getMassagedFontFamily(),j=P.fontFeatureSettings,H=D.get(120)||P.fontSize,ee=D.get(121)||P.lineHeight,X=P.fontWeight,fe=P.letterSpacing,be=`${H}px`,Te=`${ee}px`,xe=`${fe}px`;i.style.fontSize=be,i.style.fontWeight=X,i.style.letterSpacing=xe,a.style.fontFamily=N,a.style.fontFeatureSettings=j,a.style.lineHeight=Te,n.style.height=Te,n.style.width=Te,y.style.height=Te,y.style.width=Te}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=rN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Ub(e.score)},r=[];if(n.kind===19&&Ij.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=Rm(this._modelService,this._languageService,on.from({scheme:"fake",path:e.textLabel}),va.FILE),c=Rm(this._modelService,this._languageService,on.from({scheme:"fake",path:n.detail}),va.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=[Rm(this._modelService,this._languageService,on.from({scheme:"fake",path:e.textLabel}),va.FOLDER),Rm(this._modelService,this._languageService,on.from({scheme:"fake",path:n.detail}),va.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Ki.asClassNameArray(E0.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=yy(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=yy(n.label.detail||""),i.detailsLabel.textContent=yy(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?ar(i.detailsLabel):bo(i.detailsLabel),D1(e)?(i.right.classList.add("can-expand-details"),ar(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"),bo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};kC=Lj([wy(1,Vs),wy(2,jr),wy(3,mr)],kC);function yy(o){return o.replace(/\r\n|\r|\n/g,"")}var Dj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Om=function(o,e){return function(t,i){e(t,i,o)}},Jh;ut("editorSuggestWidget.background",WE,w("editorSuggestWidgetBackground","Background color of the suggest widget."));ut("editorSuggestWidget.border",d2,w("editorSuggestWidgetBorder","Border color of the suggest widget."));const Ej=ut("editorSuggestWidget.foreground",Hp,w("editorSuggestWidgetForeground","Foreground color of the suggest widget."));ut("editorSuggestWidget.selectedForeground",BE,w("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));ut("editorSuggestWidget.selectedIconForeground",h2,w("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Pj=ut("editorSuggestWidget.selectedBackground",zE,w("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));ut("editorSuggestWidget.highlightForeground",VE,w("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));ut("editorSuggestWidget.focusHighlightForeground",u2,w("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));ut("editorSuggestWidgetStatus.foreground",ya(Ej,.5),w("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Tj{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(un.is(t))return un.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 IC=(sc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Lo,this._pendingShowDetails=new Lo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Ep,this._disposables=new He,this._onDidSelect=new UL,this._onDidFocus=new UL,this._onDidHide=new gi,this._onDidShow=new gi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new gi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new a1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Mj(this,e),this._persistedSize=new Tj(t,e);class r{constructor(v,_,y=!1,S=!1){this.persistedSize=v,this.currentSize=_,this.persistHeight=y,this.persistWidth=S}}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 v,_;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:y,defaultSize:S}=this.getLayoutInfo(),D=Math.round(y/2);let{width:P,height:N}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-N)<=D)&&(N=((v=a.persistedSize)==null?void 0:v.height)??S.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(P=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new un(P,N))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=st(this.element.domNode,ht(".message")),this._listElement=st(this.element.domNode,ht(".tree"));const c=this._disposables.add(s.createInstance(LC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Sj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(kC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new m0("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[g],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>w("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let v=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:P}=p.completion.label;D&&P?v=w("label.full","{0} {1}, {2}",v,D,P):D?v=w("label.detail","{0} {1}",v,D):P&&(v=w("label.desc","{0}, {1}",v,P))}if(!p.isResolved||!this._isDetailsVisible())return v;const{documentation:_,detail:y}=p.completion,S=I0("{0}{1}",y||"",_?typeof _=="string"?_:_.value:"");return w("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(jE({listInactiveFocusBackground:Pj,listInactiveFocusOutline:Kd})),this._status=s.createInstance(xC,this.element.domNode,Gl);const f=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);f(),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)&&(f(),h()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=qt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=qt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=qt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=qt.HasFocusedSuggestion.bindTo(i),this._disposables.add(ol(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=Rf(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=fs(async s=>{const r=Mf(()=>{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:rN(i)}))}).catch(dn)),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:bo(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=Jh.LOADING_MESSAGE,bo(this._listElement,this._status.element),ar(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ju(Jh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Jh.NO_SUGGESTIONS_MESSAGE,bo(this._listElement,this._status.element),ar(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ju(Jh.NO_SUGGESTIONS_MESSAGE);break;case 3:bo(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 4:bo(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 5:bo(this._messageElement),ar(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=Mf(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var c,h;if(this._contentWidget.setPosition(this.editor.getPosition()),(c=this._loadingTimeout)==null||c.dispose(),(h=this._currentSuggestionDetails)==null||h.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=$L(Xc(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")):(D1(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=$L(Xc(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=Ap(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 un(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);const h=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,g=i.statusBarHeight+this._list.contentHeight+i.borderHeight,f=i.itemHeight+i.statusBarHeight,p=Gs(this.editor.getDomNode()),v=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),_=p.top+v.top+v.height,y=Math.min(t.height-_-i.verticalPadding,g),S=p.top+v.top-i.verticalPadding,D=Math.min(S,g);let P=Math.min(Math.max(D,y)+i.borderHeight,g);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<f&&(n=f),n>P&&(n=P),n>y||this._forceRenderingAbove&&S>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=y),this.element.preferredSize=new un(h,i.defaultSize.height),this.element.maxSize=new un(c,P),this.element.minSize=new un(220,f),this._cappedHeight=n===g?{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=g2(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 un(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}},Jh=sc,sc.LOADING_MESSAGE=w("suggestWidget.loading","Loading..."),sc.NO_SUGGESTIONS_MESSAGE=w("suggestWidget.noSuggestions","No suggestions."),sc);IC=Jh=Dj([Om(1,yc),Om(2,Wi),Om(3,mr),Om(4,ri)],IC);class Mj{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 un(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 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},Bh=function(o,e){return function(t,i){e(t,i,o)}},DC;class Rj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=xi.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(B.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 Id;let cr=(Id=class{static get(e){return e.getContribution(DC.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 Lo,this._toDispose=new He,this._selectors=new Aj(f=>f.priority),this._onWillInsertSuggestItem=new gi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(uv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=qt.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 jw(Xc(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(IC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new pj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=qt.MakesTextEdit.bindTo(this._contextKeyService),_=qt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=qt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(yn(()=>{v.reset(),_.reset(),y.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),P=S.editStart.column,N=D.column;let j=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&N-P===S.completion.insertText.length&&(j=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(j),_.set(!yt.equals(S.editInsertEnd,S.editReplaceEnd)),y.set(!!S.provider.resolveCompletionItem||!!S.completion.documentation||S.completion.detail!==S.completion.label)})),this._toDispose.add(f.onDetailsKeyDown(S=>{if(S.toKeyCodeChord().equals(new qL(!0,!1,!1,!1,33))||xa&&S.toKeyCodeChord().equals(new qL(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new jw(Xc(e.getDomNode()),()=>this._toDispose.add(new CC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new jw(Xc(e.getDomNode()),()=>this._toDispose.add(new hg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(cv,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new Rj(this.editor.getModel(),f.position)})),this._toDispose.add(this.model.onDidSuggest(f=>{if(f.triggerOptions.shy)return;let p=-1;for(const _ of this._selectors.itemsOrderedByPriorityDesc)if(p=_.select(this.editor.getModel(),this.editor.getPosition(),f.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let v=!1;if(f.triggerOptions.auto){const _=this.editor.getOption(119);_.selectionMode==="never"||_.selectionMode==="always"?v=_.selectionMode==="never":_.selectionMode==="whenTriggerCharacter"?v=f.triggerOptions.triggerKind!==1:_.selectionMode==="whenQuickSuggestion"&&(v=f.triggerOptions.triggerKind===1&&!f.triggerOptions.refilter)}this.widget.value.showSuggestions(f.completionModel,p,f.isFrozen,f.triggerOptions.auto,v)})),this._toDispose.add(this.model.onDidCancel(f=>{f.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const h=qt.AcceptSuggestionsOnEnter.bindTo(n),g=()=>{const f=this.editor.getOption(1);h.set(f==="on"||f==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>g())),g()}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=Bs.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 ps;t&1||this.editor.pushUndoStop();const h=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const g=r.isResolved;let f=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const _=Uu.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let S=B.lift(y.range);if(S.startLineNumber===r.position.lineNumber&&S.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,N=B.spansMultipleLines(S)?0:D;S=new B(S.startLineNumber,S.startColumn+P,S.endLineNumber,S.endColumn+N)}return Vn.replaceMove(S,y.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new ho;let y;const S=n.onDidChangeContent(j=>{if(j.isFlush){c.cancel(),S.dispose();return}for(const H of j.changes){const ee=B.getEndPosition(H.range);(!y||yt.isBefore(ee,y))&&(y=ee)}}),D=t;t|=2;let P=!1;const N=this.editor.onWillType(()=>{N.dispose(),P=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(H=>yt.isBefore(y,B.getStartPosition(H.range))))return!1;P&&this.editor.pushUndoStop();const j=Uu.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Vn.replaceMove(B.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?)",_.elapsed(),j),p=j===!0?1:j===!1?0:-2}).finally(()=>{S.dispose(),N.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=eh.escape(v)),this.model.cancel(),i.insert(v,{overwriteBefore:h.overwriteBefore,overwriteAfter:h.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===gv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new ho;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?Yn(y):dn(y)}).finally(()=>{f=_.elapsed()}))}t&4&&this._alternatives.value.set(e,_=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(_,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,g,f,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 v=0;v<Math.min(30,a.length);v++){const _=a[v].textLabel;c.has(_)?c.get(_).push(v):c.set(_,[v])}const h=c.get(e.textLabel),f=h&&h.length>1?h[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:bE(La(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:f2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){$i(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(So(e.completion.additionalTextEdits)){const t=w("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);gr(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};rs.once(this.model.onDidTrigger)(s=>{const r=[];rs.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{As(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(As(r),a.items.length===0){i();return}const c=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),h=a.items[c];if(!n(h)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:c,item:h,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)}},DC=Id,Id.ID="editor.contrib.suggestController",Id);cr=DC=Nj([Bh(1,yw),Bh(2,us),Bh(3,Wi),Bh(4,ri),Bh(5,fh),Bh(6,Vr)],cr);class Aj{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 sb=class sb extends we{constructor(){super({id:sb.id,label:w("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:oe.and(M.writable,M.hasCompletionItemProvider,qt.Visible.toNegated()),kbOpts:{kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=cr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};sb.id="editor.action.triggerSuggest";let gv=sb;_i(cr.ID,cr,2);ie(gv);const ko=190,js=Js.bindToContribution(cr.get);Lt(new js({id:"acceptSelectedSuggestion",precondition:oe.and(qt.Visible,qt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:oe.and(qt.Visible,M.textInputFocus),weight:ko},{primary:3,kbExpr:oe.and(qt.Visible,M.textInputFocus,qt.AcceptSuggestionsOnEnter,qt.MakesTextEdit),weight:ko}],menuOpts:[{menuId:Gl,title:w("accept.insert","Insert"),group:"left",order:1,when:qt.HasInsertAndReplaceRange.toNegated()},{menuId:Gl,title:w("accept.insert","Insert"),group:"left",order:1,when:oe.and(qt.HasInsertAndReplaceRange,qt.InsertMode.isEqualTo("insert"))},{menuId:Gl,title:w("accept.replace","Replace"),group:"left",order:1,when:oe.and(qt.HasInsertAndReplaceRange,qt.InsertMode.isEqualTo("replace"))}]}));Lt(new js({id:"acceptAlternativeSelectedSuggestion",precondition:oe.and(qt.Visible,M.textInputFocus,qt.HasFocusedSuggestion),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Gl,group:"left",order:2,when:oe.and(qt.HasInsertAndReplaceRange,qt.InsertMode.isEqualTo("insert")),title:w("accept.replace","Replace")},{menuId:Gl,group:"left",order:2,when:oe.and(qt.HasInsertAndReplaceRange,qt.InsertMode.isEqualTo("replace")),title:w("accept.insert","Insert")}]}));pn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Lt(new js({id:"hideSuggestWidget",precondition:qt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Lt(new js({id:"selectNextSuggestion",precondition:oe.and(qt.Visible,oe.or(qt.MultipleSuggestions,qt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Lt(new js({id:"selectNextPageSuggestion",precondition:oe.and(qt.Visible,oe.or(qt.MultipleSuggestions,qt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Lt(new js({id:"selectLastSuggestion",precondition:oe.and(qt.Visible,oe.or(qt.MultipleSuggestions,qt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Lt(new js({id:"selectPrevSuggestion",precondition:oe.and(qt.Visible,oe.or(qt.MultipleSuggestions,qt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Lt(new js({id:"selectPrevPageSuggestion",precondition:oe.and(qt.Visible,oe.or(qt.MultipleSuggestions,qt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Lt(new js({id:"selectFirstSuggestion",precondition:oe.and(qt.Visible,oe.or(qt.MultipleSuggestions,qt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Lt(new js({id:"focusSuggestion",precondition:oe.and(qt.Visible,qt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Lt(new js({id:"focusAndAcceptSuggestion",precondition:oe.and(qt.Visible,qt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Lt(new js({id:"toggleSuggestionDetails",precondition:oe.and(qt.Visible,qt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Gl,group:"right",order:1,when:oe.and(qt.DetailsVisible,qt.CanResolve),title:w("detail.more","Show Less")},{menuId:Gl,group:"right",order:1,when:oe.and(qt.DetailsVisible.toNegated(),qt.CanResolve),title:w("detail.less","Show More")}]}));Lt(new js({id:"toggleExplainMode",precondition:qt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Lt(new js({id:"toggleSuggestionFocus",precondition:qt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Lt(new js({id:"insertBestCompletion",precondition:oe.and(M.textInputFocus,oe.equals("config.editor.tabCompletion","on"),cv.AtEnd,qt.Visible.toNegated(),hg.OtherSuggestions.toNegated(),Bs.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(wE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:ko,primary:2}}));Lt(new js({id:"insertNextSuggestion",precondition:oe.and(M.textInputFocus,oe.equals("config.editor.tabCompletion","on"),hg.OtherSuggestions,qt.Visible.toNegated(),Bs.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2}}));Lt(new js({id:"insertPrevSuggestion",precondition:oe.and(M.textInputFocus,oe.equals("config.editor.tabCompletion","on"),hg.OtherSuggestions,qt.Visible.toNegated(),Bs.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:1026}}));ie(class extends we{constructor(){super({id:"editor.action.resetSuggestSize",label:w("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=cr.get(e))==null||t.resetWidgetSize()}});class Oj extends ze{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 gi),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=cr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,c,h)=>{const g=this.editor.getModel();if(!g)return-1;const f=this.suggestControllerPreselector(),p=f?sd(f,g):void 0;if(!p)return-1;const v=yt.lift(c),_=h.map((S,D)=>{const P=yf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=sd(P.toSingleTextEdit(),g),j=oN(p,N);return{index:D,valid:j,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),y=p2(_,Fp(S=>S.prefixLength,jb));return y?y.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(rs.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const c=this.editor.getPosition(),h=this.editor.getModel();if(!c||!h)return;const g=yf.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!Fj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=cr.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 yf.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=cr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=cr.get(this.editor);e==null||e.forceRenderingAbove()}}class yf{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new eh().parse(r);h.children.length<100&&lv.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new yf(B.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 m2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new rl(this.range,this.insertText)}}function Fj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var Hj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fa=function(o,e){return function(t,i){e(t,i,o)}},EC,Dd;let zo=(Dd=class extends ze{static get(e){return e.getContribution(EC.ID)}constructor(e,t,i,n,s,r,a,c,h,g){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=h,this._accessibilityService=g,this._editorObs=ha(this.editor),this._positions=Yi(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new yt(1,1)]}),this._suggestWidgetAdaptor=this._register(new Oj(this.editor,()=>{var p,v;return this._editorObs.forceUpdate(),(v=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:v.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(v=>{var _;(_=this.model.get())==null||_.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=so(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>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=Yi(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=gc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(bC,v,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=Yi(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=Wj(this._ghostTexts,this._store),this._ghostTextWidgets=_2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(_C,this.editor,{ghostText:p,minReservedLineCount:Ga(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=D0(this),this._fontFamily=so(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new co(this._contextKeyService,this.model)),this._register(KL(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Zm.Tab.id,Zm.DeleteLeft.id,Zm.DeleteRight.id,fM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var y;(y=this.model.get())==null||y.trigger(_)})})),this._register(KL(this._editorObs.selections,(p,v)=>{var _;v.some(y=>y.reason===3||y.source==="api")&&((_=this.model.get())==null||_.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||og.dropDownVisible||gh(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(On(p=>{var _;const v=(_=this.model.read(p))==null?void 0:_.state.read(p);v!=null&&v.suggestItem?v.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(yn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=zb(this,(p,v)=>{var S;const _=this.model.read(p),y=_==null?void 0:_.state.read(p);return this._suggestWidgetSelectedItem.get()?v:(S=y==null?void 0:y.inlineCompletion)==null?void 0:S.semanticId});this._register(v2(Yi(p=>(this._playAccessibilitySignal.read(p),f.read(p),{})),async(p,v,_)=>{const y=this.model.get(),S=y==null?void 0:y.state.get();if(!S||!y)return;const D=y.textModel.getLineContent(S.primaryGhostText.lineNumber);await Gb(50,Ky(_)),await b2(this._suggestWidgetSelectedItem,Gg,()=>!1,Ky(_)),await this._accessibilitySignalService.playSignal(SE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new OS(this.editor,this.model,this._instantiationService)),this._register(E4(Yi(p=>{const v=this._fontFamily.read(p);return v===""||v==="default"?"":`
43
- .monaco-editor .ghost-text-decoration,
44
- .monaco-editor .ghost-text-decoration-preview,
45
- .monaco-editor .ghost-text {
46
- font-family: ${v};
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=w("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),gr(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}},EC=Dd,Dd.ID="editor.contrib.inlineCompletionsController",Dd);zo=EC=Hj([Fa(1,ri),Fa(2,Wi),Fa(3,Cn),Fa(4,us),Fa(5,Vo),Fa(6,St),Fa(7,yE),Fa(8,is),Fa(9,Vb)],zo);function Wj(o,e){const t=Co("result",[]),i=[];return e.add(On(n=>{const s=o.read(n);gh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Co("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const ob=class ob extends we{constructor(){super({id:ob.ID,label:w("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:oe.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=zo.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};ob.ID=mM;let PC=ob;const rb=class rb extends we{constructor(){super({id:rb.ID,label:w("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:oe.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=zo.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};rb.ID=pM;let TC=rb;class Bj extends we{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:w("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:M.writable})}async run(e,t){const i=zo.get(t);await UE(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 zj extends we{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:w("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:oe.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:oe.and(M.writable,co.inlineSuggestionVisible)},menuOpts:[{menuId:et.InlineSuggestionToolbar,title:w("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=zo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class Vj extends we{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:w("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:oe.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:et.InlineSuggestionToolbar,title:w("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=zo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class jj extends we{constructor(){super({id:fM,label:w("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:co.inlineSuggestionVisible,menuOpts:[{menuId:et.InlineSuggestionToolbar,title:w("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:oe.and(co.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),co.inlineSuggestionHasIndentationLessThanTabSize,qt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=zo.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const ab=class ab extends we{constructor(){super({id:ab.ID,label:w("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:co.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=zo.get(t);gh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};ab.ID="editor.action.inlineSuggest.hide";let MC=ab;const lb=class lb extends Ys{constructor(){super({id:lb.ID,title:w("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:et.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:oe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Cn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};lb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let NC=lb;var Uj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jg=function(o,e){return function(t,i){e(t,i,o)}};class $j{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 RC=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=zo.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 s_(1e3,this,B.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 s_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new s_(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=zo.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new $j(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new He,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(og,this._editor,!1,Ga(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 sh([c])}renderScreenReaderText(e,t){const i=new He,n=ht,s=n("div.hover-row.markdown-hover"),r=st(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new yg({editor:this._editor},this._languageService,this._openerService)),c=h=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const g=w("inlineSuggestionFollows","Suggestion:"),f=i.add(a.render(new Ns().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(On(h=>{var f;const g=(f=t.controller.model.read(h))==null?void 0:f.primaryGhostText.read(h);if(g){const p=this._editor.getModel().getLineContent(g.lineNumber);c(g.renderForScreenReader(p))}else y_(r)})),e.fragment.appendChild(s),i}};RC=Uj([jg(1,jr),jg(2,zr),jg(3,Vb),jg(4,ri),jg(5,Vr)],RC);class qj{}const Sw=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};_i(zo.ID,zo,3);ie(Bj);ie(PC);ie(TC);ie(zj);ie(Vj);ie(jj);ie(MC);Qi(NC);vh.register(RC);Sw.register(new qj);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},Sy=function(o,e){return function(t,i){e(t,i,o)}},nf,oc;let sp=(oc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new He,this.toUnhookForKeyboard=new He,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new fw(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=>{dn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(nf.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 $E(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=fs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){dn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?B.lift(n[0].originSelectionRange):new B(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=B.plusRange(a,c));this.addDecoration(a,new Ns().appendText(w("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:h}}=c,{startLineNumber:g}=a.range;if(g<1||g>h.getLineCount()){c.dispose();return}const f=this.getPreviewValue(h,g,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(h.uri);this.addDecoration(s,f?new Ns().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=nf.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+nf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new B(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 k0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Yp(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 Qp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Wi);return Zs.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},nf=oc,oc.ID="editor.contrib.gotodefinitionatposition",oc.MAX_SOURCE_PREVIEW_LINES=8,oc);sp=nf=Kj([Sy(1,Ur),Sy(2,jr),Sy(3,St)],sp);_i(sp.ID,sp,2);var aN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},fv=function(o,e){return function(t,i){e(t,i,o)}};class TI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let AC=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._dispoables=new He,this._markers=[],this._nextIdx=-1,on.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let h=GL(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=B.compareRangesUsingStarts(a,c)||Os.compare(a.severity,c.severity):h=Os.compare(a.severity,c.severity)||B.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:on.isUri(e)?e:void 0,severities:Os.Error|Os.Warning|Os.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 TI(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=k_(this._markers,{resource:e.uri},(r,a)=>GL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=B.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new B(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(B.containsPosition(this._markers[i],t))return new TI(this._markers[i],i+1,this._markers.length)}}};AC=aN([fv(1,v0),fv(2,Cn)],AC);const lN=fl("IMarkerNavigationService");let OC=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new AE}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new AC(e,this._markerService,this._configService)}};OC=aN([fv(0,v0),fv(1,Cn)],OC);pl(lN,OC,1);var FC;(function(o){function e(t){switch(t){case mm.Ignore:return"severity-ignore "+Ki.asClassName(Xt.info);case mm.Info:return Ki.asClassName(Xt.info);case mm.Warning:return Ki.asClassName(Xt.warning);case mm.Error:return Ki.asClassName(Xt.error);default:return""}}o.className=e})(FC||(FC={}));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},zh=function(o,e){return function(t,i){e(t,i,o)}},HC;class Zj{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 He,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(ol(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new k2(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){As(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=Kb(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);wa(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 v=document.createElement("span");v.innerText=t,v.classList.add("source"),p.appendChild(v)}if(s)if(typeof s=="string"){const v=document.createElement("span");v.innerText=`(${s})`,v.classList.add("code"),p.appendChild(v)}else{this._codeLink=ht("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=st(this._codeLink,ht("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),So(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 v of n){const _=document.createElement("div"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(v.resource)}(${v.startLineNumber}, ${v.startColumn}): `,y.title=this._labelService.getUriLabel(v.resource),this._relatedDiagnostics.set(y,v);const S=document.createElement("span");S.innerText=v.message,_.appendChild(y),_.appendChild(S),this._lines+=1,p.appendChild(_)}}const h=this._editor.getOption(50),g=Math.ceil(h.typicalFullwidthCharacterWidth*this._longestLineLength*.75),f=h.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:g,scrollHeight:f})}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 Os.Error:t=w("Error","Error");break;case Os.Warning:t=w("Warning","Warning");break;case Os.Info:t=w("Info","Info");break;case Os.Hint:t=w("Hint","Hint");break}let i=w("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 Ed;let op=(Ed=class extends $_{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 He,this._onDidSelectRelatedInformation=new gi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Os.Warning,this._backgroundColor=wi.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(Qj);let t=WC,i=Xj;this._severity===Os.Warning?(t=l_,i=Yj):this._severity===Os.Info&&(t=BC,i=Jj);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(kM),secondaryHeadingColor:e.getColor(IM)})}_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(HC.TitleMenu,this._contextKeyService);y0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=st(e,ht(""))}_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 Zj(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=B.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?w("problems","{0} of {1} problems",t,i):w("change","{0} of {1} problem",t,i);this.setTitle(La(a.uri),c)}this._icon.className=`codicon ${FC.className(Os.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()}},HC=Ed,Ed.TitleMenu=new et("gotoErrorTitleMenu"),Ed);op=HC=Gj([zh(1,mr),zh(2,zr),zh(3,uh),zh(4,ri),zh(5,Wi),zh(6,Hf)],op);const MI=P0(y2,w2),NI=P0(C2,S2),RI=P0(zy,x2),WC=ut("editorMarkerNavigationError.background",{dark:MI,light:MI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationError","Editor marker navigation widget error color.")),Xj=ut("editorMarkerNavigationError.headerBackground",{dark:ya(WC,.1),light:ya(WC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),l_=ut("editorMarkerNavigationWarning.background",{dark:NI,light:NI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Yj=ut("editorMarkerNavigationWarning.headerBackground",{dark:ya(l_,.1),light:ya(l_,.1),hcDark:"#0C141F",hcLight:ya(l_,.2)},w("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),BC=ut("editorMarkerNavigationInfo.background",{dark:RI,light:RI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),Jj=ut("editorMarkerNavigationInfo.headerBackground",{dark:ya(BC,.1),light:ya(BC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),Qj=ut("editorMarkerNavigation.background",L2,w("editorMarkerNavigationBackground","Editor marker navigation widget background."));var eU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fm=function(o,e){return function(t,i){e(t,i,o)}},sf,Pd;let ah=(Pd=class{static get(e){return e.getContribution(sf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new He,this._editor=e,this._widgetVisible=cN.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(op,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var n,s,r;(!((n=this._model)!=null&&n.selected)||!B.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:B.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=sf.get(r))==null||i.close(),(n=sf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},sf=Pd,Pd.ID="editor.contrib.markerController",Pd);ah=sf=eU([Fm(1,lN),Fm(2,Wi),Fm(3,Jn),Fm(4,ri)],ah);class Cw extends we{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=ah.get(t))==null||i.nagivate(this._next,this._multiFile))}}const Hc=class Hc extends Cw{constructor(){super(!0,!1,{id:Hc.ID,label:Hc.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:578,weight:100},menuOpts:{menuId:op.TitleMenu,title:Hc.LABEL,icon:Gn("marker-navigation-next",Xt.arrowDown,w("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};Hc.ID="editor.action.marker.next",Hc.LABEL=w("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let pv=Hc;const Wc=class Wc extends Cw{constructor(){super(!1,!1,{id:Wc.ID,label:Wc.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:1602,weight:100},menuOpts:{menuId:op.TitleMenu,title:Wc.LABEL,icon:Gn("marker-navigation-previous",Xt.arrowUp,w("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Wc.ID="editor.action.marker.prev",Wc.LABEL=w("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let zC=Wc;class tU extends Cw{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:w("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:M.focus,primary:66,weight:100},menuOpts:{menuId:et.MenubarGoMenu,title:w({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class iU extends Cw{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:w("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:M.focus,primary:1090,weight:100},menuOpts:{menuId:et.MenubarGoMenu,title:w({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}_i(ah.ID,ah,4);ie(pv);ie(zC);ie(tU);ie(iU);const cN=new Pi("markersNavigationVisible",!1),nU=Js.bindToContribution(ah.get);Lt(new nU({id:"closeMarkersNavigation",precondition:cN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:M.focus,primary:9,secondary:[1033]}}));var xr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(xr||(xr={}));class sU extends we{constructor(){super({id:gM,label:w({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:vt("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:[xr.NoAutoFocus,xr.FocusIfVisible,xr.AutoFocusImmediately],enumDescriptions:[w("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),w("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),w("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:xr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Es.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=xr.FocusIfVisible;Object.values(xr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=xr.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new B(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==xr.NoAutoFocus?n.focus():a(c):a(c||r===xr.AutoFocusImmediately)}}class oU extends we{constructor(){super({id:SB,label:w({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:vt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Es.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new B(n.lineNumber,n.column,n.lineNumber,n.column),r=sp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class rU extends we{constructor(){super({id:CB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:16,weight:100},metadata:{description:vt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollUp()}}class aU extends we{constructor(){super({id:xB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:18,weight:100},metadata:{description:vt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollDown()}}class lU extends we{constructor(){super({id:LB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:15,weight:100},metadata:{description:vt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollLeft()}}class cU extends we{constructor(){super({id:kB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:17,weight:100},metadata:{description:vt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollRight()}}class dU extends we{constructor(){super({id:IB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:vt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.pageUp()}}class hU extends we{constructor(){super({id:DB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:vt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.pageDown()}}class uU extends we{constructor(){super({id:EB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:vt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.goToTop()}}class gU extends we{constructor(){super({id:PB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:vt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.goToBottom()}}class fU extends we{constructor(){super({id:hw,label:TB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Es.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(Ho.Increase,s,i==null?void 0:i.focus)}}class pU extends we{constructor(){super({id:uw,label:MB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Es.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Es.get(t))==null||r.updateHoverVerbosityLevel(Ho.Decrease,s,i==null?void 0:i.focus)}}var mU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cy=function(o,e){return function(t,i){e(t,i,o)}};const Zo=ht;class _U{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 AI={type:1,filter:{include:gn.QuickFix},triggerAction:uo.QuickFixHover};let VC=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,h=a.range.endLineNumber===n?a.range.endColumn:s,g=this._markerDecorationsService.getMarker(i.uri,a);if(!g)continue;const f=new B(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new _U(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new sh([]);const i=new He,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)=>Os.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new sh(n)}_renderMarkerHover(e){const t=new He,i=Zo("div.hover-row"),n=st(i,Zo("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=st(n,Zo("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=Zo("span");if(s){const y=st(f,Zo("span"));y.innerText=s}const p=st(f,Zo("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Hi(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const v=st(p,Zo("span"));v.innerText=a.value;const _=st(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=st(n,Zo("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(So(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const y=st(n,Zo("div"));y.style.marginTop="8px";const S=st(y,Zo("a"));S.innerText=`${La(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(Hi(S,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const N={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:N}).catch(dn)}}));const D=st(y,Zo("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Os.Error||t.marker.severity===Os.Warning||t.marker.severity===Os.Info){const n=ah.get(this._editor);n&&e.statusBar.addAction({label:w("view problem","View Problem"),commandId:pv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(Zo("div"));this.recentMarkerCodeActionsInfo&&(ZL.makeKey(this.recentMarkerCodeActionsInfo.marker)===ZL.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=w("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ze.None:Mf(()=>n.textContent=w("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(yn(()=>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=w("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(yn(()=>{c||a.dispose()})),e.statusBar.addAction({label:w("quick fixes","Quick Fix..."),commandId:n1,run:h=>{c=!0;const g=ng.get(this._editor),f=Gs(h);e.hide(),g==null||g.showCodeActions(AI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},dn)}}getCodeActions(e){return fs(t=>su(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),AI,Ka.None,t))}};VC=mU([Cy(1,I2),Cy(2,zr),Cy(3,St)],VC);class vU{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=b_.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)??b_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||Ff(c)||i.push(...iE(c).map(e))}return i}}var bU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},OI=function(o,e){return function(t,i){e(t,i,o)}},jC;const FI=ht;var Td;let UC=(Td=class extends ze{constructor(e,t,i){super(),this._renderDisposeables=this._register(new He),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new tE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new yg({editor:this._editor},t,i)),this._computer=new vU(this._editor),this._hoverOperation=this._register(new _M(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(ol(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return jC.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=FI("div.hover-row.markdown-hover"),r=st(s,FI("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||!gw(t,e.x,e.y))&&this.hide()}},jC=Td,Td.ID="editor.contrib.modesGlyphHoverWidget",Td);UC=jC=bU([OI(1,jr),OI(2,zr)],UC);var wU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yU=function(o,e){return function(t,i){e(t,i,o)}},Ru;let mv=(Ru=class extends ze{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new He,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new as(()=>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?gw(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(UC,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Ru.ID="editor.contrib.marginHover",Ru);mv=wU([yU(1,ri)],mv);class SU{}class CU{}class xU{}_i(Es.ID,Es,2);_i(mv.ID,mv,2);ie(sU);ie(oU);ie(rU);ie(aU);ie(lU);ie(cU);ie(dU);ie(hU);ie(uU);ie(gU);ie(fU);ie(pU);vh.register(Qf);vh.register(VC);Wb((o,e)=>{const t=o.getColor(D2);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)}; }`))});Sw.register(new SU);Sw.register(new CU);Sw.register(new xU);function no(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Sf(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 dN(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 E2(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(),h=(y,S)=>(S=S||1,Zu.shiftIndent(y,y.length+S,r,a,c)),g=(y,S)=>(S=S||1,Zu.unshiftIndent(y,y.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=ys(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let y=t;y<=i;y++){if(LU(o,y))continue;const S=o.getLineContent(y),D=ys(S),P=_;s.shouldDecrease(y,P)&&(_=g(_),v=g(v)),D!==_&&f.push(Vn.replaceMove(new zt(y,1,y,D.length+1),P2(_,a,c))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,P)?(v=h(v),_=v):s.shouldIndentNextLine(y,P)?_=h(_):_=v)}return f}function LU(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var kU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const cb=class cb extends we{constructor(){super({id:cb.ID,label:w("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:M.writable,metadata:{description:vt("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 MU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};cb.ID="editor.action.indentationToSpaces";let $C=cb;const db=class db extends we{constructor(){super({id:db.ID,label:w("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:M.writable,metadata:{description:vt("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 NU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};db.ID="editor.action.indentationToTabs";let qC=db;class E1 extends we{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(gl),n=e.get(Vs),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(g=>({id:g.toString(),label:g.toString(),description:g===r.tabSize&&g===a.tabSize?w("configuredTabSize","Configured Tab Size"):g===r.tabSize?w("defaultTabSize","Default Tab Size"):g===a.tabSize?w("currentTabSize","Current Tab Size"):void 0})),h=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:w({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:c[h]}).then(g=>{if(g&&s&&!s.isDisposed()){const f=parseInt(g.label,10);this.displaySizeOnly?s.updateOptions({tabSize:f}):s.updateOptions({tabSize:f,indentSize:f,insertSpaces:this.insertSpaces})}})},50)}}const hb=class hb extends E1{constructor(){super(!1,!1,{id:hb.ID,label:w("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:vt("indentUsingTabsDescription","Use indentation with tabs.")}})}};hb.ID="editor.action.indentUsingTabs";let KC=hb;const ub=class ub extends E1{constructor(){super(!0,!1,{id:ub.ID,label:w("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:vt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};ub.ID="editor.action.indentUsingSpaces";let GC=ub;const gb=class gb extends E1{constructor(){super(!0,!0,{id:gb.ID,label:w("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:vt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};gb.ID="editor.action.changeTabDisplaySize";let ZC=gb;const fb=class fb extends we{constructor(){super({id:fb.ID,label:w("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:vt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Vs),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};fb.ID="editor.action.detectIndentation";let XC=fb;class DU extends we{constructor(){super({id:"editor.action.reindentlines",label:w("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:M.writable,metadata:{description:vt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(gs),n=t.getModel();if(!n)return;const s=dN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class EU extends we{constructor(){super({id:"editor.action.reindentselectedlines",label:w("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:M.writable,metadata:{description:vt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(gs),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,h=a.endLineNumber;if(c!==h&&a.endColumn===1&&h--,c===1){if(c===h)continue}else c--;const g=dN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class PU{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(B.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 Au;let _v=(Au=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new He,this.callOnModel=new He,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)||TU(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:c}=i.getOptions(),h=[],g={shiftIndent:_=>Zu.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>Zu.unshiftIndent(_,_.length+1,r,a,c)};let f=e.startLineNumber;for(;f<=e.endLineNumber;){if(this.shouldIgnoreLine(i,f)){f++;continue}break}if(f>e.endLineNumber)return;let p=i.getLineContent(f);if(!/\S/.test(p.substring(0,e.startColumn-1))){const _=gf(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const y=ys(p),S=no(_,r),D=no(y,r);if(S!==D){const P=Sf(S,r,c);h.push({range:new B(f,1,f,y.length+1),text:P}),p=P+p.substring(y.length)}else{const P=qE(i,f,this._languageConfigurationService);if(P===0||P===8)return}}}const v=f;for(;f<e.endLineNumber;){if(!/\S/.test(i.getLineContent(f+1))){f++;continue}break}if(f!==e.endLineNumber){const y=gf(s,{tokenization:{getLineTokens:S=>i.tokenization.getLineTokens(S),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(S,D)=>i.getLanguageIdAtPosition(S,D)},getLineContent:S=>S===v?p:i.getLineContent(S)},i.getLanguageId(),f+1,g,this._languageConfigurationService);if(y!==null){const S=no(y,r),D=no(ys(i.getLineContent(f+1)),r);if(S!==D){const P=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const j=i.getLineContent(N),H=ys(j),X=no(H,r)+P,fe=Sf(X,r,c);fe!==H&&h.push({range:new B(N,1,N,H.length+1),text:fe})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new PU(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",_),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()}},Au.ID="editor.contrib.autoIndentOnPaste",Au);_v=kU([IU(1,gs)],_v);function TU(o,e){const t=i=>T2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function hN(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 h=new B(r,1,r,c),g=o.getValueInRange(h),f=i?g.replace(/\t/ig,n):g.replace(s," ");e.addEditOperation(h,f)}}class MU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),hN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class NU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),hN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}_i(_v.ID,_v,2);ie($C);ie(qC);ie(KC);ie(GC);ie(ZC);ie(XC);ie(DU);ie(EU);_i(tp.ID,tp,1);vh.register(Z_);class RU{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 zt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new zt(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}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},OU=function(o,e){return function(t,i){e(t,i,o)}},c_,rc;let ug=(rc=class{static get(e){return e.getContribution(c_.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 $E(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=fs(h=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(h=>{var _;if(!h||!h.range||!h.value||!r.validate(this.editor))return;const g=B.lift(h.range);let f=h.range;const p=h.value.length-(s.endColumn-s.startColumn);f={startLineNumber:f.startLineNumber,startColumn:f.startColumn,endLineNumber:f.endLineNumber,endColumn:f.startColumn+h.value.length},p>1&&(s=new zt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new RU(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:c_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=Gb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(dn)}).catch(dn)):Promise.resolve(void 0)}},c_=rc,rc.ID="editor.contrib.inPlaceReplaceController",rc.DECORATION=xi.register({description:"in-place-replace",className:"valueSetReplacement"}),rc);ug=c_=AU([OU(1,ml)],ug);class FU extends we{constructor(){super({id:"editor.action.inPlaceReplace.up",label:w("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=ug.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class HU extends we{constructor(){super({id:"editor.action.inPlaceReplace.down",label:w("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=ug.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}_i(ug.ID,ug,4);ie(FU);ie(HU);class WU extends we{constructor(){super({id:"expandLineSelection",label:w("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:M.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,T0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ie(WU);class BU{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=zU(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 zU(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 h=o.getLineContent(a),g=h.length+1;let f=0;if(s<r&&e[s].lineNumber===a&&(f=e[s].column,s++,f===g)||h.length===0)continue;const p=Xm(h);let v=0;if(p===-1)v=1;else if(p!==h.length-1)v=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const _=o.tokenization.getLineTokens(a),y=_.getStandardTokenType(_.findTokenIndexAtOffset(v));if(y===2||y===3)continue}v=Math.max(f,v),i[n++]=Vn.delete(new B(a,v,a,g))}return i}class uN{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 B(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
- `):this._isCopyingDown?t.addEditOperation(new B(i.startLineNumber,1,i.startLineNumber,1),s+`
50
- `):t.addEditOperation(new B(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=zt.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var VU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jU=function(o,e){return function(t,i){e(t,i,o)}};let YC=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=(f,p)=>e.getLanguageIdAtPosition(f,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:h}=e.getOptions(),g=this.buildIndentConverter(a,c,h);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const f=r.startLineNumber,p=this._isMovingDown?f+1:f-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new B(1,1,1,1),null):(t.addEditOperation(new B(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new B(p,1,p,e.getLineMaxColumn(p)),null)),r=new zt(p,1,p,1)}else{let f,p;if(this._isMovingDown){f=r.endLineNumber+1,p=e.getLineContent(f),t.addEditOperation(new B(f-1,e.getLineMaxColumn(f-1),f,e.getLineMaxColumn(f)),null);let v=p;if(this.shouldAutoIndent(e,r)){const _=this.matchEnterRule(e,g,a,f,r.startLineNumber-1);if(_!==null){const S=ys(e.getLineContent(f)),D=_+no(S,a);v=Sf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(f):e.getLineContent(P)},D=gf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const P=ys(e.getLineContent(f)),N=no(D,a),j=no(P,a);N!==j&&(v=Sf(N,a,h)+this.trimStart(p))}}t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
52
- `);const y=this.matchEnterRuleMovingDown(e,g,a,r.startLineNumber,f,v);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,y);else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):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?v:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},D=gf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const P=ys(e.getLineContent(r.startLineNumber)),N=no(D,a),j=no(P,a);if(N!==j){const H=N-j;this.getIndentEditsOfMovingBlock(e,t,r,a,h,H)}}}}else t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
53
- `)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new B(f,1,f+1,1),null),t.addEditOperation(new B(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
- `+p),this.shouldAutoIndent(e,r)){const v={tokenization:{getLineTokens:y=>y===f?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===f?e.getLineContent(r.startLineNumber):e.getLineContent(y)},_=this.matchEnterRule(e,g,a,r.startLineNumber,r.startLineNumber-2);if(_!==null)_!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,_);else{const y=gf(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(y!==null){const S=ys(e.getLineContent(r.startLineNumber)),D=no(y,a),P=no(S,a);if(D!==P){const N=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,h,N)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Zu.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Zu.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===_m.None||s.indentAction===_m.Indent?r=s.indentation+s.appendText:s.indentAction===_m.IndentOutdent?r=s.indentation:s.indentAction===_m.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=ys(e.getLineContent(n));let h=ys(r);const g=qE(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=no(h,i),p=no(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Xm(r)>=0){const a=e.getLineMaxColumn(s),c=Uw(this._autoIndent,e,new B(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}else{let a=n-1;for(;a>=1;){const g=e.getLineContent(a);if(Xm(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=Uw(this._autoIndent,e,new B(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let g;if(a===s&&r!==void 0?g=r:g=e.getLineContent(a),Xm(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=Uw(this._autoIndent,e,new B(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}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),h=ys(c),f=no(h,n)+r,p=Sf(f,n,s);p!==h&&(t.addEditOperation(new B(a,1,a,h.length+1),p),a===i.endLineNumber&&i.endColumn<=h.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}};YC=VU([jU(3,gs)],YC);const fu=class fu{static getCollator(){return fu._COLLATOR||(fu._COLLATOR=new Intl.Collator),fu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=UU(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}};fu._COLLATOR=null;let rp=fu;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(rp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function UU(o,e,t){const i=gN(o,e,t);return i?Vn.replace(new B(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
- `)):null}class fN extends we{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)=>B.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 uN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class $U extends fN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:w("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class qU extends fN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:w("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class KU extends we{constructor(){super({id:"editor.action.duplicateSelection",label:w("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({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 uN(a,!0));else{const c=new zt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new M2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class pN extends we{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(gs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new YC(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class GU extends pN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:w("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class ZU extends pN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:w("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class mN extends we{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 zt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!rp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new rp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class XU extends mN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:w("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class YU extends mN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:w("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class JU extends we{constructor(){super({id:"editor.action.removeDuplicateLines",label:w("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:M.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 zt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const h of c){const g=new Set,f=[];for(let y=h.startLineNumber;y<=h.endLineNumber;y++){const S=i.getLineContent(y);g.has(S)||(f.push(S),g.add(S))}const p=new zt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new zt(v,1,v+f.length-1,f[f.length-1].length);n.push(Vn.replace(p,f.join(`
56
- `))),s.push(_),r+=h.endLineNumber-h.startLineNumber+1-f.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const pb=class pb extends we{constructor(){super({id:pb.ID,label:w("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new yt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Cn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new BU(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};pb.ID="editor.action.trimTrailingWhitespace";let JC=pb;class QU extends we{constructor(){super({id:"editor.action.deleteLines",label:w("lines.delete","Delete Line"),alias:"Delete Line",precondition:M.writable,kbOpts:{kbExpr:M.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,h=i.length;c<h;c++){const g=i[c];let f=g.startLineNumber,p=g.endLineNumber,v=1,_=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,_=1):f>1&&(f-=1,v=n.getLineMaxColumn(f)),r.push(Vn.replace(new zt(f,v,p,_),"")),a.push(new zt(f-s,g.positionColumn,f-s,g.positionColumn)),s+=g.endLineNumber-g.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 e$ extends we{constructor(){super({id:"editor.action.indentLines",label:w("lines.indent","Indent Line"),alias:"Indent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,N2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class t$ extends we{constructor(){super({id:"editor.action.outdentLines",label:w("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2140,weight:100}})}run(e,t){Zm.Outdent.runEditorCommand(e,t,null)}}class i$ extends we{constructor(){super({id:"editor.action.insertLineBefore",label:w("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,KE.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class n$ extends we{constructor(){super({id:"editor.action.insertLineAfter",label:w("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,KE.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class _N extends we{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,h=n.length-1;c<h;c++){const g=n[c],f=n[c+1];B.intersectRanges(g,f)===null?s.push(g):n[c+1]=B.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Vn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class s$ extends _N{constructor(){super({id:"deleteAllLeft",label:w("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:M.writable,kbOpts:{kbExpr:M.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 zt(c,r.startColumn,c,r.startColumn)}else a=new zt(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(B.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 B(r,a,s.startLineNumber,1)}else return new B(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new B(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class o$ extends _N{constructor(){super({id:"deleteAllRight",label:w("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:M.writable,kbOpts:{kbExpr:M.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],h=new zt(c.startLineNumber-a,c.startColumn,c.startLineNumber-a,c.startColumn);c.intersectRanges(e)?i=h:n.push(h)}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 B(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new B(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(B.compareRangesUsingStarts),n}}class r$ extends we{constructor(){super({id:"editor.action.joinLines",label:w("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:M.writable,kbOpts:{kbExpr:M.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(B.compareRangesUsingStarts);const s=[],r=i.reduce((p,v)=>p.isEmpty()?p.endLineNumber===v.startLineNumber?(n.equalsSelection(p)&&(n=v),v):v.startLineNumber>p.endLineNumber+1?(s.push(p),v):new zt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new zt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const c=[],h=[];let g=n,f=0;for(let p=0,v=s.length;p<v;p++){const _=s[p],y=_.startLineNumber,S=1;let D=0,P,N;const j=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(P=y+1,N=a.getLineMaxColumn(P)):(P=X.lineNumber,N=a.getLineMaxColumn(X.lineNumber))}else P=_.endLineNumber,N=a.getLineMaxColumn(P);let H=a.getLineContent(y);for(let X=y+1;X<=P;X++){const fe=a.getLineContent(X),be=a.getLineFirstNonWhitespaceColumn(X);if(be>=1){let Te=!0;H===""&&(Te=!1),Te&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(Te=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const xe=fe.substr(be-1);H+=(Te?" ":"")+xe,Te?D=xe.length+1:D=xe.length}else D=0}const ee=new B(y,S,P,N);if(!ee.isEmpty()){let X;_.isEmpty()?(c.push(Vn.replace(ee,H)),X=new zt(ee.startLineNumber-f,H.length-D+1,y-f,H.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(Vn.replace(ee,H)),X=new zt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(Vn.replace(ee,H)),X=new zt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,H.length-j)),B.intersectRanges(ee,n)!==null?g=X:h.push(X)}f+=ee.endLineNumber-ee.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class a$ extends we{constructor(){super({id:"editor.action.transpose",label:w("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:M.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 h=c.getStartPosition(),g=n.getLineMaxColumn(h.lineNumber);if(h.column>=g){if(h.lineNumber===n.getLineCount())continue;const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new Ip(new zt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new hE(f,p,new zt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class yh extends we{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(),h=t.getConfiguredWordAtPosition(c);if(!h)continue;const g=new B(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(Vn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(Vn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class l$ extends yh{constructor(){super({id:"editor.action.transformToUppercase",label:w("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class c$ extends yh{constructor(){super({id:"editor.action.transformToLowercase",label:w("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class il{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 mb=class mb extends yh{constructor(){super({id:"editor.action.transformToTitlecase",label:w("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:M.writable})}_modifyText(e,t){const i=mb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};mb.titleBoundary=new il("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let vv=mb;const pu=class pu extends yh{constructor(){super({id:"editor.action.transformToSnakecase",label:w("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:M.writable})}_modifyText(e,t){const i=pu.caseBoundary.get(),n=pu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};pu.caseBoundary=new il("(\\p{Ll})(\\p{Lu})","gmu"),pu.singleLetters=new il("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Cf=pu;const _b=class _b extends yh{constructor(){super({id:"editor.action.transformToCamelcase",label:w("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:M.writable})}_modifyText(e,t){const i=_b.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("")}};_b.wordBoundary=new il("[_\\s-]","gm");let bv=_b;const mu=class mu extends yh{constructor(){super({id:"editor.action.transformToPascalcase",label:w("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:M.writable})}_modifyText(e,t){const i=mu.wordBoundary.get(),n=mu.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("")}};mu.wordBoundary=new il("[_\\s-]","gm"),mu.wordBoundaryToMaintain=new il("(?<=\\.)","gm");let wv=mu;const Tl=class Tl extends yh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:w("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:M.writable})}_modifyText(e,t){const i=Tl.caseBoundary.get(),n=Tl.singleLetters.get(),s=Tl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Tl.caseBoundary=new il("(\\p{Ll})(\\p{Lu})","gmu"),Tl.singleLetters=new il("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Tl.underscoreBoundary=new il("(\\S)(_)(\\S)","gm");let yv=Tl;ie($U);ie(qU);ie(KU);ie(GU);ie(ZU);ie(XU);ie(YU);ie(JU);ie(JC);ie(QU);ie(e$);ie(t$);ie(i$);ie(n$);ie(s$);ie(o$);ie(r$);ie(a$);ie(l$);ie(c$);Cf.caseBoundary.isSupported()&&Cf.singleLetters.isSupported()&&ie(Cf);bv.wordBoundary.isSupported()&&ie(bv);wv.wordBoundary.isSupported()&&ie(wv);vv.titleBoundary.isSupported()&&ie(vv);yv.isSupported()&&ie(yv);var d$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hm=function(o,e){return function(t,i){e(t,i,o)}},d_;const vN=new Pi("LinkedEditingInputVisible",!1),h$="linked-editing-decoration";var ac;let gg=(ac=class extends ze{static get(e){return e.getContribution(d_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new He),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=vN.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 He),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(rs.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new uc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new uc(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 h=this._currentDecorations.getRange(0);if(h&&c.changes.every(g=>h.intersectRanges(g.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 h=t.getValueInRange(c),g=n,f=c.startColumn,p=c.endColumn;const v=Wp(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=R2(h,g);p-=_,h=h.substr(0,h.length-_),g=g.substr(0,g.length-_),(f!==p||g.length!==0)&&s.push({range:new B(c.startLineNumber,f,c.endLineNumber,p),text:g})}}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 ps;try{const r=new ho(!1),a=await bN(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 h=!1;for(let f=0,p=c.length;f<p;f++)if(B.containsPosition(c[f],t)){if(h=!0,f!==0){const v=c[f];c.splice(f,1),c.unshift(v)}break}if(!h){this.clearRanges();return}const g=c.map(f=>({range:f,options:d_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){wc(r)||dn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},d_=ac,ac.ID="editor.contrib.linkedEditing",ac.DECORATION=xi.register({description:"linked-editing",stickiness:0,className:h$}),ac);gg=d_=d$([Hm(1,Wi),Hm(2,St),Hm(3,gs),Hm(4,Vo)],gg);class u$ extends we{constructor(){super({id:"editor.action.linkedEditing",label:w("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:oe.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Jn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return on.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))))},dn):super.runCommand(e,t)}run(e,t){const i=gg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const g$=Js.bindToContribution(gg.get);Lt(new g$({id:"cancelLinkedEditingInput",precondition:vN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:M.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function bN(o,e,t,i){const n=o.ordered(e);return M0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){Yn(r);return}}),s=>!!s&&So(s==null?void 0:s.ranges))}ut("editor.linkedEditingBackground",{dark:wi.fromHex("#f00").transparent(.3),light:wi.fromHex("#f00").transparent(.3),hcDark:wi.fromHex("#f00").transparent(.3),hcLight:wi.white},w("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Qs("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(St);return bN(i,e,t,fi.None)});_i(gg.ID,gg,1);ie(u$);let f$=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 Sv{constructor(e){this._disposables=new He;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new f$(r,n));t=Sv._union(t,s),ME(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],h=t[r];if(B.areIntersectingOrTouching(c.range,h.range)){n++;continue}B.compareRangesUsingStarts(c.range,h.range)<0?(i.push(c),n++):(i.push(h),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function wN(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])},Yn));return Promise.all(n).then(()=>{const s=new Sv(nl(i));return t.isCancellationRequested?(s.dispose(),new Sv([])):s})}pn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;$i(t instanceof on),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(St),s=o.get(Vs).getModel(t);if(!s)return[];const r=await wN(n,s,fi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(fi.None);const a=r.links.slice(0);return r.dispose(),a});var p$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wm=function(o,e){return function(t,i){e(t,i,o)}},QC,Md;let ap=(Md=class extends ze{static get(e){return e.getContribution(QC.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 as(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new fw(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=fs(t=>wN(this.providers,e,t));try{const t=new ho(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){dn(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(wu.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let c=0,h=a.length;c<h;c++){const g=new wu(e[c],a[c]);this.currentOccurrences[g.decorationId]=g}})}_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(fi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===$s.file&&s.startsWith(`${$s.file}:`)){const a=on.parse(s);if(a.scheme===$s.file){const c=A2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=O2(r,h))}}}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(w("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(w("missing.url","Failed to open this link because its target is missing.")):dn(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()}},QC=Md,Md.ID="editor.linkDetector",Md);ap=QC=p$([Wm(1,zr),Wm(2,zs),Wm(3,St),Wm(4,Vo)],ap);const HI={general:xi.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:xi.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class wu{static decoration(e,t){return{range:e.range,options:wu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?HI.active:HI.general};return n.hoverMessage=m$(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,wu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,wu._getOptions(this.link,t,!1))}}function m$(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?w("links.navigate.executeCmd","Execute command"):w("links.navigate.follow","Follow link"),n=e?xa?w("links.navigate.kb.meta.mac","cmd + click"):w("links.navigate.kb.meta","ctrl + click"):xa?w("links.navigate.kb.alt.mac","option + click"):w("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=w("tooltip.explanation","Execute command {0}",c)}}return new Ns("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ns().appendText(`${i} (${n})`)}class _$ extends we{constructor(){super({id:"editor.action.openLink",label:w("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=ap.get(t);if(!i||!t.hasModel())return;const n=t.getSelections();for(const s of n){const r=i.getLinkOccurrence(s.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}}_i(ap.ID,ap,1);ie(_$);const eL=class eL extends ze{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})}))}};eL.ID="editor.contrib.longLinesHelper";let Cv=eL;_i(Cv.ID,Cv,2);const v$=ut("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},w("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);ut("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},w("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);ut("editor.wordHighlightTextBackground",v$,w("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 b$=ut("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Kd,hcLight:Kd},w("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));ut("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Kd,hcLight:Kd},w("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));ut("editor.wordHighlightTextBorder",b$,w("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const w$=ut("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",w("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),y$=ut("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",w("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),S$=ut("editorOverviewRuler.wordHighlightTextForeground",GE,w("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),C$=xi.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ss(y$),position:ba.Center},minimap:{color:ss(Zb),position:1}}),x$=xi.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ss(S$),position:ba.Center},minimap:{color:ss(Zb),position:1}}),L$=xi.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ss(GE),position:ba.Center},minimap:{color:ss(Zb),position:1}}),k$=xi.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),I$=xi.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ss(w$),position:ba.Center},minimap:{color:ss(Zb),position:1}});function D$(o){return o===D_.Write?C$:o===D_.Text?x$:I$}function E$(o){return o?k$:L$}Wb((o,e)=>{const t=o.getColor(F2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var P$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},ex;function Sc(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?w("cursorAdded","Cursor added: {0}",i):w("cursorsAdded","Cursors added: {0}",i);ju(n)}}class M$ extends we{constructor(){super({id:"editor.action.insertCursorAbove",label:w("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({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,T0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Sc(r,s.getCursorStates())}}class N$ extends we{constructor(){super({id:"editor.action.insertCursorBelow",label:w("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({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,T0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Sc(r,s.getCursorStates())}}class R$ extends we{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:w("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({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 zt(n,s,n,s))}e.endColumn>1&&i.push(new zt(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),Sc(r,s.getCursorStates())}}class A$ extends we{constructor(){super({id:"editor.action.addCursorsToBottom",label:w("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 zt(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Sc(a,r.getCursorStates())}}class O$ extends we{constructor(){super({id:"editor.action.addCursorsToTop",label:w("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 zt(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Sc(r,s.getCursorStates())}}class Bm{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class lp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new lp(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 h,g=null;if(c.isEmpty()){const f=e.getConfiguredWordAtPosition(c.getStartPosition());if(!f)return null;h=f.word,g=new zt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
- `);return new lp(e,t,n,h,s,r,g)}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 Bm(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 Bm(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 zt(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 Bm(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 Bm(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 zt(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 vb=class vb extends ze{static get(e){return e.getContribution(vb.ID)}constructor(e){super(),this._sessionDispose=this._register(new He),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=lp.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 zt(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(!yN(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let c=0,h=t.length;c<h;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 zt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};vb.ID="editor.contrib.multiCursorController";let fg=vb;class Dg extends we{run(e,t){const i=fg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Xs.get(t);if(r)this._run(i,r);else{const a=e.get(ri).createInstance(Xs,t);this._run(i,a),a.dispose()}Sc(s,n.getCursorStates())}}}class F$ extends Dg{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:w("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2082,weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class H$ extends Dg{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:w("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class W$ extends Dg{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:w("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:ts(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class B$ extends Dg{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:w("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 z$ extends Dg{constructor(){super({id:"editor.action.selectHighlights",label:w("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3114,weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class V$ extends Dg{constructor(){super({id:"editor.action.changeAll",label:w("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:oe.and(M.writable,M.editorTextFocus),kbOpts:{kbExpr:M.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class j${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(B.compareRangesUsingStarts)),this._cachedFindMatches}}var Nd;let xv=(Nd=class extends ze{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new as(()=>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=Xs.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(ex._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=fg.get(i);if(!s)return null;const r=Xs.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const g=i.getSelections();if(g.length>1){const p=r.getState().matchCase;if(!yN(i.getModel(),g,p))return null}a=lp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const c=r.getState(),h=c.matchCase;if(c.isRevealed){let g=c.searchString;h||(g=g.toLowerCase());let f=a.searchText;if(h||(f=f.toLowerCase()),g===f&&a.matchCase===c.matchCase&&a.wholeWord===c.wholeWord&&!c.isRegex)return null}return new j$(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(B.compareRangesUsingStarts);const s=[];for(let h=0,g=0,f=i.length,p=n.length;h<f;){const v=i[h];if(g>=p)s.push(v),h++;else{const _=B.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!B.areIntersecting(v,n[g]))&&s.push(v),h++):(_>0||h++,g++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,c=s.map(h=>({range:h,options:E$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},ex=Nd,Nd.ID="editor.contrib.selectionHighlighter",Nd);xv=ex=P$([T$(1,St)],xv);function yN(o,e,t){const i=WI(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=WI(o,r,!t);if(i!==a)return!1}return!0}function WI(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class U$ extends we{constructor(){super({id:"editor.action.focusNextCursor",label:w("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:w("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),Sc(s,n.getCursorStates()))}}class $$ extends we{constructor(){super({id:"editor.action.focusPreviousCursor",label:w("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:w("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),Sc(s,n.getCursorStates()))}}_i(fg.ID,fg,4);_i(xv.ID,xv,1);ie(M$);ie(N$);ie(R$);ie(F$);ie(H$);ie(W$);ie(B$);ie(z$);ie(V$);ie(A$);ie(O$);ie(U$);ie($$);const q$="editor.action.inlineEdit.accept",K$="editor.action.inlineEdit.reject",G$="editor.action.inlineEdit.jumpTo",Z$="editor.action.inlineEdit.jumpBack";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},Y$=function(o,e){return function(t,i){e(t,i,o)}};const xy="inline-edit";let tx=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Co(this,!1),this.currentTextModel=so(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Yi(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,h=r.parts.length===1&&r.parts[0].lines.every(N=>N.length===0),g=[],f=[];function p(N,j){if(f.length>0){const H=f[f.length-1];j&&H.decorations.push(new Vf(H.content.length+1,H.content.length+1+N[0].length,j,0)),H.content+=N[0],N=N.slice(1)}for(const H of N)f.push({content:H,decorations:j?[new Vf(1,H.length+1,j,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,y=0;if(!h&&(c||!a)){for(const N of r.parts){let j=N.lines;a&&!c&&(p(j,xy),j=[]),_===void 0?(g.push({column:N.column,text:j[0],preview:N.preview}),j=j.slice(1)):p([v.substring(y,N.column-1)],void 0),j.length>0&&(p(j,xy),_===void 0&&N.column<=v.length&&(_=N.column)),y=N.column-1}_!==void 0&&p([v.substring(y)],void 0)}const S=_!==void 0?new iN(_,v.length+1):void 0,D=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:g,additionalLines:f,hiddenRange:S,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:h}}),this.decorations=Yi(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 h=0;h<c;h++){const g=s.range.startLineNumber+h,f=s.targetTextModel.getLineFirstNonWhitespaceColumn(g),p=s.targetTextModel.getLineLastNonWhitespaceColumn(g),v=new B(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:N0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new B(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:R0})}for(const a of s.inlineTexts)r.push({range:B.fromPositions(new yt(s.lineNumber,a.column)),options:{description:xy,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:tu.Left},showIfCollapsed:!0}});return r}),this._register(yn(()=>{this.isDisposed.set(!0,void 0)})),this._register(nN(this.editor,this.decorations))}};tx=X$([Y$(2,jr)],tx);var P1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ca=function(o,e){return function(t,i){e(t,i,o)}},h_;let ix=class extends ze{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=Yi(this,n=>{var c,h;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,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Rp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(nx,this.editor,!0,this.position));e.addContentWidget(a),s.add(yn(()=>e.removeContentWidget(a)))}))}};ix=P1([ca(2,ri)],ix);var lc;let nx=(lc=class extends ze{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${h_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=rr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[rr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(et.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(sx,this.nodes.toolBar,this.editor,et.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof Ku)return n.createInstance(J$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{h_._dropDownVisible=a})),this._register(On(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(On(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof Ku&&c.push(f);c.length>0&&c.unshift(new Of),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},h_=lc,lc._dropDownVisible=!1,lc.id=0,lc);nx=h_=P1([ca(3,ri),ca(4,Wi),ca(5,uh)],nx);class J$ extends YD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=rr("div.keybinding").root;this._register(new f0(t,p0,{disableTitle:!0,...JD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let sx=class extends QD{constructor(e,t,i,n,s,r,a,c,h,g){super(e,{resetMenu:i,...n},s,r,a,c,h,g),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,h;const e=[],t=[];y0(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,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Ca(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};sx=P1([ca(4,uh),ca(5,Wi),ca(6,_g),ca(7,is),ca(8,us),ca(9,Vr)],sx);var SN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},u_=function(o,e){return function(t,i){e(t,i,o)}},of,ox;function*Q$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Ly(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 Rd;let rx=(Rd=class extends ze{static _createUniqueUri(){return on.from({scheme:"inline-edit-widget",path:new Date().toString()+String(of._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=Yi(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 h=Array.from(Q$(a.range.startLineNumber,a.range.endLineNumber+1)),g=h.map(y=>c.getLineLastNonWhitespaceColumn(y)),f=Math.max(...g),p=h[g.indexOf(f)],v=new yt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=Yi(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=Ly(a.text.split(`
58
- `));return{text:c.text.join(`
59
- `),shift:c.shift}}),this._originalModel=gc(()=>this._modelService.createModel("",null,of._createUniqueUri())).keepObserved(this._store),this._modifiedModel=gc(()=>this._modelService.createModel("",null,of._createUniqueUri())).keepObserved(this._store),this._diff=Yi(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=Yi(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=Ly(c.getValueInRange(a.range).split(`
60
- `)).text.join(`
61
- `),g=Ly(a.text.split(`
62
- `)).text.join(`
63
- `);this._originalModel.get().setValue(h),this._modifiedModel.get().setValue(g);const f=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ZE.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fi.None);if(!p.identical)return p.changes})}),this._register(Rp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(ax,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(yn(()=>e.removeOverlayWidget(h)))}))}},of=Rd,Rd._modelId=0,Rd);rx=of=SN([u_(2,ri),u_(3,A0),u_(4,Vs)],rx);var Ad;let ax=(Ad=class extends ze{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${ox.id++}`,this.allowEditorOverflow=!1,this._nodes=ht("div.inlineEditSideBySide",void 0),this._scrollChanged=Yc("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=ha(this._previewEditor),this._editorObs=ha(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(Fl,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Bf,Fl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Yi(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Yi(this,c=>{this._setText.read(c);const h=this._position.read(c);if(!h)return{org:[],mod:[]};const g=this._diff.read(c);if(!g)return{org:[],mod:[]};const f=[],p=[];if(g.length===1&&g[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const v=this._shift.get(),_=y=>new B(y.startLineNumber+h.top-1,y.startColumn+v,y.endLineNumber+h.top-1,y.endColumn+v);for(const y of g)if(y.original.isEmpty||f.push({range:_(y.original.toInclusiveRange()),options:R0}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:XE}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||f.push({range:_(y.original.toInclusiveRange()),options:YE}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:JE});else for(const S of y.innerChanges||[])y.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?QE:N0}),y.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?eP:tP});return{org:f,mod:p}}),this._originalDecorations=Yi(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Yi(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(On(c=>{const h=this._previewEditorObs.contentWidth.read(c),g=this._text.read(c).split(`
64
- `).length-1,f=this._editor.getOption(67)*g;h<=0||this._previewEditor.layout({height:f,width:h})})),this._register(On(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(On(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}}}},ox=Ad,Ad.id=0,Ad);ax=ox=SN([u_(5,ri)],ax);var e5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Pc=function(o,e){return function(t,i){e(t,i,o)}},rf,Fo;let Fs=(Fo=class extends ze{static get(e){return e.getContribution(rf.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=rf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=rf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Co(this,void 0),this._currentWidget=gc(this._currentEdit,_=>{const y=this._currentEdit.read(_);if(!y)return;const S=y.range.endLineNumber,D=y.range.endColumn,P=y.text.endsWith(`
65
- `)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,N=new ip(S,[new nv(D,P,!1)]),j=y.range.startLineNumber===y.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,H=y.text==="";return!j&&!H?void 0:this.instantiationService.createInstance(tx,this.editor,{ghostText:Ga(N),minReservedLineCount:Ga(0),targetTextModel:Ga(this.editor.getModel()??void 0),range:Ga(y.range)})}),this._isAccepting=Co(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 h=Yc("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(On(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=so(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(On(_=>{if(!this._enabled.read(_))return;const y=g.read(_);y&&this.checkCursorPosition(y)})),this._register(On(_=>{const y=this._currentEdit.read(_);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const S=e.getPosition();S&&this.checkCursorPosition(S)}));const f=Yc("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(On(async _=>{var y;this._enabled.read(_)&&(f.read(_),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((y=this._currentRequestCts)==null||y.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=Yc("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(On(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(xE());this._register(On(_=>{const y=this._fontFamily.read(_);v.setStyle(y===""||y==="default"?"":`
66
- .monaco-editor .inline-edit-decoration,
67
- .monaco-editor .inline-edit-decoration-preview,
68
- .monaco-editor .inline-edit {
69
- font-family: ${y};
70
- }`)})),this._register(new ix(this.editor,this._currentWidget,this.instantiationService)),this._register(new rx(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(B.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 ps;const a=this._currentRequestCts.token,c=t?XL.Automatic:XL.Invoke;if(t&&await t5(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const g=await r.provideInlineEdit(i,{triggerKind:c},a);if(g&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,g))return g}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",[Vn.replace(B.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,Yn),this.freeEdit(e),gh(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,Yn),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)}},rf=Fo,Fo.ID="editor.contrib.inlineEditController",Fo.inlineEditVisibleKey="inlineEditVisible",Fo.inlineEditVisibleContext=new Pi(Fo.inlineEditVisibleKey,!1),Fo.cursorAtInlineEditKey="cursorAtInlineEdit",Fo.cursorAtInlineEditContext=new Pi(Fo.cursorAtInlineEditKey,!1),Fo);Fs=rf=e5([Pc(1,ri),Pc(2,Wi),Pc(3,St),Pc(4,us),Pc(5,Cn),Pc(6,A0),Pc(7,Vs)],Fs);function t5(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 i5=class extends we{constructor(){super({id:q$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:oe.and(M.writable,Fs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:oe.and(M.writable,Fs.inlineEditVisibleContext,Fs.cursorAtInlineEditContext)}],menuOpts:[{menuId:et.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Fs.get(t);await(i==null?void 0:i.accept())}};class n5 extends we{constructor(){const e=oe.and(M.writable,oe.not(Fs.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=Fs.get(t);i==null||i.trigger()}}class s5 extends we{constructor(){const e=oe.and(M.writable,Fs.inlineEditVisibleContext,oe.not(Fs.cursorAtInlineEditKey));super({id:G$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:et.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Fs.get(t);i==null||i.jumpToCurrent()}}class o5 extends we{constructor(){const e=oe.and(M.writable,Fs.cursorAtInlineEditContext);super({id:Z$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:et.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Fs.get(t);i==null||i.jumpBack()}}class r5 extends we{constructor(){const e=oe.and(M.writable,Fs.inlineEditVisibleContext);super({id:K$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:et.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Fs.get(t);await(i==null?void 0:i.clear())}}ie(i5);ie(r5);ie(s5);ie(o5);ie(n5);_i(Fs.ID,Fs,3);const a5="editor.action.inlineEdits.accept",l5="editor.action.inlineEdits.showPrevious",c5="editor.action.inlineEdits.showNext",pg=new Pi("inlineEditsVisible",!1,w("inlineEditsVisible","Whether an inline edit is visible")),d5=new Pi("inlineEditsIsPinned",!1,w("isPinned","Whether an inline edit is visible")),tL=class tL extends ze{constructor(e){super(),this._editor=e,this._editorObs=ha(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=qa({owner:this,equalsFn:iP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=h5(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=eE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=rr("div.editorPlaceholder");i.add(On(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(On(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(On(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:Ga(0),position:Ga(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};tL.ID="editor.contrib.placeholderText";let cp=tL;function h5(o,e){return zb(o,(t,i)=>i===!0?!0:e(t))}var u5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},g5=function(o,e){return function(t,i){e(t,i,o)}};class f5{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let lx=class extends ze{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=ha(this._editor),this._elements=rr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[rr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[rr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),rr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),rr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Th("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Th("defs",[Th("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Th("stop",{offset:"0%",class:"gradient-stop"}),Th("stop",{offset:"100%",class:"gradient-stop"})])]),Th("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(Fl,"",Bf,Fl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Yi(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(Fl,"",Bf,Fl.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:H2},{contributions:W2.getSomeEditorContributions([cr.ID,cp.ID,ag.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=ha(this._previewEditor),this._decorations=Yi(this,r=>{var g;this._setText.read(r);const a=(g=this._edit.read(r))==null?void 0:g.changes;if(!a)return[];const c=[],h=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const f of a)if(f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:R0}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:XE}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:YE}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:JE});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?QE:N0}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?eP:tP});return h}),this._layout1=Yi(this,r=>{const a=this._editor.getModel(),c=this._edit.read(r);if(!c)return null;const h=c.range;let g=0;for(let v=h.startLineNumber;v<h.endLineNumberExclusive;v++){const _=a.getLineMaxColumn(v),y=this._editor.getOffsetForColumn(v,_);g=Math.max(g,y)}return{left:this._editor.getLayoutInfo().contentLeft+g}}),this._layout=Yi(this,r=>{const a=this._edit.read(r);if(!a)return null;const c=a.range,h=this._editorObs.scrollLeft.read(r),g=this._layout1.read(r).left+20-h,f=this._editor.getTopForLineNumber(c.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(c.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),v=new cu(g,f),_=new cu(g,p),y=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,P=y-D,N=new cu(g+S,f+P/2),j=new cu(g+S,p-P/2);return{topCode:v,bottomCode:_,codeHeight:y,topEdit:N,bottomEdit:j,editHeight:D}});const s=Yi(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(B2(this._elements.root,{display:Yi(this,r=>s.read(r)?"block":"none")})),this._register(z2(this._editor.getDomNode(),this._elements.root)),this._register(ha(e).createOverlayWidget({domNode:this._elements.root,position:Ga(null),allowEditorOverflow:!1,minContentWidthInPx:Yi(r=>{var h;const a=(h=this._layout1.read(r))==null?void 0:h.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(On(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:c,bottomCode:h,topEdit:g,bottomEdit:f,editHeight:p}=a,v=10,_=0,y=40,S=new m5().moveTo(c).lineTo(c.deltaX(v)).curveTo(c.deltaX(v+y),g.deltaX(-y-_),g.deltaX(-_)).lineTo(g).lineTo(f).lineTo(f.deltaX(-_)).curveTo(f.deltaX(-y-_),h.deltaX(v+y),h.deltaX(v)).lineTo(h).build();this._elements.path.setAttribute("d",S),this._elements.editorContainer.style.top=`${g.y}px`,this._elements.editorContainer.style.left=`${g.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(_5(p5(this._userPrompt,r=>r??"",r=>r),ha(this._promptEditor).value)),this._register(On(r=>{const a=ha(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};lx=u5([g5(3,ri)],lx);function p5(o,e,t){return nP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class cu{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new cu(this.x+e,this.y)}}class m5{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 _5(o,e){const t=new He;return t.add(On(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(On(i=>{const n=e.read(i);o.set(n,void 0)})),t}var v5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ky=function(o,e){return function(t,i){e(t,i,o)}},af,Od;let cx=(Od=class extends ze{static _createUniqueUri(){return on.from({scheme:"inline-edits",path:new Date().toString()+String(af._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=D0(this),this._selectedInlineCompletionId=Co(this,void 0),this._isActive=Co(this,!1),this._originalModel=gc(()=>this._modelService.createModel("",null,af._createUniqueUri())).keepObserved(this._store),this._modifiedModel=gc(()=>this._modelService.createModel("",null,af._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new w5(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Co(this,void 0),this.inlineEdit=Yi(this,c=>{var h,g;return(g=(h=this._inlineEdit.read(c))==null?void 0:h.promiseResult.read(c))==null?void 0:g.data}),this._inlineEdit=Yi(this,c=>{const h=this.selectedInlineEdit.read(c);if(!h)return;const g=h.inlineCompletion.range;if(h.inlineCompletion.insertText.trim()==="")return;let f=h.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(S){var P;const D=((P=S[0].match(/^\s*/))==null?void 0:P[0])??"";return S.map(N=>N.replace(new RegExp("^"+D),""))}f=p(f);let _=this.textModel.getValueInRange(g).split(/\r\n|\r|\n/);_=p(_),this._originalModel.get().setValue(_.join(`
74
- `)),this._modifiedModel.get().setValue(f.join(`
75
- `));const y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ZE.fromFn(async()=>{const S=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fi.None);if(!S.identical)return new f5(V2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new He),this._inlineEditsFetchResult=$y(this,void 0),this._inlineEdits=qa({owner:this,equalsFn:iP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new b5(g)))??[]}),this._fetchInlineEditsPromise=NE({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Qa.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=Qa.Explicit),!0)},async(c,h)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function g(y,S){return S(y)}const f=this._pinnedRange.range.read(c)??g(this._selection.read(c),y=>y.isEmpty()?void 0:y);if(!f){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:h.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(c)},v=Ky(this._fetchStore);await Gb(200,v);const _=await sN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=qa({owner:this,equalsFn:qy()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Yi(this,c=>{const h=this._selectedInlineCompletionId.read(c),g=this._filteredInlineEditItems.read(c),f=this._selectedInlineCompletionId===void 0?-1:g.findIndex(p=>p.semanticId===h);return f===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):f}),this.selectedInlineEdit=Yi(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(RE(this._fetchInlineEditsPromise))}async triggerExplicitly(e){L_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){L_(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 Gu;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},af=Od,Od._modelId=0,Od);cx=af=v5([ky(4,St),ky(5,A0),ky(6,Vs)],cx);class b5{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class w5 extends ze{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Co(this,[]),this.range=Yi(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(yn(()=>{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 y5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ug=function(o,e){return function(t,i){e(t,i,o)}},dx,Fd;let hl=(Fd=class extends ze{static get(e){return e.getContribution(dx.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=j2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=ha(this.editor),this._selection=Yi(this,a=>this._editorObs.cursorSelection.read(a)??new zt(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=gc(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(Gy(cx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=zb(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=gc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(Gy(lx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),S5(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Co("empty","")}))}),this._register(YL(pg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(YL(d5,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)}},dx=Fd,Fd.ID="editor.contrib.inlineEditsController",Fd);hl=dx=y5([Ug(1,ri),Ug(2,Wi),Ug(3,Vo),Ug(4,St),Ug(5,Cn)],hl);function S5(o){return nP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function tm(o){return{label:o.value,alias:o.original}}const bb=class bb extends we{constructor(){super({id:bb.ID,...tm(vt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:oe.and(M.writable,pg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=hl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};bb.ID=c5;let hx=bb;const wb=class wb extends we{constructor(){super({id:wb.ID,...tm(vt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:oe.and(M.writable,pg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=hl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};wb.ID=l5;let ux=wb;class C5 extends we{constructor(){super({id:"editor.action.inlineEdits.trigger",...tm(vt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=hl.get(t);await UE(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class x5 extends we{constructor(){super({id:a5,...tm(vt("action.inlineEdits.accept","Accept Inline Edit")),precondition:pg,menuOpts:{menuId:et.InlineEditsActions,title:w("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Xt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:pg}})}async run(e,t){var n;t instanceof pr&&(t=t.getParentEditor());const i=hl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const yb=class yb extends we{constructor(){super({id:yb.ID,...tm(vt("action.inlineEdits.hide","Hide Inline Edit")),precondition:pg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=hl.get(t);gh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};yb.ID="editor.action.inlineEdits.hide";let gx=yb;_i(hl.ID,hl,3);ie(C5);ie(hx);ie(ux);ie(x5);ie(gx);const lh={Visible:new Pi("parameterHintsVisible",!1),MultipleSignatures:new Pi("parameterHintsMultipleSignatures",!1)};async function CN(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){Yn(a)}}pn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;$i(on.isUri(t)),$i(yt.isIPosition(i)),$i(typeof n=="string"||!n);const s=o.get(St),r=await o.get(Ur).createModelReference(t);try{const a=await CN(s.signatureHelpProvider,r.object.textEditorModel,yt.lift(i),{triggerKind:$l.Invoke,isRetrigger:!1,triggerCharacter:n},fi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Dl;(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})(Dl||(Dl={}));const Sb=class Sb extends ze{constructor(e,t,i=Sb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new gi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Dl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Lo),this.triggerChars=new C_,this.retriggerChars=new C_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new uc(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=Dl.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(dn)}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 Dl.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(L5);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 Dl.Pending(fs(c=>CN(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 Dl.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Dl.Default),dn(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:$l.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:$l.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:$l.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Sb.DEFAULT_DELAY=120;let fx=Sb;function L5(o,e){switch(e.triggerKind){case $l.Invoke:return e;case $l.ContentChange:return o;case $l.TriggerCharacter:default:return e}}var k5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zm=function(o,e){return function(t,i){e(t,i,o)}},px;const po=ht,I5=Gn("parameter-hints-next",Xt.chevronDown,w("parameterHintsNextIcon","Icon for show next parameter hint.")),D5=Gn("parameter-hints-previous",Xt.chevronUp,w("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Hd;let mx=(Hd=class extends ze{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new He),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new yg({editor:e},s,n)),this.keyVisible=lh.Visible.bindTo(i),this.keyMultipleSignatures=lh.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=po(".editor-widget.parameter-hints-widget"),t=st(e,po(".phwrapper"));t.tabIndex=-1;const i=st(t,po(".controls")),n=st(i,po(".button"+Ki.asCSSSelector(D5))),s=st(i,po(".overloads")),r=st(i,po(".button"+Ki.asCSSSelector(I5)));this._register(Hi(n,"click",p=>{S_.stop(p),this.previous()})),this._register(Hi(r,"click",p=>{S_.stop(p),this.next()}));const a=po(".body"),c=new HE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=st(a,po(".signature")),g=st(a,po(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:h,overloads:s,docs:g,scrollbar:c},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const f=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),v=this.domNodes.element;v.style.fontSize=`${p.fontSize}px`,v.style.lineHeight=`${p.lineHeight/p.fontSize}`,v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",w0.fontFamily)};f(),this._register(rs.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(v=>v.hasChanged(50)))(f)),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=st(this.domNodes.signature,po(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=st(n,po("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=po("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}st(this.domNodes.docs,po("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")st(this.domNodes.docs,po("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);st(this.domNodes.docs,h.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 h="";const g=i.parameters[r];Array.isArray(g.label)?h=i.label.substring(g.label[0],g.label[1]):h=g.label,g.documentation&&(h+=typeof g.documentation=="string"?`, ${g.documentation}`:`, ${g.documentation.value}`),i.documentation&&(h+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==h&&(gr(w("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new ho,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"&&iu(t.documentation).length>0||t&&typeof t.documentation=="object"&&iu(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&iu(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&iu(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),st(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|^)${Af(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 px.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)}},px=Hd,Hd.ID="editor.widget.parameterHintsWidget",Hd);mx=px=k5([zm(2,Wi),zm(3,zr),zm(4,jr),zm(5,Vr)],mx);ut("editorHoverWidget.highlightForeground",VE,w("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var E5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},BI=function(o,e){return function(t,i){e(t,i,o)}},_x,Wd;let mg=(Wd=class extends ze{static get(e){return e.getContribution(_x.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new fx(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 u0(()=>this._register(t.createInstance(mx,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)}},_x=Wd,Wd.ID="editor.controller.parameterHints",Wd);mg=_x=E5([BI(1,ri),BI(2,St)],mg);class P5 extends we{constructor(){super({id:"editor.action.triggerParameterHints",label:w("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:M.hasSignatureHelpProvider,kbOpts:{kbExpr:M.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=mg.get(t);i==null||i.trigger({triggerKind:$l.Invoke})}}_i(mg.ID,mg,2);ie(P5);const T1=175,M1=Js.bindToContribution(mg.get);Lt(new M1({id:"closeParameterHints",precondition:lh.Visible,handler:o=>o.cancel(),kbOpts:{weight:T1,kbExpr:M.focus,primary:9,secondary:[1033]}}));Lt(new M1({id:"showPrevParameterHint",precondition:oe.and(lh.Visible,lh.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:T1,kbExpr:M.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Lt(new M1({id:"showNextParameterHint",precondition:oe.and(lh.Visible,lh.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:T1,kbExpr:M.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var T5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},M5=function(o,e){return function(t,i){e(t,i,o)}};class N5{constructor(e){this.instantiationService=e}init(...e){}}function R5(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Rp((n,s)=>{const r=Gy(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function A5(o){return U2()?R5(o,vx):o()}let vx=class extends N5{constructor(e,t){super(t),this.init(e)}};vx=T5([M5(1,ri)],vx);_i(cp.ID,A5(()=>cp),0);ut("editor.placeholder.foreground",$2,w("placeholderForeground","Foreground color of the placeholder text in the editor."));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},Vm=function(o,e){return function(t,i){e(t,i,o)}};const Eg=new Pi("renameInputVisible",!1,w("renameInputVisible","Whether the rename input widget is visible"));new Pi("renameInputFocused",!1,w("renameInputFocused","Whether the rename input widget is focused"));let bx=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 He,this._visibleContextKey=Eg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new ho,this._inputWithButton=new F5,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 N1(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(q2),i=e.getColor(K2);this._domNode.style.backgroundColor=String(e.getColor(WE)??""),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(G2)??"");const n=e.getColor(Z2);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(JL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(JL)??""),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;$i(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=Ap(this.getDomNode().ownerDocument.body),t=Gs(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}=dp.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=w({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;$i(this._renameCandidateListView),$i(this._nPxAvailableAbove!==void 0),$i(this._nPxAvailableBelow!==void 0);const t=eu(this._inputWithButton.domNode),i=eu(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:Qo(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 He;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(Hi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(Hi(this._inputWithButton.button,Fn.KEY_DOWN,g=>{const f=new O0(g);(f.equals(3)||f.equals(10))&&(f.stopPropagation(),f.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(yn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(yn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(yn(()=>this._candidates.clear()));const h=new Ob;return h.p.finally(()=>{c.dispose(),this._hide()}),this._currentCancelInput=g=>{var f;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(f=this._renameCandidateListView)==null||f.clearCandidates(),h.complete(g),!0},this._currentAcceptInput=g=>{this._trace("invoking _currentAcceptInput"),$i(this._renameCandidateListView!==void 0);const f=this._renameCandidateListView.nCandidates;let p,v;const _=this._renameCandidateListView.focusedCandidate;if(_!==void 0?(this._trace("using new name from renameSuggestion"),p=_,v={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,v=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(),h.complete({newName:p,wantsPreview:i&&g,stats:{source:v,nRenameSuggestions:f,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 g;return this.cancelInput(!((g=this._domNode)!=null&&g.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),h.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),$i(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new ps;const i=t?Zy.Invoke:Zy.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){$i(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!B.isEmpty(i)&&!B.spansMultipleLines(i)&&B.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=(...h)=>this._trace("_updateRenameCandidates",...h);n("start");const s=await Dp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(h=>h.status==="fulfilled"&&Gm(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=UD(r,h=>h.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const c=a.filter(({newSymbolName:h})=>h.trim().length>0&&h!==this._inputWithButton.input.value&&h!==t&&!this._candidates.has(h));if(n(`valid distinct candidates - ${r.length} candidates.`),c.forEach(h=>this._candidates.add(h.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)}};bx=O5([Vm(2,mr),Vm(3,is),Vm(4,Wi),Vm(5,fh)],bx);class N1{constructor(e,t){this._disposables=new He,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=N1._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(jE({listInactiveFocusForeground:BE,listInactiveFocusBackground:zE}))}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`,ju(w("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}=dp.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 dp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new m0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class F5{constructor(){this._onDidInputChange=new gi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new He}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",w("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=w("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=w("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=X2().setupManagedHover(qb("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Hi(this.input,Fn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Hi(this.input,Fn.KEY_DOWN,e=>{const t=new O0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Hi(this.input,Fn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Hi(this.input,Fn.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(Hi(this.input,Fn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return $i(this._inputNode),this._inputNode}get button(){return $i(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=Xy(Xt.sparkle)),wa(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=Xy(Xt.primitiveSquare)),wa(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 Tf=class Tf{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=`${Tf._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=Xy(Xt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),PE(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(Y2.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Tf._PADDING*2}}dispose(){}};Tf._PADDING=2;let dp=Tf;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},Ll=function(o,e){return function(t,i){e(t,i,o)}},wx;class R1{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 B(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
- `):void 0}:{range:B.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(w("no result","No result.")),n);return r}}async function W5(o,e,t,i){const n=new R1(e,t,o),s=await n.resolveRenameLocation(fi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,fi.None)}var Bd;let vc=(Bd=class{static get(e){return e.getContribution(wx.ID)}constructor(e,t,i,n,s,r,a,c,h){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=h,this._disposableStore=new He,this._cts=new ps,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(bx,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var _,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new ps,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new R1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new zu(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const S=i.resolveRenameLocation(n.token);this._progressService.showWhile(S,250),s=await S,e("resolved rename location")}catch(S){S instanceof Fb?e("resolve rename location cancelled",JSON.stringify(S,null," ")):(e("resolve rename location failed",S instanceof Error?S:JSON.stringify(S,null," ")),(typeof S=="string"||qm(S))&&((_=ao.get(this.editor))==null||_.showMessage(S||w("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),(y=ao.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new zu(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),h=await Promise.all(c.map(async S=>[S,await S.supportsAutomaticNewSymbolNamesTriggerKind??!1])),g=(S,D)=>{let P=h.slice();return S===Zy.Automatic&&(P=P.filter(([N,j])=>j)),P.map(([N])=>N.provideNewSymbolNames(a,s.range,S,D))};e("creating rename input field and awaiting its result");const f=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,f,c.length>0?g: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 v=Dp(i.provideRenameEdits(p.newName,r.token),r.token).then(async S=>{if(!S){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(S.rejectReason){e(`returning early - rejected with reason: ${S.rejectReason}`),this._notificationService.info(S.rejectReason);return}this.editor.setSelection(B.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(S,{editor:this.editor,showPreview:p.wantsPreview,label:w("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:w("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&gr(w("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(w("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},S=>{e("error when providing rename edits",JSON.stringify(S,null," ")),this._notificationService.error(w("rename.failed","Rename failed to compute edits")),this._logService.error(S)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(v,250),v}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)}},wx=Bd,Bd.ID="editor.contrib.renameController",Bd);vc=wx=H5([Ll(1,ri),Ll(2,zs),Ll(3,Rb),Ll(4,Pp),Ll(5,fh),Ll(6,J2),Ll(7,St),Ll(8,Vr)],vc);class B5 extends we{constructor(){super({id:"editor.action.rename",label:w("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:oe.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Jn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return on.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))))},dn):super.runCommand(e,t)}run(e,t){const i=e.get(fh),n=vc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}_i(vc.ID,vc,4);ie(B5);const A1=Js.bindToContribution(vc.get);Lt(new A1({id:"acceptRenameInput",precondition:Eg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:oe.and(M.focus,oe.not("isComposing")),primary:3}}));Lt(new A1({id:"acceptRenameInputWithPreview",precondition:oe.and(Eg,oe.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:oe.and(M.focus,oe.not("isComposing")),primary:2051}}));Lt(new A1({id:"cancelRenameInput",precondition:Eg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:M.focus,primary:9,secondary:[1033]}}));Qi(class extends Ys{constructor(){super({id:"focusNextRenameSuggestion",title:{...vt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Eg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(Jn).getFocusedCodeEditor();if(!t)return;const i=vc.get(t);i&&i.focusNextRenameSuggestion()}});Qi(class extends Ys{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...vt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Eg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(Jn).getFocusedCodeEditor();if(!t)return;const i=vc.get(t);i&&i.focusPreviousRenameSuggestion()}});Qs("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;$i(typeof n=="string");const{renameProvider:s}=o.get(St);return W5(s,e,t,n)});Qs("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(St),s=await new R1(e,t,i).resolveRenameLocation(fi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Br.as(Tp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:w("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var z5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zI=function(o,e){return function(t,i){e(t,i,o)}},Ou;let Lv=(Ou=class extends ze{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 as(()=>{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),h=a.getStandardTokenType(c);return a.getLanguageId(c)===t.getLanguageId()&&h===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>V5(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,c=r.length;a<c;a++){const h={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[h.decorationId]=h}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Ou.ID="editor.sectionHeaderDetector",Ou);Lv=z5([zI(1,gs),zI(2,ml)],Lv);function V5(o){return{range:o.range,options:xi.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}_i(Lv.ID,Lv,1);function j5(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 U5(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return Q2()||j5(e),eF.wrap(e)}function xN(o){const e=new Uint32Array($5(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 U5(e)}function $5(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 xw(o){return o&&!!o.data}function LN(o){return o&&Array.isArray(o.edits)}class q5{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function kN(o,e){return o.has(e)}function K5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function IN(o,e,t,i,n){const s=K5(o,e),r=await Promise.all(s.map(async a=>{let c,h=null;try{c=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(g){h=g,c=null}return(!c||!xw(c)&&!LN(c))&&(c=null),new q5(a,c,h)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function G5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class Z5{constructor(e,t){this.provider=e,this.tokens=t}}function X5(o,e){return o.has(e)}function DN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function O1(o,e,t,i){const n=DN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){Yn(c),a=null}return(!a||!xw(a))&&(a=null),new Z5(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}pn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;$i(t instanceof on);const i=o.get(Vs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(St),s=G5(n,i);return s?s[0].getLegend():o.get(us).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});pn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;$i(t instanceof on);const i=o.get(Vs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(St);if(!kN(n,i))return o.get(us).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await IN(n,i,null,null,fi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!xw(a))return;const c=xN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});pn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;$i(t instanceof on);const n=o.get(Vs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(St),r=DN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!B.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 O1(s,n,B.lift(i),fi.None);if(a)return a.provider.getLegend()});pn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;$i(t instanceof on),$i(B.isIRange(i));const n=o.get(Vs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(St),r=await O1(s,n,B.lift(i),fi.None);if(!(!r||!r.tokens))return xN({id:0,type:"full",data:r.tokens.data})});const F1="editor.semanticHighlighting";function g_(o,e,t){var n;const i=(n=t.getValue(F1,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var EN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Il;let yx=class extends ze{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new Sx(g,e,i,s,r)},c=(g,f)=>{f.dispose(),delete this._watchers[g.uri.toString()]},h=()=>{for(const g of t.getModels()){const f=this._watchers[g.uri.toString()];g_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{g_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{g_(g,i,n)&&a(g)})),this._register(t.onModelRemoved(g=>{const f=this._watchers[g.uri.toString()];f&&c(g,f)})),this._register(n.onDidChangeConfiguration(g=>{g.affectsConfiguration(F1)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};yx=EN([da(0,F0),da(1,Vs),da(2,mr),da(3,Cn),da(4,Vo),da(5,St)],yx);var cc;let Sx=(cc=class extends ze{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:Il.REQUEST_MIN_DELAY,max:Il.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new as(()=>this._fetchDocumentSemanticTokensNow(),Il.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=()=>{As(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),As(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!kN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new ps,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=IN(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 ho(!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:h,tokens:g}=c,f=this._semanticTokensStylingService.getStyling(h);this._setDocumentSemanticTokens(h,g||null,f,s)}},c=>{c&&(wc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||dn(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(LN(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,h=new Uint32Array(c.length+a);let g=c.length,f=h.length;for(let p=t.edits.length-1;p>=0;p--){const v=t.edits[p];if(v.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,v.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const _=g-(v.start+v.deleteCount);_>0&&(Il._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Il._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Il._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(xw(t)){this._currentDocumentResponse=new Y5(e,t.resultId,t.data);const a=sP(t,i,this._model.getLanguageId());if(n.length>0)for(const c of n)for(const h of a)for(const g of c.changes)h.applyEdit(g.range,g.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},Il=cc,cc.REQUEST_MIN_DELAY=300,cc.REQUEST_MAX_DELAY=2e3,cc);Sx=Il=EN([da(1,F0),da(2,mr),da(3,Vo),da(4,St)],Sx);class Y5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}wg(yx);var J5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$g=function(o,e){return function(t,i){e(t,i,o)}},Fu;let kv=(Fu=class extends ze{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 as(()=>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(F1)&&(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(!g_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!X5(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=fs(r=>Promise.resolve(O1(this._provider,e,t,r))),s=new ho(!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,h=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,sP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Fu.ID="editor.contrib.viewportSemanticTokens",Fu);kv=J5([$g(1,F0),$g(2,mr),$g(3,Cn),$g(4,Vo),$g(5,St)],kv);_i(kv.ID,kv,1);class Q5{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,h=a,g=0;for(;c>=0;c--){const f=s.charCodeAt(c);if(c!==a&&(f===95||f===45))break;if(QL(f)&&ek(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(ek(f)&&QL(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new B(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new B(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 B(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var e6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},t6=function(o,e){return function(t,i){e(t,i,o)}},Cx;class H1{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 H1(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var zd;let hp=(zd=class{static get(e){return e.getContribution(Cx.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 TN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),fi.None).then(s=>{var r;if(!(!So(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ca(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 H1(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=>zt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Cx=zd,zd.ID="editor.contrib.smartSelectController",zd);hp=Cx=e6([t6(1,St)],hp);class PN extends we{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=hp.get(t);i&&await i.run(this._forward)}}class i6 extends PN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:w("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}pn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class n6 extends PN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:w("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}_i(hp.ID,hp,4);ie(i6);ie(n6);async function TN(o,e,t,i,n){const s=o.all(e).concat(new Q5(i.selectSubwords));s.length===1&&s.unshift(new dv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(So(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])B.isIRange(f.range)&&B.containsPosition(f.range,t[g])&&a[g].push(B.lift(f.range))}},Yn));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>yt.isBefore(p.getStartPosition(),v.getStartPosition())?1:yt.isBefore(v.getStartPosition(),p.getStartPosition())||yt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:yt.isBefore(v.getEndPosition(),p.getEndPosition())?1:0);const h=[];let g;for(const p of c)(!g||B.containsRange(p,g)&&!B.equalsRange(p,g))&&(h.push(p),g=p);if(!i.selectLeadingAndTrailingWhitespace)return h;const f=[h[0]];for(let p=1;p<h.length;p++){const v=h[p-1],_=h[p];if(_.startLineNumber!==v.startLineNumber||_.endLineNumber!==v.endLineNumber){const y=new B(v.startLineNumber,e.getLineFirstNonWhitespaceColumn(v.startLineNumber),v.endLineNumber,e.getLineLastNonWhitespaceColumn(v.endLineNumber));y.containsRange(v)&&!y.equalsRange(v)&&_.containsRange(y)&&!_.equalsRange(y)&&f.push(y);const S=new B(v.startLineNumber,1,v.endLineNumber,e.getLineMaxColumn(v.endLineNumber));S.containsRange(v)&&!S.equalsRange(y)&&_.containsRange(S)&&!_.equalsRange(S)&&f.push(S)}f.push(_)}return f})}pn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;$i(on.isUri(t));const n=o.get(St).selectionRangeProvider,s=await o.get(Ur).createModelReference(t);try{return TN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},fi.None)}finally{s.dispose()}});const s6=Object.freeze({View:vt("view","View"),Help:vt("help","Help"),Test:vt("test","Test"),File:vt("file","File"),Preferences:vt("preferences","Preferences"),Developer:vt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class xf{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&&Ca(this.startLineNumbers,e.startLineNumbers)&&Ca(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new xf([],[],0)}}const VI=kE("stickyScrollViewLayer",{createHTML:o=>o}),Iy="data-sticky-line-index",jI="data-sticky-is-line",o6="data-sticky-is-line-number",UI="data-sticky-is-folding-icon";class r6 extends ze{constructor(e){super(),this._editor=e,this._foldingIconStore=new He,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 h=this._renderChildNode(a+i,c,t,n);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._renderedStickyLines.push(h))}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(Hi(this._lineNumbersDomNode,Fn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Hi(this._lineNumbersDomNode,Fn.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 h;try{h=Vf.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new EE(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,h,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),f=new IE(2e3),p=DE(g,f);let v;VI?v=VI.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Iy,String(e)),_.setAttribute(jI,""),_.setAttribute("role","listitem"),_.tabIndex=0,_.className="sticky-line-content",_.classList.add(`stickyLine${t}`),_.style.lineHeight=`${this._lineHeight}px`,_.innerHTML=v;const y=document.createElement("span");y.setAttribute(Iy,String(e)),y.setAttribute(o6,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const S=n.contentLeft;y.style.width=`${S}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`,y.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&y.appendChild(P.domNode),this._editor.applyFontInfo(_),this._editor.applyFontInfo(D),y.style.lineHeight=`${this._lineHeight}px`,_.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,_.style.height=`${this._lineHeight}px`;const N=new a6(e,t,_,y,P,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(N)}_updateTopAndZIndexOfStickyLine(e){var g;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+((g=e.foldingIcon)!=null&&g.isCollapsed?1:0)}px`,h=`${t*this._lineHeight}px`;return i.style.top=s?c:h,n.style.top=s?c:h,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),h=new l6(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(UI,""),h}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=tF(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,Iy);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,jI)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,UI)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class a6{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 l6{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=Ki.asClassName(e?Q_:J_)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Lf{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Iv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class MN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Lw=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},up=function(o,e){return function(t,i){e(t,i,o)}},kf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(kf||(kf={}));var Vl;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(Vl||(Vl={}));let xx=class extends ze{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new uc(300)),this._updateOperation=this._register(new He),this._editor.getOption(116).defaultModel){case kf.OUTLINE_MODEL:this._modelProviders.push(new Lx(this._editor,n));case kf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Ix(this._editor,t,n));case kf.INDENTATION_MODEL:this._modelProviders.push(new kx(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 Vl.CANCELED:return this._updateOperation.clear(),null;case Vl.VALID:return t.stickyModel}}return null}).catch(t=>(dn(t),null))}};xx=Lw([up(2,ri),up(3,St)],xx);class NN extends ze{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Vl.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=fs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Vl.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Vl.VALID):this._invalid()).then(void 0,i=>(dn(i),Vl.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Lx=class extends NN{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return za.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 MN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Ya.first(e.children.values())instanceof eN){const a=Ya.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",h=-1,g;for(const[f,p]of e.children.entries()){const v=this._findSumOfRangesOfGroup(p);v>h&&(g=p,h=v,c=p.id)}t=c,i=g.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const h=new Lf(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Lf(c.symbol.range.startLineNumber,c.symbol.range.endLineNumber);return this._comparator(h,g)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Iv(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 Lf(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Iv(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 fC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Lx=Lw([up(1,St)],Lx);class RN extends NN{constructor(e){super(e),this._foldingLimitReporter=new YM(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new MN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Iv(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 Iv(new Lf(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let kx=class extends RN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new C1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};kx=Lw([up(1,gs)],kx);let Ix=class extends RN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=_c.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new x1(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}};Ix=Lw([up(2,St)],Ix);var c6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$I=function(o,e){return function(t,i){e(t,i,o)}};class d6{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Dx=class extends ze{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new gi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new He),this._updateSoon=this._register(new as(()=>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(yn(()=>{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 xx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new ps,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 g=0;g<t.children.length;g++){const f=t.children[g];f.range&&a.push(f.range.startLineNumber)}const c=this.updateIndex(k_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(k_(a,e.startLineNumber+n,(g,f)=>g-f));for(let g=c;g<=h;g++){const f=t.children[g];if(!f)return;if(f.range){const p=f.range.startLineNumber,v=f.range.endLineNumber;e.startLineNumber<=v+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new d6(p,v-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,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}};Dx=c6([$I(1,St),$I(2,gs)],Dx);var h6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Ex,Vd;let ul=(Vd=class extends ze{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 He,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 r6(this._editor),this._stickyLineCandidateProvider=new Dx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=xf.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(Hi(c,Fn.CONTEXT_MENU,async g=>{this._onContextMenu(Xc(c),g)})),this._stickyScrollFocusedContextKey=M.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=M.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(Vu(c));this._register(h.onDidBlur(g=>{this._positionRevealed===!1&&c.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(h.onDidFocus(g=>{this.focus()})),this._registerMouseListeners(),this._register(Hi(c,Fn.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Ex.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 He,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(B.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new He),t=this._register(new fw(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 B(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(ol(n,Fn.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const h=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(h===null)return;const g=new yt(this._endLineNumbers[h],1);this._revealLineInCenterIfOutsideViewport(g);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(h);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let c=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!c){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(h===null)return;c=new yt(h,1)}this._revealPosition(c)})),this._register(ol(n,Fn.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(Hi(n,Fn.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:h}=a;if(!c.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=c,e.clear();else if(h.style.textDecoration==="underline")return;const g=new ps;e.add(yn(()=>g.dispose(!0)));let f;Yp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new yt(c.startLineNumber,c.startColumn+1),!1,g.token).then((p=>{if(!g.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const v=h;f!==v?(e.clear(),f=v,f.style.textDecoration="underline",e.add(yn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(yn(()=>{f.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(RM,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new iF(e,t);this._contextMenuService.showContextMenu({menuId:et.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;w1(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=_c.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=xf.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 Lf(a[0].startLineNumber,a[a.length-1].endLineNumber),h=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const g of h){const f=g.startLineNumber,p=g.endLineNumber,v=g.nestingDepth;if(p-f>0){const _=(v-1)*e,y=v*e,S=this._editor.getBottomForLineNumber(f)-i,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=P){s.push(f),r.push(p+1),n=P-y;break}else y>S&&y<=P&&(s.push(f),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new xf(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Ex=Vd,Vd.ID="store.contrib.stickyScrollController",Vd);ul=Ex=h6([Vh(1,_g),Vh(2,St),Vh(3,ri),Vh(4,gs),Vh(5,Vo),Vh(6,Wi)],ul);class u6 extends Ys{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...vt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:w({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:vt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:s6.View,toggled:{condition:oe.equals("config.editor.stickyScroll.enabled",!0),title:w("stickyScroll","Sticky Scroll"),mnemonicTitle:w({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:et.CommandPalette},{id:et.MenubarAppearanceMenu,group:"4_editor",order:3},{id:et.StickyScrollContext}]})}async run(e){const t=e.get(Cn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const kw=100;class g6 extends Wr{constructor(){super({id:"editor.action.focusStickyScroll",title:{...vt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:w({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:oe.and(oe.has("config.editor.stickyScroll.enabled"),M.stickyScrollVisible),menu:[{id:et.CommandPalette}]})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focus()}}class f6 extends Wr{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:vt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kw,primary:18}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focusNext()}}class p6 extends Wr{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:vt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kw,primary:16}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focusPrevious()}}class m6 extends Wr{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:vt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kw,primary:3}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.goToFocused()}}class _6 extends Wr{constructor(){super({id:"editor.action.selectEditor",title:vt("selectEditor.title","Select Editor"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kw,primary:9}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.selectEditor()}}_i(ul.ID,ul,1);Qi(u6);Qi(g6);Qi(p6);Qi(f6);Qi(m6);Qi(_6);var AN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lf=function(o,e){return function(t,i){e(t,i,o)}};class v6{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 Px=class extends nF{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=Ya.slice(t,i),s=Ya.slice(t,0,i);let r=5;for(const a of Ya.concat(n,s)){if(a.score===Wf.Default)continue;const c=new B(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),h=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new v6(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(fi.None)}return e}};Px=AN([lf(5,yw)],Px);let Tx=class extends ze{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 v;if(i.selectedSuggestionInfo)return;let s;for(const _ of this._editorService.listCodeEditors())if(_.getModel()===e){s=_;break}if(!s)return;const r=s.getOption(90);if(lu.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(lu.valueFor(r,c)!=="inline")return;let h=e.getWordAtPosition(t),g;if(h!=null&&h.word||(g=this._getTriggerCharacterInfo(e,t)),!(h!=null&&h.word)&&!g||(h||(h=e.getWordUntilPosition(t)),h.endColumn!==t.column))return;let f;const p=e.getValueInRange(new B(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new PI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await L1(this._languageFeatureService.completionProvider,e,t,new np(void 0,uv.createSuggestFilter(s).itemKind,g==null?void 0:g.providers),g&&{triggerKind:1,triggerCharacter:g.ch},n);let y;_.needsClipboard&&(y=await this._clipboardService.readText());const S=new Ml(_.items,t.column,new PI(p,0),hv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);f=new Px(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(fi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(B.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}}};Tx=AN([lf(0,St),lf(1,vg),lf(2,yw),lf(3,Jn)],Tx);wg(Tx);class b6 extends we{constructor(){super({id:"editor.action.forceRetokenize",label:w("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 ho;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ie(b6);const Cb=class Cb extends Ys{constructor(){super({id:Cb.ID,title:vt({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:vt("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=!tk.getTabFocusMode();tk.setTabFocusMode(t),t?gr(w("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):gr(w("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Cb.ID="editor.action.toggleTabFocusMode";let Mx=Cb;Qi(Mx);var w6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qI=function(o,e){return function(t,i){e(t,i,o)}};let Nx=class extends ze{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=st(e,ht("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??qb("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new $w(this.el,"click")),a=this._register(new $w(this.el,"keypress")),c=rs.chain(a.event,f=>f.map(p=>new O0(p)).filter(p=>p.keyCode===3)),h=this._register(new $w(this.el,sF.Tap)).event;this._register(KD.addTarget(this.el));const g=rs.any(r.event,c,h);this._register(g(f=>{this.enabled&&(S_.stop(f,!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)}};Nx=w6([qI(3,Op),qI(4,zr)],Nx);var ON=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FN=function(o,e){return function(t,i){e(t,i,o)}};const y6=26;let Rx=class extends ze{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Ax))}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,y6)}};Rx=ON([FN(1,ri)],Rx);let Ax=class extends ze{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(yg,{}),this.element=ht("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=ht("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){wa(this.element)}show(e){wa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=st(this.element,ht("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ht(`div${Ki.asCSSSelector(e.icon)}`));const n=st(this.element,ht("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=st(this.element,ht("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Nx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=st(this.element,ht("div.action-container"));this.actionBar=this._register(new Nf(s)),this.actionBar.push(this._register(new qu("banner.close","Close Banner",Ki.asClassName(pE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Ax=ON([FN(0,ri)],Ax);var W1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yu=function(o,e){return function(t,i){e(t,i,o)}};const S6=Gn("extensions-warning-message",Xt.warning,w("warningIcon","Icon shown with a warning message in the extensions editor."));var Hu;let gp=(Hu=class extends ze{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:w("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new pp};else if(s.ambiguousCharacterCount>=r)a={message:w("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new ch};else if(s.invisibleCharacterCount>=r)a={message:w("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new fp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:S6,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Rx,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=C6(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"?oF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Ox(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new x6(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Hu.ID="editor.contrib.unicodeHighlighter",Hu);gp=W1([yu(1,ml),yu(2,rF),yu(3,ri)],gp);function C6(o,e){return{nonBasicASCII:e.nonBasicASCII===qw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===qw?!o:e.includeComments,includeStrings:e.includeStrings===qw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Ox=class extends ze{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 as(()=>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:Dv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!oP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:WN(i,this._options),inComment:aP(t,e),inString:rP(t,e)}}};Ox=W1([yu(3,ml)],Ox);class x6 extends ze{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 as(()=>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=lP.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:Dv.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 oP(t,e)?{reason:WN(i,this._options),inComment:aP(t,e),inString:rP(t,e)}:null}}const HN=w("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Fx=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(gp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const c of t){const h=n.getDecorationInfo(c);if(!h)continue;const f=i.getValueInRange(c.range).codePointAt(0),p=Dy(f);let v;switch(h.reason.kind){case 0:{TE(h.reason.confusableWith)?v=w("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,Dy(h.reason.confusableWith.codePointAt(0))):v=w("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,Dy(h.reason.confusableWith.codePointAt(0)));break}case 1:v=w("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:v=w("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(v))continue;r.add(v);const _={codePoint:f,reason:h.reason,inComment:h.inComment,inString:h.inString},y=w("unicodeHighlight.adjustSettings","Adjust settings"),S=`command:${Ev.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Ns("",!0).appendMarkdown(v).appendText(" ").appendLink(S,y,HN);s.push(new lr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return QB(e,t,this._editor,this._languageService,this._openerService)}};Fx=W1([yu(1,jr),yu(2,zr)],Fx);function Hx(o){return`U+${o.toString(16).padStart(4,"0")}`}function Dy(o){let e=`\`${Hx(o)}\``;return cP.isInvisibleCharacter(o)||(e+=` "${`${L6(o)}`}"`),e}function L6(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function WN(o,e){return lP.computeUnicodeHighlightReason(o,e)}const xb=class xb{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=xi.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}};xb.instance=new xb;let Dv=xb;class k6 extends we{constructor(){super({id:ch.ID,label:w("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.includeComments,!1,2)}}class I6 extends we{constructor(){super({id:ch.ID,label:w("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.includeStrings,!1,2)}}const Lb=class Lb extends we{constructor(){super({id:Lb.ID,label:w("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.ambiguousCharacters,!1,2)}};Lb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let ch=Lb;const kb=class kb extends we{constructor(){super({id:kb.ID,label:w("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.invisibleCharacters,!1,2)}};kb.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let fp=kb;const Ib=class Ib extends we{constructor(){super({id:Ib.ID,label:w("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.nonBasicASCII,!1,2)}};Ib.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let pp=Ib;const Db=class Db extends we{constructor(){super({id:Db.ID,label:w("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),h=e.get(gl),g=e.get(Cn);function f(_){return cP.isInvisibleCharacter(_)?w("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Hx(_)):w("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Hx(_)} "${c}"`)}const p=[];if(s.kind===0)for(const _ of s.notAmbiguousInLocales)p.push({label:w("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',_),run:async()=>{E6(g,[_])}});if(p.push({label:f(n),run:()=>D6(g,[n])}),a){const _=new k6;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new I6;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new ch;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new fp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new pp;p.push({label:_.label,run:async()=>_.runAction(g)})}else P6(s);const v=await h.pick(p,{title:HN});v&&await v.run()}};Db.ID="editor.action.unicodeHighlight.showExcludeOptions";let Ev=Db;async function D6(o,e){const t=o.getValue(al.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(al.allowedCharacters,i,2)}async function E6(o,e){var n;const t=(n=o.inspect(al.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(al.allowedLocales,i,2)}function P6(o){throw new Error(`Unexpected value: ${o}`)}ie(ch);ie(fp);ie(pp);ie(Ev);_i(gp.ID,gp,1);vh.register(Fx);var T6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},KI=function(o,e){return function(t,i){e(t,i,o)}};const BN="ignoreUnusualLineTerminators";function M6(o,e,t){o.setModelProperty(e.uri,BN,t)}function N6(o,e){return o.getModelProperty(e.uri,BN)}var Wu;let Pv=(Wu=class extends ze{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()||N6(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:w("unusualLineTerminators.title","Unusual Line Terminators"),message:w("unusualLineTerminators.message","Detected unusual line terminators"),detail:w("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`.",La(e.uri)),primaryButton:w({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:w("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){M6(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Wu.ID="editor.contrib.unusualLineTerminatorsDetector",Wu);Pv=T6([KI(1,H0),KI(2,Jn)],Pv);_i(Pv.ID,Pv,1);var R6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},A6=function(o,e){return function(t,i){e(t,i,o)}};class GI{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,ik,!1).map(a=>({range:a.range,kind:D_.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new hc,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 h=a.findMatches(r.word,!0,!1,!0,ik,!1).map(g=>({range:g.range,kind:D_.Text}));h&&s.set(a.uri,h)}return s}}let Wx=class extends ze{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new GI)),this._register(e.multiDocumentHighlightProvider.register("*",new GI))}};Wx=R6([A6(0,St)],Wx);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},f_=function(o,e){return function(t,i){e(t,i,o)}},$n,Bx;const B1=new Pi("hasWordHighlights",!1);function VN(o,e,t,i){const n=o.ordered(e);return M0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,Yn)),s=>s!=null).then(s=>{if(s){const r=new hc;return r.set(e.uri,s),r}return new hc})}function O6(o,e,t,i,n,s){const r=o.ordered(e);return M0(r.map(a=>()=>{const c=s.filter(h=>lF(h)).filter(h=>cF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,Yn)}),a=>a!=null)}class jN{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=fs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new B(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 h=0,g=i.length;!c&&h<g;h++){const f=i.getRange(h);f&&f.startLineNumber===n&&f.startColumn<=s&&f.endColumn>=r&&(c=!0)}return c}cancel(){this.result.cancel()}}class F6 extends jN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return VN(this._providers,e,t.getPosition(),n).then(s=>s||new hc)}}class H6 extends jN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return O6(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new hc)}}function W6(o,e,t,i,n){return new F6(e,t,n,o)}function B6(o,e,t,i,n,s){return new H6(e,t,n,o,s)}Qs("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(St),n=await VN(i.documentHighlightProvider,e,t,fi.None);return n==null?void 0:n.get(e.uri)});var dc;let zx=(dc=class{constructor(e,t,i,n,s){this.toUnhook=new He,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new hc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new uc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=B1.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=>{aF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():$n.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var c,h;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((h=(c=$n.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":$n.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,$n.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(B.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);gr(`${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);gr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=$n.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),$n.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()||w_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=$n.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=bc.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)$n.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==$s.vscodeNotebookCell&&((i=(t=$n.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==$s.vscodeNotebookCell?($n.query=null,this._run()):(n=$n.query)!=null&&n.modelInfo&&($n.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)!==$s.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===$s.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===$s.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!dP(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){$n.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){$n.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),$n.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!$n.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(w_(this.editor.getModel().uri,(n=$n.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const c=this.decorations.getRanges();for(const h of c)if(h.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(!$n.query||!$n.query.modelInfo||$n.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel($n.query.modelInfo.model,$n.query.modelInfo.selection,$n.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},dn)}}computeWithModel(e,t,i,n){return n.length?B6(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):W6(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=bc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=$n.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:D$(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),$n.storedDecorationIDs=$n.storedDecorationIDs.set(c,f),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()}},$n=dc,dc.storedDecorationIDs=new hc,dc.query=null,dc);zx=$n=zN([f_(4,Jn)],zx);var jd;let bc=(jd=class extends ze{static get(e){return e.getContribution(Bx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new zx(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},Bx=jd,jd.ID="editor.contrib.wordHighlighter",jd);bc=Bx=zN([f_(1,Wi),f_(2,St),f_(3,Jn)],bc);class UN extends we{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=bc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class z6 extends UN{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:w("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:B1,kbOpts:{kbExpr:M.editorTextFocus,primary:65,weight:100}})}}class V6 extends UN{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:w("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:B1,kbOpts:{kbExpr:M.editorTextFocus,primary:1089,weight:100}})}}class j6 extends we{constructor(){super({id:"editor.action.wordHighlight.trigger",label:w("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=bc.get(t);n&&n.restoreViewState(!0)}}_i(bc.ID,bc,0);ie(z6);ie(V6);ie(j6);wg(Wx);class Iw extends Js{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=ph(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new yt(h.positionLineNumber,h.positionColumn),f=this._move(n,s,g,this._wordNavigationType,a);return this._moveTo(h,f,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,c.map(h=>dF.fromModelSelection(h))),c.length===1){const h=new yt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new zt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new zt(t.lineNumber,t.column,t.lineNumber,t.column)}}class Cc extends Iw{_move(e,t,i,n,s){return zp.moveWordLeft(e,t,i,n,s)}}class xc extends Iw{_move(e,t,i,n,s){return zp.moveWordRight(e,t,i,n)}}class U6 extends Cc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class $6 extends Cc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class q6 extends Cc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Xb,Yb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class K6 extends Cc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class G6 extends Cc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Z6 extends Cc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Xb,Yb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class X6 extends Cc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(ph(Jb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Y6 extends Cc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(ph(Jb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class J6 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class Q6 extends xc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Xb,Yb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class e7 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class t7 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class i7 extends xc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Xb,Yb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class n7 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class s7 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(ph(Jb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class o7 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(ph(Jb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Dw extends Js{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(gs);if(!t.hasModel())return;const s=ph(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),c=t.getOption(6),h=t.getOption(11),g=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),f=t._getViewModel(),p=a.map(v=>{const _=this._delete({wordSeparators:s,model:r,selection:v,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:c,autoClosingQuotes:h,autoClosingPairs:g,autoClosedCharacters:f.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Ip(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class z1 extends Dw{_delete(e,t){const i=zp.deleteWordLeft(e,t);return i||new B(1,1,1,1)}}class V1 extends Dw{_delete(e,t){const i=zp.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class r7 extends z1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class a7 extends z1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class l7 extends z1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class c7 extends V1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class d7 extends V1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class h7 extends V1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class u7 extends we{constructor(){super({id:"deleteInsideWord",precondition:M.writable,label:w("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=ph(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=zp.deleteInsideWord(n,s,c);return new Ip(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Lt(new U6);Lt(new $6);Lt(new q6);Lt(new K6);Lt(new G6);Lt(new Z6);Lt(new J6);Lt(new Q6);Lt(new e7);Lt(new t7);Lt(new i7);Lt(new n7);Lt(new X6);Lt(new Y6);Lt(new s7);Lt(new o7);Lt(new r7);Lt(new a7);Lt(new l7);Lt(new c7);Lt(new d7);Lt(new h7);ie(u7);class g7 extends Dw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=Qb.deleteWordPartLeft(e);return i||new B(1,1,1,1)}}class f7 extends Dw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=Qb.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class $N extends Iw{_move(e,t,i,n,s){return Qb.moveWordPartLeft(e,t,i,s)}}class p7 extends $N{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}pn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class m7 extends $N{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}pn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class qN extends Iw{_move(e,t,i,n,s){return Qb.moveWordPartRight(e,t,i)}}class _7 extends qN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class v7 extends qN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Lt(new g7);Lt(new f7);Lt(new p7);Lt(new m7);Lt(new _7);Lt(new v7);const iL=class iL extends ze{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ao.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ns(w("editor.simple.readonly","Cannot edit in read-only input")):t=new Ns(w("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};iL.ID="editor.contrib.readOnlyMessageController";let Tv=iL;_i(Tv.ID,Tv,2);var b7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZI=function(o,e){return function(t,i){e(t,i,o)}};let Vx=class extends ze{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Co(this,void 0);const n=Yc("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Yc("_textModel.onDidChangeContent",rs.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Rp(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new gF),h=await this._outlineModelService.getOrCreate(this._textModel,c.token);a.isDisposed||this._currentModel.set(h,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(uF(Fp(s=>s.range.endLineNumber-s.range.startLineNumber,jb))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};Vx=b7([ZI(1,St),ZI(2,em)],Vx);hF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(Vx,o));const nL=class nL extends ze{constructor(e){super(),this.editor=e,this.widget=null,jy&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new jx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};nL.ID="editor.contrib.iPadShowKeyboard";let Mv=nL;const Eb=class Eb extends ze{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Hi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Hi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return Eb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};Eb.ID="editor.contrib.ShowKeyboardWidget";let jx=Eb;_i(Mv.ID,Mv,3);var w7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},XI=function(o,e){return function(t,i){e(t,i,o)}},Ux,Ud;let mp=(Ud=class extends ze{static get(e){return e.getContribution(Ux.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($b.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 $x(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},Ux=Ud,Ud.ID="editor.contrib.inspectTokens",Ud);mp=Ux=w7([XI(1,hP),XI(2,jr)],mp);class y7 extends we{constructor(){super({id:"editor.action.inspectTokens",label:_F.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=mp.get(t);i==null||i.launch()}}function S7(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 C7(o,e){const t=$b.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>fF,tokenize:(n,s,r)=>mF(e,r),tokenizeEncoded:(n,s,r)=>pF(i,r)}}const Pb=class Pb extends ze{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=C7(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 Pb._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let c=t.tokens1.length-1;c>=0;c--){const h=t.tokens1[c];if(e.column-1>=h.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,h=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(c,h)}y_(this._domNode,ht("h2.tm-token",void 0,S7(r),ht("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),st(this._domNode,ht("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;st(this._domNode,ht("table.tm-metadata-table",void 0,ht("tbody",void 0,ht("tr",void 0,ht("td.tm-metadata-key",void 0,"language"),ht("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"token type"),ht("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"font style"),ht("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"foreground"),ht("td.tm-metadata-value",void 0,`${a?wi.Format.CSS.formatHex(a.foreground):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"background"),ht("td.tm-metadata-value",void 0,`${a?wi.Format.CSS.formatHex(a.background):"-?-"}`))))),st(this._domNode,ht("hr.tokens-inspect-separator")),i<t.tokens1.length&&st(this._domNode,ht("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=$b.getColorMap(),i=Hg.getLanguageId(e),n=Hg.getTokenType(e),s=Hg.getFontStyle(e),r=Hg.getForeground(e),a=Hg.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]}}};Pb._ID="editor.contrib.inspectTokensWidget";let $x=Pb;_i(mp.ID,mp,4);ie(y7);var x7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YI=function(o,e){return function(t,i){e(t,i,o)}},cf,$d;let qx=($d=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Br.as(Vp.Quickaccess)}provide(e){const t=new He;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(cf.PREFIX.length));n&&n.prefix&&n.prefix!==cf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==cf.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:w("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},cf=$d,$d.PREFIX="?",$d);qx=cf=x7([YI(0,gl),YI(1,is)],qx);Br.as(Vp.Quickaccess).registerQuickAccessProvider({ctor:qx,prefix:"",helpEntries:[{description:vF.helpQuickAccessActionLabel}]});class KN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new He;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Lo);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 He,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=uP(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(gP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(yn(()=>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&&ju(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return dP(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:ss(vE),position:ba.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 Tb=class Tb extends KN{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=w("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,ze.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new He;s.add(t.onDidAccept(c=>{const[h]=t.selectedItems;if(h){if(!this.isValidLineNumber(n,h.lineNumber))return;this.gotoLocation(e,{range:this.toRange(h.lineNumber,h.column),keyMods:t.keyMods,preserveFocus:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr(Tb.PREFIX.length)),h=this.getPickLabel(n,c.lineNumber,c.column);if(t.items=[{lineNumber:c.lineNumber,column:c.column,label:h}],t.ariaLabel=h,!this.isValidLineNumber(n,c.lineNumber)){this.clearDecorations(n);return}const g=this.toRange(c.lineNumber,c.column);n.revealRangeInCenter(g,0),this.addDecorations(n,g)};r(),s.add(t.onDidChangeValue(()=>r()));const a=uP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(yn(()=>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)?w("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):w("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?w("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):w("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}};Tb.PREFIX=":";let Kx=Tb;var L7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},k7=function(o,e){return function(t,i){e(t,i,o)}};let _p=class extends Kx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=rs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};_p=L7([k7(0,Jn)],_p);var qd;let GN=(qd=class extends we{constructor(){super({id:qd.ID,label:fP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(gl).quickAccess.show(_p.PREFIX)}},qd.ID="editor.action.gotoLine",qd);ie(GN);Br.as(Vp.Quickaccess).registerQuickAccessProvider({ctor:_p,prefix:_p.PREFIX,helpEntries:[{description:fP.gotoLineActionLabel,commandId:GN.ID}]});const ZN=[void 0,[]];function Ey(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?I7(o,n.values,t,i):XN(o,e,t,i)}function I7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=XN(o,r,t,i);if(typeof a!="number")return ZN;n+=a,s.push(...c)}return[n,D7(s)]}function XN(o,e,t,i){const n=FE(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Ub(n)]:ZN}function D7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!E7(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 E7(o,e){return!(o.end<e.start||e.end<o.start)}function JI(o){return o.startsWith('"')&&o.endsWith('"')}const YN=" ";function Gx(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=QI(o),s=t.indexOf(Yy)>=0,r=JI(o);let a;const c=o.split(YN);if(c.length>1)for(const h of c){const g=JI(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=QI(h);p&&(a||(a=[]),a.push({original:h,originalLowercase:h.toLowerCase(),pathNormalized:f,normalized:p,normalizedLowercase:v,expectContiguousMatch:g}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function QI(o){let e;Ab?e=o.replace(/\//g,Yy):e=o.replace(/\\/g,Yy);const t=bF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function eD(o){return Array.isArray(o)?Gx(o.map(e=>e.original).join(YN)):Gx(o.original)}var P7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},p_,Mr;let od=(Mr=class extends KN{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,w("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),ze.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):ze.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new He;return this.provideLabelPick(i,w("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 Ob,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(yn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new He;a.add(i.onDidAccept(p=>{var _;const[v]=i.selectedItems;v&&v.range&&(this.gotoLocation(e,{range:v.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(_=s==null?void 0:s.handleAccept)==null||_.call(s,v),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 h;const g=async p=>{h==null||h.dispose(!0),i.busy=!1,h=new ps(n),i.busy=!0;try{const v=Gx(i.value.substr(p_.PREFIX.length).trim()),_=await this.doGetSymbolPicks(c,v,void 0,h.token,t);if(n.isCancellationRequested)return;if(_.length>0){if(i.items=_,p&&v.original.length===0){const y=CF(_,S=>!!(S.type!=="separator"&&S.range&&B.containsPosition(S.range.decoration,p)));y&&(i.activeItems=[y])}}else v.original.length>0?this.provideLabelPick(i,w("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,w("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>g(void 0))),g((f=r.getSelection())==null?void 0:f.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 S,D;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(p_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=eD(t.values[0]),g=eD(t.values.slice(1))):h=t;let f;const p=(D=(S=this.options)==null?void 0:S.openSideBySideDirection)==null?void 0:D.call(S);p&&(f=[{iconClass:p==="right"?Ki.asClassName(Xt.splitHorizontal):Ki.asClassName(Xt.splitVertical),tooltip:p==="right"?w("openToSide","Open to the Side"):w("openToBottom","Open to the Bottom")}]);const v=[];for(let P=0;P<r.length;P++){const N=r[P],j=wF(N.name),H=`$(${yF.toIcon(N.kind).id}) ${j}`,ee=H.length-j.length;let X=N.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let fe,be,Te,xe;if(t.original.length>c){let Pt=!1;if(h!==t&&([fe,be]=Ey(H,{...t,values:void 0},c,ee),typeof fe=="number"&&(Pt=!0)),typeof fe!="number"&&([fe,be]=Ey(H,h,c,ee),typeof fe!="number"))continue;if(!Pt&&g){if(X&&g.original.length>0&&([Te,xe]=Ey(X,g)),typeof Te!="number")continue;typeof fe=="number"&&(fe+=Te)}}const ct=N.tags&&N.tags.indexOf(1)>=0;v.push({index:P,kind:N.kind,score:fe,label:H,ariaLabel:SF(N.name,N.kind),description:X,highlights:ct?void 0:{label:be,description:xe},range:{selection:B.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:j,strikethrough:ct,buttons:f})}const _=v.sort((P,N)=>a?this.compareByKindAndScore(P,N):this.compareByScore(P,N));let y=[];if(a){let H=function(){N&&typeof P=="number"&&j>0&&(N.label=I0(Ty[P]||Py,j))},P,N,j=0;for(const ee of _)P!==ee.kind?(H(),P=ee.kind,j=1,N={type:"separator"},y.push(N)):j++,y.push(ee);H()}else _.length>0&&(y=[{label:w("symbols","symbols ({0})",v.length),type:"separator"},..._]);return y}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=Ty[e.kind]||Py,n=Ty[t.kind]||Py,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()}},p_=Mr,Mr.PREFIX="@",Mr.SCOPE_PREFIX=":",Mr.PREFIX_BY_CATEGORY=`${Mr.PREFIX}${Mr.SCOPE_PREFIX}`,Mr);od=p_=P7([tD(0,St),tD(1,em)],od);const Py=w("property","properties ({0})"),Ty={5:w("method","methods ({0})"),11:w("function","functions ({0})"),8:w("_constructor","constructors ({0})"),12:w("variable","variables ({0})"),4:w("class","classes ({0})"),22:w("struct","structs ({0})"),23:w("event","events ({0})"),24:w("operator","operators ({0})"),10:w("interface","interfaces ({0})"),2:w("namespace","namespaces ({0})"),3:w("package","packages ({0})"),25:w("typeParameter","type parameters ({0})"),1:w("modules","modules ({0})"),6:w("property","properties ({0})"),9:w("enum","enumerations ({0})"),21:w("enumMember","enumeration members ({0})"),14:w("string","strings ({0})"),0:w("file","files ({0})"),17:w("array","arrays ({0})"),15:w("number","numbers ({0})"),16:w("boolean","booleans ({0})"),18:w("object","objects ({0})"),19:w("key","keys ({0})"),7:w("field","fields ({0})"),13:w("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},My=function(o,e){return function(t,i){e(t,i,o)}};let Zx=class extends od{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=rs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Zx=T7([My(0,Jn),My(1,St),My(2,em)],Zx);const Mb=class Mb extends we{constructor(){super({id:Mb.ID,label:Jy.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:M.hasDocumentSymbolProvider,kbOpts:{kbExpr:M.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(gl).quickAccess.show(od.PREFIX,{itemActivation:xF.NONE})}};Mb.ID="editor.action.quickOutline";let Nv=Mb;ie(Nv);Br.as(Vp.Quickaccess).registerQuickAccessProvider({ctor:Zx,prefix:od.PREFIX,helpEntries:[{description:Jy.quickOutlineActionLabel,prefix:od.PREFIX,commandId:Nv.ID},{description:Jy.quickOutlineByCategoryActionLabel,prefix:od.PREFIX_BY_CATEGORY}]});function M7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class If{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 h=this.computeSimilarityScore(c,i,n);h>0&&s.push({key:r,score:h})}}return s}static termFrequencies(e){return M7(If.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=If.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 h=a*c;n+=h*r}return n}computeEmbedding(e){const t=If.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 du;(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"})(du||(du={}));function Ny(o){return Array.isArray(o.items)}function iD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class R7 extends ze{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new He;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Lo),a=async()=>{var S;const g=r.value=new He;s==null||s.dispose(!0),e.busy=!1,s=new ps(t);const f=s.token;let p=e.value.substring(this.prefix.length);(S=this.options)!=null&&S.shouldSkipTrimPickFilter||(p=p.trim());const v=this._getPicks(p,g,f,i),_=(D,P)=>{var H;let N,j;if(Ny(D)?(N=D.items,j=D.active):N=D,N.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(LF(this.options.noResultsPick)?N=[this.options.noResultsPick(p)]:N=[this.options.noResultsPick])}return e.items=N,j&&(e.activeItems=[j]),!0},y=async D=>{let P=!1,N=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Gb(D.mergeDelay),f.isCancellationRequested)||N||(P=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const j=await D.additionalPicks;if(f.isCancellationRequested)return;let H,ee;Ny(D.picks)?(H=D.picks.items,ee=D.picks.active):H=D.picks;let X,fe;if(Ny(j)?(X=j.items,fe=j.active):X=j,X.length>0||!P){let be;if(!ee&&!fe){const Te=e.activeItems[0];Te&&H.indexOf(Te)!==-1&&(be=Te)}_({items:[...H,...X],active:ee||fe||be})}}finally{f.isCancellationRequested||(e.busy=!1),N=!0}})()])};if(v!==null)if(iD(v))await y(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;iD(D)?await y(D):_(D)}finally{f.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(g=>{var p;if(i!=null&&i.handleAccept){g.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[f]=e.selectedItems;typeof(f==null?void 0:f.accept)=="function"&&(g.inBackground||e.hide(),f.accept(e.keyMods,g))}));const c=async(g,f)=>{var v;if(typeof f.trigger!="function")return;const p=((v=f.buttons)==null?void 0:v.indexOf(g))??-1;if(p>=0){const _=f.trigger(p,e.keyMods),y=typeof _=="number"?_:await _;if(t.isCancellationRequested)return;switch(y){case du.NO_ACTION:break;case du.CLOSE_PICKER:e.hide();break;case du.REFRESH_PICKER:a();break;case du.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),P=D.splice(S,1),N=e.activeItems.filter(H=>H!==P[0]),j=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,N&&(e.activeItems=N),e.keepScrollPosition=j}break}}}};return n.add(e.onDidTriggerItemButton(({button:g,item:f})=>c(g,f))),n.add(e.onDidTriggerSeparatorButton(({button:g,separator:f})=>c(g,f))),n}}var JN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nl=function(o,e){return function(t,i){e(t,i,o)}},Rc,Qn,pa;let Xx=(pa=class extends R7{constructor(e,t,i,n,s,r){super(Rc.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(Yx)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=gP(()=>{const y=new If;y.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=y.calculateScores(e,i);return N7(S).filter(D=>D.score>Rc.TFIDF_THRESHOLD).slice(0,Rc.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const S=Rc.WORD_FILTER(e,y.label)??void 0,D=y.commandAlias?Rc.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(S||D)y.highlights={label:S,detail:this.options.showAlias?D:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const N=P.find(j=>j.key===y.commandId);N&&(y.tfIdfScore=N.score,a.push(y))}}const c=new Map;for(const y of a){const S=c.get(y.label);S?(y.description=y.commandId,S.description=S.commandId):c.set(y.label,y)}a.sort((y,S)=>{if(y.tfIdfScore&&S.tfIdfScore)return y.tfIdfScore===S.tfIdfScore?y.label.localeCompare(S.label):S.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(S.tfIdfScore)return-1;const D=this.commandsHistory.peek(y.commandId),P=this.commandsHistory.peek(S.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const N=this.options.suggestedCommandIds.has(y.commandId),j=this.options.suggestedCommandIds.has(S.commandId);if(N&&j)return 0;if(N)return-1;if(j)return 1}return y.label.localeCompare(S.label)});const h=[];let g=!1,f=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const S=a[y];y===0&&this.commandsHistory.peek(S.commandId)&&(h.push({type:"separator",label:w("recentlyUsed","recently used")}),g=!0),f&&S.tfIdfScore!==void 0&&(h.push({type:"separator",label:w("suggested","similar commands")}),f=!1),p&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&((v=this.options.suggestedCommandIds)!=null&&v.has(S.commandId))&&(h.push({type:"separator",label:w("commonlyUsed","commonly used")}),g=!0,p=!1),g&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&!((_=this.options.suggestedCommandIds)!=null&&_.has(S.commandId))&&(h.push({type:"separator",label:w("morecCommands","other commands")}),g=!1),h.push(this.toCommandPick(S,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:h,additionalPicks:(async()=>{var D;const y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const S=y.map(P=>this.toCommandPick(P,n));return f&&((D=S[0])==null?void 0:D.type)!=="separator"&&S.unshift({type:"separator",label:w("suggested","similar commands")}),S})()}:h}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?w("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){wc(r)||this.dialogService.error(w("canNotRun","Command '{0}' resulted in an error",e.label),W_(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}},Rc=pa,pa.PREFIX=">",pa.TFIDF_THRESHOLD=.5,pa.TFIDF_MAX_RESULTS=5,pa.WORD_FILTER=kF(EF,DF,IF),pa);Xx=Rc=JN([Nl(1,ri),Nl(2,is),Nl(3,us),Nl(4,Vr),Nl(5,H0)],Xx);var Nr;let Yx=(Nr=class extends ze{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===b0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Qn.getConfiguredCommandHistoryLength(this.configurationService),Qn.cache&&Qn.cache.limit!==this.configuredCommandsHistoryLength&&(Qn.cache.limit=this.configuredCommandsHistoryLength,Qn.hasChanges=!0))}load(){const e=this.storageService.get(Qn.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Qn.cache=new Mp(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))}Qn.counter=this.storageService.getNumber(Qn.PREF_KEY_COUNTER,0,Qn.counter)}push(e){Qn.cache&&(Qn.cache.set(e,Qn.counter++),Qn.hasChanges=!0)}peek(e){var t;return(t=Qn.cache)==null?void 0:t.peek(e)}saveState(){if(!Qn.cache||!Qn.hasChanges)return;const e={usesLRU:!0,entries:[]};Qn.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Qn.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Qn.PREF_KEY_COUNTER,Qn.counter,0,0),Qn.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:Qn.DEFAULT_COMMANDS_HISTORY_LENGTH}},Qn=Nr,Nr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Nr.PREF_KEY_CACHE="commandPalette.mru.cache",Nr.PREF_KEY_COUNTER="commandPalette.mru.counter",Nr.counter=1,Nr.hasChanges=!1,Nr);Yx=Qn=JN([Nl(0,yc),Nl(1,Cn),Nl(2,fh)],Yx);class A7 extends Xx{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&&(PF(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:TF(n.label)||n.id})}return t}}var O7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jh=function(o,e){return function(t,i){e(t,i,o)}};let vp=class extends A7{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,r){super({showAlias:!1},e,i,n,s,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};vp=O7([jh(0,ri),jh(1,Jn),jh(2,is),jh(3,us),jh(4,Vr),jh(5,H0)],vp);const Nb=class Nb extends we{constructor(){super({id:Nb.ID,label:pP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(gl).quickAccess.show(vp.PREFIX)}};Nb.ID="editor.action.quickCommand";let Rv=Nb;ie(Rv);Br.as(Vp.Quickaccess).registerQuickAccessProvider({ctor:vp,prefix:vp.PREFIX,helpEntries:[{description:pP.quickCommandHelp,commandId:Rv.ID}]});var F7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uh=function(o,e){return function(t,i){e(t,i,o)}};let Jx=class extends oh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Jx=F7([Uh(1,Wi),Uh(2,Jn),Uh(3,zs),Uh(4,ri),Uh(5,yc),Uh(6,Cn)],Jx);_i(oh.ID,Jx,4);class H7 extends we{constructor(){super({id:"editor.action.toggleHighContrast",label:MF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(hP),n=i.getColorTheme();Rf(n.type)?(i.setTheme(this._originalThemeName||(nk(n.type)?NF:RF)),this._originalThemeName=null):(i.setTheme(nk(n.type)?AF:OF),this._originalThemeName=n.themeName)}}ie(H7);let Qx=null;function W7(o){Qx=o}function B7(o={}){return{"Content-Type":"application/json",...o}}async function Li(o,e,t){const i=await fetch(e,{method:o,headers:B7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Qx&&Qx(),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 z7(){return await(await fetch("/she/auth/mode")).json()}async function V7(o){const e=await fetch("/she/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:o})});if(!e.ok){const t=await e.json().catch(()=>({error:e.statusText}));throw new Error(t.error??"Login failed")}}async function j7(){await fetch("/she/auth/logout",{method:"POST"})}async function U7(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 $7(){return Li("GET","/she/scripts/tree")}function nD(o){return Li("GET",`/she/scripts/${o}`)}function Tc(o,e){return Li("PUT",`/she/scripts/${o}`,{content:e})}function jm(o){return Li("DELETE",`/she/scripts/${o}`)}function sD(o,e){return Li("POST",`/she/scripts/${o}/rename`,{newPath:e})}function q7(o){return Li("POST","/she/scripts/mkdir",{path:o})}function K7(){return Li("GET","/she/git/status")}function m_(){return Li("GET","/she/status")}function G7(){return Li("POST","/she/restart")}function Z7(){return Li("POST","/she/update")}function X7(){return Li("POST","/she/check-update")}function Y7(o,e){return Li("POST","/she/git/commit",{path:o,message:e})}function J7(o){return Li("POST","/she/git/push",{remote:o})}function QN(){return Li("GET","/she/config")}function Q7(o){return Li("PUT","/she/config",o)}function eR(){return Li("GET","/she/db/docs")}function e8(o){return Li("GET",`/she/db/docs/${o}`)}function oD(o,e){return Li("PUT",`/she/db/docs/${o}`,e)}function t8(o){return Li("DELETE",`/she/db/docs/${o}`)}function tR(){return Li("GET","/she/db/views")}function i8(o){return Li("GET",`/she/db/views/${o}`)}function rD(o,e){return Li("PUT",`/she/db/views/${o}`,e)}function n8(o){return Li("DELETE",`/she/db/views/${o}`)}function s8(){return Li("GET","/she/deps")}function o8(o){return Li("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function r8(o,e){return Li("POST","/she/deps/install",{name:o,version:null})}function a8(o){return Li("POST","/she/deps/remove",{name:o})}function l8(o){return Li("POST","/she/deps/update",{name:o})}function c8(){return Li("GET","/she/deps/outdated")}function d8(){return Li("POST","/she/deps/check-outdated")}function h8(){return Li("GET","/she/ai/conversations")}function aD(o){return Li("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function u8(o,e,t){return Li("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function g8(o){return Li("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Ry(o){return Li("GET",`/she/db/views/${o}/result`)}function iR(){return Li("GET","/she/matter/devices")}function __(o){return Li("GET",`/she/matter/devices/${o}`)}function f8(o){return Li("POST","/she/matter/commission",o)}function p8(o){return Li("DELETE",`/she/matter/devices/${o}`)}function m8(o,e,t,i,n){return Li("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function nR(){return Li("GET","/she/mqtt/state")}function lD(o,e,t=!1,i=0){return Li("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function sR(){return Li("GET","/she/ai/config")}function oR(){return Li("GET","/she/ai/models")}function rR(o){return Li("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function aR(o){return Li("POST","/she/ai/prompt",o)}async function lR(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 h=await s.json().catch(()=>({error:s.statusText}));throw new Error(h.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let c="";try{for(;;){const{done:h,value:g}=await r.read();if(h)break;c+=a.decode(g,{stream:!0});const f=c.split(`
79
- `);c=f.pop()??"";for(const p of f){if(!p.startsWith("data: "))continue;const v=p.slice(6).trim();if(v==="[DONE]")return;try{const _=JSON.parse(v);if(_.error)throw new Error(_.error);if(_.type==="tool_call"||_.type==="tool_result"){i==null||i({type:_.type,name:_.name??"",args:_.args,content:_.content});continue}_.token&&e(_.token)}catch(_){if(_ instanceof SyntaxError)continue;throw _}}}}finally{r.releaseLock()}}const _8=2e3,v_=[];function v8(){return v_.slice()}let jl=null;const Av=new Set,hu=new Map;let e0=null;function bp(){let o=Av.size;for(const e of hu.values())o+=e.size;return o}function b8(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function j1(){if(jl)return;const o=b8(),e=new WebSocket(o);jl=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};v_.length>=_8&&v_.shift(),v_.push(s),Av.forEach(r=>r(s))}const n=hu.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{jl===e&&(jl=null),bp()>0&&(e0=setTimeout(j1,3e3))},e.onerror=()=>{e.close()}}function cR(){e0&&clearTimeout(e0),jl==null||jl.close(),jl=null}function dR(o){return Av.add(o),bp()===1&&j1(),()=>{Av.delete(o),bp()===0&&cR()}}function Ul(o,e){return hu.has(o)||hu.set(o,new Set),hu.get(o).add(e),bp()===1&&j1(),()=>{var t;(t=hu.get(o))==null||t.delete(e),bp()===0&&cR()}}var w8=R('<button class="cancel svelte-1eh8v5n">Cancel</button>'),y8=R('<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 im(o,e){Io(e,!0);let t=U(!1),i=U(""),n=U("Confirm"),s=U(!1),r=U(!1),a=null;function c(y,S){return I(i,y,!0),I(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),I(s,(S==null?void 0:S.danger)??!1,!0),I(r,(S==null?void 0:S.alert)??!1,!0),I(t,!0),new Promise(D=>a=D)}function h(y){I(t,!1),a==null||a(y),a=null}function g(y){u(t)&&(y.key==="Escape"&&h(!1),y.key==="Enter"&&h(!0))}var f={show:c},p=Ds();es("keydown",ed,g);var v=wt(p);{var _=y=>{var S=y8(),D=wt(S),P=x(D,2),N=C(P),j=C(N),H=x(N,2),ee=C(H);{var X=xe=>{var ct=w8();ne("click",ct,()=>h(!1)),T(xe,ct)};q(ee,xe=>{u(r)||xe(X)})}var fe=x(ee,2);let be;var Te=C(fe);Z(()=>{K(j,u(i)),be=Ut(fe,1,"svelte-1eh8v5n",null,be,{danger:u(s)}),K(Te,u(n))}),ne("click",D,()=>h(!1)),ne("click",fe,()=>h(!0)),T(y,S)};q(v,y=>{u(t)&&y(_)})}return T(o,p),Do(f)}_r(["click"]);var S8=R('<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 C8(o,e){Io(e,!0);let t=U(!1),i=U(""),n=U(""),s=U("OK"),r=U(""),a=null,c=U(void 0);function h(D,P){return I(i,D,!0),I(n,(P==null?void 0:P.placeholder)??"",!0),I(s,(P==null?void 0:P.confirm)??"OK",!0),I(r,(P==null?void 0:P.initial)??"",!0),I(t,!0),setTimeout(()=>{if(u(c)){u(c).focus();const N=u(c).value.length;u(c).setSelectionRange(N,N)}},0),new Promise(N=>a=N)}function g(){const D=u(r).trim();D&&(I(t,!1),a==null||a(D),a=null,I(r,""))}function f(){I(t,!1),a==null||a(null),a=null,I(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=Ds();es("keydown",ed,p);var y=wt(_);{var S=D=>{var P=S8(),N=wt(P),j=x(N,2),H=C(j),ee=C(H),X=x(H,2);Cs(X,ct=>I(c,ct),()=>u(c));var fe=x(X,2),be=C(fe),Te=x(be,2),xe=C(Te);Z(ct=>{K(ee,u(i)),Bn(X,"placeholder",u(n)),Te.disabled=ct,K(xe,u(s))},[()=>!u(r).trim()]),ne("click",N,f),ne("keydown",X,ct=>{ct.key==="Enter"&&(ct.preventDefault(),g())}),Ei(X,()=>u(r),ct=>I(r,ct)),ne("click",be,f),ne("click",Te,g),T(D,P)};q(y,D=>{u(t)&&D(S)})}return T(o,_),Do(v)}_r(["click","keydown"]);function hR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Ay,cD;function x8(){if(cD)return Ay;cD=1;function o(F){return F instanceof Map?F.clear=F.delete=F.set=function(){throw new Error("map is read-only")}:F instanceof Set&&(F.add=F.clear=F.delete=function(){throw new Error("set is read-only")}),Object.freeze(F),Object.getOwnPropertyNames(F).forEach(O=>{const Q=F[O],Ce=typeof Q;(Ce==="object"||Ce==="function")&&!Object.isFrozen(Q)&&o(Q)}),F}class e{constructor(O){O.data===void 0&&(O.data={}),this.data=O.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(F){return F.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(F,...O){const Q=Object.create(null);for(const Ce in F)Q[Ce]=F[Ce];return O.forEach(function(Ce){for(const Qe in Ce)Q[Qe]=Ce[Qe]}),Q}const n="</span>",s=F=>!!F.scope,r=(F,{prefix:O})=>{if(F.startsWith("language:"))return F.replace("language:","language-");if(F.includes(".")){const Q=F.split(".");return[`${O}${Q.shift()}`,...Q.map((Ce,Qe)=>`${Ce}${"_".repeat(Qe+1)}`)].join(" ")}return`${O}${F}`};class a{constructor(O,Q){this.buffer="",this.classPrefix=Q.classPrefix,O.walk(this)}addText(O){this.buffer+=t(O)}openNode(O){if(!s(O))return;const Q=r(O.scope,{prefix:this.classPrefix});this.span(Q)}closeNode(O){s(O)&&(this.buffer+=n)}value(){return this.buffer}span(O){this.buffer+=`<span class="${O}">`}}const c=(F={})=>{const O={children:[]};return Object.assign(O,F),O};class h{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(O){this.top.children.push(O)}openNode(O){const Q=c({scope:O});this.add(Q),this.stack.push(Q)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(O){return this.constructor._walk(O,this.rootNode)}static _walk(O,Q){return typeof Q=="string"?O.addText(Q):Q.children&&(O.openNode(Q),Q.children.forEach(Ce=>this._walk(O,Ce)),O.closeNode(Q)),O}static _collapse(O){typeof O!="string"&&O.children&&(O.children.every(Q=>typeof Q=="string")?O.children=[O.children.join("")]:O.children.forEach(Q=>{h._collapse(Q)}))}}class g extends h{constructor(O){super(),this.options=O}addText(O){O!==""&&this.add(O)}startScope(O){this.openNode(O)}endScope(){this.closeNode()}__addSublanguage(O,Q){const Ce=O.root;Q&&(Ce.scope=`language:${Q}`),this.add(Ce)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(F){return F?typeof F=="string"?F:F.source:null}function p(F){return y("(?=",F,")")}function v(F){return y("(?:",F,")*")}function _(F){return y("(?:",F,")?")}function y(...F){return F.map(Q=>f(Q)).join("")}function S(F){const O=F[F.length-1];return typeof O=="object"&&O.constructor===Object?(F.splice(F.length-1,1),O):{}}function D(...F){return"("+(S(F).capture?"":"?:")+F.map(Ce=>f(Ce)).join("|")+")"}function P(F){return new RegExp(F.toString()+"|").exec("").length-1}function N(F,O){const Q=F&&F.exec(O);return Q&&Q.index===0}const j=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(F,{joinWith:O}){let Q=0;return F.map(Ce=>{Q+=1;const Qe=Q;let Nt=f(Ce),ke="";for(;Nt.length>0;){const Ie=j.exec(Nt);if(!Ie){ke+=Nt;break}ke+=Nt.substring(0,Ie.index),Nt=Nt.substring(Ie.index+Ie[0].length),Ie[0][0]==="\\"&&Ie[1]?ke+="\\"+String(Number(Ie[1])+Qe):(ke+=Ie[0],Ie[0]==="("&&Q++)}return ke}).map(Ce=>`(${Ce})`).join(O)}const ee=/\b\B/,X="[a-zA-Z]\\w*",fe="[a-zA-Z_]\\w*",be="\\b\\d+(\\.\\d+)?",Te="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",xe="\\b(0b[01]+)",ct="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Pt=(F={})=>{const O=/^#![ ]*\//;return F.binary&&(F.begin=y(O,/.*\b/,F.binary,/\b.*/)),i({scope:"meta",begin:O,end:/$/,relevance:0,"on:begin":(Q,Ce)=>{Q.index!==0&&Ce.ignoreMatch()}},F)},dt={begin:"\\\\[\\s\\S]",relevance:0},ai={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[dt]},Mt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[dt]},Jt={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/},ge=function(F,O,Q={}){const Ce=i({scope:"comment",begin:F,end:O,contains:[]},Q);Ce.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 Qe=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 Ce.contains.push({begin:y(/[ ]+/,"(",Qe,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ce},rt=ge("//","$"),Ae=ge("/\\*","\\*/"),Ze=ge("#","$"),pt={scope:"number",begin:be,relevance:0},di={scope:"number",begin:Te,relevance:0},Kt={scope:"number",begin:xe,relevance:0},Ct={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[dt,{begin:/\[/,end:/\]/,relevance:0,contains:[dt]}]},kt={scope:"title",begin:X,relevance:0},yi={scope:"title",begin:fe,relevance:0},Bi={begin:"\\.\\s*"+fe,relevance:0};var en=Object.freeze({__proto__:null,APOS_STRING_MODE:ai,BACKSLASH_ESCAPE:dt,BINARY_NUMBER_MODE:Kt,BINARY_NUMBER_RE:xe,COMMENT:ge,C_BLOCK_COMMENT_MODE:Ae,C_LINE_COMMENT_MODE:rt,C_NUMBER_MODE:di,C_NUMBER_RE:Te,END_SAME_AS_BEGIN:function(F){return Object.assign(F,{"on:begin":(O,Q)=>{Q.data._beginMatch=O[1]},"on:end":(O,Q)=>{Q.data._beginMatch!==O[1]&&Q.ignoreMatch()}})},HASH_COMMENT_MODE:Ze,IDENT_RE:X,MATCH_NOTHING_RE:ee,METHOD_GUARD:Bi,NUMBER_MODE:pt,NUMBER_RE:be,PHRASAL_WORDS_MODE:Jt,QUOTE_STRING_MODE:Mt,REGEXP_MODE:Ct,RE_STARTERS_RE:ct,SHEBANG:Pt,TITLE_MODE:kt,UNDERSCORE_IDENT_RE:fe,UNDERSCORE_TITLE_MODE:yi});function Ai(F,O){F.input[F.index-1]==="."&&O.ignoreMatch()}function Ln(F,O){F.className!==void 0&&(F.scope=F.className,delete F.className)}function mn(F,O){O&&F.beginKeywords&&(F.begin="\\b("+F.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",F.__beforeBegin=Ai,F.keywords=F.keywords||F.beginKeywords,delete F.beginKeywords,F.relevance===void 0&&(F.relevance=0))}function zn(F,O){Array.isArray(F.illegal)&&(F.illegal=D(...F.illegal))}function kn(F,O){if(F.match){if(F.begin||F.end)throw new Error("begin & end are not supported with match");F.begin=F.match,delete F.match}}function _n(F,O){F.relevance===void 0&&(F.relevance=1)}const Hn=(F,O)=>{if(!F.beforeMatch)return;if(F.starts)throw new Error("beforeMatch cannot be used with starts");const Q=Object.assign({},F);Object.keys(F).forEach(Ce=>{delete F[Ce]}),F.keywords=Q.keywords,F.begin=y(Q.beforeMatch,p(Q.begin)),F.starts={relevance:0,contains:[Object.assign(Q,{endsParent:!0})]},F.relevance=0,delete Q.beforeMatch},In=["of","and","for","in","not","or","if","then","parent","list","value"],qn="keyword";function Xe(F,O,Q=qn){const Ce=Object.create(null);return typeof F=="string"?Qe(Q,F.split(" ")):Array.isArray(F)?Qe(Q,F):Object.keys(F).forEach(function(Nt){Object.assign(Ce,Xe(F[Nt],O,Nt))}),Ce;function Qe(Nt,ke){O&&(ke=ke.map(Ie=>Ie.toLowerCase())),ke.forEach(function(Ie){const Oe=Ie.split("|");Ce[Oe[0]]=[Nt,Ft(Oe[0],Oe[1])]})}}function Ft(F,O){return O?Number(O):li(F)?0:1}function li(F){return In.includes(F.toLowerCase())}const Bt={},pi=F=>{console.error(F)},Dn=(F,...O)=>{console.log(`WARN: ${F}`,...O)},rn=(F,O)=>{Bt[`${F}/${O}`]||(console.log(`Deprecated as of ${F}. ${O}`),Bt[`${F}/${O}`]=!0)},tn=new Error;function hn(F,O,{key:Q}){let Ce=0;const Qe=F[Q],Nt={},ke={};for(let Ie=1;Ie<=O.length;Ie++)ke[Ie+Ce]=Qe[Ie],Nt[Ie+Ce]=!0,Ce+=P(O[Ie-1]);F[Q]=ke,F[Q]._emit=Nt,F[Q]._multi=!0}function Un(F){if(Array.isArray(F.begin)){if(F.skip||F.excludeBegin||F.returnBegin)throw pi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),tn;if(typeof F.beginScope!="object"||F.beginScope===null)throw pi("beginScope must be object"),tn;hn(F,F.begin,{key:"beginScope"}),F.begin=H(F.begin,{joinWith:""})}}function Mi(F){if(Array.isArray(F.end)){if(F.skip||F.excludeEnd||F.returnEnd)throw pi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),tn;if(typeof F.endScope!="object"||F.endScope===null)throw pi("endScope must be object"),tn;hn(F,F.end,{key:"endScope"}),F.end=H(F.end,{joinWith:""})}}function vn(F){F.scope&&typeof F.scope=="object"&&F.scope!==null&&(F.beginScope=F.scope,delete F.scope)}function Tn(F){vn(F),typeof F.beginScope=="string"&&(F.beginScope={_wrap:F.beginScope}),typeof F.endScope=="string"&&(F.endScope={_wrap:F.endScope}),Un(F),Mi(F)}function Zn(F){function O(ke,Ie){return new RegExp(f(ke),"m"+(F.case_insensitive?"i":"")+(F.unicodeRegex?"u":"")+(Ie?"g":""))}class Q{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ie,Oe){Oe.position=this.position++,this.matchIndexes[this.matchAt]=Oe,this.regexes.push([Oe,Ie]),this.matchAt+=P(Ie)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ie=this.regexes.map(Oe=>Oe[1]);this.matcherRe=O(H(Ie,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ie){this.matcherRe.lastIndex=this.lastIndex;const Oe=this.matcherRe.exec(Ie);if(!Oe)return null;const Tt=Oe.findIndex((Ee,At)=>At>0&&Ee!==void 0),gt=this.matchIndexes[Tt];return Oe.splice(0,Tt),Object.assign(Oe,gt)}}class Ce{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 Oe=new Q;return this.rules.slice(Ie).forEach(([Tt,gt])=>Oe.addRule(Tt,gt)),Oe.compile(),this.multiRegexes[Ie]=Oe,Oe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ie,Oe){this.rules.push([Ie,Oe]),Oe.type==="begin"&&this.count++}exec(Ie){const Oe=this.getMatcher(this.regexIndex);Oe.lastIndex=this.lastIndex;let Tt=Oe.exec(Ie);if(this.resumingScanAtSamePosition()&&!(Tt&&Tt.index===this.lastIndex)){const gt=this.getMatcher(0);gt.lastIndex=this.lastIndex+1,Tt=gt.exec(Ie)}return Tt&&(this.regexIndex+=Tt.position+1,this.regexIndex===this.count&&this.considerAll()),Tt}}function Qe(ke){const Ie=new Ce;return ke.contains.forEach(Oe=>Ie.addRule(Oe.begin,{rule:Oe,type:"begin"})),ke.terminatorEnd&&Ie.addRule(ke.terminatorEnd,{type:"end"}),ke.illegal&&Ie.addRule(ke.illegal,{type:"illegal"}),Ie}function Nt(ke,Ie){const Oe=ke;if(ke.isCompiled)return Oe;[Ln,kn,Tn,Hn].forEach(gt=>gt(ke,Ie)),F.compilerExtensions.forEach(gt=>gt(ke,Ie)),ke.__beforeBegin=null,[mn,zn,_n].forEach(gt=>gt(ke,Ie)),ke.isCompiled=!0;let Tt=null;return typeof ke.keywords=="object"&&ke.keywords.$pattern&&(ke.keywords=Object.assign({},ke.keywords),Tt=ke.keywords.$pattern,delete ke.keywords.$pattern),Tt=Tt||/\w+/,ke.keywords&&(ke.keywords=Xe(ke.keywords,F.case_insensitive)),Oe.keywordPatternRe=O(Tt,!0),Ie&&(ke.begin||(ke.begin=/\B|\b/),Oe.beginRe=O(Oe.begin),!ke.end&&!ke.endsWithParent&&(ke.end=/\B|\b/),ke.end&&(Oe.endRe=O(Oe.end)),Oe.terminatorEnd=f(Oe.end)||"",ke.endsWithParent&&Ie.terminatorEnd&&(Oe.terminatorEnd+=(ke.end?"|":"")+Ie.terminatorEnd)),ke.illegal&&(Oe.illegalRe=O(ke.illegal)),ke.contains||(ke.contains=[]),ke.contains=[].concat(...ke.contains.map(function(gt){return an(gt==="self"?ke:gt)})),ke.contains.forEach(function(gt){Nt(gt,Oe)}),ke.starts&&Nt(ke.starts,Ie),Oe.matcher=Qe(Oe),Oe}if(F.compilerExtensions||(F.compilerExtensions=[]),F.contains&&F.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return F.classNameAliases=i(F.classNameAliases||{}),Nt(F)}function Mn(F){return F?F.endsWithParent||Mn(F.starts):!1}function an(F){return F.variants&&!F.cachedVariants&&(F.cachedVariants=F.variants.map(function(O){return i(F,{variants:null},O)})),F.cachedVariants?F.cachedVariants:Mn(F)?i(F,{starts:F.starts?i(F.starts):null}):Object.isFrozen(F)?i(F):F}var Nn="11.11.1";class nn extends Error{constructor(O,Q){super(O),this.name="HTMLInjectionError",this.html=Q}}const Se=t,G=i,Le=Symbol("nomatch"),at=7,It=function(F){const O=Object.create(null),Q=Object.create(null),Ce=[];let Qe=!0;const Nt="Could not find the language '{}', did you forget to load/include a language module?",ke={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:g};function Oe(A){return Ie.noHighlightRe.test(A)}function Tt(A){let W=A.className+" ";W+=A.parentNode?A.parentNode.className:"";const ae=Ie.languageDetectRe.exec(W);if(ae){const ce=Gt(ae[1]);return ce||(Dn(Nt.replace("{}",ae[1])),Dn("Falling back to no-highlight mode for this block.",A)),ce?ae[1]:"no-highlight"}return W.split(/\s+/).find(ce=>Oe(ce)||Gt(ce))}function gt(A,W,ae){let ce="",ue="";typeof W=="object"?(ce=A,ae=W.ignoreIllegals,ue=W.language):(rn("10.7.0","highlight(lang, code, ...args) has been deprecated."),rn("10.7.0",`Please use highlight(code, options) instead.
80
- https://github.com/highlightjs/highlight.js/issues/2277`),ue=A,ce=W),ae===void 0&&(ae=!0);const pe={code:ce,language:ue};ti("before:highlight",pe);const De=pe.result?pe.result:Ee(pe.language,pe.code,ae);return De.code=pe.code,ti("after:highlight",De),De}function Ee(A,W,ae,ce){const ue=Object.create(null);function pe(ve,Ke){return ve.keywords[Ke]}function De(){if(!he.keywords){it.addText(Me);return}let ve=0;he.keywordPatternRe.lastIndex=0;let Ke=he.keywordPatternRe.exec(Me),_t="";for(;Ke;){_t+=Me.substring(ve,Ke.index);const Et=de.case_insensitive?Ke[0].toLowerCase():Ke[0],Je=pe(he,Et);if(Je){const[ui,ni]=Je;if(it.addText(_t),_t="",ue[Et]=(ue[Et]||0)+1,ue[Et]<=at&&(Re+=ni),ui.startsWith("_"))_t+=Ke[0];else{const Si=de.classNameAliases[ui]||ui;je(Ke[0],Si)}}else _t+=Ke[0];ve=he.keywordPatternRe.lastIndex,Ke=he.keywordPatternRe.exec(Me)}_t+=Me.substring(ve),it.addText(_t)}function ft(){if(Me==="")return;let ve=null;if(typeof he.subLanguage=="string"){if(!O[he.subLanguage]){it.addText(Me);return}ve=Ee(he.subLanguage,Me,!0,Wt[he.subLanguage]),Wt[he.subLanguage]=ve._top}else ve=Qt(Me,he.subLanguage.length?he.subLanguage:null);he.relevance>0&&(Re+=ve.relevance),it.__addSublanguage(ve._emitter,ve.language)}function Ge(){he.subLanguage!=null?ft():De(),Me=""}function je(ve,Ke){ve!==""&&(it.startScope(Ke),it.addText(ve),it.endScope())}function Ot(ve,Ke){let _t=1;const Et=Ke.length-1;for(;_t<=Et;){if(!ve._emit[_t]){_t++;continue}const Je=de.classNameAliases[ve[_t]]||ve[_t],ui=Ke[_t];Je?je(ui,Je):(Me=ui,De(),Me=""),_t++}}function qe(ve,Ke){return ve.scope&&typeof ve.scope=="string"&&it.openNode(de.classNameAliases[ve.scope]||ve.scope),ve.beginScope&&(ve.beginScope._wrap?(je(Me,de.classNameAliases[ve.beginScope._wrap]||ve.beginScope._wrap),Me=""):ve.beginScope._multi&&(Ot(ve.beginScope,Ke),Me="")),he=Object.create(ve,{parent:{value:he}}),he}function z(ve,Ke,_t){let Et=N(ve.endRe,_t);if(Et){if(ve["on:end"]){const Je=new e(ve);ve["on:end"](Ke,Je),Je.isMatchIgnored&&(Et=!1)}if(Et){for(;ve.endsParent&&ve.parent;)ve=ve.parent;return ve}}if(ve.endsWithParent)return z(ve.parent,Ke,_t)}function se(ve){return he.matcher.regexIndex===0?(Me+=ve[0],1):(hi=!0,0)}function Fe(ve){const Ke=ve[0],_t=ve.rule,Et=new e(_t),Je=[_t.__beforeBegin,_t["on:begin"]];for(const ui of Je)if(ui&&(ui(ve,Et),Et.isMatchIgnored))return se(Ke);return _t.skip?Me+=Ke:(_t.excludeBegin&&(Me+=Ke),Ge(),!_t.returnBegin&&!_t.excludeBegin&&(Me=Ke)),qe(_t,ve),_t.returnBegin?0:Ke.length}function nt(ve){const Ke=ve[0],_t=W.substring(ve.index),Et=z(he,ve,_t);if(!Et)return Le;const Je=he;he.endScope&&he.endScope._wrap?(Ge(),je(Ke,he.endScope._wrap)):he.endScope&&he.endScope._multi?(Ge(),Ot(he.endScope,ve)):Je.skip?Me+=Ke:(Je.returnEnd||Je.excludeEnd||(Me+=Ke),Ge(),Je.excludeEnd&&(Me=Ke));do he.scope&&it.closeNode(),!he.skip&&!he.subLanguage&&(Re+=he.relevance),he=he.parent;while(he!==Et.parent);return Et.starts&&qe(Et.starts,ve),Je.returnEnd?0:Ke.length}function xt(){const ve=[];for(let Ke=he;Ke!==de;Ke=Ke.parent)Ke.scope&&ve.unshift(Ke.scope);ve.forEach(Ke=>it.openNode(Ke))}let Ne={};function $e(ve,Ke){const _t=Ke&&Ke[0];if(Me+=ve,_t==null)return Ge(),0;if(Ne.type==="begin"&&Ke.type==="end"&&Ne.index===Ke.index&&_t===""){if(Me+=W.slice(Ke.index,Ke.index+1),!Qe){const Et=new Error(`0 width match regex (${A})`);throw Et.languageName=A,Et.badRule=Ne.rule,Et}return 1}if(Ne=Ke,Ke.type==="begin")return Fe(Ke);if(Ke.type==="illegal"&&!ae){const Et=new Error('Illegal lexeme "'+_t+'" for mode "'+(he.scope||"<unnamed>")+'"');throw Et.mode=he,Et}else if(Ke.type==="end"){const Et=nt(Ke);if(Et!==Le)return Et}if(Ke.type==="illegal"&&_t==="")return Me+=`
81
- `,1;if(mt>1e5&&mt>Ke.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Me+=_t,_t.length}const de=Gt(A);if(!de)throw pi(Nt.replace("{}",A)),new Error('Unknown language: "'+A+'"');const lt=Zn(de);let ye="",he=ce||lt;const Wt={},it=new Ie.__emitter(Ie);xt();let Me="",Re=0,Ue=0,mt=0,hi=!1;try{if(de.__emitTokens)de.__emitTokens(W,it);else{for(he.matcher.considerAll();;){mt++,hi?hi=!1:he.matcher.considerAll(),he.matcher.lastIndex=Ue;const ve=he.matcher.exec(W);if(!ve)break;const Ke=W.substring(Ue,ve.index),_t=$e(Ke,ve);Ue=ve.index+_t}$e(W.substring(Ue))}return it.finalize(),ye=it.toHTML(),{language:A,value:ye,relevance:Re,illegal:!1,_emitter:it,_top:he}}catch(ve){if(ve.message&&ve.message.includes("Illegal"))return{language:A,value:Se(W),illegal:!0,relevance:0,_illegalBy:{message:ve.message,index:Ue,context:W.slice(Ue-100,Ue+100),mode:ve.mode,resultSoFar:ye},_emitter:it};if(Qe)return{language:A,value:Se(W),illegal:!1,relevance:0,errorRaised:ve,_emitter:it,_top:he};throw ve}}function At(A){const W={value:Se(A),illegal:!1,relevance:0,_top:ke,_emitter:new Ie.__emitter(Ie)};return W._emitter.addText(A),W}function Qt(A,W){W=W||Ie.languages||Object.keys(O);const ae=At(A),ce=W.filter(Gt).filter(ii).map(Ge=>Ee(Ge,A,!1));ce.unshift(ae);const ue=ce.sort((Ge,je)=>{if(Ge.relevance!==je.relevance)return je.relevance-Ge.relevance;if(Ge.language&&je.language){if(Gt(Ge.language).supersetOf===je.language)return 1;if(Gt(je.language).supersetOf===Ge.language)return-1}return 0}),[pe,De]=ue,ft=pe;return ft.secondBest=De,ft}function Yt(A,W,ae){const ce=W&&Q[W]||ae;A.classList.add("hljs"),A.classList.add(`language-${ce}`)}function Vt(A){let W=null;const ae=Tt(A);if(Oe(ae))return;if(ti("before:highlightElement",{el:A,language:ae}),A.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",A);return}if(A.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(A)),Ie.throwUnescapedHTML))throw new nn("One of your code blocks includes unescaped HTML.",A.innerHTML);W=A;const ce=W.textContent,ue=ae?gt(ce,{language:ae,ignoreIllegals:!0}):Qt(ce);A.innerHTML=ue.value,A.dataset.highlighted="yes",Yt(A,ae,ue.language),A.result={language:ue.language,re:ue.relevance,relevance:ue.relevance},ue.secondBest&&(A.secondBest={language:ue.secondBest.language,relevance:ue.secondBest.relevance}),ti("after:highlightElement",{el:A,result:ue,text:ce})}function ei(A){Ie=G(Ie,A)}const Y=()=>{Ye(),rn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _e(){Ye(),rn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let We=!1;function Ye(){function A(){Ye()}if(document.readyState==="loading"){We||window.addEventListener("DOMContentLoaded",A,!1),We=!0;return}document.querySelectorAll(Ie.cssSelector).forEach(Vt)}function bt(A,W){let ae=null;try{ae=W(F)}catch(ce){if(pi("Language definition for '{}' could not be registered.".replace("{}",A)),Qe)pi(ce);else throw ce;ae=ke}ae.name||(ae.name=A),O[A]=ae,ae.rawDefinition=W.bind(null,F),ae.aliases&&oi(ae.aliases,{languageName:A})}function Ve(A){delete O[A];for(const W of Object.keys(Q))Q[W]===A&&delete Q[W]}function tt(){return Object.keys(O)}function Gt(A){return A=(A||"").toLowerCase(),O[A]||O[Q[A]]}function oi(A,{languageName:W}){typeof A=="string"&&(A=[A]),A.forEach(ae=>{Q[ae.toLowerCase()]=W})}function ii(A){const W=Gt(A);return W&&!W.disableAutodetect}function zi(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=W=>{A["before:highlightBlock"](Object.assign({block:W.el},W))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=W=>{A["after:highlightBlock"](Object.assign({block:W.el},W))})}function En(A){zi(A),Ce.push(A)}function Ni(A){const W=Ce.indexOf(A);W!==-1&&Ce.splice(W,1)}function ti(A,W){const ae=A;Ce.forEach(function(ce){ce[ae]&&ce[ae](W)})}function Vi(A){return rn("10.7.0","highlightBlock will be removed entirely in v12.0"),rn("10.7.0","Please use highlightElement now."),Vt(A)}Object.assign(F,{highlight:gt,highlightAuto:Qt,highlightAll:Ye,highlightElement:Vt,highlightBlock:Vi,configure:ei,initHighlighting:Y,initHighlightingOnLoad:_e,registerLanguage:bt,unregisterLanguage:Ve,listLanguages:tt,getLanguage:Gt,registerAliases:oi,autoDetection:ii,inherit:G,addPlugin:En,removePlugin:Ni}),F.debugMode=function(){Qe=!1},F.safeMode=function(){Qe=!0},F.versionString=Nn,F.regex={concat:y,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const A in en)typeof en[A]=="object"&&o(en[A]);return Object.assign(F,en),F},$t=It({});return $t.newInstance=()=>It({}),Ay=$t,$t.HighlightJS=$t,$t.default=$t,Ay}var L8=x8();const Ov=hR(L8),dD="[A-Za-z$_][0-9A-Za-z$_]*",k8=["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"],I8=["true","false","null","undefined","NaN","Infinity"],uR=["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"],gR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],fR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],D8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],E8=[].concat(fR,uR,gR);function pR(o){const e=o.regex,t=(ge,{after:rt})=>{const Ae="</"+ge[0].slice(1);return ge.input.indexOf(Ae,rt)!==-1},i=dD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ge,rt)=>{const Ae=ge[0].length+ge.index,Ze=ge.input[Ae];if(Ze==="<"||Ze===","){rt.ignoreMatch();return}Ze===">"&&(t(ge,{after:Ae})||rt.ignoreMatch());let pt;const di=ge.input.substring(Ae);if(pt=di.match(/^\s*=/)){rt.ignoreMatch();return}if((pt=di.match(/^\s+extends\s+/))&&pt.index===0){rt.ignoreMatch();return}}},a={$pattern:dD,keyword:k8,literal:I8,built_in:E8,"variable.language":D8},c="[0-9](_?[0-9])*",h=`\\.(${c})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${g})((${h})|\\.)?|(${h}))[eE][+-]?(${c})\\b`},{begin:`\\b(${g})\\b((${h})\\b|\\.)?|(${h})\\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:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},S={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]},N=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,y,S,{match:/\$\d+/},f];p.contains=N.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(N)});const j=[].concat(P,p.contains),H=j.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(j)}]),ee={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},X={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"}}]},fe={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:{_:[...uR,...gR]}},be={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Te={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ee],illegal:/%/},xe={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ct(ge){return e.concat("(?!",ge.join("|"),")")}const Pt={match:e.concat(/\b/,ct([...fR,"super","import"].map(ge=>`${ge}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},dt={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ai={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ee]},Mt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Jt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Mt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ee]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:fe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),be,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,y,S,P,{match:/\$\d+/},f,fe,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Jt,{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:Mt,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"]}]}]},Te,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ee,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},dt,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ee]},Pt,xe,X,ai,{match:/\$[(.]/}]}}function U1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Sh=U1();function mR(o){Sh=o}var Fc={exec:()=>null};function $h(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(Ks.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var P8=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),Ks={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:$h(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:$h(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:$h(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:$h(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:$h(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:$h(o=>new RegExp(`^ {0,${o}}>`))},T8=/^(?:[ \t]*(?:\n|$))+/,M8=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,N8=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,nm=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,R8=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,$1=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,_R=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,vR=fn(_R).replace(/bull/g,$1).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(),A8=fn(_R).replace(/bull/g,$1).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(),q1=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,O8=/^[^\n]+/,K1=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,F8=fn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",K1).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),H8=fn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,$1).getRegex(),Ew="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",G1=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,W8=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",G1).replace("tag",Ew).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),bR=fn(q1).replace("hr",nm).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",Ew).getRegex(),B8=fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",bR).getRegex(),Z1={blockquote:B8,code:M8,def:F8,fences:N8,heading:R8,hr:nm,html:W8,lheading:vR,list:H8,newline:T8,paragraph:bR,table:Fc,text:O8},hD=fn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",nm).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",Ew).getRegex(),z8={...Z1,lheading:A8,table:hD,paragraph:fn(q1).replace("hr",nm).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",hD).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",Ew).getRegex()},V8={...Z1,html:fn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",G1).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:Fc,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:fn(q1).replace("hr",nm).replace("heading",` *#{1,6} *[^
82
- ]`).replace("lheading",vR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},j8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,U8=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,wR=/^( {2,}|\\)\n(?!\s*$)/,$8=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Pg=/[\p{P}\p{S}]/u,Pw=/[\s\p{P}\p{S}]/u,X1=/[^\s\p{P}\p{S}]/u,q8=fn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Pw).getRegex(),yR=/(?!~)[\p{P}\p{S}]/u,K8=/(?!~)[\s\p{P}\p{S}]/u,G8=/(?:[^\s\p{P}\p{S}]|~)/u,Z8=fn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",P8?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),SR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,X8=fn(SR,"u").replace(/punct/g,Pg).getRegex(),Y8=fn(SR,"u").replace(/punct/g,yR).getRegex(),CR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",J8=fn(CR,"gu").replace(/notPunctSpace/g,X1).replace(/punctSpace/g,Pw).replace(/punct/g,Pg).getRegex(),Q8=fn(CR,"gu").replace(/notPunctSpace/g,G8).replace(/punctSpace/g,K8).replace(/punct/g,yR).getRegex(),eq=fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,X1).replace(/punctSpace/g,Pw).replace(/punct/g,Pg).getRegex(),tq=fn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Pg).getRegex(),iq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",nq=fn(iq,"gu").replace(/notPunctSpace/g,X1).replace(/punctSpace/g,Pw).replace(/punct/g,Pg).getRegex(),sq=fn(/\\(punct)/,"gu").replace(/punct/g,Pg).getRegex(),oq=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(),rq=fn(G1).replace("(?:-->|$)","-->").getRegex(),aq=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",rq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Fv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,lq=fn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Fv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),xR=fn(/^!?\[(label)\]\[(ref)\]/).replace("label",Fv).replace("ref",K1).getRegex(),LR=fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",K1).getRegex(),cq=fn("reflink|nolink(?!\\()","g").replace("reflink",xR).replace("nolink",LR).getRegex(),uD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Y1={_backpedal:Fc,anyPunctuation:sq,autolink:oq,blockSkip:Z8,br:wR,code:U8,del:Fc,delLDelim:Fc,delRDelim:Fc,emStrongLDelim:X8,emStrongRDelimAst:J8,emStrongRDelimUnd:eq,escape:j8,link:lq,nolink:LR,punctuation:q8,reflink:xR,reflinkSearch:cq,tag:aq,text:$8,url:Fc},dq={...Y1,link:fn(/^!?\[(label)\]\((.*?)\)/).replace("label",Fv).getRegex(),reflink:fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Fv).getRegex()},t0={...Y1,emStrongRDelimAst:Q8,emStrongLDelim:Y8,delLDelim:tq,delRDelim:nq,url:fn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",uD).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",uD).getRegex()},hq={...t0,br:fn(wR).replace("{2,}","*").getRegex(),text:fn(t0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Um={normal:Z1,gfm:z8,pedantic:V8},qg={normal:Y1,gfm:t0,breaks:hq,pedantic:dq},uq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},gD=o=>uq[o];function ia(o,e){if(e){if(Ks.escapeTest.test(o))return o.replace(Ks.escapeReplace,gD)}else if(Ks.escapeTestNoEncode.test(o))return o.replace(Ks.escapeReplaceNoEncode,gD);return o}function fD(o){try{o=encodeURI(o).replace(Ks.percentDecode,"%")}catch{return null}return o}function pD(o,e){var s;let t=o.replace(Ks.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(Ks.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(Ks.slashPipe,"|");return i}function kl(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 mD(o){let e=o.split(`
83
- `),t=e.length-1;for(;t>=0&&Ks.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
- `)}function gq(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 fq(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 _D(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 pq(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 Hv=class{constructor(o){Fi(this,"options");Fi(this,"rules");Fi(this,"lexer");this.options=o||Sh}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]:mD(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=pq(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=kl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:kl(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:kl(e[0],`
88
- `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=kl(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 h=a.join(`
91
- `),g=h.replace(this.rules.other.blockquoteSetextReplace,`
92
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
93
- ${h}`:h,n=n?`${n}
94
- ${g}`:g;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(g,s,!0),this.lexer.state.top=f,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 v=p,_=v.raw+`
95
- `+t.join(`
96
- `),y=this.blockquote(_);s[s.length-1]=y,i=i.substring(0,i.length-v.raw.length)+y.raw,n=n.substring(0,n.length-v.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let v=p,_=v.raw+`
97
- `+t.join(`
98
- `),y=this.list(_);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-v.raw.length)+y.raw,t=_.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,h="",g="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;h=e[0],o=o.substring(h.length);let f=fq(e[2].split(`
100
- `,1)[0],e[1].length),p=o.split(`
101
- `,1)[0],v=!f.trim(),_=0;if(this.options.pedantic?(_=2,g=f.trimStart()):v?_=e[1].length+1:(_=f.search(this.rules.other.nonSpaceChar),_=_>4?1:_,g=f.slice(_),_+=e[1].length),v&&this.rules.other.blankLine.test(p)&&(h+=p+`
102
- `,o=o.substring(p.length+1),c=!0),!c){let y=this.rules.other.nextBulletRegex(_),S=this.rules.other.hrRegex(_),D=this.rules.other.fencesBeginRegex(_),P=this.rules.other.headingBeginRegex(_),N=this.rules.other.htmlBeginRegex(_),j=this.rules.other.blockquoteBeginRegex(_);for(;o;){let H=o.split(`
103
- `,1)[0],ee;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),ee=p):ee=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||N.test(p)||j.test(p)||y.test(p)||S.test(p))break;if(ee.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
104
- `+ee.slice(_);else{if(v||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(f)||P.test(f)||S.test(f))break;g+=`
105
- `+p}v=!p.trim(),h+=H+`
106
- `,o=o.substring(H.length+1),f=ee.slice(_)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(r=!0)),n.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),n.raw+=h}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 h=c.tokens[0];if(c.task&&((h==null?void 0:h.type)==="text"||(h==null?void 0:h.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),h.raw=h.raw.replace(this.rules.other.listReplaceTask,""),h.text=h.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let g=this.rules.other.listTaskCheckbox.exec(c.raw);if(g){let f={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};c.checked=f.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=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}else c.task&&(c.task=!1);if(!n.loose){let g=c.tokens.filter(p=>p.type==="space"),f=g.length>0&&g.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=f}}if(n.loose)for(let c of n.items){c.loose=!0;for(let h of c.tokens)h.type==="text"&&(h.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=mD(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:kl(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=pD(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:kl(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(pD(a,s.header.length).map((c,h)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:s.align[h]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:kl(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=kl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=gq(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)),_D(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 _D(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,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*o.length+n);(i=h.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 g=[...i[0]][0].length,f=o.slice(0,n+i.index+g+r);if(Math.min(n,r)%2){let v=f.slice(1,-1);return{type:"em",raw:f,text:v,tokens:this.lexer.inlineTokens(v)}}let p=f.slice(2,-2);return{type:"strong",raw:f,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 h=[...i[0]][0].length,g=o.slice(0,n+i.index+h+r),f=g.slice(n,-n);return{type:"del",raw:g,text:f,tokens:this.lexer.inlineTokens(f)}}}}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}}}},Er=class i0{constructor(e){Fi(this,"tokens");Fi(this,"options");Fi(this,"state");Fi(this,"inlineQueue");Fi(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Sh,this.options.tokenizer=this.options.tokenizer||new Hv,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:Ks,block:Um.normal,inline:qg.normal};this.options.pedantic?(t.block=Um.pedantic,t.inline=qg.pedantic):this.options.gfm&&(t.block=Um.gfm,this.options.breaks?t.inline=qg.breaks:t.inline=qg.gfm),this.tokenizer.rules=t}static get rules(){return{block:Um,inline:qg}}static lex(e,t){return new i0(t).lex(e)}static lexInline(e,t){return new i0(t).inlineTokens(e)}lex(e){e=e.replace(Ks.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(Ks.tabCharGlobal," ").replace(Ks.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(g=>(c=g.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 g=t.at(-1);c.raw.length===1&&g!==void 0?g.raw+=`
113
- `:t.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
114
- `)?"":`
115
- `)+c.raw,g.text+=`
116
- `+c.text,this.inlineQueue.at(-1).src=g.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 g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
117
- `)?"":`
118
- `)+c.raw,g.text+=`
119
- `+c.raw,this.inlineQueue.at(-1).src=g.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 h=e;if((a=this.options.extensions)!=null&&a.startBlock){let g=1/0,f=e.slice(1),p;this.options.extensions.startBlock.forEach(v=>{p=v.call({lexer:this},f),typeof p=="number"&&p>=0&&(g=Math.min(g,p))}),g<1/0&&g>=0&&(h=e.substring(0,g+1))}if(this.state.top&&(c=this.tokenizer.paragraph(h))){let g=t.at(-1);i&&(g==null?void 0:g.type)==="paragraph"?(g.raw+=(g.raw.endsWith(`
120
- `)?"":`
121
- `)+c.raw,g.text+=`
122
- `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.text):t.push(c),i=h.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
123
- `)?"":`
124
- `)+c.raw,g.text+=`
125
- `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.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 h,g,f,p,v;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let _=Object.keys(this.tokens.links);if(_.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)_.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=((g=(h=this.options.hooks)==null?void 0:h.emStrongMask)==null?void 0:g.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 _;if((p=(f=this.options.extensions)==null?void 0:f.inline)!=null&&p.some(S=>(_=S.call({lexer:this},e,t))?(e=e.substring(_.raw.length),t.push(_),!0):!1))continue;if(_=this.tokenizer.escape(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.tag(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.link(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(_.raw.length);let S=t.at(-1);_.type==="text"&&(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);continue}if(_=this.tokenizer.emStrong(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.codespan(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.br(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.del(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.autolink(e)){e=e.substring(_.raw.length),t.push(_);continue}if(!this.state.inLink&&(_=this.tokenizer.url(e))){e=e.substring(_.raw.length),t.push(_);continue}let y=e;if((v=this.options.extensions)!=null&&v.startInline){let S=1/0,D=e.slice(1),P;this.options.extensions.startInline.forEach(N=>{P=N.call({lexer:this},D),typeof P=="number"&&P>=0&&(S=Math.min(S,P))}),S<1/0&&S>=0&&(y=e.substring(0,S+1))}if(_=this.tokenizer.inlineText(y)){e=e.substring(_.raw.length),_.raw.slice(-1)!=="_"&&(a=_.raw.slice(-1)),r=!0;let S=t.at(-1);(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);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)}},Wv=class{constructor(o){Fi(this,"options");Fi(this,"parser");this.options=o||Sh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Ks.notSpaceStart))==null?void 0:s[0],n=o.replace(Ks.endingNewline,"")+`
126
- `;return i?'<pre><code class="language-'+ia(i)+'">'+(t?n:ia(n,!0))+`</code></pre>
127
- `:"<pre><code>"+(t?n:ia(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>${ia(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=fD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ia(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=fD(o);if(n===null)return ia(t);o=n;let s=`<img src="${o}" alt="${ia(t)}"`;return e&&(s+=` title="${ia(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ia(o.text)}},J1=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}},Pr=class n0{constructor(e){Fi(this,"options");Fi(this,"renderer");Fi(this,"textRenderer");this.options=e||Sh,this.options.renderer=this.options.renderer||new Wv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new J1}static parse(e,t){return new n0(t).parse(e)}static parseInline(e,t){return new n0(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,h=this.options.extensions.renderers[c.type].call({parser:this},c);if(h!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){t+=h||"";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 h=this.options.extensions.renderers[a.type].call({parser:this},a);if(h!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=h||"";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 h='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(h),"";throw new Error(h)}}}return i}},$m,df=($m=class{constructor(o){Fi(this,"options");Fi(this,"block");this.options=o||Sh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Er.lex:Er.lexInline}provideParser(o=this.block){return o?Pr.parse:Pr.parseInline}},Fi($m,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Fi($m,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),$m),mq=class{constructor(...o){Fi(this,"defaults",U1());Fi(this,"options",this.setOptions);Fi(this,"parse",this.parseMarkdown(!0));Fi(this,"parseInline",this.parseMarkdown(!1));Fi(this,"Parser",Pr);Fi(this,"Renderer",Wv);Fi(this,"TextRenderer",J1);Fi(this,"Lexer",Er);Fi(this,"Tokenizer",Hv);Fi(this,"Hooks",df);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 Wv(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]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new Hv(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]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new df;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];df.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&df.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await a.call(n,h);return c.call(n,f)})();let g=a.call(n,h);return c.call(n,g)}:n[r]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await a.apply(n,h);return f===!1&&(f=await c.apply(n,h)),f})();let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}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 Er.lex(o,e??this.defaults)}parser(o,e){return Pr.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?Er.lex:Er.lexInline)(r,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let h=await(n.hooks?await n.hooks.provideParser(o):o?Pr.parse:Pr.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(h):h})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?Er.lex:Er.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?Pr.parse:Pr.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>"+ia(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},dh=new mq;function Pn(o,e){return dh.parse(o,e)}Pn.options=Pn.setOptions=function(o){return dh.setOptions(o),Pn.defaults=dh.defaults,mR(Pn.defaults),Pn};Pn.getDefaults=U1;Pn.defaults=Sh;Pn.use=function(...o){return dh.use(...o),Pn.defaults=dh.defaults,mR(Pn.defaults),Pn};Pn.walkTokens=function(o,e){return dh.walkTokens(o,e)};Pn.parseInline=dh.parseInline;Pn.Parser=Pr;Pn.parser=Pr.parse;Pn.Renderer=Wv;Pn.TextRenderer=J1;Pn.Lexer=Er;Pn.lexer=Er.lex;Pn.Tokenizer=Hv;Pn.Hooks=df;Pn.parse=Pn;Pn.options;Pn.setOptions;Pn.use;Pn.walkTokens;Pn.parseInline;Pr.parse;Er.lex;var _q=R('<span class="chat-model svelte-10ayso4"><!></span>'),vq=R('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),bq=R('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),wq=R('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),yq=R('<ul class="history-list svelte-10ayso4"></ul>'),Sq=R('<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>'),Cq=R('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),xq=R('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Lq=R('<button class="chip svelte-10ayso4"> </button>'),kq=R('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Iq=R('<div class="msg-content user-text svelte-10ayso4"> </div>'),vD=R('<span class="tool-args svelte-10ayso4"> </span>'),bD=R('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),wD=R('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),yD=R('<div class="tool-events svelte-10ayso4"></div>'),SD=R('<div class="text-block svelte-10ayso4"></div>'),Dq=R('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Eq=R('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Pq=R('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Tq=R('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Mq=R('<button class="expand-btn svelte-10ayso4"> </button>'),Nq=R('<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>'),Rq=R('<!> <div class="msg-content svelte-10ayso4"></div>',1),Aq=R("<div><!></div>"),Oq=R('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),Fq=R('<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>'),Hq=R('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Wq=R('<div class="chat-error svelte-10ayso4"> </div>'),Bq=R('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),zq=R('<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>'),Vq=R('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),jq=R('<button class="send-btn svelte-10ayso4">↑</button>'),Uq=R('<option class="svelte-10ayso4"> </option>'),$q=R('<select class="model-select svelte-10ayso4"></select>'),qq=R('<span class="model-name svelte-10ayso4"> </span>'),Kq=R('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),Gq=R('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),Zq=R('<p class="info-status svelte-10ayso4">Loading…</p>'),Xq=R('<p class="info-status info-err svelte-10ayso4"> </p>'),Yq=R('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),Jq=R('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),Qq=R('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),eK=R('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),tK=R('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),iK=R('<div class="running-model svelte-10ayso4"> </div>'),nK=R('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),sK=R('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),oK=R('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),rK=R('<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>'),aK=R('<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 lK(o,e){Io(e,!0),Ov.registerLanguage("javascript",pR),Pn.use({breaks:!0,gfm:!0});let t=tg(e,"currentScript",3,null),i=tg(e,"extraFiles",31,()=>bi([])),n=U(bi([])),s=U(null),r=U(""),a=U(!1),c=U(""),h=U(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=U(bi(localStorage.getItem(g)??f())),v=U(bi([])),_=U(!1);Rn(()=>{localStorage.setItem(g,u(p))});let y=U(bi([])),S=U(bi(localStorage.getItem("she:selectedModel")??"")),D=U(null);const P=ot(()=>{var z;return u(D)!==null&&((z=t())==null?void 0:z.path)===u(D)});let N=U(bi(new Set)),j=U(!1),H=U(null),ee=U(!1),X=U(""),fe=U(0),be=null,Te=U(0);const xe=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…","[core] solving P=NP as a warmup…","[gpu] burning GPU cycles for warmth…","[mem] compressing knowledge into tensors…","[net] asking my inner voice (busy)…","[fs] mining opinions from the void…","[core] summoning attention heads…","[io] tokenizing the vibes…","[sched] hallucinating thoughtfully…","[net] traversing the knowledge graph…","[model] manifesting an answer…"];let ct=U(!0),Pt=U(!0),dt=U(!0),ai=U(!1),Mt,Jt=U(bi([])),ge,rt;const Ae=ot(()=>({apiref:u(ct),tools:u(Pt)})),Ze=ot(()=>{var z;return((z=u(h))==null?void 0:z.configured)??!1}),pt=ot(()=>{var z;return u(Ze)||!!((z=u(h))!=null&&z.provider)&&!!u(S)}),di=ot(()=>u(fe)+new TextEncoder().encode(u(r)).length),Kt=ot(()=>u(dt)?t():null);Rn(()=>{var se;const z=(se=t())==null?void 0:se.path;I(dt,!0),u(D)!==null&&z!==u(D)&&I(D,null)}),Rn(()=>{var nt;if(!u(P))return;const z=u(n).at(-1);if(!z||z.role!=="assistant")return;const Fe=kt(z.content).find(xt=>xt.type==="code"&&kn(xt.lang));if(Fe){const xt=_n(Fe.text);(nt=e.onApply)==null||nt.call(e,xt?xt.code:Fe.text)}});async function Ct(){try{const z=await sR();I(h,z,!0),z.configured&&!u(S)&&I(S,z.model,!0)}catch{}}Rn(()=>(window.addEventListener("she:config-changed",Ct),()=>window.removeEventListener("she:config-changed",Ct))),Rn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Rn(()=>{var z;(z=u(h))!=null&&z.provider&&oR().then(se=>{I(y,se.models,!0),!u(S)&&se.models.length>0&&I(S,se.models[0],!0)}).catch(()=>{})}),Rn(()=>{u(S),I(H,null),I(X,"")}),Rn(()=>{if(!u(a))return;I(Te,Math.floor(Math.random()*xe.length),!0);const z=setInterval(()=>{I(Te,(u(Te)+1)%xe.length)},1e4);return()=>clearInterval(z)}),Rn(()=>{var z;rt&&(u(n).length+(((z=u(s))==null?void 0:z.length)??0),requestAnimationFrame(()=>{rt&&(rt.scrollTop=rt.scrollHeight)}))}),Rn(()=>{const z=u(Ae),se=u(Kt),Fe=i();u(pt)&&aR({context:z,currentScript:se??null,extraFiles:Fe.length>0?Fe:void 0}).then(nt=>{I(fe,new TextEncoder().encode(nt.prompt).length,!0)}).catch(()=>{})});function kt(z){const se=z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
- $2
146
- `),Fe=[],nt=/```(\w*)\n([\s\S]*?)```/g;let xt=0,Ne;for(;(Ne=nt.exec(se))!==null;)Ne.index>xt&&Fe.push({type:"text",text:se.slice(xt,Ne.index)}),Fe.push({type:"code",lang:Ne[1]||"text",text:Ne[2].trimEnd()}),xt=Ne.index+Ne[0].length;return xt<se.length&&Fe.push({type:"text",text:se.slice(xt)}),Fe}const yi=15;function Bi(z){return z.split(`
147
- `).length>yi}function xn(z){const se=new Set(u(N));se.has(z)?se.delete(z):se.add(z),I(N,se,!0)}function en(z,se){if(kn(se))try{return Ov.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Ai(z){return Pn.parse(z)}function Ln(z){const se=z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
- $2
149
- `),Fe=[],nt=/```(\w*)\n([\s\S]*?)```/g;let xt=0,Ne;for(;(Ne=nt.exec(se))!==null;)Ne.index>xt&&Fe.push({type:"text",text:se.slice(xt,Ne.index)}),Fe.push({type:"code",lang:Ne[1]||"text",text:Ne[2].trimEnd()}),xt=Ne.index+Ne[0].length;const $e=se.slice(xt),de=$e.match(/```(\w*)\n([\s\S]*)$/);return de?(de.index>0&&Fe.push({type:"text",text:$e.slice(0,de.index)}),Fe.push({type:"code",lang:de[1]||"text",text:de[2]})):$e&&Fe.push({type:"text",text:$e}),Fe}function mn(z){navigator.clipboard.writeText(z).catch(()=>{})}function zn(z,se=!1){var Fe;se&&t()&&I(D,t().path,!0),(Fe=e.onApply)==null||Fe.call(e,z)}function kn(z){return!z||z==="js"||z==="javascript"}function _n(z){const se=z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return se?{filename:se[1],code:z.slice(se[0].length)}:null}function Hn(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:z>=1024?`${(z/1024).toFixed(1)} kB`:`${z} B`}async function In(){if(I(j,!0),!(u(H)||u(ee))){I(ee,!0),I(X,"");try{I(H,await rR(u(S)||u(h).model),!0)}catch(z){I(X,z.message,!0)}I(ee,!1)}}function qn(z){const se=z.match(/\.([^.]+)$/);return se?se[1].toUpperCase():"?"}function Xe(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return z}}function Ft(z){i(i().filter((se,Fe)=>Fe!==z))}function li(){Mt.click()}async function Bt(z){if(!(!z||z.length===0))for(const se of Array.from(z)){const Fe=await se.text();i([...i(),{name:se.name,content:Fe}])}}function pi(z){const se=z.target;Bt(se.files),se.value=""}function Dn(z){var se;z.preventDefault(),I(ai,!1),Bt(((se=z.dataTransfer)==null?void 0:se.files)??null)}function rn(z){var se;(se=z.dataTransfer)!=null&&se.types.includes("Files")&&(z.preventDefault(),I(ai,!0))}function tn(){I(ai,!1)}async function hn(){try{I(v,await h8(),!0)}catch{}}async function Un(){var se;if(u(n).length===0)return;const z=((se=u(n).find(Fe=>Fe.role==="user"))==null?void 0:se.content.slice(0,80))??u(p);try{await u8(u(p),z,u(n)),await hn()}catch{}}async function Mi(z){try{const se=await aD(z);I(n,se.messages,!0),I(p,z,!0),I(_,!1),I(c,"")}catch{}}async function vn(z){try{await g8(z),await hn(),z===u(p)&&Tn()}catch{}}function Tn(){I(n,[],!0),I(c,""),I(p,f(),!0),I(_,!1)}vr(async()=>{Ct();try{const z=await aD(u(p));I(n,z.messages,!0)}catch{}await hn()});async function Zn(){const z=u(r).trim();if(!z||u(a))return;I(r,""),I(c,""),I(a,!0);const se={role:"user",content:z};I(n,[...u(n),se],!0),be=new AbortController,I(Jt,[],!0);try{await lR({messages:u(n),currentScript:u(Kt),context:u(Ae),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Fe=>{I(s,(u(s)??"")+Fe)},be.signal,Fe=>{I(Jt,[...u(Jt),Fe],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0),I(Jt,[],!0)}catch(Fe){if(Fe.name==="AbortError"){const nt=u(s);nt&&nt.trim()&&I(n,[...u(n),{role:"assistant",content:nt+`
150
-
151
- *[stopped]*`,toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0)}else I(c,Fe.message,!0)}finally{be=null,I(s,null),I(Jt,[],!0),I(a,!1),Un()}}function Mn(){be==null||be.abort()}function an(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Zn())}function Nn(){Tn()}const nn=["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 Se(z){I(r,z,!0),ge==null||ge.focus()}var G=aK(),Le=wt(G),at=C(Le),It=x(C(at),2);{var $t=z=>{var se=_q(),Fe=C(se);{var nt=$e=>{var de=Fr();Z(()=>K(de,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T($e,de)},xt=$e=>{var de=Fr();Z(()=>K(de,`${u(h).provider??""} · pick a model below`)),T($e,de)},Ne=$e=>{var de=Fr("Not configured");T($e,de)};q(Fe,$e=>{u(pt)?$e(nt):u(h).provider?$e(xt,1):$e(Ne,-1)})}Z(()=>Bn(se,"title",`Provider: ${u(h).provider??""}`)),T(z,se)};q(It,z=>{u(h)&&z($t)})}var F=x(It,2);let O;var Q=x(F,2);{var Ce=z=>{var se=vq();ne("click",se,Nn),T(z,se)};q(Q,z=>{u(n).length>0&&z(Ce)})}var Qe=x(at,2);{var Nt=z=>{var se=Sq(),Fe=C(se),nt=x(C(Fe),2),xt=x(Fe,2);{var Ne=de=>{var lt=bq();T(de,lt)},$e=de=>{var lt=yq();mi(lt,21,()=>u(v),ye=>ye.id,(ye,he)=>{var Wt=wq();let it;var Me=C(Wt),Re=C(Me),Ue=x(Me,2);Z(()=>{it=Ut(Wt,1,"history-item svelte-10ayso4",null,it,{"history-active":u(he).id===u(p)}),Bn(Me,"title",u(he).id),K(Re,u(he).title||u(he).id)}),ne("click",Me,()=>Mi(u(he).id)),ne("click",Ue,()=>vn(u(he).id)),T(ye,Wt)}),T(de,lt)};q(xt,de=>{u(v).length===0?de(Ne):de($e,-1)})}ne("click",nt,Tn),T(z,se)};q(Qe,z=>{u(_)&&z(Nt)})}var ke=x(Qe,2),Ie=C(ke);{var Oe=z=>{var se=Cq();T(z,se)},Tt=z=>{var se=kq(),Fe=C(se),nt=C(Fe);{var xt=de=>{var lt=xq(),ye=x(wt(lt)),he=C(ye);Z(Wt=>K(he,Wt),[()=>t().path.split("/").pop()]),T(de,lt)},Ne=de=>{var lt=Fr("No script open. Ask a general she scripting question.");T(de,lt)};q(nt,de=>{t()?de(xt):de(Ne,-1)})}var $e=x(Fe,2);mi($e,17,()=>nn,An,(de,lt)=>{var ye=Lq(),he=C(ye);Z(()=>K(he,u(lt))),ne("click",ye,()=>Se(u(lt))),T(de,ye)}),T(z,se)};q(Ie,z=>{u(Ze)?u(n).length===0&&u(s)===null&&z(Tt,1):z(Oe)})}var gt=x(Ie,2);mi(gt,17,()=>u(n),An,(z,se,Fe)=>{var nt=Aq(),xt=C(nt);{var Ne=de=>{var lt=Iq(),ye=C(lt);Z(()=>K(ye,u(se).content)),T(de,lt)},$e=de=>{const lt=ot(()=>kt(u(se).content));var ye=Rq(),he=wt(ye);{var Wt=Me=>{var Re=yD();mi(Re,21,()=>u(se).toolEvents,An,(Ue,mt)=>{var hi=Ds(),ve=wt(hi);{var Ke=Et=>{var Je=bD(),ui=x(C(Je),2),ni=C(ui),Si=x(ui,2);{var Zi=jt=>{var ln=vD(),qi=C(ln);Z(bn=>K(qi,bn),[()=>Object.entries(u(mt).args).map(([bn,sn])=>`${bn}=${JSON.stringify(sn)}`).join(", ")]),T(jt,ln)},si=ot(()=>u(mt).args&&Object.keys(u(mt).args).length>0);q(Si,jt=>{u(si)&&jt(Zi)})}Z(jt=>K(ni,jt),[()=>u(mt).name.replace(/_/g," ")]),T(Et,Je)},_t=Et=>{var Je=wD(),ui=x(C(Je),2),ni=C(ui);Z(Si=>K(ni,Si),[()=>u(mt).name.replace(/_/g," ")]),T(Et,Je)};q(ve,Et=>{u(mt).type==="tool_call"?Et(Ke):Et(_t,-1)})}T(Ue,hi)}),T(Me,Re)};q(he,Me=>{var Re;(Re=u(se).toolEvents)!=null&&Re.length&&Me(Wt)})}var it=x(he,2);mi(it,21,()=>u(lt),An,(Me,Re,Ue)=>{var mt=Ds(),hi=wt(mt);{var ve=_t=>{var Et=SD();Wl(Et,()=>Ai(u(Re).text),!0),T(_t,Et)},Ke=_t=>{const Et=ot(()=>kn(u(Re).lang)?_n(u(Re).text):null),Je=ot(()=>u(Et)?u(Et).code:u(Re).text),ui=ot(()=>`${Fe}:${Ue}`),ni=ot(()=>Bi(u(Je))),Si=ot(()=>u(N).has(u(ui)));var Zi=Nq(),si=C(Zi),jt=C(si),ln=C(jt),qi=x(jt,2),bn=C(qi),sn=x(bn,2);{var Ps=eo=>{var os=Dq();ne("click",os,()=>e.onCreateFile(u(Et).filename,u(Et).code)),T(eo,os)},jo=eo=>{var os=Tq(),$o=wt(os),Ch=x($o,2);{var Tg=Gr=>{var Pa=Eq();T(Gr,Pa)},kc=Gr=>{var Pa=Pq();ne("click",Pa,()=>zn(u(Re).text,!0)),T(Gr,Pa)};q(Ch,Gr=>{u(P)?Gr(Tg):Gr(kc,-1)})}ne("click",$o,()=>zn(u(Re).text)),T(eo,os)},Uo=ot(()=>kn(u(Re).lang)&&t());q(sn,eo=>{u(Et)&&e.onCreateFile?eo(Ps):u(Uo)&&eo(jo,1)})}var qr=x(si,2);let Kr;var br=C(qr),wr=C(br);Wl(wr,()=>en(u(Je),u(Re).lang??""),!0);var Lc=x(br,2);{var ji=eo=>{var os=Mq(),$o=C(os);Z(()=>K($o,u(Si)?"▲ collapse":"▼ expand")),ne("click",os,()=>xn(u(ui))),T(eo,os)};q(Lc,eo=>{u(ni)&&eo(ji)})}Z(()=>{K(ln,u(Et)?`new: ${u(Et).filename}`:u(Re).lang),Kr=Ut(qr,1,"code-body svelte-10ayso4",null,Kr,{collapsed:u(ni)&&!u(Si)})}),ne("click",bn,()=>mn(u(Je))),T(_t,Zi)};q(hi,_t=>{u(Re).type==="text"?_t(ve):_t(Ke,-1)})}T(Me,mt)}),T(de,ye)};q(xt,de=>{u(se).role==="user"?de(Ne):de($e,-1)})}Z(()=>Ut(nt,1,`message ${u(se).role??""}`,"svelte-10ayso4")),T(z,nt)});var Ee=x(gt,2);{var At=z=>{var se=yD();mi(se,21,()=>u(Jt),An,(Fe,nt)=>{var xt=Ds(),Ne=wt(xt);{var $e=lt=>{var ye=bD(),he=x(C(ye),2),Wt=C(he),it=x(he,2);{var Me=Ue=>{var mt=vD(),hi=C(mt);Z(ve=>K(hi,ve),[()=>Object.entries(u(nt).args).map(([ve,Ke])=>`${ve}=${JSON.stringify(Ke)}`).join(", ")]),T(Ue,mt)},Re=ot(()=>u(nt).args&&Object.keys(u(nt).args).length>0);q(it,Ue=>{u(Re)&&Ue(Me)})}Z(Ue=>K(Wt,Ue),[()=>u(nt).name.replace(/_/g," ")]),T(lt,ye)},de=lt=>{var ye=wD(),he=x(C(ye),2),Wt=C(he);Z(it=>K(Wt,it),[()=>u(nt).name.replace(/_/g," ")]),T(lt,ye)};q(Ne,lt=>{u(nt).type==="tool_call"?lt($e):lt(de,-1)})}T(Fe,xt)}),T(z,se)};q(Ee,z=>{u(Jt).length>0&&z(At)})}var Qt=x(Ee,2);{var Yt=z=>{var se=Oq(),Fe=C(se),nt=C(Fe),xt=C(nt);Z(()=>K(xt,xe[u(Te)])),T(z,se)};q(Qt,z=>{u(a)&&u(s)===null&&u(Jt).length===0&&z(Yt)})}var Vt=x(Qt,2);{var ei=z=>{var se=Hq(),Fe=C(se);mi(Fe,21,()=>Ln(u(s)),An,(nt,xt)=>{var Ne=Ds(),$e=wt(Ne);{var de=ye=>{var he=SD();Wl(he,()=>Ai(u(xt).text),!0),T(ye,he)},lt=ye=>{var he=Fq(),Wt=C(he),it=C(Wt),Me=C(it),Re=x(Wt,2),Ue=C(Re);Wl(Ue,()=>en(u(xt).text,u(xt).lang??""),!0),Z(()=>K(Me,u(xt).lang)),T(ye,he)};q($e,ye=>{u(xt).type==="text"?ye(de):ye(lt,-1)})}T(nt,Ne)}),T(z,se)};q(Vt,z=>{u(s)!==null&&z(ei)})}Cs(ke,z=>rt=z,()=>rt);var Y=x(ke,2);{var _e=z=>{var se=Wq(),Fe=C(se);Z(()=>K(Fe,u(c))),T(z,se)};q(Y,z=>{u(c)&&z(_e)})}var We=x(Y,2),Ye=C(We),bt=C(Ye),Ve=x(Ye,2),tt=C(Ve),Gt=x(Ve,2),oi=C(Gt),ii=x(We,2),zi=C(ii);{var En=z=>{const se=ot(()=>qn(t().path.split("/").pop()??t().path));var Fe=Bq();let nt;var xt=C(Fe),Ne=C(xt),$e=x(xt,2),de=C($e),lt=x($e,2),ye=C(lt);Z((he,Wt)=>{nt=Ut(Fe,1,"file-chip svelte-10ayso4",null,nt,{inactive:!u(dt)}),Ut(xt,1,`badge badge-${he??""}`,"svelte-10ayso4"),K(Ne,Wt),K(de,t().path),Bn(lt,"title",u(dt)?"Remove from context":"Re-add to context"),K(ye,u(dt)?"×":"+")},[()=>u(se).toLowerCase(),()=>Xe(u(se))]),ne("click",lt,()=>I(dt,!u(dt))),T(z,Fe)};q(zi,z=>{t()&&z(En)})}var Ni=x(zi,2);mi(Ni,17,i,An,(z,se,Fe)=>{const nt=ot(()=>qn(u(se).name));var xt=zq(),Ne=C(xt),$e=C(Ne),de=x(Ne,2),lt=C(de),ye=x(de,2);Z((he,Wt)=>{Ut(Ne,1,`badge badge-${he??""}`,"svelte-10ayso4"),K($e,Wt),K(lt,u(se).name)},[()=>u(nt).toLowerCase(),()=>Xe(u(nt))]),ne("click",ye,()=>Ft(Fe)),T(z,xt)});var ti=x(Ni,2),Vi=x(ti,2);Cs(Vi,z=>Mt=z,()=>Mt);var A=x(ii,2);let W;var ae=C(A);let ce;var ue=C(ae);Cs(ue,z=>ge=z,()=>ge);var pe=x(ae,2);{var De=z=>{var se=Vq();ne("click",se,Mn),T(z,se)},ft=z=>{var se=jq();Z(Fe=>se.disabled=Fe,[()=>!u(r).trim()||!u(pt)]),ne("click",se,Zn),T(z,se)};q(pe,z=>{u(a)?z(De):z(ft,-1)})}var Ge=x(A,2);{var je=z=>{var se=Gq(),Fe=C(se),nt=C(Fe),xt=x(Fe,2);{var Ne=ye=>{var he=$q();mi(he,21,()=>u(y),An,(Wt,it)=>{var Me=Uq(),Re=C(Me),Ue={};Z(()=>{K(Re,u(it)),Ue!==(Ue=u(it))&&(Me.value=(Me.__value=u(it))??"")}),T(Wt,Me)}),Z(()=>he.disabled=u(a)),ua(he,()=>u(S),Wt=>I(S,Wt)),T(ye,he)},$e=ye=>{var he=qq(),Wt=C(he);Z(()=>K(Wt,u(S)||u(h).model)),T(ye,he)};q(xt,ye=>{u(y).length>0?ye(Ne):ye($e,-1)})}var de=x(xt,2);{var lt=ye=>{var he=Kq();ne("click",he,In),T(ye,he)};q(de,ye=>{u(h).provider==="ollama"&&ye(lt)})}Z(()=>K(nt,u(h).provider)),T(z,se)};q(Ge,z=>{var se;(se=u(h))!=null&&se.provider&&(u(Ze)||u(y).length>0)&&z(je)})}var Ot=x(Le,2);{var qe=z=>{var se=rK(),Fe=C(se),nt=C(Fe),xt=C(nt),Ne=C(xt),$e=x(xt,2),de=x(nt,2),lt=C(de);{var ye=it=>{var Me=Zq();T(it,Me)},he=it=>{var Me=Xq(),Re=C(Me);Z(()=>K(Re,u(X))),T(it,Me)},Wt=it=>{var Me=oK(),Re=C(Me);{var Ue=si=>{var jt=Yq(),ln=x(wt(jt)),qi=C(ln);Z(()=>K(qi,u(H).version)),T(si,jt)};q(Re,si=>{u(H).version&&si(Ue)})}var mt=x(Re,2);{var hi=si=>{var jt=Jq(),ln=x(wt(jt)),qi=C(ln);Z(()=>K(qi,u(H).details.family)),T(si,jt)};q(mt,si=>{var jt;(jt=u(H).details)!=null&&jt.family&&si(hi)})}var ve=x(mt,2);{var Ke=si=>{var jt=Qq(),ln=x(wt(jt)),qi=C(ln);Z(()=>K(qi,u(H).details.parameter_size)),T(si,jt)};q(ve,si=>{var jt;(jt=u(H).details)!=null&&jt.parameter_size&&si(Ke)})}var _t=x(ve,2);{var Et=si=>{var jt=eK(),ln=x(wt(jt)),qi=C(ln);Z(()=>K(qi,u(H).details.quantization_level)),T(si,jt)};q(_t,si=>{var jt;(jt=u(H).details)!=null&&jt.quantization_level&&si(Et)})}var Je=x(_t,2);{var ui=si=>{var jt=tK(),ln=x(wt(jt)),qi=C(ln);Z(()=>K(qi,u(H).details.format)),T(si,jt)};q(Je,si=>{var jt;(jt=u(H).details)!=null&&jt.format&&si(ui)})}var ni=x(Je,2);{var Si=si=>{var jt=nK(),ln=x(wt(jt),2);mi(ln,21,()=>u(H).running,An,(qi,bn)=>{var sn=iK(),Ps=C(sn);Z(jo=>K(Ps,`${u(bn).name??""} · ${jo??""} VRAM`),[()=>Hn(u(bn).size_vram)]),T(qi,sn)}),T(si,jt)},Zi=si=>{var jt=sK();T(si,jt)};q(ni,si=>{u(H).running&&u(H).running.length>0?si(Si):u(H).running!==null&&si(Zi,1)})}T(it,Me)};q(lt,it=>{u(ee)?it(ye):u(X)?it(he,1):u(H)&&it(Wt,2)})}Z(()=>{var it;return K(Ne,`Ollama · ${(u(S)||((it=u(h))==null?void 0:it.model))??""}`)}),ne("click",se,()=>I(j,!1)),ne("click",Fe,it=>it.stopPropagation()),ne("click",$e,()=>I(j,!1)),T(z,se)};q(Ot,z=>{u(j)&&z(qe)})}Z(z=>{O=Ut(F,1,"icon-hdr-btn svelte-10ayso4",null,O,{active:u(_)}),K(oi,z),W=Ut(A,1,"input-row svelte-10ayso4",null,W,{"drag-over":u(ai)}),ce=Ut(ae,1,"textarea-wrap svelte-10ayso4",null,ce,{loading:u(a)}),Bn(ue,"placeholder",u(pt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(Ze)?"Select a model above to start chatting":"AI not configured"),ue.disabled=u(a)||!u(pt)},[()=>Hn(u(di))]),ne("click",F,()=>I(_,!u(_))),qs(bt,()=>u(ct),z=>I(ct,z)),qs(tt,()=>u(Pt),z=>I(Pt,z)),ne("click",ti,li),ne("change",Vi,pi),es("dragover",A,rn),es("dragleave",A,tn),es("drop",A,Dn),ne("keydown",ue,an),Ei(ue,()=>u(r),z=>I(r,z)),T(o,G),Do()}_r(["click","change","keydown"]);const cK={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"]},dK={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 s0=[],o0=[],r0=[];const Bv=new Map;let kR=[];const a0=new Map,l0=new Map;async function CD(){try{s0=(await nR()).map(e=>e.topic)}catch{}}async function xD(){try{const[o,e]=await Promise.all([eR(),tR()]);o0=o,r0=e}catch{}}async function LD(){try{const o=await iR();kR=o.map(e=>e.nodeId),a0.clear(),l0.clear();for(const e of o)e.name&&(a0.set(e.nodeId,e.name),l0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!Bv.has(e.nodeId))try{Bv.set(e.nodeId,await __(e.nodeId))}catch{}}))}catch{}}function hK(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp)|she\.(?:link|age|getValue|setValue|getProp|combineBool|combineMax|timer))\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 h=c[1],g=uK(h),f=gK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=qh(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=qh(h,0),v=kD(h,1)??qh(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=qh(h,0),v=kD(h,1)??qh(h,1),_=qh(h,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&v!==null&&_)return{type:"matter-attr",nodeId:p,endpointId:v,cluster:_,isSend:y}}}return null}function uK(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 gK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function qh(o,e){var s;const i=(s=IR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function kD(o,e){var s;const i=(s=IR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function IR(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 hh=Ac.CompletionItemKind;function fK(o,e){return(e?s0.filter(i=>i.startsWith(e)):s0).map(i=>({label:i,kind:hh.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function pK(o,e,t){const i=t?[...o0,...r0]:o0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:hh.Value,insertText:s,range:o,detail:r0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function mK(o,e){return kR.map(t=>{const i=a0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:hh.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function DR(o){return l0.get(o)??o}function _K(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 vK(o,e){const t=Bv.get(DR(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:hh.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function bK(o,e,t){const i=Bv.get(DR(e));if(!i)return[];const n=_K(i,t);return n?n.clusters.map(s=>({label:s.name,kind:hh.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function wK(o,e,t){return(t?dK[e]??[]:cK[e]??[]).map(n=>({label:n,kind:t?hh.Function:hh.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let ID=!1;function yK(){ID||(ID=!0,CD(),xD(),LD(),setInterval(CD,15e3),setInterval(xD,1e4),setInterval(LD,6e4),Ac.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=hK(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:fK(a,i.prefix)};case"db":return{suggestions:pK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:mK(a,i.prefix)};case"matter-endpointId":return{suggestions:vK(a,i.nodeId)};case"matter-cluster":return{suggestions:bK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:wK(a,i.cluster,i.isSend)};default:return null}}}))}var SK=R('<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),CK=R('<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),xK=R('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),LK=R('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),DD=R('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),kK=R('<ul class="tree-children svelte-1pyfjii"></ul>'),IK=R('<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>'),DK=R('<span class="dirty-dot svelte-1pyfjii">●</span>'),EK=R('<span class="err-dot svelte-1pyfjii">●</span>'),PK=R('<label class="dis-label svelte-1pyfjii" title="Disable — this script 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>'),TK=R('<span class="dis-spacer svelte-1pyfjii"></span>'),MK=R('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!></button> <!></div></li>'),NK=R('<div class="err svelte-1pyfjii"> </div>'),RK=R('<span class="tab-dirty svelte-1pyfjii">●</span>'),AK=R('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),OK=R('<div class="tab-bar svelte-1pyfjii"></div>'),FK=R('<span class="git-changes svelte-1pyfjii"> </span>'),HK=R('<span class="git-ahead svelte-1pyfjii"> </span>'),WK=R('<span class="git-behind svelte-1pyfjii"> </span>'),BK=R('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),zK=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save & Commit</button> <button class="svelte-1pyfjii">Push</button></div>',1),VK=R('<button class="danger svelte-1pyfjii">Delete</button>'),jK=R(`<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>`),UK=R('<button class="svelte-1pyfjii">Always accept in this session</button>'),$K=R('<button class="svelte-1pyfjii">Disable auto-accept</button>'),qK=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),KK=R('<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>'),GK=R('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),ZK=R('<span class="log-file svelte-1pyfjii"> </span>'),XK=R("<option> </option>"),YK=R('<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),JK=R('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),QK=R('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),eG=R('<div class="log-body svelte-1pyfjii"><!> <!></div>'),tG=R('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),iG=R('<!> <!> <!> <!> <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 nG(o,e){Io(e,!0);let t=U(bi([])),i=U(bi({})),n=U(null),s=U(null),r=U(null),a=U(null),c=U(bi([])),h=U(null),g=U(!1),f=U(""),p=U(!1),v=U(!0),_=U(null),y=U(void 0),S=U(bi(new Set));const D=new Set;let P=U(bi([])),N=U("all"),j=U(""),H=U(!1);const ee=["all","debug","info","warn","error"],X={debug:0,info:1,warn:2,error:3};function fe(V){if(u(N)!=="all"&&X[V.level]<X[u(N)])return!1;if(!u(j))return!0;if(u(H))try{return new RegExp(u(j),"i").test(V.msg)}catch{}return V.msg.toLowerCase().includes(u(j).toLowerCase())}let be=U(null);function Te(V){const re=V.currentTarget.getBoundingClientRect();I(be,{x:re.left,y:re.top},!0)}function xe(){I(be,null)}let ct,Pt,dt,ai=!1,Mt=null,Jt=!1,ge=!1,rt=U(!1),Ae=U(null),Ze=U(!1),pt=U(!1),di=U(void 0),Kt=null,Ct=null,kt=null,yi=U(bi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Bi=U(bi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),xn=U(bi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),en=!1,Ai=0,Ln=0,mn=!1,zn=0,kn=0,_n=!1,Hn=0,In=0;const qn=ot(()=>{var V;return u(h)&&u(Bt)?{path:u(h),content:((V=u(Bt).model)==null?void 0:V.getValue())??u(Bt).savedContent}:null}),Xe=ot(()=>{var V;return new Set(((V=u(_))==null?void 0:V.changes.map(re=>re.file))??[])});let Ft,li,Bt=ot(()=>u(c).find(V=>V.path===u(h))??null);const pi="she-tabs",Dn="she-active-tab",rn="she-log-open",tn="she-chat-open";let hn=tg(e,"active",3,!0);Rn(()=>{ge&&(localStorage.setItem(pi,JSON.stringify(u(c).map(V=>V.path))),u(h)?localStorage.setItem(Dn,u(h)):localStorage.removeItem(Dn))}),Rn(()=>{ge&&localStorage.setItem(tn,String(u(rt)))}),Rn(()=>{hn()&&Pt&&Pt.layout()});const Un=`
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
- combineBool(srcs: string[], target: string): void;
165
- combineMax(srcs: string[], target: string): void;
166
- timer(src: string | string[], target: string, time: number): void;
167
- mqtt: {
168
- sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
169
- pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
170
- get(topic: string): any;
171
- set(topic: string | string[], val: any): void;
172
- getProp(topic: string, ...prop: string[]): any;
173
- link(source: string | string[], target: string | string[], value?: any): void;
174
- age(topic: string): number;
175
- };
176
- api: {
177
- get(path: string, handler: (req: any) => any): void;
178
- post(path: string, handler: (req: any, body: any) => any): void;
179
- put(path: string, handler: (req: any, body: any) => any): void;
180
- delete(path: string, handler: (req: any) => any): void;
181
- };
182
- db: {
183
- get(id: string): any;
184
- set(id: string, doc: object): void;
185
- extend(id: string, partial: object): void;
186
- delete(id: string): void;
187
- prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
188
- sub(pattern: string, callback: (id: string, doc: any) => void): void;
189
- query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
190
- };
191
- matter: {
192
- sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
193
- unsub(listenerId: number): void;
194
- get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
195
- send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
196
- on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
197
- };
198
- influx: {
199
- query(fluxQuery: string): Promise<any[]>;
200
- write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
201
- getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
202
- getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
203
- };
204
- elastic: {
205
- search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
206
- get(index: string, id: string): Promise<object | null>;
207
- index(index: string, doc: object, id?: string): Promise<{ id: string }>;
208
- find(index: string, field: string, text: string, size?: number): Promise<any[]>;
209
- };
210
- };
211
- `;vr(async()=>{var me;I(v,localStorage.getItem(rn)!=="false"),I(rt,localStorage.getItem(tn)==="true"),Ac.typescript.javascriptDefaults.addExtraLib(Un,"she-api.d.ts"),Ac.typescript.javascriptDefaults.setCompilerOptions({target:Ac.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Ac.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),yK(),dt=Ha.createModel("","javascript"),Pt=Ha.create(ct,{model:dt,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Pt.onDidChangeModelContent(()=>{if(ai)return;const Dt=u(c).find(Zt=>Zt.path===u(h));Dt&&(Dt.dirty=Pt.getValue()!==Dt.savedContent),We&&clearTimeout(We),We=setTimeout(Ye,600)}),Mt=dR(Dt=>{const Zt=Dt.msg.match(/^([^:\n]+\.js):\s/);if(!Zt)return;const Ht=Zt[1];if(Dt.level==="error")D.add(Ht),u(S).has(Ht)||I(S,new Set([...u(S),Ht]),!0);else if(D.has(Ht)){D.delete(Ht);const Ti=new Set(u(S));Ti.delete(Ht),I(S,Ti,!0)}const Ui=u(c).find(Ti=>Ti.path===Ht);Ui&&(Ui.logEntries=[...Ui.logEntries.slice(-199),Dt],Ui.path===u(h)&&u(v)&&u(y)&&cS().then(()=>{u(y)&&(u(y).scrollTop=u(y).scrollHeight)}))}),await Mi(),G();const V=JSON.parse(localStorage.getItem(pi)??"[]"),re=localStorage.getItem(Dn);for(const Dt of V)await an(Dt,!1);const Pe=re&&u(c).some(Dt=>Dt.path===re)?re:((me=u(c)[0])==null?void 0:me.path)??null;Pe&&await nn(Pe),ge=!0}),rw(()=>{var V;We&&clearTimeout(We),Mt==null||Mt();for(const re of u(c))(V=re.model)==null||V.dispose();dt==null||dt.dispose(),Pt==null||Pt.dispose()});async function Mi(){try{if(I(t,await $7(),!0),!Jt){let re=function(Pe){for(const me of Pe)me.type==="dir"&&(V[me.path]=!0,me.children&&re(me.children))};Jt=!0;const V={};re(u(t)),I(i,V,!0)}I(f,"")}catch(V){I(f,V.message,!0)}}function vn(V){u(i)[V]=!u(i)[V]}function Tn(V){switch(V){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return V}}async function Zn(V,re){try{re?await Tc(`${V}/.shelib`,""):await jm(`${V}/.shelib`),await Mi()}catch(Pe){I(f,Pe.message,!0)}}async function Mn(V,re){const Pe=V.split("/").pop(),me=V.includes("/")?V.slice(0,V.lastIndexOf("/")):"",Dt=me?`${me}/.shedisable-${Pe}`:`.shedisable-${Pe}`;try{re?await Tc(Dt,""):await jm(Dt),await Mi()}catch(Zt){I(f,Zt.message,!0)}}async function an(V,re=!0){var Pe;if(u(c).some(me=>me.path===V)){re&&await nn(V);return}try{const{content:me}=await nD(V),Dt=FF.parse(`file:///she-scripts/${encodeURIComponent(V)}`);(Pe=Ha.getModel(Dt))==null||Pe.dispose();const Zt=Ha.createModel(me,_e(V),Dt);I(c,[...u(c),{path:V,dirty:!1,savedContent:me,model:Zt,logEntries:[]}],!0),re&&await nn(V)}catch(me){I(f,me.message,!0)}}async function Nn(V){await an(V,!0)}async function nn(V){const re=u(c).find(Pe=>Pe.path===V);re!=null&&re.model&&(I(h,V,!0),ai=!0,Pt.setModel(re.model),ai=!1,Ye())}async function Se(V){var me;const re=u(c).find(Dt=>Dt.path===V);if(!re||re.dirty&&!await Ft.show(`Discard unsaved changes to ${V}?`,{confirm:"Discard"}))return;const Pe=u(c).findIndex(Dt=>Dt.path===V);if((me=re.model)==null||me.dispose(),I(c,u(c).filter(Dt=>Dt.path!==V),!0),u(h)===V){const Dt=u(c)[Pe]??u(c)[Pe-1]??null;Dt?await nn(Dt.path):(I(h,null),Pt.setModel(dt))}}async function G(){try{I(_,await K7(),!0)}catch{I(_,null)}}async function Le(){if(!u(h))return;const V=u(c).find(re=>re.path===u(h));if(V){I(g,!0);try{const re=Pt.getValue();await Tc(u(h),re),V.savedContent=re,V.dirty=!1,I(f,""),G()}catch(re){I(f,re.message,!0)}finally{I(g,!1)}}}async function at(){if(!u(h)||(await Le(),u(f)))return;const V=u(h).split("/").pop()??u(h),re=await li.show("Commit message:",{initial:`update ${V}`,placeholder:"Update script",confirm:"Commit"});if(re)try{await Y7(u(h),re),G()}catch(Pe){I(f,"Git: "+Pe.message)}}async function It(){I(p,!1);try{await J7(),await G(),I(f,"")}catch(V){I(f,"Git push: "+V.message)}}async function $t(){const V=u(n)?`${u(n)}/`:"",re=await li.show("New script name:",{placeholder:V?`${V}myscript.js`:"myscript.js",initial:V,confirm:"Create"});if(!re)return;const Pe=re.endsWith(".js")?`/* global she */
212
- 'use strict';
213
-
214
- `:"";await Tc(re,Pe),await Mi(),await an(re,!0)}async function F(){const V=u(n)?`${u(n)}/`:"",re=await li.show("New folder name:",{placeholder:V?`${V}subfolder`:"myfolder",initial:V,confirm:"Create"});re&&(await q7(re),u(i)[re]=!0,await Mi())}function O(V,re){V.preventDefault(),I(s,{x:V.clientX,y:V.clientY,entry:re},!0)}function Q(){I(s,null)}async function Ce(V){Q(),I(n,V,!0),u(i)[V]=!0,await $t()}async function Qe(V){Q(),I(n,V,!0),await F()}async function Nt(V){Q();const re=V.path.includes("/")?V.path.slice(0,V.path.lastIndexOf("/")+1):"",Pe=await li.show(V.type==="dir"?"Rename folder:":"Rename script:",{initial:V.name,placeholder:V.name,confirm:"Rename"});if(!Pe||Pe===V.name)return;const me=re+Pe;try{await sD(V.path,me);const Dt=u(c).find(Zt=>Zt.path===V.path);Dt&&(Dt.path=me,u(h)===V.path&&I(h,me)),await Mi()}catch(Dt){I(f,Dt.message,!0)}}function ke(V){if(!V.children)return 0;let re=0;for(const Pe of V.children)re++,Pe.type==="dir"&&(re+=ke(Pe));return re}async function Ie(V){Q();let re=`Delete ${V.type==="dir"?"folder":"file"} "${V.path}"?`;if(V.type==="dir"){const Pe=ke(V);Pe>0&&(re+=` This will also delete ${Pe} item${Pe===1?"":"s"} inside.`)}if(await Ft.show(re,{confirm:"Delete",danger:!0})){if(V.type==="dir")for(const Pe of[...u(c)])Pe.path.startsWith(V.path+"/")&&await Se(Pe.path);else await Se(V.path);await jm(V.path),await Mi()}}async function Oe(V){Q();const{content:re}=await nD(V.path);u(P).some(Pe=>Pe.name===V.path)||I(P,[...u(P),{name:V.path,content:re}],!0),I(rt,!0)}function Tt(V,re){var Pe;I(r,re,!0),(Pe=V.dataTransfer)==null||Pe.setData("text/plain",re)}function gt(V,re){if(V.preventDefault(),u(r)&&(u(r)===re||re.startsWith(u(r)+"/"))){V.dataTransfer&&(V.dataTransfer.dropEffect="none"),I(a,null);return}V.dataTransfer&&(V.dataTransfer.dropEffect="move"),I(a,re,!0)}function Ee(){I(a,null)}async function At(V,re){var Ht,Ui,Ti;V.preventDefault(),I(a,null);const Pe=Array.from(((Ht=V.dataTransfer)==null?void 0:Ht.items)??[]).filter(ki=>ki.kind==="file");if(Pe.length>0&&!u(r)){for(const ki of Pe){const Ci=(Ui=ki.webkitGetAsEntry)==null?void 0:Ui.call(ki);Ci&&await Qt(Ci,re,!0)}await Mi();return}const me=u(r)??((Ti=V.dataTransfer)==null?void 0:Ti.getData("text/plain"));if(I(r,null),!me||me===re||re.startsWith(me+"/"))return;const Dt=me.split("/").pop(),Zt=re?`${re}/${Dt}`:Dt;if(Zt!==me)try{await sD(me,Zt);for(const ki of u(c))if(ki.path===me)u(h)===me&&I(h,Zt,!0),ki.path=Zt;else if(ki.path.startsWith(me+"/")){const Ci=Zt+ki.path.slice(me.length);u(h)===ki.path&&I(h,Ci),ki.path=Ci}await Mi()}catch(ki){I(f,ki.message,!0)}}async function Qt(V,re,Pe){if(V.isFile){const Dt=await(await new Promise((Ht,Ui)=>V.file(Ht,Ui))).text(),Zt=re?`${re}/${V.name}`:V.name;await Tc(Zt,Dt),Pe&&V.name.endsWith(".js")&&await Mn(Zt,!0)}else if(V.isDirectory){const me=V.createReader();let Dt=[],Zt;do Zt=await new Promise((Ht,Ui)=>me.readEntries(Ht,Ui)),Dt=[...Dt,...Zt];while(Zt.length>0);for(const Ht of Dt)await Qt(Ht,re?`${re}/${V.name}`:V.name,!1);if(Pe){const Ht=re?`${re}/${V.name}`:V.name;await Mn(Ht,!0)}}}async function Yt(){if(!u(h)||!await Ft.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const V=u(h);await Se(V),await jm(V),await Mi()}function Vt(){u(Bt)&&(u(Bt).logEntries=[])}function ei(){I(v,!u(v)),localStorage.setItem(rn,String(u(v)))}function Y(V){return new Date(V).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _e(V){var me;const re=((me=V.split(".").pop())==null?void 0:me.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[re]??"plaintext"}let We=null;async function Ye(){const V=u(c).find(Pe=>Pe.path===u(h));if(!(V!=null&&V.model))return;const re=V.model;try{const Zt=(await(await(await Ac.typescript.getJavaScriptWorker())(re.uri)).getSyntacticDiagnostics(re.uri.toString())).map(Ht=>{const Ui=re.getPositionAt(Ht.start??0),Ti=re.getPositionAt((Ht.start??0)+(Ht.length??0));return{severity:HF.Error,startLineNumber:Ui.lineNumber,startColumn:Ui.column,endLineNumber:Ti.lineNumber,endColumn:Ti.column,message:typeof Ht.messageText=="string"?Ht.messageText:JSON.stringify(Ht.messageText),source:"she-syntax"}});if(Ha.setModelMarkers(re,"she-syntax",Zt),u(h)){if(Zt.length>0)D.add(u(h)),u(S).has(u(h))||I(S,new Set([...u(S),u(h)]),!0);else if(D.has(u(h))){D.delete(u(h));const Ht=new Set(u(S));Ht.delete(u(h)),I(S,Ht,!0)}}}catch{}}function bt(V){en=!0,Ai=V.clientX,Ln=u(yi),V.preventDefault()}function Ve(V){mn=!0,zn=V.clientY,kn=u(Bi),V.preventDefault()}function tt(V){_n=!0,Hn=V.clientX,In=u(xn),V.preventDefault()}function Gt(V){en&&I(yi,Math.max(140,Math.min(500,Ln+V.clientX-Ai)),!0),mn&&I(Bi,Math.max(60,Math.min(500,kn-(V.clientY-zn))),!0),_n&&I(xn,Math.max(200,Math.min(700,In-(V.clientX-Hn))),!0)}function oi(){en&&(en=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(yi)))),mn&&(mn=!1,localStorage.setItem("she-scripts-log-height",String(u(Bi)))),_n&&(_n=!1,localStorage.setItem("she-scripts-chat-width",String(u(xn))))}function ii(V){(V.ctrlKey||V.metaKey)&&V.key==="s"&&(V.preventDefault(),Le()),V.key==="Escape"&&(I(p,!1),I(s,null))}async function zi(V,re){const Pe=await li.show("Save new script as:",{placeholder:"myscript.js",initial:V,confirm:"Create"});if(Pe)try{await Tc(Pe,re),await Mi(),await an(Pe,!0)}catch(me){I(f,me.message,!0)}}async function En(V){var Pe,me;if(u(Ze)&&u(h)){I(Ae,V,!0),await Ni();return}if(I(Ae,V,!0),await cS(),!u(di))return;Ct==null||Ct.dispose(),kt==null||kt.dispose(),Kt==null||Kt.dispose();const re=((me=(Pe=u(Bt))==null?void 0:Pe.model)==null?void 0:me.getValue())??"";Ct=Ha.createModel(re,"javascript"),kt=Ha.createModel(V,"javascript"),Kt=Ha.createDiffEditor(u(di),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Kt.setModel({original:Ct,modified:kt})}Rn(()=>{u(h),I(Ze,!1),I(pt,!1)});async function Ni(){if(u(Ae)===null||!u(h))return;const V=u(Ae);I(Ae,null);const re=u(c).find(Pe=>Pe.path===u(h));re!=null&&re.model&&(ai=!0,re.model.setValue(V),ai=!1,re.dirty=!1,re.savedContent=V);try{await Tc(u(h),V),I(f,""),G()}catch(Pe){I(f,Pe.message,!0)}Vi()}function ti(){I(Ae,null),Vi()}function Vi(){Kt==null||Kt.dispose(),Kt=null,Ct==null||Ct.dispose(),Ct=null,kt==null||kt.dispose(),kt=null}var A=iG();es("keydown",ed,ii),es("mousemove",ed,Gt),es("mouseup",ed,oi);var W=wt(A);Cs(im(W,{}),V=>Ft=V,()=>Ft);var ae=x(W,2);Cs(C8(ae,{}),V=>li=V,()=>li);var ce=x(ae,2);{var ue=V=>{var re=xK(),Pe=wt(re),me=x(Pe,2);let Dt;var Zt=C(me);{var Ht=Ti=>{var ki=SK(),Ci=wt(ki),Ri=x(Ci,2),Kn=x(Ri,4),go=x(Kn,2);ne("click",Ci,()=>Ce(u(s).entry.path)),ne("click",Ri,()=>Qe(u(s).entry.path)),ne("click",Kn,()=>Nt(u(s).entry)),ne("click",go,()=>Ie(u(s).entry)),T(Ti,ki)},Ui=Ti=>{var ki=CK(),Ci=wt(ki),Ri=x(Ci,2),Kn=x(Ri,2),go=x(Kn,4);ne("click",Ci,()=>Nn(u(s).entry.path)),ne("click",Ri,()=>Nt(u(s).entry)),ne("click",Kn,()=>Oe(u(s).entry)),ne("click",go,()=>Ie(u(s).entry)),T(Ti,ki)};q(Zt,Ti=>{u(s).entry.type==="dir"?Ti(Ht):Ti(Ui,-1)})}Z(()=>Dt=Bo(me,"",Dt,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),ne("click",Pe,Q),ne("contextmenu",Pe,Ti=>{Ti.preventDefault(),Q()}),T(V,re)};q(ce,V=>{u(s)&&V(ue)})}var pe=x(ce,2);{var De=V=>{var re=LK();let Pe;Z(()=>Pe=Bo(re,"",Pe,{left:`${u(be).x??""}px`,top:`${u(be).y-4}px`})),T(V,re)};q(pe,V=>{u(be)&&V(De)})}var ft=x(pe,2),Ge=C(ft);let je;{const V=(Pe,me=tw)=>{var Dt=Ds(),Zt=wt(Dt);{var Ht=Ti=>{var ki=IK(),Ci=C(ki);let Ri;var Kn=C(Ci);let go;var Ts=x(Kn,2);let Eo;var Us=C(Ts),Po=x(Ts,2);{var Zr=cs=>{var Xr=DD();T(cs,Xr)},qo=ot(()=>u(Xe).has(me().path));q(Po,cs=>{u(qo)&&cs(Zr)})}var Ms=x(Po,2),wl=C(Ms),Ko=x(Ms,2),ns=C(Ko),To=x(Ci,2);{var xh=cs=>{var Xr=kK();mi(Xr,21,()=>me().children,Ta=>Ta.path,(Ta,Mg)=>{V(Ta,()=>u(Mg))}),T(cs,Xr)};q(To,cs=>{u(i)[me().path]&&me().children&&cs(xh)})}Z(()=>{Ri=Ut(Ci,1,"dir-row svelte-1pyfjii",null,Ri,{"dir-selected":u(n)===me().path,"drag-target":u(a)===me().path}),Bn(Ci,"aria-selected",u(n)===me().path),go=Ut(Kn,1,"chevron svelte-1pyfjii",null,go,{open:u(i)[me().path]}),Eo=Ut(Ts,1,"dir-name svelte-1pyfjii",null,Eo,{lib:me().lib}),K(Us,me().name),Jw(wl,me().lib),Jw(ns,me().disabled)}),es("dragstart",Ci,cs=>Tt(cs,me().path)),es("dragover",Ci,cs=>gt(cs,me().path)),es("dragleave",Ci,Ee),es("drop",Ci,cs=>At(cs,me().path)),ne("contextmenu",Ci,cs=>O(cs,me())),ne("click",Kn,()=>vn(me().path)),ne("click",Ts,()=>{I(n,me().path,!0),u(i)[me().path]=!0}),ne("keydown",Ts,cs=>cs.key==="Enter"&&I(n,me().path,!0)),es("mouseenter",Ms,Te),es("mouseleave",Ms,xe),ne("change",wl,()=>Zn(me().path,!me().lib)),ne("change",ns,()=>Mn(me().path,!me().disabled)),T(Ti,ki)},Ui=Ti=>{const ki=ot(()=>u(S).has(me().path)),Ci=ot(()=>u(Xe).has(me().path)),Ri=ot(()=>u(c).some(Oi=>Oi.path===me().path&&Oi.dirty)),Kn=ot(()=>(me().name.split(".").pop()??"txt").toUpperCase()),go=ot(()=>me().name.endsWith(".js"));var Ts=MK();let Eo;var Us=C(Ts),Po=C(Us);let Zr;var qo=C(Po);let Ms;var wl=C(qo),Ko=x(qo,2),ns=C(Ko),To=x(Ko,2);{var xh=Oi=>{var bs=DD();T(Oi,bs)};q(To,Oi=>{u(Ci)&&Oi(xh)})}var cs=x(To);{var Xr=Oi=>{var bs=DK();T(Oi,bs)};q(cs,Oi=>{u(Ri)&&Oi(Xr)})}var Ta=x(cs,2);{var Mg=Oi=>{var bs=EK();T(Oi,bs)};q(Ta,Oi=>{u(ki)&&Oi(Mg)})}var Mw=x(Po,2);{var sm=Oi=>{var bs=PK(),Lh=C(bs);Z(()=>Jw(Lh,me().disabled)),ne("change",Lh,()=>Mn(me().path,!me().disabled)),T(Oi,bs)},Nw=Oi=>{var bs=TK();T(Oi,bs)};q(Mw,Oi=>{u(go)?Oi(sm):Oi(Nw,-1)})}Z((Oi,bs,Lh)=>{Eo=Ut(Ts,1,"tree-file svelte-1pyfjii",null,Eo,Oi),Zr=Ut(Po,1,"svelte-1pyfjii",null,Zr,{lib:me().lib,dis:me().disabled,err:u(ki)}),Ms=Ut(qo,1,`badge badge-${bs??""}`,"svelte-1pyfjii",Ms,{"badge-shelib":me().lib}),K(wl,Lh),K(ns,me().name)},[()=>({active:u(c).some(Oi=>Oi.path===me().path),"active-tab":me().path===u(h)}),()=>u(Kn).toLowerCase(),()=>Tn(u(Kn))]),es("dragstart",Ts,Oi=>Tt(Oi,me().path)),ne("contextmenu",Ts,Oi=>O(Oi,me())),ne("click",Po,()=>Nn(me().path)),T(Ti,Ts)};q(Zt,Ti=>{me().type==="dir"?Ti(Ht):Ti(Ui,-1)})}T(Pe,Dt)};var Ot=C(Ge),qe=C(Ot),z=x(qe,2),se=x(z,2),Fe=x(Ot,2);{var nt=Pe=>{var me=NK(),Dt=C(me);Z(()=>K(Dt,u(f))),T(Pe,me)};q(Fe,Pe=>{u(f)&&Pe(nt)})}var xt=x(Fe,2),Ne=C(xt);let re;var $e=x(Ne,2);mi($e,17,()=>u(t),Pe=>Pe.path,(Pe,me)=>{V(Pe,()=>u(me))}),Z(()=>re=Ut(Ne,1,"tree-root-drop svelte-1pyfjii",null,re,{"drag-target":u(a)===""})),ne("click",qe,$t),ne("click",z,F),ne("click",se,Mi),es("dragover",Ne,Pe=>gt(Pe,"")),es("dragleave",Ne,Ee),es("drop",Ne,Pe=>At(Pe,""))}var de=x(Ge,2),lt=x(de,2),ye=C(lt);{var he=V=>{var re=OK();mi(re,21,()=>u(c),Pe=>Pe.path,(Pe,me)=>{var Dt=AK();let Zt;var Ht=C(Dt),Ui=C(Ht),Ti=x(Ht,2);{var ki=Ri=>{var Kn=RK();T(Ri,Kn)};q(Ti,Ri=>{u(me).dirty&&Ri(ki)})}var Ci=x(Ti,2);Z(Ri=>{Zt=Ut(Dt,1,"tab svelte-1pyfjii",null,Zt,{active:u(me).path===u(h)}),K(Ui,Ri)},[()=>u(me).path.split("/").pop()]),ne("click",Dt,()=>nn(u(me).path)),ne("keydown",Dt,Ri=>Ri.key==="Enter"&&nn(u(me).path)),ne("click",Ci,Ri=>{Ri.stopPropagation(),Se(u(me).path)}),T(Pe,Dt)}),T(V,re)};q(ye,V=>{u(c).length>0&&V(he)})}var Wt=x(ye,2),it=C(Wt),Me=C(it),Re=x(it,2);{var Ue=V=>{var re=BK(),Pe=C(re),me=C(Pe),Dt=x(Pe,2);{var Zt=Ci=>{var Ri=FK(),Kn=C(Ri);Z(()=>{Bn(Ri,"title",`${u(_).changes.length??""} uncommitted change(s)`),K(Kn,`✎${u(_).changes.length??""}`)}),T(Ci,Ri)};q(Dt,Ci=>{u(_).changes.length>0&&Ci(Zt)})}var Ht=x(Dt,2);{var Ui=Ci=>{var Ri=HK(),Kn=C(Ri);Z(()=>{Bn(Ri,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),K(Kn,`↑${u(_).ahead??""}`)}),T(Ci,Ri)};q(Ht,Ci=>{u(_).ahead>0&&Ci(Ui)})}var Ti=x(Ht,2);{var ki=Ci=>{var Ri=WK(),Kn=C(Ri);Z(()=>{Bn(Ri,"title",`${u(_).behind??""} commit(s) behind upstream`),K(Kn,`↓${u(_).behind??""}`)}),T(Ci,Ri)};q(Ti,Ci=>{u(_).behind>0&&Ci(ki)})}Z(()=>{Bn(Pe,"title",`Branch: ${u(_).branch??""}`),K(me,`⎇ ${u(_).branch??""}`)}),T(V,re)};q(Re,V=>{u(_)&&V(Ue)})}var mt=x(Re,2),hi=C(mt),ve=C(hi),Ke=C(ve),_t=x(ve,2),Et=x(hi,2);{var Je=V=>{var re=zK(),Pe=wt(re),me=x(Pe,2),Dt=C(me),Zt=x(Dt,2),Ht=x(Zt,2);Z(()=>Ht.disabled=!u(_)),ne("click",Pe,()=>I(p,!1)),ne("click",Dt,()=>{I(p,!1),Le()}),ne("click",Zt,()=>{I(p,!1),at()}),ne("click",Ht,It),T(V,re)};q(Et,V=>{u(p)&&V(Je)})}var ui=x(mt,2);{var ni=V=>{var re=VK();ne("click",re,Yt),T(V,re)};q(ui,V=>{u(h)&&V(ni)})}var Si=x(ui,2);let Zi;var si=x(Wt,2),jt=C(si),ln=C(jt),qi=C(ln);Cs(qi,V=>ct=V,()=>ct);var bn=x(qi,2);{var sn=V=>{var re=jK();T(V,re)};q(bn,V=>{u(h)||V(sn)})}var Ps=x(bn,2);{var jo=V=>{var re=KK(),Pe=C(re),me=C(Pe),Dt=x(C(me)),Zt=C(Dt),Ht=x(me,2),Ui=C(Ht),Ti=C(Ui),ki=C(Ti),Ci=C(ki),Ri=x(ki,2),Kn=x(Ti,2);{var go=Us=>{var Po=qK(),Zr=wt(Po),qo=x(Zr,2),Ms=C(qo);{var wl=ns=>{var To=UK();ne("click",To,()=>{I(pt,!1),I(Ze,!0),Ni()}),T(ns,To)},Ko=ns=>{var To=$K();ne("click",To,()=>{I(pt,!1),I(Ze,!1)}),T(ns,To)};q(Ms,ns=>{u(Ze)?ns(Ko,-1):ns(wl)})}ne("click",Zr,()=>I(pt,!1)),T(Us,Po)};q(Kn,Us=>{u(pt)&&Us(go)})}var Ts=x(Ui,2),Eo=x(Pe,2);Cs(Eo,Us=>I(di,Us),()=>u(di)),Z(Us=>{K(Zt,Us),K(Ci,u(Ze)?"Auto-accept ✓":"Accept")},[()=>{var Us;return(Us=u(h))==null?void 0:Us.split("/").pop()}]),ne("click",ki,Ni),ne("click",Ri,()=>I(pt,!u(pt))),ne("click",Ts,ti),T(V,re)};q(Ps,V=>{u(Ae)!==null&&V(jo)})}var Uo=x(ln,2);let qr,Kr;var br=C(Uo);{var wr=V=>{var re=GK();ne("mousedown",re,Ve),T(V,re)};q(br,V=>{u(v)&&V(wr)})}var Lc=x(br,2),ji=C(Lc),eo=C(ji),os=x(eo);{var $o=V=>{var re=ZK(),Pe=C(re);Z(me=>K(Pe,`— ${me??""}`),[()=>u(h).split("/").pop()]),T(V,re)};q(os,V=>{u(h)&&V($o)})}var Ch=x(ji,2);{var Tg=V=>{var re=YK(),Pe=wt(re);mi(Pe,21,()=>ee,An,(Ui,Ti)=>{var ki=XK(),Ci=C(ki),Ri={};Z(()=>{K(Ci,u(Ti)),Ri!==(Ri=u(Ti))&&(ki.value=(ki.__value=u(Ti))??"")}),T(Ui,ki)});var me=x(Pe,2),Dt=x(me,2),Zt=C(Dt),Ht=x(Dt,2);ua(Pe,()=>u(N),Ui=>I(N,Ui)),Ei(me,()=>u(j),Ui=>I(j,Ui)),qs(Zt,()=>u(H),Ui=>I(H,Ui)),ne("click",Ht,Vt),T(V,re)};q(Ch,V=>{u(v)&&V(Tg)})}var kc=x(Lc,2);{var Gr=V=>{var re=eG(),Pe=C(re);mi(Pe,17,()=>{var Zt;return(((Zt=u(Bt))==null?void 0:Zt.logEntries)??[]).filter(fe)},Zt=>Zt.ts+Zt.msg,(Zt,Ht)=>{var Ui=JK(),Ti=C(Ui),ki=C(Ti),Ci=x(Ti,2),Ri=C(Ci),Kn=x(Ci,2),go=C(Kn);Z((Ts,Eo)=>{Ut(Ui,1,`log-line ${u(Ht).level??""}`,"svelte-1pyfjii"),K(ki,Ts),K(Ri,Eo),K(go,u(Ht).msg)},[()=>Y(u(Ht).ts),()=>u(Ht).level.toUpperCase()]),T(Zt,Ui)});var me=x(Pe,2);{var Dt=Zt=>{var Ht=QK();T(Zt,Ht)};q(me,Zt=>{var Ht;(((Ht=u(Bt))==null?void 0:Ht.logEntries.length)??0)===0&&Zt(Dt)})}Cs(re,Zt=>I(y,Zt),()=>u(y)),T(V,re)};q(kc,V=>{u(v)&&V(Gr)})}var Pa=x(jt,2);{var Tw=V=>{var re=tG(),Pe=wt(re),me=x(Pe,2);let Dt;var Zt=C(me);lK(Zt,{get currentScript(){return u(qn)},onApply:En,onCreateFile:zi,get extraFiles(){return u(P)},set extraFiles(Ht){I(P,Ht,!0)}}),Z(()=>Dt=Bo(me,"",Dt,{width:`${u(xn)??""}px`})),ne("mousedown",Pe,tt),T(V,re)};q(Pa,V=>{u(rt)&&V(Tw)})}Z(()=>{var V;je=Bo(Ge,"",je,{width:`${u(yi)??""}px`}),K(Me,u(h)??"No file selected"),ve.disabled=!((V=u(Bt))!=null&&V.dirty)||u(g),K(Ke,u(g)?"Saving…":"Save"),_t.disabled=!u(h),Zi=Ut(Si,1,"ai-toggle svelte-1pyfjii",null,Zi,{"ai-open":u(rt)}),Bn(Si,"title",u(rt)?"Close AI assistant":"Open AI assistant"),qr=Ut(Uo,1,"log-panel svelte-1pyfjii",null,qr,{collapsed:!u(v)}),Kr=Bo(Uo,"",Kr,{height:u(v)?`${u(Bi)}px`:"26px"}),K(eo,`${u(v)?"▾":"▸"} Script Log `)}),ne("mousedown",de,bt),ne("click",ve,Le),ne("click",_t,()=>I(p,!u(p))),ne("click",Si,()=>I(rt,!u(rt))),ne("click",ji,ei),T(o,A),Do()}_r(["click","contextmenu","keydown","change","mousedown"]);const ER="she-theme";function sG(){return localStorage.getItem(ER)??"dark"}function oG(o){localStorage.setItem(ER,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var hf={exports:{}};/* @preserve
215
- * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
216
- * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
217
- */var rG=hf.exports,ED;function aG(){return ED||(ED=1,(function(o,e){(function(t,i){i(e)})(rG,(function(t){var i="1.9.4";function n(l){var d,m,b,k;for(m=1,b=arguments.length;m<b;m++){k=arguments[m];for(d in k)l[d]=k[d]}return l}var s=Object.create||(function(){function l(){}return function(d){return l.prototype=d,new l}})();function r(l,d){var m=Array.prototype.slice;if(l.bind)return l.bind.apply(l,m.call(arguments,1));var b=m.call(arguments,2);return function(){return l.apply(d,b.length?b.concat(m.call(arguments)):arguments)}}var a=0;function c(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function h(l,d,m){var b,k,E,$;return $=function(){b=!1,k&&(E.apply(m,k),k=!1)},E=function(){b?k=arguments:(l.apply(m,arguments),setTimeout($,d),b=!0)},E}function g(l,d,m){var b=d[1],k=d[0],E=b-k;return l===b&&m?l:((l-k)%E+E)%E+k}function f(){return!1}function p(l,d){if(d===!1)return l;var m=Math.pow(10,d===void 0?6:d);return Math.round(l*m)/m}function v(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function _(l){return v(l).split(/\s+/)}function y(l,d){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var m in d)l.options[m]=d[m];return l.options}function S(l,d,m){var b=[];for(var k in l)b.push(encodeURIComponent(m?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!d||d.indexOf("?")===-1?"?":"&")+b.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,d){return l.replace(D,function(m,b){var k=d[b];if(k===void 0)throw new Error("No value provided for variable "+m);return typeof k=="function"&&(k=k(d)),k})}var N=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function j(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function ee(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function fe(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var be=window.requestAnimationFrame||ee("RequestAnimationFrame")||fe,Te=window.cancelAnimationFrame||ee("CancelAnimationFrame")||ee("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function xe(l,d,m){if(m&&be===fe)l.call(d);else return be.call(window,r(l,d))}function ct(l){l&&Te.call(window,l)}var Pt={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:c,throttle:h,wrapNum:g,falseFn:f,formatNum:p,trim:v,splitWords:_,setOptions:y,getParamString:S,template:P,isArray:N,indexOf:j,emptyImageUrl:H,requestFn:be,cancelFn:Te,requestAnimFrame:xe,cancelAnimFrame:ct};function dt(){}dt.extend=function(l){var d=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},m=d.__super__=this.prototype,b=s(m);b.constructor=d,d.prototype=b;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(d[k]=this[k]);return l.statics&&n(d,l.statics),l.includes&&(ai(l.includes),n.apply(null,[b].concat(l.includes))),n(b,l),delete b.statics,delete b.includes,b.options&&(b.options=m.options?s(m.options):{},n(b.options,l.options)),b._initHooks=[],b.callInitHooks=function(){if(!this._initHooksCalled){m.callInitHooks&&m.callInitHooks.call(this),this._initHooksCalled=!0;for(var E=0,$=b._initHooks.length;E<$;E++)b._initHooks[E].call(this)}},d},dt.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},dt.mergeOptions=function(l){return n(this.prototype.options,l),this},dt.addInitHook=function(l){var d=Array.prototype.slice.call(arguments,1),m=typeof l=="function"?l:function(){this[l].apply(this,d)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(m),this};function ai(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=N(l)?l:[l];for(var d=0;d<l.length;d++)l[d]===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 Mt={on:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d);else{l=_(l);for(var k=0,E=l.length;k<E;k++)this._on(l[k],d,m)}return this},off:function(l,d,m){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var b in l)this._off(b,l[b],d);else{l=_(l);for(var k=arguments.length===1,E=0,$=l.length;E<$;E++)k?this._off(l[E]):this._off(l[E],d,m)}return this},_on:function(l,d,m,b){if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}if(this._listens(l,d,m)===!1){m===this&&(m=void 0);var k={fn:d,ctx:m};b&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,d,m){var b,k,E;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(k=0,E=b.length;k<E;k++)b[k].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var $=this._listens(l,d,m);if($!==!1){var te=b[$];this._firingCount&&(te.fn=f,this._events[l]=b=b.slice()),b.splice($,1)}}},fire:function(l,d,m){if(!this.listens(l,m))return this;var b=n({},d,{type:l,target:this,sourceTarget:d&&d.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var E=0,$=k.length;E<$;E++){var te=k[E],le=te.fn;te.once&&this.off(l,le,te.ctx),le.call(te.ctx||this,b)}this._firingCount--}}return m&&this._propagateEvent(b),this},listens:function(l,d,m,b){typeof l!="string"&&console.warn('"string" type argument expected');var k=d;typeof d!="function"&&(b=!!d,k=void 0,m=void 0);var E=this._events&&this._events[l];if(E&&E.length&&this._listens(l,k,m)!==!1)return!0;if(b){for(var $ in this._eventParents)if(this._eventParents[$].listens(l,d,m,b))return!0}return!1},_listens:function(l,d,m){if(!this._events)return!1;var b=this._events[l]||[];if(!d)return!!b.length;m===this&&(m=void 0);for(var k=0,E=b.length;k<E;k++)if(b[k].fn===d&&b[k].ctx===m)return k;return!1},once:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d,!0);else{l=_(l);for(var k=0,E=l.length;k<E;k++)this._on(l[k],d,m,!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 d in this._eventParents)this._eventParents[d].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};Mt.addEventListener=Mt.on,Mt.removeEventListener=Mt.clearAllEventListeners=Mt.off,Mt.addOneTimeEventListener=Mt.once,Mt.fireEvent=Mt.fire,Mt.hasEventListeners=Mt.listens;var Jt=dt.extend(Mt);function ge(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var rt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};ge.prototype={clone:function(){return new ge(this.x,this.y)},add:function(l){return this.clone()._add(Ae(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ae(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 ge(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new ge(this.x/l.x,this.y/l.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=rt(this.x),this.y=rt(this.y),this},distanceTo:function(l){l=Ae(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Ae(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ae(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 Ae(l,d,m){return l instanceof ge?l:N(l)?new ge(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new ge(l.x,l.y):new ge(l,d,m)}function Ze(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}Ze.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof ge||typeof l[0]=="number"||"x"in l)d=m=Ae(l);else if(l=pt(l),d=l.min,m=l.max,!d||!m)return this;return!this.min&&!this.max?(this.min=d.clone(),this.max=m.clone()):(this.min.x=Math.min(d.x,this.min.x),this.max.x=Math.max(m.x,this.max.x),this.min.y=Math.min(d.y,this.min.y),this.max.y=Math.max(m.y,this.max.y)),this},getCenter:function(l){return Ae((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ae(this.min.x,this.max.y)},getTopRight:function(){return Ae(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 d,m;return typeof l[0]=="number"||l instanceof ge?l=Ae(l):l=pt(l),l instanceof Ze?(d=l.min,m=l.max):d=m=l,d.x>=this.min.x&&m.x<=this.max.x&&d.y>=this.min.y&&m.y<=this.max.y},intersects:function(l){l=pt(l);var d=this.min,m=this.max,b=l.min,k=l.max,E=k.x>=d.x&&b.x<=m.x,$=k.y>=d.y&&b.y<=m.y;return E&&$},overlaps:function(l){l=pt(l);var d=this.min,m=this.max,b=l.min,k=l.max,E=k.x>d.x&&b.x<m.x,$=k.y>d.y&&b.y<m.y;return E&&$},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var d=this.min,m=this.max,b=Math.abs(d.x-m.x)*l,k=Math.abs(d.y-m.y)*l;return pt(Ae(d.x-b,d.y-k),Ae(m.x+b,m.y+k))},equals:function(l){return l?(l=pt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function pt(l,d){return!l||l instanceof Ze?l:new Ze(l,d)}function di(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}di.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,k;if(l instanceof Ct)b=l,k=l;else if(l instanceof di){if(b=l._southWest,k=l._northEast,!b||!k)return this}else return l?this.extend(kt(l)||Kt(l)):this;return!d&&!m?(this._southWest=new Ct(b.lat,b.lng),this._northEast=new Ct(k.lat,k.lng)):(d.lat=Math.min(b.lat,d.lat),d.lng=Math.min(b.lng,d.lng),m.lat=Math.max(k.lat,m.lat),m.lng=Math.max(k.lng,m.lng)),this},pad:function(l){var d=this._southWest,m=this._northEast,b=Math.abs(d.lat-m.lat)*l,k=Math.abs(d.lng-m.lng)*l;return new di(new Ct(d.lat-b,d.lng-k),new Ct(m.lat+b,m.lng+k))},getCenter:function(){return new Ct((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 Ct(this.getNorth(),this.getWest())},getSouthEast:function(){return new Ct(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 Ct||"lat"in l?l=kt(l):l=Kt(l);var d=this._southWest,m=this._northEast,b,k;return l instanceof di?(b=l.getSouthWest(),k=l.getNorthEast()):b=k=l,b.lat>=d.lat&&k.lat<=m.lat&&b.lng>=d.lng&&k.lng<=m.lng},intersects:function(l){l=Kt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),E=k.lat>=d.lat&&b.lat<=m.lat,$=k.lng>=d.lng&&b.lng<=m.lng;return E&&$},overlaps:function(l){l=Kt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),E=k.lat>d.lat&&b.lat<m.lat,$=k.lng>d.lng&&b.lng<m.lng;return E&&$},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=Kt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Kt(l,d){return l instanceof di?l:new di(l,d)}function Ct(l,d,m){if(isNaN(l)||isNaN(d))throw new Error("Invalid LatLng object: ("+l+", "+d+")");this.lat=+l,this.lng=+d,m!==void 0&&(this.alt=+m)}Ct.prototype={equals:function(l,d){if(!l)return!1;l=kt(l);var m=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return m<=(d===void 0?1e-9:d)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return Bi.distance(this,kt(l))},wrap:function(){return Bi.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Kt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Ct(this.lat,this.lng,this.alt)}};function kt(l,d,m){return l instanceof Ct?l:N(l)&&typeof l[0]!="object"?l.length===3?new Ct(l[0],l[1],l[2]):l.length===2?new Ct(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Ct(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Ct(l,d,m)}var yi={latLngToPoint:function(l,d){var m=this.projection.project(l),b=this.scale(d);return this.transformation._transform(m,b)},pointToLatLng:function(l,d){var m=this.scale(d),b=this.transformation.untransform(l,m);return this.projection.unproject(b)},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 d=this.projection.bounds,m=this.scale(l),b=this.transformation.transform(d.min,m),k=this.transformation.transform(d.max,m);return new Ze(b,k)},infinite:!1,wrapLatLng:function(l){var d=this.wrapLng?g(l.lng,this.wrapLng,!0):l.lng,m=this.wrapLat?g(l.lat,this.wrapLat,!0):l.lat,b=l.alt;return new Ct(m,d,b)},wrapLatLngBounds:function(l){var d=l.getCenter(),m=this.wrapLatLng(d),b=d.lat-m.lat,k=d.lng-m.lng;if(b===0&&k===0)return l;var E=l.getSouthWest(),$=l.getNorthEast(),te=new Ct(E.lat-b,E.lng-k),le=new Ct($.lat-b,$.lng-k);return new di(te,le)}},Bi=n({},yi,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,k=d.lat*m,E=Math.sin((d.lat-l.lat)*m/2),$=Math.sin((d.lng-l.lng)*m/2),te=E*E+Math.cos(b)*Math.cos(k)*$*$,le=2*Math.atan2(Math.sqrt(te),Math.sqrt(1-te));return this.R*le}}),xn=6378137,en={R:xn,MAX_LATITUDE:85.0511287798,project:function(l){var d=Math.PI/180,m=this.MAX_LATITUDE,b=Math.max(Math.min(m,l.lat),-m),k=Math.sin(b*d);return new ge(this.R*l.lng*d,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var d=180/Math.PI;return new Ct((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=xn*Math.PI;return new Ze([-l,-l],[l,l])})()};function Ai(l,d,m,b){if(N(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=d,this._c=m,this._d=b}Ai.prototype={transform:function(l,d){return this._transform(l.clone(),d)},_transform:function(l,d){return d=d||1,l.x=d*(this._a*l.x+this._b),l.y=d*(this._c*l.y+this._d),l},untransform:function(l,d){return d=d||1,new ge((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function Ln(l,d,m,b){return new Ai(l,d,m,b)}var mn=n({},Bi,{code:"EPSG:3857",projection:en,transformation:(function(){var l=.5/(Math.PI*en.R);return Ln(l,.5,-l,.5)})()}),zn=n({},mn,{code:"EPSG:900913"});function kn(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function _n(l,d){var m="",b,k,E,$,te,le;for(b=0,E=l.length;b<E;b++){for(te=l[b],k=0,$=te.length;k<$;k++)le=te[k],m+=(k?"L":"M")+le.x+" "+le.y;m+=d?Ee.svg?"z":"x":""}return m||"M0 0"}var Hn=document.documentElement.style,In="ActiveXObject"in window,qn=In&&!document.addEventListener,Xe="msLaunchUri"in navigator&&!("documentMode"in document),Ft=gt("webkit"),li=gt("android"),Bt=gt("android 2")||gt("android 3"),pi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Dn=li&&gt("Google")&&pi<537&&!("AudioNode"in window),rn=!!window.opera,tn=!Xe&&gt("chrome"),hn=gt("gecko")&&!Ft&&!rn&&!In,Un=!tn&&gt("safari"),Mi=gt("phantom"),vn="OTransition"in Hn,Tn=navigator.platform.indexOf("Win")===0,Zn=In&&"transition"in Hn,Mn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Bt,an="MozPerspective"in Hn,Nn=!window.L_DISABLE_3D&&(Zn||Mn||an)&&!vn&&!Mi,nn=typeof orientation<"u"||gt("mobile"),Se=nn&&Ft,G=nn&&Mn,Le=!window.PointerEvent&&window.MSPointerEvent,at=!!(window.PointerEvent||Le),It="ontouchstart"in window||!!window.TouchEvent,$t=!window.L_NO_TOUCH&&(It||at),F=nn&&rn,O=nn&&hn,Q=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Ce=(function(){var l=!1;try{var d=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",f,d),window.removeEventListener("testPassiveEventSupport",f,d)}catch{}return l})(),Qe=(function(){return!!document.createElement("canvas").getContext})(),Nt=!!(document.createElementNS&&kn("svg").createSVGRect),ke=!!Nt&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Ie=!Nt&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var d=l.firstChild;return d.style.behavior="url(#default#VML)",d&&typeof d.adj=="object"}catch{return!1}})(),Oe=navigator.platform.indexOf("Mac")===0,Tt=navigator.platform.indexOf("Linux")===0;function gt(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Ee={ie:In,ielt9:qn,edge:Xe,webkit:Ft,android:li,android23:Bt,androidStock:Dn,opera:rn,chrome:tn,gecko:hn,safari:Un,phantom:Mi,opera12:vn,win:Tn,ie3d:Zn,webkit3d:Mn,gecko3d:an,any3d:Nn,mobile:nn,mobileWebkit:Se,mobileWebkit3d:G,msPointer:Le,pointer:at,touch:$t,touchNative:It,mobileOpera:F,mobileGecko:O,retina:Q,passiveEvents:Ce,canvas:Qe,svg:Nt,vml:Ie,inlineSvg:ke,mac:Oe,linux:Tt},At=Ee.msPointer?"MSPointerDown":"pointerdown",Qt=Ee.msPointer?"MSPointerMove":"pointermove",Yt=Ee.msPointer?"MSPointerUp":"pointerup",Vt=Ee.msPointer?"MSPointerCancel":"pointercancel",ei={touchstart:At,touchmove:Qt,touchend:Yt,touchcancel:Vt},Y={touchstart:zi,touchmove:ii,touchend:ii,touchcancel:ii},_e={},We=!1;function Ye(l,d,m){return d==="touchstart"&&oi(),Y[d]?(m=Y[d].bind(this,m),l.addEventListener(ei[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function bt(l,d,m){if(!ei[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ei[d],m,!1)}function Ve(l){_e[l.pointerId]=l}function tt(l){_e[l.pointerId]&&(_e[l.pointerId]=l)}function Gt(l){delete _e[l.pointerId]}function oi(){We||(document.addEventListener(At,Ve,!0),document.addEventListener(Qt,tt,!0),document.addEventListener(Yt,Gt,!0),document.addEventListener(Vt,Gt,!0),We=!0)}function ii(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in _e)d.touches.push(_e[m]);d.changedTouches=[d],l(d)}}function zi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&sn(d),ii(l,d)}function En(l){var d={},m,b;for(b in l)m=l[b],d[b]=m&&m.bind?m.bind(l):m;return l=d,d.type="dblclick",d.detail=2,d.isTrusted=!1,d._simulated=!0,d}var Ni=200;function ti(l,d){l.addEventListener("dblclick",d);var m=0,b;function k(E){if(E.detail!==1){b=E.detail;return}if(!(E.pointerType==="mouse"||E.sourceCapabilities&&!E.sourceCapabilities.firesTouchEvents)){var $=jo(E);if(!($.some(function(le){return le instanceof HTMLLabelElement&&le.attributes.for})&&!$.some(function(le){return le instanceof HTMLInputElement||le instanceof HTMLSelectElement}))){var te=Date.now();te-m<=Ni?(b++,b===2&&d(En(E))):b=1,m=te}}}return l.addEventListener("click",k),{dblclick:d,simDblclick:k}}function Vi(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var A=Ne(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),W=Ne(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ae=W==="webkitTransition"||W==="OTransition"?W+"End":"transitionend";function ce(l){return typeof l=="string"?document.getElementById(l):l}function ue(l,d){var m=l.style[d]||l.currentStyle&&l.currentStyle[d];if((!m||m==="auto")&&document.defaultView){var b=document.defaultView.getComputedStyle(l,null);m=b?b[d]:null}return m==="auto"?null:m}function pe(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function De(l){var d=l.parentNode;d&&d.removeChild(l)}function ft(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Ge(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function je(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function Ot(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=Fe(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function qe(l,d){if(l.classList!==void 0)for(var m=_(d),b=0,k=m.length;b<k;b++)l.classList.add(m[b]);else if(!Ot(l,d)){var E=Fe(l);se(l,(E?E+" ":"")+d)}}function z(l,d){l.classList!==void 0?l.classList.remove(d):se(l,v((" "+Fe(l)+" ").replace(" "+d+" "," ")))}function se(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function Fe(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function nt(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&xt(l,d)}function xt(l,d){var m=!1,b="DXImageTransform.Microsoft.Alpha";try{m=l.filters.item(b)}catch{if(d===1)return}d=Math.round(d*100),m?(m.Enabled=d!==100,m.Opacity=d):l.style.filter+=" progid:"+b+"(opacity="+d+")"}function Ne(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function $e(l,d,m){var b=d||new ge(0,0);l.style[A]=(Ee.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function de(l,d){l._leaflet_pos=d,Ee.any3d?$e(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function lt(l){return l._leaflet_pos||new ge(0,0)}var ye,he,Wt;if("onselectstart"in document)ye=function(){Je(window,"selectstart",sn)},he=function(){ni(window,"selectstart",sn)};else{var it=Ne(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ye=function(){if(it){var l=document.documentElement.style;Wt=l[it],l[it]="none"}},he=function(){it&&(document.documentElement.style[it]=Wt,Wt=void 0)}}function Me(){Je(window,"dragstart",sn)}function Re(){ni(window,"dragstart",sn)}var Ue,mt;function hi(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ve(),Ue=l,mt=l.style.outlineStyle,l.style.outlineStyle="none",Je(window,"keydown",ve))}function ve(){Ue&&(Ue.style.outlineStyle=mt,Ue=void 0,mt=void 0,ni(window,"keydown",ve))}function Ke(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function _t(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var Et={__proto__:null,TRANSFORM:A,TRANSITION:W,TRANSITION_END:ae,get:ce,getStyle:ue,create:pe,remove:De,empty:ft,toFront:Ge,toBack:je,hasClass:Ot,addClass:qe,removeClass:z,setClass:se,getClass:Fe,setOpacity:nt,testProp:Ne,setTransform:$e,setPosition:de,getPosition:lt,get disableTextSelection(){return ye},get enableTextSelection(){return he},disableImageDrag:Me,enableImageDrag:Re,preventOutline:hi,restoreOutline:ve,getSizedParentNode:Ke,getScale:_t};function Je(l,d,m,b){if(d&&typeof d=="object")for(var k in d)si(l,k,d[k],m);else{d=_(d);for(var E=0,$=d.length;E<$;E++)si(l,d[E],m,b)}return this}var ui="_leaflet_events";function ni(l,d,m,b){if(arguments.length===1)Si(l),delete l[ui];else if(d&&typeof d=="object")for(var k in d)jt(l,k,d[k],m);else if(d=_(d),arguments.length===2)Si(l,function(te){return j(d,te)!==-1});else for(var E=0,$=d.length;E<$;E++)jt(l,d[E],m,b);return this}function Si(l,d){for(var m in l[ui]){var b=m.split(/\d/)[0];(!d||d(b))&&jt(l,b,null,null,m)}}var Zi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function si(l,d,m,b){var k=d+c(m)+(b?"_"+c(b):"");if(l[ui]&&l[ui][k])return this;var E=function(te){return m.call(b||l,te||window.event)},$=E;!Ee.touchNative&&Ee.pointer&&d.indexOf("touch")===0?E=Ye(l,d,E):Ee.touch&&d==="dblclick"?E=ti(l,E):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(Zi[d]||d,E,Ee.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(E=function(te){te=te||window.event,br(l,te)&&$(te)},l.addEventListener(Zi[d],E,!1)):l.addEventListener(d,$,!1):l.attachEvent("on"+d,E),l[ui]=l[ui]||{},l[ui][k]=E}function jt(l,d,m,b,k){k=k||d+c(m)+(b?"_"+c(b):"");var E=l[ui]&&l[ui][k];if(!E)return this;!Ee.touchNative&&Ee.pointer&&d.indexOf("touch")===0?bt(l,d,E):Ee.touch&&d==="dblclick"?Vi(l,E):"removeEventListener"in l?l.removeEventListener(Zi[d]||d,E,!1):l.detachEvent("on"+d,E),l[ui][k]=null}function ln(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function qi(l){return si(l,"wheel",ln),this}function bn(l){return Je(l,"mousedown touchstart dblclick contextmenu",ln),l._leaflet_disable_click=!0,this}function sn(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ps(l){return sn(l),ln(l),this}function jo(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function Uo(l,d){if(!d)return new ge(l.clientX,l.clientY);var m=_t(d),b=m.boundingClientRect;return new ge((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var qr=Ee.linux&&Ee.chrome?window.devicePixelRatio:Ee.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Kr(l){return Ee.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/qr: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 br(l,d){var m=d.relatedTarget;if(!m)return!0;try{for(;m&&m!==l;)m=m.parentNode}catch{return!1}return m!==l}var wr={__proto__:null,on:Je,off:ni,stopPropagation:ln,disableScrollPropagation:qi,disableClickPropagation:bn,preventDefault:sn,stop:Ps,getPropagationPath:jo,getMousePosition:Uo,getWheelDelta:Kr,isExternalTarget:br,addListener:Je,removeListener:ni},Lc=Jt.extend({run:function(l,d,m,b){this.stop(),this._el=l,this._inProgress=!0,this._duration=m||.25,this._easeOutPower=1/Math.max(b||.5,.2),this._startPos=lt(l),this._offset=d.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=xe(this._animate,this),this._step()},_step:function(l){var d=+new Date-this._startTime,m=this._duration*1e3;d<m?this._runFrame(this._easeOut(d/m),l):(this._runFrame(1),this._complete())},_runFrame:function(l,d){var m=this._startPos.add(this._offset.multiplyBy(l));d&&m._round(),de(this._el,m),this.fire("step")},_complete:function(){ct(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),ji=Jt.extend({options:{crs:mn,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,d){d=y(this,d),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),d.maxBounds&&this.setMaxBounds(d.maxBounds),d.zoom!==void 0&&(this._zoom=this._limitZoom(d.zoom)),d.center&&d.zoom!==void 0&&this.setView(kt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=W&&Ee.any3d&&!Ee.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Je(this._proxy,ae,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,d,m){if(d=d===void 0?this._zoom:this._limitZoom(d),l=this._limitCenter(kt(l),d,this.options.maxBounds),m=m||{},this._stop(),this._loaded&&!m.reset&&m!==!0){m.animate!==void 0&&(m.zoom=n({animate:m.animate},m.zoom),m.pan=n({animate:m.animate,duration:m.duration},m.pan));var b=this._zoom!==d?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,d,m.zoom):this._tryAnimatedPan(l,m.pan);if(b)return clearTimeout(this._sizeTimer),this}return this._resetView(l,d,m.pan&&m.pan.noMoveStart),this},setZoom:function(l,d){return this._loaded?this.setView(this.getCenter(),l,{zoom:d}):(this._zoom=l,this)},zoomIn:function(l,d){return l=l||(Ee.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(Ee.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),k=this.getSize().divideBy(2),E=l instanceof ge?l:this.latLngToContainerPoint(l),$=E.subtract(k).multiplyBy(1-1/b),te=this.containerPointToLatLng(k.add($));return this.setView(te,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Kt(l);var m=Ae(d.paddingTopLeft||d.padding||[0,0]),b=Ae(d.paddingBottomRight||d.padding||[0,0]),k=this.getBoundsZoom(l,!1,m.add(b));if(k=typeof d.maxZoom=="number"?Math.min(d.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var E=b.subtract(m).divideBy(2),$=this.project(l.getSouthWest(),k),te=this.project(l.getNorthEast(),k),le=this.unproject($.add(te).divideBy(2).add(E),k);return{center:le,zoom:k}},fitBounds:function(l,d){if(l=Kt(l),!l.isValid())throw new Error("Bounds are not valid.");var m=this._getBoundsCenterZoom(l,d);return this.setView(m.center,m.zoom,d)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,d){return this.setView(l,this._zoom,{pan:d})},panBy:function(l,d){if(l=Ae(l).round(),d=d||{},!l.x&&!l.y)return this.fire("moveend");if(d.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 Lc,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){qe(this._mapPane,"leaflet-pan-anim");var m=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,m,d.duration||.25,d.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,d,m){if(m=m||{},m.animate===!1||!Ee.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),k=this.project(l),E=this.getSize(),$=this._zoom;l=kt(l),d=d===void 0?$:d;var te=Math.max(E.x,E.y),le=te*this.getZoomScale($,d),Be=k.distanceTo(b)||1,Rt=1.42,vi=Rt*Rt;function Gi(ms){var pm=ms?-1:1,eA=ms?le:te,tA=le*le-te*te+pm*vi*vi*Be*Be,iA=2*eA*vi*Be,Hw=tA/iA,LL=Math.sqrt(Hw*Hw+1)-Hw,nA=LL<1e-9?-18:Math.log(LL);return nA}function to(ms){return(Math.exp(ms)-Math.exp(-ms))/2}function Ls(ms){return(Math.exp(ms)+Math.exp(-ms))/2}function Go(ms){return to(ms)/Ls(ms)}var fo=Gi(0);function Ph(ms){return te*(Ls(fo)/Ls(fo+Rt*ms))}function XR(ms){return te*(Ls(fo)*Go(fo+Rt*ms)-to(fo))/vi}function YR(ms){return 1-Math.pow(1-ms,1.5)}var JR=Date.now(),CL=(Gi(1)-fo)/Rt,QR=m.duration?1e3*m.duration:1e3*CL*.8;function xL(){var ms=(Date.now()-JR)/QR,pm=YR(ms)*CL;ms<=1?(this._flyToFrame=xe(xL,this),this._move(this.unproject(b.add(k.subtract(b).multiplyBy(XR(pm)/Be)),$),this.getScaleZoom(te/Ph(pm),$),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),xL.call(this),this},flyToBounds:function(l,d){var m=this._getBoundsCenterZoom(l,d);return this.flyTo(m.center,m.zoom,d)},setMaxBounds:function(l){return l=Kt(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 d=this.options.minZoom;return this.options.minZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var d=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,d){this._enforcingBounds=!0;var m=this.getCenter(),b=this._limitCenter(m,this._zoom,Kt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Ae(d.paddingTopLeft||d.padding||[0,0]),b=Ae(d.paddingBottomRight||d.padding||[0,0]),k=this.project(this.getCenter()),E=this.project(l),$=this.getPixelBounds(),te=pt([$.min.add(m),$.max.subtract(b)]),le=te.getSize();if(!te.contains(E)){this._enforcingBounds=!0;var Be=E.subtract(te.getCenter()),Rt=te.extend(E).getSize().subtract(le);k.x+=Be.x<0?-Rt.x:Rt.x,k.y+=Be.y<0?-Rt.y:Rt.y,this.panTo(this.unproject(k),d),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 d=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var m=this.getSize(),b=d.divideBy(2).round(),k=m.divideBy(2).round(),E=b.subtract(k);return!E.x&&!E.y?this:(l.animate&&l.pan?this.panBy(E):(l.pan&&this._rawPanBy(E),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:d,newSize:m}))},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 d=r(this._handleGeolocationResponse,this),m=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(d,m,l):navigator.geolocation.getCurrentPosition(d,m,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 d=l.code,m=l.message||(d===1?"permission denied":d===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:d,message:"Geolocation error: "+m+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var d=l.coords.latitude,m=l.coords.longitude,b=new Ct(d,m),k=b.toBounds(l.coords.accuracy*2),E=this._locateOptions;if(E.setView){var $=this.getBoundsZoom(k);this.setView(b,E.maxZoom?Math.min($,E.maxZoom):$)}var te={latlng:b,bounds:k,timestamp:l.timestamp};for(var le in l.coords)typeof l.coords[le]=="number"&&(te[le]=l.coords[le]);this.fire("locationfound",te)}},addHandler:function(l,d){if(!d)return this;var m=this[l]=new d(this);return this._handlers.push(m),this.options[l]&&m.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(),De(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ct(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)De(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,d){var m="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),b=pe("div",m,d||this._mapPane);return l&&(this._panes[l]=b),b},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(),d=this.unproject(l.getBottomLeft()),m=this.unproject(l.getTopRight());return new di(d,m)},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,d,m){l=Kt(l),m=Ae(m||[0,0]);var b=this.getZoom()||0,k=this.getMinZoom(),E=this.getMaxZoom(),$=l.getNorthWest(),te=l.getSouthEast(),le=this.getSize().subtract(m),Be=pt(this.project(te,b),this.project($,b)).getSize(),Rt=Ee.any3d?this.options.zoomSnap:1,vi=le.x/Be.x,Gi=le.y/Be.y,to=d?Math.max(vi,Gi):Math.min(vi,Gi);return b=this.getScaleZoom(to,b),Rt&&(b=Math.round(b/(Rt/100))*(Rt/100),b=d?Math.ceil(b/Rt)*Rt:Math.floor(b/Rt)*Rt),Math.max(k,Math.min(E,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new ge(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,d){var m=this._getTopLeftPoint(l,d);return new Ze(m,m.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,d){var m=this.options.crs;return d=d===void 0?this._zoom:d,m.scale(l)/m.scale(d)},getScaleZoom:function(l,d){var m=this.options.crs;d=d===void 0?this._zoom:d;var b=m.zoom(l*m.scale(d));return isNaN(b)?1/0:b},project:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.latLngToPoint(kt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Ae(l),d)},layerPointToLatLng:function(l){var d=Ae(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(kt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(kt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Kt(l))},distance:function(l,d){return this.options.crs.distance(kt(l),kt(d))},containerPointToLayerPoint:function(l){return Ae(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ae(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Ae(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(kt(l)))},mouseEventToContainerPoint:function(l){return Uo(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 d=this._container=ce(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Je(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ee.any3d,qe(l,"leaflet-container"+(Ee.touch?" leaflet-touch":"")+(Ee.retina?" leaflet-retina":"")+(Ee.ielt9?" leaflet-oldie":"")+(Ee.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=ue(l,"position");d!=="absolute"&&d!=="relative"&&d!=="fixed"&&d!=="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 ge(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(qe(l.markerPane,"leaflet-zoom-hide"),qe(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){de(this._mapPane,new ge(0,0));var b=!this._loaded;this._loaded=!0,d=this._limitZoom(d),this.fire("viewprereset");var k=this._zoom!==d;this._moveStart(k,m)._move(l,d)._moveEnd(k),this.fire("viewreset"),b&&this.fire("load")},_moveStart:function(l,d){return l&&this.fire("zoomstart"),d||this.fire("movestart"),this},_move:function(l,d,m,b){d===void 0&&(d=this._zoom);var k=this._zoom!==d;return this._zoom=d,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),b?m&&m.pinch&&this.fire("zoom",m):((k||m&&m.pinch)&&this.fire("zoom",m),this.fire("move",m)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return ct(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 d=l?ni:Je;d(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&d(window,"resize",this._onResize,this),Ee.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ct(this._resizeRequest),this._resizeRequest=xe(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,d){for(var m=[],b,k=d==="mouseout"||d==="mouseover",E=l.target||l.srcElement,$=!1;E;){if(b=this._targets[c(E)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){$=!0;break}if(b&&b.listens(d,!0)&&(k&&!br(E,l)||(m.push(b),k))||E===this._container)break;E=E.parentNode}return!m.length&&!$&&!k&&this.listens(d,!0)&&(m=[this]),m},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var d=l.target||l.srcElement;if(!(!this._loaded||d._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(d))){var m=l.type;m==="mousedown"&&hi(d),this._fireDOMEvent(l,m)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,d,m){if(l.type==="click"){var b=n({},l);b.type="preclick",this._fireDOMEvent(b,b.type,m)}var k=this._findEventTargets(l,d);if(m){for(var E=[],$=0;$<m.length;$++)m[$].listens(d,!0)&&E.push(m[$]);k=E.concat(k)}if(k.length){d==="contextmenu"&&sn(l);var te=k[0],le={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Be=te.getLatLng&&(!te._radius||te._radius<=10);le.containerPoint=Be?this.latLngToContainerPoint(te.getLatLng()):this.mouseEventToContainerPoint(l),le.layerPoint=this.containerPointToLayerPoint(le.containerPoint),le.latlng=Be?te.getLatLng():this.layerPointToLatLng(le.layerPoint)}for($=0;$<k.length;$++)if(k[$].fire(d,le,!0),le.originalEvent._stopped||k[$].options.bubblingMouseEvents===!1&&j(this._mouseEvents,d)!==-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,d=this._handlers.length;l<d;l++)this._handlers[l].disable()},whenReady:function(l,d){return this._loaded?l.call(d||this,{target:this}):this.on("load",l,d),this},_getMapPanePos:function(){return lt(this._mapPane)||new ge(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,d){var m=l&&d!==void 0?this._getNewPixelOrigin(l,d):this.getPixelOrigin();return m.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,d){var m=this.getSize()._divideBy(2);return this.project(l,d)._subtract(m)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return this.project(l,d)._subtract(b)},_latLngBoundsToNewLayerBounds:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return pt([this.project(l.getSouthWest(),d)._subtract(b),this.project(l.getNorthWest(),d)._subtract(b),this.project(l.getSouthEast(),d)._subtract(b),this.project(l.getNorthEast(),d)._subtract(b)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,d,m){if(!m)return l;var b=this.project(l,d),k=this.getSize().divideBy(2),E=new Ze(b.subtract(k),b.add(k)),$=this._getBoundsOffset(E,m,d);return Math.abs($.x)<=1&&Math.abs($.y)<=1?l:this.unproject(b.add($),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new Ze(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=pt(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),k=b.min.subtract(l.min),E=b.max.subtract(l.max),$=this._rebound(k.x,-E.x),te=this._rebound(k.y,-E.y);return new ge($,te)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=Ee.any3d?this.options.zoomSnap:1;return b&&(l=Math.round(l/b)*b),Math.max(d,Math.min(m,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){z(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,d){var m=this._getCenterOffset(l)._trunc();return(d&&d.animate)!==!0&&!this.getSize().contains(m)?!1:(this.panBy(m,d),!0)},_createAnimProxy:function(){var l=this._proxy=pe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=A,b=this._proxy.style[m];$e(this._proxy,this.project(d.center,d.zoom),this.getZoomScale(d.zoom,1)),b===this._proxy.style[m]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){De(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();$e(this._proxy,this.project(l,d),this.getZoomScale(d,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,d,m){if(this._animatingZoom)return!0;if(m=m||{},!this._zoomAnimated||m.animate===!1||this._nothingToAnimate()||Math.abs(d-this._zoom)>this.options.zoomAnimationThreshold)return!1;var b=this.getZoomScale(d),k=this._getCenterOffset(l)._divideBy(1-1/b);return m.animate!==!0&&!this.getSize().contains(k)?!1:(xe(function(){this._moveStart(!0,m.noMoveStart||!1)._animateZoom(l,d,!0)},this),!0)},_animateZoom:function(l,d,m,b){this._mapPane&&(m&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=d,qe(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:d,noUpdate:b}),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&&z(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 eo(l,d){return new ji(l,d)}var os=dt.extend({options:{position:"topright"},initialize:function(l){y(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var d=this._map;return d&&d.removeControl(this),this.options.position=l,d&&d.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var d=this._container=this.onAdd(l),m=this.getPosition(),b=l._controlCorners[m];return qe(d,"leaflet-control"),m.indexOf("bottom")!==-1?b.insertBefore(d,b.firstChild):b.appendChild(d),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(De(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()}}),$o=function(l){return new os(l)};ji.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},d="leaflet-",m=this._controlContainer=pe("div",d+"control-container",this._container);function b(k,E){var $=d+k+" "+d+E;l[k+E]=pe("div",$,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)De(this._controlCorners[l]);De(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ch=os.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,d,m,b){return m<b?-1:b<m?1:0}},initialize:function(l,d,m){y(this,m),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var b in l)this._addLayer(l[b],b);for(b in d)this._addLayer(d[b],b,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var d=0;d<this._layers.length;d++)this._layers[d].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return os.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,d){return this._addLayer(l,d),this._map?this._update():this},addOverlay:function(l,d){return this._addLayer(l,d,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var d=this._getLayer(c(l));return d&&this._layers.splice(this._layers.indexOf(d),1),this._map?this._update():this},expand:function(){qe(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?(qe(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):z(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=pe("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),bn(d),qi(d);var b=this._section=pe("section",l+"-list");m&&(this._map.on("click",this.collapse,this),Je(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=pe("a",l+"-toggle",d);k.href="#",k.title="Layers",k.setAttribute("role","button"),Je(k,{keydown:function(E){E.keyCode===13&&this._expandSafely()},click:function(E){sn(E),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=pe("div",l+"-base",b),this._separator=pe("div",l+"-separator",b),this._overlaysList=pe("div",l+"-overlays",b),d.appendChild(b)},_getLayer:function(l){for(var d=0;d<this._layers.length;d++)if(this._layers[d]&&c(this._layers[d].layer)===l)return this._layers[d]},_addLayer:function(l,d,m){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:d,overlay:m}),this.options.sortLayers&&this._layers.sort(r(function(b,k){return this.options.sortFunction(b.layer,k.layer,b.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ft(this._baseLayersList),ft(this._overlaysList),this._layerControlInputs=[];var l,d,m,b,k=0;for(m=0;m<this._layers.length;m++)b=this._layers[m],this._addItem(b),d=d||b.overlay,l=l||!b.overlay,k+=b.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=d&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var d=this._getLayer(c(l.target)),m=d.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;m&&this._map.fire(m,d)},_createRadioElement:function(l,d){var m='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(d?' checked="checked"':"")+"/>",b=document.createElement("div");return b.innerHTML=m,b.firstChild},_addItem:function(l){var d=document.createElement("label"),m=this._map.hasLayer(l.layer),b;l.overlay?(b=document.createElement("input"),b.type="checkbox",b.className="leaflet-control-layers-selector",b.defaultChecked=m):b=this._createRadioElement("leaflet-base-layers_"+c(this),m),this._layerControlInputs.push(b),b.layerId=c(l.layer),Je(b,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var E=document.createElement("span");d.appendChild(E),E.appendChild(b),E.appendChild(k);var $=l.overlay?this._overlaysList:this._baseLayersList;return $.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],k=[];this._handlingClick=!0;for(var E=l.length-1;E>=0;E--)d=l[E],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||k.push(m);for(E=0;E<k.length;E++)this._map.hasLayer(k[E])&&this._map.removeLayer(k[E]);for(E=0;E<b.length;E++)this._map.hasLayer(b[E])||this._map.addLayer(b[E]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,d,m,b=this._map.getZoom(),k=l.length-1;k>=0;k--)d=l[k],m=this._getLayer(d.layerId).layer,d.disabled=m.options.minZoom!==void 0&&b<m.options.minZoom||m.options.maxZoom!==void 0&&b>m.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,Je(l,"click",sn),this.expand();var d=this;setTimeout(function(){ni(l,"click",sn),d._preventClick=!1})}}),Tg=function(l,d,m){return new Ch(l,d,m)},kc=os.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 d="leaflet-control-zoom",m=pe("div",d+" leaflet-bar"),b=this.options;return this._zoomInButton=this._createButton(b.zoomInText,b.zoomInTitle,d+"-in",m,this._zoomIn),this._zoomOutButton=this._createButton(b.zoomOutText,b.zoomOutTitle,d+"-out",m,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),m},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,d,m,b,k){var E=pe("a",m,b);return E.innerHTML=l,E.href="#",E.title=d,E.setAttribute("role","button"),E.setAttribute("aria-label",d),bn(E),Je(E,"click",Ps),Je(E,"click",k,this),Je(E,"click",this._refocusOnMap,this),E},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";z(this._zoomInButton,d),z(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(qe(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(qe(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});ji.mergeOptions({zoomControl:!0}),ji.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new kc,this.addControl(this.zoomControl))});var Gr=function(l){return new kc(l)},Pa=os.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=pe("div",d),b=this.options;return this._addScales(b,d+"-line",m),l.on(b.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),m},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,d,m){l.metric&&(this._mScale=pe("div",d,m)),l.imperial&&(this._iScale=pe("div",d,m))},_update:function(){var l=this._map,d=l.getSize().y/2,m=l.distance(l.containerPointToLatLng([0,d]),l.containerPointToLatLng([this.options.maxWidth,d]));this._updateScales(m)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var d=this._getRoundNum(l),m=d<1e3?d+" m":d/1e3+" km";this._updateScale(this._mScale,m,d/l)},_updateImperial:function(l){var d=l*3.2808399,m,b,k;d>5280?(m=d/5280,b=this._getRoundNum(m),this._updateScale(this._iScale,b+" mi",b/m)):(k=this._getRoundNum(d),this._updateScale(this._iScale,k+" ft",k/d))},_updateScale:function(l,d,m){l.style.width=Math.round(this.options.maxWidth*m)+"px",l.innerHTML=d},_getRoundNum:function(l){var d=Math.pow(10,(Math.floor(l)+"").length-1),m=l/d;return m=m>=10?10:m>=5?5:m>=3?3:m>=2?2:1,d*m}}),Tw=function(l){return new Pa(l)},V='<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>',re=os.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Ee.inlineSvg?V+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=pe("div","leaflet-control-attribution"),bn(this._container);for(var d in l._layers)l._layers[d].getAttribution&&this.addAttribution(l._layers[d].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 d in this._attributions)this._attributions[d]&&l.push(d);var m=[];this.options.prefix&&m.push(this.options.prefix),l.length&&m.push(l.join(", ")),this._container.innerHTML=m.join(' <span aria-hidden="true">|</span> ')}}});ji.mergeOptions({attributionControl:!0}),ji.addInitHook(function(){this.options.attributionControl&&new re().addTo(this)});var Pe=function(l){return new re(l)};os.Layers=Ch,os.Zoom=kc,os.Scale=Pa,os.Attribution=re,$o.layers=Tg,$o.zoom=Gr,$o.scale=Tw,$o.attribution=Pe;var me=dt.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}});me.addTo=function(l,d){return l.addHandler(d,this),this};var Dt={Events:Mt},Zt=Ee.touch?"touchstart mousedown":"mousedown",Ht=Jt.extend({options:{clickTolerance:3},initialize:function(l,d,m,b){y(this,b),this._element=l,this._dragStartTarget=d||l,this._preventOutline=m},enable:function(){this._enabled||(Je(this._dragStartTarget,Zt,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Ht._dragging===this&&this.finishDrag(!0),ni(this._dragStartTarget,Zt,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Ot(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){Ht._dragging===this&&this.finishDrag();return}if(!(Ht._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Ht._dragging=this,this._preventOutline&&hi(this._element),Me(),ye(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=Ke(this._element);this._startPoint=new ge(d.clientX,d.clientY),this._startPos=lt(this._element),this._parentScale=_t(m);var b=l.type==="mousedown";Je(document,b?"mousemove":"touchmove",this._onMove,this),Je(document,b?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var d=l.touches&&l.touches.length===1?l.touches[0]:l,m=new ge(d.clientX,d.clientY)._subtract(this._startPoint);!m.x&&!m.y||Math.abs(m.x)+Math.abs(m.y)<this.options.clickTolerance||(m.x/=this._parentScale.x,m.y/=this._parentScale.y,sn(l),this._moved||(this.fire("dragstart"),this._moved=!0,qe(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),qe(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(m),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){z(document.body,"leaflet-dragging"),this._lastTarget&&(z(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ni(document,"mousemove touchmove",this._onMove,this),ni(document,"mouseup touchend touchcancel",this._onUp,this),Re(),he();var d=this._moved&&this._moving;this._moving=!1,Ht._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Ui(l,d,m){var b,k=[1,4,2,8],E,$,te,le,Be,Rt,vi,Gi;for(E=0,Rt=l.length;E<Rt;E++)l[E]._code=Ms(l[E],d);for(te=0;te<4;te++){for(vi=k[te],b=[],E=0,Rt=l.length,$=Rt-1;E<Rt;$=E++)le=l[E],Be=l[$],le._code&vi?Be._code&vi||(Gi=qo(Be,le,vi,d,m),Gi._code=Ms(Gi,d),b.push(Gi)):(Be._code&vi&&(Gi=qo(Be,le,vi,d,m),Gi._code=Ms(Gi,d),b.push(Gi)),b.push(le));l=b}return l}function Ti(l,d){var m,b,k,E,$,te,le,Be,Rt;if(!l||l.length===0)throw new Error("latlngs not passed");ns(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var vi=kt([0,0]),Gi=Kt(l),to=Gi.getNorthWest().distanceTo(Gi.getSouthWest())*Gi.getNorthEast().distanceTo(Gi.getNorthWest());to<1700&&(vi=ki(l));var Ls=l.length,Go=[];for(m=0;m<Ls;m++){var fo=kt(l[m]);Go.push(d.project(kt([fo.lat-vi.lat,fo.lng-vi.lng])))}for(te=le=Be=0,m=0,b=Ls-1;m<Ls;b=m++)k=Go[m],E=Go[b],$=k.y*E.x-E.y*k.x,le+=(k.x+E.x)*$,Be+=(k.y+E.y)*$,te+=$*3;te===0?Rt=Go[0]:Rt=[le/te,Be/te];var Ph=d.unproject(Ae(Rt));return kt([Ph.lat+vi.lat,Ph.lng+vi.lng])}function ki(l){for(var d=0,m=0,b=0,k=0;k<l.length;k++){var E=kt(l[k]);d+=E.lat,m+=E.lng,b++}return kt([d/b,m/b])}var Ci={__proto__:null,clipPolygon:Ui,polygonCenter:Ti,centroid:ki};function Ri(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=Us(l,m),l=Ts(l,m),l}function Kn(l,d,m){return Math.sqrt(Ko(l,d,m,!0))}function go(l,d,m){return Ko(l,d,m)}function Ts(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,k=new b(m);k[0]=k[m-1]=1,Eo(l,k,d,0,m-1);var E,$=[];for(E=0;E<m;E++)k[E]&&$.push(l[E]);return $}function Eo(l,d,m,b,k){var E=0,$,te,le;for(te=b+1;te<=k-1;te++)le=Ko(l[te],l[b],l[k],!0),le>E&&($=te,E=le);E>m&&(d[$]=1,Eo(l,d,m,b,$),Eo(l,d,m,$,k))}function Us(l,d){for(var m=[l[0]],b=1,k=0,E=l.length;b<E;b++)wl(l[b],l[k])>d&&(m.push(l[b]),k=b);return k<E-1&&m.push(l[E-1]),m}var Po;function Zr(l,d,m,b,k){var E=b?Po:Ms(l,m),$=Ms(d,m),te,le,Be;for(Po=$;;){if(!(E|$))return[l,d];if(E&$)return!1;te=E||$,le=qo(l,d,te,m,k),Be=Ms(le,m),te===E?(l=le,E=Be):(d=le,$=Be)}}function qo(l,d,m,b,k){var E=d.x-l.x,$=d.y-l.y,te=b.min,le=b.max,Be,Rt;return m&8?(Be=l.x+E*(le.y-l.y)/$,Rt=le.y):m&4?(Be=l.x+E*(te.y-l.y)/$,Rt=te.y):m&2?(Be=le.x,Rt=l.y+$*(le.x-l.x)/E):m&1&&(Be=te.x,Rt=l.y+$*(te.x-l.x)/E),new ge(Be,Rt,k)}function Ms(l,d){var m=0;return l.x<d.min.x?m|=1:l.x>d.max.x&&(m|=2),l.y<d.min.y?m|=4:l.y>d.max.y&&(m|=8),m}function wl(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Ko(l,d,m,b){var k=d.x,E=d.y,$=m.x-k,te=m.y-E,le=$*$+te*te,Be;return le>0&&(Be=((l.x-k)*$+(l.y-E)*te)/le,Be>1?(k=m.x,E=m.y):Be>0&&(k+=$*Be,E+=te*Be)),$=l.x-k,te=l.y-E,b?$*$+te*te:new ge(k,E)}function ns(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function To(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ns(l)}function xh(l,d){var m,b,k,E,$,te,le,Be;if(!l||l.length===0)throw new Error("latlngs not passed");ns(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Rt=kt([0,0]),vi=Kt(l),Gi=vi.getNorthWest().distanceTo(vi.getSouthWest())*vi.getNorthEast().distanceTo(vi.getNorthWest());Gi<1700&&(Rt=ki(l));var to=l.length,Ls=[];for(m=0;m<to;m++){var Go=kt(l[m]);Ls.push(d.project(kt([Go.lat-Rt.lat,Go.lng-Rt.lng])))}for(m=0,b=0;m<to-1;m++)b+=Ls[m].distanceTo(Ls[m+1])/2;if(b===0)Be=Ls[0];else for(m=0,E=0;m<to-1;m++)if($=Ls[m],te=Ls[m+1],k=$.distanceTo(te),E+=k,E>b){le=(E-b)/k,Be=[te.x-le*(te.x-$.x),te.y-le*(te.y-$.y)];break}var fo=d.unproject(Ae(Be));return kt([fo.lat+Rt.lat,fo.lng+Rt.lng])}var cs={__proto__:null,simplify:Ri,pointToSegmentDistance:Kn,closestPointOnSegment:go,clipSegment:Zr,_getEdgeIntersection:qo,_getBitCode:Ms,_sqClosestPointOnSegment:Ko,isFlat:ns,_flat:To,polylineCenter:xh},Xr={project:function(l){return new ge(l.lng,l.lat)},unproject:function(l){return new Ct(l.y,l.x)},bounds:new Ze([-180,-90],[180,90])},Ta={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Ze([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var d=Math.PI/180,m=this.R,b=l.lat*d,k=this.R_MINOR/m,E=Math.sqrt(1-k*k),$=E*Math.sin(b),te=Math.tan(Math.PI/4-b/2)/Math.pow((1-$)/(1+$),E/2);return b=-m*Math.log(Math.max(te,1e-10)),new ge(l.lng*d*m,b)},unproject:function(l){for(var d=180/Math.PI,m=this.R,b=this.R_MINOR/m,k=Math.sqrt(1-b*b),E=Math.exp(-l.y/m),$=Math.PI/2-2*Math.atan(E),te=0,le=.1,Be;te<15&&Math.abs(le)>1e-7;te++)Be=k*Math.sin($),Be=Math.pow((1-Be)/(1+Be),k/2),le=Math.PI/2-2*Math.atan(E*Be)-$,$+=le;return new Ct($*d,l.x*d/m)}},Mg={__proto__:null,LonLat:Xr,Mercator:Ta,SphericalMercator:en},Mw=n({},Bi,{code:"EPSG:3395",projection:Ta,transformation:(function(){var l=.5/(Math.PI*Ta.R);return Ln(l,.5,-l,.5)})()}),sm=n({},Bi,{code:"EPSG:4326",projection:Xr,transformation:Ln(1/180,1,-1/180,.5)}),Nw=n({},yi,{projection:Xr,transformation:Ln(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,d){var m=d.lng-l.lng,b=d.lat-l.lat;return Math.sqrt(m*m+b*b)},infinite:!0});yi.Earth=Bi,yi.EPSG3395=Mw,yi.EPSG3857=mn,yi.EPSG900913=zn,yi.EPSG4326=sm,yi.Simple=Nw;var Oi=Jt.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 d=l.target;if(d.hasLayer(this)){if(this._map=d,this._zoomAnimated=d._zoomAnimated,this.getEvents){var m=this.getEvents();d.on(m,this),this.once("remove",function(){d.off(m,this)},this)}this.onAdd(d),this.fire("add"),d.fire("layeradd",{layer:this})}}});ji.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var d=c(l);return this._layers[d]?this:(this._layers[d]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var d=c(l);return this._layers[d]?(this._loaded&&l.onRemove(this),delete this._layers[d],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,d){for(var m in this._layers)l.call(d,this._layers[m]);return this},_addLayers:function(l){l=l?N(l)?l:[l]:[];for(var d=0,m=l.length;d<m;d++)this.addLayer(l[d])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[c(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var d=c(l);this._zoomBoundLayers[d]&&(delete this._zoomBoundLayers[d],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,d=-1/0,m=this._getZoomSpan();for(var b in this._zoomBoundLayers){var k=this._zoomBoundLayers[b].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),d=k.maxZoom===void 0?d:Math.max(d,k.maxZoom)}this._layersMaxZoom=d===-1/0?void 0:d,this._layersMinZoom=l===1/0?void 0:l,m!==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 bs=Oi.extend({initialize:function(l,d){y(this,d),this._layers={};var m,b;if(l)for(m=0,b=l.length;m<b;m++)this.addLayer(l[m])},addLayer:function(l){var d=this.getLayerId(l);return this._layers[d]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var d=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[d]&&this._map.removeLayer(this._layers[d]),delete this._layers[d],this},hasLayer:function(l){var d=typeof l=="number"?l:this.getLayerId(l);return d in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var d=Array.prototype.slice.call(arguments,1),m,b;for(m in this._layers)b=this._layers[m],b[l]&&b[l].apply(b,d);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,d){for(var m in this._layers)l.call(d,this._layers[m]);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)}}),Lh=function(l,d){return new bs(l,d)},Ma=bs.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),bs.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),bs.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 di;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),PR=function(l,d){return new Ma(l,d)},kh=dt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){y(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,d){var m=this._getIconUrl(l);if(!m){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var b=this._createImg(m,d&&d.tagName==="IMG"?d:null);return this._setIconStyles(b,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(b.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),b},_setIconStyles:function(l,d){var m=this.options,b=m[d+"Size"];typeof b=="number"&&(b=[b,b]);var k=Ae(b),E=Ae(d==="shadow"&&m.shadowAnchor||m.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),E&&(l.style.marginLeft=-E.x+"px",l.style.marginTop=-E.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,d){return d=d||document.createElement("img"),d.src=l,d},_getIconUrl:function(l){return Ee.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function TR(l){return new kh(l)}var Ng=kh.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 Ng.imagePath!="string"&&(Ng.imagePath=this._detectIconPath()),(this.options.imagePath||Ng.imagePath)+kh.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,k){var E=b.exec(m);return E&&E[k]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=pe("div","leaflet-default-icon-path",document.body),d=ue(l,"background-image")||ue(l,"backgroundImage");if(document.body.removeChild(l),d=this._stripUrl(d),d)return d;var m=document.querySelector('link[href$="leaflet.css"]');return m?m.href.substring(0,m.href.length-11-1):""}}),sL=me.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Ht(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),qe(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&&z(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var d=this._marker,m=d._map,b=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,E=lt(d._icon),$=m.getPixelBounds(),te=m.getPixelOrigin(),le=pt($.min._subtract(te).add(k),$.max._subtract(te).subtract(k));if(!le.contains(E)){var Be=Ae((Math.max(le.max.x,E.x)-le.max.x)/($.max.x-le.max.x)-(Math.min(le.min.x,E.x)-le.min.x)/($.min.x-le.min.x),(Math.max(le.max.y,E.y)-le.max.y)/($.max.y-le.max.y)-(Math.min(le.min.y,E.y)-le.min.y)/($.min.y-le.min.y)).multiplyBy(b);m.panBy(Be,{animate:!1}),this._draggable._newPos._add(Be),this._draggable._startPos._add(Be),de(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=xe(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(ct(this._panRequest),this._panRequest=xe(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=lt(d._icon),k=d._map.layerPointToLatLng(b);m&&de(m,b),d._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){ct(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),om=Oi.extend({options:{icon:new Ng,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,d){y(this,d),this._latlng=kt(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 d=this._latlng;return this._latlng=kt(l),this.update(),this.fire("move",{oldLatLng:d,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,d="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),m=l.icon.createIcon(this._icon),b=!1;m!==this._icon&&(this._icon&&this._removeIcon(),b=!0,l.title&&(m.title=l.title),m.tagName==="IMG"&&(m.alt=l.alt||"")),qe(m,d),l.keyboard&&(m.tabIndex="0",m.setAttribute("role","button")),this._icon=m,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Je(m,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),E=!1;k!==this._shadow&&(this._removeShadow(),E=!0),k&&(qe(k,d),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&E&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ni(this._icon,"focus",this._panOnFocus,this),De(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&De(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 d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(d)},_initInteraction:function(){if(this.options.interactive&&(qe(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),sL)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new sL(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&&nt(this._icon,l),this._shadow&&nt(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var d=this.options.icon.options,m=d.iconSize?Ae(d.iconSize):Ae(0,0),b=d.iconAnchor?Ae(d.iconAnchor):Ae(0,0);l.panInside(this._latlng,{paddingTopLeft:b,paddingBottomRight:m.subtract(b)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function MR(l,d){return new om(l,d)}var yl=Oi.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 y(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)}}),rm=yl.extend({options:{fill:!0,radius:10},initialize:function(l,d){y(this,d),this._latlng=kt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=kt(l),this.redraw(),this.fire("move",{oldLatLng:d,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 d=l&&l.radius||this._radius;return yl.prototype.setStyle.call(this,l),this.setRadius(d),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,d=this._radiusY||l,m=this._clickTolerance(),b=[l+m,d+m];this._pxBounds=new Ze(this._point.subtract(b),this._point.add(b))},_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 NR(l,d){return new rm(l,d)}var Rw=rm.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),y(this,d),this._latlng=kt(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 di(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:yl.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===Bi.distance){var k=Math.PI/180,E=this._mRadius/Bi.R/k,$=m.project([d+E,l]),te=m.project([d-E,l]),le=$.add(te).divideBy(2),Be=m.unproject(le).lat,Rt=Math.acos((Math.cos(E*k)-Math.sin(d*k)*Math.sin(Be*k))/(Math.cos(d*k)*Math.cos(Be*k)))/k;(isNaN(Rt)||Rt===0)&&(Rt=E/Math.cos(Math.PI/180*d)),this._point=le.subtract(m.getPixelOrigin()),this._radius=isNaN(Rt)?0:le.x-m.project([Be,l-Rt]).x,this._radiusY=le.y-$.y}else{var vi=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(vi).x}this._updateBounds()}});function RR(l,d,m){return new Rw(l,d,m)}var Na=yl.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,d){y(this,d),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 d=1/0,m=null,b=Ko,k,E,$=0,te=this._parts.length;$<te;$++)for(var le=this._parts[$],Be=1,Rt=le.length;Be<Rt;Be++){k=le[Be-1],E=le[Be];var vi=b(l,k,E,!0);vi<d&&(d=vi,m=b(l,k,E))}return m&&(m.distance=Math.sqrt(d)),m},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return xh(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=kt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new di,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ns(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ns(l),b=0,k=l.length;b<k;b++)m?(d[b]=kt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new Ze;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(),d=new ge(l,l);this._rawPxBounds&&(this._pxBounds=new Ze([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Ct,k=l.length,E,$;if(b){for($=[],E=0;E<k;E++)$[E]=this._map.latLngToLayerPoint(l[E]),m.extend($[E]);d.push($)}else for(E=0;E<k;E++)this._projectLatlngs(l[E],d,m)},_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 d=this._parts,m,b,k,E,$,te,le;for(m=0,k=0,E=this._rings.length;m<E;m++)for(le=this._rings[m],b=0,$=le.length;b<$-1;b++)te=Zr(le[b],le[b+1],l,b,!0),te&&(d[k]=d[k]||[],d[k].push(te[0]),(te[1]!==le[b+1]||b===$-2)&&(d[k].push(te[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=Ri(l[m],d)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,d){var m,b,k,E,$,te,le=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,E=this._parts.length;m<E;m++)for(te=this._parts[m],b=0,$=te.length,k=$-1;b<$;k=b++)if(!(!d&&b===0)&&Kn(l,te[k],te[b])<=le)return!0;return!1}});function AR(l,d){return new Na(l,d)}Na._flat=To;var Ih=Na.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 Ti(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=Na.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Ct&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){Na.prototype._setLatLngs.call(this,l),ns(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ns(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new ge(d,d);if(l=new Ze(l.min.subtract(m),l.max.add(m)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var b=0,k=this._rings.length,E;b<k;b++)E=Ui(this._rings[b],l,!0),E.length&&this._parts.push(E)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,k,E,$,te,le,Be;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(E=0,le=this._parts.length;E<le;E++)for(m=this._parts[E],$=0,Be=m.length,te=Be-1;$<Be;te=$++)b=m[$],k=m[te],b.y>l.y!=k.y>l.y&&l.x<(k.x-b.x)*(l.y-b.y)/(k.y-b.y)+b.x&&(d=!d);return d||Na.prototype._containsPoint.call(this,l,!0)}});function OR(l,d){return new Ih(l,d)}var Ra=Ma.extend({initialize:function(l,d){y(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=N(l)?l:l.features,m,b,k;if(d){for(m=0,b=d.length;m<b;m++)k=d[m],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var E=this.options;if(E.filter&&!E.filter(l))return this;var $=am(l,E);return $?($.feature=dm(l),$.defaultOptions=$.options,this.resetStyle($),E.onEachFeature&&E.onEachFeature(l,$),this.addLayer($)):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(d){this._setLayerStyle(d,l)},this)},_setLayerStyle:function(l,d){l.setStyle&&(typeof d=="function"&&(d=d(l.feature)),l.setStyle(d))}});function am(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,k=[],E=d&&d.pointToLayer,$=d&&d.coordsToLatLng||Aw,te,le,Be,Rt;if(!b&&!m)return null;switch(m.type){case"Point":return te=$(b),oL(E,l,te,d);case"MultiPoint":for(Be=0,Rt=b.length;Be<Rt;Be++)te=$(b[Be]),k.push(oL(E,l,te,d));return new Ma(k);case"LineString":case"MultiLineString":return le=lm(b,m.type==="LineString"?0:1,$),new Na(le,d);case"Polygon":case"MultiPolygon":return le=lm(b,m.type==="Polygon"?1:2,$),new Ih(le,d);case"GeometryCollection":for(Be=0,Rt=m.geometries.length;Be<Rt;Be++){var vi=am({geometry:m.geometries[Be],type:"Feature",properties:l.properties},d);vi&&k.push(vi)}return new Ma(k);case"FeatureCollection":for(Be=0,Rt=m.features.length;Be<Rt;Be++){var Gi=am(m.features[Be],d);Gi&&k.push(Gi)}return new Ma(k);default:throw new Error("Invalid GeoJSON object.")}}function oL(l,d,m,b){return l?l(d,m):new om(m,b&&b.markersInheritOptions&&b)}function Aw(l){return new Ct(l[1],l[0],l[2])}function lm(l,d,m){for(var b=[],k=0,E=l.length,$;k<E;k++)$=d?lm(l[k],d-1,m):(m||Aw)(l[k]),b.push($);return b}function Ow(l,d){return l=kt(l),l.alt!==void 0?[p(l.lng,d),p(l.lat,d),p(l.alt,d)]:[p(l.lng,d),p(l.lat,d)]}function cm(l,d,m,b){for(var k=[],E=0,$=l.length;E<$;E++)k.push(d?cm(l[E],ns(l[E])?0:d-1,m,b):Ow(l[E],b));return!d&&m&&k.length>0&&k.push(k[0].slice()),k}function Dh(l,d){return l.feature?n({},l.feature,{geometry:d}):dm(d)}function dm(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var Fw={toGeoJSON:function(l){return Dh(this,{type:"Point",coordinates:Ow(this.getLatLng(),l)})}};om.include(Fw),Rw.include(Fw),rm.include(Fw),Na.include({toGeoJSON:function(l){var d=!ns(this._latlngs),m=cm(this._latlngs,d?1:0,!1,l);return Dh(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),Ih.include({toGeoJSON:function(l){var d=!ns(this._latlngs),m=d&&!ns(this._latlngs[0]),b=cm(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),Dh(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),bs.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),Dh(this,{type:"MultiPoint",coordinates:d})},toGeoJSON:function(l){var d=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(d==="MultiPoint")return this.toMultiPoint(l);var m=d==="GeometryCollection",b=[];return this.eachLayer(function(k){if(k.toGeoJSON){var E=k.toGeoJSON(l);if(m)b.push(E.geometry);else{var $=dm(E);$.type==="FeatureCollection"?b.push.apply(b,$.features):b.push($)}}}),m?Dh(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function rL(l,d){return new Ra(l,d)}var FR=rL,hm=Oi.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Kt(d),y(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(qe(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){De(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&&Ge(this._image),this},bringToBack:function(){return this._map&&je(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Kt(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",d=this._image=l?this._url:pe("img");if(qe(d,"leaflet-image-layer"),this._zoomAnimated&&qe(d,"leaflet-zoom-animated"),this.options.className&&qe(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onload=r(this.fire,this,"load"),d.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(d.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=d.src;return}d.src=this._url,d.alt=this.options.alt},_animateZoom:function(l){var d=this._map.getZoomScale(l.zoom),m=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;$e(this._image,m,d)},_reset:function(){var l=this._image,d=new Ze(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();de(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){nt(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()}}),HR=function(l,d,m){return new hm(l,d,m)},aL=hm.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",d=this._image=l?this._url:pe("video");if(qe(d,"leaflet-image-layer"),this._zoomAnimated&&qe(d,"leaflet-zoom-animated"),this.options.className&&qe(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onloadeddata=r(this.fire,this,"load"),l){for(var m=d.getElementsByTagName("source"),b=[],k=0;k<m.length;k++)b.push(m[k].src);this._url=m.length>0?b:[d.src];return}N(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(d.style,"objectFit")&&(d.style.objectFit="fill"),d.autoplay=!!this.options.autoplay,d.loop=!!this.options.loop,d.muted=!!this.options.muted,d.playsInline=!!this.options.playsInline;for(var E=0;E<this._url.length;E++){var $=pe("source");$.src=this._url[E],d.appendChild($)}}});function WR(l,d,m){return new aL(l,d,m)}var lL=hm.extend({_initImage:function(){var l=this._image=this._url;qe(l,"leaflet-image-layer"),this._zoomAnimated&&qe(l,"leaflet-zoom-animated"),this.options.className&&qe(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function BR(l,d,m){return new lL(l,d,m)}var Yr=Oi.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Ct||N(l))?(this._latlng=kt(l),y(this,d)):(y(this,l),this._source=d),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&&nt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&nt(this._container,1),this.bringToFront(),this.options.interactive&&(qe(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(nt(this._container,0),this._removeTimeout=setTimeout(r(De,void 0,this._container),200)):De(this._container),this.options.interactive&&(z(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=kt(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&&Ge(this._container),this},bringToBack:function(){return this._map&&je(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof Ma){d=null;var m=this._source._layers;for(var b in m)if(m[b]._map){d=m[b];break}if(!d)return!1;this._source=d}if(!l)if(d.getCenter)l=d.getCenter();else if(d.getLatLng)l=d.getLatLng();else if(d.getBounds)l=d.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,d=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof d=="string")l.innerHTML=d;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(d)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),d=Ae(this.options.offset),m=this._getAnchor();this._zoomAnimated?de(this._container,l.add(m)):d=d.add(l).add(m);var b=this._containerBottom=-d.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+d.x;this._container.style.bottom=b+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});ji.include({_initOverlay:function(l,d,m,b){var k=d;return k instanceof l||(k=new l(b).setContent(d)),m&&k.setLatLng(m),k}}),Oi.include({_initOverlay:function(l,d,m,b){var k=m;return k instanceof l?(y(k,b),k._source=this):(k=d&&!b?d:new l(b,this),k.setContent(m)),k}});var um=Yr.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,Yr.prototype.openOn.call(this,l)},onAdd:function(l){Yr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof yl||this._source.on("preclick",ln))},onRemove:function(l){Yr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof yl||this._source.off("preclick",ln))},getEvents:function(){var l=Yr.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",d=this._container=pe("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=pe("div",l+"-content-wrapper",d);if(this._contentNode=pe("div",l+"-content",m),bn(d),qi(this._contentNode),Je(d,"contextmenu",ln),this._tipContainer=pe("div",l+"-tip-container",d),this._tip=pe("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=pe("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">&#215;</span>',Je(b,"click",function(k){sn(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,d=l.style;d.width="",d.whiteSpace="nowrap";var m=l.offsetWidth;m=Math.min(m,this.options.maxWidth),m=Math.max(m,this.options.minWidth),d.width=m+1+"px",d.whiteSpace="",d.height="";var b=l.offsetHeight,k=this.options.maxHeight,E="leaflet-popup-scrolled";k&&b>k?(d.height=k+"px",qe(l,E)):z(l,E),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();de(this._container,d.add(m))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,d=parseInt(ue(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,k=new ge(this._containerLeft,-m-this._containerBottom);k._add(lt(this._container));var E=l.layerPointToContainerPoint(k),$=Ae(this.options.autoPanPadding),te=Ae(this.options.autoPanPaddingTopLeft||$),le=Ae(this.options.autoPanPaddingBottomRight||$),Be=l.getSize(),Rt=0,vi=0;E.x+b+le.x>Be.x&&(Rt=E.x+b-Be.x+le.x),E.x-Rt-te.x<0&&(Rt=E.x-te.x),E.y+m+le.y>Be.y&&(vi=E.y+m-Be.y+le.y),E.y-vi-te.y<0&&(vi=E.y-te.y),(Rt||vi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Rt,vi]))}},_getAnchor:function(){return Ae(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),zR=function(l,d){return new um(l,d)};ji.mergeOptions({closePopupOnClick:!0}),ji.include({openPopup:function(l,d,m){return this._initOverlay(um,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Oi.include({bindPopup:function(l,d){return this._popup=this._initOverlay(um,this._popup,l,d),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 Ma||(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)){Ps(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof yl)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=d,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var gm=Yr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Yr.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){Yr.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=Yr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",d=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=pe("div",d),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var d,m,b=this._map,k=this._container,E=b.latLngToContainerPoint(b.getCenter()),$=b.layerPointToContainerPoint(l),te=this.options.direction,le=k.offsetWidth,Be=k.offsetHeight,Rt=Ae(this.options.offset),vi=this._getAnchor();te==="top"?(d=le/2,m=Be):te==="bottom"?(d=le/2,m=0):te==="center"?(d=le/2,m=Be/2):te==="right"?(d=0,m=Be/2):te==="left"?(d=le,m=Be/2):$.x<E.x?(te="right",d=0,m=Be/2):(te="left",d=le+(Rt.x+vi.x)*2,m=Be/2),l=l.subtract(Ae(d,m,!0)).add(Rt).add(vi),z(k,"leaflet-tooltip-right"),z(k,"leaflet-tooltip-left"),z(k,"leaflet-tooltip-top"),z(k,"leaflet-tooltip-bottom"),qe(k,"leaflet-tooltip-"+te),de(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&nt(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Ae(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),VR=function(l,d){return new gm(l,d)};ji.include({openTooltip:function(l,d,m){return this._initOverlay(gm,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Oi.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(gm,this._tooltip,l,d),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 d=l?"off":"on",m={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?m.add=this._openTooltip:(m.mouseover=this._openTooltip,m.mouseout=this.closeTooltip,m.click=this._openTooltip,this._map?this._addFocusListeners():m.add=this._addFocusListeners),this._tooltip.options.sticky&&(m.mousemove=this._moveTooltip),this[d](m),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Ma||(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 d=typeof l.getElement=="function"&&l.getElement();d&&(Je(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Je(d,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var d=typeof l.getElement=="function"&&l.getElement();d&&d.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 d=this;this._map.once("moveend",function(){d._openOnceFlag=!1,d._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var d=l.latlng,m,b;this._tooltip.options.sticky&&l.originalEvent&&(m=this._map.mouseEventToContainerPoint(l.originalEvent),b=this._map.containerPointToLayerPoint(m),d=this._map.layerPointToLatLng(b)),this._tooltip.setLatLng(d)}});var cL=kh.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var d=l&&l.tagName==="DIV"?l:document.createElement("div"),m=this.options;if(m.html instanceof Element?(ft(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Ae(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function jR(l){return new cL(l)}kh.Default=Ng;var Rg=Oi.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Ee.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){y(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),De(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Ge(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(je(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=h(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 ge?l:new ge(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 d=this.getPane().children,m=-l(-1/0,1/0),b=0,k=d.length,E;b<k;b++)E=d[b].style.zIndex,d[b]!==this._container&&E&&(m=l(m,+E));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Ee.ielt9){nt(this._container,this.options.opacity);var l=+new Date,d=!1,m=!1;for(var b in this._tiles){var k=this._tiles[b];if(!(!k.current||!k.loaded)){var E=Math.min(1,(l-k.loaded)/200);nt(k.el,E),E<1?d=!0:(k.active?m=!0:this._onOpaqueTile(k),k.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(ct(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=pe("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,d=this.options.maxZoom;if(l!==void 0){for(var m in this._levels)m=Number(m),this._levels[m].el.children.length||m===l?(this._levels[m].el.style.zIndex=d-Math.abs(l-m),this._onUpdateLevel(m)):(De(this._levels[m].el),this._removeTilesAtZoom(m),this._onRemoveLevel(m),delete this._levels[m]);var b=this._levels[l],k=this._map;return b||(b=this._levels[l]={},b.el=pe("div","leaflet-tile-container leaflet-zoom-animated",this._container),b.el.style.zIndex=d,b.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),b.zoom=l,this._setZoomTransform(b,k.getCenter(),k.getZoom()),f(b.el.offsetWidth),this._onCreateLevel(b)),this._level=b,b}},_onUpdateLevel:f,_onRemoveLevel:f,_onCreateLevel:f,_pruneTiles:function(){if(this._map){var l,d,m=this._map.getZoom();if(m>this.options.maxZoom||m<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)d=this._tiles[l],d.retain=d.current;for(l in this._tiles)if(d=this._tiles[l],d.current&&!d.active){var b=d.coords;this._retainParent(b.x,b.y,b.z,b.z-5)||this._retainChildren(b.x,b.y,b.z,b.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var d in this._tiles)this._tiles[d].coords.z===l&&this._removeTile(d)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)De(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,d,m,b){var k=Math.floor(l/2),E=Math.floor(d/2),$=m-1,te=new ge(+k,+E);te.z=+$;var le=this._tileCoordsToKey(te),Be=this._tiles[le];return Be&&Be.active?(Be.retain=!0,!0):(Be&&Be.loaded&&(Be.retain=!0),$>b?this._retainParent(k,E,$,b):!1)},_retainChildren:function(l,d,m,b){for(var k=2*l;k<2*l+2;k++)for(var E=2*d;E<2*d+2;E++){var $=new ge(k,E);$.z=m+1;var te=this._tileCoordsToKey($),le=this._tiles[te];if(le&&le.active){le.retain=!0;continue}else le&&le.loaded&&(le.retain=!0);m+1<b&&this._retainChildren(k,E,m+1,b)}},_resetView:function(l){var d=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),d,d)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var d=this.options;return d.minNativeZoom!==void 0&&l<d.minNativeZoom?d.minNativeZoom:d.maxNativeZoom!==void 0&&d.maxNativeZoom<l?d.maxNativeZoom:l},_setView:function(l,d,m,b){var k=Math.round(d);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var E=this.options.updateWhenZooming&&k!==this._tileZoom;(!b||E)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),m||this._pruneTiles(),this._noPrune=!!m),this._setZoomTransforms(l,d)},_setZoomTransforms:function(l,d){for(var m in this._levels)this._setZoomTransform(this._levels[m],l,d)},_setZoomTransform:function(l,d,m){var b=this._map.getZoomScale(m,l.zoom),k=l.origin.multiplyBy(b).subtract(this._map._getNewPixelOrigin(d,m)).round();Ee.any3d?$e(l.el,k,b):de(l.el,k)},_resetGrid:function(){var l=this._map,d=l.options.crs,m=this._tileSize=this.getTileSize(),b=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=d.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,d.wrapLng[0]],b).x/m.x),Math.ceil(l.project([0,d.wrapLng[1]],b).x/m.y)],this._wrapY=d.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([d.wrapLat[0],0],b).y/m.x),Math.ceil(l.project([d.wrapLat[1],0],b).y/m.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var d=this._map,m=d._animatingZoom?Math.max(d._animateToZoom,d.getZoom()):d.getZoom(),b=d.getZoomScale(m,this._tileZoom),k=d.project(l,this._tileZoom).floor(),E=d.getSize().divideBy(b*2);return new Ze(k.subtract(E),k.add(E))},_update:function(l){var d=this._map;if(d){var m=this._clampZoom(d.getZoom());if(l===void 0&&(l=d.getCenter()),this._tileZoom!==void 0){var b=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(b),E=k.getCenter(),$=[],te=this.options.keepBuffer,le=new Ze(k.getBottomLeft().subtract([te,-te]),k.getTopRight().add([te,-te]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Be in this._tiles){var Rt=this._tiles[Be].coords;(Rt.z!==this._tileZoom||!le.contains(new ge(Rt.x,Rt.y)))&&(this._tiles[Be].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var vi=k.min.y;vi<=k.max.y;vi++)for(var Gi=k.min.x;Gi<=k.max.x;Gi++){var to=new ge(Gi,vi);if(to.z=this._tileZoom,!!this._isValidTile(to)){var Ls=this._tiles[this._tileCoordsToKey(to)];Ls?Ls.current=!0:$.push(to)}}if($.sort(function(fo,Ph){return fo.distanceTo(E)-Ph.distanceTo(E)}),$.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Go=document.createDocumentFragment();for(Gi=0;Gi<$.length;Gi++)this._addTile($[Gi],Go);this._level.el.appendChild(Go)}}}},_isValidTile:function(l){var d=this._map.options.crs;if(!d.infinite){var m=this._globalTileRange;if(!d.wrapLng&&(l.x<m.min.x||l.x>m.max.x)||!d.wrapLat&&(l.y<m.min.y||l.y>m.max.y))return!1}if(!this.options.bounds)return!0;var b=this._tileCoordsToBounds(l);return Kt(this.options.bounds).overlaps(b)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var d=this._map,m=this.getTileSize(),b=l.scaleBy(m),k=b.add(m),E=d.unproject(b,l.z),$=d.unproject(k,l.z);return[E,$]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new di(d[0],d[1]);return this.options.noWrap||(m=this._map.wrapLatLngBounds(m)),m},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var d=l.split(":"),m=new ge(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(De(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){qe(l,"leaflet-tile");var d=this.getTileSize();l.style.width=d.x+"px",l.style.height=d.y+"px",l.onselectstart=f,l.onmousemove=f,Ee.ielt9&&this.options.opacity<1&&nt(l,this.options.opacity)},_addTile:function(l,d){var m=this._getTilePos(l),b=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&xe(r(this._tileReady,this,l,null,k)),de(k,m),this._tiles[b]={el:k,coords:l,current:!0},d.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,d,m){d&&this.fire("tileerror",{error:d,tile:m,coords:l});var b=this._tileCoordsToKey(l);m=this._tiles[b],m&&(m.loaded=+new Date,this._map._fadeAnimated?(nt(m.el,0),ct(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(qe(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ee.ielt9||!this._map._fadeAnimated?xe(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var d=new ge(this._wrapX?g(l.x,this._wrapX):l.x,this._wrapY?g(l.y,this._wrapY):l.y);return d.z=l.z,d},_pxBoundsToTileRange:function(l){var d=this.getTileSize();return new Ze(l.min.unscaleBy(d).floor(),l.max.unscaleBy(d).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function UR(l){return new Rg(l)}var Eh=Rg.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,d){this._url=l,d=y(this,d),d.detectRetina&&Ee.retina&&d.maxZoom>0?(d.tileSize=Math.floor(d.tileSize/2),d.zoomReverse?(d.zoomOffset--,d.minZoom=Math.min(d.maxZoom,d.minZoom+1)):(d.zoomOffset++,d.maxZoom=Math.max(d.minZoom,d.maxZoom-1)),d.minZoom=Math.max(0,d.minZoom)):d.zoomReverse?d.minZoom=Math.min(d.maxZoom,d.minZoom):d.maxZoom=Math.max(d.minZoom,d.maxZoom),typeof d.subdomains=="string"&&(d.subdomains=d.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,d){return this._url===l&&d===void 0&&(d=!0),this._url=l,d||this.redraw(),this},createTile:function(l,d){var m=document.createElement("img");return Je(m,"load",r(this._tileOnLoad,this,d,m)),Je(m,"error",r(this._tileOnError,this,d,m)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(m.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(m.referrerPolicy=this.options.referrerPolicy),m.alt="",m.src=this.getTileUrl(l),m},getTileUrl:function(l){var d={r:Ee.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return P(this._url,n(d,this.options))},_tileOnLoad:function(l,d){Ee.ielt9?setTimeout(r(l,this,null,d),0):l(null,d)},_tileOnError:function(l,d,m){var b=this.options.errorTileUrl;b&&d.getAttribute("src")!==b&&(d.src=b),l(m,d)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,d=this.options.maxZoom,m=this.options.zoomReverse,b=this.options.zoomOffset;return m&&(l=d-l),l+b},_getSubdomain:function(l){var d=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[d]},_abortLoading:function(){var l,d;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(d=this._tiles[l].el,d.onload=f,d.onerror=f,!d.complete)){d.src=H;var m=this._tiles[l].coords;De(d),delete this._tiles[l],this.fire("tileabort",{tile:d,coords:m})}},_removeTile:function(l){var d=this._tiles[l];if(d)return d.el.setAttribute("src",H),Rg.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===H))return Rg.prototype._tileReady.call(this,l,d,m)}});function dL(l,d){return new Eh(l,d)}var hL=Eh.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,d){this._url=l;var m=n({},this.defaultWmsParams);for(var b in d)b in this.options||(m[b]=d[b]);d=y(this,d);var k=d.detectRetina&&Ee.retina?2:1,E=this.getTileSize();m.width=E.x*k,m.height=E.y*k,this.wmsParams=m},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var d=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[d]=this._crs.code,Eh.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=pt(m.project(d[0]),m.project(d[1])),k=b.min,E=b.max,$=(this._wmsVersion>=1.3&&this._crs===sm?[k.y,k.x,E.y,E.x]:[k.x,k.y,E.x,E.y]).join(","),te=Eh.prototype.getTileUrl.call(this,l);return te+S(this.wmsParams,te,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+$},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function $R(l,d){return new hL(l,d)}Eh.WMS=hL,dL.wms=$R;var Aa=Oi.extend({options:{padding:.1},initialize:function(l){y(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),qe(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,d){var m=this._map.getZoomScale(d,this._zoom),b=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,d),E=b.multiplyBy(-m).add(k).subtract(this._map._getNewPixelOrigin(l,d));Ee.any3d?$e(this._container,E,m):de(this._container,E)},_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,d=this._map.getSize(),m=this._map.containerPointToLayerPoint(d.multiplyBy(-l)).round();this._bounds=new Ze(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),uL=Aa.extend({options:{tolerance:0},getEvents:function(){var l=Aa.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Aa.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Je(l,"mousemove",this._onMouseMove,this),Je(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Je(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){ct(this._redrawRequest),delete this._ctx,De(this._container),ni(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var d in this._layers)l=this._layers[d],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Aa.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=Ee.retina?2:1;de(d,l.min),d.width=b*m.x,d.height=b*m.y,d.style.width=m.x+"px",d.style.height=m.y+"px",Ee.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Aa.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(l)]=l;var d=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=d),this._drawLast=d,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var d=l._order,m=d.next,b=d.prev;m?m.prev=b:this._drawLast=b,b?b.next=m:this._drawFirst=m,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 d=l.options.dashArray.split(/[, ]+/),m=[],b,k;for(k=0;k<d.length;k++){if(b=Number(d[k]),isNaN(b))return;m.push(b)}l.options._dashArray=m}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||xe(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Ze,this._redrawBounds.extend(l._pxBounds.min.subtract([d,d])),this._redrawBounds.extend(l._pxBounds.max.add([d,d]))}},_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 d=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,d.x,d.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,d=this._redrawBounds;if(this._ctx.save(),d){var m=d.getSize();this._ctx.beginPath(),this._ctx.rect(d.min.x,d.min.y,m.x,m.y),this._ctx.clip()}this._drawing=!0;for(var b=this._drawFirst;b;b=b.next)l=b.layer,(!d||l._pxBounds&&l._pxBounds.intersects(d))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,d){if(this._drawing){var m,b,k,E,$=l._parts,te=$.length,le=this._ctx;if(te){for(le.beginPath(),m=0;m<te;m++){for(b=0,k=$[m].length;b<k;b++)E=$[m][b],le[b?"lineTo":"moveTo"](E.x,E.y);d&&le.closePath()}this._fillStroke(le,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var d=l._point,m=this._ctx,b=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||b)/b;k!==1&&(m.save(),m.scale(1,k)),m.beginPath(),m.arc(d.x,d.y/k,b,0,Math.PI*2,!1),k!==1&&m.restore(),this._fillStroke(m,l)}},_fillStroke:function(l,d){var m=d.options;m.fill&&(l.globalAlpha=m.fillOpacity,l.fillStyle=m.fillColor||m.color,l.fill(m.fillRule||"evenodd")),m.stroke&&m.weight!==0&&(l.setLineDash&&l.setLineDash(d.options&&d.options._dashArray||[]),l.globalAlpha=m.opacity,l.lineWidth=m.weight,l.strokeStyle=m.color,l.lineCap=m.lineCap,l.lineJoin=m.lineJoin,l.stroke())},_onClick:function(l){for(var d=this._map.mouseEventToLayerPoint(l),m,b,k=this._drawFirst;k;k=k.next)m=k.layer,m.options.interactive&&m._containsPoint(d)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(m))&&(b=m);this._fireEvent(b?[b]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var d=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,d)}},_handleMouseOut:function(l){var d=this._hoveredLayer;d&&(z(this._container,"leaflet-interactive"),this._fireEvent([d],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,d){if(!this._mouseHoverThrottled){for(var m,b,k=this._drawFirst;k;k=k.next)m=k.layer,m.options.interactive&&m._containsPoint(d)&&(b=m);b!==this._hoveredLayer&&(this._handleMouseOut(l),b&&(qe(this._container,"leaflet-interactive"),this._fireEvent([b],l,"mouseover"),this._hoveredLayer=b)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,d,m){this._map._fireDOMEvent(d,m||d.type,l)},_bringToFront:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(m)m.prev=b;else return;b?b.next=m:m&&(this._drawFirst=m),d.prev=this._drawLast,this._drawLast.next=d,d.next=null,this._drawLast=d,this._requestRedraw(l)}},_bringToBack:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(b)b.next=m;else return;m?m.prev=b:b&&(this._drawLast=b),d.prev=null,d.next=this._drawFirst,this._drawFirst.prev=d,this._drawFirst=d,this._requestRedraw(l)}}});function gL(l){return Ee.canvas?new uL(l):null}var Ag=(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">')}})(),qR={_initContainer:function(){this._container=pe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Aa.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=Ag("shape");qe(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=Ag("path"),d.appendChild(l._path),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){var d=l._container;this._container.appendChild(d),l.options.interactive&&l.addInteractiveTarget(d)},_removePath:function(l){var d=l._container;De(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,k=l._container;k.stroked=!!b.stroke,k.filled=!!b.fill,b.stroke?(d||(d=l._stroke=Ag("stroke")),k.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=N(b.dashArray)?b.dashArray.join(" "):b.dashArray.replace(/( *, *)/g," "):d.dashStyle="",d.endcap=b.lineCap.replace("butt","flat"),d.joinstyle=b.lineJoin):d&&(k.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=Ag("fill")),k.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(k.removeChild(m),l._fill=null)},_updateCircle:function(l){var d=l._point.round(),m=Math.round(l._radius),b=Math.round(l._radiusY||m);this._setPath(l,l._empty()?"M0 0":"AL "+d.x+","+d.y+" "+m+","+b+" 0,"+65535*360)},_setPath:function(l,d){l._path.v=d},_bringToFront:function(l){Ge(l._container)},_bringToBack:function(l){je(l._container)}},fm=Ee.vml?Ag:kn,Og=Aa.extend({_initContainer:function(){this._container=fm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=fm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){De(this._container),ni(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Aa.prototype._update.call(this);var l=this._bounds,d=l.getSize(),m=this._container;(!this._svgSize||!this._svgSize.equals(d))&&(this._svgSize=d,m.setAttribute("width",d.x),m.setAttribute("height",d.y)),de(m,l.min),m.setAttribute("viewBox",[l.min.x,l.min.y,d.x,d.y].join(" ")),this.fire("update")}},_initPath:function(l){var d=l._path=fm("path");l.options.className&&qe(d,l.options.className),l.options.interactive&&qe(d,"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){De(l._path),l.removeInteractiveTarget(l._path),delete this._layers[c(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var d=l._path,m=l.options;d&&(m.stroke?(d.setAttribute("stroke",m.color),d.setAttribute("stroke-opacity",m.opacity),d.setAttribute("stroke-width",m.weight),d.setAttribute("stroke-linecap",m.lineCap),d.setAttribute("stroke-linejoin",m.lineJoin),m.dashArray?d.setAttribute("stroke-dasharray",m.dashArray):d.removeAttribute("stroke-dasharray"),m.dashOffset?d.setAttribute("stroke-dashoffset",m.dashOffset):d.removeAttribute("stroke-dashoffset")):d.setAttribute("stroke","none"),m.fill?(d.setAttribute("fill",m.fillColor||m.color),d.setAttribute("fill-opacity",m.fillOpacity),d.setAttribute("fill-rule",m.fillRule||"evenodd")):d.setAttribute("fill","none"))},_updatePoly:function(l,d){this._setPath(l,_n(l._parts,d))},_updateCircle:function(l){var d=l._point,m=Math.max(Math.round(l._radius),1),b=Math.max(Math.round(l._radiusY),1)||m,k="a"+m+","+b+" 0 1,0 ",E=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+k+m*2+",0 "+k+-m*2+",0 ";this._setPath(l,E)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){Ge(l._path)},_bringToBack:function(l){je(l._path)}});Ee.vml&&Og.include(qR);function fL(l){return Ee.svg||Ee.vml?new Og(l):null}ji.include({getRenderer:function(l){var d=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return d||(d=this._renderer=this._createRenderer()),this.hasLayer(d)||this.addLayer(d),d},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var d=this._paneRenderers[l];return d===void 0&&(d=this._createRenderer({pane:l}),this._paneRenderers[l]=d),d},_createRenderer:function(l){return this.options.preferCanvas&&gL(l)||fL(l)}});var pL=Ih.extend({initialize:function(l,d){Ih.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Kt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function KR(l,d){return new pL(l,d)}Og.create=fm,Og.pointsToPath=_n,Ra.geometryToLayer=am,Ra.coordsToLatLng=Aw,Ra.coordsToLatLngs=lm,Ra.latLngToCoords=Ow,Ra.latLngsToCoords=cm,Ra.getFeature=Dh,Ra.asFeature=dm,ji.mergeOptions({boxZoom:!0});var mL=me.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(){Je(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ni(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){De(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(),ye(),Me(),this._startPoint=this._map.mouseEventToContainerPoint(l),Je(document,{contextmenu:Ps,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=pe("div","leaflet-zoom-box",this._container),qe(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new Ze(this._point,this._startPoint),m=d.getSize();de(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(De(this._box),z(this._container,"leaflet-crosshair")),he(),Re(),ni(document,{contextmenu:Ps,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 d=new di(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(d).fire("boxzoomend",{boxZoomBounds:d})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ji.addInitHook("addHandler","boxZoom",mL),ji.mergeOptions({doubleClickZoom:!0});var _L=me.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var d=this._map,m=d.getZoom(),b=d.options.zoomDelta,k=l.originalEvent.shiftKey?m-b:m+b;d.options.doubleClickZoom==="center"?d.setZoom(k):d.setZoomAround(l.containerPoint,k)}});ji.addInitHook("addHandler","doubleClickZoom",_L),ji.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var vL=me.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Ht(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))}qe(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(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 d=Kt(this._map.options.maxBounds);this._offsetLimit=pt(this._map.latLngToContainerPoint(d.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(d.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 d=this._lastTime=+new Date,m=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(m),this._times.push(d),this._prunePositions(d)}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),d=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=d.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,d){return l-(l-d)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),d=this._offsetLimit;l.x<d.min.x&&(l.x=this._viscousLimit(l.x,d.min.x)),l.y<d.min.y&&(l.y=this._viscousLimit(l.y,d.min.y)),l.x>d.max.x&&(l.x=this._viscousLimit(l.x,d.max.x)),l.y>d.max.y&&(l.y=this._viscousLimit(l.y,d.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,d=Math.round(l/2),m=this._initialWorldOffset,b=this._draggable._newPos.x,k=(b-d+m)%l+d-m,E=(b+d+m)%l-d-m,$=Math.abs(k+m)<Math.abs(E+m)?k:E;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=$},_onDragEnd:function(l){var d=this._map,m=d.options,b=!m.inertia||l.noInertia||this._times.length<2;if(d.fire("dragend",l),b)d.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),E=(this._lastTime-this._times[0])/1e3,$=m.easeLinearity,te=k.multiplyBy($/E),le=te.distanceTo([0,0]),Be=Math.min(m.inertiaMaxSpeed,le),Rt=te.multiplyBy(Be/le),vi=Be/(m.inertiaDeceleration*$),Gi=Rt.multiplyBy(-vi/2).round();!Gi.x&&!Gi.y?d.fire("moveend"):(Gi=d._limitOffset(Gi,d.options.maxBounds),xe(function(){d.panBy(Gi,{duration:vi,easeLinearity:$,noMoveStart:!0,animate:!0})}))}}});ji.addInitHook("addHandler","dragging",vL),ji.mergeOptions({keyboard:!0,keyboardPanDelta:80});var bL=me.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"),Je(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(),ni(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,d=document.documentElement,m=l.scrollTop||d.scrollTop,b=l.scrollLeft||d.scrollLeft;this._map._container.focus(),window.scrollTo(b,m)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var d=this._panKeys={},m=this.keyCodes,b,k;for(b=0,k=m.left.length;b<k;b++)d[m.left[b]]=[-1*l,0];for(b=0,k=m.right.length;b<k;b++)d[m.right[b]]=[l,0];for(b=0,k=m.down.length;b<k;b++)d[m.down[b]]=[0,l];for(b=0,k=m.up.length;b<k;b++)d[m.up[b]]=[0,-1*l]},_setZoomDelta:function(l){var d=this._zoomKeys={},m=this.keyCodes,b,k;for(b=0,k=m.zoomIn.length;b<k;b++)d[m.zoomIn[b]]=l;for(b=0,k=m.zoomOut.length;b<k;b++)d[m.zoomOut[b]]=-l},_addHooks:function(){Je(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ni(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var d=l.keyCode,m=this._map,b;if(d in this._panKeys){if(!m._panAnim||!m._panAnim._inProgress)if(b=this._panKeys[d],l.shiftKey&&(b=Ae(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Ae(b),m.options.maxBounds)),m.options.worldCopyJump){var k=m.wrapLatLng(m.unproject(m.project(m.getCenter()).add(b)));m.panTo(k)}else m.panBy(b)}else if(d in this._zoomKeys)m.setZoom(m.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[d]);else if(d===27&&m._popup&&m._popup.options.closeOnEscapeKey)m.closePopup();else return;Ps(l)}}});ji.addInitHook("addHandler","keyboard",bL),ji.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var wL=me.extend({addHooks:function(){Je(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ni(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Kr(l),m=this._map.options.wheelDebounceTime;this._delta+=d,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var b=Math.max(m-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),b),Ps(l)},_performZoom:function(){var l=this._map,d=l.getZoom(),m=this._map.options.zoomSnap||0;l._stop();var b=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(b))))/Math.LN2,E=m?Math.ceil(k/m)*m:k,$=l._limitZoom(d+(this._delta>0?E:-E))-d;this._delta=0,this._startTime=null,$&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+$):l.setZoomAround(this._lastMousePos,d+$))}});ji.addInitHook("addHandler","scrollWheelZoom",wL);var GR=600;ji.mergeOptions({tapHold:Ee.touchNative&&Ee.safari&&Ee.mobile,tapTolerance:15});var yL=me.extend({addHooks:function(){Je(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ni(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var d=l.touches[0];this._startPos=this._newPos=new ge(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Je(document,"touchend",sn),Je(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),GR),Je(document,"touchend touchcancel contextmenu",this._cancel,this),Je(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ni(document,"touchend",sn),ni(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ni(document,"touchend touchcancel contextmenu",this._cancel,this),ni(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new ge(d.clientX,d.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,d){var m=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:d.screenX,screenY:d.screenY,clientX:d.clientX,clientY:d.clientY});m._simulated=!0,d.target.dispatchEvent(m)}});ji.addInitHook("addHandler","tapHold",yL),ji.mergeOptions({touchZoom:Ee.touch,bounceAtZoomLimits:!0});var SL=me.extend({addHooks:function(){qe(this._map._container,"leaflet-touch-zoom"),Je(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,"leaflet-touch-zoom"),ni(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var d=this._map;if(!(!l.touches||l.touches.length!==2||d._animatingZoom||this._zooming)){var m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=d.getSize()._divideBy(2),this._startLatLng=d.containerPointToLatLng(this._centerPoint),d.options.touchZoom!=="center"&&(this._pinchStartLatLng=d.containerPointToLatLng(m.add(b)._divideBy(2))),this._startDist=m.distanceTo(b),this._startZoom=d.getZoom(),this._moved=!1,this._zooming=!0,d._stop(),Je(document,"touchmove",this._onTouchMove,this),Je(document,"touchend touchcancel",this._onTouchEnd,this),sn(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var d=this._map,m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]),k=m.distanceTo(b)/this._startDist;if(this._zoom=d.getScaleZoom(k,this._startZoom),!d.options.bounceAtZoomLimits&&(this._zoom<d.getMinZoom()&&k<1||this._zoom>d.getMaxZoom()&&k>1)&&(this._zoom=d._limitZoom(this._zoom)),d.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var E=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(k===1&&E.x===0&&E.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(E),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),ct(this._animRequest);var $=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=xe($,this,!0),sn(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ct(this._animRequest),ni(document,"touchmove",this._onTouchMove,this),ni(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))}});ji.addInitHook("addHandler","touchZoom",SL),ji.BoxZoom=mL,ji.DoubleClickZoom=_L,ji.Drag=vL,ji.Keyboard=bL,ji.ScrollWheelZoom=wL,ji.TapHold=yL,ji.TouchZoom=SL,t.Bounds=Ze,t.Browser=Ee,t.CRS=yi,t.Canvas=uL,t.Circle=Rw,t.CircleMarker=rm,t.Class=dt,t.Control=os,t.DivIcon=cL,t.DivOverlay=Yr,t.DomEvent=wr,t.DomUtil=Et,t.Draggable=Ht,t.Evented=Jt,t.FeatureGroup=Ma,t.GeoJSON=Ra,t.GridLayer=Rg,t.Handler=me,t.Icon=kh,t.ImageOverlay=hm,t.LatLng=Ct,t.LatLngBounds=di,t.Layer=Oi,t.LayerGroup=bs,t.LineUtil=cs,t.Map=ji,t.Marker=om,t.Mixin=Dt,t.Path=yl,t.Point=ge,t.PolyUtil=Ci,t.Polygon=Ih,t.Polyline=Na,t.Popup=um,t.PosAnimation=Lc,t.Projection=Mg,t.Rectangle=pL,t.Renderer=Aa,t.SVG=Og,t.SVGOverlay=lL,t.TileLayer=Eh,t.Tooltip=gm,t.Transformation=Ai,t.Util=Pt,t.VideoOverlay=aL,t.bind=r,t.bounds=pt,t.canvas=gL,t.circle=RR,t.circleMarker=NR,t.control=$o,t.divIcon=jR,t.extend=n,t.featureGroup=PR,t.geoJSON=rL,t.geoJson=FR,t.gridLayer=UR,t.icon=TR,t.imageOverlay=HR,t.latLng=kt,t.latLngBounds=Kt,t.layerGroup=Lh,t.map=eo,t.marker=MR,t.point=Ae,t.polygon=OR,t.polyline=AR,t.popup=zR,t.rectangle=KR,t.setOptions=y,t.stamp=c,t.svg=fL,t.svgOverlay=BR,t.tileLayer=dL,t.tooltip=VR,t.transformation=Ln,t.version=i,t.videoOverlay=WR;var ZR=window.L;t.noConflict=function(){return window.L=ZR,this},window.L=t}))})(hf,hf.exports)),hf.exports}var lG=aG();const Kg=hR(lG),cG="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=",dG="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==",hG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Wn=(o,e=tw)=>{var t=uG(),i=x(C(t),2),n=C(i);Z(()=>K(n,e())),T(o,t)};var uG=R('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),gG=R("<button> </button>"),fG=R('<span class="err svelte-767znw"> </span>'),pG=R('<span class="ok svelte-767znw"> </span>'),mG=R('<div class="loading svelte-767znw">Loading…</div>'),_G=R('<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>'),vG=R('<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),bG=R('<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">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>'),wG=R('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),yG=R('<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),SG=R('<div class="field-error svelte-767znw"> </div>'),CG=R('<div class="field-ok svelte-767znw"> </div>'),xG=R('<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>'),LG=R('<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>'),kG=R('<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>'),IG=R('<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>'),DG=R('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Solar events</h3> <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>'),EG=R('<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>'),PG=R('<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>'),TG=R('<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>'),MG=R('<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>'),NG=R("<option> </option>"),RG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),AG=R('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),OG=R("<div><!> <!></div>"),FG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),HG=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),WG=R('<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>'),BG=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),zG=R('<!> <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 VG(o,e){Io(e,!0),delete Kg.Icon.Default.prototype._getIconUrl,Kg.Icon.Default.mergeOptions({iconUrl:cG,iconRetinaUrl:dG,shadowUrl:hG});let t=U(bi(sG())),i=U("~/.she"),n=U("mqtt"),s=U(""),r=U(""),a=U(""),c=U(""),h=U(""),g=U(""),f=U("logic"),p=U("var"),v=U(!1),_=U(8080),y=U(""),S=U("none"),D=U(""),P=U("X-Remote-User"),N=U(""),j=U(!1),H=U(""),ee=U(""),X=U(""),fe=U(!1),be=U(48.7408),Te=U(9.1778),xe=U(!1),ct=U(void 0),Pt=U(!1),dt=U(null),ai=U("info"),Mt=U(""),Jt=U(""),ge=U(!1),rt=U(!1),Ae=U("");const Ze=[{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 pt=U("ollama"),di=U("ollama"),Kt=U(""),Ct=U(""),kt=U("");const yi={};let Bi="ollama";function xn(O,Q){return O==="anthropic"?"anthropic":O==="ollama"?"ollama":Q?Q.includes("localhost:1234")?"lmstudio":Q.includes("groq.com")?"groq":Q.includes("googleapis.com")?"gemini":"openai":"openai"}function en(){yi[Bi]={baseUrl:u(Kt),model:u(Ct),apiKey:u(kt)};const O=Ze.find(Ce=>Ce.id===u(pt));if(!O)return;I(di,O.provider,!0);const Q=yi[u(pt)];I(Kt,(Q==null?void 0:Q.baseUrl)??O.baseUrl,!0),I(Ct,(Q==null?void 0:Q.model)??O.defaultModel,!0),I(kt,(Q==null?void 0:Q.apiKey)??"",!0),Bi=u(pt)}const Ai=ot(()=>Ze.find(O=>O.id===u(pt)));let Ln=U(bi({}));const mn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","latitude","longitude","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Rn(()=>{if(!u(ct))return;const O=typeof u(be)=="number"?u(be):48.7408,Q=typeof u(Te)=="number"?u(Te):9.1778,Ce=Kg.map(u(ct)).setView([O,Q],10);Kg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Ce);const Qe=Kg.marker([O,Q],{draggable:!0}).addTo(Ce);I(dt,Qe,!0);const Nt=ke=>{I(be,+ke.lat.toFixed(6)),I(Te,+ke.lng.toFixed(6))};return Qe.on("dragend",()=>Nt(Qe.getLatLng())),Ce.on("click",ke=>{Qe.setLatLng(ke.latlng),Nt(ke.latlng)}),()=>{I(dt,null),Ce.remove()}}),Rn(()=>{!u(dt)||u(be)===""||u(Te)===""||u(dt).setLatLng([Number(u(be)),Number(u(Te))])});let zn;function kn(){if(!navigator.geolocation){zn.show("Geolocation is not supported by this browser.",{alert:!0});return}I(Pt,!0),navigator.geolocation.getCurrentPosition(O=>{I(be,+O.coords.latitude.toFixed(6)),I(Te,+O.coords.longitude.toFixed(6)),I(Pt,!1)},()=>{I(Pt,!1)})}let _n=U(!0),Hn=U(!1),In=U(""),qn=U(""),Xe=U(""),Ft=U("appearance");const li=[{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"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"solar",label:"Solar events",terms:["latitude","longitude","sunrise","sunset","geo"]},{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 Bt=ot(()=>li.filter(O=>{const Q=u(Xe).trim().toLowerCase();return!Q||O.label.toLowerCase().includes(Q)||O.terms.some(Ce=>Ce.includes(Q))}));function pi(O){var Q;I(Ft,O,!0),(Q=document.getElementById("sec-"+O))==null||Q.scrollIntoView({behavior:"smooth",block:"start"})}vr(async()=>{try{const O=await m_();O.dataDir&&I(i,O.dataDir,!0)}catch{}try{const O=await QN();if(typeof O.url=="string"&&O.url)try{const Qe=new URL(O.url);I(n,Qe.protocol.replace(":",""),!0),I(s,Qe.host,!0)}catch{I(s,O.url,!0)}typeof O.mqttUsername=="string"&&I(r,O.mqttUsername,!0),typeof O.mqttPassword=="string"&&I(a,O.mqttPassword,!0),typeof O.mqttCa=="string"&&I(c,O.mqttCa,!0),typeof O.mqttCert=="string"&&I(h,O.mqttCert,!0),typeof O.mqttKey=="string"&&I(g,O.mqttKey,!0),typeof O.name=="string"&&I(f,O.name,!0),typeof O.variablePrefix=="string"&&I(p,O.variablePrefix,!0),typeof O.disableVariables=="boolean"&&I(v,O.disableVariables,!0),typeof O.port=="number"&&I(_,O.port,!0),typeof O.bindAddress=="string"&&I(y,O.bindAddress,!0),typeof O.auth=="string"&&I(S,O.auth,!0),typeof O.proxyHeader=="string"&&I(P,O.proxyHeader,!0),typeof O.proxyLogoutUrl=="string"&&I(N,O.proxyLogoutUrl,!0),typeof O.dir=="string"&&I(X,O.dir,!0),typeof O.disableWatch=="boolean"&&I(fe,O.disableWatch,!0),typeof O.latitude=="number"&&I(be,O.latitude,!0),typeof O.longitude=="number"&&I(Te,O.longitude,!0),typeof O.verbosity=="string"&&I(ai,O.verbosity,!0),typeof O.dbPath=="string"&&I(Mt,O.dbPath,!0),typeof O.dbPrefix=="string"&&I(Jt,O.dbPrefix,!0),typeof O.dbPublish=="boolean"&&I(ge,O.dbPublish,!0),typeof O.dbRetain=="boolean"&&I(rt,O.dbRetain,!0);const Q=O.redis;Q!=null&&Q.url&&I(Ae,Q.url,!0);const Ce=O.ai;Ce!=null&&Ce.provider&&I(di,Ce.provider,!0),Ce!=null&&Ce.baseUrl&&I(Kt,Ce.baseUrl,!0),Ce!=null&&Ce.model&&I(Ct,Ce.model,!0),Ce!=null&&Ce.apiKey&&I(kt,Ce.apiKey,!0),I(pt,xn(u(di),u(Kt)),!0),Bi=u(pt),I(Ln,Object.fromEntries(Object.entries(O).filter(([Qe])=>!mn.has(Qe))),!0)}catch(O){I(qn,O.message,!0)}finally{I(_n,!1)}});async function Dn(){if(I(ee,""),I(H,""),u(S)==="password"&&!u(D)){I(ee,"A password is required to enable password authentication.");return}I(j,!0);try{await U7(u(S),u(S)==="password"?u(D):void 0,u(S)==="proxy"?u(P):void 0,u(S)==="proxy"?u(N):void 0),I(D,""),I(H,"Authentication settings saved.")}catch(O){I(ee,O.message,!0)}finally{I(j,!1)}}async function rn(){I(qn,""),I(In,"");const O={...u(Ln)};u(s)&&(O.url=`${u(n)}://${u(s)}`),O.name=u(f),O.variablePrefix=u(p),u(v)&&(O.disableVariables=!0),u(r)&&(O.mqttUsername=u(r)),u(a)&&(O.mqttPassword=u(a)),u(c)&&(O.mqttCa=u(c)),u(h)&&(O.mqttCert=u(h)),u(g)&&(O.mqttKey=u(g)),u(_)!==""&&(O.port=Number(u(_))),u(y)&&(O.bindAddress=u(y)),u(X)&&(O.dir=u(X)),u(fe)&&(O.disableWatch=!0),u(be)!==""&&(O.latitude=Number(u(be))),u(Te)!==""&&(O.longitude=Number(u(Te))),O.verbosity=u(ai),u(Mt)&&(O.dbPath=u(Mt),u(Jt)&&(O.dbPrefix=u(Jt)),u(ge)&&(O.dbPublish=!0,u(rt)&&(O.dbRetain=!0))),u(Ae)&&(O.redis={url:u(Ae)}),u(di)&&(O.ai={provider:u(di),...u(Kt)?{baseUrl:u(Kt)}:{},...u(Ct)?{model:u(Ct)}:{},...u(kt)?{apiKey:u(kt)}:{}}),I(Hn,!0);try{const Q=await Q7(O);window.dispatchEvent(new CustomEvent("she:config-changed")),I(In,Q.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Q){I(qn,Q.message,!0)}finally{I(Hn,!1)}}var tn=zG(),hn=wt(tn);Cs(im(hn,{}),O=>zn=O,()=>zn);var Un=x(hn,2),Mi=C(Un),vn=C(Mi),Tn=x(C(vn),2),Zn=x(vn,2);mi(Zn,21,()=>li,O=>O.id,(O,Q)=>{var Ce=Ds(),Qe=wt(Ce);{var Nt=Ie=>{var Oe=gG();let Tt;var gt=C(Oe);Z(()=>{Tt=Ut(Oe,1,"section-link svelte-767znw",null,Tt,{active:u(Ft)===u(Q).id}),K(gt,u(Q).label)}),ne("click",Oe,()=>pi(u(Q).id)),T(Ie,Oe)},ke=ot(()=>u(Bt).some(Ie=>Ie.id===u(Q).id));q(Qe,Ie=>{u(ke)&&Ie(Nt)})}T(O,Ce)});var Mn=x(Mi,2),an=C(Mn),Nn=x(C(an),2);{var nn=O=>{var Q=fG(),Ce=C(Q);Z(()=>K(Ce,u(qn))),T(O,Q)};q(Nn,O=>{u(qn)&&O(nn)})}var Se=x(Nn,2);{var G=O=>{var Q=pG(),Ce=C(Q);Z(()=>K(Ce,u(In))),T(O,Q)};q(Se,O=>{u(In)&&O(G)})}var Le=x(Se,2),at=C(Le),It=x(an,2);{var $t=O=>{var Q=mG();T(O,Q)},F=O=>{var Q=BG(),Ce=C(Q);{var Qe=W=>{var ae=_G(),ce=x(C(ae),2),ue=x(C(ce),2),pe=C(ue);pe.value=pe.__value="dark";var De=x(pe);De.value=De.__value="light";var ft=x(De);ft.value=ft.__value="system",ne("change",ue,()=>oG(u(t))),ua(ue,()=>u(t),Ge=>I(t,Ge)),T(W,ae)},Nt=ot(()=>u(Bt).some(W=>W.id==="appearance"));q(Ce,W=>{u(Nt)&&W(Qe)})}var ke=x(Ce,2);{var Ie=W=>{var ae=bG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var De=x(ue,2),ft=C(De);ft.value=ft.__value="mqtt";var Ge=x(ft);Ge.value=Ge.__value="mqtts";var je=x(Ge);je.value=je.__value="ws";var Ot=x(je);Ot.value=Ot.__value="wss";var qe=x(ce,2),z=C(qe),se=x(C(z));Wn(se,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var Fe=x(z,2),nt=x(qe,2),xt=C(nt),Ne=x(C(xt));Wn(Ne,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var $e=x(xt,2),de=x(nt,2),lt=C(de),ye=x(C(lt));Wn(ye,()=>"MQTT broker password. Stored in plain text in config.json.");var he=x(lt,2),Wt=x(de,2);{var it=Si=>{var Zi=vG(),si=wt(Zi),jt=C(si),ln=x(C(jt));Wn(ln,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var qi=x(jt,2),bn=x(si,2),sn=C(bn),Ps=x(C(sn));Wn(Ps,()=>"PEM-encoded client certificate for mutual TLS authentication.");var jo=x(sn,2),Uo=x(bn,2),qr=C(Uo),Kr=x(C(qr));Wn(Kr,()=>"PEM-encoded private key matching the client certificate.");var br=x(qr,2);Ei(qi,()=>u(c),wr=>I(c,wr)),Ei(jo,()=>u(h),wr=>I(h,wr)),Ei(br,()=>u(g),wr=>I(g,wr)),T(Si,Zi)};q(Wt,Si=>{(u(n)==="mqtts"||u(n)==="wss")&&Si(it)})}var Me=x(Wt,2),Re=C(Me),Ue=x(C(Re));Wn(Ue,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var mt=x(Re,2),hi=x(Me,2),ve=C(hi),Ke=x(C(ve));Wn(Ke,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var _t=x(ve,2),Et=x(hi,2),Je=x(C(Et),2),ui=C(Je),ni=x(ui,4);Wn(ni,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),ua(De,()=>u(n),Si=>I(n,Si)),Ei(Fe,()=>u(s),Si=>I(s,Si)),Ei($e,()=>u(r),Si=>I(r,Si)),Ei(he,()=>u(a),Si=>I(a,Si)),Ei(mt,()=>u(f),Si=>I(f,Si)),Ei(_t,()=>u(p),Si=>I(p,Si)),qs(ui,()=>u(v),Si=>I(v,Si)),T(W,ae)},Oe=ot(()=>u(Bt).some(W=>W.id==="mqtt"));q(ke,W=>{u(Oe)&&W(Ie)})}var Tt=x(ke,2);{var gt=W=>{var ae=xG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var De=x(ue,2),ft=C(De);ft.value=ft.__value="none";var Ge=x(ft);Ge.value=Ge.__value="password";var je=x(Ge);je.value=je.__value="proxy";var Ot=x(ce,2);{var qe=ye=>{var he=wG(),Wt=C(he),it=C(Wt),Me=x(it);Wn(Me,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Re=x(Wt,2);Z(()=>K(it,`${u(D)?"New password":"Password"} `)),Ei(Re,()=>u(D),Ue=>I(D,Ue)),T(ye,he)};q(Ot,ye=>{u(S)==="password"&&ye(qe)})}var z=x(Ot,2);{var se=ye=>{var he=yG(),Wt=wt(he),it=C(Wt),Me=x(C(it));Wn(Me,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Re=x(it,2),Ue=x(Wt,2),mt=C(Ue),hi=x(C(mt));Wn(hi,()=>"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 ve=x(mt,2);Ei(Re,()=>u(P),Ke=>I(P,Ke)),Ei(ve,()=>u(N),Ke=>I(N,Ke)),T(ye,he)};q(z,ye=>{u(S)==="proxy"&&ye(se)})}var Fe=x(z,2);{var nt=ye=>{var he=SG(),Wt=C(he);Z(()=>K(Wt,u(ee))),T(ye,he)};q(Fe,ye=>{u(ee)&&ye(nt)})}var xt=x(Fe,2);{var Ne=ye=>{var he=CG(),Wt=C(he);Z(()=>K(Wt,u(H))),T(ye,he)};q(xt,ye=>{u(H)&&ye(Ne)})}var $e=x(xt,2),de=x(C($e),2),lt=C(de);Z(()=>{de.disabled=u(j)||u(S)==="password"&&!u(D),K(lt,u(j)?"Saving…":"Apply authentication settings")}),ua(De,()=>u(S),ye=>I(S,ye)),ne("click",de,Dn),T(W,ae)},Ee=ot(()=>u(Bt).some(W=>W.id==="auth"));q(Tt,W=>{u(Ee)&&W(gt)})}var At=x(Tt,2);{var Qt=W=>{var ae=LG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var De=x(ue,2),ft=x(ce,2),Ge=C(ft),je=x(C(Ge));Wn(je,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ot=x(Ge,2);Ei(De,()=>u(_),qe=>I(_,qe)),Ei(Ot,()=>u(y),qe=>I(y,qe)),T(W,ae)},Yt=ot(()=>u(Bt).some(W=>W.id==="webserver"));q(At,W=>{u(Yt)&&W(Qt)})}var Vt=x(At,2);{var ei=W=>{var ae=kG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var De=x(ue,2),ft=x(ce,2),Ge=x(C(ft),2),je=C(Ge),Ot=x(je,4);Wn(Ot,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),Z(()=>Bn(De,"placeholder",`${u(i)??""}/scripts (default)`)),Ei(De,()=>u(X),qe=>I(X,qe)),qs(je,()=>u(fe),qe=>I(fe,qe)),T(W,ae)},Y=ot(()=>u(Bt).some(W=>W.id==="scripts"));q(Vt,W=>{u(Y)&&W(ei)})}var _e=x(Vt,2);{var We=W=>{var ae=DG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var De=x(ue,2),ft=x(ce,2),Ge=C(ft),je=x(C(Ge));Wn(je,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ot=x(Ge,2),qe=x(ft,2),z=x(C(qe),2),se=C(z),Fe=C(se);{var nt=ye=>{var he=Fr("…");T(ye,he)},xt=ye=>{var he=Fr("📍 Use my location");T(ye,he)};q(Fe,ye=>{u(Pt)?ye(nt):ye(xt,-1)})}var Ne=x(se,2),$e=C(Ne),de=x(qe,2);{var lt=ye=>{var he=IG(),Wt=x(C(he),2);Cs(Wt,it=>I(ct,it),()=>u(ct)),T(ye,he)};q(de,ye=>{u(xe)&&ye(lt)})}Z(()=>{se.disabled=u(Pt),K($e,u(xe)?"Hide map":"Pick on map")}),Ei(De,()=>u(be),ye=>I(be,ye)),Ei(Ot,()=>u(Te),ye=>I(Te,ye)),ne("click",se,kn),ne("click",Ne,()=>I(xe,!u(xe))),T(W,ae)},Ye=ot(()=>u(Bt).some(W=>W.id==="solar"));q(_e,W=>{u(Ye)&&W(We)})}var bt=x(_e,2);{var Ve=W=>{var ae=EG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var De=x(ue,2),ft=C(De);ft.value=ft.__value="debug";var Ge=x(ft);Ge.value=Ge.__value="info";var je=x(Ge);je.value=je.__value="warn";var Ot=x(je);Ot.value=Ot.__value="error",ua(De,()=>u(ai),qe=>I(ai,qe)),T(W,ae)},tt=ot(()=>u(Bt).some(W=>W.id==="logging"));q(bt,W=>{u(tt)&&W(Ve)})}var Gt=x(bt,2);{var oi=W=>{var ae=TG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var De=x(ue,2),ft=x(ce,2),Ge=C(ft),je=x(C(Ge));Wn(je,()=>"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 Ot=x(Ge,2),qe=x(ft,2),z=x(C(qe),2);let se;var Fe=C(z),nt=x(Fe,4);Wn(nt,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var xt=x(qe,2);{var Ne=$e=>{var de=PG(),lt=x(C(de),2);let ye;var he=C(lt),Wt=x(he,4);Wn(Wt,()=>"When enabled, MQTT messages for document changes are published as retained messages."),Z(()=>{ye=Ut(lt,1,"check-label svelte-767znw",null,ye,{muted:!u(Mt)}),he.disabled=!u(Mt)}),qs(he,()=>u(rt),it=>I(rt,it)),T($e,de)};q(xt,$e=>{u(ge)&&$e(Ne)})}Z(()=>{Bn(De,"placeholder",`defaults to ${u(i)??""}/db`),Ot.disabled=!u(Mt),se=Ut(z,1,"check-label svelte-767znw",null,se,{muted:!u(Mt)}),Fe.disabled=!u(Mt)}),Ei(De,()=>u(Mt),$e=>I(Mt,$e)),Ei(Ot,()=>u(Jt),$e=>I(Jt,$e)),qs(Fe,()=>u(ge),$e=>I(ge,$e)),T(W,ae)},ii=ot(()=>u(Bt).some(W=>W.id==="shedb"));q(Gt,W=>{u(ii)&&W(oi)})}var zi=x(Gt,2);{var En=W=>{var ae=MG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"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 De=x(ue,2);Ei(De,()=>u(Ae),ft=>I(Ae,ft)),T(W,ae)},Ni=ot(()=>u(Bt).some(W=>W.id==="redis"));q(zi,W=>{u(Ni)&&W(En)})}var ti=x(zi,2);{var Vi=W=>{var ae=WG(),ce=x(C(ae),2),ue=C(ce),pe=x(C(ue));Wn(pe,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var De=x(ue,2);mi(De,21,()=>Ze,An,(Ne,$e)=>{var de=NG(),lt=C(de),ye={};Z(()=>{K(lt,u($e).label),ye!==(ye=u($e).id)&&(de.value=(de.__value=u($e).id)??"")}),T(Ne,de)});var ft=x(ce,2);{var Ge=Ne=>{var $e=OG();let de;var lt=C($e);{var ye=it=>{var Me=RG(),Re=x(wt(Me));Z(()=>K(Re,` ${u(Ai).freeNote??""}`)),T(it,Me)};q(lt,it=>{u(Ai).freeNote&&it(ye)})}var he=x(lt,2);{var Wt=it=>{var Me=AG(),Re=x(wt(Me));Z(()=>Bn(Re,"href",u(Ai).apiKeyUrl)),T(it,Me)};q(he,it=>{u(Ai).apiKeyUrl&&it(Wt)})}Z(()=>de=Ut($e,1,"preset-note svelte-767znw",null,de,{free:!!u(Ai).freeNote})),T(Ne,$e)};q(ft,Ne=>{var $e,de;(($e=u(Ai))!=null&&$e.freeNote||(de=u(Ai))!=null&&de.apiKeyUrl)&&Ne(Ge)})}var je=x(ft,2);{var Ot=Ne=>{var $e=FG(),de=C($e),lt=x(C(de));Wn(lt,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ye=x(de,2);Z(()=>{var he;return Bn(ye,"placeholder",u(pt)==="ollama"?"http://localhost:11434":u(pt)==="lmstudio"?"http://localhost:1234":((he=u(Ai))==null?void 0:he.baseUrl)??"")}),Ei(ye,()=>u(Kt),he=>I(Kt,he)),T(Ne,$e)};q(je,Ne=>{u(pt)!=="anthropic"&&Ne(Ot)})}var qe=x(je,2),z=C(qe),se=x(C(z));Wn(se,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var Fe=x(z,2),nt=x(qe,2);{var xt=Ne=>{var $e=HG(),de=C($e),lt=x(C(de));Wn(lt,()=>"Stored in config.json. Not needed for local providers.");var ye=x(de,2);Ei(ye,()=>u(kt),he=>I(kt,he)),T(Ne,$e)};q(nt,Ne=>{u(pt)!=="ollama"&&u(pt)!=="lmstudio"&&Ne(xt)})}Z(()=>{var Ne;return Bn(Fe,"placeholder",((Ne=u(Ai))==null?void 0:Ne.defaultModel)||"e.g. llama3.2")}),ne("change",De,en),ua(De,()=>u(pt),Ne=>I(pt,Ne)),Ei(Fe,()=>u(Ct),Ne=>I(Ct,Ne)),T(W,ae)},A=ot(()=>u(Bt).some(W=>W.id==="ai"));q(ti,W=>{u(A)&&W(Vi)})}T(O,Q)};q(It,O=>{u(_n)?O($t):O(F,-1)})}Z(()=>{Le.disabled=u(Hn),K(at,u(Hn)?"Saving…":"Save")}),Ei(Tn,()=>u(Xe),O=>I(Xe,O)),ne("click",Le,rn),T(o,tn),Do()}_r(["click","change"]);var jG=R("<option> </option>"),UG=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),$G=R('<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 qG(o,e){Io(e,!0);let t=U(bi(v8())),i,n=U(!0),s=U("all"),r=U(""),a=U(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};dR(X=>{I(t,[...u(t).slice(-1999),X],!0)}),vr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Rn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){I(t,[],!0)}function f(X){if(u(s)!=="all"&&h[X.level]<h[u(s)])return!1;if(!u(r))return!0;if(u(a))try{return new RegExp(u(r),"i").test(X.msg)}catch{}return X.msg.toLowerCase().includes(u(r).toLowerCase())}function p(X){return new Date(X).toLocaleTimeString()}var v=$G(),_=C(v),y=x(C(_),2);mi(y,21,()=>c,An,(X,fe)=>{var be=jG(),Te=C(be),xe={};Z(()=>{K(Te,u(fe)),xe!==(xe=u(fe))&&(be.value=(be.__value=u(fe))??"")}),T(X,be)});var S=x(y,2),D=x(S,2),P=C(D),N=x(D,2),j=C(N),H=x(N,2),ee=x(_,2);mi(ee,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,fe)=>{var be=UG(),Te=C(be),xe=C(Te),ct=x(Te,2),Pt=C(ct),dt=x(ct,2),ai=C(dt);Z((Mt,Jt)=>{Ut(be,1,`line ${u(fe).level??""}`,"svelte-18loop9"),K(xe,Mt),K(Pt,Jt),K(ai,u(fe).msg)},[()=>p(u(fe).ts),()=>u(fe).level.toUpperCase()]),T(X,be)}),Cs(ee,X=>i=X,()=>i),ua(y,()=>u(s),X=>I(s,X)),Ei(S,()=>u(r),X=>I(r,X)),qs(P,()=>u(a),X=>I(a,X)),qs(j,()=>u(n),X=>I(n,X)),ne("click",H,g),T(o,v),Do()}_r(["click"]);var KG=R('<span class="chat-model svelte-1twuiul"><!></span>'),GG=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),ZG=R('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),XG=R('Working on view <code class="svelte-1twuiul"> </code>',1),YG=R('<button class="chip svelte-1twuiul"> </button>'),JG=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),QG=R('<div class="msg-content user-text svelte-1twuiul"> </div>'),PD=R('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),TD=R('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),MD=R('<div class="tool-events svelte-1twuiul"></div>'),ND=R('<div class="text-block svelte-1twuiul"></div>'),e9=R('<button class="expand-btn svelte-1twuiul"> </button>'),t9=R('<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>'),i9=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),n9=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),s9=R("<div><!></div>"),o9=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),r9=R('<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>'),a9=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),l9=R('<div class="chat-error svelte-1twuiul"> </div>'),c9=R('<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>'),d9=R('<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>'),h9=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),u9=R('<button class="send-btn svelte-1twuiul">↑</button>'),g9=R('<option class="svelte-1twuiul"> </option>'),f9=R('<select class="model-select svelte-1twuiul"></select>'),p9=R('<span class="model-name svelte-1twuiul"> </span>'),m9=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),_9=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),v9=R('<p class="info-status svelte-1twuiul">Loading…</p>'),b9=R('<p class="info-status info-err svelte-1twuiul"> </p>'),w9=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),y9=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),S9=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),C9=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),x9=R('<div class="running-model svelte-1twuiul"> </div>'),L9=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),k9=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),I9=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),D9=R('<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>'),E9=R('<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 P9(o,e){Io(e,!0),Ov.registerLanguage("javascript",pR),Pn.use({breaks:!0,gfm:!0});let t=tg(e,"currentView",3,null);const i="she:viewchat:messages";let n=U(bi(JSON.parse(localStorage.getItem(i)??"[]"))),s=U(null),r=U(""),a=U(!1),c=U(""),h=U(null),g=U(bi([])),f=U(bi(localStorage.getItem("she:selectedModel")??""));Rn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=U(bi(new Set)),v=U(!1),_=U(null),y=U(!1),S=U(""),D=null,P=U(0);const N=["[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=U(!0),H=U(!0),ee=U(!0),X=U(bi([])),fe=U(!0),be=U(!1),Te,xe=U(bi([])),ct=U(0),Pt,dt;const ai=ot(()=>({apiref:!1,shedb:u(j),sampleDocs:u(H),tools:u(ee)})),Mt=ot(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),Jt=ot(()=>u(ct)+new TextEncoder().encode(u(r)).length),ge=ot(()=>u(fe)?t():null);async function rt(){try{const A=await sR();I(h,A,!0),A.configured&&!u(f)&&I(f,A.model,!0)}catch{}}Rn(()=>(window.addEventListener("she:config-changed",rt),()=>window.removeEventListener("she:config-changed",rt))),vr(()=>{rt()}),Rn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Rn(()=>{var A;(A=u(h))!=null&&A.provider&&oR().then(W=>{I(g,W.models,!0),!u(f)&&W.models.length>0&&I(f,W.models[0],!0)}).catch(()=>{})}),Rn(()=>{u(f),I(_,null),I(S,"")}),Rn(()=>{const A=u(ai),W=u(ge),ae=u(X);u(Mt)&&aR({context:A,currentView:W??null,extraFiles:ae.length>0?ae:void 0}).then(ce=>{I(ct,new TextEncoder().encode(ce.prompt).length,!0)}).catch(()=>{})}),Rn(()=>{if(!u(a))return;I(P,Math.floor(Math.random()*N.length),!0);const A=setInterval(()=>{I(P,(u(P)+1)%N.length)},1e4);return()=>clearInterval(A)}),Rn(()=>{var A;dt&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{dt&&(dt.scrollTop=dt.scrollHeight)}))});function Ae(A){const W=[],ae=/```(\w*)\n([\s\S]*?)```/g;let ce=0,ue;for(;(ue=ae.exec(A))!==null;)ue.index>ce&&W.push({type:"text",text:A.slice(ce,ue.index)}),W.push({type:"code",lang:ue[1]||"text",text:ue[2].trimEnd()}),ce=ue.index+ue[0].length;return ce<A.length&&W.push({type:"text",text:A.slice(ce)}),W}function Ze(A){const W=[],ae=/```(\w*)\n([\s\S]*?)```/g;let ce=0,ue;for(;(ue=ae.exec(A))!==null;)ue.index>ce&&W.push({type:"text",text:A.slice(ce,ue.index)}),W.push({type:"code",lang:ue[1]||"text",text:ue[2].trimEnd()}),ce=ue.index+ue[0].length;const pe=A.slice(ce),De=pe.match(/```(\w*)\n([\s\S]*)$/);return De?(De.index>0&&W.push({type:"text",text:pe.slice(0,De.index)}),W.push({type:"code",lang:De[1]||"text",text:De[2]})):pe&&W.push({type:"text",text:pe}),W}function pt(A){const W={};for(const ae of A)if(ae.type==="code"){if(ae.lang==="filter")W.filter=ae.text.trim();else if(en(ae.lang)){const ce=ae.text.split(`
218
- `)[0].trim();ce==="// @view-map"?W.map=ae.text.split(`
219
- `).slice(1).join(`
220
- `).trim():ce==="// @view-reduce"&&(W.reduce=ae.text.split(`
221
- `).slice(1).join(`
222
- `).trim())}}return W}function di(A){return A.filter!==void 0||A.map!==void 0||A.reduce!==void 0}function Kt(A){const W=[];return A.filter!==void 0&&W.push("filter"),A.map!==void 0&&W.push("map"),A.reduce!==void 0&&W.push("reduce"),`Apply ${W.join(" + ")}`}const Ct=15;function kt(A){return A.split(`
223
- `).length>Ct}function yi(A){const W=new Set(u(p));W.has(A)?W.delete(A):W.add(A),I(p,W,!0)}function Bi(A,W){if(en(W))try{return Ov.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xn(A){return Pn.parse(A)}function en(A){return!A||A==="js"||A==="javascript"}function Ai(A){navigator.clipboard.writeText(A).catch(()=>{})}async function Ln(){if(I(v,!0),!(u(_)||u(y))){I(y,!0),I(S,"");try{I(_,await rR(u(f)||u(h).model),!0)}catch(A){I(S,A.message,!0)}I(y,!1)}}function mn(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:`${A} B`}function zn(A){const W=A.match(/\.([^.]+)$/);return W?W[1].toUpperCase():"?"}function kn(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return A}}function _n(A){I(X,u(X).filter((W,ae)=>ae!==A),!0)}function Hn(){Te.click()}async function In(A){if(!(!A||A.length===0))for(const W of Array.from(A)){const ae=await W.text();I(X,[...u(X),{name:W.name,content:ae}],!0)}}function qn(A){const W=A.target;In(W.files),W.value=""}function Xe(A){var W;A.preventDefault(),I(be,!1),In(((W=A.dataTransfer)==null?void 0:W.files)??null)}function Ft(A){var W;(W=A.dataTransfer)!=null&&W.types.includes("Files")&&(A.preventDefault(),I(be,!0))}function li(){I(be,!1)}async function Bt(){const A=u(r).trim();if(!(!A||u(a))){I(r,""),I(c,""),I(a,!0),I(n,[...u(n),{role:"user",content:A}],!0),D=new AbortController,I(xe,[],!0);try{await lR({messages:u(n),currentView:u(ge),context:u(ai),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},W=>{I(s,(u(s)??"")+W)},D.signal,W=>{I(xe,[...u(xe),W],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(xe).length>0?[...u(xe)]:void 0}],!0),I(xe,[],!0)}catch(W){if(W.name==="AbortError"){const ae=u(s);ae!=null&&ae.trim()&&I(n,[...u(n),{role:"assistant",content:ae+`
224
-
225
- *[stopped]*`,toolEvents:u(xe).length>0?[...u(xe)]:void 0}],!0)}else I(c,W.message,!0)}finally{D=null,I(s,null),I(xe,[],!0),I(a,!1)}}}function pi(){D==null||D.abort()}function Dn(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),Bt())}function rn(){I(n,[],!0),I(c,"")}const tn=["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 hn(A){I(r,A,!0),Pt==null||Pt.focus()}var Un=E9(),Mi=wt(Un),vn=C(Mi),Tn=x(C(vn),2);{var Zn=A=>{var W=KG(),ae=C(W);{var ce=pe=>{var De=Fr();Z(()=>K(De,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(pe,De)},ue=pe=>{var De=Fr("Not configured");T(pe,De)};q(ae,pe=>{u(Mt)?pe(ce):pe(ue,-1)})}Z(()=>Bn(W,"title",`Provider: ${u(h).provider??""}`)),T(A,W)};q(Tn,A=>{u(h)&&A(Zn)})}var Mn=x(Tn,2);{var an=A=>{var W=GG();ne("click",W,rn),T(A,W)};q(Mn,A=>{u(n).length>0&&A(an)})}var Nn=x(vn,2),nn=C(Nn);{var Se=A=>{var W=ZG();T(A,W)},G=A=>{var W=JG(),ae=C(W),ce=C(ae);{var ue=ft=>{var Ge=XG(),je=x(wt(Ge)),Ot=C(je);Z(()=>K(Ot,t().id)),T(ft,Ge)},pe=ft=>{var Ge=Fr("No view selected. Ask a general sheDB view question.");T(ft,Ge)};q(ce,ft=>{t()?ft(ue):ft(pe,-1)})}var De=x(ae,2);mi(De,17,()=>tn,An,(ft,Ge)=>{var je=YG(),Ot=C(je);Z(()=>K(Ot,u(Ge))),ne("click",je,()=>hn(u(Ge))),T(ft,je)}),T(A,W)};q(nn,A=>{u(Mt)?u(n).length===0&&u(s)===null&&A(G,1):A(Se)})}var Le=x(nn,2);mi(Le,17,()=>u(n),An,(A,W,ae)=>{var ce=s9(),ue=C(ce);{var pe=ft=>{var Ge=QG(),je=C(Ge);Z(()=>K(je,u(W).content)),T(ft,Ge)},De=ft=>{const Ge=ot(()=>Ae(u(W).content)),je=ot(()=>pt(u(Ge)));var Ot=n9(),qe=wt(Ot);{var z=$e=>{var de=MD();mi(de,21,()=>u(W).toolEvents,An,(lt,ye)=>{var he=Ds(),Wt=wt(he);{var it=Re=>{var Ue=PD(),mt=x(C(Ue)),hi=C(mt);Z(ve=>K(hi,ve),[()=>u(ye).name.replace(/_/g," ")]),T(Re,Ue)},Me=Re=>{var Ue=TD(),mt=x(C(Ue)),hi=C(mt);Z(ve=>K(hi,ve),[()=>u(ye).name.replace(/_/g," ")]),T(Re,Ue)};q(Wt,Re=>{u(ye).type==="tool_call"?Re(it):Re(Me,-1)})}T(lt,he)}),T($e,de)};q(qe,$e=>{var de;(de=u(W).toolEvents)!=null&&de.length&&$e(z)})}var se=x(qe,2),Fe=C(se);mi(Fe,17,()=>u(Ge),An,($e,de,lt)=>{var ye=Ds(),he=wt(ye);{var Wt=Me=>{var Re=ND();Wl(Re,()=>xn(u(de).text),!0),T(Me,Re)},it=Me=>{const Re=ot(()=>`${ae}:${lt}`),Ue=ot(()=>kt(u(de).text)),mt=ot(()=>u(p).has(u(Re))),hi=ot(()=>u(de).lang==="filter");var ve=t9(),Ke=C(ve),_t=C(Ke),Et=C(_t),Je=x(_t,2),ui=C(Je),ni=x(Ke,2);let Si;var Zi=C(ni),si=C(Zi);Wl(si,()=>Bi(u(de).text,u(de).lang??""),!0);var jt=x(Zi,2);{var ln=qi=>{var bn=e9(),sn=C(bn);Z(()=>K(sn,u(mt)?"▲ collapse":"▼ expand")),ne("click",bn,()=>yi(u(Re))),T(qi,bn)};q(jt,qi=>{u(Ue)&&qi(ln)})}Z(()=>{K(Et,u(hi)?"filter":u(de).lang),Si=Ut(ni,1,"code-body svelte-1twuiul",null,Si,{collapsed:u(Ue)&&!u(mt)})}),ne("click",ui,()=>Ai(u(de).text)),T(Me,ve)};q(he,Me=>{u(de).type==="text"?Me(Wt):Me(it,-1)})}T($e,ye)});var nt=x(Fe,2);{var xt=$e=>{var de=i9(),lt=C(de),ye=C(lt);Z(he=>K(ye,he),[()=>Kt(u(je))]),ne("click",lt,()=>e.onApplyView(u(je))),T($e,de)},Ne=ot(()=>di(u(je))&&e.onApplyView);q(nt,$e=>{u(Ne)&&$e(xt)})}T(ft,Ot)};q(ue,ft=>{u(W).role==="user"?ft(pe):ft(De,-1)})}Z(()=>Ut(ce,1,`message ${u(W).role??""}`,"svelte-1twuiul")),T(A,ce)});var at=x(Le,2);{var It=A=>{var W=MD();mi(W,21,()=>u(xe),An,(ae,ce)=>{var ue=Ds(),pe=wt(ue);{var De=Ge=>{var je=PD(),Ot=x(C(je)),qe=C(Ot);Z(z=>K(qe,z),[()=>u(ce).name.replace(/_/g," ")]),T(Ge,je)},ft=Ge=>{var je=TD(),Ot=x(C(je)),qe=C(Ot);Z(z=>K(qe,z),[()=>u(ce).name.replace(/_/g," ")]),T(Ge,je)};q(pe,Ge=>{u(ce).type==="tool_call"?Ge(De):Ge(ft,-1)})}T(ae,ue)}),T(A,W)};q(at,A=>{u(xe).length>0&&A(It)})}var $t=x(at,2);{var F=A=>{var W=o9(),ae=C(W),ce=C(ae),ue=C(ce);Z(()=>K(ue,N[u(P)])),T(A,W)};q($t,A=>{u(a)&&u(s)===null&&u(xe).length===0&&A(F)})}var O=x($t,2);{var Q=A=>{var W=a9(),ae=C(W);mi(ae,21,()=>Ze(u(s)),An,(ce,ue)=>{var pe=Ds(),De=wt(pe);{var ft=je=>{var Ot=ND();Wl(Ot,()=>xn(u(ue).text),!0),T(je,Ot)},Ge=je=>{var Ot=r9(),qe=C(Ot),z=C(qe),se=C(z),Fe=x(qe,2),nt=C(Fe);Wl(nt,()=>Bi(u(ue).text,u(ue).lang??""),!0),Z(()=>K(se,u(ue).lang)),T(je,Ot)};q(De,je=>{u(ue).type==="text"?je(ft):je(Ge,-1)})}T(ce,pe)}),T(A,W)};q(O,A=>{u(s)!==null&&A(Q)})}Cs(Nn,A=>dt=A,()=>dt);var Ce=x(Nn,2);{var Qe=A=>{var W=l9(),ae=C(W);Z(()=>K(ae,u(c))),T(A,W)};q(Ce,A=>{u(c)&&A(Qe)})}var Nt=x(Ce,2),ke=C(Nt),Ie=C(ke),Oe=x(ke,2),Tt=C(Oe),gt=x(Oe,2),Ee=C(gt),At=x(gt,2),Qt=C(At),Yt=x(Nt,2),Vt=C(Yt);{var ei=A=>{var W=c9();let ae;var ce=x(C(W),2),ue=C(ce),pe=x(ce,2),De=C(pe);Z(()=>{ae=Ut(W,1,"file-chip svelte-1twuiul",null,ae,{inactive:!u(fe)}),K(ue,t().id),Bn(pe,"title",u(fe)?"Remove from context":"Re-add to context"),K(De,u(fe)?"×":"+")}),ne("click",pe,()=>I(fe,!u(fe))),T(A,W)};q(Vt,A=>{t()&&A(ei)})}var Y=x(Vt,2);mi(Y,17,()=>u(X),An,(A,W,ae)=>{const ce=ot(()=>zn(u(W).name));var ue=d9(),pe=C(ue),De=C(pe),ft=x(pe,2),Ge=C(ft),je=x(ft,2);Z((Ot,qe)=>{Ut(pe,1,`badge badge-${Ot??""}`,"svelte-1twuiul"),K(De,qe),K(Ge,u(W).name)},[()=>u(ce).toLowerCase(),()=>kn(u(ce))]),ne("click",je,()=>_n(ae)),T(A,ue)});var _e=x(Y,2),We=x(_e,2);Cs(We,A=>Te=A,()=>Te);var Ye=x(Yt,2);let bt;var Ve=C(Ye);let tt;var Gt=C(Ve);Cs(Gt,A=>Pt=A,()=>Pt);var oi=x(Ve,2);{var ii=A=>{var W=h9();ne("click",W,pi),T(A,W)},zi=A=>{var W=u9();Z(ae=>W.disabled=ae,[()=>!u(r).trim()||!u(Mt)]),ne("click",W,Bt),T(A,W)};q(oi,A=>{u(a)?A(ii):A(zi,-1)})}var En=x(Ye,2);{var Ni=A=>{var W=_9(),ae=C(W),ce=C(ae),ue=x(ae,2);{var pe=je=>{var Ot=f9();mi(Ot,21,()=>u(g),An,(qe,z)=>{var se=g9(),Fe=C(se),nt={};Z(()=>{K(Fe,u(z)),nt!==(nt=u(z))&&(se.value=(se.__value=u(z))??"")}),T(qe,se)}),Z(()=>Ot.disabled=u(a)),ua(Ot,()=>u(f),qe=>I(f,qe)),T(je,Ot)},De=je=>{var Ot=p9(),qe=C(Ot);Z(()=>K(qe,u(f)||u(h).model)),T(je,Ot)};q(ue,je=>{u(g).length>0?je(pe):je(De,-1)})}var ft=x(ue,2);{var Ge=je=>{var Ot=m9();ne("click",Ot,Ln),T(je,Ot)};q(ft,je=>{u(h).provider==="ollama"&&je(Ge)})}Z(()=>K(ce,u(h).provider)),T(A,W)};q(En,A=>{u(Mt)&&u(h)&&A(Ni)})}var ti=x(Mi,2);{var Vi=A=>{var W=D9(),ae=C(W),ce=C(ae),ue=C(ce),pe=C(ue),De=x(ue,2),ft=x(ce,2),Ge=C(ft);{var je=z=>{var se=v9();T(z,se)},Ot=z=>{var se=b9(),Fe=C(se);Z(()=>K(Fe,u(S))),T(z,se)},qe=z=>{var se=I9(),Fe=C(se);{var nt=Me=>{var Re=w9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).version)),T(Me,Re)};q(Fe,Me=>{u(_).version&&Me(nt)})}var xt=x(Fe,2);{var Ne=Me=>{var Re=y9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).details.family)),T(Me,Re)};q(xt,Me=>{var Re;(Re=u(_).details)!=null&&Re.family&&Me(Ne)})}var $e=x(xt,2);{var de=Me=>{var Re=S9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).details.parameter_size)),T(Me,Re)};q($e,Me=>{var Re;(Re=u(_).details)!=null&&Re.parameter_size&&Me(de)})}var lt=x($e,2);{var ye=Me=>{var Re=C9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).details.quantization_level)),T(Me,Re)};q(lt,Me=>{var Re;(Re=u(_).details)!=null&&Re.quantization_level&&Me(ye)})}var he=x(lt,2);{var Wt=Me=>{var Re=L9(),Ue=x(wt(Re),2);mi(Ue,21,()=>u(_).running,An,(mt,hi)=>{var ve=x9(),Ke=C(ve);Z(_t=>K(Ke,`${u(hi).name??""} · ${_t??""} VRAM`),[()=>mn(u(hi).size_vram)]),T(mt,ve)}),T(Me,Re)},it=Me=>{var Re=k9();T(Me,Re)};q(he,Me=>{u(_).running&&u(_).running.length>0?Me(Wt):u(_).running!==null&&Me(it,1)})}T(z,se)};q(Ge,z=>{u(y)?z(je):u(S)?z(Ot,1):u(_)&&z(qe,2)})}Z(()=>{var z;return K(pe,`Ollama · ${(u(f)||((z=u(h))==null?void 0:z.model))??""}`)}),ne("click",W,()=>I(v,!1)),ne("click",ae,z=>z.stopPropagation()),ne("click",De,()=>I(v,!1)),T(A,W)};q(ti,A=>{u(v)&&A(Vi)})}Z(A=>{K(Qt,A),bt=Ut(Ye,1,"input-row svelte-1twuiul",null,bt,{"drag-over":u(be)}),tt=Ut(Ve,1,"textarea-wrap svelte-1twuiul",null,tt,{loading:u(a)}),Bn(Gt,"placeholder",u(Mt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Gt.disabled=u(a)||!u(Mt)},[()=>mn(u(Jt))]),qs(Ie,()=>u(j),A=>I(j,A)),qs(Tt,()=>u(H),A=>I(H,A)),qs(Ee,()=>u(ee),A=>I(ee,A)),ne("click",_e,Hn),ne("change",We,qn),es("dragover",Ye,Ft),es("dragleave",Ye,li),es("drop",Ye,Xe),ne("keydown",Gt,Dn),Ei(Gt,()=>u(r),A=>I(r,A)),T(o,Un),Do()}_r(["click","change","keydown"]);var T9=R('<div class="me svelte-1pxdb1"></div>');function Oy(o,e){Io(e,!0);let t=tg(e,"value",15,""),i=tg(e,"language",3,"javascript"),n,s,r=!1;vr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=Ha.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())})}),rw(()=>s==null?void 0:s.dispose()),Rn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=T9();Cs(a,c=>n=c,()=>n),T(o,a),Do()}var M9=R('<!> <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),N9=R('<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>'),RD=R('<div class="form-error svelte-rrt0o"> </div>'),R9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),AD=R("<li> </li>"),OD=R('<div class="error-bar svelte-rrt0o"> </div>'),FD=R('<div class="loading svelte-rrt0o">Loading…</div>'),A9=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),O9=R('<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),F9=R('<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>'),H9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),W9=R('<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>'),B9=R('<span class="badge-error svelte-rrt0o">error</span>'),z9=R('<span class="badge-ok svelte-rrt0o"> </span>'),V9=R('<pre class="result-error svelte-rrt0o"> </pre>'),j9=R('<pre class="result-json svelte-rrt0o"> </pre>'),U9=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),$9=R('<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>'),q9=R('<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),K9=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),G9=R('<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>'),Z9=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function X9(o,e){Io(e,!0);const t=Se=>{var G=M9(),Le=wt(G);Cs(im(Le,{}),at=>kn=at,()=>kn),T(Se,G)};let i=U(bi([])),n=U(null),s=U("{}"),r=U(!1),a=U(null);const c="she-db-selected-view";let h=U(bi([])),g=U(bi(localStorage.getItem(c))),f=U("#"),p=U("// emit(this.someProperty)"),v=U(""),_=U(""),y=U(!1),S=U(!1),D=U(null),P=U(!1),N=U(null),j=U("she/db/view/");const H="she-db-panel";let ee=U(bi(localStorage.getItem(H)??"docs")),X=U(""),fe=U(!1),be=U(null),Te=U(""),xe=U(!1),ct=U(null);const Pt="she-db-sidebar-width";let dt=U(bi(parseInt(localStorage.getItem(Pt)??"220",10))),ai=!1,Mt=0,Jt=0;const ge="she-db-chat-width",rt="she-db-chat-open";let Ae=U(localStorage.getItem(rt)==="true"),Ze=U(bi(parseInt(localStorage.getItem(ge)??"320",10))),pt=!1,di=0,Kt=0;const Ct=ot(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function kt(Se){Se.filter!==void 0&&I(f,Se.filter,!0),Se.map!==void 0&&I(p,Se.map,!0),Se.reduce!==void 0&&I(v,Se.reduce,!0)}Rn(()=>{localStorage.setItem(rt,String(u(Ae)))}),Rn(()=>{localStorage.setItem(H,u(ee))}),Rn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function yi(Se){ai=!0,Mt=Se.clientX,Jt=u(dt),Se.preventDefault()}function Bi(Se){ai&&I(dt,Math.max(140,Math.min(500,Jt+Se.clientX-Mt)),!0),pt&&I(Ze,Math.max(240,Math.min(600,Kt-(Se.clientX-di))),!0)}function xn(){ai&&(ai=!1,localStorage.setItem(Pt,String(u(dt)))),pt&&(pt=!1,localStorage.setItem(ge,String(u(Ze))))}function en(Se){pt=!0,di=Se.clientX,Kt=u(Ze),Se.preventDefault()}async function Ai(){try{I(i,await eR(),!0)}catch{}}async function Ln(){try{I(h,await tR(),!0)}catch{}}async function mn(Se){I(n,Se,!0),I(a,null),I(r,!0);try{const G=await e8(Se);I(s,JSON.stringify(G,null,2),!0)}catch(G){I(a,G instanceof Error?G.message:String(G),!0)}finally{I(r,!1)}}async function zn(){if(u(n)){I(a,null);try{const Se=JSON.parse(u(s));await oD(u(n),Se)}catch(Se){I(a,Se instanceof Error?Se.message:String(Se),!0)}}}let kn;async function _n(){if(u(n)&&await kn.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await t8(u(n)),I(n,null),I(s,"{}")}catch(Se){I(a,Se instanceof Error?Se.message:String(Se),!0)}}async function Hn(){const Se=u(X).trim();if(Se){I(be,null);try{await oD(Se,{}),I(fe,!1),I(X,""),await mn(Se)}catch(G){I(be,G instanceof Error?G.message:String(G),!0)}}}async function In(Se){I(g,Se,!0),I(N,null),I(P,!0),I(D,null);try{const G=await i8(Se);I(f,G.filter??"",!0),I(p,G.map,!0),I(v,G.reduce??"",!0),I(_,G.description??"",!0),I(y,G.mqttpub??!1,!0),I(S,G.retain??!1,!0),I(D,await Ry(Se).catch(()=>null),!0)}catch(G){I(N,G instanceof Error?G.message:String(G),!0)}finally{I(P,!1)}}async function qn(){if(u(g)){I(N,null);try{const Se={map:u(p)};u(f).trim()&&(Se.filter=u(f).trim()),u(v).trim()&&(Se.reduce=u(v).trim()),u(_).trim()&&(Se.description=u(_).trim()),u(y)&&(Se.mqttpub=!0),u(S)&&(Se.retain=!0),await rD(u(g),Se)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}}async function Xe(){if(u(g))try{I(D,await Ry(u(g)),!0)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}async function Ft(){if(u(g)&&await kn.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await n8(u(g)),I(g,null),I(f,""),I(p,"// emit(this.someProperty)"),I(v,""),I(_,""),I(y,!1),I(S,!1),I(D,null)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}async function li(){if(!u(Te).trim())return;const Se=u(Te).trim();I(ct,null);try{await rD(Se,{map:"// emit(this.someProperty)"}),I(xe,!1),I(Te,""),await Ln(),await In(Se)}catch(G){I(ct,G instanceof Error?G.message:String(G),!0)}}let Bt=U(""),pi=U(""),Dn=ot(()=>[...u(i)].filter(Se=>!u(Bt)||Se.toLowerCase().includes(u(Bt).toLowerCase())).sort()),rn=ot(()=>[...u(h)].filter(Se=>!u(pi)||Se.toLowerCase().includes(u(pi).toLowerCase())).sort());vr(()=>{Ai(),Ln().then(()=>{u(g)&&u(h).includes(u(g))?In(u(g)):I(g,null)}),QN().then(It=>{const $t=It.dbPrefix||"she/db/",F=$t.endsWith("/")?$t:$t+"/";I(j,F+"view/")}).catch(()=>{});const Se=Ul("db:ids",It=>{I(i,It.ids??[],!0)}),G=Ul("db:viewIds",It=>{I(h,It.ids??[],!0)}),Le=Ul("db:change",async It=>{const $t=It.id;u(n)===$t&&(It.doc===null?(I(n,null),I(s,"{}")):I(s,JSON.stringify(It.doc,null,2),!0))}),at=Ul("db:viewUpdate",async It=>{const $t=It.id;u(g)===$t&&I(D,await Ry($t).catch(()=>null),!0)});return()=>{Se(),G(),Le(),at()}});var tn=Z9(),hn=C(tn),Un=C(hn);let Mi;var vn=x(Un,2);let Tn;var Zn=x(vn,2);{var Mn=Se=>{var G=N9();let Le;Z(()=>{Le=Ut(G,1,"ai-toggle svelte-rrt0o",null,Le,{"ai-open":u(Ae)}),Bn(G,"title",u(Ae)?"Close AI assistant":"Open AI assistant")}),ne("click",G,()=>I(Ae,!u(Ae))),T(Se,G)};q(Zn,Se=>{u(ee)==="views"&&Se(Mn)})}var an=x(hn,2);{var Nn=Se=>{var G=F9(),Le=C(G);let at;var It=C(Le),$t=C(It),F=x(It,2);{var O=gt=>{var Ee=R9(),At=wt(Ee),Qt=C(At),Yt=x(Qt,2),Vt=x(At,2);{var ei=Y=>{var _e=RD(),We=C(_e);Z(()=>K(We,u(be))),T(Y,_e)};q(Vt,Y=>{u(be)&&Y(ei)})}ne("keydown",Qt,Y=>Y.key==="Enter"&&Hn()),Ei(Qt,()=>u(X),Y=>I(X,Y)),ne("click",Yt,Hn),T(gt,Ee)};q(F,gt=>{u(fe)&&gt(O)})}var Q=x(F,2),Ce=C(Q),Qe=x(Q,2);mi(Qe,20,()=>u(Dn),gt=>gt,(gt,Ee)=>{var At=AD();let Qt;var Yt=C(At);Z(()=>{Qt=Ut(At,1,"flat-item svelte-rrt0o",null,Qt,{"active-item":u(n)===Ee}),K(Yt,Ee)}),ne("click",At,()=>mn(Ee)),T(gt,At)});var Nt=x(Le,2),ke=x(Nt,2),Ie=C(ke);{var Oe=gt=>{var Ee=O9(),At=wt(Ee),Qt=C(At),Yt=C(Qt),Vt=x(Qt,2),ei=x(Vt,2),Y=x(At,2);{var _e=Ve=>{var tt=OD(),Gt=C(tt);Z(()=>K(Gt,u(a))),T(Ve,tt)};q(Y,Ve=>{u(a)&&Ve(_e)})}var We=x(Y,2);{var Ye=Ve=>{var tt=FD();T(Ve,tt)},bt=Ve=>{var tt=A9(),Gt=C(tt);Oy(Gt,{language:"json",get value(){return u(s)},set value(oi){I(s,oi,!0)}}),T(Ve,tt)};q(We,Ve=>{u(r)?Ve(Ye):Ve(bt,-1)})}Z(()=>K(Yt,u(n))),ne("click",Vt,zn),ne("click",ei,_n),T(gt,Ee)},Tt=gt=>{t(gt)};q(Ie,gt=>{u(n)?gt(Oe):gt(Tt,-1)})}Z(()=>at=Bo(Le,"",at,{width:`${u(dt)??""}px`})),ne("click",$t,()=>{I(fe,!u(fe)),I(be,null)}),Ei(Ce,()=>u(Bt),gt=>I(Bt,gt)),ne("mousedown",Nt,yi),T(Se,G)},nn=Se=>{var G=G9(),Le=C(G);let at;var It=C(Le),$t=C(It),F=x(It,2);{var O=At=>{var Qt=H9(),Yt=wt(Qt),Vt=C(Yt),ei=x(Vt,2),Y=x(Yt,2);{var _e=We=>{var Ye=RD(),bt=C(Ye);Z(()=>K(bt,u(ct))),T(We,Ye)};q(Y,We=>{u(ct)&&We(_e)})}ne("keydown",Vt,We=>We.key==="Enter"&&li()),Ei(Vt,()=>u(Te),We=>I(Te,We)),ne("click",ei,li),T(At,Qt)};q(F,At=>{u(xe)&&At(O)})}var Q=x(F,2),Ce=C(Q),Qe=x(Q,2);mi(Qe,20,()=>u(rn),At=>At,(At,Qt)=>{var Yt=AD();let Vt;var ei=C(Yt);Z(()=>{Vt=Ut(Yt,1,"flat-item svelte-rrt0o",null,Vt,{"active-item":u(g)===Qt}),K(ei,Qt)}),ne("click",Yt,()=>In(Qt)),T(At,Yt)});var Nt=x(Le,2),ke=x(Nt,2),Ie=C(ke);{var Oe=At=>{var Qt=q9(),Yt=wt(Qt),Vt=C(Yt),ei=C(Vt),Y=x(Vt,2),_e=x(Y,2),We=x(_e,2),Ye=x(Yt,2);{var bt=oi=>{var ii=OD(),zi=C(ii);Z(()=>K(zi,u(N))),T(oi,ii)};q(Ye,oi=>{u(N)&&oi(bt)})}var Ve=x(Ye,2);{var tt=oi=>{var ii=FD();T(oi,ii)},Gt=oi=>{var ii=$9(),zi=C(ii),En=x(C(zi),2),Ni=C(En),ti=x(zi,2),Vi=x(C(ti),2),A=C(Vi),W=x(ti,2),ae=x(C(W),2),ce=C(ae);Oy(ce,{language:"javascript",get value(){return u(p)},set value(Ne){I(p,Ne,!0)}});var ue=x(W,2),pe=x(C(ue),2),De=C(pe);Oy(De,{language:"javascript",get value(){return u(v)},set value(Ne){I(v,Ne,!0)}});var ft=x(ue,2),Ge=C(ft),je=C(Ge),Ot=x(je,4),qe=x(C(Ot)),z=C(qe),se=x(Ge,2);{var Fe=Ne=>{var $e=W9(),de=C($e);qs(de,()=>u(S),lt=>I(S,lt)),T(Ne,$e)};q(se,Ne=>{u(y)&&Ne(Fe)})}var nt=x(ft,2);{var xt=Ne=>{var $e=U9(),de=C($e),lt=x(C(de));{var ye=Re=>{var Ue=B9();T(Re,Ue)},he=Re=>{var Ue=z9(),mt=C(Ue);Z(()=>K(mt,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(Re,Ue)};q(lt,Re=>{u(D).error?Re(ye):Re(he,-1)})}var Wt=x(de,2);{var it=Re=>{var Ue=V9(),mt=C(Ue);Z(()=>K(mt,u(D).error)),T(Re,Ue)},Me=Re=>{var Ue=j9(),mt=C(Ue);Z(hi=>K(mt,hi),[()=>JSON.stringify(u(D).result,null,2)]),T(Re,Ue)};q(Wt,Re=>{u(D).error?Re(it):Re(Me,-1)})}T(Ne,$e)};q(nt,Ne=>{u(D)&&Ne(xt)})}Z(()=>K(z,`${u(j)??""}${u(g)??""} on every update`)),Ei(Ni,()=>u(_),Ne=>I(_,Ne)),Ei(A,()=>u(f),Ne=>I(f,Ne)),qs(je,()=>u(y),Ne=>I(y,Ne)),T(oi,ii)};q(Ve,oi=>{u(P)?oi(tt):oi(Gt,-1)})}Z(()=>K(ei,u(g))),ne("click",Y,qn),ne("click",_e,Xe),ne("click",We,Ft),T(At,Qt)},Tt=At=>{t(At)};q(Ie,At=>{u(g)?At(Oe):At(Tt,-1)})}var gt=x(ke,2);{var Ee=At=>{var Qt=K9(),Yt=wt(Qt),Vt=x(Yt,2);let ei;var Y=C(Vt);P9(Y,{get currentView(){return u(Ct)},onApplyView:kt}),Z(()=>ei=Bo(Vt,"",ei,{width:`${u(Ze)??""}px`})),ne("mousedown",Yt,en),T(At,Qt)};q(gt,At=>{u(Ae)&&At(Ee)})}Z(()=>at=Bo(Le,"",at,{width:`${u(dt)??""}px`})),ne("click",$t,()=>{I(xe,!u(xe)),I(ct,null)}),Ei(Ce,()=>u(pi),At=>I(pi,At)),ne("mousedown",Nt,yi),T(Se,G)};q(an,Se=>{u(ee)==="docs"?Se(Nn):Se(nn,-1)})}Z(()=>{Mi=Ut(Un,1,"svelte-rrt0o",null,Mi,{active:u(ee)==="docs"}),Tn=Ut(vn,1,"svelte-rrt0o",null,Tn,{active:u(ee)==="views"})}),ne("mousemove",tn,Bi),ne("mouseup",tn,xn),es("mouseleave",tn,xn),ne("click",Un,()=>I(ee,"docs")),ne("click",vn,()=>I(ee,"views")),T(o,tn),Do()}_r(["mousemove","mouseup","click","keydown","mousedown"]);var Y9=R('<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),J9=R('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),HD=R('<p class="err svelte-1ua3isv"> </p>'),Q9=R('<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>'),eZ=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),tZ=R('<span class="device-name svelte-1ua3isv"> </span>'),iZ=R('<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>'),nZ=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),sZ=R('<p class="info svelte-1ua3isv">Loading…</p>'),oZ=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),rZ=R('<span class="ep-chip svelte-1ua3isv"> </span>'),aZ=R('<span class="attr-id svelte-1ua3isv"> </span>'),lZ=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),cZ=R('<div class="attr-actions svelte-1ua3isv"></div>'),dZ=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),hZ=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),uZ=R('<span class="cmd-id svelte-1ua3isv"> </span>'),gZ=R("<!> <!>",1),fZ=R('<span class="cmd-list svelte-1ua3isv"></span>'),pZ=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),mZ=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),_Z=R('<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>'),vZ=R('<th class="svelte-1ua3isv"> </th>'),bZ=R('<td class="svelte-1ua3isv"> </td>'),wZ=R('<tr class="svelte-1ua3isv"></tr>'),yZ=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),SZ=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),CZ=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),xZ=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),LZ=R('<span class="attr-val svelte-1ua3isv"> </span>'),kZ=R('<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>'),IZ=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),DZ=R('<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>'),EZ=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),PZ=R('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),TZ=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),MZ=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),NZ=R('<span class="stream-badge svelte-1ua3isv"> </span>'),RZ=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),Fy=R('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),AZ=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),OZ=R('<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),FZ=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),HZ=R('<div class="stream-body svelte-1ua3isv"><!></div>'),WZ=R('<!> <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 BZ(o,e){Io(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(G,Le,at,It,$t){try{await m8(G,Le,at,It,$t)}catch(F){console.error("matter command failed",F)}}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(G,Le){const at=n[G];return Le.map(It=>{const $t=typeof It=="number"?It:Number(It);return{id:$t,name:(at==null?void 0:at[$t])??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 h(G){return"0x"+G.toString(16).toUpperCase().padStart(4,"0")}let g=U(bi([])),f=bi(new Map);function p(G){if(G==null)return"—";if(typeof G=="boolean"||typeof G=="number")return String(G);if(typeof G=="string")return G.length>50?G.slice(0,47)+"…":G;const Le=JSON.stringify(G);return Le.length>60?Le.slice(0,57)+"…":Le}function v(G){return G==null?"—":typeof G=="boolean"||typeof G=="number"?String(G):typeof G=="string"?G:JSON.stringify(G)}function _(G){return G!==null&&typeof G=="object"&&!Array.isArray(G)}function y(G){return Array.isArray(G)&&G.length>0&&G.every(_)}function S(G,Le){return!!(Le==="attributeList"||Array.isArray(G)&&G.length===0||_(G)&&Object.keys(G).length===0)}function D(G){return new Date(G).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,N=20,j=32;let H=0,ee=U(bi([])),X=U(!0),fe=U(180),be=ot(()=>{const G=Math.max(1,Math.floor((u(fe)-j)/N)+1);return u(ee).slice(0,G)});function Te(G){G.preventDefault();const Le=G.clientY,at=u(fe);function It(F){I(fe,Math.max(60,Math.min(600,at+Le-F.clientY)),!0)}function $t(){document.removeEventListener("mousemove",It),document.removeEventListener("mouseup",$t)}document.addEventListener("mousemove",It),document.addEventListener("mouseup",$t)}let xe=U(null),ct=U(!1),Pt=U(null),dt=U(!1),ai=U("passcode"),Mt=U(""),Jt=U(""),ge=U(""),rt=U(!1),Ae=U(null),Ze=U("");const pt="she:matter:selectedNodeId";async function di(){try{I(g,await iR(),!0);for(const G of u(g))__(G.nodeId).then(Le=>{f.set(G.nodeId,Le)}).catch(()=>{});if(u(g).length>0&&!u(xe)){const G=localStorage.getItem(pt),Le=G&&u(g).find(at=>at.nodeId===G)?G:u(g)[0].nodeId;Kt(Le)}}catch{I(g,[],!0)}}async function Kt(G){I(ct,!0),I(Pt,null);try{I(xe,await __(G),!0),f.set(G,u(xe)),localStorage.setItem(pt,G)}catch(Le){I(Pt,Le instanceof Error?Le.message:String(Le),!0)}finally{I(ct,!1)}}let Ct;async function kt(G){var Le;if(await Ct.show(`Unpair device ${G}?`,{confirm:"Unpair",danger:!0}))try{await p8(G),((Le=u(xe))==null?void 0:Le.nodeId)===G&&I(xe,null),await di()}catch(at){I(Pt,at instanceof Error?at.message:String(at),!0)}}async function yi(){I(rt,!0),I(Ae,null);try{let G;u(ai)==="passcode"?(G={passcode:Number(u(Mt))},u(Jt)&&(G={...G,discriminator:Number(u(Jt))})):G={pairingCode:u(ge).trim()},u(Ze).trim()&&(G={...G,discoveryAddress:u(Ze).trim()}),await f8(G),I(dt,!1),I(Mt,""),I(Jt,""),I(ge,""),I(Ze,""),await di()}catch(G){I(Ae,G instanceof Error?G.message:String(G),!0)}finally{I(rt,!1)}}vr(()=>{di()});const Bi=Ul("matter:deviceList",G=>{if(!Array.isArray(G.devices))return;const Le=G.devices;for(const at of Le)f.has(at.nodeId)||__(at.nodeId).then(It=>{f.set(at.nodeId,It)}).catch(()=>{});I(g,Le,!0)}),xn=Ul("matter:deviceStatus",G=>{if(G.nodeId===void 0)return;const Le=String(G.nodeId),at=!!G.online;I(g,u(g).map(It=>It.nodeId===Le?{...It,online:at}:It),!0),I(ee,[{id:H++,kind:"status",nodeId:Le,online:at,ts:Date.now()},...u(ee).slice(0,P-1)],!0)}),en=Ul("matter:attr",G=>{const Le=String(G.nodeId),at=G.endpointId,It=String(G.clusterName),$t=String(G.attrName),F=G.value;if(u(xe)&&u(xe).nodeId===Le){const Q=u(xe).endpoints.find(Qe=>Qe.endpointId===at),Ce=Q==null?void 0:Q.clusters.find(Qe=>Qe.name===It);Ce&&(Ce.attrs[$t]=F)}const O=f.get(Le);if(O){const Q=O.endpoints.find(Qe=>Qe.endpointId===at),Ce=Q==null?void 0:Q.clusters.find(Qe=>Qe.name===It);Ce&&(Ce.attrs[$t]=F)}I(ee,[{id:H++,kind:"attr",nodeId:Le,endpointId:at,clusterName:It,attrName:$t,value:F,ts:G.ts??Date.now()},...u(ee).slice(0,P-1)],!0)});rw(()=>{Bi(),xn(),en()});var Ai=WZ(),Ln=wt(Ai);Cs(im(Ln,{}),G=>Ct=G,()=>Ct);var mn=x(Ln,2),zn=C(mn),kn=C(zn),_n=C(kn),Hn=x(C(_n),2),In=x(_n,2);{var qn=G=>{var Le=Q9(),at=C(Le),It=C(at);let $t;var F=x(It,2);let O;var Q=x(at,2);{var Ce=Ee=>{var At=Y9(),Qt=wt(At),Yt=x(C(Qt)),Vt=x(Qt,2),ei=x(C(Vt));Ei(Yt,()=>u(Mt),Y=>I(Mt,Y)),Ei(ei,()=>u(Jt),Y=>I(Jt,Y)),T(Ee,At)},Qe=Ee=>{var At=J9(),Qt=x(C(At));Ei(Qt,()=>u(ge),Yt=>I(ge,Yt)),T(Ee,At)};q(Q,Ee=>{u(ai)==="passcode"?Ee(Ce):Ee(Qe,-1)})}var Nt=x(Q,2),ke=x(C(Nt)),Ie=x(Nt,2);{var Oe=Ee=>{var At=HD(),Qt=C(At);Z(()=>K(Qt,u(Ae))),T(Ee,At)};q(Ie,Ee=>{u(Ae)&&Ee(Oe)})}var Tt=x(Ie,2),gt=C(Tt);Z(()=>{$t=Ut(It,1,"svelte-1ua3isv",null,$t,{active:u(ai)==="passcode"}),O=Ut(F,1,"svelte-1ua3isv",null,O,{active:u(ai)==="pairingCode"}),Tt.disabled=u(rt),K(gt,u(rt)?"Commissioning…":"Commission")}),ne("click",It,()=>I(ai,"passcode")),ne("click",F,()=>I(ai,"pairingCode")),Ei(ke,()=>u(Ze),Ee=>I(Ze,Ee)),ne("click",Tt,yi),T(G,Le)};q(In,G=>{u(dt)&&G(qn)})}var Xe=x(In,2),Ft=C(Xe);mi(Ft,17,()=>u(g),G=>G.nodeId,(G,Le)=>{var at=iZ();let It;var $t=C(at),F=C($t);let O;var Q=x(F,2),Ce=C(Q);{var Qe=Ie=>{var Oe=eZ(),Tt=wt(Oe),gt=C(Tt),Ee=x(Tt,2),At=C(Ee);Z(()=>{K(gt,u(Le).name),K(At,`#${u(Le).nodeId??""}`)}),T(Ie,Oe)},Nt=Ie=>{var Oe=tZ(),Tt=C(Oe);Z(()=>K(Tt,`Node ${u(Le).nodeId??""}`)),T(Ie,Oe)};q(Ce,Ie=>{u(Le).name?Ie(Qe):Ie(Nt,-1)})}var ke=x($t,2);Z(()=>{var Ie;It=Ut(at,1,"svelte-1ua3isv",null,It,{selected:((Ie=u(xe))==null?void 0:Ie.nodeId)===u(Le).nodeId}),O=Ut(F,1,"status-dot svelte-1ua3isv",null,O,{online:u(Le).online})}),ne("click",$t,()=>Kt(u(Le).nodeId)),ne("click",ke,()=>kt(u(Le).nodeId)),T(G,at)});var li=x(Ft,2);{var Bt=G=>{var Le=nZ();T(G,Le)};q(li,G=>{u(g).length===0&&G(Bt)})}var pi=x(kn,2),Dn=C(pi);{var rn=G=>{var Le=sZ();T(G,Le)},tn=G=>{var Le=HD(),at=C(Le);Z(()=>K(at,u(Pt))),T(G,Le)},hn=G=>{var Le=TZ(),at=wt(Le),It=C(at),$t=C(It),F=x(It,2);{var O=Nt=>{var ke=oZ(),Ie=C(ke);Z(()=>K(Ie,u(xe).subtitle)),T(Nt,ke)};q(F,Nt=>{u(xe).subtitle&&Nt(O)})}var Q=x(F,2),Ce=C(Q),Qe=x(at,2);mi(Qe,17,()=>u(xe).endpoints,Nt=>Nt.endpointId,(Nt,ke)=>{var Ie=PZ(),Oe=C(Ie),Tt=C(Oe),gt=x(Tt),Ee=C(gt),At=x(gt,2);mi(At,21,()=>u(ke).clusters,An,(ei,Y)=>{var _e=rZ(),We=C(_e);Z(()=>K(We,u(Y).name)),T(ei,_e)});var Qt=x(Oe,2);{var Yt=ei=>{var Y=DZ(),_e=x(C(Y));mi(_e,21,()=>u(ke).clusters,An,(We,Ye)=>{var bt=IZ(),Ve=wt(bt),tt=C(Ve),Gt=C(tt),oi=x(Ve,2);mi(oi,17,()=>Object.entries(u(Ye).attrs),An,(ii,zi)=>{var En=ot(()=>ok(u(zi),2));let Ni=()=>u(En)[0],ti=()=>u(En)[1];var Vi=Ds(),A=wt(Vi);{var W=ce=>{const ue=ot(()=>{var Ue;return(Ue=t[u(Ye).name])==null?void 0:Ue[Ni()]}),pe=ot(()=>(Ni()==="acceptedCommandList"||Ni()==="generatedCommandList")&&Array.isArray(ti())),De=ot(()=>{var Ue;return((Ue=c[u(Ye).name])==null?void 0:Ue[Ni()])??a[Ni()]});var ft=kZ(),Ge=C(ft),je=C(Ge),Ot=C(je),qe=x(je);{var z=Ue=>{var mt=aZ(),hi=C(mt);Z(ve=>K(hi,`(${ve??""})`),[()=>h(u(De))]),T(Ue,mt)};q(qe,Ue=>{u(De)!==void 0&&Ue(z)})}var se=x(Ge),Fe=C(se);{var nt=Ue=>{var mt=cZ();mi(mt,21,()=>u(ue),An,(hi,ve)=>{var Ke=lZ(),_t=C(Ke);Z(()=>K(_t,u(ve).label)),ne("click",Ke,()=>i(u(xe).nodeId,u(ke).endpointId,u(Ye).name,u(ve).command,u(ve).args)),T(hi,Ke)}),T(Ue,mt)};q(Fe,Ue=>{u(ue)&&Ue(nt)})}var xt=x(se),Ne=C(xt);{var $e=Ue=>{var mt=fZ();mi(mt,21,()=>s(u(Ye).name,ti()),An,(hi,ve,Ke)=>{var _t=gZ(),Et=wt(_t);{var Je=Zi=>{var si=dZ();T(Zi,si)};q(Et,Zi=>{Ke>0&&Zi(Je)})}var ui=x(Et,2);{var ni=Zi=>{var si=hZ(),jt=wt(si),ln=C(jt),qi=x(jt),bn=C(qi);Z(()=>{K(ln,u(ve).name),K(bn,`(${u(ve).id??""})`)}),T(Zi,si)},Si=Zi=>{var si=uZ(),jt=C(si);Z(()=>K(jt,u(ve).id)),T(Zi,si)};q(ui,Zi=>{u(ve).name?Zi(ni):Zi(Si,-1)})}T(hi,_t)}),T(Ue,mt)},de=Ue=>{var mt=_Z(),hi=x(C(mt));mi(hi,21,ti,An,(ve,Ke)=>{const _t=ot(()=>u(Ke)),Et=ot(()=>u(_t).deviceType),Je=ot(()=>r[u(Et)]);var ui=mZ(),ni=C(ui),Si=C(ni);{var Zi=qi=>{var bn=pZ(),sn=wt(bn),Ps=x(sn),jo=C(Ps);Z(Uo=>{K(sn,`${u(Je)??""} `),K(jo,`(${Uo??""})`)},[()=>h(u(Et))]),T(qi,bn)},si=qi=>{var bn=Fr();Z(sn=>K(bn,sn),[()=>h(u(Et))]),T(qi,bn)};q(Si,qi=>{u(Je)?qi(Zi):qi(si,-1)})}var jt=x(ni),ln=C(jt);Z(qi=>K(ln,qi),[()=>v(u(_t).revision)]),T(ve,ui)}),T(Ue,mt)},lt=ot(()=>Ni()==="deviceTypeList"&&Array.isArray(ti())),ye=Ue=>{const mt=ot(()=>[...new Set(ti().flatMap(Et=>Object.keys(Et)))]);var hi=yZ(),ve=C(hi),Ke=C(ve);mi(Ke,21,()=>u(mt),An,(Et,Je)=>{var ui=vZ(),ni=C(ui);Z(()=>K(ni,u(Je))),T(Et,ui)});var _t=x(ve);mi(_t,21,ti,An,(Et,Je)=>{var ui=wZ();mi(ui,21,()=>u(mt),An,(ni,Si)=>{var Zi=bZ(),si=C(Zi);Z(jt=>K(si,jt),[()=>v(u(Je)[u(Si)])]),T(ni,Zi)}),T(Et,ui)}),T(Ue,hi)},he=ot(()=>y(ti())),Wt=Ue=>{var mt=CZ(),hi=C(mt);mi(hi,21,()=>Object.entries(ti()),An,(ve,Ke)=>{var _t=ot(()=>ok(u(Ke),2));let Et=()=>u(_t)[0],Je=()=>u(_t)[1];var ui=SZ(),ni=C(ui),Si=C(ni),Zi=x(ni),si=C(Zi);Z(jt=>{K(Si,Et()),K(si,jt)},[()=>v(Je())]),T(ve,ui)}),T(Ue,mt)},it=ot(()=>_(ti())),Me=Ue=>{var mt=xZ(),hi=C(mt);Z(()=>{Bn(mt,"href",ti()),K(hi,ti())}),T(Ue,mt)},Re=Ue=>{var mt=LZ(),hi=C(mt);Z(ve=>K(hi,ve),[()=>v(ti())]),T(Ue,mt)};q(Ne,Ue=>{u(pe)?Ue($e):u(lt)?Ue(de,1):u(he)?Ue(ye,2):u(it)?Ue(Wt,3):(Ni()==="productUrl"||Ni()==="productURL")&&typeof ti()=="string"?Ue(Me,4):Ue(Re,-1)})}Z(()=>{Bn(Ge,"title",Ni()),K(Ot,Ni())}),T(ce,ft)},ae=ot(()=>!S(ti(),Ni()));q(A,ce=>{u(ae)&&ce(W)})}T(ii,Vi)}),Z(()=>K(Gt,u(Ye).name)),T(We,bt)}),T(ei,Y)},Vt=ei=>{var Y=EZ();T(ei,Y)};q(Qt,ei=>{u(ke).clusters.length>0?ei(Yt):ei(Vt,-1)})}Z(()=>{K(Tt,`${u(ke).name??`Endpoint ${u(ke).endpointId}`??""} `),K(Ee,`ep${u(ke).endpointId??""}`)}),T(Nt,Ie)}),Z(()=>{K($t,u(xe).name??`Node ${u(xe).nodeId}`),K(Ce,`Node ID: ${u(xe).nodeId??""}`)}),T(G,Le)},Un=G=>{var Le=MZ();T(G,Le)};q(Dn,G=>{u(ct)?G(rn):u(Pt)?G(tn,1):u(xe)?G(hn,2):G(Un,-1)})}var Mi=x(zn,2),vn=C(Mi),Tn=x(vn,2),Zn=x(C(Tn),2);{var Mn=G=>{var Le=NZ(),at=C(Le);Z(()=>K(at,u(ee).length)),T(G,Le)};q(Zn,G=>{!u(X)&&u(ee).length>0&&G(Mn)})}var an=x(Zn,2),Nn=C(an),nn=x(Tn,2);{var Se=G=>{var Le=HZ(),at=C(Le);{var It=F=>{var O=RZ();T(F,O)},$t=F=>{var O=Ds(),Q=wt(O);mi(Q,17,()=>u(be),Ce=>Ce.id,(Ce,Qe)=>{const Nt=ot(()=>{var Yt,Vt;return((Yt=f.get(u(Qe).nodeId))==null?void 0:Yt.name)??((Vt=u(g).find(ei=>ei.nodeId===u(Qe).nodeId))==null?void 0:Vt.name)??null}),ke=ot(()=>{var Yt,Vt;return u(Qe).endpointId!==void 0?((Vt=(Yt=f.get(u(Qe).nodeId))==null?void 0:Yt.endpoints.find(ei=>ei.endpointId===u(Qe).endpointId))==null?void 0:Vt.name)??null:null}),Ie=ot(()=>u(Qe).attrName??u(Qe).clusterName);var Oe=FZ(),Tt=C(Oe),gt=C(Tt),Ee=x(Tt,2);{var At=Yt=>{var Vt=AZ(),ei=x(wt(Vt),2),Y=C(ei),_e=x(Y);{var We=tt=>{var Gt=Fy(),oi=x(wt(Gt)),ii=C(oi);Z(()=>K(ii,`(#${u(Qe).nodeId??""})`)),T(tt,Gt)};q(_e,tt=>{u(Nt)&&tt(We)})}var Ye=x(ei,2);let bt;var Ve=C(Ye);Z(()=>{K(Y,u(Nt)??`#${u(Qe).nodeId}`),bt=Ut(Ye,1,"e-val svelte-1ua3isv",null,bt,{"e-online":u(Qe).online,"e-offline":!u(Qe).online}),K(Ve,u(Qe).online?"online":"offline")}),T(Yt,Vt)},Qt=Yt=>{var Vt=OZ(),ei=x(wt(Vt),2),Y=C(ei),_e=x(Y);{var We=ti=>{var Vi=Fy(),A=x(wt(Vi)),W=C(A);Z(()=>K(W,`(#${u(Qe).nodeId??""})`)),T(ti,Vi)};q(_e,ti=>{u(Nt)&&ti(We)})}var Ye=x(ei,2),bt=C(Ye),Ve=x(bt);{var tt=ti=>{var Vi=Fy(),A=x(wt(Vi)),W=C(A);Z(()=>K(W,`(ep ${u(Qe).endpointId??""})`)),T(ti,Vi)};q(Ve,ti=>{u(ke)&&ti(tt)})}var Gt=x(Ye,2),oi=C(Gt),ii=x(Gt,2),zi=C(ii),En=x(ii,2),Ni=C(En);Z(ti=>{K(Y,u(Nt)??`#${u(Qe).nodeId}`),K(bt,u(ke)??`ep${u(Qe).endpointId}`),K(oi,u(Qe).clusterName),K(zi,u(Ie)),K(Ni,ti)},[()=>p(u(Qe).value)]),T(Yt,Vt)};q(Ee,Yt=>{u(Qe).kind==="status"?Yt(At):Yt(Qt,-1)})}Z(Yt=>K(gt,Yt),[()=>D(u(Qe).ts)]),T(Ce,Oe)}),T(F,O)};q(at,F=>{u(be).length===0?F(It):F($t,-1)})}T(G,Le)};q(nn,G=>{u(X)&&G(Se)})}Z(()=>{Bo(Mi,u(X)?`height: ${u(fe)}px;`:""),K(Nn,u(X)?"▾":"▸")}),ne("click",Hn,()=>I(dt,!u(dt))),ne("mousedown",vn,Te),ne("click",an,()=>{I(X,!u(X))}),T(o,Ai),Do()}_r(["click","mousedown"]);var zZ=R("<button>›</button>"),VZ=R('<span class="chev-ph svelte-1vejtrc"></span>'),jZ=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),UZ=R('<div class="tc svelte-1vejtrc"></div>'),$Z=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),qZ=R("<option></option>"),KZ=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),GZ=R('<span class="pub-err svelte-1vejtrc"> </span>'),ZZ=R('<div class="info svelte-1vejtrc">Loading…</div>'),XZ=R('<div class="info err svelte-1vejtrc"> </div>'),YZ=R('<div class="info svelte-1vejtrc">No topics match.</div>'),JZ=R('<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>'),QZ=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),eX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),tX=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),iX=R('<span class="stream-badge"> </span>'),nX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),sX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),oX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),rX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),aX=R('<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),lX=R('<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>'),cX=R('<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),dX=R('<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 hX(o,e){Io(e,!0);const t=(Y,_e=tw)=>{const We=ot(()=>u(f).has(_e().path)),Ye=ot(()=>u(a)>=0&&_e().children.size>0),bt=ot(()=>u(a)>=0&&_e().isLeaf&&!n.has(_e().path));var Ve=$Z(),tt=C(Ve);let Gt;var oi=C(tt);{var ii=ce=>{var ue=zZ();let pe;Z(()=>{pe=Ut(ue,1,"chev svelte-1vejtrc",null,pe,{open:u(We)}),Bn(ue,"aria-label",u(We)?"Collapse":"Expand")}),ne("click",ue,()=>p(_e().path)),T(ce,ue)},zi=ce=>{var ue=VZ();T(ce,ue)};q(oi,ce=>{u(Ye)?ce(ii):ce(zi,-1)})}var En=x(oi,2),Ni=C(En),ti=x(En,2);{var Vi=ce=>{var ue=jZ(),pe=wt(ue),De=C(pe),ft=x(pe,2),Ge=C(ft);Z((je,Ot,qe)=>{Bn(pe,"title",je),K(De,Ot),K(Ge,qe)},[()=>{var je;return mn((je=_n(_e().path))==null?void 0:je.val)},()=>{var je;return mn((je=_n(_e().path))==null?void 0:je.val)},()=>{var je;return((je=_n(_e().path))==null?void 0:je.ts)!=null?zn(_n(_e().path).ts):""}]),T(ce,ue)},A=ot(()=>_e().isLeaf&&i.has(_e().path));q(ti,ce=>{u(A)&&ce(Vi)})}var W=x(tt,2);{var ae=ce=>{var ue=UZ();mi(ue,21,()=>[..._e().children.values()].sort((pe,De)=>pe.seg.localeCompare(De.seg)),pe=>pe.path,(pe,De)=>{t(pe,()=>u(De))}),T(ce,ue)};q(W,ce=>{u(Ye)&&u(We)&&ce(ae)})}Z(()=>{Gt=Ut(tt,1,"tr svelte-1vejtrc",null,Gt,{stale:u(bt)}),K(Ni,_e().seg)}),ne("click",tt,()=>{I(ct,_e().path+"/#")}),ne("contextmenu",tt,ce=>{ce.preventDefault(),I(Ze,{x:ce.clientX,y:ce.clientY,topic:_e().path},!0)}),T(Y,Ve)},i=new Map,n=new Set,s=new Set;let r=null,a=U(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const Y of s)g(Y);s.clear(),lk(a)}))}const h=new Map;function g(Y){const _e=Y.split("/");let We=h,Ye="";for(let bt=0;bt<_e.length;bt++){const Ve=_e[bt];Ye=bt===0?Ve:`${Ye}/${Ve}`,We.has(Ve)||We.set(Ve,{seg:Ve,path:Ye,children:new Map,isLeaf:!1});const tt=We.get(Ve);bt===_e.length-1&&(tt.isLeaf=!0),We=tt.children}}let f=U(bi(new Set));function p(Y){const _e=new Set(u(f));_e.has(Y)?_e.delete(Y):_e.add(Y),I(f,_e,!0)}let v=U("");const _=24,y=5;let S=U(0),D=U(300),P=ot(()=>{if(u(a),!u(v))return[];const Y=u(v).toLowerCase().split(/\s+/).filter(Boolean),_e=[];for(const[We,Ye]of i){const bt=We.toLowerCase();Y.every(Ve=>bt.includes(Ve))&&_e.push({topic:We,...Ye})}return _e.sort((We,Ye)=>We.topic.localeCompare(Ye.topic))}),N=ot(()=>{const Y=u(P).length,_e=Math.max(0,Math.floor(u(S)/_)-y),We=Math.min(Y,Math.ceil((u(S)+u(D))/_)+y);return{start:_e,end:We,totalH:Y*_,top:_e*_}});const j=1e3,H=200,ee=20,X=36;let fe=0,be=U(bi([])),Te=U(bi([])),xe=U(!0),ct=U("#"),Pt=U(200);Rn(()=>{const Y=u(ct).trim(),_e=vl(()=>u(be)),We=!Y||Y==="#"?_e.slice(0,H):_e.filter(Ye=>dt(Y,Ye.topic)).slice(0,H);if(Y&&Y!=="#"){const Ye=new Set(We.map(Ve=>Ve.topic)),bt=[];for(const[Ve,tt]of i)Ye.has(Ve)||dt(Y,Ve)&&bt.push({id:-(bt.length+1),topic:Ve,val:tt.val,ts:tt.ts,retained:!0});bt.sort((Ve,tt)=>Ve.topic.localeCompare(tt.topic)),I(Te,[...We,...bt],!0)}else I(Te,We,!0)});function dt(Y,_e){if(Y==="#")return!0;const We=Y.split("/"),Ye=_e.split("/");for(let bt=0;bt<We.length;bt++){if(We[bt]==="#")return!0;if(bt>=Ye.length||We[bt]!=="+"&&We[bt]!==Ye[bt])return!1}return We.length===Ye.length}function ai(Y){Y.preventDefault();const _e=Y.clientY,We=u(Pt);function Ye(Ve){I(Pt,Math.max(60,Math.min(800,We+_e-Ve.clientY)),!0)}function bt(){document.removeEventListener("mousemove",Ye),document.removeEventListener("mouseup",bt)}document.addEventListener("mousemove",Ye),document.addEventListener("mouseup",bt)}let Mt=ot(()=>{const Y=Math.max(1,Math.floor((u(Pt)-X)/ee)+1);return u(Te).slice(0,Y)}),Jt=U(!0),ge=U(null);async function rt(){I(Jt,!0),I(ge,null);try{const Y=await nR();for(const _e of Y)i.set(_e.topic,{val:_e.val,ts:_e.ts}),g(_e.topic)}catch(Y){I(ge,Y instanceof Error?Y.message:String(Y),!0)}finally{I(Jt,!1),lk(a)}}const Ae=Ul("mqtt",Y=>{const{topic:_e,val:We,ts:Ye}=Y;i.set(_e,{val:We,ts:Ye}),n.add(_e),s.add(_e),c();const bt={id:fe++,topic:_e,val:We,ts:Ye};I(be,[bt,...u(be).slice(0,j-1)],!0);const Ve=u(ct).trim();(!Ve||Ve==="#"||dt(Ve,_e))&&I(Te,[bt,...u(Te).filter(tt=>!(tt.retained&&tt.topic===_e)).slice(0,H-1)],!0)});let Ze=U(null),pt=U(null);async function di(Y,_e){const We=[Y];if(_e){const Ye=Y+"/";for(const bt of i.keys())bt.startsWith(Ye)&&We.push(bt)}for(const Ye of We)await lD(Ye,"",!0,0)}let Kt=ot(()=>(u(a),[...i.keys()].sort())),Ct=U(""),kt=U(""),yi=U(!1),Bi=U(0),xn=U(!1),en=U(null),Ai=U(!1);async function Ln(){if(u(Ct)){I(xn,!0),I(en,null),I(Ai,!1);try{await lD(u(Ct),u(kt),u(yi),u(Bi)),I(Ai,!0),setTimeout(()=>{I(Ai,!1)},2e3)}catch(Y){I(en,Y instanceof Error?Y.message:String(Y),!0)}finally{I(xn,!1)}}}function mn(Y){return Y==null?"":typeof Y=="object"?JSON.stringify(Y):String(Y)}function zn(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function kn(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _n(Y){return u(a),i.get(Y)}let Hn=ot(()=>(u(a),[...h.values()].sort((Y,_e)=>Y.seg.localeCompare(_e.seg)))),In=ot(()=>(u(a),i.size));vr(rt),rw(()=>{Ae(),r!==null&&cancelAnimationFrame(r)});var qn=dX(),Xe=x(C(qn),2),Ft=C(Xe),li=C(Ft),Bt=x(li,2);mi(Bt,20,()=>u(Kt),Y=>Y,(Y,_e)=>{var We=qZ(),Ye={};Z(()=>{Ye!==(Ye=_e)&&(We.value=(We.__value=_e)??"")}),T(Y,We)});var pi=x(Bt,2),Dn=x(pi,2),rn=C(Dn),tn=x(Dn,2),hn=C(tn);hn.value=hn.__value=0;var Un=x(hn);Un.value=Un.__value=1;var Mi=x(Un);Mi.value=Mi.__value=2;var vn=x(tn,2),Tn=x(vn,2);{var Zn=Y=>{var _e=KZ();T(Y,_e)};q(Tn,Y=>{u(Ai)&&Y(Zn)})}var Mn=x(Tn,2);{var an=Y=>{var _e=GZ(),We=C(_e);Z(()=>K(We,u(en))),T(Y,_e)};q(Mn,Y=>{u(en)&&Y(an)})}var Nn=x(Ft,2),nn=C(Nn),Se=x(nn,2),G=C(Se);{var Le=Y=>{var _e=Fr();Z(()=>K(_e,`${u(P).length??""} /`)),T(Y,_e)};q(G,Y=>{u(v)&&Y(Le)})}var at=x(G),It=x(Nn,2);{var $t=Y=>{var _e=ZZ();T(Y,_e)},F=Y=>{var _e=XZ(),We=C(_e);Z(()=>K(We,u(ge))),T(Y,_e)},O=Y=>{var _e=Ds(),We=wt(_e);{var Ye=Ve=>{var tt=YZ();T(Ve,tt)},bt=Ve=>{var tt=QZ(),Gt=C(tt),oi=C(Gt);mi(oi,21,()=>u(P).slice(u(N).start,u(N).end),ii=>ii.topic,(ii,zi)=>{var En=JZ(),Ni=C(En),ti=C(Ni),Vi=x(Ni,2),A=C(Vi),W=x(Vi,2),ae=C(W);Z((ce,ue,pe)=>{K(ti,u(zi).topic),Bn(Vi,"title",ce),K(A,ue),K(ae,pe)},[()=>mn(u(zi).val),()=>mn(u(zi).val),()=>zn(u(zi).ts)]),T(ii,En)}),Z(()=>{Bo(Gt,`height: ${u(N).totalH??""}px; position: relative;`),Bo(oi,`top: ${u(N).top??""}px;`)}),es("scroll",tt,ii=>{I(S,ii.currentTarget.scrollTop,!0)}),wW(tt,"clientHeight",ii=>I(D,ii)),T(Ve,tt)};q(We,Ve=>{u(P).length===0?Ve(Ye):Ve(bt,-1)})}T(Y,_e)},Q=Y=>{var _e=tX(),We=C(_e);{var Ye=Ve=>{var tt=eX();T(Ve,tt)},bt=Ve=>{var tt=Ds(),Gt=wt(tt);mi(Gt,17,()=>u(Hn),oi=>oi.path,(oi,ii)=>{t(oi,()=>u(ii))}),T(Ve,tt)};q(We,Ve=>{u(Hn).length===0?Ve(Ye):Ve(bt,-1)})}T(Y,_e)};q(It,Y=>{u(Jt)?Y($t):u(ge)?Y(F,1):u(v)?Y(O,2):Y(Q,-1)})}var Ce=x(Xe,2),Qe=C(Ce),Nt=x(Qe,2),ke=C(Nt),Ie=x(ke,2);{var Oe=Y=>{var _e=iX(),We=C(_e);Z(()=>K(We,u(Te).length)),T(Y,_e)};q(Ie,Y=>{!u(xe)&&u(Te).length>0&&Y(Oe)})}var Tt=x(Ie,2),gt=C(Tt),Ee=x(Nt,2);{var At=Y=>{var _e=rX(),We=C(_e);{var Ye=Ve=>{var tt=nX();T(Ve,tt)},bt=Ve=>{var tt=Ds(),Gt=wt(tt);mi(Gt,17,()=>u(Mt),oi=>oi.id,(oi,ii)=>{var zi=oX();let En;var Ni=C(zi),ti=C(Ni),Vi=x(Ni,2);{var A=pe=>{var De=sX();T(pe,De)};q(Vi,pe=>{u(ii).retained&&pe(A)})}var W=x(Vi,2),ae=C(W),ce=x(W,2),ue=C(ce);Z((pe,De,ft)=>{En=Ut(zi,1,"sr svelte-1vejtrc",null,En,{retained:u(ii).retained}),K(ti,pe),K(ae,u(ii).topic),Bn(ce,"title",De),K(ue,ft)},[()=>kn(u(ii).ts),()=>mn(u(ii).val),()=>mn(u(ii).val)]),T(oi,zi)}),T(Ve,tt)};q(We,Ve=>{u(Mt).length===0?Ve(Ye):Ve(bt,-1)})}T(Y,_e)};q(Ee,Y=>{u(xe)&&Y(At)})}var Qt=x(Ce,2);{var Yt=Y=>{var _e=aX(),We=wt(_e),Ye=x(We,2);let bt;var Ve=C(Ye),tt=x(Ve,2);Z(()=>bt=Bo(Ye,"",bt,{left:`${u(Ze).x??""}px`,top:`${u(Ze).y??""}px`})),ne("click",We,()=>I(Ze,null)),ne("contextmenu",We,Gt=>{Gt.preventDefault(),I(Ze,null)}),ne("click",Ve,()=>{navigator.clipboard.writeText(u(Ze).topic),I(Ze,null)}),ne("click",tt,()=>{const Gt=u(Ze).topic,oi=Gt+"/",ii=[...i.keys()].some(zi=>zi.startsWith(oi));I(pt,{topic:Gt,hasChildren:ii,recursive:!1},!0),I(Ze,null)}),T(Y,_e)};q(Qt,Y=>{u(Ze)&&Y(Yt)})}var Vt=x(Qt,2);{var ei=Y=>{var _e=cX(),We=wt(_e),Ye=x(We,2),bt=x(C(Ye),2),Ve=C(bt),tt=x(C(Ve)),Gt=C(tt),oi=x(Ve,2);{var ii=ti=>{var Vi=lX(),A=C(Vi);qs(A,()=>u(pt).recursive,W=>u(pt).recursive=W),T(ti,Vi)};q(oi,ti=>{u(pt).hasChildren&&ti(ii)})}var zi=x(bt,2),En=C(zi),Ni=x(En,2);Z(()=>K(Gt,u(pt).topic)),ne("click",We,()=>I(pt,null)),ne("click",En,()=>I(pt,null)),ne("click",Ni,()=>{const{topic:ti,recursive:Vi}=u(pt);I(pt,null),di(ti,Vi)}),T(Y,_e)};q(Vt,Y=>{u(pt)&&Y(ei)})}Z(()=>{vn.disabled=u(xn)||!u(Ct),K(at,` ${u(In)??""}`),Bo(Ce,u(xe)?`height: ${u(Pt)}px;`:""),K(gt,u(xe)?"▾":"▸")}),Ei(li,()=>u(Ct),Y=>I(Ct,Y)),Ei(pi,()=>u(kt),Y=>I(kt,Y)),qs(rn,()=>u(yi),Y=>I(yi,Y)),ua(tn,()=>u(Bi),Y=>I(Bi,Y)),ne("click",vn,Ln),Ei(nn,()=>u(v),Y=>I(v,Y)),ne("mousedown",Qe,ai),Ei(ke,()=>u(ct),Y=>I(ct,Y)),ne("click",Tt,()=>{I(xe,!u(xe))}),T(o,qn),Do()}_r(["click","contextmenu","mousedown"]);var uX=R('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. Use the ↺ button in the topbar.</div>'),gX=R('<div class="err svelte-twakcj"> </div>'),fX=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),pX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),mX=R('<p class="empty svelte-twakcj">No match.</p>'),_X=R('<span class="dep-latest svelte-twakcj"> </span>'),vX=lT('<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>'),bX=lT('<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>'),wX=R('<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><!></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>'),yX=R('<span class="result-author svelte-twakcj"> </span>'),SX=R('<span class="result-date svelte-twakcj"> </span>'),CX=R('<span class="result-desc svelte-twakcj"> </span>'),xX=R('<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>'),LX=R('<div class="results-list svelte-twakcj"></div>'),kX=R('<pre class="npm-output svelte-twakcj"> </pre>'),IX=R(`<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>`),DX=R('<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>');function EX(o,e){Io(e,!0);let t=U(bi([])),i=U(""),n=U(bi({})),s=U(!1),r=U(""),a=U(bi([])),c=U(!1),h=U(!1),g=U(""),f=U(""),p=bi({});const v=ot(()=>u(i).trim()?u(t).filter(Xe=>Xe.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),_=ot(()=>Object.keys(u(n)).length);vr(async()=>{await Promise.all([y(),S()])});async function y(){try{I(t,await s8(),!0),I(g,"")}catch(Xe){I(g,Xe.message,!0)}}async function S(){try{I(n,await c8(),!0)}catch{}}async function D(){I(s,!0);try{I(n,await d8(),!0)}catch{}finally{I(s,!1)}}async function P(){const Xe=u(r).trim();if(!Xe){I(a,[],!0);return}I(h,!0),I(g,"");try{I(a,await o8(Xe),!0)}catch(Ft){I(g,Ft.message,!0)}finally{I(h,!1)}}function N(Xe){if(!Xe)return"";try{return new Date(Xe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function j(Xe,Ft){p[Xe]=!0,I(g,""),I(f,"");try{const li=await r8(Xe,Ft);I(f,li.stdout||li.stderr||"Done.",!0),I(c,!0),await y()}catch(li){I(g,li.message,!0)}finally{p[Xe]=!1}}async function H(Xe){p[Xe]=!0,I(g,""),I(f,"");try{const Ft=await a8(Xe);I(f,Ft.stdout||Ft.stderr||"Done.",!0),I(c,!0);const li={...u(n)};delete li[Xe],I(n,li,!0),await y()}catch(Ft){I(g,Ft.message,!0)}finally{p[Xe]=!1}}async function ee(Xe){p[Xe]=!0,I(g,""),I(f,"");try{const Ft=await l8(Xe);I(f,Ft.stdout||Ft.stderr||"Done.",!0),I(c,!0);const li={...u(n)};delete li[Xe],I(n,li,!0),await y()}catch(Ft){I(g,Ft.message,!0)}finally{p[Xe]=!1}}var X=DX(),fe=C(X);{var be=Xe=>{var Ft=uX();T(Xe,Ft)};q(fe,Xe=>{u(c)&&Xe(be)})}var Te=x(fe,2);{var xe=Xe=>{var Ft=gX(),li=C(Ft);Z(()=>K(li,u(g))),T(Xe,Ft)};q(Te,Xe=>{u(g)&&Xe(xe)})}var ct=x(Te,2),Pt=C(ct),dt=C(Pt),ai=x(C(dt),2),Mt=C(ai),Jt=x(ai,2);{var ge=Xe=>{var Ft=fX(),li=C(Ft);Z(()=>K(li,`${u(_)??""} outdated`)),T(Xe,Ft)};q(Jt,Xe=>{u(_)>0&&Xe(ge)})}var rt=x(Jt,2),Ae=C(rt);let Ze;var pt=x(dt,2),di=C(pt),Kt=x(pt,2),Ct=C(Kt);{var kt=Xe=>{var Ft=pX();T(Xe,Ft)},yi=Xe=>{var Ft=mX();T(Xe,Ft)},Bi=Xe=>{var Ft=Ds(),li=wt(Ft);mi(li,17,()=>u(v),Bt=>Bt.name,(Bt,pi)=>{var Dn=wX();let rn;var tn=C(Dn),hn=C(tn),Un=C(hn),Mi=x(hn,2),vn=C(Mi),Tn=x(Mi,2);{var Zn=at=>{var It=_X(),$t=C(It);Z(()=>K($t,`→ v${u(n)[u(pi).name].latest??""}`)),T(at,It)};q(Tn,at=>{u(n)[u(pi).name]&&at(Zn)})}var Mn=x(tn,2),an=C(Mn);let Nn;var nn=C(an);{var Se=at=>{var It=vX();T(at,It)},G=at=>{var It=bX();T(at,It)};q(nn,at=>{p[u(pi).name]?at(Se):at(G,-1)})}var Le=x(an,2);Z(()=>{rn=Ut(Dn,1,"dep-row svelte-twakcj",null,rn,{"dep-busy":!!p[u(pi).name]}),Bn(hn,"href",u(pi).url??`https://www.npmjs.com/package/${u(pi).name}`),K(Un,u(pi).name),K(vn,u(pi).installedVersion??u(pi).version),Nn=Ut(an,1,"icon-btn svelte-twakcj",null,Nn,{"icon-btn--update":!!u(n)[u(pi).name]}),an.disabled=!!p[u(pi).name],Bn(an,"title",u(n)[u(pi).name]?`Update to v${u(n)[u(pi).name].latest}`:"Update to latest"),Le.disabled=!!p[u(pi).name]}),ne("click",an,()=>ee(u(pi).name)),ne("click",Le,()=>H(u(pi).name)),T(Bt,Dn)}),T(Xe,Ft)};q(Ct,Xe=>{u(t).length===0?Xe(kt):u(v).length===0?Xe(yi,1):Xe(Bi,-1)})}var xn=x(Pt,2),en=x(C(xn),2),Ai=C(en),Ln=x(Ai,2),mn=C(Ln),zn=x(en,2);{var kn=Xe=>{var Ft=LX();mi(Ft,21,()=>u(a),li=>li.name,(li,Bt)=>{var pi=xX(),Dn=C(pi),rn=C(Dn),tn=C(rn),hn=x(rn,2),Un=C(hn),Mi=x(hn,2);{var vn=Se=>{var G=yX(),Le=C(G);Z(()=>K(Le,u(Bt).author)),T(Se,G)};q(Mi,Se=>{u(Bt).author&&Se(vn)})}var Tn=x(Mi,2);{var Zn=Se=>{var G=SX(),Le=C(G);Z(at=>{Bn(G,"title",u(Bt).date),K(Le,at)},[()=>N(u(Bt).date)]),T(Se,G)};q(Tn,Se=>{u(Bt).date&&Se(Zn)})}var Mn=x(Tn,2);{var an=Se=>{var G=CX(),Le=C(G);Z(()=>K(Le,u(Bt).description)),T(Se,G)};q(Mn,Se=>{u(Bt).description&&Se(an)})}var Nn=x(Dn,2),nn=C(Nn);Z(()=>{Bn(rn,"href",u(Bt).url??`https://www.npmjs.com/package/${u(Bt).name}`),K(tn,u(Bt).name),K(Un,u(Bt).version),Nn.disabled=!!p[u(Bt).name],K(nn,p[u(Bt).name]?"Installing…":"Install")}),ne("click",Nn,()=>j(u(Bt).name)),T(li,pi)}),T(Xe,Ft)};q(zn,Xe=>{u(a).length>0&&Xe(kn)})}var _n=x(zn,2);{var Hn=Xe=>{var Ft=kX(),li=C(Ft);Z(()=>K(li,u(f))),T(Xe,Ft)};q(_n,Xe=>{u(f)&&Xe(Hn)})}var In=x(_n,2);{var qn=Xe=>{var Ft=IX();T(Xe,Ft)};q(In,Xe=>{!u(a).length&&!u(f)&&Xe(qn)})}Z(()=>{K(Mt,u(t).length),rt.disabled=u(s),Ze=Ut(Ae,0,"svelte-twakcj",null,Ze,{spinning:u(s)}),Ln.disabled=u(h),K(mn,u(h)?"Searching…":"Search")}),ne("click",rt,D),Ei(di,()=>u(i),Xe=>I(i,Xe)),ne("keydown",Ai,Xe=>Xe.key==="Enter"&&P()),Ei(Ai,()=>u(r),Xe=>I(r,Xe)),ne("click",Ln,P),T(o,X),Do()}_r(["click","keydown"]);var PX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),TX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),MX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),NX=R('<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"><polyline points="4 4 4 10 10 10"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> </button>'),RX=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> </button></div></div>'),AX=R('<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),OX=R('<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),FX=R('<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>'),HX=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),WX=R('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><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"><path d="M18.36 6.64a9 9 0 1 1-12.73 0"></path><line x1="12" y1="2" x2="12" y2="12"></line></svg> Restart daemon</button></div></div>'),BX=R('<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"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line></svg></button>'),zX=R('<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"><polyline points="5,3 1,8 5,13"></polyline><polyline points="11,3 15,8 11,13"></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"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1"></rect><path d="M2,11 V5 H5 V11"></path><path d="M6,12 V5 H9 V8 H6"></path><path d="M10,11 V5 H15 V11"></path><line x1="12.5" y1="5" x2="12.5" y2="11"></line></svg> Packages</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle"><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"></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"><path d="M8,2 L8,7"></path><path d="M6,5 L8,7.5 L10,5"></path><path d="M2.5,14 L6,10"></path><path d="M6.2,12.8 L6,10 L3.2,10.2"></path><path d="M13.5,14 L10,10"></path><path d="M9.8,12.8 L10,10 L12.8,10.2"></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"><ellipse cx="8" cy="4.5" rx="5" ry="1.8"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7"></path><path d="M3,8 a5,1.8 0,0,0 10,0"></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"><line x1="2" y1="5" x2="14" y2="5"></line><line x1="2" y1="8" x2="14" y2="8"></line><line x1="2" y1="11" x2="9" y2="11"></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"><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"></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"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></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"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),VX=R('<div class="login-error svelte-1n46o8q"> </div>'),jX=R('<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>'),UX=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> Restarting smart-home-engine…</div></div>'),$X=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> Updating smart-home-engine…</div></div>'),qX=R("<!> <!> <!> <!>",1);function KX(o,e){Io(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const ge=location.hash.slice(1);return t.includes(ge)?ge:"scripts"}let n=U(bi(i())),s=U(null),r=U(!1),a=U(!1),c=U(!1),h=U(!1),g=U("none"),f=U(""),p=U(!1),v=U(""),_=U(""),y=U(!1),S=U(!1);W7(()=>{I(p,!0)});async function D(){I(_,""),I(y,!0);try{await V7(u(v)),I(v,""),I(p,!1)}catch(ge){I(_,ge.message??"Login failed",!0)}finally{I(y,!1)}}async function P(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await j7(),I(p,!0)}let N=U(null),j=U(!1);async function H(){if(!await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;I(j,!0);try{await G7()}catch{}let ge=!1;const rt=Date.now()+6e4;for(;Date.now()<rt;){await new Promise(Ae=>setTimeout(Ae,1e3));try{if(await m_(),ge){location.reload();return}}catch{ge=!0}}location.reload()}async function ee(){I(c,!0);try{const ge=await X7();u(s)&&I(s,{...u(s),latestVersion:ge.latestVersion??void 0},!0)}catch{}finally{I(c,!1)}}async function X(){var Ae;if(!await u(N).show(`Update to v${(Ae=u(s))==null?void 0:Ae.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;I(a,!1),I(h,!0);try{await Z7()}catch{}let ge=!1;const rt=Date.now()+18e4;for(;Date.now()<rt;){await new Promise(Ze=>setTimeout(Ze,2e3));try{if(await m_(),ge){location.reload();return}}catch{ge=!0}}location.reload()}function fe(ge){I(n,ge,!0),location.hash=ge}vr(async()=>{location.hash||(location.hash=u(n));const ge=()=>{I(n,i(),!0)};window.addEventListener("hashchange",ge);try{const Ze=await z7();I(g,Ze.mode,!0),I(f,Ze.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&I(p,!0)}catch{}I(S,!0);async function rt(){try{I(s,await m_(),!0)}catch{}}rt();const Ae=setInterval(rt,5e3);return()=>{window.removeEventListener("hashchange",ge),clearInterval(Ae)}});var be=qX();es("click",zP,()=>{u(r)&&I(r,!1),u(a)&&I(a,!1)});var Te=wt(be);{var xe=ge=>{var rt=zX(),Ae=C(rt),Ze=x(C(Ae),2);let pt;var di=x(Ze,2);let Kt;var Ct=x(di,2);let kt;var yi=x(Ct,2);let Bi;var xn=x(yi,2);let en;var Ai=x(xn,2);let Ln;var mn=x(Ai,4),zn=x(C(mn),2),kn=C(zn),_n=C(kn);_n.nodeValue="v0.24.4 ";var Hn=x(_n);{var In=Oe=>{var Tt=PX();T(Oe,Tt)};q(Hn,Oe=>{var Tt;(Tt=u(s))!=null&&Tt.latestVersion&&Oe(In)})}var qn=x(kn,2);{var Xe=Oe=>{var Tt=RX(),gt=C(Tt),Ee=x(C(gt));Ee.textContent="v0.24.4";var At=x(Ee,2);{var Qt=Ve=>{var tt=TX(),Gt=x(wt(tt)),oi=C(Gt);Z(()=>K(oi,`v${u(s).latestVersion??""}`)),T(Ve,tt)},Yt=Ve=>{var tt=MX();T(Ve,tt)};q(At,Ve=>{var tt;(tt=u(s))!=null&&tt.latestVersion?Ve(Qt):Ve(Yt,-1)})}var Vt=x(gt,2),ei=C(Vt);{var Y=Ve=>{var tt=NX(),Gt=x(C(tt));Z(()=>K(Gt,` Update to v${u(s).latestVersion??""}`)),ne("click",tt,X),T(Ve,tt)};q(ei,Ve=>{var tt;(tt=u(s))!=null&&tt.latestVersion&&Ve(Y)})}var _e=x(ei,2),We=C(_e);let Ye;var bt=x(We);Z(()=>{_e.disabled=u(c),Ye=Ut(We,0,"svelte-1n46o8q",null,Ye,{spinning:u(c)}),K(bt,` ${u(c)?"Checking…":"Check for updates"}`)}),ne("click",Tt,Ve=>Ve.stopPropagation()),ne("click",_e,ee),T(Oe,Tt)};q(qn,Oe=>{u(a)&&Oe(Xe)})}var Ft=x(zn,2),li=C(Ft),Bt=x(li,2);{var pi=Oe=>{var Tt=WX(),gt=C(Tt);{var Ee=Vt=>{var ei=FX(),Y=x(C(ei)),_e=C(Y),We=x(Y,3),Ye=C(We),bt=x(We,3),Ve=C(bt),tt=x(bt,2);{var Gt=W=>{var ae=AX(),ce=x(wt(ae)),ue=C(ce),pe=x(ce,3),De=C(pe);Z(()=>{K(ue,u(s).matterNodes??0),K(De,u(s).matterEndpoints??0)}),T(W,ae)};q(tt,W=>{u(s).matterEnabled&&W(Gt)})}var oi=x(tt,2);{var ii=W=>{var ae=OX(),ce=x(wt(ae)),ue=C(ce),pe=x(ce,3),De=C(pe);Z(()=>{K(ue,u(s).dbDocs??"—"),K(De,u(s).dbViews??"—")}),T(W,ae)};q(oi,W=>{u(s).dbEnabled&&W(ii)})}var zi=x(oi,3),En=C(zi),Ni=x(zi,3),ti=C(Ni),Vi=x(Ni,3),A=C(Vi);Z(()=>{K(_e,u(s).scripts),K(Ye,u(s).topics),K(Ve,u(s).mqttMsgPerSec??"—"),K(En,u(s).handlers??"—"),K(ti,u(s).memMb!=null?u(s).memMb+" MB":"—"),K(A,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(Vt,ei)},At=Vt=>{var ei=HX();T(Vt,ei)};q(gt,Vt=>{u(s)?Vt(Ee):Vt(At,-1)})}var Qt=x(gt,2),Yt=C(Qt);ne("click",Tt,Vt=>Vt.stopPropagation()),ne("click",Yt,()=>{I(r,!1),H()}),T(Oe,Tt)};q(Bt,Oe=>{u(r)&&Oe(pi)})}var Dn=x(Ft,2);let rn;var tn=x(Dn,2);{var hn=Oe=>{var Tt=BX();ne("click",Tt,P),T(Oe,Tt)};q(tn,Oe=>{u(g)==="password"&&Oe(hn)})}var Un=x(Ae,2),Mi=C(Un);Cs(im(Mi,{}),Oe=>I(N,Oe,!0),()=>u(N));var vn=x(Mi,2);let Tn;var Zn=C(vn);{let Oe=ot(()=>u(n)==="scripts");nG(Zn,{get active(){return u(Oe)}})}var Mn=x(vn,2);let an;var Nn=C(Mn);EX(Nn,{});var nn=x(Mn,2);let Se;var G=C(nn);hX(G,{});var Le=x(nn,2);let at;var It=C(Le);BZ(It,{});var $t=x(Le,2);let F;var O=C($t);X9(O,{});var Q=x($t,2);let Ce;var Qe=C(Q);VG(Qe,{});var Nt=x(Q,2);let ke;var Ie=C(Nt);qG(Ie,{}),Z(()=>{pt=Ut(Ze,1,"svelte-1n46o8q",null,pt,{active:u(n)==="scripts"}),Kt=Ut(di,1,"svelte-1n46o8q",null,Kt,{active:u(n)==="packages"}),kt=Ut(Ct,1,"svelte-1n46o8q",null,kt,{active:u(n)==="mqtt"}),Bi=Ut(yi,1,"svelte-1n46o8q",null,Bi,{active:u(n)==="matter"}),en=Ut(xn,1,"svelte-1n46o8q",null,en,{active:u(n)==="db"}),Ln=Ut(Ai,1,"svelte-1n46o8q",null,Ln,{active:u(n)==="logs"}),rn=Ut(Dn,1,"nav-settings svelte-1n46o8q",null,rn,{active:u(n)==="config"}),Tn=Ut(vn,1,"page-wrap svelte-1n46o8q",null,Tn,{hidden:u(n)!=="scripts"}),an=Ut(Mn,1,"page-wrap svelte-1n46o8q",null,an,{hidden:u(n)!=="packages"}),Se=Ut(nn,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:u(n)!=="mqtt"}),at=Ut(Le,1,"page-wrap svelte-1n46o8q",null,at,{hidden:u(n)!=="matter"}),F=Ut($t,1,"page-wrap svelte-1n46o8q",null,F,{hidden:u(n)!=="db"}),Ce=Ut(Q,1,"page-wrap svelte-1n46o8q",null,Ce,{hidden:u(n)!=="config"}),ke=Ut(Nt,1,"page-wrap svelte-1n46o8q",null,ke,{hidden:u(n)!=="logs"})}),ne("click",Ze,()=>fe("scripts")),ne("click",di,()=>fe("packages")),ne("click",Ct,()=>fe("mqtt")),ne("click",yi,()=>fe("matter")),ne("click",xn,()=>fe("db")),ne("click",Ai,()=>fe("logs")),ne("click",kn,Oe=>{Oe.stopPropagation(),I(a,!u(a)),I(r,!1)}),ne("click",li,Oe=>{Oe.stopPropagation(),I(r,!u(r)),I(a,!1)}),ne("click",Dn,()=>fe("config")),T(ge,rt)};q(Te,ge=>{u(S)&&!u(p)&&ge(xe)})}var ct=x(Te,2);{var Pt=ge=>{var rt=jX(),Ae=C(rt),Ze=x(C(Ae),4),pt=x(C(Ze),2),di=x(Ze,2);{var Kt=yi=>{var Bi=VX(),xn=C(Bi);Z(()=>K(xn,u(_))),T(yi,Bi)};q(di,yi=>{u(_)&&yi(Kt)})}var Ct=x(di,2),kt=C(Ct);Z(()=>{pt.disabled=u(y),Ct.disabled=u(y)||!u(v),K(kt,u(y)?"Signing in…":"Sign in")}),es("submit",Ae,yi=>{yi.preventDefault(),D()}),Ei(pt,()=>u(v),yi=>I(v,yi)),T(ge,rt)};q(ct,ge=>{u(p)&&ge(Pt)})}var dt=x(ct,2);{var ai=ge=>{var rt=UX();T(ge,rt)};q(dt,ge=>{u(j)&&ge(ai)})}var Mt=x(dt,2);{var Jt=ge=>{var rt=$X();T(ge,rt)};q(Mt,ge=>{u(h)&&ge(Jt)})}T(o,be),Do()}_r(["click"]);rW(KX,{target:document.getElementById("app")});export{yT as t};