smart-home-engine 1.16.1 → 1.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{index-B3w0pv6a.css → index-BvKmwc2a.css} +1 -1
- package/dist/web/assets/index-CvkGKRP_.js +234 -0
- package/dist/web/assets/{tsMode-DuWnr8LR.js → tsMode-CUj-T2Hb.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/web/broker-api.js +144 -0
- package/dist/web/assets/index-BIE09pOh.js +0 -232
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-DuWnr8LR.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var YF=Object.defineProperty;var IS=o=>{throw TypeError(o)};var QF=(o,e,t)=>e in o?YF(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Bn=(o,e,t)=>QF(o,typeof e!="symbol"?e+"":e,t),Jb=(o,e,t)=>e.has(o)||IS("Cannot "+t);var De=(o,e,t)=>(Jb(o,e,"read from private field"),t?t.call(o):e.get(o)),Cn=(o,e,t)=>e.has(o)?IS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),En=(o,e,t,i)=>(Jb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),ts=(o,e,t)=>(Jb(o,e,"access private method"),t);import{_ as lA,m as cA,l as Si,A as Ao,C as Ge,I as ss,D as yp,a as Cs,g as dA,M as si,b as Qi,E as la,c as q,r as Vn,d as Rr,e as S,f as JF,h as Qn,R as yn,S as $i,i as lo,j as Nr,k as Ln,n as hn,o as Ie,p as vt,K as Ds,q as vi,s as Rt,t as Ms,u as J,v as _n,O as Ha,w as Fs,P as Ai,x as eC,y as wp,z as uA,B as ml,F as ca,G as t1,H as Zs,U as jn,J as F0,L as ki,N as yl,Q as e3,T as Eo,V as i1,W as t3,X as hA,$ as mi,Y as Rn,Z as Fn,a0 as as,a1 as on,a2 as er,a3 as kg,a4 as Tt,a5 as Zx,a6 as i3,a7 as n3,a8 as Ts,a9 as s3,aa as da,ab as ko,ac as Pi,ad as fA,ae as is,af as o3,ag as r3,ah as wo,ai as af,aj as As,ak as W_,al as mo,am as qc,an as Fw,ao as z_,ap as qs,aq as L0,ar as Gs,as as V_,at as j_,au as a3,av as Sp,aw as lf,ax as Tl,ay as l3,az as cf,aA as c3,aB as Lw,aC as d3,aD as u3,aE as PS,aF as bs,aG as vl,aH as vo,aI as cn,aJ as fl,aK as h3,aL as ja,aM as Yo,aN as Vs,aO as ua,aP as Iw,aQ as Rs,aR as ms,aS as wm,aT as ln,aU as gA,aV as f3,aW as Pw,aX as $_,aY as Tw,aZ as Mw,a_ as Ld,a$ as g3,b0 as Rw,b1 as p3,b2 as Nw,b3 as Ml,b4 as Rl,b5 as I0,b6 as Bg,b7 as Ho,b8 as Dp,b9 as Sm,ba as tC,bb as qn,bc as Ow,bd as Ap,be as U_,bf as x3,bg as pA,bh as Fg,bi as P0,bj as Lg,bk as kp,bl as q_,bm as Pn,bn as Gc,bo as Bp,bp as m3,bq as v3,br as Hw,bs as _3,bt as Dm,bu as gr,bv as Ww,bw as T0,bx as Nl,by as df,bz as xn,bA as M0,bB as xA,bC as Fp,bD as b3,bE as Id,bF as ci,bG as TS,bH as Xx,bI as mA,bJ as Wr,bK as sa,bL as Zn,bM as R0,bN as Fr,bO as N0,bP as rs,bQ as Ig,bR as Zu,bS as n1,bT as vA,bU as _A,bV as bA,bW as zw,bX as Po,bY as Wn,bZ as Lp,b_ as CA,b$ as _l,c0 as G_,c1 as C3,c2 as zh,c3 as MS,c4 as Ip,c5 as EA,c6 as Vh,c7 as E3,c8 as yr,c9 as K_,ca as y3,cb as Bo,cc as ha,cd as Pp,ce as Pg,cf as yA,cg as ur,ch as Tp,ci as Z_,cj as w3,ck as S3,cl as D3,cm as uf,cn as $a,co as js,cp as A3,cq as Vw,cr as k3,cs as B3,ct as RS,cu as F3,cv as Mp,cw as wl,cx as s1,cy as Bu,cz as Sl,cA as L3,cB as Wa,cC as Lr,cD as qo,cE as NS,cF as uo,cG as Rp,cH as Nc,cI as Ua,cJ as I3,cK as fa,cL as Tg,cM as X_,cN as wA,cO as P3,cP as T3,cQ as jw,cR as M3,cS as Mg,cT as R3,cU as dc,cV as Rg,cW as OS,cX as N3,cY as O3,cZ as Ka,c_ as H3,c$ as $w,d0 as SA,d1 as DA,d2 as AA,d3 as kA,d4 as W3,d5 as z3,d6 as BA,d7 as FA,d8 as V3,d9 as Uw,da as j3,db as $3,dc as cs,dd as U3,de as qw,df as q3,dg as jh,dh as HS,di as G3,dj as K3,dk as Z3,dl as X3,dm as Y3,dn as Q3,dp as O0,dq as Y_,dr as o1,ds as J3,dt as e4,du as WS,dv as r1,dw as t4,dx as zS,dy as iC,dz as i4,dA as LA,dB as n4,dC as IA,dD as a1,dE as s4,dF as o4,dG as r4,dH as PA,dI as TA,dJ as a4,dK as Am,dL as MA,dM as Q_,dN as l4,dO as c4,dP as Oc,dQ as Gw,dR as d4,dS as VS,dT as jS,dU as u4,dV as $h,dW as RA,dX as h4,dY as f4,dZ as g4,d_ as p4,d$ as NA,e0 as OA,e1 as HA,e2 as WA,e3 as x4,e4 as za,e5 as $S,e6 as m4,e7 as Np,e8 as v4,e9 as $f,ea as zA,eb as US,ec as Ng,ed as VA,ee as km,ef as _4,eg as jA,eh as b4,ei as $A,ej as C4,ek as E4,el as UA,em as qA,en as Dl,eo as J_,ep as y4,eq as GA,er as Qo,es as Pd,et as KA,eu as w4,ev as S4,ew as ZA,ex as XA,ey as D4,ez as YA,eA as QA,eB as Og,eC as A4,eD as k4,eE as B4,eF as F4,eG as Pf,eH as qS,eI as L4,eJ as I4,eK as P4,eL as Bm,eM as eo,eN as T4,eO as l1,eP as Xu,eQ as M4,eR as ul,eS as R4,eT as N4,eU as JA,eV as O4,eW as ag,eX as H4,eY as W4,eZ as z4,e_ as V4,e$ as GS,f0 as KS,f1 as ZS,f2 as Yu,f3 as Kw,f4 as ek,f5 as c1,f6 as Yx,f7 as tk,f8 as Fm,f9 as j4,fa as $4,fb as U4,fc as q4,fd as Zw,fe as ik,ff as G4,fg as Lm,fh as nk,fi as sk,fj as K4,fk as Z4,fl as X4,fm as Y4,fn as Q4,fo as J4,fp as eL,fq as tL,fr as ok,fs as iL,ft as Im,fu as rk,fv as nL,fw as ak,fx as sL,fy as lk,fz as ck,fA as oL,fB as XS,fC as dk,fD as YS,fE as rL,fF as nC,fG as QS,fH as aL,fI as lL,fJ as cL,fK as Ia,fL as Hc,fM as dL,fN as JS,fO as Qx,fP as uL,fQ as gl,fR as eb,fS as d1,fT as hL,fU as uk,fV as hk,fW as ho,fX as e8,fY as px,fZ as Xw,f_ as fL,f$ as gL,g0 as pL,g1 as xL,g2 as mL,g3 as vL,g4 as _L,g5 as bL,g6 as t8,g7 as CL,g8 as EL,g9 as yL,ga as H0,gb as lg,gc as fk,gd as wL,ge as Yw,gf as Jx,gg as xx,gh as sC,gi as SL,gj as DL,gk,gl as AL,gm as Qw,gn as kL,go as BL,gp as pk,gq as tb,gr as FL,gs as Pm,gt as Jw,gu as e9,gv as t9,gw as xk,gx as mk,gy as vk,gz as _k,gA as bk,gB as Ck,gC as Ek,gD as i8,gE as yk,gF as vh,gG as LL,gH as IL,gI as PL,gJ as TL,gK as wk,gL as ML,gM as RL,gN as n8,gO as u1,gP as mc,gQ as NL,gR as OL,gS as HL,gT as WL,gU as zL,gV as VL,gW as s8,gX as i9,gY as h1,gZ as jL,g_ as f1,g$ as $L,h0 as UL,h1 as qL,h2 as GL,h3 as n9,h4 as Sk,h5 as o8,h6 as r8,h7 as KL,h8 as ZL,h9 as XL,ha as a8,hb as oC,hc as YL,hd as QL,he as JL,hf as rC,hg as Dk,hh as Ak,hi as kk,hj as Bk,hk as Al,hl as Fk,hm as s9,hn as l8,ho as e7,hp as Lk,hq as t7,hr as i7,hs as ib,ht as nb,hu as Qu,hv as sb,hw as Op,hx as n7,hy as ob,hz as s7,hA as o7,hB as r7,hC as Ik,hD as Tf,hE as a7,hF as l7,hG as c7,hH as d7,hI as Hp,hJ as u7,hK as Pk,hL as Tk,hM as Mk,hN as g1,hO as h7,hP as f7,hQ as g7,hR as p7,hS as x7,hT as p1,hU as m7,hV as v7,hW as _7,hX as b7,hY as C7,hZ as E7,h_ as y7,h$ as w7,i0 as Rk,i1 as S7,i2 as D7,i3 as A7,i4 as c8,i5 as k7,i6 as B7,i7 as md,i8 as Vo,i9 as x1,ia as Nk,ib as F7,ic as L7}from"./monaco-langs-Dt8a9eeo.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 Ok=!1;var o9=Array.isArray,I7=Array.prototype.indexOf,Tm=Array.prototype.includes,rb=Array.from,P7=Object.defineProperty,a0=Object.getOwnPropertyDescriptor,T7=Object.getOwnPropertyDescriptors,M7=Object.prototype,R7=Array.prototype,Hk=Object.getPrototypeOf,d8=Object.isExtensible;const ab=()=>{};function N7(o){for(var e=0;e<o.length;e++)o[e]()}function Wk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function O7(o,e,t=!1){return o===void 0?t?e():e:o}function u8(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 po=2,W0=4,lb=8,zk=1<<24,oa=16,aa=32,Wc=64,m1=128,Tr=512,to=1024,so=2048,qa=4096,Mo=8192,Mr=16384,hf=32768,v1=1<<25,z0=65536,Mm=1<<17,H7=1<<18,ff=1<<19,W7=1<<20,Ra=1<<25,Fu=65536,Rm=1<<21,l0=1<<22,vc=1<<23,Td=Symbol("$state"),z7=Symbol("legacy props"),V7=Symbol(""),em=Symbol("attributes"),_1=Symbol("class"),b1=Symbol("style"),Uf=Symbol("text"),tm=Symbol("form reset"),cb=new class extends Error{constructor(){super(...arguments);Bn(this,"name","StaleReactionError");Bn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var oA;const j7=!!((oA=globalThis.document)!=null&&oA.contentType)&&globalThis.document.contentType.includes("xml");function Vk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function $7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function U7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function q7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function G7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function K7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function Z7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function X7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function Y7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Q7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function J7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function eI(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const tI=1,iI=2,jk=4,nI=8,sI=16,oI=1,rI=4,aI=8,lI=16,cI=1,dI=2,Js=Symbol("uninitialized"),$k="http://www.w3.org/1999/xhtml",uI="http://www.w3.org/2000/svg",hI="http://www.w3.org/1998/Math/MathML";function fI(){console.warn("https://svelte.dev/e/derived_inert")}function gI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function pI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Uk(o){return o===this.v}function xI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function qk(o){return!xI(o,this.v)}let mI=!1,go=null;function V0(o){go=o}function $s(o,e=!1,t){go={p:go,i:!1,c:null,e:null,s:o,x:null,r:zn,l:null}}function Us(o){var e=go,t=e.e;if(t!==null){e.e=null;for(var i of t)g6(i)}return o!==void 0&&(e.x=o),e.i=!0,go=e.p,o??{}}function Gk(){return!0}let Ed=[];function Kk(){var o=Ed;Ed=[],N7(o)}function _c(o){if(Ed.length===0&&!dg){var e=Ed;queueMicrotask(()=>{e===Ed&&Kk()})}Ed.push(o)}function vI(){for(;Ed.length>0;)Kk()}function Zk(o){var e=zn;if(e===null)return Hn.f|=vc,o;if((e.f&hf)===0&&(e.f&W0)===0)throw o;uc(o,e)}function uc(o,e){for(;e!==null;){if((e.f&m1)!==0){if((e.f&hf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const _I=-7169;function Ws(o,e){o.f=o.f&_I|e}function r9(o){(o.f&Tr)!==0||o.deps===null?Ws(o,to):Ws(o,qa)}function Xk(o){if(o!==null)for(const e of o)(e.f&po)===0||(e.f&Fu)===0||(e.f^=Fu,Xk(e.deps))}function Yk(o,e,t){(o.f&so)!==0?e.add(o):(o.f&qa)!==0&&t.add(o),Xk(o.deps),Ws(o,to)}let mx=!1;function bI(o){var e=mx;try{return mx=!1,[o(),mx]}finally{mx=e}}let aC=null,_h=null,rn=null,cg=null,co=null,C1=null,dg=!1,lC=!1,Uh=null,im=null;var h8=0;let CI=1;var h0,ac,Dd,f0,g0,p0,al,x0,jo,mp,ll,Zr,ka,m0,Ad,ds,E1,qf,y1,Qk,Jk,Mh,EI,Gf;const Gv=class Gv{constructor(){Cn(this,ds);Bn(this,"id",CI++);Cn(this,h0,!1);Bn(this,"linked",!0);Cn(this,ac,null);Cn(this,Dd,null);Bn(this,"async_deriveds",new Map);Bn(this,"current",new Map);Bn(this,"previous",new Map);Cn(this,f0,new Set);Cn(this,g0,new Set);Cn(this,p0,0);Cn(this,al,new Map);Cn(this,x0,null);Cn(this,jo,[]);Cn(this,mp,[]);Cn(this,ll,new Set);Cn(this,Zr,new Set);Cn(this,ka,new Map);Cn(this,m0,new Set);Bn(this,"is_fork",!1);Cn(this,Ad,!1);_h===null?aC=_h=this:(En(_h,Dd,this),En(this,ac,_h)),_h=this}skip_effect(e){De(this,ka).has(e)||De(this,ka).set(e,{d:[],m:[]}),De(this,m0).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=De(this,ka).get(e);if(i){De(this,ka).delete(e);for(var n of i.d)Ws(n,so),t(n);for(n of i.m)Ws(n,qa),t(n)}De(this,m0).add(e)}capture(e,t,i=!1){e.v!==Js&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&vc)===0&&(this.current.set(e,[t,i]),co==null||co.set(e,t)),this.is_fork||(e.v=t)}activate(){rn=this}deactivate(){rn=null,co=null}flush(){try{lC=!0,rn=this,ts(this,ds,qf).call(this)}finally{h8=0,C1=null,Uh=null,im=null,lC=!1,rn=null,co=null,Md.clear()}}discard(){var e;for(const t of De(this,g0))t(this);De(this,g0).clear(),ts(this,ds,Gf).call(this),(e=De(this,x0))==null||e.resolve()}register_created_effect(e){De(this,mp).push(e)}increment(e,t){if(En(this,p0,De(this,p0)+1),e){let i=De(this,al).get(t)??0;De(this,al).set(t,i+1)}}decrement(e,t){if(En(this,p0,De(this,p0)-1),e){let i=De(this,al).get(t)??0;i===1?De(this,al).delete(t):De(this,al).set(t,i-1)}De(this,Ad)||(En(this,Ad,!0),_c(()=>{En(this,Ad,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)De(this,ll).add(i);for(const i of t)De(this,Zr).add(i);e.clear(),t.clear()}oncommit(e){De(this,f0).add(e)}ondiscard(e){De(this,g0).add(e)}settled(){return(De(this,x0)??En(this,x0,Wk())).promise}static ensure(){if(rn===null){const e=rn=new Gv;!lC&&!dg&&_c(()=>{De(e,h0)||e.flush()})}return rn}apply(){{co=null;return}}schedule(e){var n;if(C1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(W0|lb|zk))!==0&&(e.f&hf)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Uh!==null&&t===zn&&(Hn===null||(Hn.f&po)===0))return;if((i&(Wc|aa))!==0){if((i&to)===0)return;t.f^=to}}De(this,jo).push(t)}};h0=new WeakMap,ac=new WeakMap,Dd=new WeakMap,f0=new WeakMap,g0=new WeakMap,p0=new WeakMap,al=new WeakMap,x0=new WeakMap,jo=new WeakMap,mp=new WeakMap,ll=new WeakMap,Zr=new WeakMap,ka=new WeakMap,m0=new WeakMap,Ad=new WeakMap,ds=new WeakSet,E1=function(){if(this.is_fork)return!0;for(const i of De(this,al).keys()){for(var e=i,t=!1;e.parent!==null;){if(De(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},qf=function(){var d,u,f,g;En(this,h0,!0),h8++>1e3&&(ts(this,ds,Gf).call(this),wI());for(const p of De(this,ll))De(this,Zr).delete(p),Ws(p,so),this.schedule(p);for(const p of De(this,Zr))Ws(p,qa),this.schedule(p);const e=De(this,jo);En(this,jo,[]),this.apply();var t=Uh=[],i=[],n=im=[];for(const p of e)try{ts(this,ds,y1).call(this,p,t,i)}catch(C){throw i6(p),ts(this,ds,E1).call(this)||this.discard(),C}if(rn=null,n.length>0){var s=Gv.ensure();for(const p of n)s.schedule(p)}if(Uh=null,im=null,ts(this,ds,E1).call(this)){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t);for(const[p,C]of De(this,ka))t6(p,C);n.length>0&&ts(d=rn,ds,qf).call(d);return}const r=ts(this,ds,Qk).call(this);if(r){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t),ts(u=r,ds,Jk).call(u,this);return}De(this,ll).clear(),De(this,Zr).clear();for(const p of De(this,f0))p(this);De(this,f0).clear(),cg=this,f8(i),f8(t),cg=null,(f=De(this,x0))==null||f.resolve();var a=rn;if(De(this,p0)===0&&(De(this,jo).length===0||a!==null)&&ts(this,ds,Gf).call(this),De(this,jo).length>0)if(a!==null){const p=a;De(p,jo).push(...De(this,jo).filter(C=>!De(p,jo).includes(C)))}else a=this;a!==null&&ts(g=a,ds,qf).call(g)},y1=function(e,t,i){e.f^=to;for(var n=e.first;n!==null;){var s=n.f,r=(s&(aa|Wc))!==0,a=r&&(s&to)!==0,d=a||(s&Mo)!==0||De(this,ka).has(n);if(!d&&n.fn!==null){r?n.f^=to:(s&W0)!==0?t.push(n):zp(n)&&((s&oa)!==0&&De(this,Zr).add(n),$0(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},Qk=function(){for(var e=De(this,ac);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=De(e,ac)}return null},Jk=function(e){var i;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const r=this.async_deriveds.get(n);r&&s.promise.then(r.resolve).catch(r.reject)}this.transfer_effects(De(e,ll),De(e,Zr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&po)!==0)t(d);else{var a=d;r&(l0|oa)&&!this.async_deriveds.has(a)&&(De(this,Zr).delete(a),Ws(a,so),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),ts(i=e,ds,Gf).call(i),rn=this,ts(this,ds,qf).call(this)},Mh=function(e){for(var t=0;t<e.length;t+=1)Yk(e[t],De(this,ll),De(this,Zr))},EI=function(){var f;for(let g=aC;g!==null;g=De(g,Dd)){var e=g.id<this.id,t=[];for(const[p,[C,b]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&C!==i)g.current.set(p,[C,b]);else continue}t.push(p)}if(e)for(const[p,C]of this.async_deriveds){const b=g.async_deriveds.get(p);b&&C.promise.then(b.resolve).catch(b.reject)}if(De(g,h0)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of De(this,m0))g.unskip_effect(p,C=>{var b;(C.f&(oa|l0))!==0?g.schedule(C):ts(b=g,ds,Mh).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)e6(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,C])=>{const b=this.current.get(p);return b?b[0]!==C[0]||b[1]!==C[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of De(this,mp))(p.f&(Mr|Mo|Mm))===0&&a9(p,d,r)&&((p.f&(l0|oa))!==0?(Ws(p,so),g.schedule(p)):De(g,ll).add(p));if(De(g,jo).length>0&&!De(g,Ad)){g.apply();for(var u of De(g,jo))ts(f=g,ds,y1).call(f,u,[],[]);En(g,jo,[])}g.deactivate()}}}},Gf=function(){if(this.linked){var e=De(this,ac),t=De(this,Dd);e===null?aC=t:En(e,Dd,t),t===null?_h=e:En(t,ac,e),this.linked=!1}};let Lu=Gv;function yI(o){var e=dg;dg=!0;try{for(var t;;){if(vI(),rn===null)return t;rn.flush()}}finally{dg=e}}function wI(){try{Z7()}catch(o){uc(o,C1)}}let qr=null;function f8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Mr|Mo))===0&&zp(i)&&(qr=new Set,$0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&m6(i),(qr==null?void 0:qr.size)>0)){Md.clear();for(const n of qr){if((n.f&(Mr|Mo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)qr.has(r)&&(qr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Mr|Mo))===0&&$0(d)}}qr.clear()}}qr=null}}function e6(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&po)!==0?e6(n,e,t,i):(s&(l0|oa))!==0&&(s&so)===0&&a9(n,e,i)&&(Ws(n,so),l9(n))}}function a9(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(Tm.call(e,n))return!0;if((n.f&po)!==0&&a9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function l9(o){rn.schedule(o)}function t6(o,e){if(!((o.f&aa)!==0&&(o.f&to)!==0)){(o.f&so)!==0?e.d.push(o):(o.f&qa)!==0&&e.m.push(o),Ws(o,to);for(var t=o.first;t!==null;)t6(t,e),t=t.next}}function i6(o){Ws(o,to);for(var e=o.first;e!==null;)i6(e),e=e.next}function SI(o){let e=0,t=Iu(0),i;return()=>{h9()&&(c(t),ub(()=>(e===0&&(i=Hl(()=>o(()=>ug(t)))),e+=1,()=>{_c(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ug(t))})})))}}var DI=z0|ff;function AI(o,e,t,i){new kI(o,e,t,i)}var Sr,Bw,Dr,kd,$o,Ar,Lo,ar,cl,Bd,lc,v0,vp,_p,dl,Kv,zs,BI,FI,LI,w1,nm,sm,S1,D1;class kI{constructor(e,t,i,n){Cn(this,zs);Bn(this,"parent");Bn(this,"is_pending",!1);Bn(this,"transform_error");Cn(this,Sr);Cn(this,Bw,null);Cn(this,Dr);Cn(this,kd);Cn(this,$o);Cn(this,Ar,null);Cn(this,Lo,null);Cn(this,ar,null);Cn(this,cl,null);Cn(this,Bd,0);Cn(this,lc,0);Cn(this,v0,!1);Cn(this,vp,new Set);Cn(this,_p,new Set);Cn(this,dl,null);Cn(this,Kv,SI(()=>(En(this,dl,Iu(De(this,Bd))),()=>{En(this,dl,null)})));var s;En(this,Sr,e),En(this,Dr,t),En(this,kd,r=>{var a=zn;a.b=this,a.f|=m1,i(r)}),this.parent=zn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),En(this,$o,p9(()=>{ts(this,zs,w1).call(this)},DI))}defer_effect(e){Yk(e,De(this,vp),De(this,_p))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!De(this,Dr).pending}update_pending_count(e,t){ts(this,zs,S1).call(this,e,t),En(this,Bd,De(this,Bd)+e),!(!De(this,dl)||De(this,v0))&&(En(this,v0,!0),_c(()=>{En(this,v0,!1),De(this,dl)&&j0(De(this,dl),De(this,Bd))}))}get_effect_pending(){return De(this,Kv).call(this),c(De(this,dl))}error(e){if(!De(this,Dr).onerror&&!De(this,Dr).failed)throw e;rn!=null&&rn.is_fork?(De(this,Ar)&&rn.skip_effect(De(this,Ar)),De(this,Lo)&&rn.skip_effect(De(this,Lo)),De(this,ar)&&rn.skip_effect(De(this,ar)),rn.oncommit(()=>{ts(this,zs,D1).call(this,e)})):ts(this,zs,D1).call(this,e)}}Sr=new WeakMap,Bw=new WeakMap,Dr=new WeakMap,kd=new WeakMap,$o=new WeakMap,Ar=new WeakMap,Lo=new WeakMap,ar=new WeakMap,cl=new WeakMap,Bd=new WeakMap,lc=new WeakMap,v0=new WeakMap,vp=new WeakMap,_p=new WeakMap,dl=new WeakMap,Kv=new WeakMap,zs=new WeakSet,BI=function(){try{En(this,Ar,kr(()=>De(this,kd).call(this,De(this,Sr))))}catch(e){this.error(e)}},FI=function(e){const t=De(this,Dr).failed;t&&En(this,ar,kr(()=>{t(De(this,Sr),()=>e,()=>()=>{})}))},LI=function(){const e=De(this,Dr).pending;e&&(this.is_pending=!0,En(this,Lo,kr(()=>e(De(this,Sr)))),_c(()=>{var t=En(this,cl,document.createDocumentFragment()),i=bl();t.append(i),En(this,Ar,ts(this,zs,sm).call(this,()=>kr(()=>De(this,kd).call(this,i)))),De(this,lc)===0&&(De(this,Sr).before(t),En(this,cl,null),Nd(De(this,Lo),()=>{En(this,Lo,null)}),ts(this,zs,nm).call(this,rn))}))},w1=function(){try{if(this.is_pending=this.has_pending_snippet(),En(this,lc,0),En(this,Bd,0),En(this,Ar,kr(()=>{De(this,kd).call(this,De(this,Sr))})),De(this,lc)>0){var e=En(this,cl,document.createDocumentFragment());m9(De(this,Ar),e);const t=De(this,Dr).pending;En(this,Lo,kr(()=>t(De(this,Sr))))}else ts(this,zs,nm).call(this,rn)}catch(t){this.error(t)}},nm=function(e){this.is_pending=!1,e.transfer_effects(De(this,vp),De(this,_p))},sm=function(e){var t=zn,i=Hn,n=go;Ga(De(this,$o)),Or(De(this,$o)),V0(De(this,$o).ctx);try{return Lu.ensure(),e()}catch(s){return Zk(s),null}finally{Ga(t),Or(i),V0(n)}},S1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&ts(i=this.parent,zs,S1).call(i,e,t);return}En(this,lc,De(this,lc)+e),De(this,lc)===0&&(ts(this,zs,nm).call(this,t),De(this,Lo)&&Nd(De(this,Lo),()=>{En(this,Lo,null)}),De(this,cl)&&(De(this,Sr).before(De(this,cl)),En(this,cl,null)))},D1=function(e){De(this,Ar)&&(Jo(De(this,Ar)),En(this,Ar,null)),De(this,Lo)&&(Jo(De(this,Lo)),En(this,Lo,null)),De(this,ar)&&(Jo(De(this,ar)),En(this,ar,null));var t=De(this,Dr).onerror;let i=De(this,Dr).failed;var n=!1,s=!1;const r=()=>{if(n){pI();return}n=!0,s&&eI(),De(this,ar)!==null&&Nd(De(this,ar),()=>{En(this,ar,null)}),ts(this,zs,sm).call(this,()=>{ts(this,zs,w1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){uc(u,De(this,$o)&&De(this,$o).parent)}i&&En(this,ar,ts(this,zs,sm).call(this,()=>{try{return kr(()=>{var u=zn;u.b=this,u.f|=m1,i(De(this,Sr),()=>d,()=>r)})}catch(u){return uc(u,De(this,$o).parent),null}}))};_c(()=>{var d;try{d=this.transform_error(e)}catch(u){uc(u,De(this,$o)&&De(this,$o).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>uc(u,De(this,$o)&&De(this,$o).parent)):a(d)})};function II(o,e,t,i){const n=Hg;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=zn,a=PI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Mr)===0){a();try{i(p)}catch(C){uc(C,r)}Nm()}}var f=n6();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>TI(p))).then(p=>u([...e.map(n),...p])).catch(p=>uc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Nm()}):g()}function PI(){var o=zn,e=Hn,t=go,i=rn;return function(s=!0){Ga(o),Or(e),V0(t),s&&(o.f&Mr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Nm(o=!0){Ga(null),Or(null),V0(null),o&&(rn==null||rn.deactivate())}function n6(){var o=zn,e=o.b,t=rn,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 Hg(o){var e=po|so;return zn!==null&&(zn.f|=ff),{ctx:go,deps:null,effects:null,equals:Uk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:zn,ac:null}}const vx=Symbol("obsolete");function TI(o,e,t){let i=zn;i===null&&$7();var n=void 0,s=Iu(Js),r=!Hn,a=new Set;return qI(()=>{var C,b;var d=zn,u=Wk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==cb&&u.reject(y)}).finally(Nm)}catch(y){u.reject(y),Nm()}var f=rn;if(r){if((d.f&hf)!==0)var g=n6();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(vx);else for(const y of a.values())y.reject(vx);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==vx&&(f.activate(),w?(s.f|=vc,j0(s,w)):((s.f&vc)!==0&&(s.f^=vc),j0(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),f9(()=>{for(const d of a)d.reject(vx)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Lt(o){const e=Hg(o);return b6(e),e}function c9(o){const e=Hg(o);return e.equals=qk,e}function MI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Jo(e[t])}}function d9(o){var e,t=zn,i=o.parent;if(!kl&&i!==null&&o.v!==Js&&(i.f&(Mr|Mo))!==0)return fI(),o.v;Ga(i);try{o.f&=~Fu,MI(o),e=w6(o)}finally{Ga(t)}return e}function s6(o){var e=d9(o);if(!o.equals(e)&&(o.wv=E6(),(!(rn!=null&&rn.is_fork)||o.deps===null)&&(rn!==null?(rn.capture(o,e,!0),cg==null||cg.capture(o,e,!0)):o.v=e,o.deps===null))){Ws(o,to);return}kl||(co!==null?(h9()||rn!=null&&rn.is_fork)&&co.set(o,e):r9(o))}function RI(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(cb),i.fn!==null&&(i.teardown=ab),i.ac=null,Wg(i,0),x9(i))}function o6(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&$0(e)}let Om=new Set;const Md=new Map;let r6=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:Uk,rv:0,wv:0};return t}function F(o,e){const t=Iu(o);return b6(t),t}function NI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=qk),i}function m(o,e,t=!1){Hn!==null&&(!ra||(Hn.f&Mm)!==0)&&Gk()&&(Hn.f&(po|oa|l0|Mm))!==0&&(Va===null||!Va.has(o))&&J7();let i=t?wi(e):e;return j0(o,i,im)}function j0(o,e,t=null){if(!o.equals(e)){Md.set(o,kl?e:o.v);var i=Lu.ensure();if(i.capture(o,e),(o.f&po)!==0){const n=o;(o.f&so)!==0&&d9(n),co===null&&r9(n)}o.wv=E6(),a6(o,so,t),zn!==null&&(zn.f&to)!==0&&(zn.f&(aa|Wc))===0&&(wr===null?KI([o]):wr.push(o)),!i.is_fork&&Om.size>0&&!r6&&OI()}return e}function OI(){r6=!1;for(const o of Om){(o.f&to)!==0&&Ws(o,qa);let e;try{e=zp(o)}catch{e=!0}e&&$0(o)}Om.clear()}function g8(o,e=1){var t=c(o),i=e===1?t++:t--;return m(o,t),i}function ug(o){m(o,o.v+1)}function a6(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,d=(a&so)===0;if(d&&Ws(r,e),(a&Mm)!==0)Om.add(r);else if((a&po)!==0){var u=r;co==null||co.delete(u),(a&Fu)===0&&(a&Tr&&(zn===null||(zn.f&Rm)===0)&&(r.f|=Fu),a6(u,qa,t))}else if(d){var f=r;(a&oa)!==0&&qr!==null&&qr.add(f),t!==null?t.push(f):l9(f)}}}function wi(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Hk(o);if(e!==M7&&e!==R7)return o;var t=new Map,i=o9(o),n=F(0),s=Od,r=a=>{if(Od===s)return a();var d=Hn,u=Od;Or(null),v8(s);var f=a();return Or(d),v8(u),f};return i&&t.set("length",F(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Y7();var f=t.get(d);return f===void 0?r(()=>{var g=F(u.value);return t.set(d,g),g}):m(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>F(Js));t.set(d,f),ug(n)}}else m(u,Js),ug(n);return!0},get(a,d,u){var C;if(d===Td)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=a0(a,d))!=null&&C.writable)&&(f=r(()=>{var b=wi(g?a[d]:Js),y=F(b);return y}),t.set(d,f)),f!==void 0){var p=c(f);return p===Js?void 0:p}return Reflect.get(a,d,u)},getOwnPropertyDescriptor(a,d){var u=Reflect.getOwnPropertyDescriptor(a,d);if(u&&"value"in u){var f=t.get(d);f&&(u.value=c(f))}else if(u===void 0){var g=t.get(d),p=g==null?void 0:g.v;if(g!==void 0&&p!==Js)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===Td)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Js||Reflect.has(a,d);if(u!==void 0||zn!==null&&(!f||(p=a0(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?wi(a[d]):Js,b=F(C);return b}),t.set(d,u));var g=c(u);if(g===Js)return!1}return f},set(a,d,u,f){var M;var g=t.get(d),p=d in a;if(i&&d==="length")for(var C=u;C<g.v;C+=1){var b=t.get(C+"");b!==void 0?m(b,Js):C in a&&(b=r(()=>F(Js)),t.set(C+"",b))}if(g===void 0)(!p||(M=a0(a,d))!=null&&M.writable)&&(g=r(()=>F(void 0)),m(g,wi(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>wi(u));m(g,y)}var w=Reflect.getOwnPropertyDescriptor(a,d);if(w!=null&&w.set&&w.set.call(f,u),!p){if(i&&typeof d=="string"){var A=t.get("length"),I=Number(d);Number.isInteger(I)&&I>=A.v&&m(A,I+1)}ug(n)}return!0},ownKeys(a){c(n);var d=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Js});for(var[u,f]of t)f.v!==Js&&!(u in a)&&d.push(u);return d},setPrototypeOf(){Q7()}})}function p8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function HI(o,e){return Object.is(p8(o),p8(e))}var Rd,l6,c6,d6,u6;function WI(){if(Rd===void 0){Rd=window,l6=document,c6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;d6=a0(e,"firstChild").get,u6=a0(e,"nextSibling").get,d8(o)&&(o[_1]=void 0,o[em]=null,o[b1]=void 0,o.__e=void 0),d8(t)&&(t[Uf]=void 0)}}function bl(o=""){return document.createTextNode(o)}function Na(o){return d6.call(o)}function Wp(o){return u6.call(o)}function _(o,e){return Na(o)}function bt(o,e=!1){{var t=Na(o);return t instanceof Comment&&t.data===""?Wp(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Wp(i);return i}function zI(o){o.textContent=""}function h6(){return!1}function f6(o,e,t){return e==null||e===$k?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let x8=!1;function VI(){x8||(x8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[tm])==null||e.call(t)})},{capture:!0}))}function db(o){var e=Hn,t=zn;Or(null),Ga(null);try{return o()}finally{Or(e),Ga(t)}}function u9(o,e,t,i=t){o.addEventListener(e,()=>db(t));const n=o[tm];n?o[tm]=()=>{n(),i(!0)}:o[tm]=()=>i(!0),VI()}function jI(o){zn===null&&(Hn===null&&K7(),G7()),kl&&q7()}function $I(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ol(o,e){var t=zn;t!==null&&(t.f&Mo)!==0&&(o|=Mo);var i={ctx:go,deps:null,nodes:null,f:o|so|Tr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};rn==null||rn.register_created_effect(i);var n=i;if((o&W0)!==0)Uh!==null?Uh.push(i):Lu.ensure().schedule(i);else if(e!==null){try{$0(i)}catch(r){throw Jo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&ff)===0&&(n=n.first,(o&oa)!==0&&(o&z0)!==0&&n!==null&&(n.f|=z0))}if(n!==null&&(n.parent=t,t!==null&&$I(n,t),Hn!==null&&(Hn.f&po)!==0&&(o&Wc)===0)){var s=Hn;(s.effects??(s.effects=[])).push(n)}return i}function h9(){return Hn!==null&&!ra}function f9(o){const e=Ol(lb,null);return Ws(e,to),e.teardown=o,e}function Kn(o){jI();var e=zn.f,t=!Hn&&(e&aa)!==0&&go!==null&&!go.i;if(t){var i=go;(i.e??(i.e=[])).push(o)}else return g6(o)}function g6(o){return Ol(W0|W7,o)}function UI(o){Lu.ensure();const e=Ol(Wc|ff,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{Jo(e),i(void 0)}):(Jo(e),i(void 0))})}function g9(o){return Ol(W0,o)}function qI(o){return Ol(l0|ff,o)}function ub(o,e=0){return Ol(lb|e,o)}function z(o,e=[],t=[],i=[]){II(i,e,t,n=>{Ol(lb,()=>o(...n.map(c)))})}function p9(o,e=0){var t=Ol(oa|e,o);return t}function kr(o){return Ol(aa|ff,o)}function p6(o){var e=o.teardown;if(e!==null){const t=kl,i=Hn;m8(!0),Or(null);try{e.call(null)}finally{m8(t),Or(i)}}}function x9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&db(()=>{n.abort(cb)});var i=t.next;(t.f&Wc)!==0?t.parent=null:Jo(t,e),t=i}}function GI(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&aa)===0&&Jo(e),e=t}}function Jo(o,e=!0){var t=!1;(e||(o.f&H7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(x6(o.nodes.start,o.nodes.end),t=!0),Ws(o,v1),x9(o,e&&!t),Wg(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();p6(o),o.f^=v1,o.f|=Mr;var n=o.parent;n!==null&&n.first!==null&&m6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function x6(o,e){for(;o!==null;){var t=o===e?null:Wp(o);o.remove(),o=t}}function m6(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 Nd(o,e,t=!0){var i=[];v6(o,i,!0);var n=()=>{t&&Jo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function v6(o,e,t){if((o.f&Mo)===0){o.f^=Mo;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&Wc)===0){var r=(n.f&z0)!==0||(n.f&aa)!==0&&(o.f&oa)!==0;v6(n,e,r?t:!1)}n=s}}}function Hm(o){_6(o,!0)}function _6(o,e){if((o.f&Mo)!==0){o.f^=Mo,(o.f&to)===0&&(Ws(o,so),Lu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&z0)!==0||(t.f&aa)!==0;_6(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 m9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Wp(t);e.append(t),t=n}}let om=!1,kl=!1;function m8(o){kl=o}let Hn=null,ra=!1;function Or(o){Hn=o}let zn=null;function Ga(o){zn=o}let Va=null;function b6(o){Hn!==null&&(Va??(Va=new Set)).add(o)}let Uo=null,or=0,wr=null;function KI(o){wr=o}let C6=1,yd=0,Od=yd;function v8(o){Od=o}function E6(){return++C6}function zp(o){var e=o.f;if((e&so)!==0)return!0;if(e&po&&(o.f&=~Fu),(e&qa)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(zp(s)&&s6(s),s.wv>o.wv)return!0}(e&Tr)!==0&&co===null&&Ws(o,to)}return!1}function y6(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Va!==null&&Va.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&po)!==0?y6(s,e,!1):e===s&&(t?Ws(s,so):(s.f&to)!==0&&Ws(s,qa),l9(s))}}function w6(o){var y;var e=Uo,t=or,i=wr,n=Hn,s=Va,r=go,a=ra,d=Od,u=o.f;Uo=null,or=0,wr=null,Hn=(u&(aa|Wc))===0?o:null,Va=null,V0(o.ctx),ra=!1,Od=++yd,o.ac!==null&&(db(()=>{o.ac.abort(cb)}),o.ac=null);try{o.f|=Rm;var f=o.fn,g=f();o.f|=hf;var p=o.deps,C=rn==null?void 0:rn.is_fork;if(Uo!==null){var b;if(C||Wg(o,or),p!==null&&or>0)for(p.length=or+Uo.length,b=0;b<Uo.length;b++)p[or+b]=Uo[b];else o.deps=p=Uo;if(h9()&&(o.f&Tr)!==0)for(b=or;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&or<p.length&&(Wg(o,or),p.length=or);if(Gk()&&wr!==null&&!ra&&p!==null&&(o.f&(po|qa|so))===0)for(b=0;b<wr.length;b++)y6(wr[b],o);if(n!==null&&n!==o){if(yd++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=yd;if(e!==null)for(const w of e)w.rv=yd;wr!==null&&(i===null?i=wr:i.push(...wr))}return(o.f&vc)!==0&&(o.f^=vc),g}catch(w){return Zk(w)}finally{o.f^=Rm,Uo=e,or=t,wr=i,Hn=n,Va=s,V0(r),ra=a,Od=d}}function ZI(o,e){let t=e.reactions;if(t!==null){var i=I7.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&po)!==0&&(Uo===null||!Tm.call(Uo,e))){var s=e;(s.f&Tr)!==0&&(s.f^=Tr,s.f&=~Fu),s.v!==Js&&r9(s),RI(s),Wg(s,0)}}function Wg(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)ZI(o,t[i])}function $0(o){var e=o.f;if((e&Mr)===0){Ws(o,to);var t=zn,i=om;zn=o,om=!0;try{(e&(oa|zk))!==0?GI(o):x9(o),p6(o);var n=w6(o);o.teardown=typeof n=="function"?n:null,o.wv=C6;var s;Ok&&mI&&(o.f&so)!==0&&o.deps}finally{om=i,zn=t}}}async function hl(){await Promise.resolve(),yI()}function c(o){var e=o.f,t=(e&po)!==0;if(Hn!==null&&!ra){var i=zn!==null&&(zn.f&Mr)!==0;if(!i&&(Va===null||!Va.has(o))){var n=Hn.deps;if((Hn.f&Rm)!==0)o.rv<yd&&(o.rv=yd,Uo===null&&n!==null&&n[or]===o?or++:Uo===null?Uo=[o]:Uo.push(o));else{Hn.deps??(Hn.deps=[]),Tm.call(Hn.deps,o)||Hn.deps.push(o);var s=o.reactions;s===null?o.reactions=[Hn]:Tm.call(s,Hn)||s.push(Hn)}}}if(kl&&Md.has(o))return Md.get(o);if(t){var r=o;if(kl){var a=r.v;return((r.f&to)===0&&r.reactions!==null||D6(r))&&(a=d9(r)),Md.set(r,a),a}var d=(r.f&Tr)===0&&!ra&&Hn!==null&&(om||(Hn.f&Tr)!==0),u=(r.f&hf)===0;zp(r)&&(d&&(r.f|=Tr),s6(r)),d&&!u&&(o6(r),S6(r))}if(co!=null&&co.has(o))return co.get(o);if((o.f&vc)!==0)throw o.v;return o.v}function S6(o){if(o.f|=Tr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&po)!==0&&(e.f&Tr)===0&&(o6(e),S6(e))}function D6(o){if(o.v===Js)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Md.has(e)||(e.f&po)!==0&&D6(e))return!0;return!1}function Hl(o){var e=ra;try{return ra=!0,o()}finally{ra=e}}const XI=["touchstart","touchmove"];function YI(o){return XI.includes(o)}const wd=Symbol("events"),A6=new Set,A1=new Set;function QI(o,e,t,i={}){function n(s){if(i.capture||k1.call(e,s),!s.cancelBubble)return db(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?_c(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function xs(o,e,t,i,n){var s={capture:i,passive:n},r=QI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&f9(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[wd]??(e[wd]={}))[o]=t}function Ys(o){for(var e=0;e<o.length;e++)A6.add(o[e]);for(var t of A1)t(o)}let _8=null;function k1(o){var y,w;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;_8=o;var r=0,a=_8===o&&o[wd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[wd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){P7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=Hn,g=zn;Or(null),Ga(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[wd])==null?void 0:w[i];b!=null&&(!s.disabled||o.target===s)&&b.call(s,o)}catch(A){p?C.push(A):p=A}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let A of C)queueMicrotask(()=>{throw A});throw p}}finally{o[wd]=e,delete o.currentTarget,Or(f),Ga(g)}}}var rA;const cC=((rA=globalThis==null?void 0:globalThis.window)==null?void 0:rA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function JI(o){return(cC==null?void 0:cC.createHTML(o))??o}function k6(o){var e=f6("template");return e.innerHTML=JI(o.replaceAll("<!>","<!---->")),e.content}function Pu(o,e){var t=zn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function B(o,e){var t=(e&cI)!==0,i=(e&dI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=k6(s?o:"<!>"+o),t||(n=Na(n)));var r=i||c6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Na(r),d=r.lastChild;Pu(a,d)}else Pu(r,r);return r}}function eP(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=k6(n),a=Na(r);s=Na(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function hb(o,e){return eP(o,e,"svg")}function oo(o=""){{var e=bl(o+"");return Pu(e,e),e}}function Ss(){var o=document.createDocumentFragment(),e=document.createComment(""),t=bl();return o.append(e,t),Pu(e,t),o}function D(o,e){o!==null&&o.before(e)}function W(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Uf]??(o[Uf]=o.nodeValue))&&(o[Uf]=t,o.nodeValue=`${t}`)}function tP(o,e){return iP(o,e)}const _x=new Map;function iP(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){WI();var d=void 0,u=UI(()=>{var f=t??e.appendChild(bl());AI(f,{pending:()=>{}},C=>{$s({});var b=go;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},Us()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var y=C[b];if(!g.has(y)){g.add(y);var w=YI(y);for(const M of[e,document]){var A=_x.get(M);A===void 0&&(A=new Map,_x.set(M,A));var I=A.get(y);I===void 0?(M.addEventListener(y,k1,{passive:w}),A.set(y,1)):A.set(y,I+1)}}}};return p(rb(A6)),A1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=_x.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,k1),b.delete(C),b.size===0&&_x.delete(A)):b.set(C,y)}A1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return nP.set(d,u),d}let nP=new WeakMap;var Xr,Ba,lr,Fd,bp,Cp,Zv;class sP{constructor(e,t=!0){Bn(this,"anchor");Cn(this,Xr,new Map);Cn(this,Ba,new Map);Cn(this,lr,new Map);Cn(this,Fd,new Set);Cn(this,bp,!0);Cn(this,Cp,e=>{if(De(this,Xr).has(e)){var t=De(this,Xr).get(e),i=De(this,Ba).get(t);if(i)Hm(i),De(this,Fd).delete(t);else{var n=De(this,lr).get(t);n&&(Hm(n.effect),De(this,Ba).set(t,n.effect),De(this,lr).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of De(this,Xr)){if(De(this,Xr).delete(s),s===e)break;const a=De(this,lr).get(r);a&&(Jo(a.effect),De(this,lr).delete(r))}for(const[s,r]of De(this,Ba)){if(s===t||De(this,Fd).has(s))continue;const a=()=>{if(Array.from(De(this,Xr).values()).includes(s)){var u=document.createDocumentFragment();m9(r,u),u.append(bl()),De(this,lr).set(s,{effect:r,fragment:u})}else Jo(r);De(this,Fd).delete(s),De(this,Ba).delete(s)};De(this,bp)||!i?(De(this,Fd).add(s),Nd(r,a,!1)):a()}}});Cn(this,Zv,e=>{De(this,Xr).delete(e);const t=Array.from(De(this,Xr).values());for(const[i,n]of De(this,lr))t.includes(i)||(Jo(n.effect),De(this,lr).delete(i))});this.anchor=e,En(this,bp,t)}ensure(e,t){var i=rn,n=h6();if(t&&!De(this,Ba).has(e)&&!De(this,lr).has(e))if(n){var s=document.createDocumentFragment(),r=bl();s.append(r),De(this,lr).set(e,{effect:kr(()=>t(r)),fragment:s})}else De(this,Ba).set(e,kr(()=>t(this.anchor)));if(De(this,Xr).set(i,e),n){for(const[a,d]of De(this,Ba))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of De(this,lr))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(De(this,Cp)),i.ondiscard(De(this,Zv))}else De(this,Cp).call(this,i)}}Xr=new WeakMap,Ba=new WeakMap,lr=new WeakMap,Fd=new WeakMap,bp=new WeakMap,Cp=new WeakMap,Zv=new WeakMap;function H(o,e,t=!1){var i=new sP(o),n=t?z0:0;function s(r,a){i.ensure(r,a)}p9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Hi(o,e){return e}function oP(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Nd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;B1(o,rb(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var d=i.length===0&&t!==null;if(d){var u=t,f=u.parentNode;zI(f),f.append(u),o.items.clear()}B1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function B1(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Ra;const r=document.createDocumentFragment();m9(s,r)}else Jo(e[n],t)}}var b8;function ii(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&jk)!==0;if(d){var u=o;r=u.appendChild(bl())}var f=null,g=c9(()=>{var M=t();return o9(M)?M:M==null?[]:rb(M)}),p,C=new Map,b=!0;function y(M){(I.effect.f&Mr)===0&&(I.pending.delete(M),I.fallback=f,rP(I,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?Hm(f):(f.f^=Ra,Kf(f,null,r)):Nd(f,()=>{f=null})))}function w(M){I.pending.delete(M)}var A=p9(()=>{p=c(g);for(var M=p.length,R=new Set,P=rn,V=h6(),j=0;j<M;j+=1){var ee=p[j],ae=i(ee,j),ge=b?null:a.get(ae);ge?(ge.v&&j0(ge.v,ee),ge.i&&j0(ge.i,j),V&&P.unskip_effect(ge.e)):(ge=aP(a,b?r:b8??(b8=bl()),ee,ae,j,n,e,t),b||(ge.e.f|=Ra),a.set(ae,ge)),R.add(ae)}if(M===0&&s&&!f&&(b?f=kr(()=>s(r)):(f=kr(()=>s(b8??(b8=bl()))),f.f|=Ra)),M>R.size&&U7(),!b)if(C.set(P,R),V){for(const[X,de]of a)R.has(X)||P.skip_effect(de.e);P.oncommit(y),P.ondiscard(w)}else y(P);c(g)}),I={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function Mf(o){for(;o!==null&&(o.f&aa)===0;)o=o.next;return o}function rP(o,e,t,i,n){var ge,X,de,be,re,ue,Ae,Me,ve;var s=(i&nI)!==0,r=e.length,a=o.items,d=Mf(o.effect.first),u,f=null,g,p=[],C=[],b,y,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],y=n(b,A),w=a.get(y).e,(w.f&Ra)===0&&((X=(ge=w.nodes)==null?void 0:ge.a)==null||X.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],y=n(b,A),w=a.get(y).e,o.outrogroups!==null)for(const Oe of o.outrogroups)Oe.pending.delete(w),Oe.done.delete(w);if((w.f&Mo)!==0&&(Hm(w),s&&((be=(de=w.nodes)==null?void 0:de.a)==null||be.unfix(),(g??(g=new Set)).delete(w))),(w.f&Ra)!==0)if(w.f^=Ra,w===d)Kf(w,null,t);else{var I=f?f.next:d;w===o.effect.last&&(o.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Kl(o,f,w),Kl(o,w,I),Kf(w,I,t),f=w,p=[],C=[],d=Mf(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var M=C[0],R;f=M.prev;var P=p[0],V=p[p.length-1];for(R=0;R<p.length;R+=1)Kf(p[R],M,t);for(R=0;R<C.length;R+=1)u.delete(C[R]);Kl(o,P.prev,V.next),Kl(o,f,P),Kl(o,V,M),d=M,f=V,A-=1,p=[],C=[]}else u.delete(w),Kf(w,d,t),Kl(o,w.prev,w.next),Kl(o,w,f===null?o.effect.first:f.next),Kl(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=Mf(d.next);if(d===null)continue}(w.f&Ra)===0&&p.push(w),f=w,d=Mf(w.next)}if(o.outrogroups!==null){for(const Oe of o.outrogroups)Oe.pending.size===0&&(B1(o,rb(Oe.done)),(re=o.outrogroups)==null||re.delete(Oe));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var j=[];if(u!==void 0)for(w of u)(w.f&Mo)===0&&j.push(w);for(;d!==null;)(d.f&Mo)===0&&d!==o.fallback&&j.push(d),d=Mf(d.next);var ee=j.length;if(ee>0){var ae=(i&jk)!==0&&r===0?t:null;if(s){for(A=0;A<ee;A+=1)(Ae=(ue=j[A].nodes)==null?void 0:ue.a)==null||Ae.measure();for(A=0;A<ee;A+=1)(ve=(Me=j[A].nodes)==null?void 0:Me.a)==null||ve.fix()}oP(o,j,ae)}}s&&_c(()=>{var Oe,Ue;if(g!==void 0)for(w of g)(Ue=(Oe=w.nodes)==null?void 0:Oe.a)==null||Ue.apply()})}function aP(o,e,t,i,n,s,r,a){var d=(r&tI)!==0?(r&sI)===0?NI(t,!1,!1):Iu(t):null,u=(r&iI)!==0?Iu(n):null;return{v:d,i:u,e:kr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function Kf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ra)===0?e.nodes.start:t;i!==null;){var r=Wp(i);if(s.before(i),i===n)return;i=r}}function Kl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function hc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;z(()=>{var u=zn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Pu(Na(d),d.lastChild);return}if(u.nodes!==null&&(x6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?uI:n?hI:void 0,g=f6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Pu(Na(p),p.lastChild),i||n)for(;Na(p);)r.before(Na(p));else r.before(p)}}})}function B6(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=B6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function lP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=B6(o))&&(i&&(i+=" "),i+=e);return i}function hg(o){return typeof o=="object"?lP(o):o??""}const C8=[...`
|
|
3
|
-
\r\f \v\uFEFF`];function cP(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||C8.includes(i[r-1]))&&(a===i.length||C8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function E8(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 dC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function dP(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,d=[];i&&d.push(...Object.keys(i).map(dC)),n&&d.push(...Object.keys(n).map(dC));var u=0,f=-1;const y=o.length;for(var g=0;g<y;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===y-1){if(f!==-1){var C=dC(o.substring(u,f).trim());if(!d.includes(C)){p!==";"&&g++;var b=o.substring(u,g).trim();t+=" "+b+";"}}u=g+1,f=-1}}}}return i&&(t+=E8(i)),n&&(t+=E8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function At(o,e,t,i,n,s){var r=o[_1];if(r!==t||r===void 0){var a=cP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[_1]=t}else if(s&&n!==s)for(var d in s){var u=!!s[d];(n==null||u!==!!n[d])&&o.classList.toggle(d,u)}return s}function uC(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 Co(o,e,t,i){var n=o[b1];if(n!==e){var s=dP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[b1]=e}else i&&(Array.isArray(i)?(uC(o,t==null?void 0:t[0],i[0]),uC(o,t==null?void 0:t[1],i[1],"important")):uC(o,t,i));return i}function Wm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!o9(e))return gI();for(var i of o.options)i.selected=e.includes(fg(i));return}for(i of o.options){var n=fg(i);if(HI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function F1(o){var e=new MutationObserver(()=>{Wm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),f9(()=>{e.disconnect()})}function Ls(o,e,t=e){var i=new WeakSet,n=!0;u9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),fg);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&fg(d)}t(a),o.__value=a,rn!==null&&i.add(rn)}),g9(()=>{var s=e();if(o===document.activeElement){var r=rn;if(i.has(r))return}if(Wm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=fg(a),t(s))}o.__value=s,n=!1}),F1(o)}function fg(o){return"__value"in o?o.__value:o.value}const uP=Symbol("is custom element"),hP=Symbol("is html"),fP=j7?"progress":"PROGRESS";function L1(o,e){var t=v9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==fP)||(o.value=e??"")}function Zo(o,e){var t=v9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function an(o,e,t,i){var n=v9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[V7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&gP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function v9(o){return o[em]??(o[em]={[uP]:o.nodeName.includes("-"),[hP]:o.namespaceURI===$k})}var y8=new Map;function gP(o){var e=o.getAttribute("is")||o.nodeName,t=y8.get(e);if(t)return t;y8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=T7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Hk(n)}return t}function Wt(o,e,t=e){var i=new WeakSet;u9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=hC(o)?fC(s):s,t(s),rn!==null&&i.add(rn),await hl(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,d=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===d&&u>d?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Hl(e)==null&&o.value&&(t(hC(o)?fC(o.value):o.value),rn!==null&&i.add(rn)),ub(()=>{var n=e();if(o===document.activeElement){var s=rn;if(i.has(s))return}hC(o)&&n===fC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function ws(o,e,t=e){u9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Hl(e)==null&&t(o.checked),ub(()=>{var i=e();o.checked=!!i})}function hC(o){var e=o.type;return e==="number"||e==="range"}function fC(o){return o===""?null:+o}var cc,_0,Ep,Xv,F6;const Yv=class Yv{constructor(e){Cn(this,Xv);Cn(this,cc,new WeakMap);Cn(this,_0);Cn(this,Ep);En(this,Ep,e)}observe(e,t){var i=De(this,cc).get(e)||new Set;return i.add(t),De(this,cc).set(e,i),ts(this,Xv,F6).call(this).observe(e,De(this,Ep)),()=>{var n=De(this,cc).get(e);n.delete(t),n.size===0&&(De(this,cc).delete(e),De(this,_0).unobserve(e))}}};cc=new WeakMap,_0=new WeakMap,Ep=new WeakMap,Xv=new WeakSet,F6=function(){return De(this,_0)??En(this,_0,new ResizeObserver(e=>{for(var t of e){Yv.entries.set(t.target,t);for(var i of De(this,cc).get(t.target)||[])i(t)}}))},Bn(Yv,"entries",new WeakMap);let I1=Yv;var pP=new I1({box:"border-box"});function xP(o,e,t){var i=pP.observe(o,()=>t(o[e]));g9(()=>(Hl(()=>t(o[e])),i))}function gC(o,e){return o===e||(o==null?void 0:o[Td])===e}function gs(o={},e,t,i){var n=go.r,s=zn;return g9(()=>{var r,a;return ub(()=>{r=a,a=[],Hl(()=>{gC(t(...a),o)||(e(o,...a),r&&gC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&v1;)d=d.parent;const u=()=>{a&&gC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function Tu(o,e,t,i){var R;var n=!0,s=(t&aI)!==0,r=(t&lI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Hg(i)),c(u)):(d&&(d=!1,a=r?Hl(i):i),a);let g;if(s){var p=Td in o||z7 in o;g=((R=a0(o,e))==null?void 0:R.set)??(p&&e in o?P=>o[e]=P:void 0)}var C,b=!1;s?[C,b]=bI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&(X7(),g(C)));var y;if(y=()=>{var P=o[e];return P===void 0?f():(d=!0,P)},(t&rI)===0)return y;if(g){var w=o.$$legacy;return(function(P,V){return arguments.length>0?((!V||w||b)&&g(V?y():P),P):y()})}var A=!1,I=((t&oI)!==0?Hg:c9)(()=>(A=!1,y()));s&&c(I);var M=zn;return(function(P,V){if(arguments.length>0){const j=V?c(I):s?wi(P):P;return m(I,j),A=!0,a!==void 0&&(a=j),P}return kl&&A||(M.f&Mr)!==0?I.v:c(I)})}function Xs(o){go===null&&Vk(),Kn(()=>{const e=Hl(o);if(typeof e=="function")return e})}function Vp(o){go===null&&Vk(),Xs(()=>()=>Hl(o))}const mP="5";var aA;typeof window<"u"&&((aA=window.__svelte??(window.__svelte={})).v??(aA.v=new Set)).add(mP);/*!-----------------------------------------------------------------------------
|
|
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 vP=Object.defineProperty,_P=Object.getOwnPropertyDescriptor,bP=Object.getOwnPropertyNames,CP=Object.prototype.hasOwnProperty,EP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of bP(e))!CP.call(o,n)&&n!==t&&vP(o,n,{get:()=>e[n],enumerable:!(i=_P(e,n))||i.enumerable});return o},yP=(o,e,t)=>(EP(o,e,"default"),t),jp={};yP(jp,cA);var wP=class{constructor(e,t,i){this._onDidChange=new jp.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)}},SP={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},DP={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},L6=new wP("json",SP,DP),AP=()=>I6().then(o=>o.getWorker());jp.languages.json={jsonDefaults:L6,getWorker:AP};function I6(){return lA(()=>import("./jsonMode-tUihOf0o.js"),__vite__mapDeps([0,1,2]))}jp.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});jp.languages.onLanguage("json",()=>{I6().then(o=>o.setupMode(L6))});/*!-----------------------------------------------------------------------------
|
|
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 kP=Object.defineProperty,BP=Object.getOwnPropertyDescriptor,FP=Object.getOwnPropertyNames,LP=Object.prototype.hasOwnProperty,IP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of FP(e))!LP.call(o,n)&&n!==t&&kP(o,n,{get:()=>e[n],enumerable:!(i=BP(e,n))||i.enumerable});return o},PP=(o,e,t)=>(IP(o,e,"default"),t),TP="5.4.5",U0={};PP(U0,cA);var P6=(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))(P6||{}),T6=(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))(T6||{}),M6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(M6||{}),R6=(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))(R6||{}),N6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(N6||{}),O6=class{constructor(o,e,t,i,n){this._onDidChange=new U0.Emitter,this._onDidExtraLibsChange=new U0.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)}},MP=TP,H6={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},W6=new O6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},H6),z6=new O6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},H6),RP=()=>fb().then(o=>o.getTypeScriptWorker()),NP=()=>fb().then(o=>o.getJavaScriptWorker());U0.languages.typescript={ModuleKind:P6,JsxEmit:T6,NewLineKind:M6,ScriptTarget:R6,ModuleResolutionKind:N6,typescriptVersion:MP,typescriptDefaults:W6,javascriptDefaults:z6,getTypeScriptWorker:RP,getJavaScriptWorker:NP};function fb(){return lA(()=>import("./tsMode-DuWnr8LR.js"),__vite__mapDeps([3,1,2]))}U0.languages.onLanguage("typescript",()=>fb().then(o=>o.setupTypeScript(W6)));U0.languages.onLanguage("javascript",()=>fb().then(o=>o.setupJavaScript(z6)));class OP extends Ao{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Si("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Qi.map,toggled:Ge.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Ge.has("isInDiffEditor"),menu:{when:Ge.has("isInDiffEditor"),id:si.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class V6 extends Ao{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Si("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Ge.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class j6 extends Ao{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Si("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Ge.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=Si("diffEditor","Diff Editor");class HP extends la{constructor(){super({id:"diffEditor.switchSide",title:Si("switchSide","Switch Side"),icon:Qi.arrowSwap,precondition:Ge.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,i){const n=gf(e);if(n instanceof yp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class WP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:Si("exitCompareMove","Exit Compare Move"),icon:Qi.close,precondition:q.comparingMovedCode,f1:!1,category:$p,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.exitCompareMove()}}class zP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Si("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Qi.fold,precondition:Ge.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.collapseAllUnchangedRegions()}}class VP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Si("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Qi.unfold,precondition:Ge.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.showAllUnchangedRegions()}}class P1 extends Ao{constructor(){super({id:"diffEditor.revert",title:Si("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=jP(e,t.originalUri,t.modifiedUri);i instanceof yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const $6=Si("accessibleDiffViewer","Accessible Diff Viewer"),Qv=class Qv extends Ao{constructor(){super({id:Qv.id,title:Si("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:$6,precondition:Ge.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerNext()}};Qv.id="editor.action.accessibleDiffViewer.next";let zg=Qv;const Jv=class Jv extends Ao{constructor(){super({id:Jv.id,title:Si("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:$6,precondition:Ge.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerPrev()}};Jv.id="editor.action.accessibleDiffViewer.prev";let zm=Jv;function jP(o,e,t){return o.get(Cs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function gf(o){const t=o.get(Cs).listDiffEditors(),i=dA();if(i)for(const n of t){const s=n.getContainerDomNode();if($P(s,i))return n}return null}function $P(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Vn(OP);Vn(V6);Vn(j6);Rr.appendMenuItem(si.EditorTitle,{command:{id:new j6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Ge.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Ge.has("isInDiffEditor")},order:11,group:"1_diff",when:Ge.and(q.diffEditorRenderSideBySideInlineBreakpointReached,Ge.has("isInDiffEditor"))});Rr.appendMenuItem(si.EditorTitle,{command:{id:new V6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Qi.move,toggled:JF.create("config.diffEditor.experimental.showMoves",!0),precondition:Ge.has("isInDiffEditor")},order:10,group:"1_diff",when:Ge.has("isInDiffEditor")});Vn(P1);for(const o of[{icon:Qi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Qi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(si.DiffEditorHunkToolbar,{command:{id:new P1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:Ge.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(si.DiffEditorSelectionToolbar,{command:{id:new P1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:Ge.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Vn(HP);Vn(WP);Vn(zP);Vn(VP);Rr.appendMenuItem(si.EditorTitle,{command:{id:zg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Ge.has("isInDiffEditor")},order:10,group:"2_diff",when:Ge.and(q.accessibleDiffViewerVisible.negate(),Ge.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",zg.id);Vn(zg);Qn.registerCommandAlias("editor.action.diffReview.prev",zm.id);Vn(zm);var UP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qP=function(o,e){return function(t,i){e(t,i,o)}},T1;const gb=new yn("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(T1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=gb.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration($i.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new lo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Nr(S("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection($i.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},T1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=T1=UP([qP(1,Ln)],zc);class GP extends vt{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class KP extends vt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:gb})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class ZP extends vt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:gb,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class XP extends vt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:gb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}hn(zc.ID,zc,4);Ie(GP);Ie(KP);Ie(ZP);Ie(XP);const YP=vi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class QP extends vt{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class JP extends vt{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Si("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=Mu.get(t))==null||s.selectToBracket(n)}}class eT extends vt{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class tT{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ic=class ic extends Rt{static get(e){return e.getContribution(ic.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ms(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new $i(r.lineNumber,r.column,r.lineNumber,r.column):new $i(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(J.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new $i(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(Ai.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new tT(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=_n.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Fs(YP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=_n.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;hn(Mu.ID,Mu,1);Ie(JP);Ie(QP);Ie(eT);Rr.appendMenuItem(si.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class iT{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 J(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new J(i,s,i,s),a)}else{const r=new J(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new J(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new $i(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new $i(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class U6 extends vt{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 iT(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class nT extends U6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class sT extends U6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Ie(nT);Ie(sT);class oT extends vt{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.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,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():eC.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=eC.leftPosition(i,f),p=eC.leftPosition(i,g),C=i.getValueInRange(J.fromPositions(p,g)),b=i.getValueInRange(J.fromPositions(g,f)),y=J.fromPositions(p,f);n.push(new wp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Ie(oT);const pb=(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 _9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function rT(o,e,t){const i={id:pb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class q6{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 ml.some(this,([i,n])=>n.asFile())&&t.push("files"),K6(Vm(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 Vm(e)}}function Vm(o){return o.toLowerCase()}function G6(o,e){return K6(Vm(o),e.map(Vm))}function K6(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 xb=Object.freeze({create:o=>uA(o.map(e=>e.toString())).join(`\r
|
|
14
|
-
`),split:o=>o.split(`\r
|
|
15
|
-
`),parse:o=>xb.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let ns=wa;const w8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class aT{}const lT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ca.add(lT.DragAndDropContribution,new aT);const wg=class wg{constructor(){}static getInstance(){return wg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};wg.INSTANCE=new wg;let M1=wg;function Z6(o){const e=new q6;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,_9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,cT(n))}}return e}function cT(o){const e=o.path?jn.parse(o.path):void 0;return rT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const dT=Object.freeze([w8.EDITORS,w8.FILES,t1.RESOURCES,t1.INTERNAL_URI_LIST]);function X6(o,e=!1){const t=Z6(o),i=t.get(t1.INTERNAL_URI_LIST);if(i)t.replace(Zs.uriList,i);else if(e||!t.has(Zs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(jn.file(a).toString()):n.push(jn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Zs.uriList,_9(xb.create(n)))}for(const n of dT)t.delete(n);return t}var b9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vg=function(o,e){return function(t,i){e(t,i,o)}};class C9{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 Sg=class Sg extends C9{constructor(){super(...arguments),this.kind=Sg.kind,this.dropMimeTypes=[Zs.text],this.pasteMimeTypes=[Zs.text]}async getEdit(e,t){const i=e.get(Zs.text);if(!i||e.has(Zs.uriList))return;const n=await i.asString();return{handledMimeType:Zs.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Sg.id="text",Sg.kind=new ns("text.plain");let Ru=Sg;class Y6 extends C9{constructor(){super(...arguments),this.kind=new ns("uri.absolute"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await Q6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===Eo.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?S("defaultDropProvider.uriList.uris","Insert Uris"):S("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?S("defaultDropProvider.uriList.paths","Insert Paths"):S("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Zs.uriList,insertText:s,title:r,kind:this.kind}}}let jm=class extends C9{constructor(e){super(),this._workspaceContextService=e,this.kind=new ns("uri.relative"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await Q6(e);if(!i.length||t.isCancellationRequested)return;const n=yl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?e3(r.uri,s):void 0}));if(n.length)return{handledMimeType:Zs.uriList,insertText:n.join(" "),title:i.length>1?S("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):S("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};jm=b9([Vg(0,F0)],jm);class uT{constructor(){this.kind=new ns("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Zs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==i1.PasteAs&&!((d=n.only)!=null&&d.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:S("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function Q6(o){const e=o.get(Zs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of xb.parse(t))try{i.push({uri:jn.parse(n),originalText:n})}catch{}return i}let R1=class extends Rt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new Y6)),this._register(e.documentDropEditProvider.register("*",new jm(t)))}};R1=b9([Vg(0,ki),Vg(1,F0)],R1);let N1=class extends Rt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new Y6)),this._register(e.documentPasteEditProvider.register("*",new jm(t))),this._register(e.documentPasteEditProvider.register("*",new uT))}};N1=b9([Vg(0,ki),Vg(1,F0)],N1);const br=class br{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=br._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(br.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(br.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(br.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(br.isVariableCharacter(i)||br.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 br._table[i]>"u"&&!br.isDigitCharacter(i)&&!br.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};br._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let O1=br;class pf{constructor(){this._children=[]}appendChild(e){return e instanceof To&&this._children[this._children.length-1]instanceof To?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,d){for(const u of a)u.parent=d,r(u.children,u)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Up)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let To=class J6 extends pf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new J6(this.value)}};class e5 extends pf{}class hr extends e5{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 xf?this._children[0]:void 0}clone(){const e=new hr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class xf extends pf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof To&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new xf;return this.options.forEach(e.appendChild,e),e}}class E9 extends pf{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 Yr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Yr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new E9;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 Yr extends pf{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 Yr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class jg extends e5{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 To(t)],!0):!1}clone(){const e=new jg(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function S8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Up extends pf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof hr&&(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 S8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof hr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof jg&&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 Up;return this._children=this.children.map(t=>t.clone()),e}walk(e){S8(this.children,e)}}class Nu{constructor(){this._scanner=new O1,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 Up;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(d=>(d instanceof hr&&(d.isFinalTabstop?n.set(0,void 0):!n.has(d.index)&&d.children.length>0?n.set(d.index,d.children):s.push(d)),!0));const r=(d,u)=>{const f=n.get(d.index);if(!f)return;const g=new hr(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof hr&&n.has(C.index)&&!u.has(C.index)&&(u.add(C.index),r(C,u),u.delete(C.index))}t.replace(d,[g])},a=new Set;for(const d of s)r(d,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 hr(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 To(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 hr(Number(t)):new jg(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 hr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new To("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new xf;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 To(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 jg(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new To("${"+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 E9;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 To(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 Yr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Yr(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 Yr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Yr(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 Yr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new To(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function t5(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 t3(o,{range:s,text:typeof t.insertText=="string"?Nu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function i5(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 d of o)if(d!==r&&e(a,d)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(d)}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 d=[];const u=t.get(a);return u&&(n.push(a),d=s(u),n.pop()),i.add(a),[...d,a,...s(r.slice(1))]}return s(Array.from(o))}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},fT=function(o,e){return function(t,i){e(t,i,o)}};const gT=_n.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:hA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),e_=class e_ extends Rt{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=mi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=mi("span.icon");this.domNode.append(t),t.classList.add(...Rn.asClassNameArray(Qi.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(Fn(this.domNode,as.CLICK,n=>{this.delegate.cancel()}))}getId(){return e_.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)}};e_.baseId="editor.widget.inlineProgressWidget";let H1=e_,$m=class extends Rt{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new er),this._currentWidget=this._register(new er),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=kg(()=>{const a=J.fromPositions(e);this._currentDecorations.set([{range:a,options:gT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(H1,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()}};$m=hT([fT(2,on)],$m);var pT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},D8=function(o,e){return function(t,i){e(t,i,o)}},rm,Cc;let Ro=(Cc=class{static get(e){return e.getContribution(rm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new er,this._messageListeners=new Tt,this._mouseOverMessage=!1,this._editor=e,this._visible=rm.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){Nr(Zx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Zx(e)?i3(e,{actionHandler:{callback:n=>{this.closeMessage(),n3(this._openerService,n,Zx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new A8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Ts.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&s3(dA(),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(Fn(this._messageWidget.value.getDomNode(),as.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Fn(this._messageWidget.value.getDomNode(),as.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 J(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(A8.fadeOut(this._messageWidget.value))}},rm=Cc,Cc.ID="editor.contrib.messageController",Cc.MESSAGE_VISIBLE=new yn("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Cc);Ro=rm=pT([D8(1,Ln),D8(2,da)],Ro);const xT=ko.bindToContribution(Ro.get);Pi(new xT({id:"leaveEditorMessage",precondition:Ro.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let A8=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)}};hn(Ro.ID,Ro,4);function pC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",B8(o),k8(o.stack)||k8(o.stacktrace)):B8(o)}function k8(o){return Array.isArray(o)?o.join(`
|
|
16
|
-
`):o}function B8(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"?S("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function Um(o=null,e=!1){if(!o)return S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=yl(o),i=Um(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(fA(o))return o;if(o.detail){const t=o.detail;if(t.error)return pC(t.error,e);if(t.exception)return pC(t.exception,e)}return o.stack?pC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var n5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},c0=function(o,e){return function(t,i){e(t,i,o)}},W1,jd;let z1=(jd=class extends Rt{constructor(e,t,i,n,s,r,a,d,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=d,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(is(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(is((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(Ts.runAndSubscribe(f.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=mi(".post-edit-widget"),this.button=this._register(new o3(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Fn(this.domNode,as.CLICK,()=>this.showSelector()))}getId(){return W1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=wo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>r3({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},W1=jd,jd.baseId="editor.widget.postEditWidget",jd);z1=W1=n5([c0(7,af),c0(8,Ln),c0(9,As)],z1);let qm=class extends Rt{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 er),this._register(Ts.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 d=async w=>{const A=this._editor.getModel();A&&(await A.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:w,allEdits:t.allEdits},i,n,s))},u=(w,A)=>{qc(w)||(this._notificationService.error(A),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(w){return u(w,S("resolveError",`Error resolving edit '{0}':
|
|
17
|
-
{1}`,a.title,Um(w)))}if(s.isCancellationRequested)return;const g=t5(r.uri,e,f),p=e[0],C=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let b,y;try{b=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),y=r.getDecorationRange(C[0])}catch(w){return u(w,S("applyError",`Error applying edit '{0}':
|
|
18
|
-
{1}`,a.title,Um(w)))}finally{r.deltaDecorations(C,[])}s.isCancellationRequested||i&&b.isApplied&&t.allEdits.length>1&&this.show(y??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(z1,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()}};qm=n5([c0(4,on),c0(5,W_),c0(6,mo)],qm);var mT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},gd;const s5="editor.changePasteType",y9=new yn("pasteWidgetVisible",!1,S("pasteWidgetVisible","Whether the paste widget is showing")),xC="application/vnd.code.copyMetadata";var $d;let Bl=($d=class extends Rt{static get(e){return e.getContribution(gd.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 d=e.getContainerDomNode();this._register(Fn(d,"copy",u=>this.handleCopy(u))),this._register(Fn(d,"cut",u=>this.handleCopy(u))),this._register(Fn(d,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new $m("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(qm,"pasteIntoEditor",e,y9,{id:s5,label:S("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Fw().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,w,A,I;if(!this._editor.hasTextFocus()||((w=(y=this._clipboardService).clearInternalState)==null||w.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 J(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(A=this._editor._getViewModel())==null?void 0:A.getPlainTextToCopy(i,n,z_),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(M=>!!M.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=Z6(e.clipboardData),p=f.flatMap(M=>M.copyMimeTypes??[]),C=pb();this.setCopyMetadata(e.clipboardData,{id:C,providerCopyMimeTypes:p,defaultPastePayload:u});const b=qs(async M=>{const R=yl(await Promise.all(f.map(async P=>{try{return await P.prepareDocumentPaste(t,s,g,M)}catch(V){console.error(V);return}})));R.reverse();for(const P of R)for(const[V,j]of P)g.replace(V,j);return g});(I=gd._currentCopyOperation)==null||I.dataTransferPromise.cancel(),gd._currentCopyOperation={handle:C,dataTransferPromise:b}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=Ro.get(this._editor))==null||d.closeMessage(),(u=this._currentPasteOperation)==null||u.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=X6(e.clipboardData);s.delete(xC);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Zs.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var C,b;const p=(C=this._pasteAsActionContext)==null?void 0:C.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(b=g.pasteMimeTypes)==null?void 0:b.some(y=>G6(y,r))});if(!a.length){(f=this._pasteAsActionContext)!=null&&f.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,a,i,s,n):this.doPasteInline(a,i,s,n,e)}showPasteAsNoEditMessage(e,t){var i;(i=Ro.get(this._editor))==null||i.showMessage(S("pasteAsError","No paste edits for '{0}' found",t instanceof ns?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new L0(r,3,void 0),d=qs(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new Tt,C=p.add(new Gs(u));p.add(a.token.onCancellationRequested(()=>C.cancel()));const b=C.token;try{if(await this.mergeInDataFromCopy(i,n,b),b.isCancellationRequested)return;const y=e.filter(I=>this.isSupportedPasteProvider(I,i));if(!y.length||y.length===1&&y[0]instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);const w={triggerKind:i1.Automatic},A=await this.getPasteEdits(y,i,g,t,w,b);if(p.add(A),b.isCancellationRequested)return;if(A.edits.length===1&&A.edits[0].provider instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);if(A.edits.length){const I=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:A.edits},I,(M,R)=>new Promise((P,V)=>{(async()=>{var j,ee;try{const ae=(ee=(j=M.provider).resolveDocumentPasteEdit)==null?void 0:ee.call(j,M,R),ge=new V_,X=ae&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([ge.p,ae]),{cancel:()=>(ge.cancel(),V(new j_))},0);return X&&(M.additionalEdit=X.additionalEdit),P(M)}catch(ae){return V(ae)}})()}),b)}await this.applyDefaultPasteHandler(i,n,b,s)}finally{p.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),d,{cancel:async()=>{try{if(d.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=d}showPasteAsPick(e,t,i,n,s){const r=qs(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new Tt,g=f.add(new L0(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(A=>this.isSupportedPasteProvider(A,n,e));e&&(p=p.filter(A=>this.providerMatchesPreference(A,e)));const C={triggerKind:i1.PasteAs,only:e&&e instanceof ns?e:void 0};let b=f.add(await this.getPasteEdits(p,n,u,i,C,g.token));if(g.token.isCancellationRequested)return;if(e&&(b={edits:b.edits.filter(A=>e instanceof ns?e.contains(A.kind):e.providerId===A.provider.id),dispose:b.dispose}),!b.edits.length){C.only&&this.showPasteAsNoEditMessage(i,C.only);return}let y;if(e)y=b.edits.at(0);else{const A=await this._quickInputService.pick(b.edits.map(I=>{var M;return{label:I.title,description:(M=I.kind)==null?void 0:M.value,edit:I}}),{placeHolder:S("pasteAsPickerPlaceholder","Select Paste Action")});y=A==null?void 0:A.edit}if(!y)return;const w=t5(u.uri,i,y);await this._bulkEditService.apply(w,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:S("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(xC,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(xC);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=a3.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=gd._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await gd._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Zs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Zs.uriList,_9(xb.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new Tt,d=await Sp(Promise.all(e.map(async f=>{var g,p;try{const C=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return C&&a.add(C),(p=C==null?void 0:C.edits)==null?void 0:p.map(b=>({...b,provider:f}))}catch(C){qc(C)||console.error(C);return}})),r),u=yl(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:i5(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Zs.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 ns?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},gd=$d,$d.ID="editor.contrib.copyPasteActionController",$d);Bl=gd=mT([bh(1,on),bh(2,W_),bh(3,lf),bh(4,ki),bh(5,Tl),bh(6,l3)],Bl);const Ou="9_cutcopypaste",vT=cf||document.queryCommandSupported("cut"),o5=cf||document.queryCommandSupported("copy"),_T=typeof navigator.clipboard>"u"||c3?document.queryCommandSupported("paste"):!0;function w9(o){return o.register(),o}const bT=vT?w9(new Lw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:cf?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:si.MenubarEditMenu,group:"2_ccp",title:S({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:si.EditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1},{menuId:si.CommandPalette,group:"",title:S("actions.clipboard.cutLabel","Cut"),order:1},{menuId:si.SimpleEditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1}]})):void 0,CT=o5?w9(new Lw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:cf?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:si.MenubarEditMenu,group:"2_ccp",title:S({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:si.EditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2},{menuId:si.CommandPalette,group:"",title:S("actions.clipboard.copyLabel","Copy"),order:1},{menuId:si.SimpleEditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Rr.appendMenuItem(si.MenubarEditMenu,{submenu:si.MenubarCopy,title:Si("copy as","Copy As"),group:"2_ccp",order:3});Rr.appendMenuItem(si.EditorContext,{submenu:si.EditorContextCopy,title:Si("copy as","Copy As"),group:Ou,order:3});Rr.appendMenuItem(si.EditorContext,{submenu:si.EditorContextShare,title:Si("share","Share"),group:"11_share",order:-1,when:Ge.and(Ge.notEquals("resourceScheme","output"),q.editorTextFocus)});Rr.appendMenuItem(si.ExplorerContext,{submenu:si.ExplorerContextShare,title:Si("share","Share"),group:"11_share",order:-1});const mC=_T?w9(new Lw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:cf?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:si.MenubarEditMenu,group:"2_ccp",title:S({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:si.EditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4},{menuId:si.CommandPalette,group:"",title:S("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:si.SimpleEditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4}]})):void 0;class ET extends vt{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:S("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(PS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),PS.forceCopyWithSyntaxHighlighting=!1)}}function r5(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(Cs).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)=>(Fw().execCommand(e),!0)))}r5(bT,"cut");r5(CT,"copy");mC&&(mC.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(Cs),i=o.get(lf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=Bl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():d3?(async()=>{const a=await i.readText();if(a!==""){const d=u3.INSTANCE.get(a);let u=!1,f=null,g=null;d&&(u=n.getOption(37)&&!!d.isFromEmptySelection,f=typeof d.multicursorText<"u"?d.multicursorText:null,g=d.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),mC.addImplementation(0,"generic-dom",(o,e)=>(Fw().execCommand("paste"),!0)));o5&&Ie(ET);const Xn=new class{constructor(){this.QuickFix=new ns("quickfix"),this.Refactor=new ns("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 ns("notebook"),this.Source=new ns("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Wo;(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"})(Wo||(Wo={}));function yT(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>a5(e,t,o.include))||!o.includeSourceActions&&Xn.Source.contains(e))}function wT(o,e){const t=e.kind?new ns(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>a5(t,i,o.include))||!o.includeSourceActions&&t&&Xn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function a5(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Pa{static fromUser(e,t){return!e||typeof e!="object"?new Pa(t.kind,t.apply,!1):new Pa(Pa.getKindFromUser(e,t.kind),Pa.getApplyFromUser(e,t.apply),Pa.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new ns(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 ST{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){bs(n)}i&&(this.action.edit=i.edit)}return this}}const l5="editor.action.codeAction",S9="editor.action.quickFix",c5="editor.action.autoFix",d5="editor.action.refactor",u5="editor.action.sourceAction",V1="editor.action.organizeImports",j1="editor.action.fixAll";class gg extends Rt{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:Yo(e.diagnostics)?Yo(t.diagnostics)?gg.codeActionsPreferredComparator(e,t):-1:Yo(t.diagnostics)?1:gg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(gg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Xn.QuickFix.contains(new ns(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 F8={actions:[],documentation:void 0};async function qh(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],Xn.Notebook]},d={only:(y=r.include)==null?void 0:y.value,trigger:i.type},u=new h3(e,s),f=i.type===2,g=DT(o,e,f?a:r),p=new Tt,C=g.map(async w=>{try{n.report(w);const A=await w.provideCodeActions(e,t,d,u.token);if(A&&p.add(A),u.token.isCancellationRequested)return F8;const I=((A==null?void 0:A.actions)||[]).filter(R=>R&&wT(r,R)),M=kT(w,I,r.include);return{actions:I.map(R=>new ST(R,w)),documentation:M}}catch(A){if(qc(A))throw A;return bs(A),F8}}),b=o.onDidChange(()=>{const w=o.all(e);ja(w,g)||u.cancel()});try{const w=await Promise.all(C),A=w.map(M=>M.actions).flat(),I=[...yl(w.map(M=>M.documentation)),...AT(o,e,i,A)];return new gg(A,I,p)}finally{b.dispose(),u.dispose()}}function DT(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>yT(t,new ns(n))):!0)}function*AT(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(d=>d.action)))}function kT(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new ns(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 ns(n.kind)))return s.command}}var Sd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Sd||(Sd={}));async function BT(o,e,t,i,n=cn.None){var u;const s=o.get(W_),r=o.get(Vs),a=o.get(ua),d=o.get(mo);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(n),!n.isCancellationRequested&&!((u=e.action.edit)!=null&&u.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==Sd.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(f){const g=FT(f);d.error(typeof g=="string"?g:S("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function FT(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Qn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof jn))throw vl();const{codeActionProvider:s}=o.get(ki),r=o.get(vo).getModel(e);if(!r)throw vl();const a=$i.isISelection(t)?$i.liftSelection(t):J.isIRange(t)?r.validateRange(t):void 0;if(!a)throw vl();const d=typeof i=="string"?new ns(i):void 0,u=await qh(s,r,a,{type:1,triggerAction:Wo.Default,filter:{includeSourceActions:!0,include:d}},fl.None,cn.None),f=[],g=Math.min(u.validActions.length,typeof n=="number"?n:0);for(let p=0;p<g;p++)f.push(u.validActions[p].resolve(cn.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var LT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},IT=function(o,e){return function(t,i){e(t,i,o)}},$1,Ud;let U1=(Ud=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Iw(()=>this.keybindingService.getKeybindings().filter(t=>$1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===V1?i={kind:Xn.SourceOrganizeImports.value}:t.command===j1&&(i={kind:Xn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Pa.fromUser(i,{kind:ns.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 ns(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)}},$1=Ud,Ud.codeActionCommands=[d5,l5,u5,V1,j1],Ud);U1=$1=LT([IT(0,As)],U1);vi("symbolIcon.arrayForeground",Rs,S("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.booleanForeground",Rs,S("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.colorForeground",Rs,S("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.constantForeground",Rs,S("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.fileForeground",Rs,S("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.folderForeground",Rs,S("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.keyForeground",Rs,S("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.keywordForeground",Rs,S("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.moduleForeground",Rs,S("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.namespaceForeground",Rs,S("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.nullForeground",Rs,S("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.numberForeground",Rs,S("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.objectForeground",Rs,S("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.operatorForeground",Rs,S("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.packageForeground",Rs,S("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.propertyForeground",Rs,S("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.referenceForeground",Rs,S("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.snippetForeground",Rs,S("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.stringForeground",Rs,S("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.structForeground",Rs,S("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.textForeground",Rs,S("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.typeParameterForeground",Rs,S("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.unitForeground",Rs,S("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const h5=Object.freeze({kind:ns.Empty,title:S("codeAction.widget.id.more","More Actions...")}),PT=Object.freeze([{kind:Xn.QuickFix,title:S("codeAction.widget.id.quickfix","Quick Fix")},{kind:Xn.RefactorExtract,title:S("codeAction.widget.id.extract","Extract"),icon:Qi.wrench},{kind:Xn.RefactorInline,title:S("codeAction.widget.id.inline","Inline"),icon:Qi.wrench},{kind:Xn.RefactorRewrite,title:S("codeAction.widget.id.convert","Rewrite"),icon:Qi.wrench},{kind:Xn.RefactorMove,title:S("codeAction.widget.id.move","Move"),icon:Qi.wrench},{kind:Xn.SurroundWith,title:S("codeAction.widget.id.surround","Surround With"),icon:Qi.surroundWith},{kind:Xn.Source,title:S("codeAction.widget.id.source","Source Action"),icon:Qi.symbolFile},h5]);function TT(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:h5,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=PT.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new ns(s.action.kind):ns.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:Qi.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var MT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RT=function(o,e){return function(t,i){e(t,i,o)}},Rh;const L8=ms("gutter-lightbulb",Qi.lightBulb,S("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),I8=ms("gutter-lightbulb-auto-fix",Qi.lightbulbAutofix,S("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),P8=ms("gutter-lightbulb-sparkle",Qi.lightbulbSparkle,S("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),T8=ms("gutter-lightbulb-aifix-auto-fix",Qi.lightbulbSparkleAutofix,S("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.")),M8=ms("gutter-lightbulb-sparkle-filled",Qi.sparkleFilled,S("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 Gr;(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})(Gr||(Gr={}));var pl;let $g=(pl=class extends Rt{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new ln),this.onClick=this._onClick.event,this._state=Gr.Hidden,this._gutterState=Gr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+L8.id,"codicon-"+T8.id,"codicon-"+I8.id,"codicon-"+P8.id,"codicon-"+M8.id],this.gutterDecoration=Rh.GUTTER_DECORATION,this._domNode=mi("div.lightBulbWidget"),this._domNode.role="listbox",this._register(gA.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(f3(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=wo(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(Fn(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(Ts.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(c5))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(S9))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(d=>i.target.element&&i.target.element.classList.contains(d))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=wo(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:d}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=Pw(g,u),C=f.spaceWidth*p>22,b=P=>P>2&&this._editor.getTopForLineNumber(P)===this._editor.getTopForLineNumber(P-1),y=this._editor.getLineDecorations(a);let w=!1;if(y)for(const P of y){const V=P.options.glyphMarginClassName;if(V&&!this.lightbulbClasses.some(j=>V.includes(j))){w=!0;break}}let A=a,I=1;if(!C){const P=V=>{const j=r.getLineContent(V);return/^\s*$|^\s+/.test(j)||j.length<=I};if(a>1&&!b(a-1)){const V=r.getLineCount(),j=a===V,ee=a>1&&P(a-1),ae=!j&&P(a+1),ge=P(a),X=!ae&&!ee;if(!ae&&!ee&&!w)return this.gutterState=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),this.renderGutterLightbub(),this.hide();ee||j||ee&&!ge?A-=1:(ae||X&&ge)&&(A+=1)}else if(a===1&&(a===r.getLineCount()||!P(a+1)&&!P(a)))if(this.gutterState=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),w)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!b(a+1))A+=1;else if(d*f.spaceWidth<22)return this.hide();I=/^\S\s*$/.test(r.getLineContent(A))?2:1}this.state=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const M=e.validActions,R=e.validActions[0].action.kind;if(M.length!==1||!R){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Gr.Hidden&&(this.state=Gr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Gr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Gr.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=Qi.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Qi.lightbulbSparkleAutofix:e=Qi.lightbulbAutofix:this.state.actions.hasAIFix?e=Qi.lightbulbSparkle:e=Qi.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Rn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=M8,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=T8:e=I8:this.gutterState.actions.hasAIFix?e=P8:e=L8,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=_n.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Rn.asClassName(e),glyphMargin:{position:wm.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 J(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 J(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=S("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=S("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=S("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=S("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Rh=pl,pl.GUTTER_DECORATION=_n.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Rn.asClassName(Qi.lightBulb),glyphMargin:{position:wm.Left},stickiness:1}),pl.ID="editor.contrib.lightbulbWidget",pl._posPref=[0],pl);$g=Rh=MT([RT(1,As)],$g);var f5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},q1=function(o,e){return function(t,i){e(t,i,o)}};const g5="acceptSelectedCodeAction",p5="previewSelectedCodeAction";class NT{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 G1=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 Tw(e,Mw);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,d;if((r=e.group)!=null&&r.icon?(i.icon.className=Rn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Ld(e.group.icon.color.id))):(i.icon.className=Rn.asClassName(Qi.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=x5(e.label),i.keybinding.set(e.keybinding),g3(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(g5))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(p5))==null?void 0:d.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=S({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=S({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};G1=f5([q1(1,As)],G1);class OT extends UIEvent{constructor(){super("acceptSelectedAction")}}class R8 extends UIEvent{constructor(){super("previewSelectedAction")}}function HT(o){if(o.kind==="action")return o.label}let K1=class extends Rt{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 Gs),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:d=>d.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:d=>d.kind};this._list=this._register(new Rw(e,this.domNode,a,[new G1(t,this._keybindingService),new NT],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:HT},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?x5(d==null?void 0:d.label):"";return d.disabled&&(u=S({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,d.disabled)),u}return null},getWidgetAriaLabel:()=>S({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:d=>d.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(p3),this._register(this._list.onMouseClick(d=>this.onListClick(d))),this._register(this._list.onMouseOver(d=>this.onListHover(d))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(d=>this.onListSelection(d))),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(d=>d.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 d=this._allMenuItems.map((u,f)=>{const g=this.domNode.ownerDocument.getElementById(this._list.getElementID(f));if(g){g.style.width="auto";const p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});s=Math.max(...d,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 R8:new OT;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 R8):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([])}};K1=f5([q1(4,$_),q1(5,As)],K1);function x5(o){return o.replace(/\r\n|\r|\n/g," ")}var WT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vC=function(o,e){return function(t,i){e(t,i,o)}};vi("actionBar.toggledBackground",Nw,S("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Hu={Visible:new yn("codeActionMenuVisible",!1,S("codeActionMenuVisible","Whether the action widget list is visible"))},Ju=Ml("actionWidgetService");let Wu=class extends Rt{get isVisible(){return Hu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new er)}show(e,t,i,n,s,r,a){const d=Hu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(K1,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(d.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{d.reset(),this._onWidgetClosed(f)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var C;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 Tt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Fn(a,as.MOUSE_DOWN,b=>b.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(Fn(u,as.POINTER_MOVE,()=>u.remove())),s.add(Fn(u,as.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const b=this._createActionBar(".action-widget-action-bar",i);b&&(n.appendChild(b.getContainer().parentElement),s.add(b),f=b.getContainer().offsetWidth)}const g=(C=this._list.value)==null?void 0:C.layout(f);n.style.width=`${g}px`;const p=s.add(I0(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=mi(e),n=new Bg(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Wu=WT([vC(0,$_),vC(1,Ln),vC(2,on)],Wu);Rl(Ju,Wu,1);const qp=1100;Vn(class extends Ao{constructor(){super({id:"hideCodeActionWidget",title:Si("hideCodeActionWidget.title","Hide action widget"),precondition:Hu.Visible,keybinding:{weight:qp,primary:9,secondary:[1033]}})}run(o){o.get(Ju).hide(!0)}});Vn(class extends Ao{constructor(){super({id:"selectPrevCodeAction",title:Si("selectPrevCodeAction.title","Select previous action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusPrevious()}});Vn(class extends Ao{constructor(){super({id:"selectNextCodeAction",title:Si("selectNextCodeAction.title","Select next action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusNext()}});Vn(class extends Ao{constructor(){super({id:g5,title:Si("acceptSelected.title","Accept selected action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected()}});Vn(class extends Ao{constructor(){super({id:p5,title:Si("previewSelected.title","Preview selected action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:2051}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected(!0)}});const m5=new yn("supportedCodeAction",""),N8="_typescript.applyFixAllCodeAction";class zT extends Rt{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Dp),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=>Sm(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Wo.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!==tC.Off){{if(i===tC.On)return t;if(i===tC.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),d=s.getLineContent(r);if(d.length===0)return;if(a===1){if(/\s/.test(d[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(d[d.length-1]))return}else if(/\s/.test(d[a-2])&&/\s/.test(d[a-1]))return}}return t}}}var vd;(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(qc(r))return v5;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(vd||(vd={}));const v5=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class VT extends Rt{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 er),this._state=vd.Empty,this._onDidChangeState=this._register(new ln),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=m5.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(d=>{d.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(vd.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(vd.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 zT(this._editor,this._markerService,i=>{var d;if(!i){this.setState(vd.Empty);return}const n=i.selection.getStartPosition(),s=qs(async u=>{var f,g,p,C,b,y,w,A,I,M;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Wo.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(Xn.QuickFix))){const R=await qh(this._registry,e,i.selection,i.trigger,fl.None,u),P=[...R.allActions];if(u.isCancellationRequested)return v5;const V=(p=R.validActions)==null?void 0:p.some(ee=>ee.action.kind?Xn.QuickFix.contains(new ns(ee.action.kind)):!1),j=this._markerService.read({resource:e.uri});if(V){for(const ee of R.validActions)(b=(C=ee.action.command)==null?void 0:C.arguments)!=null&&b.some(ae=>typeof ae=="string"&&ae.includes(N8))&&(ee.action.diagnostics=[...j.filter(ae=>ae.relatedInformation)]);return{validActions:R.validActions,allActions:P,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}else if(!V&&j.length>0){const ee=i.selection.getPosition();let ae=ee,ge=Number.MAX_VALUE;const X=[...R.validActions];for(const be of j){const re=be.endColumn,ue=be.endLineNumber,Ae=be.startLineNumber;if(ue===ee.lineNumber||Ae===ee.lineNumber){ae=new Ai(ue,re);const Me={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(w=i.trigger.filter)==null?void 0:w.include:Xn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((A=i.trigger.context)==null?void 0:A.notAvailableMessage)||"",position:ae}},ve=new $i(ae.lineNumber,ae.column,ae.lineNumber,ae.column),Oe=await qh(this._registry,e,ve,Me,fl.None,u);if(Oe.validActions.length!==0){for(const Ue of Oe.validActions)(M=(I=Ue.action.command)==null?void 0:I.arguments)!=null&&M.some(Ce=>typeof Ce=="string"&&Ce.includes(N8))&&(Ue.action.diagnostics=[...j.filter(Ce=>Ce.relatedInformation)]);R.allActions.length===0&&P.push(...Oe.allActions),Math.abs(ee.column-re)<ge?X.unshift(...Oe.validActions):X.push(...Oe.validActions)}ge=Math.abs(ee.column-re)}}const de=X.filter((be,re,ue)=>ue.findIndex(Ae=>Ae.action.title===be.action.title)===re);return de.sort((be,re)=>be.action.isPreferred&&!re.action.isPreferred?-1:!be.action.isPreferred&&re.action.isPreferred||be.action.isAI&&!re.action.isAI?1:!be.action.isAI&&re.action.isAI?-1:0),{validActions:de,allActions:P,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}}if(i.trigger.type===1){const R=new Ho,P=await qh(this._registry,e,i.selection,i.trigger,fl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:P.validActions.length,duration:R.elapsed()}),P}return qh(this._registry,e,i.selection,i.trigger,fl.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new vd.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:Wo.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 jT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},va=function(o,e){return function(t,i){e(t,i,o)}},Nh;const $T="quickfix-edit-highlight";var Ec;let q0=(Ec=class extends Rt{static get(e){return e.getContribution(Nh.ID)}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this._commandService=a,this._configurationService=d,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new er),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new VT(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Iw(()=>{const p=this._editor.getContribution($g.ID);return p&&this._register(p.onClick(C=>this.showCodeActionsFromLightbulb(C.actions,C))),p}),this._resolver=n.createInstance(U1),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,Sd.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=Ro.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(BT,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Wo.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,d;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){qn(u);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const f=this.tryGetValidActionToApply(e.trigger,t);if(f){try{this.hideLightBulbWidget(),await this._applyCodeAction(f,!1,!1,Sd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Ro.get(this._editor))==null||r.showMessage(g.action.disabled,e.trigger.context.position),t.dispose();return}}}const u=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!u&&!t.validActions.length)){(d=Ro.get(this._editor))==null||d.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:u,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;const a=Ai.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?Sd.FromAILightbulb:Sd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var C;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const b=new ns(p);g=[Xn.RefactorExtract,Xn.RefactorInline,Xn.RefactorRewrite,Xn.RefactorMove,Xn.Source].some(w=>w.contains(b))}return{canPreview:g||!!((C=u.action.edit)!=null&&C.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,C=u.action.diagnostics;if(n.clear(),p&&p.length>0){const b=C&&(C==null?void 0:C.length)>1?C.map(y=>({range:y,options:Nh.DECORATION})):p.map(y=>({range:y,options:Nh.DECORATION}));n.set(b)}else if(C&&C.length>0){const b=C.map(w=>({range:w,options:Nh.DECORATION}));n.set(b);const y=C[0];if(y.startLineNumber&&y.startColumn){const w=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:g.word;P0(S("editingNewSelection","Context: {0} at line {1} and column {2}.",w,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,TT(r,this._shouldShowHeaders(),this._resolver.getResolver()),d,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=wo(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:S("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:S("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Nh=Ec,Ec.ID="editor.contrib.codeActionController",Ec.DECORATION=_n.register({description:"quickfix-highlight",className:$T}),Ec);q0=Nh=jT([va(1,Ow),va(2,Ln),va(3,on),va(4,ki),va(5,Ap),va(6,Vs),va(7,ss),va(8,Ju),va(9,on),va(10,ua)],q0);U_((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(x3));const i=o.getColor(pA);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Fg(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Gp(o){return Ge.regex(m5.keys()[0],new RegExp("(\\s|^)"+Lg(o.value)+"\\b"))}const D9={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:S("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:S("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[S("args.schema.apply.first","Always apply the first returned code action."),S("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),S("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:S("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function eh(o,e,t,i,n=Wo.Default){if(o.hasModel()){const s=q0.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class UT extends vt{constructor(){super({id:S9,label:S("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:Ge.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:2137,weight:100}})}run(e,t){return eh(t,S("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Wo.QuickFix)}}class qT extends ko{constructor(){super({id:l5,precondition:Ge.and(q.writable,q.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:D9}]}})}runEditorCommand(e,t,i){const n=Pa.fromUser(i,{kind:ns.Empty,apply:"ifSingle"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):S("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?S("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):S("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class GT extends vt{constructor(){super({id:d5,label:S("refactor.label","Refactor..."),alias:"Refactor...",precondition:Ge.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Ge.and(q.writable,Gp(Xn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:D9}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Xn.Refactor,apply:"never"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):S("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?S("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):S("editor.action.refactor.noneMessage","No refactorings available"),{include:Xn.Refactor.contains(n.kind)?n.kind:ns.None,onlyIncludePreferredActions:n.preferred},n.apply,Wo.Refactor)}}class KT extends vt{constructor(){super({id:u5,label:S("source.label","Source Action..."),alias:"Source Action...",precondition:Ge.and(q.writable,q.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Ge.and(q.writable,Gp(Xn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:D9}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Xn.Source,apply:"never"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):S("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?S("editor.action.source.noneMessage.preferred","No preferred source actions available"):S("editor.action.source.noneMessage","No source actions available"),{include:Xn.Source.contains(n.kind)?n.kind:ns.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Wo.SourceAction)}}class ZT extends vt{constructor(){super({id:V1,label:S("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:Ge.and(q.writable,Gp(Xn.SourceOrganizeImports)),kbOpts:{kbExpr:q.textInputFocus,primary:1581,weight:100}})}run(e,t){return eh(t,S("editor.action.organize.noneMessage","No organize imports action available"),{include:Xn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Wo.OrganizeImports)}}class XT extends vt{constructor(){super({id:j1,label:S("fixAll.label","Fix All"),alias:"Fix All",precondition:Ge.and(q.writable,Gp(Xn.SourceFixAll))})}run(e,t){return eh(t,S("fixAll.noneMessage","No fix all action available"),{include:Xn.SourceFixAll,includeSourceActions:!0},"ifSingle",Wo.FixAll)}}class YT extends vt{constructor(){super({id:c5,label:S("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:Ge.and(q.writable,Gp(Xn.QuickFix)),kbOpts:{kbExpr:q.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return eh(t,S("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Xn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Wo.AutoFix)}}hn(q0.ID,q0,3);hn($g.ID,$g,4);Ie(UT);Ie(GT);Ie(KT);Ie(ZT);Ie(YT);Ie(XT);Pi(new qT);ca.as(kp.Configuration).registerConfiguration({...q_,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:S("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});ca.as(kp.Configuration).registerConfiguration({...q_,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:S("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});ca.as(kp.Configuration).registerConfiguration({...q_,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:S("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 Z1{constructor(){this.lenses=[],this._disposables=new Tt}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 _5(o,e,t){const i=o.ordered(e),n=new Map,s=new Z1,r=i.map(async(a,d)=>{n.set(a,d);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){bs(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,d)=>a.symbol.range.startLineNumber<d.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>d.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(d.provider)?-1:n.get(a.provider)>n.get(d.provider)?1:a.symbol.range.startColumn<d.symbol.range.startColumn?-1:a.symbol.range.startColumn>d.symbol.range.startColumn?1:0),s}Qn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Pn(jn.isUri(t)),Pn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(ki),s=o.get(vo).getModel(t);if(!s)throw vl();const r=[],a=new Tt;return _5(n,s,cn.None).then(d=>{a.add(d);const u=[];for(const f of d.lenses)i==null||f.symbol.command?r.push(f.symbol):i-- >0&&f.provider.resolveCodeLens&&u.push(Promise.resolve(f.provider.resolveCodeLens(s,f.symbol,cn.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var QT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JT=function(o,e){return function(t,i){e(t,i,o)}};const b5=Ml("ICodeLensCache");class O8{constructor(e,t){this.lineCount=e,this.data=t}}let X1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Bp(20,.75);const t="codelens/cache";m3(v3,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=Ts.filter(e.onWillSaveState,r=>r.reason===Hw.SHUTDOWN);Ts.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 Z1;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new O8(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 J(a,1,a,11)});const r=new Z1;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new O8(n.lineCount,r))}}catch{}}};X1=QT([JT(0,Gc)],X1);Rl(b5,X1,1);class eM{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 Dg=class Dg{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Dg._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=_3(r.command.title.trim());if(r.command.id){const d=`c${Dg._idPool++}`;i.push(mi("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(mi("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(mi("span",void 0," | "))}}n?(Dm(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):Dm(this._domNode,mi("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}};Dg._idPool=0;let Y1=Dg;class _C{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 H8=_n.register({collapseOnReplaceEdit:!0,description:"codelens"});class W8{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const d=[];this._data.forEach((u,f)=>{u.symbol.command&&d.push(u.symbol),i.addDecoration({range:u.symbol.range,options:H8},g=>this._decorationIds[f]=g),a?a=J.plusRange(a,u.symbol.range):a=J.lift(u.symbol.range)}),this._viewZone=new eM(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),d.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(d,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new Y1(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&&J.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:H8},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 tM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rf=function(o,e){return function(t,i){e(t,i,o)}},b0;let Ug=(b0=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 Tt,this._localToDispose=new Tt,this._lenses=[],this._oldCodeLensModels=new Tt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ms(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Ww.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&&kg(()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const n of this._languageFeaturesService.codeLensProvider.all(e))if(typeof n.onDidChange=="function"){const s=n.onDidChange(()=>i.schedule());this._localToDispose.add(s)}const i=new Ms(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=qs(r=>_5(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()},qn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(is(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let d=-1;this._lenses.forEach(f=>{!f.isValid()||d===f.getLineNumber()?a.push(f):(f.update(r),d=f.getLineNumber())});const u=new _C;a.forEach(f=>{f.dispose(u,r),this._lenses.splice(this._lenses.indexOf(f),1)}),u.commit(s)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(n=this._resolveCodeLensesPromise)==null||n.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(n=>{n.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(is(()=>{if(this._editor.getModel()){const n=T0.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(d=>this._notificationService.error(d));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new _C;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 d=a.symbol.range.startLineNumber;d<1||d>t||(n&&n[n.length-1].symbol.range.startLineNumber===d?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=T0.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new _C;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,C=this._lenses[f].getLineNumber();C<p?(this._lenses[f].dispose(u,d),this._lenses.splice(f,1)):C===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new W8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,d),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new W8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++;u.commit(a)})}),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var r;(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(a=>{const d=a.computeIfNecessary(e);d&&(t.push(d),i.push(a))}),t.length===0)return;const n=Date.now(),s=qs(a=>{const d=t.map((u,f)=>{const g=new Array(u.length),p=u.map((C,b)=>!C.symbol.command&&typeof C.provider.resolveCodeLens=="function"?Promise.resolve(C.provider.resolveCodeLens(e,C.symbol,a)).then(y=>{g[b]=y},bs):(g[b]=C.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(d)});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=>{qn(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}},b0.ID="css.editor.codeLens",b0);Ug=tM([Rf(1,ki),Rf(2,gr),Rf(3,Vs),Rf(4,mo),Rf(5,b5)],Ug);hn(Ug.ID,Ug,1);Ie(class extends vt{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:q.hasCodeLensProvider,label:S("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(Tl),n=e.get(Vs),s=e.get(mo),r=t.getSelection().positionLineNumber,a=t.getContribution(Ug.ID);if(!a)return;const d=await a.getModel();if(!d)return;const u=[];for(const p of d.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&u.push({label:p.symbol.command.title,command:p.symbol.command});if(u.length===0)return;const f=await i.pick(u,{canPickMany:!1,placeHolder:S("placeHolder","Select a command")});if(!f)return;let g=f.command;if(d.isDisposed){const p=await a.getModel(),C=p==null?void 0:p.lenses.find(b=>{var y;return b.symbol.range.startLineNumber===r&&((y=b.symbol.command)==null?void 0:y.title)===g.title});if(!C||!C.symbol.command)return;g=C.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var C5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Q1=function(o,e){return function(t,i){e(t,i,o)}};let qg=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 xn(new M0(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?xn.Format.CSS.formatRGB(a):xn.Format.CSS.formatRGBA(a),u=r?xn.Format.CSS.formatHSL(a):xn.Format.CSS.formatHSLA(a),f=r?xn.Format.CSS.formatHex(a):xn.Format.CSS.formatHexA(a),g=[];return g.push({label:d,textEdit:{range:n,text:d}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};qg=C5([Q1(0,Nl)],qg);let J1=class extends Rt{constructor(e,t){super(),this._register(e.colorProvider.register("*",new qg(t)))}};J1=C5([Q1(0,ki),Q1(1,Nl)],J1);df(J1);async function E5(o,e,t,i=!0){return A9(new iM,o,e,t,i)}function y5(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class iM{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 nM{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 sM{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,cn.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function A9(o,e,t,i,n){let s=!1,r;const a=[],d=e.ordered(t);for(let u=d.length-1;u>=0;u--){const f=d[u];if(f instanceof qg)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){bs(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function w5(o,e){const{colorProvider:t}=o.get(ki),i=o.get(vo).getModel(e);if(!i)throw vl();const n=o.get(ss).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Qn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof jn))throw vl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=w5(o,t);return A9(new nM,n,i,cn.None,s)});Qn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof jn)||!Array.isArray(t)||t.length!==4||!J.isIRange(s))throw vl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=w5(o,n),[u,f,g,p]=t;return A9(new sM({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,cn.None,d)});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},bC=function(o,e){return function(t,i){e(t,i,o)}},eE;const S5=Object.create({});var yc;let G0=(yc=class extends Rt{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Tt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new xA(this._editor),this._decoratorLimitReporter=new rM,this._colorDecorationClassRefs=this._register(new Tt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:eE.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),d=s.hasChanged(148);(a||d)&&(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 Dp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=qs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Ho(!1),n=await E5(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){qn(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:_n.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:d,alpha:u}=e[s].colorInfo.color,f=new M0(Math.round(r*255),Math.round(a*255),Math.round(d*255),u),g=`rgba(${f.r}, ${f.g}, ${f.b}, ${f.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:g}));t.push({range:{startLineNumber:e[s].colorInfo.range.startLineNumber,startColumn:e[s].colorInfo.range.startColumn,endLineNumber:e[s].colorInfo.range.endLineNumber,endColumn:e[s].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:hA,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:S5}}})}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(J.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)}},eE=yc,yc.ID="editor.contrib.colorDetector",yc.RECOMPUTE_TIME=1e3,yc);G0=eE=oM([bC(1,ss),bC(2,ki),bC(3,gr)],G0);class rM{constructor(){this._onDidChange=new ln,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}hn(G0.ID,G0,1);class aM{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 ln,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new ln,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new ln,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 Ko=mi;class lM extends Rt{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Ko(".colorpicker-header"),ci(e,this._domNode),this._pickedColorNode=ci(this._domNode,Ko(".picked-color")),ci(this._pickedColorNode,Ko("span.codicon.codicon-color-mode")),this._pickedColorPresentation=ci(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=S("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=ci(this._domNode,Ko(".original-color")),this._originalColorNode.style.backgroundColor=xn.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(TS)||xn.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(TS)||xn.white})),this._register(Fn(this._pickedColorNode,as.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Fn(this._originalColorNode,as.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=xn.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 cM(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=xn.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 cM extends Rt{constructor(e){super(),this._onClicked=this._register(new ln),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),ci(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),ci(this._button,t),ci(t,Ko(".button"+Rn.asCSSSelector(ms("color-picker-close",Qi.close,S("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Fn(this._button,as.CLICK,()=>{this._onClicked.fire()}))}}class dM extends Rt{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Ko(".colorpicker-body"),ci(e,this._domNode),this._saturationBox=new uM(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 hM(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 fM(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 gM(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 xn(new Xx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new xn(new Xx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new xn(new Xx(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 uM extends Rt{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new ln,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new ln,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Ko(".saturation-wrap"),ci(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",ci(this._domNode,this._canvas),this.selection=Ko(".saturation-selection"),ci(this._domNode,this.selection),this.layout(),this._register(Fn(this._domNode,as.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 mA);const t=wo(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=Fn(e.target.ownerDocument,as.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 xn(new Xx(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=xn.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 D5 extends Rt{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new ln,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new ln,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=ci(e,Ko(".standalone-strip")),this.overlay=ci(this.domNode,Ko(".standalone-overlay"))):(this.domNode=ci(e,Ko(".strip")),this.overlay=ci(this.domNode,Ko(".overlay"))),this.slider=ci(this.domNode,Ko(".slider")),this.slider.style.top="0px",this._register(Fn(this.domNode,as.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 mA),i=wo(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=Fn(e.target.ownerDocument,as.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 hM extends D5{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 xn(new M0(t,i,n,1)),r=new xn(new M0(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class fM extends D5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class gM extends Rt{constructor(e){super(),this._onClicked=this._register(new ln),this.onClicked=this._onClicked.event,this._button=ci(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Fn(this._button,as.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class pM extends Fp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(b3.getInstance(Id(e)).onDidChange(()=>this.layout())),this._domNode=Ko(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new lM(this._domNode,this.model,n,s)),this.body=this._register(new dM(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class CC{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 am{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 zu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const th=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var A5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},k5=function(o,e){return function(t,i){e(t,i,o)}};class xM{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 Gg=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return sa.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=G0.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 B5(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=F5(this,this._editor,this._themeService,t,e);if(!i)return new zu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new zu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Gg=A5([k5(1,Wr)],Gg);class mM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Kg=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!G0.get(this._editor))return null;const s=await E5(i,this._editor.getModel(),cn.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;J.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const d=r??e,u=a??t,f=!!r;return{colorHover:await B5(this,this._editor.getModel(),d,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new J(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await lm(this._editor.getModel(),t,this._color,i,e),i=L5(this._editor,i,t))}renderHoverParts(e,t){return F5(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Kg=A5([k5(1,Wr)],Kg);async function B5(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new M0(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new xn(u),g=await y5(e,t,i,cn.None),p=new aM(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Gg?new xM(o,J.lift(t.range),p,i):new mM(o,J.lift(t.range),p,i)}function F5(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Zn(302,p))}const s=new Tt,r=i[0],a=e.getModel(),d=r.model,u=s.add(new pM(n.fragment,d,e.getOption(144),t,o instanceof Kg));let f=!1,g=new J(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Kg){const p=r.model.color;o.color=p,lm(a,d,p,g,r),s.add(d.onColorFlushed(C=>{o.color=C}))}else s.add(d.onColorFlushed(async p=>{await lm(a,d,p,g,r),f=!0,g=L5(e,g,d)}));return s.add(d.onDidChangeColor(p=>{lm(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function L5(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=J.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function lm(o,e,t,i,n){const s=await y5(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,cn.None);e.colorPresentations=s||[]}const I5="editor.action.showHover",vM="editor.action.showDefinitionPreviewHover",_M="editor.action.scrollUpHover",bM="editor.action.scrollDownHover",CM="editor.action.scrollLeftHover",EM="editor.action.scrollRightHover",yM="editor.action.pageUpHover",wM="editor.action.pageDownHover",SM="editor.action.goToTopHover",DM="editor.action.goToBottomHover",mb="editor.action.increaseHoverVerbosityLevel",AM=S({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),vb="editor.action.decreaseHoverVerbosityLevel",kM=S({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),P5="editor.action.inlineSuggest.commit",T5="editor.action.inlineSuggest.showPrevious",M5="editor.action.inlineSuggest.showNext";var k9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Br=function(o,e){return function(t,i){e(t,i,o)}},cm;let tE=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Po(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Wn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.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 Ai(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Lp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=CA((u,f)=>{const g=f.add(this.instantiationService.createInstance(K0,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(is(()=>e.removeContentWidget(g))),f.add(rs(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==_l.Explicit&&r.triggerExplicitly()})),g}),d=G_(this,(u,f)=>!!this.position.read(u)||!!f);s.add(rs(u=>{d.read(u)&&a.read(u)}))}))}};tE=k9([Br(2,on)],tE);const BM=ms("inline-suggestion-hints-next",Qi.chevronRight,S("parameterHintsNextIcon","Icon for show next parameter hint.")),FM=ms("inline-suggestion-hints-previous",Qi.chevronLeft,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var wc;let K0=(wc=class extends Rt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new R0(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=S({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=u,this._contextKeyService=f,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${cm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Fr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Fr("div@toolBar")]),this.previousAction=this.createCommandAction(T5,S("previous","Previous"),Rn.asClassName(FM)),this.availableSuggestionCountAction=new R0("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(M5,S("next","Next"),Rn.asClassName(BM)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(si.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ms(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Ms(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(iE,this.nodes.toolBar,si.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,C)=>{if(p instanceof N0)return d.createInstance(IM,p,void 0);if(p===this.availableSuggestionCountAction){const b=new LM(void 0,p,{label:!0,icon:!1});return b.setClass("availableSuggestionCount"),b}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{cm._dropDownVisible=p})),this._register(rs(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(rs(p=>{const C=this._suggestionCount.read(p),b=this._currentSuggestionIdx.read(p);C!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${b+1}/${C}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),C!==void 0&&C>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(rs(p=>{const b=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:w=>this._commandService.executeCommand(y.id)}));for(const[y,w]of this.inlineCompletionsActionsMenus.getActions())for(const A of w)A instanceof N0&&b.push(A);b.length>0&&b.unshift(new Ig),this.toolBar.setAdditionalSecondaryActions(b)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},cm=wc,wc._dropDownVisible=!1,wc.id=0,wc);K0=cm=k9([Br(6,Vs),Br(7,on),Br(8,As),Br(9,Ln),Br(10,Zu)],K0);class LM extends n1{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 IM=class extends vA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Fr("div.keybinding").root;this._register(new Tw(t,Mw,{disableTitle:!0,..._A})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},iE=class extends bA{constructor(e,t,i,n,s,r,a,d,u){super(e,{resetMenu:t,...i},n,s,r,a,d,u),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];zw(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){ja(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){ja(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};iE=k9([Br(3,Zu),Br(4,Ln),Br(5,af),Br(6,As),Br(7,Vs),Br(8,ua)],iE);function _b(o,e,t){const i=wo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let PM=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class R5 extends Rt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new ln),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Ms(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Ms(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Ms(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=C3(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){qn(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 PM(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 B9{constructor(){this._onDidWillResize=new ln,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new ln,this.onDidResize=this._onDidResize.event,this._sashListener=new Tt,this._size=new Zn(0,0),this._minSize=new Zn(0,0),this._maxSize=new Zn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new zh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new zh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new zh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:MS.North}),this._southSash=new zh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:MS.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(Ts.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(Ts.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(Ts.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(Ts.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 Zn(t,e);Zn.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 TM=30,MM=24;class RM extends Rt{constructor(e,t=new Zn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new B9),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Zn.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 Zn(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?Ai.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:wo(t).top+i.top-TM}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=wo(t),s=Ip(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-MM}_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 NM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bx=function(o,e){return function(t,i){e(t,i,o)}},Ea;const z8=30,OM=6;var Sc;let nE=(Sc=class extends RM{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,d=new Zn(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new EA),this._onDidResize=this._register(new ln),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=q.hoverVisible.bindTo(t),this._hoverFocusedKey=q.hoverFocused.bindTo(t),ci(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(f=>{f.hasChanged(50)&&this._updateFont()}));const u=this._register(I0(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return Ea.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 Ea._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Ea._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){Ea._applyMaxDimensions(this._hover.contentsDomNode,e,t),Ea._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 Zn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){Ea._lastDimensions=new Zn(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=OM;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?Ip(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=wo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=V8(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=V8(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,Ea._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Ea._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=Vh(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&&E3(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 Zn(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 Zn(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 Zn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Vh(e),i=yr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Vh(e),i=yr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=Vh(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-z8})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+z8})}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})}},Ea=Sc,Sc.ID="editor.contrib.resizableContentHoverWidget",Sc._lastDimensions=new Zn(0,0),Sc);nE=Ea=NM([bx(1,Ln),bx(2,ss),bx(3,K_),bx(4,As)],nE);function V8(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,d=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(d*d+u*u)}class Gm{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,d=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return sa.EMPTY;const i=Gm._getLineDecorations(this._editor,t);return sa.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):sa.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=Gm._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return yl(t)}}class N5{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 HM(this,this.anchor,t,this.isComplete)}}class HM extends N5{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var WM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const j8=mi;let Km=class extends Rt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=j8("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=ci(this.hoverElement,j8("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(y3.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=ci(this.actionsElement,e);return this._hasContent=!0,t}};Km=WM([zM(0,As)],Km);class VM{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function jM(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(bs);if(!(!s||!$M(s)))return new VM(o,s,e)}function F9(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>jM(a,d,e,t,i));return sa.fromPromises(r).coalesce()}function O5(o,e,t,i,n=!1){return F9(o,e,t,i,n).map(s=>s.hover).toPromise()}Bo("_executeHoverProvider",(o,e,t)=>{const i=o.get(ki);return O5(i.hoverProvider,e,t,cn.None)});Bo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(ki);return O5(i.hoverProvider,e,t,cn.None,!0)});function $M(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var UM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dd=function(o,e){return function(t,i){e(t,i,o)}};const Gh=mi,qM=ms("hover-increase-verbosity",Qi.add,S("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),GM=ms("hover-decrease-verbosity",Qi.remove,S("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Ir{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 H5{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case ur.Increase:return this.hover.canIncreaseVerbosity??!1;case ur.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Zg=class{constructor(e,t,i,n,s,r,a,d){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=d,this.hoverOrdinal=3}createLoadingMessage(e){return new Ir(this,e.range,[new lo().appendText(S("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 d=i.getLineLength(n),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),f=this._editor.getOption(118),g=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let p=!1;f>=0&&d>f&&e.range.startColumn>=f&&(p=!0,r.push(new Ir(this,e.range,[{value:S("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&d>=g&&r.push(new Ir(this,e.range,[{value:S("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let C=!1;for(const b of t){const y=b.range.startLineNumber===n?b.range.startColumn:1,w=b.range.endLineNumber===n?b.range.endColumn:s,A=b.options.hoverMessage;if(!A||Pg(A))continue;b.options.beforeContentClassName&&(C=!0);const I=new J(e.range.startLineNumber,y,e.range.startLineNumber,w);r.push(new Ir(this,I,yA(A),C,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return sa.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):sa.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return F9(e,t,s,n).filter(d=>!Pg(d.hover.contents)).map(d=>{const u=d.hover.range?J.lift(d.hover.range):i.range,f=new H5(d.hover,d.provider,s);return new Ir(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new KM(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))}};Zg=UM([dd(1,ha),dd(2,da),dd(3,ss),dd(4,ki),dd(5,As),dd(6,Pp),dd(7,Vs)],Zg);class Cx{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class KM{constructor(e,t,i,n,s,r,a,d,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=d,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new Tt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(is(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Tp(n=>n.ordinal,Z_)),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 Tt;if(r.add(i),!s)return new Cx(e,n,r);const a=s.supportsVerbosityAction(ur.Increase),d=s.supportsVerbosityAction(ur.Decrease);if(!a&&!d)return new Cx(e,n,r);const u=Gh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,ur.Increase,a)),r.add(this._renderHoverExpansionAction(u,ur.Decrease,d)),new Cx(e,n,r)}_renderMarkdownHover(e,t){return W5(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Tt,s=t===ur.Increase,r=ci(e,Gh(Rn.asCSSSelector(s?qM:GM)));r.tabIndex=0;const a=new w3("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,XM(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===ur.Increase?mb:vb);return n.add(new S3(r,d)),n.add(new D3(r,d,[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 d=new H5(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Ir(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,d),g=this._renderHoverPart(f,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,g,f),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:f,hoverElement:g.hoverElement}}async _fetchHover(e,t,i){let n=i===ur.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Gs;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const d={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,d))}catch(f){bs(f)}return a.dispose(),this._ongoingHoverOperations.delete(s),u}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,r=t.hoverElement,a=Array.from(r.children);s.replaceChildren(...a);const d=new Cx(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=d}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function ZM(o,e,t,i,n){e.sort(Tp(r=>r.ordinal,Z_));const s=[];for(const r of e)s.push(W5(t,r,i,n,o.onContentsChanged));return new zu(s)}function W5(o,e,t,i,n){const s=new Tt,r=Gh("div.hover-row"),a=Gh("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(Pg(f))continue;const g=Gh("div.markdown-hover"),p=ci(g,Gh("div.hover-contents")),C=s.add(new uf({editor:o},t,i));s.add(C.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const b=s.add(C.render(f));p.appendChild(b.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function XM(o,e){switch(e){case ur.Increase:{const t=o.lookupKeybinding(mb);return t?S("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):S("increaseVerbosity","Increase Hover Verbosity")}case ur.Decrease:{const t=o.lookupKeybinding(vb);return t?S("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):S("decreaseVerbosity","Decrease Hover Verbosity")}}}function sE(o,e){return!!o[e]}class EC{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=sE(e.event,t.triggerModifier),this.hasSideBySideModifier=sE(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class $8{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=sE(e,t.triggerModifier)}}class Ex{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 U8(o){return o==="altKey"?$a?new Ex(57,"metaKey",6,"altKey"):new Ex(5,"ctrlKey",6,"altKey"):$a?new Ex(6,"altKey",57,"metaKey"):new Ex(6,"altKey",5,"ctrlKey")}class bb extends Rt{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new ln),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new ln),this.onExecute=this._onExecute.event,this._onCancel=this._register(new ln),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=U8(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=U8(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 EC(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new EC(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new EC(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new $8(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new $8(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 z5{constructor(e,t){this.range=e,this.direction=t}}class L9{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new L9(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){bs(t),this._isResolved=!1}}}const i0=class i0{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async d=>{try{const u=await a.provideInlayHints(t,d,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??i0._emptyInlayHintList,a])}catch(u){bs(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new j_;return new i0(i,s,t)}constructor(e,t,i){this._disposables=new Tt,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 d=i.validatePosition(a.position);let u="before";const f=i0._getRangeAtPosition(i,d);let g;f.getStartPosition().isBefore(d)?(g=J.fromPositions(f.getStartPosition(),d),u="after"):(g=J.fromPositions(d,f.getEndPosition()),u="before"),n.push(new L9(a,new z5(g,u),r))}}this.items=n.sort((s,r)=>Ai.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 J(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 d=s.getStartOffset(a),u=s.getEndOffset(a);return u-d===1&&(d===r&&a>1?(d=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(d=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new J(i,d+1,i,u+1)}};i0._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Zm=i0;function YM(o){return jn.from({scheme:Eo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}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},tl=function(o,e){return function(t,i){e(t,i,o)}};let Hr=class extends A3{constructor(e,t,i,n,s,r,a,d,u,f,g,p,C){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,d,u,f,g,p,C),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(b=>this._onParentConfigurationChanged(b)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Vw(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Hr=QM([tl(4,on),tl(5,Cs),tl(6,Vs),tl(7,Ln),tl(8,Wr),tl(9,mo),tl(10,K_),tl(11,js),tl(12,ki)],Hr);const q8=new xn(new M0(0,122,204)),JM={showArrow:!0,showFrame:!0,className:"",frameColor:q8,arrowColor:q8,keepEditorSelection:!1},eR="vs.editor.contrib.zoneWidget";class tR{constructor(e,t,i,n,s,r,a,d){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=d,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class iR{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const t_=class t_{constructor(e){this._editor=e,this._ruleName=t_._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),RS(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(){RS(this._ruleName),F3(`.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:J.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};t_._IdGenerator=new B3(".arrow-decoration-");let oE=t_;class nR{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Tt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=k3(t),Vw(this.options,JM,!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 oE(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=J.isIRange(e)?J.lift(e):J.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:_n.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 d=0,u=0;if(this._arrow&&this.options.showArrow&&(d=Math.round(a/3),this._arrow.height=d,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new tR(r,i.lineNumber,i.column,t,C=>this._onViewZoneTop(C),C=>this._onViewZoneHeight(C),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new iR(eR+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const f=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=d+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,s),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new J(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===g.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new zh(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 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},j5=function(o,e){return function(t,i){e(t,i,o)}};const $5=Ml("IPeekViewService");Rl($5,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 So;(function(o){o.inPeekEditor=new yn("inReferenceSearchEditor",!0,S("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(So||(So={}));var C0;let Xm=(C0=class{constructor(e,t){e instanceof Hr&&So.inPeekEditor.bindTo(t)}dispose(){}},C0.ID="editor.contrib.referenceController",C0);Xm=V5([j5(1,Ln)],Xm);hn(Xm.ID,Xm,0);function sR(o){const e=o.get(Cs).getFocusedCodeEditor();return e instanceof Hr?e.getParentEditor():e}const oR={headerBackgroundColor:xn.white,primaryHeadingColor:xn.fromHex("#333333"),secondaryHeadingColor:xn.fromHex("#6c6c6cb3")};let Ym=class extends nR{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new ln,this.onDidClose=this._onDidClose.event,Vw(this.options,oR,!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=mi(".head"),this._bodyElement=mi(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=mi(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Sl(this._titleElement,"click",s=>this._onTitleClick(s))),ci(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=mi("span.filename"),this._secondaryHeading=mi("span.dirname"),this._metaHeading=mi("span.meta"),ci(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=mi(".peekview-actions");ci(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Bg(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new R0("peekview.close",S("label.close","Close"),Rn.asClassName(Qi.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:L3.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,Lr(this._metaHeading)):qo(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`)}};Ym=V5([j5(2,on)],Ym);const rR=vi("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:xn.black,hcLight:xn.white},S("peekViewTitleBackground","Background color of the peek view title area.")),U5=vi("peekViewTitleLabel.foreground",{dark:xn.white,light:xn.black,hcDark:xn.white,hcLight:Mp},S("peekViewTitleForeground","Color of the peek view title.")),q5=vi("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},S("peekViewTitleInfoForeground","Color of the peek view title info.")),aR=vi("peekView.border",{dark:s1,light:s1,hcDark:wl,hcLight:wl},S("peekViewBorder","Color of the peek view borders and arrow.")),lR=vi("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:xn.black,hcLight:xn.white},S("peekViewResultsBackground","Background color of the peek view result list."));vi("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:xn.white,hcLight:Mp},S("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));vi("peekViewResult.fileForeground",{dark:xn.white,light:"#1E1E1E",hcDark:xn.white,hcLight:Mp},S("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));vi("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},S("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));vi("peekViewResult.selectionForeground",{dark:xn.white,light:"#6C6C6C",hcDark:xn.white,hcLight:Mp},S("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const G5=vi("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:xn.black,hcLight:xn.white},S("peekViewEditorBackground","Background color of the peek view editor."));vi("peekViewEditorGutter.background",G5,S("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));vi("peekViewEditorStickyScroll.background",G5,S("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));vi("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},S("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));vi("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},S("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));vi("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Bu,hcLight:Bu},S("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Vc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=I3.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?S({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,Ua(this.uri),this.range.startLineNumber,this.range.startColumn):S("aria.oneReference","in {0} on line {1} at column {2}",Ua(this.uri),this.range.startLineNumber,this.range.startColumn)}}class cR{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,d=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new J(n,d.startColumn,n,s),f=new J(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),C=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+C,highlight:{start:g.length,end:g.length+p.length}}}}class Xg{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Nc}dispose(){uo(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?S("aria.fileReferences.1","1 symbol in {0}, full path {1}",Ua(this.uri),this.uri.fsPath):S("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Ua(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 cR(i))}catch(i){qn(i)}return this}}class No{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new ln,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(No._compareReferences);let n;for(const s of e)if((!n||!NS.isEqual(n.uri,s.uri,!0))&&(n=new Xg(this,s.uri),this.groups.push(n)),n.children.length===0||No._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Vc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){uo(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new No(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?S("aria.result.0","No results found"):this.references.length===1?S("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?S("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):S("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:Rp(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()&&J.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 NS.compare(e.uri,t.uri)||J.compareRangesUsingStarts(e.range,t.range)}}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},Eb=function(o,e){return function(t,i){e(t,i,o)}},rE;let aE=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof No||e instanceof Xg}getChildren(e){if(e instanceof No)return e.groups;if(e instanceof Xg)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};aE=Cb([Eb(0,fa)],aE);class dR{getHeight(){return 23}getTemplateId(e){return e instanceof Xg?Qm.id:Jm.id}}let lE=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Vc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Ua(e.uri)}};lE=Cb([Eb(0,As)],lE);class uR{getId(e){return e instanceof Vc?e.id:e.uri}}let cE=class extends Rt{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new wA(i,{supportHighlights:!0})),this.badge=new P3(ci(i,mi(".count")),{},T3),e.appendChild(i)}set(e,t){const i=jw(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(S("referencesCount","{0} references",n)):this.badge.setTitleFormat(S("referenceCount","{0} reference",n))}};cE=Cb([Eb(1,Tg)],cE);var qd;let Qm=(qd=class{constructor(e){this._instantiationService=e,this.templateId=rE.id}renderTemplate(e){return this._instantiationService.createInstance(cE,e)}renderElement(e,t,i){i.set(e.element,X_(e.filterData))}disposeTemplate(e){e.dispose()}},rE=qd,qd.id="FileReferencesRenderer",qd);Qm=rE=Cb([Eb(0,on)],Qm);class hR extends Rt{constructor(e){super(),this.label=this._register(new M3(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(`${Ua(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Mg.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,X_(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const i_=class i_{constructor(){this.templateId=i_.id}renderTemplate(e){return new hR(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};i_.id="OneReferenceRenderer";let Jm=i_;class fR{getWidgetAriaLabel(){return S("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var gR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ch=function(o,e){return function(t,i){e(t,i,o)}};const n_=class n_{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Tt,this._callOnModelChange=new Tt,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:n_.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(!J.equalsRange(s,n.range)){if(J.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,d=s.endColumn-s.startColumn;a!==d&&(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()}};n_.DecorationOptions=_n.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let dE=n_;class pR{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 xR extends O3{}let uE=class extends Ym{constructor(e,t,i,n,s,r,a,d,u){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=d,this._keybindingService=u,this._disposeOnNewModel=new Tt,this._callOnDispose=new Tt,this._onDidSelectReference=new ln,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Zn(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(),uo(this._preview),uo(this._previewNotAvailableMessage),uo(this._tree),uo(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(aR)||xn.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(rR)||xn.transparent,primaryHeadingColor:e.getColor(U5),secondaryHeadingColor:e.getColor(q5)})}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=ci(e,mi("div.messages")),qo(this._messageContainer),this._splitView=new R3(e,{orientation:1}),this._previewContainer=ci(e,mi("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(Hr,this._previewContainer,t,{},this.editor),qo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(dc,S("missingPreviewMessage","no preview available"),Rg,dc.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=ci(e,mi("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new fR,keyboardNavigationLabelProvider:this._instantiationService.createInstance(lE),identityProvider:new uR,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:lR}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Sl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(xR,"ReferencesWidget",this._treeContainer,new dR,[this._instantiationService.createInstance(Qm),this._instantiationService.createInstance(Jm)],this._instantiationService.createInstance(aE),i),this._splitView.addView({onDidChange:Ts.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},OS.Distribute),this._splitView.addView({onDidChange:Ts.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)}},OS.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 Vc&&(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")})),qo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Zn(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=S("noResults","No results"),Lr(this._messageContainer),Promise.resolve(void 0)):(qo(this._messageContainer),this._decorationsManager=new dE(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"),Lr(this._treeContainer),Lr(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 Vc)return e;if(e instanceof Xg&&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!==Eo.inMemory?this.setTitle(N3(e.uri),this._uriLabel.getUriLabel(jw(e.uri))):this.setTitle(S("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}uo(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=J.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()}};uE=gR([Ch(3,Wr),Ch(4,fa),Ch(5,on),Ch(6,$5),Ch(7,Tg),Ch(8,As)],uE);var mR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Eh=function(o,e){return function(t,i){e(t,i,o)}},dm;const ih=new yn("referenceSearchVisible",!1,S("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Gd;let Vu=(Gd=class{static get(e){return e.getContribution(dm.ID)}constructor(e,t,i,n,s,r,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=d,this._disposables=new Tt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ih.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=pR.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(uE,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(S("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(d=>{const{element:u,kind:f}=d;if(u)switch(f){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(d=>{var u;if(a!==this._requestIdPool||!this._widget){d.dispose();return}return(u=this._model)==null||u.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(S("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new Ai(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}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=J.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=dm.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,qs(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,qn(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)}},dm=Gd,Gd.ID="editor.contrib.referencesController",Gd);Vu=dm=mR([Eh(2,Ln),Eh(3,Cs),Eh(4,mo),Eh(5,on),Eh(6,Gc),Eh(7,ss)],Vu);function nh(o,e){const t=sR(o);if(!t)return;const i=Vu.get(t);i&&e(i)}Ka.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ds(2089,60),when:Ge.or(ih,So.inPeekEditor),handler(o){nh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ka.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Ge.or(ih,So.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ka.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Ge.or(ih,So.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!1)})}});Qn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Qn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Qn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Qn.registerCommand("closeReferenceSearch",o=>nh(o,e=>e.closeWidget()));Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Ge.and(So.inPeekEditor,Ge.not("config.editor.stablePeek"))});Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Ge.and(ih,Ge.not("config.editor.stablePeek"),Ge.or(q.editorTextFocus,H3.negate()))});Ka.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Ge.and(ih,SA,DA.negate(),AA.negate()),handler(o){var i;const t=(i=o.get($w).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.revealReference(t[0]))}});Ka.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Ge.and(ih,SA,DA.negate(),AA.negate()),handler(o){var i;const t=(i=o.get($w).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.openReference(t[0],!0,!0))}});Qn.registerCommand("openReference",o=>{var i;const t=(i=o.get($w).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.openReference(t[0],!1,!0))});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},Zf=function(o,e){return function(t,i){e(t,i,o)}};const I9=new yn("hasSymbols",!1,S("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),yb=Ml("ISymbolNavigationService");let hE=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=I9.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 fE(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),d=r.getPosition();if(!a||!d)return;let u=!1,f=!1;for(const g of t.references)if(Sm(g.uri,a.uri))u=!0,f=f||J.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=kA(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:J.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?S("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):S("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};hE=K5([Zf(0,Ln),Zf(1,Cs),Zf(2,mo),Zf(3,As)],hE);Rl(yb,hE,1);Pi(new class extends ko{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:I9,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(yb).revealNext(e)}});Ka.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:I9,primary:9,handler(o){o.get(yb).reset()}});let fE=class{constructor(e){this._listener=new Map,this._disposables=new Tt,this._onDidChange=new ln,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(),uo(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,kA(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)}};fE=K5([Zf(0,Cs)],fE);function gE(o,e){return e.uri.scheme===o.uri.scheme?!0:!W3(e.uri,Eo.walkThroughSnippet,Eo.vscodeChatCodeBlock,Eo.vscodeChatCodeCompareBlock)}async function Kp(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{bs(u)})),a=await Promise.all(r);return yl(a.flat()).filter(d=>gE(o,d))}function Zp(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function P9(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function T9(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function M9(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Xp(o,e,t,i,n,s){return Kp(e,t,o,n,async(r,a,d)=>{var g,p;const u=(g=await r.provideReferences(a,d,{includeDeclaration:!0},s))==null?void 0:g.filter(C=>gE(a,C));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,d,{includeDeclaration:!1},s))==null?void 0:p.filter(C=>gE(a,C));return f&&f.length===1?f:u})}async function Za(o){const e=await o(),t=new No(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Bo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(ki),n=Zp(i.definitionProvider,e,t,!1,cn.None);return Za(()=>n)});Bo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=Zp(i.definitionProvider,e,t,!0,cn.None);return Za(()=>n)});Bo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(ki),n=M9(i.typeDefinitionProvider,e,t,!1,cn.None);return Za(()=>n)});Bo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=M9(i.typeDefinitionProvider,e,t,!0,cn.None);return Za(()=>n)});Bo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(ki),n=P9(i.declarationProvider,e,t,!1,cn.None);return Za(()=>n)});Bo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=P9(i.declarationProvider,e,t,!0,cn.None);return Za(()=>n)});Bo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(ki),n=Xp(i.referenceProvider,e,t,!1,!1,cn.None);return Za(()=>n)});Bo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=Xp(i.referenceProvider,e,t,!1,!0,cn.None);return Za(()=>n)});Bo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(ki),n=T9(i.implementationProvider,e,t,!1,cn.None);return Za(()=>n)});Bo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=T9(i.implementationProvider,e,t,!0,cn.None);return Za(()=>n)});Rr.appendMenuItem(si.EditorContext,{submenu:si.EditorContextPeek,title:S("peek.submenu","Peek"),group:"navigation",order:100});class Z0{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Z0||Ai.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Cr=class Cr extends la{static all(){return Cr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of ml.wrap(t.menu))(i.id===si.EditorContext||i.id===si.EditorContextPeek)&&(i.when=Ge.and(e.precondition,i.when));return t}constructor(e,t){super(Cr._patchConfig(t)),this.configuration=e,Cr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(mo),r=e.get(Cs),a=e.get(Ap),d=e.get(yb),u=e.get(ki),f=e.get(on),g=t.getModel(),p=t.getPosition(),C=Z0.is(i)?i:new Z0(g,p),b=new L0(t,5),y=Sp(this._getLocationModel(u,C.model,C.position,b.token),b.token).then(async w=>{var M;if(!w||b.token.isCancellationRequested)return;Nr(w.ariaMessage);let A;if(w.referenceAt(g.uri,p)){const R=this._getAlternativeCommand(t);!Cr._activeAlternativeCommands.has(R)&&Cr._allSymbolNavigationCommands.has(R)&&(A=Cr._allSymbolNavigationCommands.get(R))}const I=w.references.length;if(I===0){if(!this.configuration.muteMessage){const R=g.getWordAtPosition(p);(M=Ro.get(t))==null||M.showMessage(this._getNoResultFoundMessage(R),p)}}else if(I===1&&A)Cr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(R=>A.runEditorCommand(R,t,i,n).finally(()=>{Cr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,w,n)},w=>{s.error(w)}).finally(()=>{b.dispose()});return a.showWhile(y,250),y}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Hr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),d=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(z3(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:J.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const d=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=Vu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),qs(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Cr._allSymbolNavigationCommands=new Map,Cr._activeAlternativeCommands=new Set;let Fl=Cr;class Yp extends Fl{async _getLocationModel(e,t,i,n){return new No(await Zp(e.definitionProvider,t,i,!1,n),S("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("noResultWord","No definition found for '{0}'",e.word):S("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var Dc;Vn((Dc=class extends Yp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Dc.id,title:{...Si("actions.goToDecl.label","Go to Definition"),mnemonicTitle:S({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:q.hasDefinitionProvider,keybinding:[{when:q.editorTextFocus,primary:70,weight:100},{when:Ge.and(q.editorTextFocus,BA),primary:2118,weight:100}],menu:[{id:si.EditorContext,group:"navigation",order:1.1},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Qn.registerCommandAlias("editor.action.goToDeclaration",Dc.id)}},Dc.id="editor.action.revealDefinition",Dc));var Ac;Vn((Ac=class extends Yp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Ac.id,title:Si("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:Ge.and(q.hasDefinitionProvider,q.isInEmbeddedEditor.toNegated()),keybinding:[{when:q.editorTextFocus,primary:Ds(2089,70),weight:100},{when:Ge.and(q.editorTextFocus,BA),primary:Ds(2089,2118),weight:100}]}),Qn.registerCommandAlias("editor.action.openDeclarationToTheSide",Ac.id)}},Ac.id="editor.action.revealDefinitionAside",Ac));var kc;Vn((kc=class extends Yp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:kc.id,title:Si("actions.previewDecl.label","Peek Definition"),precondition:Ge.and(q.hasDefinitionProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:si.EditorContextPeek,group:"peek",order:2}}),Qn.registerCommandAlias("editor.action.previewDeclaration",kc.id)}},kc.id="editor.action.peekDefinition",kc));class Z5 extends Fl{async _getLocationModel(e,t,i,n){return new No(await P9(e.declarationProvider,t,i,!1,n),S("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Kd;Vn((Kd=class extends Z5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Kd.id,title:{...Si("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:S({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:Ge.and(q.hasDeclarationProvider,q.isInEmbeddedEditor.toNegated()),menu:[{id:si.EditorContext,group:"navigation",order:1.3},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}},Kd.id="editor.action.revealDeclaration",Kd));Vn(class extends Z5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Si("actions.peekDecl.label","Peek Declaration"),precondition:Ge.and(q.hasDeclarationProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:si.EditorContextPeek,group:"peek",order:3}})}});class X5 extends Fl{async _getLocationModel(e,t,i,n){return new No(await M9(e.typeDefinitionProvider,t,i,!1,n),S("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):S("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Zd;Vn((Zd=class extends X5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Zd.ID,title:{...Si("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:S({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:q.hasTypeDefinitionProvider,keybinding:{when:q.editorTextFocus,primary:0,weight:100},menu:[{id:si.EditorContext,group:"navigation",order:1.4},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Zd.ID="editor.action.goToTypeDefinition",Zd));var Xd;Vn((Xd=class extends X5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Xd.ID,title:Si("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:Ge.and(q.hasTypeDefinitionProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:si.EditorContextPeek,group:"peek",order:4}})}},Xd.ID="editor.action.peekTypeDefinition",Xd));class Y5 extends Fl{async _getLocationModel(e,t,i,n){return new No(await T9(e.implementationProvider,t,i,!1,n),S("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):S("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Yd;Vn((Yd=class extends Y5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Yd.ID,title:{...Si("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:S({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:q.hasImplementationProvider,keybinding:{when:q.editorTextFocus,primary:2118,weight:100},menu:[{id:si.EditorContext,group:"navigation",order:1.45},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Yd.ID="editor.action.goToImplementation",Yd));var Qd;Vn((Qd=class extends Y5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Qd.ID,title:Si("actions.peekImplementation.label","Peek Implementations"),precondition:Ge.and(q.hasImplementationProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:3142,weight:100},menu:{id:si.EditorContextPeek,group:"peek",order:5}})}},Qd.ID="editor.action.peekImplementation",Qd));class Q5 extends Fl{_getNoResultFoundMessage(e){return e?S("references.no","No references found for '{0}'",e.word):S("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Vn(class extends Q5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Si("goToReferences.label","Go to References"),mnemonicTitle:S({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:Ge.and(q.hasReferenceProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:1094,weight:100},menu:[{id:si.EditorContext,group:"navigation",order:1.45},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new No(await Xp(e.referenceProvider,t,i,!0,!1,n),S("ref.title","References"))}});Vn(class extends Q5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Si("references.action.label","Peek References"),precondition:Ge.and(q.hasReferenceProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:si.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new No(await Xp(e.referenceProvider,t,i,!1,!1,n),S("ref.title","References"))}});class vR extends Fl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Si("label.generic","Go to Any Symbol"),precondition:Ge.and(So.notInPeekEditor,q.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new No(this._references,S("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&S("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Qn.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:jn},{name:"position",description:"The position at which to start",constraint:Ai.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)=>{Pn(jn.isUri(e)),Pn(Ai.isIPosition(t)),Pn(Array.isArray(i)),Pn(typeof n>"u"||typeof n=="string"),Pn(typeof r>"u"||typeof r=="boolean");const a=o.get(Cs),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(FA(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends vR{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(on).invokeFunction(f.run.bind(f),d)})}});Qn.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:jn},{name:"position",description:"The position at which to start",constraint:Ai.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(Vs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Qn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Pn(jn.isUri(e)),Pn(Ai.isIPosition(t));const i=o.get(ki),n=o.get(Cs);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!FA(s)||!s.hasModel())return;const r=Vu.get(s);if(!r)return;const a=qs(u=>Xp(i.referenceProvider,s.getModel(),Ai.lift(t),!1,!1,u).then(f=>new No(f,S("ref.title","References")))),d=new J(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});Qn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function _R(o,e,t,i){const n=o.get(fa),s=o.get(af),r=o.get(Vs),a=o.get(on),d=o.get(mo);if(await i.item.resolve(cn.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Rr.getMenuItems(si.EditorContext).map(C=>V3(C)?C.command.id:pb()));for(const C of Fl.all())g.has(C.desc.id)&&f.push(new R0(C.desc.id,N0.label(C.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const b=await n.createModelReference(u.uri);try{const y=new Z0(b.object.textEditorModel,J.getStartPosition(u.range)),w=i.item.anchor.range;await a.invokeFunction(C.runEditorCommand.bind(C),e,y,w)}finally{b.dispose()}}));if(i.part.command){const{command:C}=i.part;f.push(new Ig),f.push(new R0(C.id,C.title,void 0,!0,async()=>{try{await r.executeCommand(C.id,...C.arguments??[])}catch(b){d.notify({severity:Uw.Error,source:i.item.provider.displayName,message:b})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const C=wo(t);return{x:C.left,y:C.top+C.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function J5(o,e,t,i){const s=await o.get(fa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(Ln),u=So.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new Yp({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Z0(s.object.textEditorModel,J.getStartPosition(i.range)),J.lift(i.range))}),s.dispose()}var bR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yh=function(o,e){return function(t,i){e(t,i,o)}},Oh;class ev{constructor(){this._entries=new Bp(50)}get(e){const t=ev._key(e);return this._entries.get(t)}set(e,t){const i=ev._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const eB=Ml("IInlayHintsCache");Rl(eB,ev,1);class pE{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 CR{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var xl;let Yg=(xl=class{static get(e){return e.getContribution(Oh.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 Tt,this._sessionDisposables=new Tt,this._decorationsMetadata=new Map,this._ruleFactory=new xA(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(d=>{d.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,d;e.enabled==="onUnlessPressed"?(a=0,d=1):(a=1,d=0),this._activeRenderMode=a,this._sessionDisposables.add(j3.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?d:a;if(f!==this._activeRenderMode){this._activeRenderMode=f;const g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(is(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new Ms(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Gs;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Zm.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(r.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){f.dispose();return}for(const g of f.provider)typeof g.onDidChangeInlayHints=="function"&&!s.has(g)&&(s.add(g),this._sessionDisposables.add(g.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(f),this._updateHintsDecorators(f.ranges,f.items),this._cacheHintsForFastRestore(t)}catch(u){qn(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(is(()=>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 d=Math.max(r.delay,1250);r.schedule(d)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Tt,t=e.add(new bb(this._editor)),i=new Tt;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 d=new Gs;i.add(is(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new CR(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new J(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(is(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([f],g)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async n=>{const s=this._getInlayHintLabelPart(n);if(s){const r=s.part;r.location?this._instaService.invokeFunction(J5,n,this._editor,r.location):$3.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(cn.None),Yo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>cs.replace(J.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!U3(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(_R,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 qw&&(t==null?void 0:t.attachedData)instanceof pE)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Uw.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 z5(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(J.compareRangesUsingStarts)){const r=t.validateRange(new J(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!J.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=J.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var b,y;const i=[],n=(w,A,I,M,R)=>{const P={content:I,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:A.className,cursorStops:M,attachedData:R};i.push({item:w,classNameRef:A,decoration:{range:w.anchor.range,options:{description:"InlayHint",showIfCollapsed:w.anchor.range.isEmpty(),collapseOnReplaceEdit:!w.anchor.range.isEmpty(),stickiness:0,[w.anchor.direction]:this._activeRenderMode===0?P:void 0}}})},s=(w,A)=>{const I=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(w,I," ",A?jh.Right:jh.None)},{fontSize:r,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const w of t){if(g.line!==w.anchor.range.startLineNumber&&(g={line:w.anchor.range.startLineNumber,totalLen:0}),g.totalLen>Oh._MAX_LABEL_LEN)continue;w.hint.paddingLeft&&s(w,!1);const A=typeof w.hint.label=="string"?[{label:w.hint.label}]:w.hint.label;for(let I=0;I<A.length;I++){const M=A[I],R=I===0,P=I===A.length-1,V={fontSize:`${r}px`,fontFamily:`var(${f}), ${Ww.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};Yo(w.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,w.hint),(M.command||M.location)&&((b=this._activeInlayHintPart)==null?void 0:b.part.item)===w&&this._activeInlayHintPart.part.index===I&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=Fs(q3),V.cursor="pointer")),d&&(R&&P?(V.padding=`1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px`):R?(V.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):P?(V.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,V.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):V.padding="1px 0 1px 0");let j=M.label;g.totalLen+=j.length;let ee=!1;const ae=g.totalLen-Oh._MAX_LABEL_LEN;if(ae>0&&(j=j.slice(0,-ae)+"…",ee=!0),n(w,this._ruleFactory.createClassNameRef(V),ER(j),P&&!w.hint.paddingRight?jh.Right:jh.None,new pE(w,I)),ee)break}if(w.hint.paddingRight&&s(w,!0),i.length>Oh._MAX_DECORATORS)break}const p=[];for(const[w,A]of this._decorationsMetadata){const I=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(w);I&&e.some(M=>M.containsRange(I))&&(p.push(w),A.classNameRef.dispose(),this._decorationsMetadata.delete(w))}const C=T0.capture(this._editor);this._editor.changeDecorations(w=>{const A=w.deltaDecorations(p,i.map(I=>I.decoration));for(let I=0;I<A.length;I++){const M=i[I];this._decorationsMetadata.set(A[I],M)}}),C.restore(this._editor)}_fillInColors(e,t){t.kind===HS.Parameter?(e.backgroundColor=Fs(G3),e.color=Fs(K3)):t.kind===HS.Type?(e.backgroundColor=Fs(Z3),e.color=Fs(X3)):(e.backgroundColor=Fs(Y3),e.color=Fs(Q3))}_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()}},Oh=xl,xl.ID="editor.contrib.InlayHints",xl._MAX_DECORATORS=1500,xl._MAX_LABEL_LEN=43,xl);Yg=Oh=bR([yh(1,ki),yh(2,gr),yh(3,eB),yh(4,Vs),yh(5,mo),yh(6,on)],Yg);function ER(o){return o.replace(/[ \t]/g," ")}Qn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Pn(jn.isUri(t)),Pn(J.isIRange(i));const{inlayHintsProvider:n}=o.get(ki),s=await o.get(fa).createModelReference(t);try{const r=await Zm.create(n,s.object.textEditorModel,[J.lift(i)],cn.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var yR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zl=function(o,e){return function(t,i){e(t,i,o)}};class G8 extends am{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let tv=class extends Zg{constructor(e,t,i,n,s,r,a,d,u){super(e,t,i,r,d,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!Yg.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof qw&&i.attachedData instanceof pE?new G8(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof G8?new sa(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 lo().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Ir(this,e.range,[r],!1,0)),Yo(s.item.hint.textEdits)&&n.emitOne(new Ir(this,e.range,[new lo().appendText(S("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new lo().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Ir(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?$a?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):$a?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new lo().appendText(S("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new lo().appendText(S("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new lo(`[${S("hint.cmd","Execute Command")}](${YM(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Ir(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):sa.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return sa.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)?F9(this._languageFeaturesService.hoverProvider,r,new Ai(n.startLineNumber,n.startColumn),t).filter(a=>!Pg(a.hover.contents)).map(a=>new Ir(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):sa.EMPTY}finally{s.dispose()}}};tv=yR([Zl(1,ha),Zl(2,da),Zl(3,As),Zl(4,Pp),Zl(5,ss),Zl(6,fa),Zl(7,ki),Zl(8,Vs)],tv);class R9 extends Rt{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new xE(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=R9.computeHoverPositions(e,a.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=f,this.initialMousePosX=a.initialMousePosX,this.initialMousePosY=a.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const f=e._getViewModel(),g=f.coordinatesConverter,p=g.convertModelRangeToViewRange(t),C=f.getLineMinColumn(p.startLineNumber),b=new Ai(p.startLineNumber,C);n=g.convertViewPositionToModelPosition(b).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,C=g.endLineNumber===s;if(p&&C){const y=g.startColumn,w=Math.min(r,y);r=Math.max(w,n)}f.forceShowAtRange&&(a=g)}let d,u;if(a){const f=a.getStartPosition();d=f,u=f}else d=t.getStartPosition(),u=new Ai(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class wR{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 s_=class s_ extends Rt{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 Rt.None;let i=t[0].range;for(const s of t){const r=s.range;i=J.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:s_._DECORATION_OPTIONS}]),is(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new Km(n),r={fragment:this._fragment,statusBar:s,...i},a=new Tt;for(const u of e){const f=this._renderHoverPartsForParticipant(t,u,r);a.add(f);for(const g of f.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:u,hoverPart:g.hoverPart,hoverElement:g.hoverElement})}const d=this._renderStatusBar(this._fragment,s);return d&&(a.add(d),this._renderedParts.push({type:"statusBar",hoverElement:d.hoverElement,actions:d.actions})),is(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new zu([])}_renderStatusBar(e,t){if(t.hasContent)return new wR(e,t)}_registerListenersOnRenderedParts(){const e=new Tt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Fn(n,as.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Fn(n,as.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Zg&&!(i instanceof tv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Gg)}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 O0;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};s_._DECORATION_OPTIONS=_n.register({description:"content-hover-highlight",className:"hoverHighlight"});let xE=s_;var SR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},K8=function(o,e){return function(t,i){e(t,i,o)}};let mE=class extends Rt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new ln),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(nE,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new Gm(this._editor,this._participants),this._hoverOperation=this._register(new R5(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of th.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 N5(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(Sl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(Sl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(Y_.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,d=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&d?(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 R9(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 CC(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 CC(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||!_b(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new CC(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}};mE=SR([K8(1,on),K8(2,As)],mE);var DR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Z8=function(o,e){return function(t,i){e(t,i,o)}},vE,Jd;let ro=(Jd=class extends Rt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new ln),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Tt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Ms(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(vE.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?_b(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 d=this._isMouseOnContentHoverWidget(r);return a&&d},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),d=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&d},s=(r,a)=>{var d,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((d=r.event.browserEvent.view)==null?void 0:d.document.activeElement))&&!((g=(f=r.event.browserEvent.view)==null?void 0:f.getSelection())!=null&&g.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,d,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(d=this._contentWidget)!=null&&d.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((u=this._contentWidget)!=null&&u.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((f=this._contentWidget)==null?void 0:f.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var d;if(!e)return;const i=(d=e.target.element)==null?void 0:d.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===I5||t.commandId===mb||t.commandId===vb)&&((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)||K0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(mE,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()}},vE=Jd,Jd.ID="editor.contrib.contentHover",Jd);ro=vE=DR([Z8(1,on),Z8(2,As)],ro);const DS=class DS extends Rt{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!==S5||!i.range)return;const n=this._editor.getContribution(ro.ID);if(n&&!n.isColorPickerVisible){const s=new J(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};DS.ID="editor.contrib.colorContribution";let iv=DS;hn(iv.ID,iv,2);th.register(Gg);var tB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kh=function(o,e){return function(t,i){e(t,i,o)}},_E,bE,eu;let ju=(eu=class extends Rt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=q.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=q.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(CE,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(_E.ID)}},_E=eu,eu.ID="editor.contrib.standaloneColorPickerController",eu);ju=_E=tB([Kh(1,Ln),Kh(2,on)],ju);hn(ju.ID,ju,1);const X8=8,AR=22;var tu;let CE=(tu=class extends Rt{constructor(e,t,i,n,s,r,a){var g;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=r,this._editorWorkerService=a,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new ln),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Kg,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(I0(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var b;const C=(b=p.target.element)==null?void 0:b.classList;C&&C.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return bE.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 kR(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 qg(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 Km(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 d=a.body,u=d.saturationBox.domNode.clientWidth,f=d.domNode.clientWidth-u-AR-X8,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,C=p.pickedColorNode;C.style.width=u+X8+"px";const b=p.originalColorNode;b.style.width=f+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},bE=tu,tu.ID="editor.contrib.standaloneColorPickerWidget",tu);CE=bE=tB([Kh(3,on),Kh(4,As),Kh(5,ki),Kh(6,Nl)],CE);class kR{constructor(e,t){this.value=e,this.foundInEditor=t}}class BR extends la{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Si("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:S({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:si.CommandPalette}],metadata:{description:Si("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=ju.get(t))==null||i.showOrFocus()}}class FR extends vt{constructor(){super({id:"editor.action.hideColorPicker",label:S({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:q.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Si("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.hide()}}class LR extends vt{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:S({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:q.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Si("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.insertColor()}}Ie(FR);Ie(LR);Vn(BR);class fc{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),d=t.charCodeAt(r);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,d=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let C=g.lastIndexOf(t,d-1+t.length),b=p.indexOf(i,f-1-i.length);if(C!==-1&&b!==-1)if(a===u)g.substring(C+t.length,b).indexOf(i)>=0&&(C=-1,b=-1);else{const w=g.substring(C+t.length),A=p.substring(0,b);(w.indexOf(i)>=0||A.indexOf(i)>=0)&&(C=-1,b=-1)}let y;C!==-1&&b!==-1?(n&&C+t.length<g.length&&g.charCodeAt(C+t.length)===32&&(t=t+" "),n&&b>0&&p.charCodeAt(b-1)===32&&(i=" "+i,b-=1),y=fc._createRemoveBlockCommentOperations(new J(a,C+t.length+1,u,b+1),t,i)):(y=fc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const w of y)r.addTrackedEditOperation(w.range,w.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return J.isEmpty(e)?n.push(cs.delete(new J(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(cs.delete(new J(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(cs.delete(new J(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return J.isEmpty(e)?s.push(cs.replace(new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(cs.insert(new Ai(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(cs.insert(new Ai(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),r=this.languageConfigurationService.getLanguageConfiguration(s).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const n=i[0],s=i[1];return new $i(n.range.endLineNumber,n.range.endColumn,s.range.startLineNumber,s.range.startColumn)}else{const n=i[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new $i(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class sl{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 d=[];for(let u=0,f=i-t+1;u<f;u++)d[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,n,s,r,a,d){let u=!0,f;e===0?f=!0:e===1?f=!1:f=!0;for(let g=0,p=n.length;g<p;g++){const C=n[g],b=s+g;if(b===s&&a){C.ignore=!0;continue}const y=i.getLineContent(b),w=o1(y);if(w===-1){C.ignore=r,C.commentStrOffset=y.length;continue}if(u=!1,C.ignore=!1,C.commentStrOffset=w,f&&!fc._haystackHasNeedleAtOffset(y,C.commentStr,w)&&(e===0?f=!1:e===1||(C.ignore=!0)),f&&t){const A=w+C.commentStrLength;A<y.length&&y.charCodeAt(A)===32&&(C.commentStrLength+=1)}}if(e===0&&u){f=!1;for(let g=0,p=n.length;g<p;g++)n[g].ignore=!1}return{supported:!0,shouldRemoveComments:f,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,d){const u=sl._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:sl._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=sl._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(sl._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Ai(n.positionLineNumber,n.positionColumn);for(let a=0,d=s.length;a<d;a++)t.addEditOperation(s[a].range,s[a].text),J.isEmpty(s[a].range)&&J.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 d=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return d!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,d+i.length),r=s),d===-1&&u!==-1&&(d=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(d===-1||u===-1)&&(d=e.getLineContent(s).indexOf(i),d!==-1&&(u=e.getLineContent(s).indexOf(n,d+i.length))),d!==-1&&e.getLineContent(s).charCodeAt(d+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),d!==-1&&u!==-1?fc._createRemoveBlockCommentOperations(new J(s,d+i.length+1,r,u+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!s||!s.blockCommentStartToken||!s.blockCommentEndToken)return;const r=s.blockCommentStartToken,a=s.blockCommentEndToken;let d=this._attemptRemoveBlockComment(e,i,r,a);if(!d){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=o1(u);f===-1&&(f=u.length),d=fc._createAddBlockCommentOperations(new J(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=fc._createAddBlockCommentOperations(new J(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);d.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of d)t.addEditOperation(u.range,u.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new J(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=sl._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new $i(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];r.ignore||i.push(cs.delete(new J(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(cs.insert(new Ai(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 d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(let p=0,C=t[d].commentStrOffset;g<s&&p<C;p++)g=sl.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(r=0,a=t[d].commentStrOffset;g<s&&r<a;r++)g=sl.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class N9 extends vt{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(js);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),d=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));d.sort((f,g)=>J.compareRangesUsingStarts(f.selection,g.selection));let u=d[0];for(let f=1;f<d.length;f++){const g=d[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of d)s.push(new sl(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class IR extends N9{constructor(){super(0,{id:"editor.action.commentLine",label:S("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class PR extends N9{constructor(){super(1,{id:"editor.action.addCommentLine",label:S("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2081),weight:100}})}}class TR extends N9{constructor(){super(2,{id:"editor.action.removeCommentLine",label:S("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2099),weight:100}})}}class MR extends vt{constructor(){super({id:"editor.action.blockComment",label:S("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(js);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new fc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}Ie(IR);Ie(PR);Ie(TR);Ie(MR);var RR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ud=function(o,e){return function(t,i){e(t,i,o)}},EE,iu;let X0=(iu=class{static get(e){return e.getContribution(EE.ID)}constructor(e,t,i,n,s,r,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new Tt,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const f=this._contextViewService.getContextViewElement(),g=u.srcElement;g.shadowRoot&&J3(f)===g.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,r]=s;let a=0;for(const d of r)if(d instanceof e4){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new WS(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new Ig)}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=wo(this._editor.getDomNode()),d=a.left+r.left,u=a.top+r.top+r.height;n={x:d,y:u}}const s=this._editor.getOption(128)&&!r1;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 n1(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new n1(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()||t4(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),s=(u,f)=>new WS(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,C)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const b=w=>()=>{this._configurationService.updateValue(g,w)},y=[];for(const w of C)y.push(n({label:w.label,checked:p===w.value,run:b(w.value)}));return s(u,y)},a=[];a.push(n({label:S("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Ig),a.push(n({label:S("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(S("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:S("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:S("context.minimap.size.fill","Fill"),value:"fill"},{label:S("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(S("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:S("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:S("context.minimap.slider.always","Always"),value:"always"}]));const d=this._editor.getOption(128)&&!r1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},EE=iu,iu.ID="editor.contrib.contextmenu",iu);X0=EE=RR([ud(1,af),ud(2,$_),ud(3,Ln),ud(4,As),ud(5,Zu),ud(6,ss),ud(7,F0)],X0);class NR extends vt{constructor(){super({id:"editor.action.showContextMenu",label:S("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=X0.get(t))==null||i.showContextMenu()}}hn(X0.ID,X0,2);Ie(NR);class yC{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 wC{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const o_=class o_ extends Rt{static get(e){return e.getContribution(o_.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 yC(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new wC(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 wC(new yC(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 wC(new yC(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}};o_.ID="editor.contrib.cursorUndoRedoController";let Y0=o_;class OR extends vt{constructor(){super({id:"cursorUndo",label:S("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Y0.get(t))==null||n.cursorUndo()}}class HR extends vt{constructor(){super({id:"cursorRedo",label:S("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Y0.get(t))==null||n.cursorRedo()}}hn(Y0.ID,Y0,0);Ie(OR);Ie(HR);class WR{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 J(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new $i(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new $i(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new $i(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new $i(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new $i(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}}function wh(o){return $a?o.altKey:o.ctrlKey}const nc=class nc extends Rt{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)||(wh(e)&&(this._modifierPressed=!0),this._mouseDown&&wh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(wh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===nc.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}wh(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 Ai(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const n=this._editor.getSelection();if(n){const{selectionStartLineNumber:s,selectionStartColumn:r}=n;i=[new $i(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new $i(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(wh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(nc.ID,new WR(this._dragSelection,t,wh(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 J(e.lineNumber,e.column,e.lineNumber,e.column),options:nc._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()}};nc.ID="editor.contrib.dragAndDrop",nc.TRIGGER_KEY_VALUE=$a?6:5,nc._DECORATION_OPTIONS=_n.register({description:"dnd-target",className:"dnd-target"});let nv=nc;hn(nv.ID,nv,2);hn(Bl.ID,Bl,0);df(N1);Pi(new class extends ko{constructor(){super({id:s5,precondition:y9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=Bl.get(e))==null?void 0:t.changePasteType()}});Pi(new class extends ko{constructor(){super({id:"editor.hidePasteWidget",precondition:y9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=Bl.get(e))==null||t.clearWidgets()}});var nu;Ie((nu=class extends vt{constructor(){super({id:"editor.action.pasteAs",label:S("pasteAs","Paste As..."),alias:"Paste As...",precondition:q.writable,metadata:{description:"Paste as",args:[{name:"args",schema:nu.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=Bl.get(t))==null?void 0:s.pasteAs(n?new ns(n):void 0)}},nu.argsSchema={type:"object",properties:{kind:{type:"string",description:S("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.")}}},nu));Ie(class extends vt{constructor(){super({id:"editor.action.pasteAsText",label:S("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:q.writable})}run(o,e){var t;return(t=Bl.get(e))==null?void 0:t.pasteAs({providerId:Ru.id})}});class zR{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 Y8{constructor(e){this.identifier=e}}const iB=Ml("treeViewsDndService");Rl(iB,zR,1);var VR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yx=function(o,e){return function(t,i){e(t,i,o)}},yE;const nB="editor.experimental.dropIntoEditor.defaultProvider",sB="editor.changeDropType",O9=new yn("dropWidgetVisible",!1,S("dropWidgetVisible","Whether the drop widget is showing"));var su;let Q0=(su=class extends Rt{static get(e){return e.getContribution(yE.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=M1.getInstance(),this._dropProgressManager=this._register(t.createInstance($m,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(qm,"dropIntoEditor",e,O9,{id:sB,label:S("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=qs(async r=>{const a=new Tt,d=a.add(new L0(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||d.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(C=>C.dropMimeTypes?C.dropMimeTypes.some(b=>u.matches(b)):!0),p=a.add(await this.getDropEdits(g,f,t,u,d));if(d.token.isCancellationRequested)return;if(p.edits.length){const C=this.getInitialActiveEditIndex(f,p.edits),b=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([J.fromPositions(t)],{activeEditIndex:C,allEdits:p.edits},b,async y=>y,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,S("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new Tt,a=await Sp(Promise.all(e.map(async u=>{try{const f=await u.provideDocumentDropEdits(t,i,n,s.token);return f&&r.add(f),f==null?void 0:f.edits.map(g=>({...g,providerId:u.id}))}catch(f){console.error(f)}})),s.token),d=yl(a??[]).flat();return{edits:i5(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(nB,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new ns(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&G6(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new q6;const t=X6(e.dataTransfer);if(this.treeItemsTransfer.hasData(Y8.prototype)){const i=this.treeItemsTransfer.getData(Y8.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}},yE=su,su.ID="editor.contrib.dropIntoEditorController",su);Q0=yE=VR([yx(1,on),yx(2,ss),yx(3,ki),yx(4,iB)],Q0);hn(Q0.ID,Q0,2);df(R1);Pi(new class extends ko{constructor(){super({id:sB,precondition:O9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Q0.get(e))==null||i.changeDropType()}});Pi(new class extends ko{constructor(){super({id:"editor.hideDropWidget",precondition:O9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Q0.get(e))==null||i.clearWidgets()}});ca.as(kp.Configuration).registerConfiguration({...q_,properties:{[nB]:{type:"object",scope:5,description:S("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const no=class no{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===no._FIND_MATCH_DECORATION||n===no._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,no._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,no._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 J(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,no._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=no._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=no._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,f=Math.max(2,Math.ceil(3/u));let g=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let C=1,b=e.length;C<b;C++){const y=e[C].range;p+f>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new J(g,1,p,1),options:no._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=y.startLineNumber,p=y.endLineNumber)}s.push({range:new J(g,1,p,1),options:no._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,d=e.length;a<d;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,no._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}};no._CURRENT_FIND_MATCH_DECORATION=_n.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:Fs(iC),position:Ha.Center},minimap:{color:Fs(zS),position:1}}),no._FIND_MATCH_DECORATION=_n.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:Fs(iC),position:Ha.Center},minimap:{color:Fs(zS),position:1}}),no._FIND_MATCH_NO_OVERVIEW_DECORATION=_n.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),no._FIND_MATCH_ONLY_OVERVIEW_DECORATION=_n.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:Fs(iC),position:Ha.Center}}),no._RANGE_HIGHLIGHT_DECORATION=_n.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),no._FIND_SCOPE_DECORATION=_n.register({description:"find-scope",className:"findScope",isWholeLine:!0});let wE=no;class jR{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)=>J.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 oB(o,e){if(o&&o[0]!==""){const t=Q8(o,e,"-"),i=Q8(o,e,"_");return t&&!i?J8(o,e,"-"):!t&&i?J8(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():i4(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 Q8(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function J8(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=oB([n[a]],r)+t}),s.slice(0,-1)}class eD{constructor(e){this.staticValue=e,this.kind=0}}class $R{constructor(e){this.pieces=e,this.kind=1}}class J0{static fromStaticValue(e){return new J0([Hd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new eD(""):e.length===1&&e[0].staticValue!==null?this._state=new eD(e[0].staticValue):this._state=new $R(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?oB(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=J0._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const d=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){d.push(a.slice(g));break}switch(r.caseOps[f]){case"U":d.push(a[g].toUpperCase());break;case"u":d.push(a[g].toUpperCase()),f++;break;case"L":d.push(a[g].toLowerCase());break;case"l":d.push(a[g].toLowerCase()),f++;break;default:d.push(a[g])}}a=d.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 Hd{static staticValue(e){return new Hd(e,-1,null)}static caseOps(e,t){return new Hd(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 UR{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++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Hd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new J0(this._result)}}function qR(o){if(!o||o.length===0)return new J0(null);const e=[],t=new UR(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 d=o.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-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 Wl=new yn("findWidgetVisible",!1);Wl.toNegated();const wb=new yn("findInputFocussed",!1),H9=new yn("replaceInputFocussed",!1),wx={primary:545,mac:{primary:2593}},Sx={primary:565,mac:{primary:2613}},Dx={primary:560,mac:{primary:2608}},Ax={primary:554,mac:{primary:2602}},kx={primary:558,mac:{primary:2606}},Un={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"},gc=19999,GR=240;class pg{constructor(e,t){this._toDispose=new Tt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Dp,this._decorations=new wE(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ms(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,uo(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)},GR)):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 d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new J(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));const n=this._findMatches(i,!1,gc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=LA(n.map(d=>d.range),d=>J.compareRangesUsingStarts(d,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 Ai(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<gc){let f=this._decorations.matchBeforePosition(e);f&&f.isEmpty()&&f.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),f=this._decorations.matchBeforePosition(e)),f&&this._setCurrentFindMatch(f);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=pg._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 d=new Ai(s,r),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Ai(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<gc){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=pg._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:d}=e,u=this._editor.getModel();let f=new Ai(a,d),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?qR(this._state.replaceString):J0.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 wp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Ai(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=>pg._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>=gc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new n4(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let g="mu";i.ignoreCase&&(g+="i"),i.global&&(g+="g"),i=new RegExp(i.source,g)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let d;const u=this._state.preserveCase;a.hasReplacementPatterns||u?d=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):d=s.replace(i,a.buildReplaceString(null,u));const f=new IA(r,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",f)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let r=0,a=i.length;r<a;r++)n[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);const s=new jR(this._editor.getSelection(),i.map(r=>r.range),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(s=>new $i(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn));const n=this._editor.getSelection();for(let s=0,r=i.length;s<r;s++)if(i[s].equalsRange(n)){i=[n].concat(i.slice(0,s)).concat(i.slice(s+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}const r_=class r_ extends Fp{constructor(e,t,i){super(),this._hideSoon=this._register(new Ms(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:Ld(TA),inputActiveOptionForeground:Ld(PA),inputActiveOptionBackground:Ld(Nw)},s=this._register(a1());this.caseSensitive=this._register(new s4({appendTitle:this._keybindingLabelFor(Un.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 o4({appendTitle:this._keybindingLabelFor(Un.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 r4({appendTitle:this._keybindingLabelFor(Un.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(Fn(this._domNode,as.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Fn(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 r_.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")}};r_.ID="editor.contrib.findOptionsWidget";let SE=r_;function Bx(o,e){return o===1?!0:o===2?!1:e}class KR extends Rt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Bx(this._isRegexOverride,this._isRegex)}get wholeWord(){return Bx(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Bx(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Bx(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 ln),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"&&(J.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var f;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,d=this.matchCase,u=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((f=e.searchScope)!=null&&f.every(g=>{var p;return(p=this._searchScope)==null?void 0:p.some(C=>!J.equalsRange(C,g))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,n.isRegex=!0),a!==this.wholeWord&&(s=!0,n.wholeWord=!0),d!==this.matchCase&&(s=!0,n.matchCase=!0),u!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=gc}}const ZR=S("defaultLabel","input"),XR=S("label.preserveCaseToggle","Preserve Case");class YR extends MA{constructor(e){super({icon:Qi.preserveCase,title:XR+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Q_("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class QR extends Fp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new ln),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new ln),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new ln),this._onInput=this._register(new ln),this._onKeyUp=this._register(new ln),this._onPreserveCaseKeyDown=this._register(new ln),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||ZR;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,d=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new a4(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new YR({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const f=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const C=f.indexOf(this.domNode.ownerDocument.activeElement);if(C>=0){let b=-1;p.equals(17)?b=(C+1)%f.length:p.equals(15)&&(C===0?b=f.length-1:b=C-1),p.equals(9)?(f[C].blur(),this.inputBox.focus()):b>=0&&f[b].focus(),Am.stop(p,!0)}}});const g=document.createElement("div");g.className="controls",g.style.display=this._showOptionButtons?"block":"none",g.appendChild(this.preserveCase.domNode),this.domNode.appendChild(g),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var rB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aB=function(o,e){return function(t,i){e(t,i,o)}};const W9=new yn("suggestWidgetVisible",!1,S("suggestWidgetVisible","Whether suggestion are visible")),z9="historyNavigationWidgetFocus",lB="historyNavigationForwardsEnabled",cB="historyNavigationBackwardsEnabled";let Cl;const Fx=[];function dB(o,e){if(Fx.includes(e))throw new Error("Cannot register the same widget multiple times");Fx.push(e);const t=new Tt,i=new yn(z9,!1).bindTo(o),n=new yn(lB,!0).bindTo(o),s=new yn(cB,!0).bindTo(o),r=()=>{i.set(!0),Cl=e},a=()=>{i.set(!1),Cl===e&&(Cl=void 0)};return c4(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(is(()=>{Fx.splice(Fx.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let DE=class extends l4{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(dB(s,this.inputBox))}};DE=rB([aB(3,Ln)],DE);let AE=class extends QR{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(dB(r,this.inputBox))}};AE=rB([aB(3,Ln)],AE);Ka.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Ge.and(Ge.has(z9),Ge.equals(cB,!0),Ge.not("isComposing"),W9.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{Cl==null||Cl.showPreviousValue()}});Ka.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Ge.and(Ge.has(z9),Ge.equals(lB,!0),Ge.not("isComposing"),W9.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{Cl==null||Cl.showNextValue()}});function tD(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 iD=ms("find-collapsed",Qi.chevronRight,S("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),nD=ms("find-expanded",Qi.chevronDown,S("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),JR=ms("find-selection",Qi.selection,S("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),eN=ms("find-replace",Qi.replace,S("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),tN=ms("find-replace-all",Qi.replaceAll,S("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),iN=ms("find-previous-match",Qi.arrowUp,S("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),nN=ms("find-next-match",Qi.arrowDown,S("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),sN=S("label.findDialog","Find / Replace"),oN=S("label.find","Find"),rN=S("placeholder.find","Find"),aN=S("label.previousMatchButton","Previous Match"),lN=S("label.nextMatchButton","Next Match"),cN=S("label.toggleSelectionFind","Find in Selection"),dN=S("label.closeButton","Close"),uN=S("label.replace","Replace"),hN=S("placeholder.replace","Replace"),fN=S("label.replaceButton","Replace"),gN=S("label.replaceAllButton","Replace All"),pN=S("label.toggleReplaceButton","Toggle Replace"),xN=S("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",gc),mN=S("label.matchesLocation","{0} of {1}"),sD=S("label.noResults","No results"),_a=419,vN=275,_N=vN-54;let Nf=69;const bN=33,oD="ctrlEnterReplaceAll.windows.donotask",rD=$a?256:2048;class SC{constructor(e){this.afterLineNumber=e,this.heightInPx=bN,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function aD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function lD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const a_=class a_ extends Fp{constructor(e,t,i,n,s,r,a,d,u,f){super(),this._hoverService=f,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=n,this._keybindingService=s,this._contextKeyService=r,this._storageService=d,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!d.getBoolean(oD,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Oc(500),this._register(is(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(g=>this._onStateChanged(g))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(g=>{if(g.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),g.hasChanged(146)&&this._tryUpdateWidgetWidth(),g.hasChanged(2)&&this.updateAccessibilitySupport(),g.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const C=this._codeEditor.getOption(41).addExtraSpaceOnTop;C&&!this._viewZone&&(this._viewZone=new SC(0),this._showViewZone()),!C&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const g=await this._controller.getGlobalBufferTerm();g&&g!==this._state.searchString&&(this._state.change({searchString:g},!1),this._findInput.select())}})),this._findInputFocused=wb.bindTo(r),this._findFocusTracker=this._register(I0(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=H9.bindTo(r),this._replaceFocusTracker=this._register(I0(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 SC(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(g=>{if(g.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return a_.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=yr(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,qn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Nf+"px",this._state.matchesCount>=gc?this._matchesCount.title=xN: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>=gc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=Gw(mN,n,i)}else e=sD;this._matchesCount.appendChild(document.createTextNode(e)),Nr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Nf=Math.max(Nf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===sD)return i===""?S("ariaSearchNoResultEmpty","{0} found",e):S("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=S("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 S("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=wo(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 d=d4(this._domNode).left;r>d&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>d&&(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 SC(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&&yr(this._domNode)>_a){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=yr(this._findInput.domNode);return}if(_a+28+n>=i&&(r=!0),_a+28+n-Nf>=i&&(a=!0),_a+28+n-Nf>=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 d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=yr(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&&!J.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(rD|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 aD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return lD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(rD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{z_&&cf&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(S("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(oD,!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 aD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return lD(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 DE(null,this._contextViewProvider,{width:_N,label:oN,placeholder:rN,appendCaseSensitiveLabel:this._keybindingLabelFor(Un.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Un.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Un.ToggleRegexCommand),validation:f=>{if(f.length===0||!this._findInput.getRegex())return null;try{return new RegExp(f,"gu"),null}catch(g){return{content:g.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>tD(this._keybindingService),inputBoxStyles:jS,toggleStyles:VS},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(f=>this._onFindInputKeyDown(f))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(f=>{f.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),f.preventDefault())})),this._register(this._findInput.onRegexKeyDown(f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),f.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(f=>{this._tryUpdateHeight()&&this._showViewZone()})),u4&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(a1());this._prevBtn=this._register(new Sh({label:aN+this._keybindingLabelFor(Un.PreviousMatchFindAction),icon:iN,hoverDelegate:i,onTrigger:()=>{$h(this._codeEditor.getAction(Un.PreviousMatchFindAction)).run().then(void 0,qn)}},this._hoverService)),this._nextBtn=this._register(new Sh({label:lN+this._keybindingLabelFor(Un.NextMatchFindAction),icon:nN,hoverDelegate:i,onTrigger:()=>{$h(this._codeEditor.getAction(Un.NextMatchFindAction)).run().then(void 0,qn)}},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 MA({icon:JR,title:cN+this._keybindingLabelFor(Un.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Ld(Nw),inputActiveOptionBorder:Ld(TA),inputActiveOptionForeground:Ld(PA)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let f=this._codeEditor.getSelections();f=f.map(g=>(g.endColumn===1&&g.endLineNumber>g.startLineNumber&&(g=g.setEndPosition(g.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(g.endLineNumber-1))),g.isEmpty()?null:g)).filter(g=>!!g),f.length&&this._state.change({searchScope:f},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Sh({label:dN+this._keybindingLabelFor(Un.CloseFindWidgetCommand),icon:RA,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),f.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new AE(null,void 0,{label:uN,placeholder:hN,appendPreserveCaseLabel:this._keybindingLabelFor(Un.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>tD(this._keybindingService),inputBoxStyles:jS,toggleStyles:VS},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(f=>this._onReplaceInputKeyDown(f))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(f=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(f=>{f.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),f.preventDefault())}));const r=this._register(a1());this._replaceBtn=this._register(new Sh({label:fN+this._keybindingLabelFor(Un.ReplaceOneAction),icon:eN,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Sh({label:gN+this._keybindingLabelFor(Un.ReplaceAllAction),icon:tN,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const d=document.createElement("div");d.className="replace-actions",a.appendChild(d),d.appendChild(this._replaceBtn.domNode),d.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Sh({label:pN,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=yr(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=sN,this._domNode.role="dialog",this._domNode.style.width=`${_a}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 zh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=_a;this._register(this._resizeSash.onDidStart(()=>{u=yr(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<_a)return;const p=parseFloat(h4(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=yr(this._domNode);if(f<_a)return;let g=_a;if(!this._resized||f===_a){const p=this._codeEditor.getLayoutInfo();g=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};a_.ID="editor.contrib.findWidget";let kE=a_;class Sh extends Fp{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Rn.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??Q_("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(...Rn.asClassNameArray(iD)),this._domNode.classList.add(...Rn.asClassNameArray(nD))):(this._domNode.classList.remove(...Rn.asClassNameArray(nD)),this._domNode.classList.add(...Rn.asClassNameArray(iD)))}}U_((o,e)=>{const t=o.getColor(pA);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Fg(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(f4);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Fg(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(wl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(g4);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(p4);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});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},cr=function(o,e){return function(t,i){e(t,i,o)}},BE;const CN=524288;function FE(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)<CN)return o.getModel().getValueInRange(i)}return null}var ou;let Do=(ou=class extends Rt{get editor(){return this._editor}static get(e){return e.getContribution(BE.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Wl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Oc(500),this._state=this._register(new KR),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!!wb.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=Lg(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=FE(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Lg(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=FE(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 pg(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(S("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)}},BE=ou,ou.ID="editor.contrib.findController",ou);Do=BE=uB([cr(1,Ln),cr(2,Gc),cr(3,lf),cr(4,mo),cr(5,Pp)],Do);let LE=class extends Do{constructor(e,t,i,n,s,r,a,d,u){super(e,i,a,d,r,u),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new kE(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new SE(this._editor,this._state,this._keybindingService))}};LE=uB([cr(1,$_),cr(2,Ln),cr(3,As),cr(4,Wr),cr(5,mo),cr(6,Gc),cr(7,lf),cr(8,Pp)],LE);const EN=NA(new OA({id:Un.StartFindAction,label:S("startFindAction","Find"),alias:"Find",precondition:Ge.or(q.focus,Ge.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"3_find",title:S({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));EN.addImplementation(0,(o,e,t)=>{const i=Do.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 yN={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 wN extends vt{constructor(){super({id:Un.StartFindWithArgs,label:S("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:yN})}async run(e,t,i){const n=Do.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 SN extends vt{constructor(){super({id:Un.StartFindWithSelection,label:S("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=Do.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 hB extends vt{async run(e,t){const i=Do.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 DN extends hB{constructor(){super({id:Un.NextMatchFindAction,label:S("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Ge.and(q.focus,wb),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class AN extends hB{constructor(){super({id:Un.PreviousMatchFindAction,label:S("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Ge.and(q.focus,wb),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class kN extends vt{constructor(){super({id:Un.GoToMatchFindAction,label:S("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Wl}),this._highlightDecorations=[]}run(e,t,i){const n=Do.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(mo).notify({severity:Uw.Warning,message:S("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Tl),a=new Tt,d=a.add(r.createInputBox());d.placeholder=S("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const u=g=>{const p=parseInt(g);if(isNaN(p))return;const C=n.getState().matchesCount;if(p>0&&p<=C)return p-1;if(p<0&&p>=-C)return C+p},f=g=>{const p=u(g);if(typeof p=="number"){d.validationMessage=void 0,n.goToMatch(p);const C=n.getState().currentMatch;C&&this.addDecorations(t,C)}else d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(d.onDidChangeValue(g=>{f(g)})),a.add(d.onDidAccept(()=>{const g=u(d.value);typeof g=="number"?(n.goToMatch(g),d.hide()):d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(d.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),d.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:Fs(HA),position:Ha.Full}}}])})}}class fB extends vt{async run(e,t){const i=Do.get(t);if(!i)return;const n=FE(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 BN extends fB{constructor(){super({id:Un.NextSelectionMatchFindAction,label:S("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class FN extends fB{constructor(){super({id:Un.PreviousSelectionMatchFindAction,label:S("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const LN=NA(new OA({id:Un.StartFindReplaceAction,label:S("startReplace","Replace"),alias:"Replace",precondition:Ge.or(q.focus,Ge.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"3_find",title:S({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));LN.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Do.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})});hn(Do.ID,LE,0);Ie(wN);Ie(SN);Ie(DN);Ie(AN);Ie(kN);Ie(BN);Ie(FN);const ga=ko.bindToContribution(Do.get);Pi(new ga({id:Un.CloseFindWidgetCommand,precondition:Wl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:Ge.and(q.focus,Ge.not("isComposing")),primary:9,secondary:[1033]}}));Pi(new ga({id:Un.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:q.focus,primary:wx.primary,mac:wx.mac,win:wx.win,linux:wx.linux}}));Pi(new ga({id:Un.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:q.focus,primary:Sx.primary,mac:Sx.mac,win:Sx.win,linux:Sx.linux}}));Pi(new ga({id:Un.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:q.focus,primary:Dx.primary,mac:Dx.mac,win:Dx.win,linux:Dx.linux}}));Pi(new ga({id:Un.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:q.focus,primary:Ax.primary,mac:Ax.mac,win:Ax.win,linux:Ax.linux}}));Pi(new ga({id:Un.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:q.focus,primary:kx.primary,mac:kx.mac,win:kx.win,linux:kx.linux}}));Pi(new ga({id:Un.ReplaceOneAction,precondition:Wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:q.focus,primary:3094}}));Pi(new ga({id:Un.ReplaceOneAction,precondition:Wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:Ge.and(q.focus,H9),primary:3}}));Pi(new ga({id:Un.ReplaceAllAction,precondition:Wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:q.focus,primary:2563}}));Pi(new ga({id:Un.ReplaceAllAction,precondition:Wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:Ge.and(q.focus,H9),primary:void 0,mac:{primary:2051}}}));Pi(new ga({id:Un.SelectAllMatchesAction,precondition:Wl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:q.focus,primary:515}}));const IN={0:" ",1:"u",2:"r"},cD=65535,Qr=16777215,dD=4278190080;class DC{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 Go{constructor(e,t,i){if(e.length!==t.length||e.length>cD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new DC(e.length),this._userDefinedStates=new DC(e.length),this._recoveredStates=new DC(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>Qr||r>Qr)throw new Error("startLineNumber or endLineNumber must not exceed "+Qr);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]&Qr}getEndLineNumber(e){return this._endIndexes[e]&Qr}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 PN(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&dD)>>>24)+((this._endIndexes[e]&dD)>>>16);return t===cD?-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]=`[${IN[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Qr,endLineNumber:this._endIndexes[e]&Qr,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 d=0;d<t;d++){const u=e[d];i[d]=u.startLineNumber,n[d]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new Go(i,n,s);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(w,A)=>Array.isArray(w)?(I=>I<A?w[I]:void 0):(I=>I<A?w.toFoldRange(I):void 0),r=s(e,e.length),a=s(t,t.length);let d=0,u=0,f=r(0),g=a(0);const p=[];let C,b=0;const y=[];for(;f||g;){let w;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?w=g:(w=f,w.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),w.source=0),f=r(++d)):(w=g,g.isCollapsed&&g.source===0&&(w.source=2)),g=a(++u);else{let A=u,I=g;for(;;){if(!I||I.startLineNumber>f.endLineNumber){w=f;break}if(I.source===1&&I.endLineNumber>f.endLineNumber)break;I=a(++A)}f=r(++d)}if(w){for(;C&&C.endLineNumber<w.startLineNumber;)C=p.pop();w.endLineNumber>w.startLineNumber&&w.startLineNumber>b&&w.endLineNumber<=i&&(!C||C.endLineNumber>=w.endLineNumber)&&(y.push(w),b=w.startLineNumber,C&&p.push(C),C=w)}}return y}}class PN{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 TN{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new ln,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Go(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=d=>{for(;n<d;){const u=this._regions.getEndLineNumber(n),f=this._regions.isCollapsed(n);if(u<=s){const g=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(f,u<=r,g))}f&&u>r&&(r=u),n++}};for(const d of e){const u=d.regionIndex,f=this._editorDecorationIds[u];if(f&&!t[f]){t[f]=!0,a(u);const g=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,g),s=Math.max(s,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=n=>{for(const s of e)if(!(s.startLineNumber>n.endLineNumber||n.startLineNumber>s.endLineNumber))return!0;return!1};for(let n=0;n<this._regions.length;n++){const s=this._regions.toFoldRange(n);(s.source===0||!i(s))&&t.push(s)}this.updatePost(Go.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Go.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Go.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),d=e.isCollapsed(n),u=e.getSource(n)!==0,f={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:f,options:this._decorationProvider.getDecorationOption(d,a<=i,u)}),d&&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),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(s&&(e!=null&&e.startsInside(d.startLineNumber+1,d.endLineNumber))&&(s=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.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=Go.sanitizeAndMerge(this._regions,t,i);this.updatePost(Go.fromFoldRanges(n))}_getLinesChecksum(e,t){return WA(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,d=this._regions.length;a<d;a++){const u=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&i.push(u)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const d=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(d))&&i.push(d);else break}return i}}function V9(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,(d,u)=>d.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function mf(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,(d,u)=>d.isCollapsed!==e&&u<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function gB(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,d)=>a.isCollapsed!==e&&d<=t);n.push(...r)}o.toggleCollapseState(n)}function MN(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 RN(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(d=>r.containsLine(d)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function pB(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 j9(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 $9(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 NN(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 ON(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 HN(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 WN{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new ln,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||x4(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 d=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=d&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===d&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new J(d,1,u,1))),s=d,r=u)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return uD(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!zN(r,n))&&(n=uD(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let d=e[r];const u=s(d.startLineNumber);u&&(d=d.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(d.endLineNumber);f&&(d=d.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function zN(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function uD(o,e){const t=LA(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const VN=5e3,jN="indent";class U9{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=jN}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(qN(this.editorModel,i,n,this.foldingRangesLimit))}}let $N=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Qr||t>Qr)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 Go(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){const u=this._indentOccurrences[d];if(u){if(u+i>t){n=d;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,u=0;d>=0;d--){const f=this._startIndexes[d],g=e.getLineContent(f),p=Pw(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new Go(r,a)}}};const UN={limit:VN,update:()=>{}};function qN(o,e,t,i=UN){const n=o.getOptions().tabSize,s=new $N(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],d=o.getLineCount()+1;a.push({indent:-1,endAbove:d,line:d});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=Pw(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let C;if(r&&(C=f.match(r)))if(C[1]){let b=a.length-1;for(;b>0&&a[b].indent!==-2;)b--;if(b>0){a.length=b+1,p=a[b],s.insertFirst(u,p.line,g),p.line=u,p.indent=g,p.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(p.indent>g){do a.pop(),p=a[a.length-1];while(p.indent>g);const b=p.endAbove-1;b-u>=1&&s.insertFirst(u,b,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const GN=vi("editor.foldBackground",{light:za($S,.3),dark:za($S,.3),hcDark:null,hcLight:null},S("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);vi("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},S("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));vi("editorGutter.foldingControlForeground",m4,S("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const sv=ms("folding-expanded",Qi.chevronDown,S("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),ov=ms("folding-collapsed",Qi.chevronRight,S("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),hD=ms("folding-manual-collapsed",ov,S("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),fD=ms("folding-manual-expanded",sv,S("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),AC={color:Fs(GN),position:1},Dh=S("linesCollapsed","Click to expand the range."),Lx=S("linesExpanded","Click to collapse the range."),_s=class _s{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?_s.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?_s.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:_s.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:_s.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?_s.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:_s.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?_s.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:_s.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?_s.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:_s.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?_s.MANUALLY_EXPANDED_VISUAL_DECORATION:_s.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};_s.COLLAPSED_VISUAL_DECORATION=_n.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Rn.asClassName(ov)}),_s.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=_n.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:AC,isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Rn.asClassName(ov)}),_s.MANUALLY_COLLAPSED_VISUAL_DECORATION=_n.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Rn.asClassName(hD)}),_s.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=_n.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:AC,isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Rn.asClassName(hD)}),_s.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=_n.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh}),_s.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=_n.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:AC,isWholeLine:!0,linesDecorationsTooltip:Dh}),_s.EXPANDED_VISUAL_DECORATION=_n.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Rn.asClassName(sv),linesDecorationsTooltip:Lx}),_s.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=_n.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Rn.asClassName(sv),linesDecorationsTooltip:Lx}),_s.MANUALLY_EXPANDED_VISUAL_DECORATION=_n.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Rn.asClassName(fD),linesDecorationsTooltip:Lx}),_s.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=_n.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Rn.asClassName(fD),linesDecorationsTooltip:Lx}),_s.NO_CONTROLS_EXPANDED_RANGE_DECORATION=_n.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),_s.HIDDEN_RANGE_DECORATION=_n.register({description:"folding-hidden-range-decoration",stickiness:1});let IE=_s;const KN={},ZN="syntax";class q9{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=ZN,this.disposables=new Tt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return XN(this.providers,this.editorModel,e).then(t=>{var i;return t?QN(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function XN(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,KN,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const d=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=d&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},bs));return Promise.all(n).then(s=>i)}class YN{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>Qr||t>Qr)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 Go(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 d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,d=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[d]=this._startIndexes[a],s[d]=this._endIndexes[a],r[d]=this._types[a],d++)}return new Go(n,s,r)}}}function QN(o,e){const t=o.sort((r,a)=>{let d=r.start-a.start;return d===0&&(d=r.rank-a.rank),d}),i=new YN(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 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},Of=function(o,e){return function(t,i){e(t,i,o)}},pd;const Qs=new yn("foldingEnabled",!1);var ru;let jc=(ru=class extends Rt{static get(e){return e.getContribution(pd.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=pd._foldingRangeSelector)==null?void 0:n.call(pd,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 Tt),this.editor=e,this._foldingLimitReporter=new xB(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 IE(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Qs.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(47)&&this.onModelChanged(),d.hasChanged(111)||d.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}d.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),d.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 TN(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new WN(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Oc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Ms(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)==null||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)==null||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new U9(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=pd.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new q9(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=qs(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(Np.Imports.value,!0);u&&(r=T0.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,eO(a)),r==null||r.restore(this.editor);const d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(qn(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,qn)}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 d=e.event.altKey;let u=[];if(d){const f=p=>!p.containedBy(r)&&!r.containedBy(p),g=t.getRegionsInside(null,f);for(const p of g)p.isCollapsed&&u.push(p);u.length===0&&(u=g)}else{const f=e.event.middleButton||e.event.shiftKey;if(f)for(const g of t.getRegionsInside(r))g.isCollapsed===a&&u.push(g);(a||!f||u.length===0)&&u.push(r)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},pd=ru,ru.ID="editor.contrib.folding",ru);jc=pd=JN([Of(1,Ln),Of(2,js),Of(3,mo),Of(4,gr),Of(5,ki)],jc);class xB{constructor(e){this.editor=e,this._onDidChange=new ln,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 io extends vt{runEditorCommand(e,t,i){const n=e.get(js),s=jc.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 d=t.getSelection();d&&s.reveal(d.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 eO(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 mB(o){if(!$f(o)){if(!zA(o))return!1;const e=o;if(!$f(e.levels)&&!US(e.levels)||!$f(e.direction)&&!fA(e.direction)||!$f(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(US)))return!1}return!0}class tO extends io{constructor(){super({id:"editor.unfold",label:S("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Qs,kbOpts:{kbExpr:q.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:mB,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"?gB(t,!1,s,r):mf(t,!1,s,r)}}class iO extends io{constructor(){super({id:"editor.unfoldRecursively",label:S("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2142),weight:100}})}invoke(e,t,i,n){mf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class nO extends io{constructor(){super({id:"editor.fold",label:S("foldAction.label","Fold"),alias:"Fold",precondition:Qs,kbOpts:{kbExpr:q.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:mB,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"?MN(t,!0,s):a==="up"?gB(t,!0,r||1,s):mf(t,!0,r||1,s)}}class sO extends io{constructor(){super({id:"editor.toggleFold",label:S("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);V9(t,1,n)}}class oO extends io{constructor(){super({id:"editor.foldRecursively",label:S("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);mf(t,!0,Number.MAX_VALUE,n)}}class rO extends io{constructor(){super({id:"editor.toggleFoldRecursively",label:S("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);V9(t,Number.MAX_VALUE,n)}}class aO extends io{constructor(){super({id:"editor.foldAllBlockComments",label:S("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())$9(t,Np.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const d=new RegExp("^\\s*"+Lg(a.blockCommentStartToken));j9(t,d,!0)}}}}class lO extends io{constructor(){super({id:"editor.foldAllMarkerRegions",label:S("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())$9(t,Np.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 d=new RegExp(a.markers.start);j9(t,d,!0)}}}}class cO extends io{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:S("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())$9(t,Np.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 d=new RegExp(a.markers.start);j9(t,d,!1)}}}}class dO extends io{constructor(){super({id:"editor.foldAllExcept",label:S("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);pB(t,!0,n)}}class uO extends io{constructor(){super({id:"editor.unfoldAllExcept",label:S("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);pB(t,!1,n)}}class hO extends io{constructor(){super({id:"editor.foldAll",label:S("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2069),weight:100}})}invoke(e,t,i){mf(t,!0)}}class fO extends io{constructor(){super({id:"editor.unfoldAll",label:S("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2088),weight:100}})}invoke(e,t,i){mf(t,!1)}}const n0=class n0 extends io{getFoldingLevel(){return parseInt(this.id.substr(n0.ID_PREFIX.length))}invoke(e,t,i){RN(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};n0.ID_PREFIX="editor.foldLevel",n0.ID=e=>n0.ID_PREFIX+e;let rv=n0;class gO extends io{constructor(){super({id:"editor.gotoParentFold",label:S("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=NN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class pO extends io{constructor(){super({id:"editor.gotoPreviousFold",label:S("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=ON(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class xO extends io{constructor(){super({id:"editor.gotoNextFold",label:S("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=HN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class mO extends io{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:S("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let d=a.endLineNumber;a.endColumn===1&&--d,d>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:d,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((d,u)=>d.startLineNumber-u.startLineNumber);const a=Go.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Go.fromFoldRanges(a))}}}}class vO extends io{constructor(){super({id:"editor.removeManualFoldingRanges",label:S("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:d}=r;s.push(d>=a?{startLineNumber:a,endLineNumber:d}:{endLineNumber:d,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}hn(jc.ID,jc,0);Ie(tO);Ie(iO);Ie(nO);Ie(oO);Ie(rO);Ie(hO);Ie(fO);Ie(aO);Ie(lO);Ie(cO);Ie(dO);Ie(uO);Ie(sO);Ie(gO);Ie(pO);Ie(xO);Ie(mO);Ie(vO);for(let o=1;o<=7;o++)v4(new rv({id:rv.ID(o),label:S("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2048|21+o),weight:100}}));Qn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof jn))throw vl();const i=o.get(ki),n=o.get(vo).getModel(t);if(!n)throw vl();const s=o.get(ss);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(js),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(C,b)=>{}},u=new U9(n,r,d);let f=u;if(a!=="indentation"){const C=jc.getFoldingRangeProviders(i,n);C.length&&(f=new q9(n,C,()=>{},d,u))}const g=await f.compute(cn.None),p=[];try{if(g)for(let C=0;C<g.length;C++){const b=g.getType(C);p.push({start:g.getStartLineNumber(C),end:g.getEndLineNumber(C),kind:b?Np.fromValue(b):void 0})}return p}finally{f.dispose()}});class _O extends vt{constructor(){super({id:"editor.action.fontZoomIn",label:S("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Ng.setZoomLevel(Ng.getZoomLevel()+1)}}class bO extends vt{constructor(){super({id:"editor.action.fontZoomOut",label:S("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Ng.setZoomLevel(Ng.getZoomLevel()-1)}}class CO extends vt{constructor(){super({id:"editor.action.fontZoomReset",label:S("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Ng.setZoomLevel(0)}}Ie(_O);Ie(bO);Ie(CO);var vB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xg=function(o,e){return function(t,i){e(t,i,o)}},E0;let av=(E0=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Tt,this._sessionDisposables=new Tt,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 km;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 Gs,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});_4(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Yo(r)&&(this._accessibilitySignalService.playSignal(jA.format,{userGesture:!1}),b4.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},E0.ID="editor.contrib.autoFormat",E0);av=vB([xg(1,ki),xg(2,Nl),xg(3,VA)],av);var y0;let lv=(y0=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Tt,this._callOnModel=new Tt,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($A,this.editor,e,2,fl.None,cn.None,!1).catch(qn))}},y0.ID="editor.contrib.formatOnPaste",y0);lv=vB([xg(1,ki),xg(2,on)],lv);class EO extends vt{constructor(){super({id:"editor.action.formatDocument",label:S("formatDocument.label","Format Document"),alias:"Format Document",precondition:Ge.and(q.notInCompositeEditor,q.writable,q.hasDocumentFormattingProvider),kbOpts:{kbExpr:q.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(on);await e.get(Ap).showWhile(i.invokeFunction(C4,t,1,fl.None,cn.None,!0),250)}}}class yO extends vt{constructor(){super({id:"editor.action.formatSelection",label:S("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:Ge.and(q.writable,q.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2084),weight:100},contextMenuOpts:{when:q.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(on),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new J(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Ap).showWhile(i.invokeFunction($A,t,s,1,fl.None,cn.None,!0),250)}}hn(av.ID,av,2);hn(lv.ID,lv,2);Ie(EO);Ie(yO);Qn.registerCommand("editor.action.format",async o=>{const e=o.get(Cs).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Vs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var wO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kC=function(o,e){return function(t,i){e(t,i,o)}};class Zh{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 PE extends Zh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class _B extends Zh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class rl extends Zh{static create(e,t,i){const n=new Gs(i),s=new rl(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Zh.findId(`provider_${f}`,s),p=new _B(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(C=>{for(const b of C||[])rl._makeOutlineElement(b,p);return p},C=>(bs(C),p)).then(C=>{Zh.empty(C)?C.remove():s._groups.set(g,C)})}),d=e.onDidChange(()=>{const u=e.ordered(t);ja(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?rl.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Zh.findId(e,t),n=new PE(i,t,e);if(e.children)for(const s of e.children)rl._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=ml.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 PE?e.push(t.symbol):e.push(...ml.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>J.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return rl._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Ai.compare(J.getStartPosition(i.range),J.getStartPosition(n.range))||Ai.compare(J.getEndPosition(n.range),J.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&&rl._flattenDocumentSymbols(e,n.children,n.name)}}const Qp=Ml("IOutlineModelService");let TE=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Tt,this._cache=new Bp(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()||!ja(s.provider,n)){const a=new Gs;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:rl.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const d=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-d)}).catch(u=>{this._cache.delete(e.id)})}if(s.model)return s.model;s.promiseCnt+=1;const r=t.onCancellationRequested(()=>{--s.promiseCnt===0&&(s.source.cancel(),this._cache.delete(e.id))});try{return await s.promise}finally{r.dispose()}}};TE=wO([kC(0,ki),kC(1,gr),kC(2,vo)],TE);Rl(Qp,TE,1);Qn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Pn(jn.isUri(t));const i=o.get(Qp),s=await o.get(fa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,cn.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends Rt{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(rs(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(rs(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:d,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(d<=g){let C=o1(f);C===-1&&(C=f.length-1),s=C>0;const b=n.textModel.getOptions().tabSize;r=E4.visibleColumnFromColumn(f,C+1,b)<b}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Sa.inlineSuggestionVisible=new yn("inlineSuggestionVisible",!1,S("inlineSuggestionVisible","Whether an inline suggestion is visible")),Sa.inlineSuggestionHasIndentation=new yn("inlineSuggestionHasIndentation",!1,S("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Sa.inlineSuggestionHasIndentationLessThanTabSize=new yn("inlineSuggestionHasIndentationLessThanTabSize",!0,S("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Sa.suppressSuggestions=new yn("inlineSuggestionSuppressSuggestions",void 0,S("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Oo=Sa;function SO(o){const e=new Tt,t=e.add(UA());return e.add(rs(i=>{t.setStyle(o.read(i))})),e}class Qg{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 qA([...this.parts.map(s=>new Dl(J.fromPositions(new Ai(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 cv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=J_(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 ME{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new cv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=J_(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 gD(o,e){return ja(o,e,bB)}function bB(o,e){return o===e?!0:!o||!e?!1:o instanceof Qg&&e instanceof Qg||o instanceof ME&&e instanceof ME?o.equals(e):!1}const DO=[];function AO(){return DO}class CB{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new O0(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new J(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function EB(o,e){const t=new Tt,i=o.createDecorationsCollection();return t.add(y4({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function kO(o,e){return new Ai(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function pD(o,e){return new Ai(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var BO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FO=function(o,e){return function(t,i){e(t,i,o)}};const xD="ghost-text";let RE=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Qo(this,!1),this.currentTextModel=Po(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Wn(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 ME?r.columnRange:void 0,d=[],u=[];function f(y,w){if(u.length>0){const A=u[u.length-1];w&&A.decorations.push(new Og(A.content.length+1,A.content.length+1+y[0].length,w,0)),A.content+=y[0],y=y.slice(1)}for(const A of y)u.push({content:A,decorations:w?[new Og(1,A.length+1,w,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,C=0;for(const y of r.parts){let w=y.lines;p===void 0?(d.push({column:y.column,text:w[0],preview:y.preview}),w=w.slice(1)):f([g.substring(C,y.column-1)],void 0),w.length>0&&(f(w,xD),p===void 0&&y.column<=g.length&&(p=y.column)),C=y.column-1}p!==void 0&&f([g.substring(C)],void 0);const b=p!==void 0?new CB(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:d,additionalLines:u,hiddenRange:b,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Wn(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:J.fromPositions(new Ai(s.lineNumber,a.column)),options:{description:xD,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:jh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new LO(this.editor,this.languageService.languageIdCodec,Wn(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(is(()=>{this.isDisposed.set(!0,void 0)})),this._register(EB(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};RE=BO([FO(2,ha)],RE);class LO extends Rt{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=Pd("editorOptionChanged",Ts.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(rs(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 d=document.createElement("div");IO(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function IO(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",d=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new KA(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,w=t.length;y<w;y++){const A=t[y],I=A.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*g)),p.appendString('px;width:1000000px;">');const M=QA(I),R=w4(I),P=S4.createEmpty(I,n);ZA(new XA(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,I,!1,M,R,0,P,A.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==D4.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),YA(o,f);const C=p.build(),b=mD?mD.createHTML(C):C;o.innerHTML=b}const mD=GA("editorGhostText",{createHTML:o=>o});function PO(o,e){const t=new F4,i=new k4(t,u=>e.getLanguageConfiguration(u)),n=new A4(new TO([o]),i),s=B4(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=Pf(f,u.openingBracket.length),u.child&&(d(u.child,f),f=Pf(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=Pf(f,u.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);r+=p}else if(u.kind!==3){if(u.kind===0||u.kind===1)r+=a.substring(qS(f),qS(Pf(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=Pf(f,g.length)}}return d(s,L4),r}class TO{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 yB(o,e,t,i,n=cn.None,s){const r=e instanceof Ai?NO(e,t):e,a=o.all(t),d=new I4;for(const A of a)A.groupId&&d.add(A.groupId,A);function u(A){if(!A.yieldsToGroupIds)return[];const I=[];for(const M of A.yieldsToGroupIds||[]){const R=d.get(M);for(const P of R)I.push(P)}return I}const f=new Map,g=new Set;function p(A,I){if(I=[...I,A],g.has(A))return I;g.add(A);try{const M=u(A);for(const R of M){const P=p(R,I);if(P)return P}}finally{g.delete(A)}}function C(A){const I=f.get(A);if(I)return I;const M=p(A,[]);M&&bs(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${M.map(P=>P.toString?P.toString():""+P).join(" -> ")}`));const R=new V_;return f.set(A,R.p),(async()=>{var P;if(!M){const V=u(A);for(const j of V){const ee=await C(j);if(ee&&ee.items.length>0)return}}try{return e instanceof Ai?await A.provideInlineCompletions(t,e,i,n):await((P=A.provideInlineEdits)==null?void 0:P.call(A,t,e,i,n))}catch(V){bs(V);return}})().then(P=>R.complete(P),P=>R.error(P)),R.p}const b=await Promise.all(a.map(async A=>({provider:A,completions:await C(A)}))),y=new Map,w=[];for(const A of b){const I=A.completions;if(!I)continue;const M=new RO(I,A.provider);w.push(M);for(const R of I.items){const P=dv.from(R,M,r,t,s);y.set(P.hash(),P)}}return new MO(Array.from(y.values()),new Set(y.keys()),w)}class MO{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 RO{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 dv{static from(e,t,i,n,s){let r,a,d=e.range?J.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=vD(r,d.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(d=new J(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=vD(e.insertText.snippet,d.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(d=new J(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+g))}const f=new Nu().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof To?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else P4(e.insertText);return new dv(r,e.command,d,r,a,e.additionalTextEdits||AO(),e,t)}constructor(e,t,i,n,s,r,a,d){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=d,e=e.replace(/\r\n|\r/g,`
|
|
34
|
-
`),n=e.replace(/\r\n|\r/g,`
|
|
35
|
-
`)}withRange(e){return new dv(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 Dl(this.range,this.insertText)}}function NO(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new J(o.lineNumber,t.startColumn,o.lineNumber,i):J.fromPositions(o,o.with(void 0,i))}function vD(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?PO(a,i):o}function Wd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Rp(n,o.text),r=Bm.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=J.fromPositions(r,o.range.getEndPosition());return new Dl(d,a)}function wB(o,e){return o.text.startsWith(e.text)&&OO(o.range,e.range)}function _D(o,e,t,i,n=0){let s=Wd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=eo(r).length;if(s.range.startColumn-1<=a){const b=eo(s.text).length,y=r.substring(s.range.startColumn-1,a),[w,A]=[s.range.getStartPosition(),s.range.getEndPosition()],I=w.column+y.length<=A.column?w.delta(0,y.length):A,M=J.fromPositions(I,A),R=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(b);s=new Dl(M,R)}const u=e.getValueInRange(s.range),f=HO(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const b=f.filter(y=>y.originalLength===0);if(b.length>1||b.length===1&&b[0].originalStart!==u.length)return}const C=s.text.length-n;for(const b of f){const y=s.range.startColumn+b.originalStart+b.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<i.column||b.originalLength>0)return;if(b.modifiedLength===0)continue;const w=b.modifiedStart+b.modifiedLength,A=Math.max(b.modifiedStart,Math.min(w,C)),I=s.text.substring(b.modifiedStart,A),M=s.text.substring(A,Math.max(b.modifiedStart,w));I.length>0&&p.push(new cv(y,I,!1)),M.length>0&&p.push(new cv(y,M,!0))}return new Qg(g,p)}function OO(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ba;function HO(o,e){if((ba==null?void 0:ba.originalValue)===o&&(ba==null?void 0:ba.newValue)===e)return ba==null?void 0:ba.changes;{let t=CD(o,e,!0);if(t){const i=bD(t);if(i>0){const n=CD(o,e,!1);n&&bD(n)<i&&(t=n)}}return ba={originalValue:o,newValue:e,changes:t},t}}function bD(o){let e=0;for(const t of o)e+=t.originalLength;return e}function CD(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(u){let f=0;for(let g=0,p=u.length;g<p;g++){const C=u.charCodeAt(g);C>f&&(f=C)}return f}const n=Math.max(i(o),i(e));function s(u){if(u<0)throw new Error("unexpected");return n+u+1}function r(u){let f=0,g=0;const p=new Int32Array(u.length);for(let C=0,b=u.length;C<b;C++)if(t&&u[C]==="("){const y=g*100+f;p[C]=s(2*y),f++}else if(t&&u[C]===")"){f=Math.max(f-1,0);const y=g*100+f;p[C]=s(2*y+1),f===0&&g++}else p[C]=u.charCodeAt(C);return p}const a=r(o),d=r(e);return new T4({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}var WO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ED=function(o,e){return function(t,i){e(t,i,o)}};let NE=class extends Rt{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 er),this.inlineCompletions=l1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=l1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new VO(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((f=this._updateOperation.value)!=null&&f.request.satisfies(n))return this._updateOperation.value.promise;if((g=s.get())!=null&&g.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new Gs,d=(async()=>{if((r||t.triggerKind===_l.Automatic)&&await zO(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const C=new Date,b=await yB(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()-C.getTime());const w=new $O(b,n,this.textModel,this.versionId);if(i){const A=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!b.has(A)&&w.prepend(i.inlineCompletion,A.range,!0)}return this._updateOperation.clear(),Xu(A=>{s.set(w,A)}),!0})(),u=new jO(n,a,d);return this._updateOperation.value=u,d}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()}};NE=WO([ED(3,ki),ED(4,js)],NE);function zO(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 VO{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&M4(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,N4())&&(e.context.triggerKind===_l.Automatic||this.context.triggerKind===_l.Explicit)&&this.versionId===e.versionId}}class jO{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class $O{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 yD(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 yD(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class yD{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=ul({owner:this,equalsFn:J.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??BC)}toSingleTextEdit(e){return new Dl(this._updatedRange.read(e)??BC,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Wd(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,d=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,d),f=a.substring(d),g=r.substring(0,d),p=r.substring(d);const C=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=C&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!R4(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Bm.ofRange(i).isGreaterThanOrEqualTo(Bm.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Dl(this._updatedRange.read(e)??BC,this.inlineCompletion.filterText)}}const BC=new J(1,1,1,1),Xi={Visible:W9,HasFocusedSuggestion:new yn("suggestWidgetHasFocusedSuggestion",!1,S("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new yn("suggestWidgetDetailsVisible",!1,S("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new yn("suggestWidgetMultipleSuggestions",!1,S("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new yn("suggestionMakesTextEdit",!0,S("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new yn("acceptSuggestionOnEnter",!0,S("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new yn("suggestionHasInsertAndReplaceRange",!1,S("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new yn("suggestionInsertMode",void 0,{type:"string",description:S("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new yn("suggestionCanResolve",!1,S("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},bc=new si("suggestWidgetStatusBar");class UO{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Mg.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,J.isIRange(t.range)?(this.editStart=new Ai(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Ai(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Ai(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Ai(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Ai(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Ai(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range.insert)||J.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=>{qc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const l_=class l_{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}};l_.default=new l_;let Jg=l_;class qO{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function G9(o,e,t,i=Jg.default,n={triggerKind:0},s=cn.None){const r=new Ho;t=t.clone();const a=e.getWordAtPosition(t),d=a?new J(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):J.fromPositions(t),u={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},f=[],g=new Tt,p=[];let C=!1;const b=(w,A,I)=>{var R;let M=!1;if(!A)return M;for(const P of A.suggestions)if(!i.kindFilter.has(P.kind)){if(!i.showDeprecated&&((R=P==null?void 0:P.tags)!=null&&R.includes(1)))continue;P.range||(P.range=u),P.sortText||(P.sortText=typeof P.label=="string"?P.label:P.label.label),!C&&P.insertTextRules&&P.insertTextRules&4&&(C=Nu.guessNeedsClipboard(P.insertText)),f.push(new UO(t,P,A,w)),M=!0}return JA(A)&&g.add(A),p.push({providerName:w._debugDisplayName??"unknown_provider",elapsedProvider:A.duration??-1,elapsedOverall:I.elapsed()}),M},y=(async()=>{})();for(const w of o.orderedGroups(e)){let A=!1;if(await Promise.all(w.map(async I=>{if(i.providerItemsToReuse.has(I)){const M=i.providerItemsToReuse.get(I);M.forEach(R=>f.push(R)),A=A||M.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(I)))try{const M=new Ho,R=await I.provideCompletionItems(e,t,n,s);A=b(I,R,M)||A}catch(M){bs(M)}})),A||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(g.dispose(),Promise.reject(new j_)):new qO(f.sort(ZO(i.snippetSortOrder)),C,{entries:p,elapsed:r.elapsed()},g)}function K9(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 GO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return K9(o,e)}function KO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return K9(o,e)}const Sb=new Map;Sb.set(0,GO);Sb.set(2,KO);Sb.set(1,K9);function ZO(o){return Sb.get(o)}Qn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Pn(jn.isUri(t)),Pn(Ai.isIPosition(i)),Pn(typeof n=="string"||!n),Pn(typeof s=="number"||!s);const{completionProvider:r}=o.get(ki),a=await o.get(fa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await G9(r,a.object.textEditorModel,f,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of g.items)u.length<(s??0)&&u.push(p.resolve(cn.None)),d.incomplete=d.incomplete||p.container.incomplete,d.suggestions.push(p.completion);try{return await Promise.all(u),d}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function XO(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Xh{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 wD(o,e=z_){return O4(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var YO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QO=function(o,e){return function(t,i){e(t,i,o)}};class SD{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 DD{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=eo(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof To&&(a=eo(J_(u.value).pop())),!0));const d=Rp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(d)}${g}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class AD{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return ag(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=ag(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return H4(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(jw(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 kD{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=>!W4(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let uv=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}}};uv=YO([QO(2,js)],uv);const Da=class Da{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 Da.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Da.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Da.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Da.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,d=a<10?"0"+a:a;return n+r+":"+d}}};Da.dayNames=[S("Sunday","Sunday"),S("Monday","Monday"),S("Tuesday","Tuesday"),S("Wednesday","Wednesday"),S("Thursday","Thursday"),S("Friday","Friday"),S("Saturday","Saturday")],Da.dayNamesShort=[S("SundayShort","Sun"),S("MondayShort","Mon"),S("TuesdayShort","Tue"),S("WednesdayShort","Wed"),S("ThursdayShort","Thu"),S("FridayShort","Fri"),S("SaturdayShort","Sat")],Da.monthNames=[S("January","January"),S("February","February"),S("March","March"),S("April","April"),S("May","May"),S("June","June"),S("July","July"),S("August","August"),S("September","September"),S("October","October"),S("November","November"),S("December","December")],Da.monthNamesShort=[S("JanuaryShort","Jan"),S("FebruaryShort","Feb"),S("MarchShort","Mar"),S("AprilShort","Apr"),S("MayShort","May"),S("JuneShort","Jun"),S("JulyShort","Jul"),S("AugustShort","Aug"),S("SeptemberShort","Sep"),S("OctoberShort","Oct"),S("NovemberShort","Nov"),S("DecemberShort","Dec")];let hv=Da;class BD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=z4(this._workspaceService.getWorkspace());if(!V4(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(GS(e))return ag(e.uri.path);let t=ag(e.configPath.path);return t.endsWith(KS)&&(t=t.substr(0,t.length-KS.length-1)),t}_resoveWorkspacePath(e){if(GS(e))return wD(e.uri.fsPath);const t=ag(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?wD(i):"/"}}class FD{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 pb()}}var JO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},eH=function(o,e){return function(t,i){e(t,i,o)}},Ur;const Er=class Er{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=ZS(t.placeholders,hr.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=J.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?Er._decor.inactiveFinal:Er._decor.inactive,d=t.addDecoration(r,a);this._placeholderDecorations.set(i,d)}})}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),d=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(d).split(/\r\n|\r|\n/);for(let f=1;f<u.length;f++)u[f]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+u[f]);n.push(cs.replace(a,u.join(this._editor.getModel().getEOL())))}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(n=>{const s=new Set,r=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const d=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(d);r.push(new $i(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?Er._decor.activeFinal:Er._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?Er._decor.activeFinal:Er._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?Er._decor.inactiveFinal:Er._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof hr){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 xf,!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 d of s._snippet.placeholderInfo.all)d.isFinalTabstop?d.index=n.index+(r+1)/this._nestingLevel:d.index=n.index+d.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 d of s._snippet.placeholders){const u=s._snippet.offset(d),f=s._snippet.fullLen(d),g=J.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,Er._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=ZS(this._snippet.placeholders,hr.compareByIndex)})}};Er._decor={active:_n.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:_n.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:_n.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:_n.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let fv=Er;const LD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let gv=Ur=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=eo(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof To)||u.parent instanceof xf||s&&!s.has(u))return!0;const f=u.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(u);if(p===0)f[0]=e.normalizeIndentation(f[0]);else{d=d??n.toString();const C=d.charCodeAt(p-1);(C===10||C===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let C=1;C<f.length;C++)f[C]=e.normalizeIndentation(a+f[C])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new To(g)]),d=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,d=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:d});t=$i.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,d,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),C=e.invokeWithinContext(R=>R.get(F0)),b=e.invokeWithinContext(R=>new AD(R.get(Tg),p)),y=()=>a,w=p.getValueInRange(Ur.adjustSelection(p,e.getSelection(),i,0)),A=p.getValueInRange(Ur.adjustSelection(p,e.getSelection(),0,n)),I=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),M=e.getSelections().map((R,P)=>({selection:R,idx:P})).sort((R,P)=>J.compareRangesUsingStarts(R.selection,P.selection));for(const{selection:R,idx:P}of M){let V=Ur.adjustSelection(p,R,i,0),j=Ur.adjustSelection(p,R,0,n);w!==p.getValueInRange(V)&&(V=R),A!==p.getValueInRange(j)&&(j=R);const ee=R.setStartPosition(V.startLineNumber,V.startColumn).setEndPosition(j.endLineNumber,j.endColumn),ae=new Nu().parse(t,!0,s),ge=ee.getStartPosition(),X=Ur.adjustWhitespace(p,ge,r||P>0&&I!==p.getLineFirstNonWhitespaceColumn(R.positionLineNumber),ae);ae.resolveVariables(new SD([b,new kD(y,P,M.length,e.getOption(79)==="spread"),new DD(p,R,P,d),new uv(p,R,u),new hv,new BD(C),new FD])),f[P]=cs.replace(ee,ae.toString()),f[P].identifier={major:P,minor:0},f[P]._isTracked=!0,g[P]=new fv(e,ae,X)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const d=[],u=e.getModel(),f=new Nu,g=new Up,p=new SD([e.invokeWithinContext(b=>new AD(b.get(Tg),u)),new kD(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new DD(u,e.getSelection(),0,r),new uv(u,e.getSelection(),a),new hv,new BD(e.invokeWithinContext(b=>b.get(F0))),new FD]);t=t.sort((b,y)=>J.compareRangesUsingStarts(b.range,y.range));let C=0;for(let b=0;b<t.length;b++){const{range:y,template:w}=t[b];if(b>0){const P=t[b-1].range,V=J.fromPositions(P.getEndPosition(),y.getStartPosition()),j=new To(u.getValueInRange(V));g.appendChild(j),C+=j.value.length}const A=f.parseFragment(w,g);Ur.adjustWhitespace(u,y.getStartPosition(),!0,g,new Set(A)),g.resolveVariables(p);const I=g.toString(),M=I.slice(C);C=I.length;const R=cs.replace(y,M);R.identifier={major:b,minor:0},R._isTracked=!0,d.push(R)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new fv(e,g,"")]}}constructor(e,t,i=LD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){uo(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"?Ur.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Ur.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const n=i.filter(s=>!!s.identifier);for(let s=0;s<t.length;s++)t[s].initialize(n[s].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(s=>$i.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=LD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Ur.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(d=>!!d.identifier);for(let d=0;d<n.length;d++)n[d].initialize(r[d].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const d of this._snippets)d.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(d=>$i.fromPositions(d.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(J.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(J.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(J.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};gv=Ur=JO([eH(3,js)],gv);var tH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ix=function(o,e){return function(t,i){e(t,i,o)}},Hh;const ID={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ta;let xo=(Ta=class{static get(e){return e.getContribution(Hh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Tt,this._modelVersionId=-1,this._inSnippet=Hh.InSnippetMode.bindTo(n),this._hasNextTabstop=Hh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Hh.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"?ID:{...ID,...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?(Pn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new gv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!Ai.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const C=f.getValueInRange(p.range),b=!!p.choice.options.find(w=>w.value===C),y=[];for(let w=0;w<p.choice.options.length;w++){const A=p.choice.options[w];y.push({kind:13,label:A.value,insertText:A.value,sortText:"a".repeat(w+1),range:p.range,filterText:b?`${C}_${A.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:S("next","Go to next placeholder...")}})}return{suggestions:y}}},s=this._editor.getModel();let r,a=!1;const d=()=>{r==null||r.dispose(),a=!1},u=()=>{a||(r=this._languageFeaturesService.completionProvider.register({language:s.getLanguageId(),pattern:s.uri.fsPath,scheme:s.uri.scheme,exclusive:!0},n),this._snippetListener.add(r),a=!0)};this._choiceCompletions={provider:n,enable:u,disable:d}}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(()=>{XO(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()}},Hh=Ta,Ta.ID="snippetController2",Ta.InSnippetMode=new yn("inSnippetMode",!1,S("inSnippetMode","Whether the editor in current in snippet mode")),Ta.HasNextTabstop=new yn("hasNextTabstop",!1,S("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ta.HasPrevTabstop=new yn("hasPrevTabstop",!1,S("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ta);xo=Hh=tH([Ix(1,Yu),Ix(2,ki),Ix(3,Ln),Ix(4,js)],xo);hn(xo.ID,xo,4);const Db=ko.bindToContribution(xo.get);Pi(new Db({id:"jumpToNextSnippetPlaceholder",precondition:Ge.and(xo.InSnippetMode,xo.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:2}}));Pi(new Db({id:"jumpToPrevSnippetPlaceholder",precondition:Ge.and(xo.InSnippetMode,xo.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:1026}}));Pi(new Db({id:"leaveSnippet",precondition:xo.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Pi(new Db({id:"acceptSnippet",precondition:xo.InSnippetMode,handler:o=>o.finish()}));var iH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FC=function(o,e){return function(t,i){e(t,i,o)}};let OE=class extends Rt{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,d,u,f,g,p){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=r,this._suggestPreviewMode=a,this._inlineSuggestMode=d,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(NE,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Qo(this,!1),this._forceUpdateExplicitlySignal=Kw(this),this._selectedInlineCompletionId=Qo(this,void 0),this._primaryPosition=Wn(this,b=>this._positions.read(b)[0]??new Ai(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([ol.Redo,ol.Undo,ol.AcceptWord]),this._fetchInlineCompletionsPromise=ek({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:_l.Automatic}),handleChange:(b,y)=>(b.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(b.change))?y.preserveCurrentCompletion=!0:b.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=_l.Explicit),!0)},(b,y)=>{if(this._forceUpdateExplicitlySignal.read(b),!(this._enabled.read(b)&&this.selectedSuggestItem.read(b)||this._isActive.read(b))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);const A=this._source.suggestWidgetInlineCompletions.get(),I=this.selectedSuggestItem.read(b);if(A&&!I){const j=this._source.inlineCompletions.get();Xu(ee=>{(!j||A.request.versionId>j.request.versionId)&&this._source.inlineCompletions.set(A.clone(),ee),this._source.clearSuggestWidgetInlineCompletions(ee)})}const M=this._primaryPosition.read(b),R={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:I==null?void 0:I.toSelectedSuggestionInfo()},P=this.selectedInlineCompletion.get(),V=y.preserveCurrentCompletion||P!=null&&P.forwardStable?P:void 0;return this._source.fetch(M,R,V)}),this._filteredInlineCompletionItems=ul({owner:this,equalsFn:c1()},b=>{const y=this._source.inlineCompletions.read(b);if(!y)return[];const w=this._primaryPosition.read(b);return y.inlineCompletions.filter(I=>I.isVisible(this.textModel,w,b))}),this.selectedInlineCompletionIndex=Wn(this,b=>{const y=this._selectedInlineCompletionId.read(b),w=this._filteredInlineCompletionItems.read(b),A=this._selectedInlineCompletionId===void 0?-1:w.findIndex(I=>I.semanticId===y);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineCompletion=Wn(this,b=>{const y=this._filteredInlineCompletionItems.read(b),w=this.selectedInlineCompletionIndex.read(b);return y[w]}),this.activeCommands=ul({owner:this,equalsFn:c1()},b=>{var y;return((y=this.selectedInlineCompletion.read(b))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b==null?void 0:b.request.context.triggerKind),this.inlineCompletionsCount=Wn(this,b=>{if(this.lastTriggerKind.read(b)===_l.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this.state=ul({owner:this,equalsFn:(b,y)=>!b||!y?b===y:gD(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem},b=>{const y=this.textModel,w=this.selectedSuggestItem.read(b);if(w){const A=Wd(w.toSingleTextEdit(),y),I=this._computeAugmentation(A,b);if(!this._suggestPreviewEnabled.read(b)&&!I)return;const R=(I==null?void 0:I.edit)??A,P=I?I.edit.text.length-A.text.length:0,V=this._suggestPreviewMode.read(b),j=this._positions.read(b),ee=[R,...LC(this.textModel,j,R)],ae=ee.map((X,de)=>_D(X,y,V,j[de],P)).filter(Yx),ge=ae[0]??new Qg(R.range.endLineNumber,[]);return{edits:ee,primaryGhostText:ge,ghostTexts:ae,inlineCompletion:I==null?void 0:I.completion,suggestItem:w}}else{if(!this._isActive.read(b))return;const A=this.selectedInlineCompletion.read(b);if(!A)return;const I=A.toSingleTextEdit(b),M=this._inlineSuggestMode.read(b),R=this._positions.read(b),P=[I,...LC(this.textModel,R,I)],V=P.map((j,ee)=>_D(j,y,M,R[ee],0)).filter(Yx);return V[0]?{edits:P,primaryGhostText:V[0],ghostTexts:V,inlineCompletion:A,suggestItem:void 0}:void 0}}),this.ghostTexts=ul({owner:this,equalsFn:gD},b=>{const y=this.state.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=ul({owner:this,equalsFn:bB},b=>{const y=this.state.read(b);if(y)return y==null?void 0:y.primaryGhostText}),this._register(tk(this._fetchInlineCompletionsPromise));let C;this._register(rs(b=>{var A,I;const y=this.state.read(b),w=y==null?void 0:y.inlineCompletion;if((w==null?void 0:w.semanticId)!==(C==null?void 0:C.semanticId)&&(C=w,w)){const M=w.inlineCompletion,R=M.source;(I=(A=R.provider).handleItemDidShow)==null||I.call(A,R.inlineCompletions,M.sourceInlineCompletion,M.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?ol.Undo:e!=null&&e.isRedoing?ol.Redo:this.isAcceptingPartially?ol.AcceptWord:ol.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Fm(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Fm(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(Yx);return j4(s,a=>{let d=a.toSingleTextEdit(t);return d=Wd(d,i,J.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),wB(d,e)?{completion:a,edit:d}: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 O0;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",[cs.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=xo.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=PD(s).map(a=>$i.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>cs.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,bs),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 d=0;a&&a.index!==void 0?a.index===0?d=a[0].length:d=a.index:d=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<d&&(d=f.index+f[0].length),d},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 O0;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],d=new Ai(s.lineNumber,a.column),u=a.text,f=t(d,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),C=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const b=J.fromPositions(C,d),y=e.getModel().getValueInRange(b)+g,w=new Dl(b,y),A=[w,...LC(this.textModel,p,w)],I=PD(A).map(M=>$i.fromPositions(M));e.executeEdits("inlineSuggestion.accept",A.map(M=>cs.replace(M.range,M.text))),e.setSelections(I,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const b=J.fromPositions(r.range.getStartPosition(),Bm.ofText(g).addToPosition(d)),y=e.getModel().getValueInRange(b,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=Wd(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})}};OE=iH([FC(9,on),FC(10,Vs),FC(11,js)],OE);var ol;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(ol||(ol={}));function LC(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(J.fromPositions(i,r)),d=pD(i,s);if(d.lineNumber<1)return qn(new O0(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
-
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=nH(t.text,d);return n.map(f=>{const g=kO(pD(f,s),r),p=o.getValueInRange(J.fromPositions(f,g)),C=Rp(a,p),b=J.fromPositions(f,f.delta(0,C));return new Dl(b,u)})}function nH(o,e){let t="";const i=U4(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 PD(o){const e=$4.createSortPermutation(o,Tp(s=>s.range,J.compareRangesUsingStarts)),i=new qA(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var sH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Xf;class Z9{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 MD extends Z9{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class oH extends Z9{constructor(){super("recentlyUsed"),this._cache=new Bp(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,d=-1;for(let u=0;u<i.length&&i[u].score[0]===s;u++){const f=`${e.getLanguageId()}/${i[u].textLabel}`,g=this._cache.peek(f);if(g&&g.touch>d&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(d=g.touch,a=u),i[u].completion.preselect&&r===-1)return r=u}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:Zw.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class rH extends Z9{constructor(){super("recentlyUsedByPrefix"),this._trie=q4.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:d,insertText:u}=i[a].completion;if(d===r.type&&u===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:Zw.fromString(i.type),this._trie.set(t,i)}}}var Bc;let HE=(Bc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Tt,this._persistSoon=new Ms(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Hw.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=Xf._strategyCtors.get(i)||MD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${Xf._storagePrefix}/${i}`,a);d&&this._strategy.fromJSON(JSON.parse(d))}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(`${Xf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Xf=Bc,Bc._strategyCtors=new Map([["recentlyUsedByPrefix",rH],["recentlyUsed",oH],["first",MD]]),Bc._storagePrefix="suggest/memories",Bc);HE=Xf=sH([TD(0,Gc),TD(1,ss)],HE);const Ab=Ml("ISuggestMemories");Rl(Ab,HE,1);var aH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lH=function(o,e){return function(t,i){e(t,i,o)}},WE,au;let pv=(au=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=WE.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)}},WE=au,au.AtEnd=new yn("atEndOfWord",!1),au);pv=WE=aH([lH(1,Ln)],pv);var cH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dH=function(o,e){return function(t,i){e(t,i,o)}},Yf,lu;let ef=(lu=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Yf.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(Yf._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=Yf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Yf=lu,lu.OtherSuggestions=new yn("hasOtherSuggestions",!1),lu);ef=Yf=cH([dH(1,Ln)],ef);class uH{constructor(e,t,i,n){this._disposables=new Tt,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||!Yo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new km;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 rr=class rr{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>rr._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>rr._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>=rr._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>rr._maxDuration){setTimeout(()=>rr._bracketsRightYield(e,t+1,i,n,s));break}if(d.bracketInfo.isOpeningBracket){const f=d.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=d.bracketInfo.getOpeningBrackets()[0].bracketText;let g=r.has(f)?r.get(f):0;if(g-=1,r.set(f,Math.max(0,g)),g<0){let p=s.get(f);p||(p=new ik,s.set(f,p)),p.push(d.range)}}n=d.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,d=Date.now();for(;;){if(t>=rr._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>rr._maxDuration){setTimeout(()=>rr._bracketsLeftYield(e,t+1,i,n,s,r));break}if(u.bracketInfo.isOpeningBracket){const g=u.bracketInfo.bracketText;let p=a.has(g)?a.get(g):0;if(p-=1,a.set(g,Math.max(0,p)),p<0){const C=s.get(g);if(C){const b=C.shift();C.size===0&&s.delete(g);const y=J.fromPositions(u.range.getEndPosition(),b.getStartPosition()),w=J.fromPositions(u.range.getStartPosition(),b.getEndPosition());r.push({range:y}),r.push({range:w}),rr._addBracketLeading(i,w,r)}}}else{const g=u.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(g)?a.get(g):0;a.set(g,p+1)}n=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);s!==0&&s!==t.startColumn&&(i.push({range:J.fromPositions(new Ai(n,s),t.getEndPosition())}),i.push({range:J.fromPositions(new Ai(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:J.fromPositions(new Ai(r,a),t.getEndPosition())}),i.push({range:J.fromPositions(new Ai(r,1),t.getEndPosition())}))}}};rr._maxDuration=30,rr._maxRounds=2;let xv=rr;const Aa=class Aa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return Aa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return Aa.None;const[s]=await new xv().provideSelectionRanges(i,[n]);if(s.length===0)return Aa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return Aa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends Aa{distance(d,u){if(!n.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const f=typeof u.label=="string"?u.label:u.label.label,g=r[f];if(G4(g))return 2<<20;const p=Lm(g,J.fromPositions(d),J.compareRangesUsingStarts),C=p>=0?g[p]:g[Math.max(0,~p-1)];let b=s.length;for(const y of s){if(!J.containsRange(y.range,C))break;b-=1}return b}}}};Aa.None=new class extends Aa{distance(){return 0}};let mv=Aa,RD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class oc{constructor(e,t,i,n,s,r,a=nk.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=oc._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=oc._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=oc._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=[],d=!this._options.filterGraceful||r.length>2e3?sk:K4;for(let u=0;u<r.length;u++){const f=r[u];if(f.isInvalid)continue;const g=this._itemsByProvider.get(f.provider);g?g.push(f):this._itemsByProvider.set(f.provider,[f]);const p=f.position.column-f.editStart.column,C=p+i-(f.position.column-this._column);if(n.length!==C&&(n=C===0?"":t.slice(-C),s=n.toLowerCase()),f.word=n,C===0)f.score=Mg.Default;else{let b=0;for(;b<p;){const y=n.charCodeAt(b);if(y===32||y===9)b+=1;else break}if(b>=C)f.score=Mg.Default;else if(typeof f.completion.filterText=="string"){const y=d(n,s,b,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;Z4(f.completion.filterText,f.textLabel)===0?f.score=y:(f.score=X4(n,s,b,f.textLabel,f.labelLow,0),f.score[0]=y[0])}else{const y=d(n,s,b,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;f.score=y}}f.idx=u,f.distance=this._wordDistance.distance(f.position,f.completion),a.push(f),e.push(f.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Y4(e.length-.85,e,(u,f)=>u-f):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return oc._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 oc._compareCompletionItems(e,t)}}var hH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},zE;class hd{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 fH(o,e,t){if(!e.getContextKeyValue(Oo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Oo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function gH(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Oo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let vv=zE=class{constructor(e,t,i,n,s,r,a,d,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=d,this._envService=u,this._toDispose=new Tt,this._triggerCharacterListener=new Tt,this._triggerQuickSuggest=new Dp,this._triggerState=void 0,this._completionDisposables=new Tt,this._onDidCancel=new ln,this._onDidTrigger=new ln,this._onDidSuggest=new ln,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new $i(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let f=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{f=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{f=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(g=>{f||this._onCursorChange(g)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!f&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){uo(this._triggerCharacterListener),uo([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(!gH(this._editor,this._contextKeyService,this._configurationService)||hd.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="";J4(i.charCodeAt(i.length-1))?eL(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[d,u]of this._completionModel.getItemsByProvider())s.has(d)||a.set(d,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)==null?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;Xh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=xo.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hd.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(!Xh.isAllOff(n)){if(!Xh.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(Xh.valueFor(n,r)!=="on")return}fH(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Pn(this._editor.hasModel()),Pn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new hd(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,C,b;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new hd(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 Gs;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:d}=zE.createSuggestFilter(this._editor),u=new Jg(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(C=e.completionOptions)==null?void 0:C.providerFilter,(b=e.completionOptions)==null?void 0:b.providerItemsToReuse,d),f=mv.create(this._editorWorkerService,this._editor),g=G9(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([y,w])=>{var P;if((P=this._requestToken)==null||P.dispose(),!this._editor.hasModel())return;let A=e==null?void 0:e.clipboardText;if(!A&&y.needsClipboard&&(A=await this._clipboardService.readText()),this._triggerState===void 0)return;const I=this._editor.getModel(),M=new hd(I,this._editor.getPosition(),e),R={...nk.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new oc(y.items,this._context.column,{leadingLineContent:M.leadingLineContent,characterCountDelta:M.column-this._context.column},w,this._editor.getOption(119),this._editor.getOption(113),R,A),this._completionDisposables.add(y.disposable),this._onNewContext(M),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const V of y.items)V.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${V.provider._debugDisplayName}`,V.completion)}).catch(qn)}_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(eo(e.leadingLineContent)!==eo(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(hd.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=hd.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})}}}}};vv=zE=hH([Xl(1,Nl),Xl(2,lf),Xl(3,ua),Xl(4,Yu),Xl(5,Ln),Xl(6,ss),Xl(7,ki),Xl(8,Q4)],vv);const c_=class c_{constructor(e,t){this._disposables=new Tt,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 d=i[a];if(r.getValueLengthInRange(d)>c_._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(d),multiline:d.startLineNumber!==d.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()}};c_._maxSelectionLength=51200;let VE=c_;var pH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};let jE=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Tt,this.element=ci(e,mi(".suggest-status-bar"));const r=(a=>a instanceof N0?i.createInstance(tL,a,{useComma:!0}):void 0);this._leftActions=new Bg(this.element,{actionViewItemProvider:r}),this._rightActions=new Bg(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()}};jE=pH([IC(2,on),IC(3,Zu),IC(4,Ln)],jE);var xH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mH=function(o,e){return function(t,i){e(t,i,o)}};function X9(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let $E=class{constructor(e,t){this._editor=e,this._onDidClose=new ln,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new ln,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Tt,this._renderDisposeable=new Tt,this._borderWidth=1,this._size=new Zn(330,0),this.domNode=mi(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(uf,{editor:e}),this._body=mi(".body"),this._scrollbar=new ok(this._body,{alwaysConsumeMouseWheel:!0}),ci(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=ci(this._body,mi(".header")),this._close=ci(this._header,mi("span"+Rn.asCSSSelector(Qi.close))),this._close.title=S("details.close","Close"),this._type=ci(this._header,mi("p.type")),this._docs=ci(this._body,mi("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`,d=`${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=d,this._close.style.width=d}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=S("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 lo().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!X9(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,Lr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Wa(this._type),this._type.title="",qo(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 Zn(e,t);Zn.equals(i,this._size)||(this._size=i,iL(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}};$E=xH([mH(1,on)],$E);class vH{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Tt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new B9,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 d=!1;a.west&&(r=n.width-a.dimension.width,d=!0),a.north&&(s=n.height-a.dimension.height,d=!0),d&&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=Ip(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Zn(220,2*s.lineHeight),a=e.top,d=(function(){const P=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),V=-s.borderWidth+e.left+e.width,j=new Zn(P,n.height-e.top-s.borderHeight-s.verticalPadding),ee=j.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:P-t.width,maxSizeTop:j,maxSizeBottom:ee,minSize:r.with(Math.min(P,r.width))}})(),u=(function(){const P=e.left-s.borderWidth-s.horizontalPadding,V=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),j=new Zn(P,n.height-e.top-s.borderHeight-s.verticalPadding),ee=j.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:P-t.width,maxSizeTop:j,maxSizeBottom:ee,minSize:r.with(Math.min(P,r.width))}})(),f=(function(){const P=e.left,V=-s.borderWidth+e.top+e.height,j=new Zn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:V,left:P,fit:j.height-t.height,maxSizeBottom:j,maxSizeTop:j,minSize:r.with(j.width)}})(),g=[d,u,f],p=g.find(P=>P.fit>=0)??g.sort((P,V)=>V.fit-P.fit)[0],C=e.top+e.height-s.borderHeight;let b,y=t.height;const w=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>w&&(y=w);let A;i?y<=p.maxSizeTop.height?(b=!0,A=p.maxSizeTop):(b=!1,A=p.maxSizeBottom):y<=p.maxSizeBottom.height?(b=!1,A=p.maxSizeBottom):(b=!0,A=p.maxSizeTop);let{top:I,left:M}=p;!b&&y>e.height&&(I=C-y);const R=this._editor.getDomNode();if(R){const P=R.getBoundingClientRect();I-=P.top,M-=P.left}this._applyTopLeft({left:M,top:I}),this._resizable.enableSashes(!b,p===d,b,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=A,this._resizable.layout(y,Math.min(A.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Oa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Oa||(Oa={}));const _H=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Px(o,e,t,i,n){if(Rn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(jn.isUri(n))return[];const s=i===Oa.ROOT_FOLDER?["rootfolder-icon"]:i===Oa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===Eo.data)r=Im.parseMetaData(t).get(Im.META_DATA_LABEL);else{const a=t.path.match(_H);a?(r=Tx(a[2].toLowerCase()),a[1]&&s.push(`${Tx(a[1].toLowerCase())}-name-dir-icon`)):r=Tx(t.authority.toLowerCase())}if(i===Oa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Oa.FOLDER)s.push(`${r}-name-folder-icon`);else{if(r){if(s.push(`${r}-name-file-icon`),s.push("name-file-icon"),r.length<=255){const d=r.split(".");for(let u=1;u<d.length;u++)s.push(`${d.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=bH(o,e,t);a&&s.push(`${Tx(a)}-lang-file-icon`)}}return s}function bH(o,e,t){if(!t)return null;let i=null;if(t.scheme===Eo.data){const s=Im.parseMetaData(t).get(Im.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Rg?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Tx(o){return o.replace(/[\s]/g,"/")}var CH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};function SB(o){return`suggest-aria-id:${o}`}const EH=ms("suggest-more-info",Qi.chevronRight,S("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var ta;const yH=new(ta=class{extract(e,t){if(e.textLabel.match(ta._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(ta._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=ta._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},ta._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*\))/,ta._regexStrict=new RegExp(`^${ta._regexRelaxed.source}$`,"i"),ta);let UE=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new ln,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Tt,i=e;i.classList.add("show-file-icons");const n=ci(e,mi(".icon")),s=ci(n,mi("span.colorspan")),r=ci(e,mi(".contents")),a=ci(r,mi(".main")),d=ci(a,mi(".icon-label.codicon")),u=ci(a,mi("span.left")),f=ci(a,mi("span.right")),g=new wA(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=ci(u,mi("span.signature-label")),C=ci(u,mi("span.qualifier-label")),b=ci(f,mi("span.details-label")),y=ci(f,mi("span.readMore"+Rn.asCSSSelector(EH)));return y.title=S("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:d,parametersLabel:p,qualifierLabel:C,detailsLabel:b,readMore:y,disposables:t,configureFont:()=>{const A=this._editor.getOptions(),I=A.get(50),M=I.getMassagedFontFamily(),R=I.fontFeatureSettings,P=A.get(120)||I.fontSize,V=A.get(121)||I.lineHeight,j=I.fontWeight,ee=I.letterSpacing,ae=`${P}px`,ge=`${V}px`,X=`${ee}px`;i.style.fontSize=ae,i.style.fontWeight=j,i.style.letterSpacing=X,a.style.fontFamily=M,a.style.fontFeatureSettings=R,a.style.lineHeight=ge,n.style.height=ge,n.style.width=ge,y.style.height=ge,y.style.width=ge}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=SB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:X_(e.score)},r=[];if(n.kind===19&&yH.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=Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:e.textLabel}),Oa.FILE),d=Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:n.detail}),Oa.FILE);s.extraClasses=a.length>d.length?a:d}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:e.textLabel}),Oa.FOLDER),Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:n.detail}),Oa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Rn.asClassNameArray(Zw.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=TC(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=TC(n.label.detail||""),i.detailsLabel.textContent=TC(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Lr(i.detailsLabel):qo(i.detailsLabel),X9(e)?(i.right.classList.add("can-expand-details"),Lr(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"),qo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};UE=CH([PC(1,vo),PC(2,ha),PC(3,Wr)],UE);function TC(o){return o.replace(/\r\n|\r|\n/g,"")}var wH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mx=function(o,e){return function(t,i){e(t,i,o)}},Wh;vi("editorSuggestWidget.background",rk,S("editorSuggestWidgetBackground","Background color of the suggest widget."));vi("editorSuggestWidget.border",nL,S("editorSuggestWidgetBorder","Border color of the suggest widget."));const SH=vi("editorSuggestWidget.foreground",Mp,S("editorSuggestWidgetForeground","Foreground color of the suggest widget."));vi("editorSuggestWidget.selectedForeground",ak,S("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));vi("editorSuggestWidget.selectedIconForeground",sL,S("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const DH=vi("editorSuggestWidget.selectedBackground",lk,S("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));vi("editorSuggestWidget.highlightForeground",ck,S("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));vi("editorSuggestWidget.focusHighlightForeground",oL,S("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));vi("editorSuggestWidgetStatus.foreground",za(SH,.5),S("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class AH{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Hr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Zn.is(t))return Zn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Fc;let qE=(Fc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new er,this._pendingShowDetails=new er,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Dp,this._disposables=new Tt,this._onDidSelect=new XS,this._onDidFocus=new XS,this._onDidHide=new ln,this._onDidShow=new ln,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new ln,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new B9,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new kH(this,e),this._persistedSize=new AH(t,e);class r{constructor(C,b,y=!1,w=!1){this.persistedSize=C,this.currentSize=b,this.persistHeight=y,this.persistWidth=w}}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 C,b;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:w}=this.getLayoutInfo(),A=Math.round(y/2);let{width:I,height:M}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-M)<=A)&&(M=((C=a.persistedSize)==null?void 0:C.height)??w.height),(!a.persistWidth||Math.abs(a.currentSize.width-I)<=A)&&(I=((b=a.persistedSize)==null?void 0:b.width)??w.width),this._persistedSize.store(new Zn(I,M))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=ci(this.element.domNode,mi(".message")),this._listElement=ci(this.element.domNode,mi(".tree"));const d=this._disposables.add(s.createInstance($E,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new vH(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(UE,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Rw("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>S("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let C=p.textLabel;if(typeof p.completion.label!="string"){const{detail:A,description:I}=p.completion.label;A&&I?C=S("label.full","{0} {1}, {2}",C,A,I):A?C=S("label.detail","{0} {1}",C,A):I&&(C=S("label.desc","{0}, {1}",C,I))}if(!p.isResolved||!this._isDetailsVisible())return C;const{documentation:b,detail:y}=p.completion,w=Gw("{0}{1}",y||"",b?typeof b=="string"?b:b.value:"");return S("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",C,w)}}}),this._list.style(dk({listInactiveFocusBackground:DH,listInactiveFocusOutline:Bu})),this._status=s.createInstance(jE,this.element.domNode,bc);const g=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);g(),this._disposables.add(n.onDidColorThemeChange(p=>this._onThemeChange(p))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onTap(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onDidChangeSelection(p=>this._onListSelection(p))),this._disposables.add(this._list.onDidChangeFocus(p=>this._onListFocus(p))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(119)&&(g(),u()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Xi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Xi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Xi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Xi.HasFocusedSuggestion.bindTo(i),this._disposables.add(Sl(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=Fg(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=qs(async s=>{const r=kg(()=>{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:SB(i)}))}).catch(qn)),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:qo(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=Wh.LOADING_MESSAGE,qo(this._listElement,this._status.element),Lr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,P0(Wh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Wh.NO_SUGGESTIONS_MESSAGE,qo(this._listElement,this._status.element),Lr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,P0(Wh.NO_SUGGESTIONS_MESSAGE);break;case 3:qo(this._messageElement),Lr(this._listElement,this._status.element),this._show();break;case 4:qo(this._messageElement),Lr(this._listElement,this._status.element),this._show();break;case 5:qo(this._messageElement),Lr(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=kg(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var d,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(d=this._loadingTimeout)==null||d.dispose(),(u=this._currentSuggestionDetails)==null||u.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(n?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=YS(Id(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")):(X9(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=YS(Id(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=Ip(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 Zn(s,n),this._contentWidget.setPreference(2);else{const d=t.width-i.borderHeight-2*i.horizontalPadding;s>d&&(s=d);const u=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,f=i.statusBarHeight+this._list.contentHeight+i.borderHeight,g=i.itemHeight+i.statusBarHeight,p=wo(this.editor.getDomNode()),C=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),b=p.top+C.top+C.height,y=Math.min(t.height-b-i.verticalPadding,f),w=p.top+C.top-i.verticalPadding,A=Math.min(w,f);let I=Math.min(Math.max(A,y)+i.borderHeight,f);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<g&&(n=g),n>I&&(n=I),n>y||this._forceRenderingAbove&&w>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),I=A):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),I=y),this.element.preferredSize=new Zn(u,i.defaultSize.height),this.element.maxSize=new Zn(d,I),this.element.minSize=new Zn(220,g),this._cappedHeight=n===f?{wanted:((a=this._cappedHeight)==null?void 0:a.wanted)??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=`${t-s}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=rL(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 Zn(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},Wh=Fc,Fc.LOADING_MESSAGE=S("suggestWidget.loading","Loading..."),Fc.NO_SUGGESTIONS_MESSAGE=S("suggestWidget.noSuggestions","No suggestions."),Fc);qE=Wh=wH([Mx(1,Gc),Mx(2,Ln),Mx(3,Wr),Mx(4,on)],qE);class kH{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 Zn(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 BH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},GE;class FH{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=_n.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(J.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 cu;let Pr=(cu=class{static get(e){return e.getContribution(GE.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 er,this._toDispose=new Tt,this._selectors=new LH(g=>g.priority),this._onWillInsertSuggestItem=new ln,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(vv,this.editor),this._selectors.register({priority:0,select:(g,p,C)=>this._memoryService.select(g,p,C)});const d=Xi.InsertMode.bindTo(n);d.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>d.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new nC(Id(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(qE,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(w=>this._insertSuggestion(w,0),this));const p=new uH(this.editor,g,this.model,w=>this._insertSuggestion(w,2));this._toDispose.add(p);const C=Xi.MakesTextEdit.bindTo(this._contextKeyService),b=Xi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=Xi.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(is(()=>{C.reset(),b.reset(),y.reset()})),this._toDispose.add(g.onDidFocus(({item:w})=>{const A=this.editor.getPosition(),I=w.editStart.column,M=A.column;let R=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!w.completion.additionalTextEdits&&!(w.completion.insertTextRules&4)&&M-I===w.completion.insertText.length&&(R=this.editor.getModel().getValueInRange({startLineNumber:A.lineNumber,startColumn:I,endLineNumber:A.lineNumber,endColumn:M})!==w.completion.insertText),C.set(R),b.set(!Ai.equals(w.editInsertEnd,w.editReplaceEnd)),y.set(!!w.provider.resolveCompletionItem||!!w.completion.documentation||w.completion.detail!==w.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(w=>{if(w.toKeyCodeChord().equals(new QS(!0,!1,!1,!1,33))||$a&&w.toKeyCodeChord().equals(new QS(!1,!1,!1,!0,33))){w.stopPropagation();return}w.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new nC(Id(e.getDomNode()),()=>this._toDispose.add(new VE(this.editor,this.model)))),this._alternatives=this._toDispose.add(new nC(Id(e.getDomNode()),()=>this._toDispose.add(new ef(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(pv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new FH(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const b of this._selectors.itemsOrderedByPriorityDesc)if(p=b.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let C=!1;if(g.triggerOptions.auto){const b=this.editor.getOption(119);b.selectionMode==="never"||b.selectionMode==="always"?C=b.selectionMode==="never":b.selectionMode==="whenTriggerCharacter"?C=g.triggerOptions.triggerKind!==1:b.selectionMode==="whenQuickSuggestion"&&(C=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,C)})),this._toDispose.add(this.model.onDidCancel(g=>{g.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=Xi.AcceptSuggestionsOnEnter.bindTo(n),f=()=>{const g=this.editor.getOption(1);u.set(g==="on"||g==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>f())),f()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=xo.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],d=new Gs;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const f=r.isResolved;let g=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const b=T0.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let w=J.lift(y.range);if(w.startLineNumber===r.position.lineNumber&&w.startColumn>r.position.column){const A=this.editor.getPosition().column-r.position.column,I=A,M=J.spansMultipleLines(w)?0:A;w=new J(w.startLineNumber,w.startColumn+I,w.endLineNumber,w.endColumn+M)}return cs.replaceMove(w,y.text)})),b.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const b=new Ho;let y;const w=n.onDidChangeContent(R=>{if(R.isFlush){d.cancel(),w.dispose();return}for(const P of R.changes){const V=J.getEndPosition(P.range);(!y||Ai.isBefore(V,y))&&(y=V)}}),A=t;t|=2;let I=!1;const M=this.editor.onWillType(()=>{M.dispose(),I=!0,A&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(P=>Ai.isBefore(y,J.getStartPosition(P.range))))return!1;I&&this.editor.pushUndoStop();const R=T0.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(P=>cs.replaceMove(J.lift(P.range),P.text))),R.restoreRelativeVerticalPositionOfCursor(this.editor),(I||!(A&2))&&this.editor.pushUndoStop(),!0}).then(R=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",b.elapsed(),R),p=R===!0?1:R===!1?0:-2}).finally(()=>{w.dispose(),M.dispose()}))}let{insertText:C}=r.completion;if(r.completion.insertTextRules&4||(C=Nu.escape(C)),this.model.cancel(),i.insert(C,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===_v.id)this.model.trigger({auto:!0,retrigger:!0});else{const b=new Ho;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?bs(y):qn(y)}).finally(()=>{g=b.elapsed()}))}t&4&&this._alternatives.value.set(e,b=>{for(d.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(b,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,f,g,p,e.index,e.model.items),this.model.clear(),d.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const d=new Map;for(let C=0;C<Math.min(30,a.length);C++){const b=a[C].textLabel;d.has(b)?d.get(b).push(C):d.set(b,[C])}const u=d.get(e.textLabel),g=u&&u.length>1?u[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:WA(Ua(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:aL(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){Pn(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(Yo(e.completion.additionalTextEdits)){const t=S("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Nr(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,d=r.column;return d-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:d})!==s.completion.insertText};Ts.once(this.model.onDidTrigger)(s=>{const r=[];Ts.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{uo(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(uo(r),a.items.length===0){i();return}const d=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[d];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:d,item:u,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},GE=cu,cu.ID="editor.contrib.suggestController",cu);Pr=GE=BH([Ah(1,Ab),Ah(2,Vs),Ah(3,Ln),Ah(4,on),Ah(5,Yu),Ah(6,ua)],Pr);class LH{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 d_=class d_ extends vt{constructor(){super({id:d_.id,label:S("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:Ge.and(q.writable,q.hasCompletionItemProvider,Xi.Visible.toNegated()),kbOpts:{kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Pr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};d_.id="editor.action.triggerSuggest";let _v=d_;hn(Pr.ID,Pr,2);Ie(_v);const tr=190,_o=ko.bindToContribution(Pr.get);Pi(new _o({id:"acceptSelectedSuggestion",precondition:Ge.and(Xi.Visible,Xi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Ge.and(Xi.Visible,q.textInputFocus),weight:tr},{primary:3,kbExpr:Ge.and(Xi.Visible,q.textInputFocus,Xi.AcceptSuggestionsOnEnter,Xi.MakesTextEdit),weight:tr}],menuOpts:[{menuId:bc,title:S("accept.insert","Insert"),group:"left",order:1,when:Xi.HasInsertAndReplaceRange.toNegated()},{menuId:bc,title:S("accept.insert","Insert"),group:"left",order:1,when:Ge.and(Xi.HasInsertAndReplaceRange,Xi.InsertMode.isEqualTo("insert"))},{menuId:bc,title:S("accept.replace","Replace"),group:"left",order:1,when:Ge.and(Xi.HasInsertAndReplaceRange,Xi.InsertMode.isEqualTo("replace"))}]}));Pi(new _o({id:"acceptAlternativeSelectedSuggestion",precondition:Ge.and(Xi.Visible,q.textInputFocus,Xi.HasFocusedSuggestion),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:bc,group:"left",order:2,when:Ge.and(Xi.HasInsertAndReplaceRange,Xi.InsertMode.isEqualTo("insert")),title:S("accept.replace","Replace")},{menuId:bc,group:"left",order:2,when:Ge.and(Xi.HasInsertAndReplaceRange,Xi.InsertMode.isEqualTo("replace")),title:S("accept.insert","Insert")}]}));Qn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Pi(new _o({id:"hideSuggestWidget",precondition:Xi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Pi(new _o({id:"selectNextSuggestion",precondition:Ge.and(Xi.Visible,Ge.or(Xi.MultipleSuggestions,Xi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Pi(new _o({id:"selectNextPageSuggestion",precondition:Ge.and(Xi.Visible,Ge.or(Xi.MultipleSuggestions,Xi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:12,secondary:[2060]}}));Pi(new _o({id:"selectLastSuggestion",precondition:Ge.and(Xi.Visible,Ge.or(Xi.MultipleSuggestions,Xi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Pi(new _o({id:"selectPrevSuggestion",precondition:Ge.and(Xi.Visible,Ge.or(Xi.MultipleSuggestions,Xi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Pi(new _o({id:"selectPrevPageSuggestion",precondition:Ge.and(Xi.Visible,Ge.or(Xi.MultipleSuggestions,Xi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:11,secondary:[2059]}}));Pi(new _o({id:"selectFirstSuggestion",precondition:Ge.and(Xi.Visible,Ge.or(Xi.MultipleSuggestions,Xi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Pi(new _o({id:"focusSuggestion",precondition:Ge.and(Xi.Visible,Xi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Pi(new _o({id:"focusAndAcceptSuggestion",precondition:Ge.and(Xi.Visible,Xi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Pi(new _o({id:"toggleSuggestionDetails",precondition:Ge.and(Xi.Visible,Xi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:bc,group:"right",order:1,when:Ge.and(Xi.DetailsVisible,Xi.CanResolve),title:S("detail.more","Show Less")},{menuId:bc,group:"right",order:1,when:Ge.and(Xi.DetailsVisible.toNegated(),Xi.CanResolve),title:S("detail.less","Show More")}]}));Pi(new _o({id:"toggleExplainMode",precondition:Xi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Pi(new _o({id:"toggleSuggestionFocus",precondition:Xi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:2570,mac:{primary:778}}}));Pi(new _o({id:"insertBestCompletion",precondition:Ge.and(q.textInputFocus,Ge.equals("config.editor.tabCompletion","on"),pv.AtEnd,Xi.Visible.toNegated(),ef.OtherSuggestions.toNegated(),xo.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(zA(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:tr,primary:2}}));Pi(new _o({id:"insertNextSuggestion",precondition:Ge.and(q.textInputFocus,Ge.equals("config.editor.tabCompletion","on"),ef.OtherSuggestions,Xi.Visible.toNegated(),xo.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:2}}));Pi(new _o({id:"insertPrevSuggestion",precondition:Ge.and(q.textInputFocus,Ge.equals("config.editor.tabCompletion","on"),ef.OtherSuggestions,Xi.Visible.toNegated(),xo.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:tr,kbExpr:q.textInputFocus,primary:1026}}));Ie(class extends vt{constructor(){super({id:"editor.action.resetSuggestSize",label:S("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Pr.get(e))==null||t.resetWidgetSize()}});class IH extends Rt{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 ln),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=Pr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,d,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Wd(g,f):void 0;if(!p)return-1;const C=Ai.lift(d),b=u.map((w,A)=>{const I=mg.fromSuggestion(n,f,C,w,this.isShiftKeyPressed),M=Wd(I.toSingleTextEdit(),f),R=wB(p,M);return{index:A,valid:R,prefixLength:M.text.length,suggestItem:w}}).filter(w=>w&&w.valid&&w.prefixLength>0),y=lL(b,Tp(w=>w.prefixLength,Z_));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(Ts.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const d=this.editor.getPosition(),u=this.editor.getModel();if(!d||!u)return;const f=mg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!PH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Pr.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 mg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Pr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Pr.get(this.editor);e==null||e.forceRenderingAbove()}}class mg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Nu().parse(r);u.children.length<100&&gv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new mg(J.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.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 cL(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Dl(this.range,this.insertText)}}function PH(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var TH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},il=function(o,e){return function(t,i){e(t,i,o)}},KE,du;let fr=(du=class extends Rt{static get(e){return e.getContribution(KE.ID)}constructor(e,t,i,n,s,r,a,d,u,f){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=d,this._keybindingService=u,this._accessibilityService=f,this._editorObs=Ia(this.editor),this._positions=Wn(this,p=>{var C;return((C=this._editorObs.selections.read(p))==null?void 0:C.map(b=>b.getEndPosition()))??[new Ai(1,1)]}),this._suggestWidgetAdaptor=this._register(new IH(this.editor,()=>{var p,C;return this._editorObs.forceUpdate(),(C=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:C.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(C=>{var b;(b=this.model.get())==null||b.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=Po(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(C=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=Po(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=Po(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=Po(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Wn(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=Hc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const C=this._editorObs.model.read(p);return C?this._instantiationService.createInstance(OE,C,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,Po(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),Po(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),Po(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Wn(this,p=>{const C=this.model.read(p);return(C==null?void 0:C.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=MH(this._ghostTexts,this._store),this._ghostTextWidgets=dL(this,this._stablizedGhostTexts,(p,C)=>C.add(this._instantiationService.createInstance(RE,this.editor,{ghostText:p,minReservedLineCount:gl(0),targetTextModel:this.model.map(b=>b==null?void 0:b.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=Kw(this),this._fontFamily=Po(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Oo(this._contextKeyService,this.model)),this._register(JS(this._editorObs.onDidType,(p,C)=>{var b;this._enabled.get()&&((b=this.model.get())==null||b.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Qx.Tab.id,Qx.DeleteLeft.id,Qx.DeleteRight.id,P5,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(b=>{var y;(y=this.model.get())==null||y.trigger(b)})})),this._register(JS(this._editorObs.selections,(p,C)=>{var b;C.some(y=>y.reason===3||y.source==="api")&&((b=this.model.get())==null||b.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||K0.dropDownVisible||Xu(p=>{var C;(C=this.model.get())==null||C.stop(p)})})),this._register(rs(p=>{var b;const C=(b=this.model.read(p))==null?void 0:b.state.read(p);C!=null&&C.suggestItem?C.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(is(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=G_(this,(p,C)=>{var w;const b=this.model.read(p),y=b==null?void 0:b.state.read(p);return this._suggestWidgetSelectedItem.get()?C:(w=y==null?void 0:y.inlineCompletion)==null?void 0:w.semanticId});this._register(uL(Wn(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,C,b)=>{const y=this.model.get(),w=y==null?void 0:y.state.get();if(!w||!y)return;const A=y.textModel.getLineContent(w.primaryGhostText.lineNumber);await eb(50,d1(b)),await hL(this._suggestWidgetSelectedItem,$f,()=>!1,d1(b)),await this._accessibilitySignalService.playSignal(jA.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(w.primaryGhostText.renderForScreenReader(A))})),this._register(new tE(this.editor,this.model,this._instantiationService)),this._register(SO(Wn(p=>{const C=this._fontFamily.read(p);return C===""||C==="default"?"":`
|
|
43
|
-
.monaco-editor .ghost-text-decoration,
|
|
44
|
-
.monaco-editor .ghost-text-decoration-preview,
|
|
45
|
-
.monaco-editor .ghost-text {
|
|
46
|
-
font-family: ${C};
|
|
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=S("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Nr(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 Ai(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},KE=du,du.ID="editor.contrib.inlineCompletionsController",du);fr=KE=TH([il(1,on),il(2,Ln),il(3,ss),il(4,Vs),il(5,gr),il(6,ki),il(7,VA),il(8,As),il(9,K_)],fr);function MH(o,e){const t=Qo("result",[]),i=[];return e.add(rs(n=>{const s=o.read(n);Xu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Qo("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const u_=class u_ extends vt{constructor(){super({id:u_.ID,label:S("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Ge.and(q.writable,Oo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=fr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};u_.ID=M5;let ZE=u_;const h_=class h_ extends vt{constructor(){super({id:h_.ID,label:S("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Ge.and(q.writable,Oo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=fr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};h_.ID=T5;let XE=h_;class RH extends vt{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:S("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:q.writable})}async run(e,t){const i=fr.get(t);await uk(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 NH extends vt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:S("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Ge.and(q.writable,Oo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Ge.and(q.writable,Oo.inlineSuggestionVisible)},menuOpts:[{menuId:si.InlineSuggestionToolbar,title:S("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=fr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class OH extends vt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:S("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Ge.and(q.writable,Oo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:si.InlineSuggestionToolbar,title:S("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=fr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class HH extends vt{constructor(){super({id:P5,label:S("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Oo.inlineSuggestionVisible,menuOpts:[{menuId:si.InlineSuggestionToolbar,title:S("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Ge.and(Oo.inlineSuggestionVisible,q.tabMovesFocus.toNegated(),Oo.inlineSuggestionHasIndentationLessThanTabSize,Xi.Visible.toNegated(),q.hoverFocused.toNegated())}})}async run(e,t){var n;const i=fr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const f_=class f_ extends vt{constructor(){super({id:f_.ID,label:S("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Oo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=fr.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};f_.ID="editor.action.inlineSuggest.hide";let YE=f_;const g_=class g_ extends Ao{constructor(){super({id:g_.ID,title:S("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:si.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Ge.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(ss),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};g_.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let QE=g_;var WH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hf=function(o,e){return function(t,i){e(t,i,o)}};class zH{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 JE=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=fr.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 am(1e3,this,J.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 am(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new am(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=fr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new zH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Tt,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(K0,this._editor,!1,gl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const d={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new zu([d])}renderScreenReaderText(e,t){const i=new Tt,n=mi,s=n("div.hover-row.markdown-hover"),r=ci(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new uf({editor:this._editor},this._languageService,this._openerService)),d=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=S("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new lo().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(rs(u=>{var g;const f=(g=t.controller.model.read(u))==null?void 0:g.primaryGhostText.read(u);if(f){const p=this._editor.getModel().getLineContent(f.lineNumber);d(f.renderForScreenReader(p))}else Dm(r)})),e.fragment.appendChild(s),i}};JE=WH([Hf(1,ha),Hf(2,da),Hf(3,K_),Hf(4,on),Hf(5,ua)],JE);class VH{}const kb=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}};hn(fr.ID,fr,3);Ie(RH);Ie(ZE);Ie(XE);Ie(NH);Ie(OH);Ie(HH);Ie(YE);Vn(QE);th.register(JE);kb.register(new VH);var jH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},MC=function(o,e){return function(t,i){e(t,i,o)}},Qf,Lc;let ep=(Lc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Tt,this.toUnhookForKeyboard=new Tt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new bb(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=>{qn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Qf.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 hk(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=qs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){qn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?J.lift(n[0].originSelectionRange):new J(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:d}of n)d&&(a=J.plusRange(a,d));this.addDecoration(a,new lo().appendText(S("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(d=>{if(!d.object||!d.object.textEditorModel){d.dispose();return}const{object:{textEditorModel:u}}=d,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){d.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new lo().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Qf.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 d=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,d)}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+Qf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new J(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 qw)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Zp(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 Yp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Ln);return So.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Qf=Lc,Lc.ID="editor.contrib.gotodefinitionatposition",Lc.MAX_SOURCE_PREVIEW_LINES=8,Lc);ep=Qf=jH([MC(1,fa),MC(2,ha),MC(3,ki)],ep);hn(ep.ID,ep,2);var DB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bv=function(o,e){return function(t,i){e(t,i,o)}};class ND{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let ey=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new ln,this.onDidChange=this._onDidChange.event,this._dispoables=new Tt,this._markers=[],this._nextIdx=-1,jn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,d)=>{let u=e8(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=J.compareRangesUsingStarts(a,d)||ho.compare(a.severity,d.severity):u=ho.compare(a.severity,d.severity)||J.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:jn.isUri(e)?e:void 0,severities:ho.Error|ho.Warning|ho.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(d=>this._resourceFilter(d)))&&(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 ND(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=Lm(this._markers,{resource:e.uri},(r,a)=>e8(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=J.lift(this._markers[r]);if(a.isEmpty()){const d=e.getWordAtPosition(a.getStartPosition());d&&(a=new J(a.startLineNumber,d.startColumn,a.startLineNumber,d.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(J.containsPosition(this._markers[i],t))return new ND(this._markers[i],i+1,this._markers.length)}}};ey=DB([bv(1,Ow),bv(2,ss)],ey);const AB=Ml("IMarkerNavigationService");let ty=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new ik}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new ey(e,this._markerService,this._configService)}};ty=DB([bv(0,Ow),bv(1,ss)],ty);Rl(AB,ty,1);var iy;(function(o){function e(t){switch(t){case px.Ignore:return"severity-ignore "+Rn.asClassName(Qi.info);case px.Info:return Rn.asClassName(Qi.info);case px.Warning:return Rn.asClassName(Qi.warning);case px.Error:return Rn.asClassName(Qi.error);default:return""}}o.className=e})(iy||(iy={}));var $H=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kh=function(o,e){return function(t,i){e(t,i,o)}},ny;class UH{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 Tt,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(Sl(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new _L(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(){uo(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=J_(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 d=this._messageBlock;for(const p of a)d=document.createElement("div"),d.innerText=p,p===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),d.appendChild(p),t){const C=document.createElement("span");C.innerText=t,C.classList.add("source"),p.appendChild(C)}if(s)if(typeof s=="string"){const C=document.createElement("span");C.innerText=`(${s})`,C.classList.add("code"),p.appendChild(C)}else{this._codeLink=mi("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=b=>{this._openerService.open(s.target,{allowCommands:!0}),b.preventDefault(),b.stopPropagation()};const C=ci(this._codeLink,mi("span"));C.innerText=s.value,p.appendChild(this._codeLink)}}if(Wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Yo(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 C of n){const b=document.createElement("div"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(C.resource)}(${C.startLineNumber}, ${C.startColumn}): `,y.title=this._labelService.getUriLabel(C.resource),this._relatedDiagnostics.set(y,C);const w=document.createElement("span");w.innerText=C.message,b.appendChild(y),b.appendChild(w),this._lines+=1,p.appendChild(b)}}const u=this._editor.getOption(50),f=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),g=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:f,scrollHeight:g})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case ho.Error:t=S("Error","Error");break;case ho.Warning:t=S("Warning","Warning");break;case ho.Info:t=S("Info","Info");break;case ho.Hint:t=S("Hint","Hint");break}let i=S("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 uu;let tp=(uu=class extends Ym{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 Tt,this._onDidSelectRelatedInformation=new ln,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=ho.Warning,this._backgroundColor=xn.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(ZH);let t=sy,i=qH;this._severity===ho.Warning?(t=um,i=GH):this._severity===ho.Info&&(t=oy,i=KH);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(U5),secondaryHeadingColor:e.getColor(q5)})}_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(ny.TitleMenu,this._contextKeyService);zw(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=ci(e,mi(""))}_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 UH(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=J.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 d=i>1?S("problems","{0} of {1} problems",t,i):S("change","{0} of {1} problem",t,i);this.setTitle(Ua(a.uri),d)}this._icon.className=`codicon ${iy.className(ho.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()}},ny=uu,uu.TitleMenu=new si("gotoErrorTitleMenu"),uu);tp=ny=$H([kh(1,Wr),kh(2,da),kh(3,Zu),kh(4,on),kh(5,Ln),kh(6,Tg)],tp);const OD=Xw(gL,fL),HD=Xw(xL,pL),WD=Xw(s1,mL),sy=vi("editorMarkerNavigationError.background",{dark:OD,light:OD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationError","Editor marker navigation widget error color.")),qH=vi("editorMarkerNavigationError.headerBackground",{dark:za(sy,.1),light:za(sy,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),um=vi("editorMarkerNavigationWarning.background",{dark:HD,light:HD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),GH=vi("editorMarkerNavigationWarning.headerBackground",{dark:za(um,.1),light:za(um,.1),hcDark:"#0C141F",hcLight:za(um,.2)},S("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),oy=vi("editorMarkerNavigationInfo.background",{dark:WD,light:WD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),KH=vi("editorMarkerNavigationInfo.headerBackground",{dark:za(oy,.1),light:za(oy,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),ZH=vi("editorMarkerNavigation.background",vL,S("editorMarkerNavigationBackground","Editor marker navigation widget background."));var XH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rx=function(o,e){return function(t,i){e(t,i,o)}},Jf,hu;let $u=(hu=class{static get(e){return e.getContribution(Jf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Tt,this._editor=e,this._widgetVisible=kB.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(tp,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)||!J.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:J.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 Ai(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=Jf.get(r))==null||i.close(),(n=Jf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Jf=hu,hu.ID="editor.contrib.markerController",hu);$u=Jf=XH([Rx(1,AB),Rx(2,Ln),Rx(3,Cs),Rx(4,on)],$u);class Bb extends vt{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=$u.get(t))==null||i.nagivate(this._next,this._multiFile))}}const bd=class bd extends Bb{constructor(){super(!0,!1,{id:bd.ID,label:bd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:578,weight:100},menuOpts:{menuId:tp.TitleMenu,title:bd.LABEL,icon:ms("marker-navigation-next",Qi.arrowDown,S("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};bd.ID="editor.action.marker.next",bd.LABEL=S("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Cv=bd;const Cd=class Cd extends Bb{constructor(){super(!1,!1,{id:Cd.ID,label:Cd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:1602,weight:100},menuOpts:{menuId:tp.TitleMenu,title:Cd.LABEL,icon:ms("marker-navigation-previous",Qi.arrowUp,S("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Cd.ID="editor.action.marker.prev",Cd.LABEL=S("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let ry=Cd;class YH extends Bb{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:S("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:q.focus,primary:66,weight:100},menuOpts:{menuId:si.MenubarGoMenu,title:S({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class QH extends Bb{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:S("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:q.focus,primary:1090,weight:100},menuOpts:{menuId:si.MenubarGoMenu,title:S({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}hn($u.ID,$u,4);Ie(Cv);Ie(ry);Ie(YH);Ie(QH);const kB=new yn("markersNavigationVisible",!1),JH=ko.bindToContribution($u.get);Pi(new JH({id:"closeMarkersNavigation",precondition:kB,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:q.focus,primary:9,secondary:[1033]}}));var Kr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Kr||(Kr={}));class eW extends vt{constructor(){super({id:I5,label:S({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:Si("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:[Kr.NoAutoFocus,Kr.FocusIfVisible,Kr.AutoFocusImmediately],enumDescriptions:[S("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),S("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),S("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Kr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=ro.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Kr.FocusIfVisible;Object.values(Kr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Kr.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new J(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},d=t.getOption(2)===2;n.isHoverVisible?r!==Kr.NoAutoFocus?n.focus():a(d):a(d||r===Kr.AutoFocusImmediately)}}class tW extends vt{constructor(){super({id:vM,label:S({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:Si("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ro.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new J(n.lineNumber,n.column,n.lineNumber,n.column),r=ep.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class iW extends vt{constructor(){super({id:_M,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:16,weight:100},metadata:{description:Si("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollUp()}}class nW extends vt{constructor(){super({id:bM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:18,weight:100},metadata:{description:Si("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollDown()}}class sW extends vt{constructor(){super({id:CM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:15,weight:100},metadata:{description:Si("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollLeft()}}class oW extends vt{constructor(){super({id:EM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:17,weight:100},metadata:{description:Si("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollRight()}}class rW extends vt{constructor(){super({id:yM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Si("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.pageUp()}}class aW extends vt{constructor(){super({id:wM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Si("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.pageDown()}}class lW extends vt{constructor(){super({id:SM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Si("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.goToTop()}}class cW extends vt{constructor(){super({id:DM,label:S({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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Si("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.goToBottom()}}class dW extends vt{constructor(){super({id:mb,label:AM,alias:"Increase Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){const n=ro.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(ur.Increase,s,i==null?void 0:i.focus)}}class uW extends vt{constructor(){super({id:vb,label:kM,alias:"Decrease Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){var r;const n=ro.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=ro.get(t))==null||r.updateHoverVerbosityLevel(ur.Decrease,s,i==null?void 0:i.focus)}}var hW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RC=function(o,e){return function(t,i){e(t,i,o)}};const _r=mi;class fW{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 zD={type:1,filter:{include:Xn.QuickFix},triggerAction:Wo.QuickFixHover};let ay=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 d=a.range.startLineNumber===n?a.range.startColumn:1,u=a.range.endLineNumber===n?a.range.endColumn:s,f=this._markerDecorationsService.getMarker(i.uri,a);if(!f)continue;const g=new J(e.range.startLineNumber,d,e.range.startLineNumber,u);r.push(new fW(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new zu([]);const i=new Tt,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)=>ho.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new zu(n)}_renderMarkerHover(e){const t=new Tt,i=_r("div.hover-row"),n=ci(i,_r("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=ci(n,_r("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=_r("span");if(s){const y=ci(g,_r("span"));y.innerText=s}const p=ci(g,_r("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Fn(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const C=ci(p,_r("span"));C.innerText=a.value;const b=ci(n,g);b.style.opacity="0.6",b.style.paddingLeft="6px"}else{const g=ci(n,_r("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Yo(d))for(const{message:g,resource:p,startLineNumber:C,startColumn:b}of d){const y=ci(n,_r("div"));y.style.marginTop="8px";const w=ci(y,_r("a"));w.innerText=`${Ua(p)}(${C}, ${b}): `,w.style.cursor="pointer",t.add(Fn(w,"click",I=>{if(I.stopPropagation(),I.preventDefault(),this._openerService){const M={selection:{startLineNumber:C,startColumn:b}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:M}).catch(qn)}}));const A=ci(y,_r("span"));A.innerText=g,this._editor.applyFontInfo(A)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===ho.Error||t.marker.severity===ho.Warning||t.marker.severity===ho.Info){const n=$u.get(this._editor);n&&e.statusBar.addAction({label:S("view problem","View Problem"),commandId:Cv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(_r("div"));this.recentMarkerCodeActionsInfo&&(t8.makeKey(this.recentMarkerCodeActionsInfo.marker)===t8.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=S("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Rt.None:kg(()=>n.textContent=S("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(is(()=>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=S("noQuickFixes","No quick fixes available");return}n.style.display="none";let d=!1;i.add(is(()=>{d||a.dispose()})),e.statusBar.addAction({label:S("quick fixes","Quick Fix..."),commandId:S9,run:u=>{d=!0;const f=q0.get(this._editor),g=wo(u);e.hide(),f==null||f.showCodeActions(zD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},qn)}}getCodeActions(e){return qs(t=>qh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),zD,fl.None,t))}};ay=hW([RC(1,bL),RC(2,da),RC(3,ki)],ay);class gW{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=wm.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)??wm.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Pg(d)||i.push(...yA(d).map(e))}return i}}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},VD=function(o,e){return function(t,i){e(t,i,o)}},ly;const jD=mi;var fu;let cy=(fu=class extends Rt{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Tt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new EA),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new uf({editor:this._editor},t,i)),this._computer=new gW(this._editor),this._hoverOperation=this._register(new R5(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(Sl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ly.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=jD("div.hover-row.markdown-hover"),r=ci(s,jD("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,d=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${d}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!_b(t,e.x,e.y))&&this.hide()}},ly=fu,fu.ID="editor.contrib.modesGlyphHoverWidget",fu);cy=ly=pW([VD(1,ha),VD(2,da)],cy);var xW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},w0;let Ev=(w0=class extends Rt{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Tt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Ms(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(e)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(e){var i;const t=(i=this._glyphWidget)==null?void 0:i.getDomNode();return t?_b(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(cy,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},w0.ID="editor.contrib.marginHover",w0);Ev=xW([mW(1,on)],Ev);class vW{}class _W{}class bW{}hn(ro.ID,ro,2);hn(Ev.ID,Ev,2);Ie(eW);Ie(tW);Ie(iW);Ie(nW);Ie(sW);Ie(oW);Ie(rW);Ie(aW);Ie(lW);Ie(cW);Ie(dW);Ie(uW);th.register(Zg);th.register(ay);U_((o,e)=>{const t=o.getColor(CL);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)}; }`))});kb.register(new vW);kb.register(new _W);kb.register(new bW);function Io(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function vg(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 BB(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 EL(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:d}=o.getOptions(),u=(y,w)=>(w=w||1,H0.shiftIndent(y,y.length+w,r,a,d)),f=(y,w)=>(w=w||1,H0.unshiftIndent(y,y.length+w,r,a,d)),g=[],p=o.getLineContent(t);let C=eo(p),b=C;s.shouldIncrease(t)?(b=u(b),C=u(C)):s.shouldIndentNextLine(t)&&(b=u(b)),t++;for(let y=t;y<=i;y++){if(CW(o,y))continue;const w=o.getLineContent(y),A=eo(w),I=b;s.shouldDecrease(y,I)&&(b=f(b),C=f(C)),A!==b&&g.push(cs.replaceMove(new $i(y,1,y,A.length+1),yL(b,a,d))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,I)?(C=u(C),b=C):s.shouldIndentNextLine(y,I)?b=u(b):b=C)}return g}function CW(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var EW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yW=function(o,e){return function(t,i){e(t,i,o)}};const p_=class p_ extends vt{constructor(){super({id:p_.ID,label:S("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:q.writable,metadata:{description:Si("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 kW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};p_.ID="editor.action.indentationToSpaces";let dy=p_;const x_=class x_ extends vt{constructor(){super({id:x_.ID,label:S("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:q.writable,metadata:{description:Si("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 BW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};x_.ID="editor.action.indentationToTabs";let uy=x_;class Y9 extends vt{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Tl),n=e.get(vo),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),d=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?S("configuredTabSize","Configured Tab Size"):f===r.tabSize?S("defaultTabSize","Default Tab Size"):f===a.tabSize?S("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:S({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:d[u]}).then(f=>{if(f&&s&&!s.isDisposed()){const g=parseInt(f.label,10);this.displaySizeOnly?s.updateOptions({tabSize:g}):s.updateOptions({tabSize:g,indentSize:g,insertSpaces:this.insertSpaces})}})},50)}}const m_=class m_ extends Y9{constructor(){super(!1,!1,{id:m_.ID,label:S("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Si("indentUsingTabsDescription","Use indentation with tabs.")}})}};m_.ID="editor.action.indentUsingTabs";let hy=m_;const v_=class v_ extends Y9{constructor(){super(!0,!1,{id:v_.ID,label:S("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Si("indentUsingSpacesDescription","Use indentation with spaces.")}})}};v_.ID="editor.action.indentUsingSpaces";let fy=v_;const __=class __ extends Y9{constructor(){super(!0,!0,{id:__.ID,label:S("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Si("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};__.ID="editor.action.changeTabDisplaySize";let gy=__;const b_=class b_ extends vt{constructor(){super({id:b_.ID,label:S("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Si("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(vo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};b_.ID="editor.action.detectIndentation";let py=b_;class wW extends vt{constructor(){super({id:"editor.action.reindentlines",label:S("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:q.writable,metadata:{description:Si("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(js),n=t.getModel();if(!n)return;const s=BB(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class SW extends vt{constructor(){super({id:"editor.action.reindentselectedlines",label:S("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:q.writable,metadata:{description:Si("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(js),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let d=a.startLineNumber,u=a.endLineNumber;if(d!==u&&a.endColumn===1&&u--,d===1){if(d===u)continue}else d--;const f=BB(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class DW{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(J.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 S0;let yv=(S0=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Tt,this.callOnModel=new Tt,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)||AW(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:d}=i.getOptions(),u=[],f={shiftIndent:b=>H0.shiftIndent(b,b.length+1,r,a,d),unshiftIndent:b=>H0.unshiftIndent(b,b.length+1,r,a,d)};let g=e.startLineNumber;for(;g<=e.endLineNumber;){if(this.shouldIgnoreLine(i,g)){g++;continue}break}if(g>e.endLineNumber)return;let p=i.getLineContent(g);if(!/\S/.test(p.substring(0,e.startColumn-1))){const b=lg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(b!==null){const y=eo(p),w=Io(b,r),A=Io(y,r);if(w!==A){const I=vg(w,r,d);u.push({range:new J(g,1,g,y.length+1),text:I}),p=I+p.substring(y.length)}else{const I=fk(i,g,this._languageConfigurationService);if(I===0||I===8)return}}}const C=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const y=lg(s,{tokenization:{getLineTokens:w=>i.tokenization.getLineTokens(w),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(w,A)=>i.getLanguageIdAtPosition(w,A)},getLineContent:w=>w===C?p:i.getLineContent(w)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(y!==null){const w=Io(y,r),A=Io(eo(i.getLineContent(g+1)),r);if(w!==A){const I=w-A;for(let M=g+1;M<=e.endLineNumber;M++){const R=i.getLineContent(M),P=eo(R),j=Io(P,r)+I,ee=vg(j,r,d);ee!==P&&u.push({range:new J(M,1,M,P.length+1),text:ee})}}}}if(u.length>0){this.editor.pushUndoStop();const b=new DW(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",b),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()}},S0.ID="editor.contrib.autoIndentOnPaste",S0);yv=EW([yW(1,js)],yv);function AW(o,e){const t=i=>wL(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function FB(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 d=o.getLineFirstNonWhitespaceColumn(r);if(d===0&&(d=o.getLineMaxColumn(r)),d===1)continue;const u=new J(r,1,r,d),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class kW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),FB(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class BW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),FB(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}hn(yv.ID,yv,2);Ie(dy);Ie(uy);Ie(hy);Ie(fy);Ie(gy);Ie(py);Ie(wW);Ie(SW);hn(Yg.ID,Yg,1);th.register(tv);class FW{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new $i(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new $i(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var 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},IW=function(o,e){return function(t,i){e(t,i,o)}},hm,Ic;let tf=(Ic=class{static get(e){return e.getContribution(hm.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var d;(d=this.currentRequest)==null||d.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 hk(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=qs(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var b;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=J.lift(u.range);let g=u.range;const p=u.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+u.value.length},p>1&&(s=new $i(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const C=new FW(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,C),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:hm.DECORATION}]),(b=this.decorationRemover)==null||b.cancel(),this.decorationRemover=eb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(qn)}).catch(qn)):Promise.resolve(void 0)}},hm=Ic,Ic.ID="editor.contrib.inPlaceReplaceController",Ic.DECORATION=_n.register({description:"in-place-replace",className:"valueSetReplacement"}),Ic);tf=hm=LW([IW(1,Nl)],tf);class PW extends vt{constructor(){super({id:"editor.action.inPlaceReplace.up",label:S("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=tf.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class TW extends vt{constructor(){super({id:"editor.action.inPlaceReplace.down",label:S("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=tf.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}hn(tf.ID,tf,4);Ie(PW);Ie(TW);class MW extends vt{constructor(){super({id:"expandLineSelection",label:S("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:q.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,Yw.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}Ie(MW);class RW{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=NW(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 NW(o,e,t){e.sort((a,d)=>a.lineNumber===d.lineNumber?a.column-d.column:a.lineNumber-d.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,d=o.getLineCount();a<=d;a++){const u=o.getLineContent(a),f=u.length+1;let g=0;if(s<r&&e[s].lineNumber===a&&(g=e[s].column,s++,g===f)||u.length===0)continue;const p=Jx(u);let C=0;if(p===-1)C=1;else if(p!==u.length-1)C=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const b=o.tokenization.getLineTokens(a),y=b.getStandardTokenType(b.findTokenIndexAtOffset(C));if(y===2||y===3)continue}C=Math.max(g,C),i[n++]=cs.delete(new J(a,C,a,f))}return i}class LB{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 J(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
49
|
-
`):this._isCopyingDown?t.addEditOperation(new J(i.startLineNumber,1,i.startLineNumber,1),s+`
|
|
50
|
-
`):t.addEditOperation(new J(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
|
|
51
|
-
`+s),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let n=i.startLineNumber,s=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(n=n+this._startLineNumberDelta,s=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=$i.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var OW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},HW=function(o,e){return function(t,i){e(t,i,o)}};let xy=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(g,p)=>e.getLanguageIdAtPosition(g,p),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:d,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,d,u);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const g=r.startLineNumber,p=this._isMovingDown?g+1:g-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new J(1,1,1,1),null):(t.addEditOperation(new J(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new J(p,1,p,e.getLineMaxColumn(p)),null)),r=new $i(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new J(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let C=p;if(this.shouldAutoIndent(e,r)){const b=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(b!==null){const w=eo(e.getLineContent(g)),A=b+Io(w,a);C=vg(A,a,u)+this.trimStart(p)}else{const w={tokenization:{getLineTokens:I=>I===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(I),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:I=>I===r.startLineNumber?e.getLineContent(g):e.getLineContent(I)},A=lg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(A!==null){const I=eo(e.getLineContent(g)),M=Io(A,a),R=Io(I,a);M!==R&&(C=vg(M,a,u)+this.trimStart(p))}}t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),C+`
|
|
52
|
-
`);const y=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,C);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,y);else{const w={tokenization:{getLineTokens:I=>I===r.startLineNumber?e.tokenization.getLineTokens(g):I>=r.startLineNumber+1&&I<=r.endLineNumber+1?e.tokenization.getLineTokens(I-1):e.tokenization.getLineTokens(I),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:I=>I===r.startLineNumber?C:I>=r.startLineNumber+1&&I<=r.endLineNumber+1?e.getLineContent(I-1):e.getLineContent(I)},A=lg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(A!==null){const I=eo(e.getLineContent(r.startLineNumber)),M=Io(A,a),R=Io(I,a);if(M!==R){const P=M-R;this.getIndentEditsOfMovingBlock(e,t,r,a,u,P)}}}}else t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),C+`
|
|
53
|
-
`)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new J(g,1,g+1,1),null),t.addEditOperation(new J(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
54
|
-
`+p),this.shouldAutoIndent(e,r)){const C={tokenization:{getLineTokens:y=>y===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===g?e.getLineContent(r.startLineNumber):e.getLineContent(y)},b=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(b!==null)b!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,b);else{const y=lg(this._autoIndent,C,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(y!==null){const w=eo(e.getLineContent(r.startLineNumber)),A=Io(y,a),I=Io(w,a);if(A!==I){const M=A-I;this.getIndentEditsOfMovingBlock(e,t,r,a,u,M)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>H0.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>H0.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===xx.None||s.indentAction===xx.Indent?r=s.indentation+s.appendText:s.indentAction===xx.IndentOutdent?r=s.indentation:s.indentAction===xx.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=eo(e.getLineContent(n));let u=eo(r);const f=fk(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Io(u,i),p=Io(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Jx(r)>=0){const a=e.getLineMaxColumn(s),d=sC(this._autoIndent,e,new J(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,d)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(Jx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=sC(this._autoIndent,e,new J(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let f;if(a===s&&r!==void 0?f=r:f=e.getLineContent(a),Jx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=sC(this._autoIndent,e,new J(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const d=e.getLineContent(a),u=eo(d),g=Io(u,n)+r,p=vg(g,n,s);p!==u&&(t.addEditOperation(new J(a,1,a,u.length+1),p),a===i.endLineNumber&&i.endColumn<=u.length+1&&p===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};xy=OW([HW(3,js)],xy);const s0=class s0{static getCollator(){return s0._COLLATOR||(s0._COLLATOR=new Intl.Collator),s0._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=WW(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=IB(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}};s0._COLLATOR=null;let ip=s0;function IB(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(ip.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function WW(o,e,t){const i=IB(o,e,t);return i?cs.replace(new J(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
-
`)):null}class PB extends vt{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)=>J.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 LB(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class zW extends PB{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:S("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class VW extends PB{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:S("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class jW extends vt{constructor(){super({id:"editor.action.duplicateSelection",label:S("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:q.writable,menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({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 LB(a,!0));else{const d=new $i(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new SL(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class TB extends vt{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(js),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new xy(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class $W extends TB{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:S("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class UW extends TB{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:S("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class MB extends vt{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new $i(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!ip.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new ip(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class qW extends MB{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:S("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:q.writable})}}class GW extends MB{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:S("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:q.writable})}}class KW extends vt{constructor(){super({id:"editor.action.removeDuplicateLines",label:S("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:q.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,d=t.getSelections();d.length===1&&d[0].isEmpty()&&(d=[new $i(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let y=u.startLineNumber;y<=u.endLineNumber;y++){const w=i.getLineContent(y);f.has(w)||(g.push(w),f.add(w))}const p=new $i(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),C=u.startLineNumber-r,b=new $i(C,1,C+g.length-1,g[g.length-1].length);n.push(cs.replace(p,g.join(`
|
|
56
|
-
`))),s.push(b),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const C_=class C_ extends vt{constructor(){super({id:C_.ID,label:S("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ds(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Ai(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(ss),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new RW(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};C_.ID="editor.action.trimTrailingWhitespace";let my=C_;class ZW extends vt{constructor(){super({id:"editor.action.deleteLines",label:S("lines.delete","Delete Line"),alias:"Delete Line",precondition:q.writable,kbOpts:{kbExpr:q.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 d=0,u=i.length;d<u;d++){const f=i[d];let g=f.startLineNumber,p=f.endLineNumber,C=1,b=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,b=1):g>1&&(g-=1,C=n.getLineMaxColumn(g)),r.push(cs.replace(new $i(g,C,p,b),"")),a.push(new $i(g-s,f.positionColumn,g-s,f.positionColumn)),s+=f.endLineNumber-f.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class XW extends vt{constructor(){super({id:"editor.action.indentLines",label:S("lines.indent","Indent Line"),alias:"Indent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,DL.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class YW extends vt{constructor(){super({id:"editor.action.outdentLines",label:S("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2140,weight:100}})}run(e,t){Qx.Outdent.runEditorCommand(e,t,null)}}class QW extends vt{constructor(){super({id:"editor.action.insertLineBefore",label:S("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,gk.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class JW extends vt{constructor(){super({id:"editor.action.insertLineAfter",label:S("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,gk.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class RB extends vt{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let d=0,u=n.length-1;d<u;d++){const f=n[d],g=n[d+1];J.intersectRanges(f,g)===null?s.push(f):n[d+1]=J.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(d=>cs.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class ez extends RB{constructor(){super({id:"deleteAllLeft",label:S("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:q.writable,kbOpts:{kbExpr:q.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 d=r.startLineNumber-s;a=new $i(d,r.startColumn,d,r.startColumn)}else a=new $i(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);s+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:n.push(a)}),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const n=e.getModel();return n===null?[]:(i.sort(J.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 J(r,a,s.startLineNumber,1)}else return new J(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new J(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class tz extends RB{constructor(){super({id:"deleteAllRight",label:S("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:q.writable,kbOpts:{kbExpr:q.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 d=t[s],u=new $i(d.startLineNumber-a,d.startColumn,d.startLineNumber-a,d.startColumn);d.intersectRanges(e)?i=u:n.push(u)}return i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const n=i.map(s=>{if(s.isEmpty()){const r=t.getLineMaxColumn(s.startLineNumber);return s.startColumn===r?new J(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new J(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(J.compareRangesUsingStarts),n}}class iz extends vt{constructor(){super({id:"editor.action.joinLines",label:S("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:q.writable,kbOpts:{kbExpr:q.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(J.compareRangesUsingStarts);const s=[],r=i.reduce((p,C)=>p.isEmpty()?p.endLineNumber===C.startLineNumber?(n.equalsSelection(p)&&(n=C),C):C.startLineNumber>p.endLineNumber+1?(s.push(p),C):new $i(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn):C.startLineNumber>p.endLineNumber?(s.push(p),C):new $i(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const d=[],u=[];let f=n,g=0;for(let p=0,C=s.length;p<C;p++){const b=s[p],y=b.startLineNumber,w=1;let A=0,I,M;const R=a.getLineLength(b.endLineNumber)-b.endColumn;if(b.isEmpty()||b.startLineNumber===b.endLineNumber){const j=b.getStartPosition();j.lineNumber<a.getLineCount()?(I=y+1,M=a.getLineMaxColumn(I)):(I=j.lineNumber,M=a.getLineMaxColumn(j.lineNumber))}else I=b.endLineNumber,M=a.getLineMaxColumn(I);let P=a.getLineContent(y);for(let j=y+1;j<=I;j++){const ee=a.getLineContent(j),ae=a.getLineFirstNonWhitespaceColumn(j);if(ae>=1){let ge=!0;P===""&&(ge=!1),ge&&(P.charAt(P.length-1)===" "||P.charAt(P.length-1)===" ")&&(ge=!1,P=P.replace(/[\s\uFEFF\xA0]+$/g," "));const X=ee.substr(ae-1);P+=(ge?" ":"")+X,ge?A=X.length+1:A=X.length}else A=0}const V=new J(y,w,I,M);if(!V.isEmpty()){let j;b.isEmpty()?(d.push(cs.replace(V,P)),j=new $i(V.startLineNumber-g,P.length-A+1,y-g,P.length-A+1)):b.startLineNumber===b.endLineNumber?(d.push(cs.replace(V,P)),j=new $i(b.startLineNumber-g,b.startColumn,b.endLineNumber-g,b.endColumn)):(d.push(cs.replace(V,P)),j=new $i(b.startLineNumber-g,b.startColumn,b.startLineNumber-g,P.length-R)),J.intersectRanges(V,n)!==null?f=j:u.push(j)}g+=V.endLineNumber-V.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class nz extends vt{constructor(){super({id:"editor.action.transpose",label:S("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:q.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 d=i[r];if(!d.isEmpty())continue;const u=d.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new J(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new wp(new $i(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new J(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new IA(g,p,new $i(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class sh extends vt{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 d=a.getStartPosition(),u=t.getConfiguredWordAtPosition(d);if(!u)continue;const f=new J(d.lineNumber,u.startColumn,d.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(cs.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(cs.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class sz extends sh{constructor(){super({id:"editor.action.transformToUppercase",label:S("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class oz extends sh{constructor(){super({id:"editor.action.transformToLowercase",label:S("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class El{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 E_=class E_ extends sh{constructor(){super({id:"editor.action.transformToTitlecase",label:S("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:q.writable})}_modifyText(e,t){const i=E_.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};E_.titleBoundary=new El("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let wv=E_;const o0=class o0 extends sh{constructor(){super({id:"editor.action.transformToSnakecase",label:S("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:q.writable})}_modifyText(e,t){const i=o0.caseBoundary.get(),n=o0.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};o0.caseBoundary=new El("(\\p{Ll})(\\p{Lu})","gmu"),o0.singleLetters=new El("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let _g=o0;const y_=class y_ extends sh{constructor(){super({id:"editor.action.transformToCamelcase",label:S("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:q.writable})}_modifyText(e,t){const i=y_.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("")}};y_.wordBoundary=new El("[_\\s-]","gm");let Sv=y_;const r0=class r0 extends sh{constructor(){super({id:"editor.action.transformToPascalcase",label:S("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:q.writable})}_modifyText(e,t){const i=r0.wordBoundary.get(),n=r0.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("")}};r0.wordBoundary=new El("[_\\s-]","gm"),r0.wordBoundaryToMaintain=new El("(?<=\\.)","gm");let Dv=r0;const sc=class sc extends sh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:S("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:q.writable})}_modifyText(e,t){const i=sc.caseBoundary.get(),n=sc.singleLetters.get(),s=sc.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};sc.caseBoundary=new El("(\\p{Ll})(\\p{Lu})","gmu"),sc.singleLetters=new El("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),sc.underscoreBoundary=new El("(\\S)(_)(\\S)","gm");let Av=sc;Ie(zW);Ie(VW);Ie(jW);Ie($W);Ie(UW);Ie(qW);Ie(GW);Ie(KW);Ie(my);Ie(ZW);Ie(XW);Ie(YW);Ie(QW);Ie(JW);Ie(ez);Ie(tz);Ie(iz);Ie(nz);Ie(sz);Ie(oz);_g.caseBoundary.isSupported()&&_g.singleLetters.isSupported()&&Ie(_g);Sv.wordBoundary.isSupported()&&Ie(Sv);Dv.wordBoundary.isSupported()&&Ie(Dv);wv.titleBoundary.isSupported()&&Ie(wv);Av.isSupported()&&Ie(Av);var rz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nx=function(o,e){return function(t,i){e(t,i,o)}},fm;const NB=new yn("LinkedEditingInputVisible",!1),az="linked-editing-decoration";var Pc;let nf=(Pc=class extends Rt{static get(e){return e.getContribution(fm.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Tt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=NB.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 Tt),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(Ts.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Oc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Oc(0),a=d=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(d))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(d=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&d.changes.every(f=>u.intersectRanges(f.range))){a(this._syncRangesToken);return}}s()})),this._localToDispose.add({dispose:()=>{n.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const r=n.match(this._currentWordPattern);if((r?r[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){const d=this._currentDecorations.getRange(r);if(d)if(d.startLineNumber!==d.endLineNumber)s.push({range:d,text:n});else{let u=t.getValueInRange(d),f=n,g=d.startColumn,p=d.endColumn;const C=Rp(u,f);g+=C,u=u.substr(C),f=f.substr(C);const b=AL(u,f);p-=b,u=u.substr(0,u.length-b),f=f.substr(0,f.length-b),(g!==p||f.length!==0)&&s.push({range:new J(d.startLineNumber,g,d.endLineNumber,p),text:f})}}if(s.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",s),this._editor._getViewModel().setPrevEditOperationType(r)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new Gs;try{const r=new Ho(!1),a=await OB(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let d=[];a!=null&&a.ranges&&(d=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=d.length;g<p;g++)if(J.containsPosition(d[g],t)){if(u=!0,g!==0){const C=d[g];d.splice(g,1),d.unshift(C)}break}if(!u){this.clearRanges();return}const f=d.map(g=>({range:g,options:fm.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){qc(r)||qn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},fm=Pc,Pc.ID="editor.contrib.linkedEditing",Pc.DECORATION=_n.register({description:"linked-editing",stickiness:0,className:az}),Pc);nf=fm=rz([Nx(1,Ln),Nx(2,ki),Nx(3,js),Nx(4,gr)],nf);class lz extends vt{constructor(){super({id:"editor.action.linkedEditing",label:S("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:Ge.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Cs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return jn.isUri(n)&&Ai.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))))},qn):super.runCommand(e,t)}run(e,t){const i=nf.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const cz=ko.bindToContribution(nf.get);Pi(new cz({id:"cancelLinkedEditingInput",precondition:NB,handler:o=>o.clearRanges(),kbOpts:{kbExpr:q.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function OB(o,e,t,i){const n=o.ordered(e);return Qw(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){bs(r);return}}),s=>!!s&&Yo(s==null?void 0:s.ranges))}vi("editor.linkedEditingBackground",{dark:xn.fromHex("#f00").transparent(.3),light:xn.fromHex("#f00").transparent(.3),hcDark:xn.fromHex("#f00").transparent(.3),hcLight:xn.white},S("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Bo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(ki);return OB(i,e,t,cn.None)});hn(nf.ID,nf,1);Ie(lz);let dz=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 kv{constructor(e){this._disposables=new Tt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new dz(r,n));t=kv._union(t,s),JA(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 d=e[n],u=t[r];if(J.areIntersectingOrTouching(d.range,u.range)){n++;continue}J.compareRangesUsingStarts(d.range,u.range)<0?(i.push(d),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function HB(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])},bs));return Promise.all(n).then(()=>{const s=new kv(yl(i));return t.isCancellationRequested?(s.dispose(),new kv([])):s})}Qn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Pn(t instanceof jn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(ki),s=o.get(vo).getModel(t);if(!s)return[];const r=await HB(n,s,cn.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(cn.None);const a=r.links.slice(0);return r.dispose(),a});var uz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ox=function(o,e){return function(t,i){e(t,i,o)}},vy,gu;let np=(gu=class extends Rt{static get(e){return e.getContribution(vy.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Ms(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new bb(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,d])=>{this._onEditorMouseMove(a,d)})),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=qs(t=>HB(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){qn(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(d0.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let d=0,u=a.length;d<u;d++){const f=new d0(e[d],a[d]);this.currentOccurrences[f.decorationId]=f}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(78)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const n=this.getLinkOccurrence(e.target.position);n&&this.editor.changeDecorations(s=>{n.activate(s,i),this.activeLinkDecorationId=n.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(cn.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===Eo.file&&s.startsWith(`${Eo.file}:`)){const a=jn.parse(s);if(a.scheme===Eo.file){const d=kL(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=BL(r,u))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(S("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(S("missing.url","Failed to open this link because its target is missing.")):qn(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()}},vy=gu,gu.ID="editor.linkDetector",gu);np=vy=uz([Ox(1,da),Ox(2,mo),Ox(3,ki),Ox(4,gr)],np);const $D={general:_n.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:_n.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class d0{static decoration(e,t){return{range:e.range,options:d0._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?$D.active:$D.general};return n.hoverMessage=hz(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,d0._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,d0._getOptions(this.link,t,!1))}}function hz(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?S("links.navigate.executeCmd","Execute command"):S("links.navigate.follow","Follow link"),n=e?$a?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):$a?S("links.navigate.kb.alt.mac","option + click"):S("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 d=a[1];s=S("tooltip.explanation","Execute command {0}",d)}}return new lo("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new lo().appendText(`${i} (${n})`)}class fz extends vt{constructor(){super({id:"editor.action.openLink",label:S("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=np.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)}}}hn(np.ID,np,1);Ie(fz);const AS=class AS extends Rt{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})}))}};AS.ID="editor.contrib.longLinesHelper";let Bv=AS;hn(Bv.ID,Bv,2);const gz=vi("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},S("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);vi("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},S("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);vi("editor.wordHighlightTextBackground",gz,S("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 pz=vi("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));vi("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));vi("editor.wordHighlightTextBorder",pz,S("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const xz=vi("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",S("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),mz=vi("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",S("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),vz=vi("editorOverviewRuler.wordHighlightTextForeground",pk,S("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),_z=_n.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Fs(mz),position:Ha.Center},minimap:{color:Fs(tb),position:1}}),bz=_n.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Fs(vz),position:Ha.Center},minimap:{color:Fs(tb),position:1}}),Cz=_n.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Fs(pk),position:Ha.Center},minimap:{color:Fs(tb),position:1}}),Ez=_n.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),yz=_n.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Fs(xz),position:Ha.Center},minimap:{color:Fs(tb),position:1}});function wz(o){return o===Pm.Write?_z:o===Pm.Text?bz:yz}function Sz(o){return o?Ez:Cz}U_((o,e)=>{const t=o.getColor(FL);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var Dz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Az=function(o,e){return function(t,i){e(t,i,o)}},_y;function Kc(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?S("cursorAdded","Cursor added: {0}",i):S("cursorsAdded","Cursors added: {0}",i);P0(n)}}class kz extends vt{constructor(){super({id:"editor.action.insertCursorAbove",label:S("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({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,Yw.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Kc(r,s.getCursorStates())}}class Bz extends vt{constructor(){super({id:"editor.action.insertCursorBelow",label:S("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({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,Yw.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Kc(r,s.getCursorStates())}}class Fz extends vt{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:S("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n<e.endLineNumber;n++){const s=t.getLineMaxColumn(n);i.push(new $i(n,s,n,s))}e.endColumn>1&&i.push(new $i(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),r=s.getCursorStates(),a=[];n.forEach(d=>this.getCursorsForSelection(d,i,a)),a.length>0&&t.setSelections(a),Kc(r,s.getCursorStates())}}class Lz extends vt{constructor(){super({id:"editor.action.addCursorsToBottom",label:S("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 d=i[0].startLineNumber;d<=n;d++)s.push(new $i(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Kc(a,r.getCursorStates())}}class Iz extends vt{constructor(){super({id:"editor.action.addCursorsToTop",label:S("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let a=i[0].startLineNumber;a>=1;a--)n.push(new $i(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Kc(r,s.getCursorStates())}}class Hx{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class sp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new sp(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 d=e.getSelection();let u,f=null;if(d.isEmpty()){const g=e.getConfiguredWordAtPosition(d.getStartPosition());if(!g)return null;u=g.word,f=new $i(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
|
|
57
|
-
`);return new sp(e,t,n,u,s,r,f)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Hx(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 Hx(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new $i(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Hx(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 Hx(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new $i(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}const w_=class w_ extends Rt{static get(e){return e.getContribution(w_.ID)}constructor(e){super(),this._sessionDispose=this._register(new Tt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=sp.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(n=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(n=>{(n.matchCase||n.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new $i(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const n=e.getState().matchCase;if(!WB(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let d=0,u=t.length;d<u;d++)a[d]=this._expandEmptyToWord(r,t[d]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const n=this._editor.getModel();i.searchScope?t=n.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=n.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const n=this._editor.getSelection();for(let s=0,r=t.length;s<r;s++){const a=t[s];if(a.range.intersectRanges(n)){t[s]=t[0],t[0]=a;break}}this._setSelections(t.map(s=>new $i(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};w_.ID="editor.contrib.multiCursorController";let sf=w_;class vf extends vt{run(e,t){const i=sf.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Do.get(t);if(r)this._run(i,r);else{const a=e.get(on).createInstance(Do,t);this._run(i,a),a.dispose()}Kc(s,n.getCursorStates())}}}class Pz extends vf{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:S("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2082,weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class Tz extends vf{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:S("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class Mz extends vf{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:S("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:Ds(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class Rz extends vf{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:S("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 Nz extends vf{constructor(){super({id:"editor.action.selectHighlights",label:S("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3114,weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class Oz extends vf{constructor(){super({id:"editor.action.changeAll",label:S("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:Ge.and(q.writable,q.editorTextFocus),kbOpts:{kbExpr:q.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class Hz{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(J.compareRangesUsingStarts)),this._cachedFindMatches}}var pu;let Fv=(pu=class extends Rt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ms(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(n=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(n=>{this._isEnabled&&(n.selection.isEmpty()?n.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(n=>{this._setState(null)})),this._register(e.onDidChangeModelContent(n=>{this._isEnabled&&this.updateSoon.schedule()}));const i=Do.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(_y._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=sf.get(i);if(!s)return null;const r=Do.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const f=i.getSelections();if(f.length>1){const p=r.getState().matchCase;if(!WB(i.getModel(),f,p))return null}a=sp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const d=r.getState(),u=d.matchCase;if(d.isRevealed){let f=d.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===d.matchCase&&a.wholeWord===d.wholeWord&&!d.isRegex)return null}return new Hz(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(J.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const C=i[u];if(f>=p)s.push(C),u++;else{const b=J.compareRangesUsingStarts(C,n[f]);b<0?((n[f].isEmpty()||!J.areIntersecting(C,n[f]))&&s.push(C),u++):(b>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=s.map(u=>({range:u,options:Sz(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},_y=pu,pu.ID="editor.contrib.selectionHighlighter",pu);Fv=_y=Dz([Az(1,ki)],Fv);function WB(o,e,t){const i=UD(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=UD(o,r,!t);if(i!==a)return!1}return!0}function UD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class Wz extends vt{constructor(){super({id:"editor.action.focusNextCursor",label:S("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:S("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),Kc(s,n.getCursorStates()))}}class zz extends vt{constructor(){super({id:"editor.action.focusPreviousCursor",label:S("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:S("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),Kc(s,n.getCursorStates()))}}hn(sf.ID,sf,4);hn(Fv.ID,Fv,1);Ie(kz);Ie(Bz);Ie(Fz);Ie(Pz);Ie(Tz);Ie(Mz);Ie(Rz);Ie(Nz);Ie(Oz);Ie(Lz);Ie(Iz);Ie(Wz);Ie(zz);const Vz="editor.action.inlineEdit.accept",jz="editor.action.inlineEdit.reject",$z="editor.action.inlineEdit.jumpTo",Uz="editor.action.inlineEdit.jumpBack";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},Gz=function(o,e){return function(t,i){e(t,i,o)}};const NC="inline-edit";let by=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Qo(this,!1),this.currentTextModel=Po(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Wn(this,n=>{var I;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=(I=this.model.range)==null?void 0:I.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const d=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,u=r.parts.length===1&&r.parts[0].lines.every(M=>M.length===0),f=[],g=[];function p(M,R){if(g.length>0){const P=g[g.length-1];R&&P.decorations.push(new Og(P.content.length+1,P.content.length+1+M[0].length,R,0)),P.content+=M[0],M=M.slice(1)}for(const P of M)g.push({content:P,decorations:R?[new Og(1,P.length+1,R,0)]:[]})}const C=s.getLineContent(r.lineNumber);let b,y=0;if(!u&&(d||!a)){for(const M of r.parts){let R=M.lines;a&&!d&&(p(R,NC),R=[]),b===void 0?(f.push({column:M.column,text:R[0],preview:M.preview}),R=R.slice(1)):p([C.substring(y,M.column-1)],void 0),R.length>0&&(p(R,NC),b===void 0&&M.column<=C.length&&(b=M.column)),y=M.column-1}b!==void 0&&p([C.substring(y)],void 0)}const w=b!==void 0?new CB(b,C.length+1):void 0,A=d||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:w,lineNumber:A,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:d,isPureRemove:u}}),this.decorations=Wn(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 d=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<d;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),C=new J(f,g,f,p);a.push(C)}}for(const d of a)r.push({range:d,options:Jw})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new J(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:e9})}for(const a of s.inlineTexts)r.push({range:J.fromPositions(new Ai(s.lineNumber,a.column)),options:{description:NC,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:jh.Left},showIfCollapsed:!0}});return r}),this._register(is(()=>{this.isDisposed.set(!0,void 0)})),this._register(EB(this.editor,this.decorations))}};by=qz([Gz(2,ha)],by);var Q9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},gm;let Cy=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Po(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Wn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.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 Ai(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Lp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(Ey,this.editor,!0,this.position));e.addContentWidget(a),s.add(is(()=>e.removeContentWidget(a)))}))}};Cy=Q9([Fa(2,on)],Cy);var Tc;let Ey=(Tc=class extends Rt{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${gm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Fr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Fr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(si.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(yy,this.nodes.toolBar,this.editor,si.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof N0)return n.createInstance(Kz,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{gm._dropDownVisible=a})),this._register(rs(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(rs(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof N0&&d.push(g);d.length>0&&d.unshift(new Ig),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},gm=Tc,Tc._dropDownVisible=!1,Tc.id=0,Tc);Ey=gm=Q9([Fa(3,on),Fa(4,Ln),Fa(5,Zu)],Ey);class Kz extends vA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Fr("div.keybinding").root;this._register(new Tw(t,Mw,{disableTitle:!0,..._A})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let yy=class extends bA{constructor(e,t,i,n,s,r,a,d,u,f){super(e,{resetMenu:i,...n},s,r,a,d,u,f),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];zw(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){ja(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};yy=Q9([Fa(4,Zu),Fa(5,Ln),Fa(6,af),Fa(7,As),Fa(8,Vs),Fa(9,ua)],yy);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},pm=function(o,e){return function(t,i){e(t,i,o)}},eg,wy;function*Zz(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function OC(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 xu;let Sy=(xu=class extends Rt{static _createUniqueUri(){return jn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(eg._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=Wn(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 d=this._editor.getModel();if(!d)return null;const u=Array.from(Zz(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(y=>d.getLineLastNonWhitespaceColumn(y)),g=Math.max(...f),p=u[f.indexOf(g)],C=new Ai(p,g);return{top:a.range.startLineNumber,left:C}}),this._text=Wn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=OC(a.text.split(`
|
|
58
|
-
`));return{text:d.text.join(`
|
|
59
|
-
`),shift:d.shift}}),this._originalModel=Hc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Hc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._diff=Wn(this,r=>{var a,d;return(d=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:d.data}),this._diffPromise=Wn(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=OC(d.getValueInRange(a.range).split(`
|
|
60
|
-
`)).text.join(`
|
|
61
|
-
`),f=OC(a.text.split(`
|
|
62
|
-
`)).text.join(`
|
|
63
|
-
`);this._originalModel.get().setValue(u),this._modifiedModel.get().setValue(f);const g=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return xk.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},cn.None);if(!p.identical)return p.changes})}),this._register(Lp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(Dy,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(is(()=>e.removeOverlayWidget(u)))}))}},eg=xu,xu._modelId=0,xu);Sy=eg=zB([pm(2,on),pm(3,t9),pm(4,vo)],Sy);var mu;let Dy=(mu=class extends Rt{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${wy.id++}`,this.allowEditorOverflow=!1,this._nodes=mi("div.inlineEditSideBySide",void 0),this._scrollChanged=Pd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Hr,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=Ia(this._previewEditor),this._editorObs=Ia(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(dc,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Rg,dc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Wn(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Wn(this,d=>{this._setText.read(d);const u=this._position.read(d);if(!u)return{org:[],mod:[]};const f=this._diff.read(d);if(!f)return{org:[],mod:[]};const g=[],p=[];if(f.length===1&&f[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const C=this._shift.get(),b=y=>new J(y.startLineNumber+u.top-1,y.startColumn+C,y.endLineNumber+u.top-1,y.endColumn+C);for(const y of f)if(y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:e9}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:mk}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:vk}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:_k});else for(const w of y.innerChanges||[])y.original.contains(w.originalRange.startLineNumber)&&g.push({range:b(w.originalRange),options:w.originalRange.isEmpty()?bk:Jw}),y.modified.contains(w.modifiedRange.startLineNumber)&&p.push({range:w.modifiedRange,options:w.modifiedRange.isEmpty()?Ck:Ek});return{org:g,mod:p}}),this._originalDecorations=Wn(this,d=>this._decorations.read(d).org),this._modifiedDecorations=Wn(this,d=>this._decorations.read(d).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(rs(d=>{const u=this._previewEditorObs.contentWidth.read(d),f=this._text.read(d).split(`
|
|
64
|
-
`).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(rs(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(rs(d=>{this._scrollChanged.read(d),this._position.read(d)&&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 Ai(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}}}},wy=mu,mu.id=0,mu);Dy=wy=zB([pm(5,on)],Dy);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},fd=function(o,e){return function(t,i){e(t,i,o)}},tg,dr;let fo=(dr=class extends Rt{static get(e){return e.getContribution(tg.ID)}constructor(e,t,i,n,s,r,a,d){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=d,this._isVisibleContext=tg.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=tg.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Qo(this,void 0),this._currentWidget=Hc(this._currentEdit,b=>{const y=this._currentEdit.read(b);if(!y)return;const w=y.range.endLineNumber,A=y.range.endColumn,I=y.text.endsWith(`
|
|
65
|
-
`)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,M=new Qg(w,[new cv(A,I,!1)]),R=y.range.startLineNumber===y.range.endLineNumber&&M.parts.length===1&&M.parts[0].lines.length===1,P=y.text==="";return!R&&!P?void 0:this.instantiationService.createInstance(by,this.editor,{ghostText:gl(M),minReservedLineCount:gl(0),targetTextModel:gl(this.editor.getModel()??void 0),range:gl(y.range)})}),this._isAccepting=Qo(this,!1),this._enabled=Po(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=Po(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=Pd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(rs(b=>{this._enabled.read(b)&&(u.read(b),!this._isAccepting.read(b)&&this.getInlineEdit(e,!0))}));const f=Po(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(rs(b=>{if(!this._enabled.read(b))return;const y=f.read(b);y&&this.checkCursorPosition(y)})),this._register(rs(b=>{const y=this._currentEdit.read(b);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const w=e.getPosition();w&&this.checkCursorPosition(w)}));const g=Pd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(rs(async b=>{var y;this._enabled.read(b)&&(g.read(b),!(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=Pd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(rs(b=>{this._enabled.read(b)&&(p.read(b),this.getInlineEdit(e,!0))}));const C=this._register(UA());this._register(rs(b=>{const y=this._fontFamily.read(b);C.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 Cy(this.editor,this._currentWidget,this.instantiationService)),this._register(new Sy(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(J.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 Gs;const a=this._currentRequestCts.token,d=t?i8.Automatic:i8.Invoke;if(t&&await Yz(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:d},a);if(f&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,f))return f}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith(`
|
|
72
|
-
`)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[cs.replace(J.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,bs),this.freeEdit(e),Xu(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=Ai.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,bs),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)}},tg=dr,dr.ID="editor.contrib.inlineEditController",dr.inlineEditVisibleKey="inlineEditVisible",dr.inlineEditVisibleContext=new yn(dr.inlineEditVisibleKey,!1),dr.cursorAtInlineEditKey="cursorAtInlineEdit",dr.cursorAtInlineEditContext=new yn(dr.cursorAtInlineEditKey,!1),dr);fo=tg=Xz([fd(1,on),fd(2,Ln),fd(3,ki),fd(4,Vs),fd(5,ss),fd(6,t9),fd(7,vo)],fo);function Yz(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 Qz=class extends vt{constructor(){super({id:Vz,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Ge.and(q.writable,fo.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Ge.and(q.writable,fo.inlineEditVisibleContext,fo.cursorAtInlineEditContext)}],menuOpts:[{menuId:si.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=fo.get(t);await(i==null?void 0:i.accept())}};class Jz extends vt{constructor(){const e=Ge.and(q.writable,Ge.not(fo.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=fo.get(t);i==null||i.trigger()}}class eV extends vt{constructor(){const e=Ge.and(q.writable,fo.inlineEditVisibleContext,Ge.not(fo.cursorAtInlineEditKey));super({id:$z,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:si.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=fo.get(t);i==null||i.jumpToCurrent()}}class tV extends vt{constructor(){const e=Ge.and(q.writable,fo.cursorAtInlineEditContext);super({id:Uz,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:si.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=fo.get(t);i==null||i.jumpBack()}}class iV extends vt{constructor(){const e=Ge.and(q.writable,fo.inlineEditVisibleContext);super({id:jz,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:si.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=fo.get(t);await(i==null?void 0:i.clear())}}Ie(Qz);Ie(iV);Ie(eV);Ie(tV);Ie(Jz);hn(fo.ID,fo,3);const nV="editor.action.inlineEdits.accept",sV="editor.action.inlineEdits.showPrevious",oV="editor.action.inlineEdits.showNext",of=new yn("inlineEditsVisible",!1,S("inlineEditsVisible","Whether an inline edit is visible")),rV=new yn("inlineEditsIsPinned",!1,S("isPinned","Whether an inline edit is visible")),kS=class kS extends Rt{constructor(e){super(),this._editor=e,this._editorObs=Ia(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=ul({owner:this,equalsFn:yk},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=aV(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=CA((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Fr("div.editorPlaceholder");i.add(rs(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(rs(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(rs(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:gl(0),position:gl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};kS.ID="editor.contrib.placeholderText";let op=kS;function aV(o,e){return G_(o,(t,i)=>i===!0?!0:e(t))}var lV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cV=function(o,e){return function(t,i){e(t,i,o)}};class dV{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Ay=class extends Rt{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ia(this._editor),this._elements=Fr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Fr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Fr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Fr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Fr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),vh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[vh("defs",[vh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[vh("stop",{offset:"0%",class:"gradient-stop"}),vh("stop",{offset:"100%",class:"gradient-stop"})])]),vh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(dc,"",Rg,dc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Wn(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(dc,"",Rg,dc.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Hr,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:LL},{contributions:IL.getSomeEditorContributions([Pr.ID,op.ID,X0.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Hr,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=Ia(this._previewEditor),this._decorations=Wn(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const d=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:e9}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:mk}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:vk}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:_k});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?bk:Jw}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?Ck:Ek});return u}),this._layout1=Wn(this,r=>{const a=this._editor.getModel(),d=this._edit.read(r);if(!d)return null;const u=d.range;let f=0;for(let C=u.startLineNumber;C<u.endLineNumberExclusive;C++){const b=a.getLineMaxColumn(C),y=this._editor.getOffsetForColumn(C,b);f=Math.max(f,y)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=Wn(this,r=>{const a=this._edit.read(r);if(!a)return null;const d=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(d.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(d.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),C=new Yh(f,g),b=new Yh(f,p),y=p-g,w=50,A=this._editor.getOption(67)*a.newLines.length,I=y-A,M=new Yh(f+w,g+I/2),R=new Yh(f+w,p-I/2);return{topCode:C,bottomCode:b,codeHeight:y,topEdit:M,bottomEdit:R,editHeight:A}});const s=Wn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(PL(this._elements.root,{display:Wn(this,r=>s.read(r)?"block":"none")})),this._register(TL(this._editor.getDomNode(),this._elements.root)),this._register(Ia(e).createOverlayWidget({domNode:this._elements.root,position:gl(null),allowEditorOverflow:!1,minContentWidthInPx:Wn(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const d=this._previewEditorObs.contentWidth.read(r);return a+d})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(rs(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:d,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,C=10,b=0,y=40,w=new hV().moveTo(d).lineTo(d.deltaX(C)).curveTo(d.deltaX(C+y),f.deltaX(-y-b),f.deltaX(-b)).lineTo(f).lineTo(g).lineTo(g.deltaX(-b)).curveTo(g.deltaX(-y-b),u.deltaX(C+y),u.deltaX(C)).lineTo(u).build();this._elements.path.setAttribute("d",w),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const A=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:A})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(fV(uV(this._userPrompt,r=>r??"",r=>r),Ia(this._promptEditor).value)),this._register(rs(r=>{const a=Ia(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Ay=lV([cV(3,on)],Ay);function uV(o,e,t){return wk(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Yh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Yh(this.x+e,this.y)}}class hV{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 fV(o,e){const t=new Tt;return t.add(rs(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(rs(i=>{const n=e.read(i);o.set(n,void 0)})),t}var gV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},HC=function(o,e){return function(t,i){e(t,i,o)}},ig,vu;let ky=(vu=class extends Rt{static _createUniqueUri(){return jn.from({scheme:"inline-edits",path:new Date().toString()+String(ig._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=Kw(this),this._selectedInlineCompletionId=Qo(this,void 0),this._isActive=Qo(this,!1),this._originalModel=Hc(()=>this._modelService.createModel("",null,ig._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Hc(()=>this._modelService.createModel("",null,ig._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new xV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=Qo(this,void 0),this.inlineEdit=Wn(this,d=>{var u,f;return(f=(u=this._inlineEdit.read(d))==null?void 0:u.promiseResult.read(d))==null?void 0:f.data}),this._inlineEdit=Wn(this,d=>{const u=this.selectedInlineEdit.read(d);if(!u)return;const f=u.inlineCompletion.range;if(u.inlineCompletion.insertText.trim()==="")return;let g=u.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(w){var I;const A=((I=w[0].match(/^\s*/))==null?void 0:I[0])??"";return w.map(M=>M.replace(new RegExp("^"+A),""))}g=p(g);let b=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);b=p(b),this._originalModel.get().setValue(b.join(`
|
|
74
|
-
`)),this._modifiedModel.get().setValue(g.join(`
|
|
75
|
-
`));const y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return xk.fromFn(async()=>{const w=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},cn.None);if(!w.identical)return new dV(ML.fromRangeInclusive(f),p(g),w.changes)})}),this._fetchStore=this._register(new Tt),this._inlineEditsFetchResult=l1(this,void 0),this._inlineEdits=ul({owner:this,equalsFn:yk},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new pV(f)))??[]}),this._fetchInlineEditsPromise=ek({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:_l.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=_l.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(y,w){return w(y)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),y=>y.isEmpty()?void 0:y);if(!g){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:u.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(d)},C=d1(this._fetchStore);await eb(200,C);const b=await yB(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,C);C.isCancellationRequested||this._inlineEditsFetchResult.set(b,void 0)}),this._filteredInlineEditItems=ul({owner:this,equalsFn:c1()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=Wn(this,d=>{const u=this._selectedInlineCompletionId.read(d),f=this._filteredInlineEditItems.read(d),g=this._selectedInlineCompletionId===void 0?-1:f.findIndex(p=>p.semanticId===u);return g===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):g}),this.selectedInlineEdit=Wn(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(tk(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Fm(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Fm(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 O0;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},ig=vu,vu._modelId=0,vu);ky=ig=gV([HC(4,ki),HC(5,t9),HC(6,vo)],ky);class pV{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class xV extends Rt{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Qo(this,[]),this.range=Wn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(is(()=>{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 mV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},By,_u;let Ll=(_u=class extends Rt{static get(e){return e.getContribution(By.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=RL("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ia(this.editor),this._selection=Wn(this,a=>this._editorObs.cursorSelection.read(a)??new $i(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Hc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const d=this._editorObs.model.read(a);return d?this._instantiationService.createInstance(u1(ky,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=G_(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Hc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(u1(Ay,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),vV(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??Qo("empty","")}))}),this._register(n8(of,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(n8(rV,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},By=_u,_u.ID="editor.contrib.inlineEditsController",_u);Ll=By=mV([Wf(1,on),Wf(2,Ln),Wf(3,gr),Wf(4,ki),Wf(5,ss)],Ll);function vV(o){return wk(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function Jp(o){return{label:o.value,alias:o.original}}const S_=class S_ extends vt{constructor(){super({id:S_.ID,...Jp(Si("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:Ge.and(q.writable,of),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};S_.ID=oV;let Fy=S_;const D_=class D_ extends vt{constructor(){super({id:D_.ID,...Jp(Si("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:Ge.and(q.writable,of),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};D_.ID=sV;let Ly=D_;class _V extends vt{constructor(){super({id:"editor.action.inlineEdits.trigger",...Jp(Si("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:q.writable})}async run(e,t){const i=Ll.get(t);await uk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class bV extends vt{constructor(){super({id:nV,...Jp(Si("action.inlineEdits.accept","Accept Inline Edit")),precondition:of,menuOpts:{menuId:si.InlineEditsActions,title:S("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Qi.check},kbOpts:{primary:2058,weight:2e4,kbExpr:of}})}async run(e,t){var n;t instanceof Hr&&(t=t.getParentEditor());const i=Ll.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const A_=class A_ extends vt{constructor(){super({id:A_.ID,...Jp(Si("action.inlineEdits.hide","Hide Inline Edit")),precondition:of,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};A_.ID="editor.action.inlineEdits.hide";let Iy=A_;hn(Ll.ID,Ll,3);Ie(_V);Ie(Fy);Ie(Ly);Ie(bV);Ie(Iy);const Uu={Visible:new yn("parameterHintsVisible",!1),MultipleSignatures:new yn("parameterHintsMultipleSignatures",!1)};async function VB(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){bs(a)}}Qn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Pn(jn.isUri(t)),Pn(Ai.isIPosition(i)),Pn(typeof n=="string"||!n);const s=o.get(ki),r=await o.get(fa).createModelReference(t);try{const a=await VB(s.signatureHelpProvider,r.object.textEditorModel,Ai.lift(i),{triggerKind:mc.Invoke,isRetrigger:!1,triggerCharacter:n},cn.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var tc;(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})(tc||(tc={}));const k_=class k_ extends Rt{constructor(e,t,i=k_.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new ln),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=tc.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new er),this.triggerChars=new km,this.retriggerChars=new km,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Oc(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=tc.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(qn)}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 tc.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(CV);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 tc.Pending(qs(d=>VB(this.providers,r,a,s,d)),i);try{const d=await this.state.request;return e!==this.triggerId?(d==null||d.dispose(),!1):!d||!d.value.signatures||d.value.signatures.length===0?(d==null||d.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new tc.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=tc.Default),qn(d),!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:mc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:mc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:mc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};k_.DEFAULT_DELAY=120;let Py=k_;function CV(o,e){switch(e.triggerKind){case mc.Invoke:return e;case mc.ContentChange:return o;case mc.TriggerCharacter:default:return e}}var EV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wx=function(o,e){return function(t,i){e(t,i,o)}},Ty;const zo=mi,yV=ms("parameter-hints-next",Qi.chevronDown,S("parameterHintsNextIcon","Icon for show next parameter hint.")),wV=ms("parameter-hints-previous",Qi.chevronUp,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var bu;let My=(bu=class extends Rt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new Tt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new uf({editor:e},s,n)),this.keyVisible=Uu.Visible.bindTo(i),this.keyMultipleSignatures=Uu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=zo(".editor-widget.parameter-hints-widget"),t=ci(e,zo(".phwrapper"));t.tabIndex=-1;const i=ci(t,zo(".controls")),n=ci(i,zo(".button"+Rn.asCSSSelector(wV))),s=ci(i,zo(".overloads")),r=ci(i,zo(".button"+Rn.asCSSSelector(yV)));this._register(Fn(n,"click",p=>{Am.stop(p),this.previous()})),this._register(Fn(r,"click",p=>{Am.stop(p),this.next()}));const a=zo(".body"),d=new ok(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=ci(a,zo(".signature")),f=ci(a,zo(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const g=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),C=this.domNodes.element;C.style.fontSize=`${p.fontSize}px`,C.style.lineHeight=`${p.lineHeight/p.fontSize}`,C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Ww.fontFamily)};g(),this._register(Ts.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(C=>C.hasChanged(50)))(g)),this._register(this.editor.onDidLayoutChange(p=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=ci(this.domNodes.signature,zo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=ci(n,zo("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=zo("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}ci(this.domNodes.docs,zo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")ci(this.domNodes.docs,zo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);ci(this.domNodes.docs,u.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let u="";const f=i.parameters[r];Array.isArray(f.label)?u=i.label.substring(f.label[0],f.label[1]):u=f.label,f.documentation&&(u+=typeof f.documentation=="string"?`, ${f.documentation}`:`, ${f.documentation.value}`),i.documentation&&(u+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==u&&(Nr(S("hint","{0}, hint",u)),this.announcedLabel=u)}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"&&$h(t.documentation).length>0||t&&typeof t.documentation=="object"&&$h(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&$h(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&$h(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 d=document.createElement("span");d.textContent=t.label.substring(s),ci(e,r,a,d)}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|^)${Lg(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 Ty.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)}},Ty=bu,bu.ID="editor.widget.parameterHintsWidget",bu);My=Ty=EV([Wx(2,Ln),Wx(3,da),Wx(4,ha),Wx(5,ua)],My);vi("editorHoverWidget.highlightForeground",ck,S("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var SV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qD=function(o,e){return function(t,i){e(t,i,o)}},Ry,Cu;let rf=(Cu=class extends Rt{static get(e){return e.getContribution(Ry.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Py(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 Iw(()=>this._register(t.createInstance(My,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)}},Ry=Cu,Cu.ID="editor.controller.parameterHints",Cu);rf=Ry=SV([qD(1,on),qD(2,ki)],rf);class DV extends vt{constructor(){super({id:"editor.action.triggerParameterHints",label:S("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:q.hasSignatureHelpProvider,kbOpts:{kbExpr:q.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=rf.get(t);i==null||i.trigger({triggerKind:mc.Invoke})}}hn(rf.ID,rf,2);Ie(DV);const J9=175,eS=ko.bindToContribution(rf.get);Pi(new eS({id:"closeParameterHints",precondition:Uu.Visible,handler:o=>o.cancel(),kbOpts:{weight:J9,kbExpr:q.focus,primary:9,secondary:[1033]}}));Pi(new eS({id:"showPrevParameterHint",precondition:Ge.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:J9,kbExpr:q.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Pi(new eS({id:"showNextParameterHint",precondition:Ge.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:J9,kbExpr:q.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var AV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kV=function(o,e){return function(t,i){e(t,i,o)}};class BV{constructor(e){this.instantiationService=e}init(...e){}}function FV(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Lp((n,s)=>{const r=u1(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function LV(o){return NL()?FV(o,Ny):o()}let Ny=class extends BV{constructor(e,t){super(t),this.init(e)}};Ny=AV([kV(1,on)],Ny);hn(op.ID,LV(()=>op),0);vi("editor.placeholder.foreground",OL,S("placeholderForeground","Foreground color of the placeholder text in the editor."));var IV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zx=function(o,e){return function(t,i){e(t,i,o)}};const _f=new yn("renameInputVisible",!1,S("renameInputVisible","Whether the rename input widget is visible"));new yn("renameInputFocused",!1,S("renameInputFocused","Whether the rename input widget is focused"));let Oy=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 Tt,this._visibleContextKey=_f.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Ho,this._inputWithButton=new PV,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 tS(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(HL),i=e.getColor(WL);this._domNode.style.backgroundColor=String(e.getColor(rk)??""),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(zL)??"");const n=e.getColor(VL);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(s8)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(s8)??""),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;Pn(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=Ip(this.getDomNode().ownerDocument.body),t=wo(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}=rp.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=S({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;Pn(this._renameCandidateListView),Pn(this._nPxAvailableAbove!==void 0),Pn(this._nPxAvailableBelow!==void 0);const t=Vh(this._inputWithButton.domNode),i=Vh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:yr(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 d=new Tt;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),d.add(Fn(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(Fn(this._inputWithButton.button,as.KEY_DOWN,f=>{const g=new i9(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Ai(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(),d.add(is(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(is(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(is(()=>this._candidates.clear()));const u=new V_;return u.p.finally(()=>{d.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),Pn(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,C;const b=this._renameCandidateListView.focusedCandidate;if(b!==void 0?(this._trace("using new name from renameSuggestion"),p=b,C={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,C=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:C,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},d.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),d.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),Pn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Gs;const i=t?h1.Invoke:h1.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){Pn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!J.isEmpty(i)&&!J.spansMultipleLines(i)&&J.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...u)=>this._trace("_updateRenameCandidates",...u);n("start");const s=await Sp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(u=>u.status==="fulfilled"&&Yx(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=uA(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const d=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._inputWithButton.input.value&&u!==t&&!this._candidates.has(u));if(n(`valid distinct candidates - ${r.length} candidates.`),d.forEach(u=>this._candidates.add(u.newSymbolName)),d.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(d),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)}};Oy=IV([zx(2,Wr),zx(3,As),zx(4,Ln),zx(5,Yu)],Oy);class tS{constructor(e,t){this._disposables=new Tt,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=tS._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(dk({listInactiveFocusForeground:ak,listInactiveFocusBackground:lk}))}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`,P0(S("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}=rp.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 rp(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Rw("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class PV{constructor(){this._onDidInputChange=new ln,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Tt}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",S("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=S("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=S("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=jL().setupManagedHover(Q_("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Fn(this.input,as.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Fn(this.input,as.KEY_DOWN,e=>{const t=new i9(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Fn(this.input,as.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Fn(this.input,as.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(Fn(this.input,as.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Pn(this._inputNode),this._inputNode}get button(){return Pn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=f1(Qi.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=f1(Qi.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 Ag=class Ag{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=`${Ag._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=f1(Qi.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),YA(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($L.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Ag._PADDING*2}}dispose(){}};Ag._PADDING=2;let rp=Ag;var TV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yl=function(o,e){return function(t,i){e(t,i,o)}},Hy;class iS{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 J(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
76
|
-
`):void 0}:{range:J.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(S("no result","No result.")),n);return r}}async function MV(o,e,t,i){const n=new iS(e,t,o),s=await n.resolveRenameLocation(cn.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,cn.None)}var Eu;let $c=(Eu=class{static get(e){return e.getContribution(Hy.ID)}constructor(e,t,i,n,s,r,a,d,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=d,this._telemetryService=u,this._disposableStore=new Tt,this._cts=new Gs,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Oy,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var b,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Gs,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new iS(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new L0(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const w=i.resolveRenameLocation(n.token);this._progressService.showWhile(w,250),s=await w,e("resolved rename location")}catch(w){w instanceof j_?e("resolve rename location cancelled",JSON.stringify(w,null," ")):(e("resolve rename location failed",w instanceof Error?w:JSON.stringify(w,null," ")),(typeof w=="string"||Zx(w))&&((b=Ro.get(this.editor))==null||b.showMessage(w||S("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=Ro.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new L0(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(d.map(async w=>[w,await w.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(w,A)=>{let I=u.slice();return w===h1.Automatic&&(I=I.filter(([M,R])=>R)),I.map(([M])=>M.provideNewSymbolNames(a,s.range,w,A))};e("creating rename input field and awaiting its result");const g=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,g,d.length>0?f:void 0,r);if(e("received response from rename input field"),d.length>0&&this._reportTelemetry(d.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 C=Sp(i.provideRenameEdits(p.newName,r.token),r.token).then(async w=>{if(!w){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(w.rejectReason){e(`returning early - rejected with reason: ${w.rejectReason}`),this._notificationService.info(w.rejectReason);return}this.editor.setSelection(J.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(w,{editor:this.editor,showPreview:p.wantsPreview,label:S("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:S("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(A=>{e("edits applied"),A.ariaSummary&&Nr(S("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,A.ariaSummary))}).catch(A=>{e(`error when applying edits ${JSON.stringify(A,null," ")}`),this._notificationService.error(S("rename.failedApply","Rename failed to apply edits")),this._logService.error(A)})},w=>{e("error when providing rename edits",JSON.stringify(w,null," ")),this._notificationService.error(S("rename.failed","Rename failed to compute edits")),this._logService.error(w)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(C,250),C}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)}},Hy=Eu,Eu.ID="editor.contrib.renameController",Eu);$c=Hy=TV([Yl(1,on),Yl(2,mo),Yl(3,W_),Yl(4,Ap),Yl(5,Yu),Yl(6,UL),Yl(7,ki),Yl(8,ua)],$c);class RV extends vt{constructor(){super({id:"editor.action.rename",label:S("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:Ge.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Cs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return jn.isUri(n)&&Ai.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))))},qn):super.runCommand(e,t)}run(e,t){const i=e.get(Yu),n=$c.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}hn($c.ID,$c,4);Ie(RV);const nS=ko.bindToContribution($c.get);Pi(new nS({id:"acceptRenameInput",precondition:_f,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Ge.and(q.focus,Ge.not("isComposing")),primary:3}}));Pi(new nS({id:"acceptRenameInputWithPreview",precondition:Ge.and(_f,Ge.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Ge.and(q.focus,Ge.not("isComposing")),primary:2051}}));Pi(new nS({id:"cancelRenameInput",precondition:_f,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:q.focus,primary:9,secondary:[1033]}}));Vn(class extends Ao{constructor(){super({id:"focusNextRenameSuggestion",title:{...Si("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:_f,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(Cs).getFocusedCodeEditor();if(!t)return;const i=$c.get(t);i&&i.focusNextRenameSuggestion()}});Vn(class extends Ao{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Si("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:_f,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(Cs).getFocusedCodeEditor();if(!t)return;const i=$c.get(t);i&&i.focusPreviousRenameSuggestion()}});Bo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Pn(typeof n=="string");const{renameProvider:s}=o.get(ki);return MV(s,e,t,n)});Bo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(ki),s=await new iS(e,t,i).resolveRenameLocation(cn.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});ca.as(kp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:S("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var NV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GD=function(o,e){return function(t,i){e(t,i,o)}},D0;let Lv=(D0=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const s=(r=this.editor.getModel())==null?void 0:r.getLanguageId();s&&n.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Ms(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(s=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(s)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(s=>{if(!s.shouldBeInComments)return!0;const r=t.validateRange(s.range),a=t.tokenization.getLineTokens(r.startLineNumber),d=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(d);return a.getLanguageId(d)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>OV(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,d=r.length;a<d;a++){const u={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[u.decorationId]=u}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},D0.ID="editor.sectionHeaderDetector",D0);Lv=NV([GD(1,js),GD(2,Nl)],Lv);function OV(o){return{range:o.range,options:_n.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}hn(Lv.ID,Lv,1);function HV(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 WV(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return qL()||HV(e),GL.wrap(e)}function jB(o){const e=new Uint32Array(zV(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 WV(e)}function zV(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 Fb(o){return o&&!!o.data}function $B(o){return o&&Array.isArray(o.edits)}class VV{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function UB(o,e){return o.has(e)}function jV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function qB(o,e,t,i,n){const s=jV(o,e),r=await Promise.all(s.map(async a=>{let d,u=null;try{d=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,d=null}return(!d||!Fb(d)&&!$B(d))&&(d=null),new VV(a,d,u)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function $V(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class UV{constructor(e,t){this.provider=e,this.tokens=t}}function qV(o,e){return o.has(e)}function GB(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function sS(o,e,t,i){const n=GB(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){bs(d),a=null}return(!a||!Fb(a))&&(a=null),new UV(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Qn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Pn(t instanceof jn);const i=o.get(vo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ki),s=$V(n,i);return s?s[0].getLegend():o.get(Vs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Qn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Pn(t instanceof jn);const i=o.get(vo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ki);if(!UB(n,i))return o.get(Vs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await qB(n,i,null,null,cn.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Fb(a))return;const d=jB({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});Qn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Pn(t instanceof jn);const n=o.get(vo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ki),r=GB(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!J.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 sS(s,n,J.lift(i),cn.None);if(a)return a.provider.getLegend()});Qn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Pn(t instanceof jn),Pn(J.isIRange(i));const n=o.get(vo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ki),r=await sS(s,n,J.lift(i),cn.None);if(!(!r||!r.tokens))return jB({id:0,type:"full",data:r.tokens.data})});const oS="editor.semanticHighlighting";function xm(o,e,t){var n;const i=(n=t.getValue(oS,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var KB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},La=function(o,e){return function(t,i){e(t,i,o)}},ec;let Wy=class extends Rt{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new zy(f,e,i,s,r)},d=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];xm(f,i,n)?g||a(f):g&&d(f,g)}};t.getModels().forEach(f=>{xm(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{xm(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&d(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(oS)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Wy=KB([La(0,n9),La(1,vo),La(2,Wr),La(3,ss),La(4,gr),La(5,ki)],Wy);var Mc;let zy=(Mc=class extends Rt{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:ec.REQUEST_MIN_DELAY,max:ec.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Ms(()=>this._fetchDocumentSemanticTokensNow(),ec.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=()=>{uo(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),uo(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!UB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Gs,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=qB(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(d=>{s.push(d)}),a=new Ho(!1);n.then(d=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!d)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=d,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},d=>{d&&(qc(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||qn(d),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($B(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 d=s.data,u=new Uint32Array(d.length+a);let f=d.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const C=t.edits[p];if(C.start>d.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,C.start,d.length),this._model.tokenization.setSemanticTokens(null,!0);return}const b=f-(C.start+C.deleteCount);b>0&&(ec._copy(d,f-b,u,g-b,b),g-=b),C.data&&(ec._copy(C.data,0,u,g-C.data.length,C.data.length),g-=C.data.length),f=C.start}f>0&&ec._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(Fb(t)){this._currentDocumentResponse=new GV(e,t.resultId,t.data);const a=Sk(t,i,this._model.getLanguageId());if(n.length>0)for(const d of n)for(const u of a)for(const f of d.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ec=Mc,Mc.REQUEST_MIN_DELAY=300,Mc.REQUEST_MAX_DELAY=2e3,Mc);zy=ec=KB([La(1,n9),La(2,Wr),La(3,gr),La(4,ki)],zy);class GV{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}df(Wy);var KV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zf=function(o,e){return function(t,i){e(t,i,o)}},A0;let Iv=(A0=class extends Rt{constructor(e,t,i,n,s,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Ms(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(d=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(d=>{d.affectsConfiguration(oS)&&(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(!xm(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!qV(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=qs(r=>Promise.resolve(sS(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:d}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,Sk(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},A0.ID="editor.contrib.viewportSemanticTokens",A0);Iv=KV([zf(1,n9),zf(2,Wr),zf(3,ss),zf(4,gr),zf(5,ki)],Iv);hn(Iv.ID,Iv,1);class ZV{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 d=a,u=a,f=0;for(;d>=0;d--){const g=s.charCodeAt(d);if(d!==a&&(g===95||g===45))break;if(o8(g)&&r8(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(r8(g)&&o8(f))break;if(g===95||g===45)break;f=g}d<u&&e.push({range:new J(i.lineNumber,r+d,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new J(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 J(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var XV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YV=function(o,e){return function(t,i){e(t,i,o)}},Vy;class rS{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 rS(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var yu;let ap=(yu=class{static get(e){return e.getContribution(Vy.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 XB(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),cn.None).then(s=>{var r;if(!(!Yo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!ja(this._editor.getSelections(),t,(a,d)=>a.equalsSelection(d)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(d=>d.containsPosition(t[a].getStartPosition())&&d.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new rS(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(s=>s.mov(e));const n=this._state.map(s=>$i.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Vy=yu,yu.ID="editor.contrib.smartSelectController",yu);ap=Vy=XV([YV(1,ki)],ap);class ZB extends vt{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=ap.get(t);i&&await i.run(this._forward)}}class QV extends ZB{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:S("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Qn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class JV extends ZB{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:S("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}hn(ap.ID,ap,4);Ie(QV);Ie(JV);async function XB(o,e,t,i,n){const s=o.all(e).concat(new ZV(i.selectSubwords));s.length===1&&s.unshift(new xv);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(Yo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])J.isIRange(g.range)&&J.containsPosition(g.range,t[f])&&a[f].push(J.lift(g.range))}},bs));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,C)=>Ai.isBefore(p.getStartPosition(),C.getStartPosition())?1:Ai.isBefore(C.getStartPosition(),p.getStartPosition())||Ai.isBefore(p.getEndPosition(),C.getEndPosition())?-1:Ai.isBefore(C.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of d)(!f||J.containsRange(p,f)&&!J.equalsRange(p,f))&&(u.push(p),f=p);if(!i.selectLeadingAndTrailingWhitespace)return u;const g=[u[0]];for(let p=1;p<u.length;p++){const C=u[p-1],b=u[p];if(b.startLineNumber!==C.startLineNumber||b.endLineNumber!==C.endLineNumber){const y=new J(C.startLineNumber,e.getLineFirstNonWhitespaceColumn(C.startLineNumber),C.endLineNumber,e.getLineLastNonWhitespaceColumn(C.endLineNumber));y.containsRange(C)&&!y.equalsRange(C)&&b.containsRange(y)&&!b.equalsRange(y)&&g.push(y);const w=new J(C.startLineNumber,1,C.endLineNumber,e.getLineMaxColumn(C.endLineNumber));w.containsRange(C)&&!w.equalsRange(y)&&b.containsRange(w)&&!b.equalsRange(w)&&g.push(w)}g.push(b)}return g})}Qn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Pn(jn.isUri(t));const n=o.get(ki).selectionRangeProvider,s=await o.get(fa).createModelReference(t);try{return XB(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},cn.None)}finally{s.dispose()}});const ej=Object.freeze({View:Si("view","View"),Help:Si("help","Help"),Test:Si("test","Test"),File:Si("file","File"),Preferences:Si("preferences","Preferences"),Developer:Si({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class bg{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&&ja(this.startLineNumbers,e.startLineNumbers)&&ja(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new bg([],[],0)}}const KD=GA("stickyScrollViewLayer",{createHTML:o=>o}),WC="data-sticky-line-index",ZD="data-sticky-is-line",tj="data-sticky-is-line-number",XD="data-sticky-is-folding-icon";class ij extends Rt{constructor(e){super(),this._editor=e,this._foldingIconStore=new Tt,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 Hr),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,d]of s.entries()){const u=this._renderChildNode(a+i,d,t,n);u&&(this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),this._renderedStickyLines.push(u))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(Fn(this._lineNumbersDomNode,as.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Fn(this._lineNumbersDomNode,as.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 Ai(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=Og.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new XA(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new KA(2e3),p=ZA(f,g);let C;KD?C=KD.createHTML(g.build()):C=g.build();const b=document.createElement("span");b.setAttribute(WC,String(e)),b.setAttribute(ZD,""),b.setAttribute("role","listitem"),b.tabIndex=0,b.className="sticky-line-content",b.classList.add(`stickyLine${t}`),b.style.lineHeight=`${this._lineHeight}px`,b.innerHTML=C;const y=document.createElement("span");y.setAttribute(WC,String(e)),y.setAttribute(tj,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const w=n.contentLeft;y.style.width=`${w}px`;const A=document.createElement("span");d.renderType===1||d.renderType===3&&t%10===0?A.innerText=t.toString():d.renderType===2&&(A.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),A.className="sticky-line-number-inner",A.style.lineHeight=`${this._lineHeight}px`,A.style.width=`${n.lineNumbersWidth}px`,A.style.paddingLeft=`${n.lineNumbersLeft}px`,y.appendChild(A);const I=this._renderFoldingIconForLine(i,t);I&&y.appendChild(I.domNode),this._editor.applyFontInfo(b),this._editor.applyFontInfo(A),y.style.lineHeight=`${this._lineHeight}px`,b.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,b.style.height=`${this._lineHeight}px`;const M=new nj(e,t,b,y,I,p.characterMapping,b.scrollWidth);return this._updateTopAndZIndexOfStickyLine(M)}_updateTopAndZIndexOfStickyLine(e){var f;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const d=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?d:u,n.style.top=s?d:u,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const d=n.isCollapsed(s),u=new sj(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(XD,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=KL(t.characterMapping,e,0);return new Ai(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,WC);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,ZD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,XD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class nj{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 sj{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=Rn.asClassName(e?ov:sv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Cg{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Pv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class YB{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Lb=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lp=function(o,e){return function(t,i){e(t,i,o)}},Eg;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Eg||(Eg={}));var pc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(pc||(pc={}));let jy=class extends Rt{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Oc(300)),this._updateOperation=this._register(new Tt),this._editor.getOption(116).defaultModel){case Eg.OUTLINE_MODEL:this._modelProviders.push(new $y(this._editor,n));case Eg.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new qy(this._editor,t,n));case Eg.INDENTATION_MODEL:this._modelProviders.push(new Uy(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 pc.CANCELED:return this._updateOperation.clear(),null;case pc.VALID:return t.stickyModel}}return null}).catch(t=>(qn(t),null))}};jy=Lb([lp(2,on),lp(3,ki)],jy);class QB extends Rt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,pc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=qs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?pc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),pc.VALID):this._invalid()).then(void 0,i=>(qn(i),pc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let $y=class extends QB{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return rl.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 YB(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ml.first(e.children.values())instanceof _B){const a=ml.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",u=-1,f;for(const[g,p]of e.children.entries()){const C=this._findSumOfRangesOfGroup(p);C>u&&(f=p,u=C,d=p.id)}t=d,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,d)=>{const u=new Cg(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new Cg(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(u,f)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Pv(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 Cg(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Pv(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 PE?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};$y=Lb([lp(1,ki)],$y);class JB extends QB{constructor(e){super(e),this._foldingLimitReporter=new xB(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new YB(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Pv(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 d=new Pv(new Cg(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let Uy=class extends JB{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new U9(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Uy=Lb([lp(1,js)],Uy);let qy=class extends JB{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=jc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new q9(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}};qy=Lb([lp(2,ki)],qy);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},YD=function(o,e){return function(t,i){e(t,i,o)}};class rj{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Gy=class extends Rt{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new ln),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Tt),this._updateSoon=this._register(new Ms(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(is(()=>{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 jy(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Gs,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const d=this.updateIndex(Lm(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(Lm(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=d;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,C=g.range.endLineNumber;e.startLineNumber<=C+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new rj(p,C-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n,s)}}getCandidateStickyLinesIntersecting(e){var n,s;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(s=this._editor._getViewModel())==null?void 0:s.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};Gy=oj([YD(1,ki),YD(2,js)],Gy);var aj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bh=function(o,e){return function(t,i){e(t,i,o)}},Ky,wu;let Il=(wu=class extends Rt{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 Tt,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 ij(this._editor),this._stickyLineCandidateProvider=new Gy(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=bg.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(Fn(d,as.CONTEXT_MENU,async f=>{this._onContextMenu(Id(d),f)})),this._stickyScrollFocusedContextKey=q.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=q.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(I0(d));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(Fn(d,as.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Ky.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 Tt,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(J.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Tt),t=this._register(new bb(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 J(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(Sl(n,as.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(u===null)return;const f=new Ai(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!d){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;d=new Ai(u,1)}this._revealPosition(d)})),this._register(Sl(n,as.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(Fn(n,as.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:d,textElement:u}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(u.style.textDecoration==="underline")return;const f=new Gs;e.add(is(()=>f.dispose(!0)));let g;Zp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Ai(d.startLineNumber,d.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const C=u;g!==C?(e.clear(),g=C,g.style.textDecoration="underline",e.add(is(()=>{g.style.textDecoration="none"}))):g||(g=C,g.style.textDecoration="underline",e.add(is(()=>{g.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async s=>{if(s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(J5,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new ZL(e,t);this._contextMenuService.showContextMenu({menuId:si.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;V9(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=jc.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=bg.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 d=new Cg(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(d);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,C=f.nestingDepth;if(p-g>0){const b=(C-1)*e,y=C*e,w=this._editor.getBottomForLineNumber(g)-i,A=this._editor.getTopForLineNumber(p)-i,I=this._editor.getBottomForLineNumber(p)-i;if(b>A&&b<=I){s.push(g),r.push(p+1),n=I-y;break}else y>w&&y<=I&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new bg(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Ky=wu,wu.ID="store.contrib.stickyScrollController",wu);Il=Ky=aj([Bh(1,af),Bh(2,ki),Bh(3,on),Bh(4,js),Bh(5,gr),Bh(6,Ln)],Il);class lj extends Ao{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Si("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:S({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Si("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:ej.View,toggled:{condition:Ge.equals("config.editor.stickyScroll.enabled",!0),title:S("stickyScroll","Sticky Scroll"),mnemonicTitle:S({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:si.CommandPalette},{id:si.MenubarAppearanceMenu,group:"4_editor",order:3},{id:si.StickyScrollContext}]})}async run(e){const t=e.get(ss),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Ib=100;class cj extends la{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Si("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:S({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:Ge.and(Ge.has("config.editor.stickyScroll.enabled"),q.stickyScrollVisible),menu:[{id:si.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class dj extends la{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Si("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ib,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class uj extends la{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Si("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ib,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class hj extends la{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Si("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ib,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class fj extends la{constructor(){super({id:"editor.action.selectEditor",title:Si("selectEditor.title","Select Editor"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ib,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}hn(Il.ID,Il,1);Vn(lj);Vn(cj);Vn(uj);Vn(dj);Vn(hj);Vn(fj);var eF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ng=function(o,e){return function(t,i){e(t,i,o)}};class gj{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 Zy=class extends XL{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=ml.slice(t,i),s=ml.slice(t,0,i);let r=5;for(const a of ml.concat(n,s)){if(a.score===Mg.Default)continue;const d=new J(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),u=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new gj(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(cn.None)}return e}};Zy=eF([ng(5,Ab)],Zy);let Xy=class extends Rt{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 C;if(i.selectedSuggestionInfo)return;let s;for(const b of this._editorService.listCodeEditors())if(b.getModel()===e){s=b;break}if(!s)return;const r=s.getOption(90);if(Xh.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),d=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Xh.valueFor(r,d)!=="inline")return;let u=e.getWordAtPosition(t),f;if(u!=null&&u.word||(f=this._getTriggerCharacterInfo(e,t)),!(u!=null&&u.word)&&!f||(u||(u=e.getWordUntilPosition(t)),u.endColumn!==t.column))return;let g;const p=e.getValueInRange(new J(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((C=this._lastResult)!=null&&C.canBeReused(e,t.lineNumber,u))){const b=new RD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=b,this._lastResult.acquire(),g=this._lastResult}else{const b=await G9(this._languageFeatureService.completionProvider,e,t,new Jg(void 0,vv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let y;b.needsClipboard&&(y=await this._clipboardService.readText());const w=new oc(b.items,t.column,new RD(p,0),mv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);g=new Zy(e,t.lineNumber,u,w,b,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(cn.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(J.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}}};Xy=eF([ng(0,ki),ng(1,lf),ng(2,Ab),ng(3,Cs)],Xy);df(Xy);class pj extends vt{constructor(){super({id:"editor.action.forceRetokenize",label:S("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(pj);const B_=class B_ extends Ao{constructor(){super({id:B_.ID,title:Si({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:Si("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=!a8.getTabFocusMode();a8.setTabFocusMode(t),t?Nr(S("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Nr(S("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};B_.ID="editor.action.toggleTabFocusMode";let Yy=B_;Vn(Yy);var xj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QD=function(o,e){return function(t,i){e(t,i,o)}};let Qy=class extends Rt{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=ci(e,mi("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??Q_("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new oC(this.el,"click")),a=this._register(new oC(this.el,"keypress")),d=Ts.chain(a.event,g=>g.map(p=>new i9(p)).filter(p=>p.keyCode===3)),u=this._register(new oC(this.el,YL.Tap)).event;this._register(gA.addTarget(this.el));const f=Ts.any(r.event,d,u);this._register(f(g=>{this.enabled&&(Am.stop(g,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Qy=xj([QD(3,Pp),QD(4,da)],Qy);var tF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},iF=function(o,e){return function(t,i){e(t,i,o)}};const mj=26;let Jy=class extends Rt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(ew))}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,mj)}};Jy=tF([iF(1,on)],Jy);let ew=class extends Rt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(uf,{}),this.element=mi("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=mi("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=ci(this.element,mi("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(mi(`div${Rn.asCSSSelector(e.icon)}`));const n=ci(this.element,mi("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=ci(this.element,mi("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Qy,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=ci(this.element,mi("div.action-container"));this.actionBar=this._register(new Bg(s)),this.actionBar.push(this._register(new R0("banner.close","Close Banner",Rn.asClassName(RA),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};ew=tF([iF(0,on)],ew);var aS=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},u0=function(o,e){return function(t,i){e(t,i,o)}};const vj=ms("extensions-warning-message",Qi.warning,S("warningIcon","Icon shown with a warning message in the extensions editor."));var k0;let cp=(k0=class extends Rt{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:S("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new up};else if(s.ambiguousCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new qu};else if(s.invisibleCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new dp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:vj,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Jy,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=_j(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"?QL:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new tw(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new bj(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},k0.ID="editor.contrib.unicodeHighlighter",k0);cp=aS([u0(1,Nl),u0(2,JL),u0(3,on)],cp);function _j(o,e){return{nonBasicASCII:e.nonBasicASCII===rC?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===rC?!o:e.includeComments,includeStrings:e.includeStrings===rC?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let tw=class extends Rt{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ms(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:Tv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!Dk(t,e))return null;const i=t.getValueInRange(e.range);return{reason:sF(i,this._options),inComment:kk(t,e),inString:Ak(t,e)}}};tw=aS([u0(3,Nl)],tw);class bj extends Rt{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ms(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const s=Bk.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:Tv.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 Dk(t,e)?{reason:sF(i,this._options),inComment:kk(t,e),inString:Ak(t,e)}:null}}const nF=S("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let iw=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(cp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const d of t){const u=n.getDecorationInfo(d);if(!u)continue;const g=i.getValueInRange(d.range).codePointAt(0),p=zC(g);let C;switch(u.reason.kind){case 0:{QA(u.reason.confusableWith)?C=S("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,zC(u.reason.confusableWith.codePointAt(0))):C=S("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,zC(u.reason.confusableWith.codePointAt(0)));break}case 1:C=S("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:C=S("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(C))continue;r.add(C);const b={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},y=S("unicodeHighlight.adjustSettings","Adjust settings"),w=`command:${Mv.ID}?${encodeURIComponent(JSON.stringify(b))}`,A=new lo("",!0).appendMarkdown(C).appendText(" ").appendLink(w,y,nF);s.push(new Ir(this,d.range,[A],!1,a++))}return s}renderHoverParts(e,t){return ZM(e,t,this._editor,this._languageService,this._openerService)}};iw=aS([u0(1,ha),u0(2,da)],iw);function nw(o){return`U+${o.toString(16).padStart(4,"0")}`}function zC(o){let e=`\`${nw(o)}\``;return Fk.isInvisibleCharacter(o)||(e+=` "${`${Cj(o)}`}"`),e}function Cj(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function sF(o,e){return Bk.computeUnicodeHighlightReason(o,e)}const F_=class F_{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=_n.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}};F_.instance=new F_;let Tv=F_;class Ej extends vt{constructor(){super({id:qu.ID,label:S("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.includeComments,!1,2)}}class yj extends vt{constructor(){super({id:qu.ID,label:S("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.includeStrings,!1,2)}}const L_=class L_ extends vt{constructor(){super({id:L_.ID,label:S("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.ambiguousCharacters,!1,2)}};L_.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let qu=L_;const I_=class I_ extends vt{constructor(){super({id:I_.ID,label:S("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.invisibleCharacters,!1,2)}};I_.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let dp=I_;const P_=class P_ extends vt{constructor(){super({id:P_.ID,label:S("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.nonBasicASCII,!1,2)}};P_.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let up=P_;const T_=class T_ extends vt{constructor(){super({id:T_.ID,label:S("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,d=String.fromCodePoint(n),u=e.get(Tl),f=e.get(ss);function g(b){return Fk.isInvisibleCharacter(b)?S("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",nw(b)):S("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${nw(b)} "${d}"`)}const p=[];if(s.kind===0)for(const b of s.notAmbiguousInLocales)p.push({label:S("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',b),run:async()=>{Sj(f,[b])}});if(p.push({label:g(n),run:()=>wj(f,[n])}),a){const b=new Ej;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(r){const b=new yj;p.push({label:b.label,run:async()=>b.runAction(f)})}if(s.kind===0){const b=new qu;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===1){const b=new dp;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===2){const b=new up;p.push({label:b.label,run:async()=>b.runAction(f)})}else Dj(s);const C=await u.pick(p,{title:nF});C&&await C.run()}};T_.ID="editor.action.unicodeHighlight.showExcludeOptions";let Mv=T_;async function wj(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 Sj(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 Dj(o){throw new Error(`Unexpected value: ${o}`)}Ie(qu);Ie(dp);Ie(up);Ie(Mv);hn(cp.ID,cp,1);th.register(iw);var Aj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JD=function(o,e){return function(t,i){e(t,i,o)}};const oF="ignoreUnusualLineTerminators";function kj(o,e,t){o.setModelProperty(e.uri,oF,t)}function Bj(o,e){return o.getModelProperty(e.uri,oF)}var B0;let Rv=(B0=class extends Rt{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()||Bj(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:S("unusualLineTerminators.title","Unusual Line Terminators"),message:S("unusualLineTerminators.message","Detected unusual line terminators"),detail:S("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`.",Ua(e.uri)),primaryButton:S({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:S("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){kj(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},B0.ID="editor.contrib.unusualLineTerminatorsDetector",B0);Rv=Aj([JD(1,s9),JD(2,Cs)],Rv);hn(Rv.ID,Rv,1);var Fj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lj=function(o,e){return function(t,i){e(t,i,o)}};class e2{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,l8,!1).map(a=>({range:a.range,kind:Pm.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Nc,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const u=a.findMatches(r.word,!0,!1,!0,l8,!1).map(f=>({range:f.range,kind:Pm.Text}));u&&s.set(a.uri,u)}return s}}let sw=class extends Rt{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new e2)),this._register(e.multiDocumentHighlightProvider.register("*",new e2))}};sw=Fj([Lj(0,ki)],sw);var rF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mm=function(o,e){return function(t,i){e(t,i,o)}},fs,ow;const lS=new yn("hasWordHighlights",!1);function aF(o,e,t,i){const n=o.ordered(e);return Qw(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,bs)),s=>s!=null).then(s=>{if(s){const r=new Nc;return r.set(e.uri,s),r}return new Nc})}function Ij(o,e,t,i,n,s){const r=o.ordered(e);return Qw(r.map(a=>()=>{const d=s.filter(u=>t7(u)).filter(u=>i7(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,bs)}),a=>a!=null)}class lF{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=qs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new J(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 d=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!d&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(d=!0)}return d}cancel(){this.result.cancel()}}class Pj extends lF{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return aF(this._providers,e,t.getPosition(),n).then(s=>s||new Nc)}}class Tj extends lF{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return Ij(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Nc)}}function Mj(o,e,t,i,n){return new Pj(e,t,n,o)}function Rj(o,e,t,i,n,s){return new Tj(e,t,n,o,s)}Bo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(ki),n=await aF(i.documentHighlightProvider,e,t,cn.None);return n==null?void 0:n.get(e.uri)});var Rc;let rw=(Rc=class{constructor(e,t,i,n,s){this.toUnhook=new Tt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Nc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Oc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=lS.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=>{e7(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():fs.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var d,u;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((u=(d=fs.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":fs.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,fs.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(J.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);Nr(`${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);Nr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=fs.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),fs.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()||Sm(n.getModel().uri,e==null?void 0:e.uri))continue;const s=fs.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Uc.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)fs.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Eo.vscodeNotebookCell&&((i=(t=fs.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Eo.vscodeNotebookCell?(fs.query=null,this._run()):(n=fs.query)!=null&&n.modelInfo&&(fs.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)!==Eo.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===Eo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===Eo.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!Lk(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){fs.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){fs.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),fs.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!fs.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(Sm(this.editor.getModel().uri,(n=fs.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const d=this.decorations.getRanges();for(const u of d)if(u.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!fs.query||!fs.query.modelInfo||fs.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(fs.query.modelInfo.model,fs.query.modelInfo.selection,fs.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},qn)}}computeWithModel(e,t,i,n){return n.length?Rj(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):Mj(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=Uc.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=fs.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:wz(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),fs.storedDecorationIDs=fs.storedDecorationIDs.set(d,g),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},fs=Rc,Rc.storedDecorationIDs=new Nc,Rc.query=null,Rc);rw=fs=rF([mm(4,Cs)],rw);var Su;let Uc=(Su=class extends Rt{static get(e){return e.getContribution(ow.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new rw(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()}},ow=Su,Su.ID="editor.contrib.wordHighlighter",Su);Uc=ow=rF([mm(1,Ln),mm(2,ki),mm(3,Cs)],Uc);class cF extends vt{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Uc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Nj extends cF{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:S("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:lS,kbOpts:{kbExpr:q.editorTextFocus,primary:65,weight:100}})}}class Oj extends cF{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:S("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:lS,kbOpts:{kbExpr:q.editorTextFocus,primary:1089,weight:100}})}}class Hj extends vt{constructor(){super({id:"editor.action.wordHighlight.trigger",label:S("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Uc.get(t);n&&n.restoreViewState(!0)}}hn(Uc.ID,Uc,0);Ie(Nj);Ie(Oj);Ie(Hj);df(sw);class Pb extends ko{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new Ai(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(u=>n7.fromModelSelection(u))),d.length===1){const u=new Ai(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new $i(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new $i(t.lineNumber,t.column,t.lineNumber,t.column)}}class Zc extends Pb{_move(e,t,i,n,s){return Op.moveWordLeft(e,t,i,n,s)}}class Xc extends Pb{_move(e,t,i,n,s){return Op.moveWordRight(e,t,i,n)}}class Wj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class zj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Vj extends Zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Ge.and(q.textInputFocus,(e=Ge.and(ib,nb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class jj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class $j extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Uj extends Zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Ge.and(q.textInputFocus,(e=Ge.and(ib,nb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class qj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Gj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Kj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class Zj extends Xc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Ge.and(q.textInputFocus,(e=Ge.and(ib,nb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class Xj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class Yj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class Qj extends Xc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Ge.and(q.textInputFocus,(e=Ge.and(ib,nb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class Jj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class e$ extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class t$ extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Tb extends ko{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(js);if(!t.hasModel())return;const s=Qu(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),d=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(C=>{const b=this._delete({wordSeparators:s,model:r,selection:C,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:d,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new wp(b,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class cS extends Tb{_delete(e,t){const i=Op.deleteWordLeft(e,t);return i||new J(1,1,1,1)}}class dS extends Tb{_delete(e,t){const i=Op.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new J(n,s,n,s)}}class i$ extends cS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:q.writable})}}class n$ extends cS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:q.writable})}}class s$ extends cS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class o$ extends dS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:q.writable})}}class r$ extends dS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:q.writable})}}class a$ extends dS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class l$ extends vt{constructor(){super({id:"deleteInsideWord",precondition:q.writable,label:S("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=Op.deleteInsideWord(n,s,d);return new wp(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Pi(new Wj);Pi(new zj);Pi(new Vj);Pi(new jj);Pi(new $j);Pi(new Uj);Pi(new Kj);Pi(new Zj);Pi(new Xj);Pi(new Yj);Pi(new Qj);Pi(new Jj);Pi(new qj);Pi(new Gj);Pi(new e$);Pi(new t$);Pi(new i$);Pi(new n$);Pi(new s$);Pi(new o$);Pi(new r$);Pi(new a$);Ie(l$);class c$ extends Tb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=ob.deleteWordPartLeft(e);return i||new J(1,1,1,1)}}class d$ extends Tb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=ob.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new J(n,s,n,s)}}class dF extends Pb{_move(e,t,i,n,s){return ob.moveWordPartLeft(e,t,i,s)}}class u$ extends dF{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Qn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class h$ extends dF{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Qn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class uF extends Pb{_move(e,t,i,n,s){return ob.moveWordPartRight(e,t,i)}}class f$ extends uF{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class g$ extends uF{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Pi(new c$);Pi(new d$);Pi(new u$);Pi(new h$);Pi(new f$);Pi(new g$);const BS=class BS extends Rt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Ro.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new lo(S("editor.simple.readonly","Cannot edit in read-only input")):t=new lo(S("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};BS.ID="editor.contrib.readOnlyMessageController";let Nv=BS;hn(Nv.ID,Nv,2);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},t2=function(o,e){return function(t,i){e(t,i,o)}};let aw=class extends Rt{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Qo(this,void 0);const n=Pd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Pd("_textModel.onDidChangeContent",Ts.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Lp(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new r7),u=await this._outlineModelService.getOrCreate(this._textModel,d.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(s=>e.contains(s.range.startLineNumber)&&!e.contains(s.range.endLineNumber));return n.sort(o7(Tp(s=>s.range.endLineNumber-s.range.startLineNumber,Z_))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};aw=p$([t2(1,ki),t2(2,Qp)],aw);s7.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(aw,o));const FS=class FS extends Rt{constructor(e){super(),this.editor=e,this.widget=null,r1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new lw(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};FS.ID="editor.contrib.iPadShowKeyboard";let Ov=FS;const M_=class M_ extends Rt{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Fn(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Fn(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return M_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};M_.ID="editor.contrib.ShowKeyboardWidget";let lw=M_;hn(Ov.ID,Ov,3);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},i2=function(o,e){return function(t,i){e(t,i,o)}},cw,Du;let hp=(Du=class extends Rt{static get(e){return e.getContribution(cw.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(Y_.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 dw(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},cw=Du,Du.ID="editor.contrib.inspectTokens",Du);hp=cw=x$([i2(1,Ik),i2(2,ha)],hp);class m$ extends vt{constructor(){super({id:"editor.action.inspectTokens",label:d7.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=hp.get(t);i==null||i.launch()}}function v$(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 _$(o,e){const t=Y_.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>a7,tokenize:(n,s,r)=>c7(e,r),tokenizeEncoded:(n,s,r)=>l7(i,r)}}const R_=class R_ extends Rt{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=_$(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 R_._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let d=t.tokens1.length-1;d>=0;d--){const u=t.tokens1[d];if(e.column-1>=u.offset){i=d;break}}let n=0;for(let d=t.tokens2.length>>>1;d>=0;d--)if(e.column-1>=t.tokens2[d<<1]){n=d;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const d=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(d,u)}Dm(this._domNode,mi("h2.tm-token",void 0,v$(r),mi("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),ci(this._domNode,mi("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;ci(this._domNode,mi("table.tm-metadata-table",void 0,mi("tbody",void 0,mi("tr",void 0,mi("td.tm-metadata-key",void 0,"language"),mi("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"token type"),mi("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"font style"),mi("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"foreground"),mi("td.tm-metadata-value",void 0,`${a?xn.Format.CSS.formatHex(a.foreground):"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"background"),mi("td.tm-metadata-value",void 0,`${a?xn.Format.CSS.formatHex(a.background):"-?-"}`))))),ci(this._domNode,mi("hr.tokens-inspect-separator")),i<t.tokens1.length&&ci(this._domNode,mi("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=Y_.getColorMap(),i=Tf.getLanguageId(e),n=Tf.getTokenType(e),s=Tf.getFontStyle(e),r=Tf.getForeground(e),a=Tf.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]}}};R_._ID="editor.contrib.inspectTokensWidget";let dw=R_;hn(hp.ID,hp,4);Ie(m$);var b$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},n2=function(o,e){return function(t,i){e(t,i,o)}},sg,Au;let uw=(Au=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ca.as(Hp.Quickaccess)}provide(e){const t=new Tt;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(sg.PREFIX.length));n&&n.prefix&&n.prefix!==sg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==sg.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:S("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},sg=Au,Au.PREFIX="?",Au);uw=sg=b$([n2(0,Tl),n2(1,As)],uw);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:uw,prefix:"",helpEntries:[{description:u7.helpQuickAccessActionLabel}]});class hF{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new Tt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new er);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 Tt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=Pk(s);if(a){let d=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{d=s.saveViewState()??void 0})),r.restoreViewState=()=>{d&&s===this.activeTextEditorControl&&s.restoreViewState(d)},n.add(Tk(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(is(()=>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&&P0(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return Lk(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:Fs(HA),position:Ha.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 N_=class N_ extends hF{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=S("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Rt.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Tt;s.add(t.onDidAccept(d=>{const[u]=t.selectedItems;if(u){if(!this.isValidLineNumber(n,u.lineNumber))return;this.gotoLocation(e,{range:this.toRange(u.lineNumber,u.column),keyMods:t.keyMods,preserveFocus:d.inBackground}),d.inBackground||t.hide()}}));const r=()=>{const d=this.parsePosition(n,t.value.trim().substr(N_.PREFIX.length)),u=this.getPickLabel(n,d.lineNumber,d.column);if(t.items=[{lineNumber:d.lineNumber,column:d.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,d.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(d.lineNumber,d.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=Pk(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(is(()=>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)?S("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):S("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?S("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):S("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}};N_.PREFIX=":";let hw=N_;var C$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},E$=function(o,e){return function(t,i){e(t,i,o)}};let fp=class extends hw{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Ts.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};fp=C$([E$(0,Cs)],fp);var ku;let fF=(ku=class extends vt{constructor(){super({id:ku.ID,label:Mk.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Tl).quickAccess.show(fp.PREFIX)}},ku.ID="editor.action.gotoLine",ku);Ie(fF);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:fp,prefix:fp.PREFIX,helpEntries:[{description:Mk.gotoLineActionLabel,commandId:fF.ID}]});const gF=[void 0,[]];function VC(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?y$(o,n.values,t,i):pF(o,e,t,i)}function y$(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=pF(o,r,t,i);if(typeof a!="number")return gF;n+=a,s.push(...d)}return[n,w$(s)]}function pF(o,e,t,i){const n=sk(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],X_(n)]:gF}function w$(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!S$(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 S$(o,e){return!(o.end<e.start||e.end<o.start)}function s2(o){return o.startsWith('"')&&o.endsWith('"')}const xF=" ";function fw(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=o2(o),s=t.indexOf(g1)>=0,r=s2(o);let a;const d=o.split(xF);if(d.length>1)for(const u of d){const f=s2(u),{pathNormalized:g,normalized:p,normalizedLowercase:C}=o2(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:C,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function o2(o){let e;z_?e=o.replace(/\//g,g1):e=o.replace(/\\/g,g1);const t=h7(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function r2(o){return Array.isArray(o)?fw(o.map(e=>e.original).join(xF)):fw(o.original)}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},a2=function(o,e){return function(t,i){e(t,i,o)}},vm,ia;let zd=(ia=class extends hF{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,S("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Rt.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):Rt.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Tt;return this.provideLabelPick(i,S("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 V_,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(is(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new Tt;a.add(i.onDidAccept(p=>{var b;const[C]=i.selectedItems;C&&C.range&&(this.gotoLocation(e,{range:C.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(b=s==null?void 0:s.handleAccept)==null||b.call(s,C),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 d=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new Gs(n),i.busy=!0;try{const C=fw(i.value.substr(vm.PREFIX.length).trim()),b=await this.doGetSymbolPicks(d,C,void 0,u.token,t);if(n.isCancellationRequested)return;if(b.length>0){if(i.items=b,p&&C.original.length===0){const y=x7(b,w=>!!(w.type!=="separator"&&w.range&&J.containsPosition(w.range.decoration,p)));y&&(i.activeItems=[y])}}else C.original.length>0?this.provideLabelPick(i,S("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,S("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>f(void 0))),f((g=r.getSelection())==null?void 0:g.getPosition()),a.add(i.onDidChangeActive(()=>{const[p]=i.activeItems;p&&p.range&&(r.revealRangeInCenter(p.range.selection,0),this.addDecorations(r,p.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,s){var w,A;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(vm.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=r2(t.values[0]),f=r2(t.values.slice(1))):u=t;let g;const p=(A=(w=this.options)==null?void 0:w.openSideBySideDirection)==null?void 0:A.call(w);p&&(g=[{iconClass:p==="right"?Rn.asClassName(Qi.splitHorizontal):Rn.asClassName(Qi.splitVertical),tooltip:p==="right"?S("openToSide","Open to the Side"):S("openToBottom","Open to the Bottom")}]);const C=[];for(let I=0;I<r.length;I++){const M=r[I],R=f7(M.name),P=`$(${g7.toIcon(M.kind).id}) ${R}`,V=P.length-R.length;let j=M.containerName;i!=null&&i.extraContainerLabel&&(j?j=`${i.extraContainerLabel} • ${j}`:j=i.extraContainerLabel);let ee,ae,ge,X;if(t.original.length>d){let be=!1;if(u!==t&&([ee,ae]=VC(P,{...t,values:void 0},d,V),typeof ee=="number"&&(be=!0)),typeof ee!="number"&&([ee,ae]=VC(P,u,d,V),typeof ee!="number"))continue;if(!be&&f){if(j&&f.original.length>0&&([ge,X]=VC(j,f)),typeof ge!="number")continue;typeof ee=="number"&&(ee+=ge)}}const de=M.tags&&M.tags.indexOf(1)>=0;C.push({index:I,kind:M.kind,score:ee,label:P,ariaLabel:p7(M.name,M.kind),description:j,highlights:de?void 0:{label:ae,description:X},range:{selection:J.collapseToStart(M.selectionRange),decoration:M.range},uri:s.uri,symbolName:R,strikethrough:de,buttons:g})}const b=C.sort((I,M)=>a?this.compareByKindAndScore(I,M):this.compareByScore(I,M));let y=[];if(a){let P=function(){M&&typeof I=="number"&&R>0&&(M.label=Gw($C[I]||jC,R))},I,M,R=0;for(const V of b)I!==V.kind?(P(),I=V.kind,R=1,M={type:"separator"},y.push(M)):R++,y.push(V);P()}else b.length>0&&(y=[{label:S("symbols","symbols ({0})",C.length),type:"separator"},...b]);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=$C[e.kind]||jC,n=$C[t.kind]||jC,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()}},vm=ia,ia.PREFIX="@",ia.SCOPE_PREFIX=":",ia.PREFIX_BY_CATEGORY=`${ia.PREFIX}${ia.SCOPE_PREFIX}`,ia);zd=vm=D$([a2(0,ki),a2(1,Qp)],zd);const jC=S("property","properties ({0})"),$C={5:S("method","methods ({0})"),11:S("function","functions ({0})"),8:S("_constructor","constructors ({0})"),12:S("variable","variables ({0})"),4:S("class","classes ({0})"),22:S("struct","structs ({0})"),23:S("event","events ({0})"),24:S("operator","operators ({0})"),10:S("interface","interfaces ({0})"),2:S("namespace","namespaces ({0})"),3:S("package","packages ({0})"),25:S("typeParameter","type parameters ({0})"),1:S("modules","modules ({0})"),6:S("property","properties ({0})"),9:S("enum","enumerations ({0})"),21:S("enumMember","enumeration members ({0})"),14:S("string","strings ({0})"),0:S("file","files ({0})"),17:S("array","arrays ({0})"),15:S("number","numbers ({0})"),16:S("boolean","booleans ({0})"),18:S("object","objects ({0})"),19:S("key","keys ({0})"),7:S("field","fields ({0})"),13:S("constant","constants ({0})")};var A$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},UC=function(o,e){return function(t,i){e(t,i,o)}};let gw=class extends zd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Ts.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};gw=A$([UC(0,Cs),UC(1,ki),UC(2,Qp)],gw);const O_=class O_ extends vt{constructor(){super({id:O_.ID,label:p1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:q.hasDocumentSymbolProvider,kbOpts:{kbExpr:q.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Tl).quickAccess.show(zd.PREFIX,{itemActivation:m7.NONE})}};O_.ID="editor.action.quickOutline";let Hv=O_;Ie(Hv);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:gw,prefix:zd.PREFIX,helpEntries:[{description:p1.quickOutlineActionLabel,prefix:zd.PREFIX,commandId:Hv.ID},{description:p1.quickOutlineByCategoryActionLabel,prefix:zd.PREFIX_BY_CATEGORY}]});function k$(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class yg{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 d of a.chunks){const u=this.computeSimilarityScore(d,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return k$(yg.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=yg.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 d=i.get(s);typeof d!="number"&&(d=this.computeIdf(s),i.set(s,d));const u=a*d;n+=u*r}return n}computeEmbedding(e){const t=yg.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 B$(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 Qh;(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"})(Qh||(Qh={}));function qC(o){return Array.isArray(o.items)}function l2(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class F$ extends Rt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new Tt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new er),a=async()=>{var w;const f=r.value=new Tt;s==null||s.dispose(!0),e.busy=!1,s=new Gs(t);const g=s.token;let p=e.value.substring(this.prefix.length);(w=this.options)!=null&&w.shouldSkipTrimPickFilter||(p=p.trim());const C=this._getPicks(p,f,g,i),b=(A,I)=>{var P;let M,R;if(qC(A)?(M=A.items,R=A.active):M=A,M.length===0){if(I)return!1;(p.length>0||e.hideInput)&&((P=this.options)!=null&&P.noResultsPick)&&(v7(this.options.noResultsPick)?M=[this.options.noResultsPick(p)]:M=[this.options.noResultsPick])}return e.items=M,R&&(e.activeItems=[R]),!0},y=async A=>{let I=!1,M=!1;await Promise.all([(async()=>{typeof A.mergeDelay=="number"&&(await eb(A.mergeDelay),g.isCancellationRequested)||M||(I=b(A.picks,!0))})(),(async()=>{e.busy=!0;try{const R=await A.additionalPicks;if(g.isCancellationRequested)return;let P,V;qC(A.picks)?(P=A.picks.items,V=A.picks.active):P=A.picks;let j,ee;if(qC(R)?(j=R.items,ee=R.active):j=R,j.length>0||!I){let ae;if(!V&&!ee){const ge=e.activeItems[0];ge&&P.indexOf(ge)!==-1&&(ae=ge)}b({items:[...P,...j],active:V||ee||ae})}}finally{g.isCancellationRequested||(e.busy=!1),M=!0}})()])};if(C!==null)if(l2(C))await y(C);else if(!(C instanceof Promise))b(C);else{e.busy=!0;try{const A=await C;if(g.isCancellationRequested)return;l2(A)?await y(A):b(A)}finally{g.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(f=>{var p;if(i!=null&&i.handleAccept){f.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[g]=e.selectedItems;typeof(g==null?void 0:g.accept)=="function"&&(f.inBackground||e.hide(),g.accept(e.keyMods,f))}));const d=async(f,g)=>{var C;if(typeof g.trigger!="function")return;const p=((C=g.buttons)==null?void 0:C.indexOf(f))??-1;if(p>=0){const b=g.trigger(p,e.keyMods),y=typeof b=="number"?b:await b;if(t.isCancellationRequested)return;switch(y){case Qh.NO_ACTION:break;case Qh.CLOSE_PICKER:e.hide();break;case Qh.REFRESH_PICKER:a();break;case Qh.REMOVE_ITEM:{const w=e.items.indexOf(g);if(w!==-1){const A=e.items.slice(),I=A.splice(w,1),M=e.activeItems.filter(P=>P!==I[0]),R=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=A,M&&(e.activeItems=M),e.keepScrollPosition=R}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>d(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>d(f,g))),n}}var mF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rc=function(o,e){return function(t,i){e(t,i,o)}},xd,ys,Ma;let pw=(Ma=class extends F${constructor(e,t,i,n,s,r){super(xd.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(xw)),this.options=e}async _getPicks(e,t,i,n){var C,b;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Tk(()=>{const y=new yg;y.updateDocuments(s.map(A=>({key:A.commandId,textChunks:[this.getTfIdfChunk(A)]})));const w=y.calculateScores(e,i);return B$(w).filter(A=>A.score>xd.TFIDF_THRESHOLD).slice(0,xd.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const w=xd.WORD_FILTER(e,y.label)??void 0,A=y.commandAlias?xd.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(w||A)y.highlights={label:w,detail:this.options.showAlias?A:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const I=r();if(i.isCancellationRequested)return[];const M=I.find(R=>R.key===y.commandId);M&&(y.tfIdfScore=M.score,a.push(y))}}const d=new Map;for(const y of a){const w=d.get(y.label);w?(y.description=y.commandId,w.description=w.commandId):d.set(y.label,y)}a.sort((y,w)=>{if(y.tfIdfScore&&w.tfIdfScore)return y.tfIdfScore===w.tfIdfScore?y.label.localeCompare(w.label):w.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(w.tfIdfScore)return-1;const A=this.commandsHistory.peek(y.commandId),I=this.commandsHistory.peek(w.commandId);if(A&&I)return A>I?-1:1;if(A)return-1;if(I)return 1;if(this.options.suggestedCommandIds){const M=this.options.suggestedCommandIds.has(y.commandId),R=this.options.suggestedCommandIds.has(w.commandId);if(M&&R)return 0;if(M)return-1;if(R)return 1}return y.label.localeCompare(w.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const w=a[y];y===0&&this.commandsHistory.peek(w.commandId)&&(u.push({type:"separator",label:S("recentlyUsed","recently used")}),f=!0),g&&w.tfIdfScore!==void 0&&(u.push({type:"separator",label:S("suggested","similar commands")}),g=!1),p&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&((C=this.options.suggestedCommandIds)!=null&&C.has(w.commandId))&&(u.push({type:"separator",label:S("commonlyUsed","commonly used")}),f=!0,p=!1),f&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&!((b=this.options.suggestedCommandIds)!=null&&b.has(w.commandId))&&(u.push({type:"separator",label:S("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(w,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var A;const y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const w=y.map(I=>this.toCommandPick(I,n));return g&&((A=w[0])==null?void 0:A.type)!=="separator"&&w.unshift({type:"separator",label:S("suggested","similar commands")}),w})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?S("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){qc(r)||this.dialogService.error(S("canNotRun","Command '{0}' resulted in an error",e.label),Um(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}},xd=Ma,Ma.PREFIX=">",Ma.TFIDF_THRESHOLD=.5,Ma.TFIDF_MAX_RESULTS=5,Ma.WORD_FILTER=_7(E7,C7,b7),Ma);pw=xd=mF([rc(1,on),rc(2,As),rc(3,Vs),rc(4,ua),rc(5,s9)],pw);var na;let xw=(na=class extends Rt{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===Hw.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=ys.getConfiguredCommandHistoryLength(this.configurationService),ys.cache&&ys.cache.limit!==this.configuredCommandsHistoryLength&&(ys.cache.limit=this.configuredCommandsHistoryLength,ys.hasChanges=!0))}load(){const e=this.storageService.get(ys.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ys.cache=new Bp(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))}ys.counter=this.storageService.getNumber(ys.PREF_KEY_COUNTER,0,ys.counter)}push(e){ys.cache&&(ys.cache.set(e,ys.counter++),ys.hasChanges=!0)}peek(e){var t;return(t=ys.cache)==null?void 0:t.peek(e)}saveState(){if(!ys.cache||!ys.hasChanges)return;const e={usesLRU:!0,entries:[]};ys.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ys.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ys.PREF_KEY_COUNTER,ys.counter,0,0),ys.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:ys.DEFAULT_COMMANDS_HISTORY_LENGTH}},ys=na,na.DEFAULT_COMMANDS_HISTORY_LENGTH=50,na.PREF_KEY_CACHE="commandPalette.mru.cache",na.PREF_KEY_COUNTER="commandPalette.mru.counter",na.counter=1,na.hasChanges=!1,na);xw=ys=mF([rc(0,Gc),rc(1,ss),rc(2,Yu)],xw);class L$ extends pw{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&&(y7(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:w7(n.label)||n.id})}return t}}var I$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fh=function(o,e){return function(t,i){e(t,i,o)}};let gp=class extends L${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[]}};gp=I$([Fh(0,on),Fh(1,Cs),Fh(2,As),Fh(3,Vs),Fh(4,ua),Fh(5,s9)],gp);const H_=class H_ extends vt{constructor(){super({id:H_.ID,label:Rk.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Tl).quickAccess.show(gp.PREFIX)}};H_.ID="editor.action.quickCommand";let Wv=H_;Ie(Wv);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:gp,prefix:gp.PREFIX,helpEntries:[{description:Rk.quickCommandHelp,commandId:Wv.ID}]});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},Lh=function(o,e){return function(t,i){e(t,i,o)}};let mw=class extends Vu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};mw=P$([Lh(1,Ln),Lh(2,Cs),Lh(3,mo),Lh(4,on),Lh(5,Gc),Lh(6,ss)],mw);hn(Vu.ID,mw,4);class T$ extends vt{constructor(){super({id:"editor.action.toggleHighContrast",label:S7.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(Ik),n=i.getColorTheme();Fg(n.type)?(i.setTheme(this._originalThemeName||(c8(n.type)?D7:A7)),this._originalThemeName=null):(i.setTheme(c8(n.type)?k7:B7),this._originalThemeName=n.themeName)}}Ie(T$);const vF="she-theme";function M$(){return localStorage.getItem(vF)??"system"}function R$(o){localStorage.setItem(vF,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o),window.dispatchEvent(new CustomEvent("she:theme-changed"))}function Jh(){const o=document.documentElement.getAttribute("data-theme");return o==="light"?"vs":o==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches?"vs-dark":"vs"}let vw=null;function N$(o){vw=o}function O$(o={}){return{"Content-Type":"application/json",...o}}async function qt(o,e,t){const i=await fetch(e,{method:o,headers:O$(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw vw&&vw(),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 H$(){return await(await fetch("/she/auth/mode")).json()}async function W$(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 z$(){await fetch("/she/auth/logout",{method:"POST"})}async function V$(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 j$(){return qt("GET","/she/scripts/tree")}function Vx(o){return qt("GET",`/she/scripts/${o}`)}function Ql(o,e){return qt("PUT",`/she/scripts/${o}`,{content:e})}function c2(o,e={}){const t=new URLSearchParams({q:o});return e.regex&&t.set("regex","true"),e.caseSensitive&&t.set("caseSensitive","true"),e.mode&&t.set("mode",e.mode),qt("GET",`/she/scripts/search?${t}`)}function jx(o){return qt("DELETE",`/she/scripts/${o}`)}function d2(o,e){return qt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function $$(o){return qt("POST","/she/scripts/mkdir",{path:o})}function U$(){return qt("GET","/she/git/status")}function e0(){return qt("GET","/she/status")}function _F(){return qt("POST","/she/restart")}function q$(){return qt("POST","/she/update")}function G$(){return qt("POST","/she/check-update")}function K$(o,e){return qt("POST","/she/git/commit",{path:o,message:e})}function u2(o,e){return qt("POST","/she/git/commit",{files:o,message:e})}function h2(o){return qt("POST","/she/git/commit",{message:o})}function $x(o){return qt("POST","/she/git/push",{remote:o})}function Z$(o,e){return qt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function X$(o,e){return qt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Pl(){return qt("GET","/she/config")}function pp(o){return qt("PUT","/she/config",o)}function oh(o){return o.split("/").map(encodeURIComponent).join("/")}function bF(){return qt("GET","/she/db/docs")}function Y$(o){return qt("GET",`/she/db/docs/${oh(o)}`)}function f2(o,e){return qt("PUT",`/she/db/docs/${oh(o)}`,e)}function Q$(o){return qt("DELETE",`/she/db/docs/${oh(o)}`)}function CF(){return qt("GET","/she/db/views")}function J$(o){return qt("GET",`/she/db/views/${oh(o)}`)}function g2(o,e){return qt("PUT",`/she/db/views/${oh(o)}`,e)}function eU(o){return qt("DELETE",`/she/db/views/${oh(o)}`)}function tU(){return qt("GET","/she/deps")}function iU(o){return qt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function nU(o,e){return qt("POST","/she/deps/install",{name:o,version:null})}function sU(o){return qt("POST","/she/deps/remove",{name:o})}function oU(o){return qt("POST","/she/deps/update",{name:o})}function EF(){return qt("GET","/she/deps/outdated")}function rU(){return qt("POST","/she/deps/check-outdated")}function aU(){return qt("GET","/she/ai/conversations")}function p2(o){return qt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function lU(o,e,t){return qt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function cU(o){return qt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function GC(o){return qt("GET",`/she/db/views/${oh(o)}/result`)}function uS(){return qt("GET","/she/matter/devices")}function _m(o){return qt("GET",`/she/matter/devices/${o}`)}function dU(o){return qt("POST","/she/matter/commission",o)}function uU(o){return qt("DELETE",`/she/matter/devices/${o}`)}function hU(o,e,t,i,n){return qt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function yF(){return qt("GET","/she/mqtt/state")}function x2(o,e,t=!1,i=0){return qt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function wF(){return qt("GET","/she/ai/config")}function SF(){return qt("GET","/she/ai/models")}function _w(o){return qt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function DF(o){return qt("POST","/she/ai/prompt",o)}async function AF(o,e,t,i){const s=await fetch("/she/ai/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t});if(!s.ok){const u=await s.json().catch(()=>({error:s.statusText}));throw new Error(u.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let d="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;d+=a.decode(f,{stream:!0});const g=d.split(`
|
|
79
|
-
`);d=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const C=p.slice(6).trim();if(C==="[DONE]")return;try{const b=JSON.parse(C);if(b.error)throw new Error(b.error);if(b.type==="tool_call"||b.type==="tool_result"){i==null||i({type:b.type,name:b.name??"",args:b.args,content:b.content});continue}b.token&&e(b.token)}catch(b){if(b instanceof SyntaxError)continue;throw b}}}}finally{r.releaseLock()}}function Mb(){return qt("GET","/she/broker/status")}function fU(){return qt("GET","/she/broker/local/check")}function gU(){return qt("GET","/she/broker/ip-addresses")}function hS(){return qt("GET","/she/broker/config")}function pU(o=500){return qt("GET",`/she/broker/logs?limit=${o}`)}function kF(o){return qt("PUT","/she/broker/config",o)}function BF(){return qt("POST","/she/broker/reload")}function xU(){return qt("POST","/she/broker/restart")}function mU(){return qt("POST","/she/broker/wizard/deactivate")}function vU(){return qt("POST","/she/broker/wizard/reinit")}function _U(){return qt("GET","/she/broker/wizard/diagnose")}function bU(){return qt("GET","/she/broker/users")}function CU(o,e){return qt("POST","/she/broker/users",{username:o,password:e})}function EU(o){return qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function yU(o,e){return qt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function wU(o,e){return qt("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function SU(o,e){return qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function FF(){return qt("GET","/she/broker/roles")}function DU(o){return qt("POST","/she/broker/roles",{rolename:o})}function AU(o){return qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function kU(o,e){return qt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function BU(o,e,t){return qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function FU(){return qt("GET","/she/broker/groups")}function LU(o){return qt("POST","/she/broker/groups",{groupname:o})}function IU(o){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function m2(o,e){return qt("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function v2(o,e){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function PU(o,e){return qt("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function TU(o,e){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function MU(){return qt("GET","/she/broker/acl-defaults")}function RU(o){return qt("PUT","/she/broker/acl-defaults",{acls:o})}function NU(o){return qt("GET",`/she/broker/acl-check?${new URLSearchParams({topic:o})}`)}function OU(){return qt("GET","/she/broker/anonymous-group")}function HU(o){return qt("PUT","/she/broker/anonymous-group",{groupname:o})}function WU(){return qt("GET","/she/broker/ca/server")}function zU(o){return qt("POST","/she/broker/ca/server/generate",o)}function VU(o){return qt("POST","/she/broker/ca/server/csr",o)}function KC(o){return qt("POST","/she/broker/ca/server/import",o)}function jU(){return qt("GET","/she/broker/ca/trusted")}function $U(o){return qt("POST","/she/broker/ca/trusted",{pem:o})}function UU(o){return qt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}function qU(o){return qt("GET",`/she/broker/fs/complete?path=${encodeURIComponent(o)}`)}function GU(o){return qt("POST","/she/broker/ca/server/pathlink",o)}function KU(o){return qt("POST","/she/broker/ca/trusted/addpath",{path:o})}const ZU=2e3,bm=[],XU=500,Cm=[];function LF(){return bm.slice()}function YU(){return Cm.slice()}let xc=null;const zv=new Set,t0=new Map;let bw=null,Em=null;function fS(){return Em||(Em=fetch("/she/logs/history").then(o=>o.ok?o.json():[]).catch(()=>[])),Em}function xp(){let o=zv.size;for(const e of t0.values())o+=e.size;return o}function QU(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function gS(){if(xc)return;fS();const o=QU(),e=new WebSocket(o);xc=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};bm.length>=ZU&&bm.shift(),bm.push(s),zv.forEach(r=>r(s))}if(i.type==="brokerLog"){const s={level:i.level,msg:i.msg,ts:i.ts};Cm.length>=XU&&Cm.shift(),Cm.push(s)}const n=t0.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{xc===e&&(xc=null,Em=null),xp()>0&&(bw=setTimeout(gS,3e3))},e.onerror=()=>{e.close()}}function IF(){bw&&clearTimeout(bw),xc==null||xc.close(),xc=null}function pS(o){return zv.add(o),xp()===1&&gS(),()=>{zv.delete(o),xp()===0&&IF()}}function Xo(o,e){return t0.has(o)||t0.set(o,new Set),t0.get(o).add(e),xp()===1&&gS(),()=>{var t;(t=t0.get(o))==null||t.delete(e),xp()===0&&IF()}}var JU=B('<button class="cancel svelte-1eh8v5n">Cancel</button>'),eq=B('<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 Yc(o,e){$s(e,!0);let t=F(!1),i=F(""),n=F("Confirm"),s=F(!1),r=F(!1),a=null;function d(y,w){return m(i,y,!0),m(n,(w==null?void 0:w.confirm)??(w!=null&&w.alert?"OK":"Confirm"),!0),m(s,(w==null?void 0:w.danger)??!1,!0),m(r,(w==null?void 0:w.alert)??!1,!0),m(t,!0),new Promise(A=>a=A)}function u(y){m(t,!1),a==null||a(y),a=null}function f(y){c(t)&&(y.key==="Escape"&&u(!1),y.key==="Enter"&&u(!0))}var g={show:d},p=Ss();xs("keydown",Rd,f);var C=bt(p);{var b=y=>{var w=eq(),A=bt(w),I=v(A,2),M=_(I),R=_(M),P=v(M,2),V=_(P);{var j=X=>{var de=JU();U("click",de,()=>u(!1)),D(X,de)};H(V,X=>{c(r)||X(j)})}var ee=v(V,2);let ae;var ge=_(ee);z(()=>{W(R,c(i)),ae=At(ee,1,"svelte-1eh8v5n",null,ae,{danger:c(s)}),W(ge,c(n))}),U("click",A,()=>u(!1)),U("click",ee,()=>u(!0)),D(y,w)};H(C,y=>{c(t)&&y(b)})}return D(o,p),Us(g)}Ys(["click"]);var tq=B('<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 iq(o,e){$s(e,!0);let t=F(!1),i=F(""),n=F(""),s=F("OK"),r=F(""),a=null,d=F(void 0);function u(A,I){return m(i,A,!0),m(n,(I==null?void 0:I.placeholder)??"",!0),m(s,(I==null?void 0:I.confirm)??"OK",!0),m(r,(I==null?void 0:I.initial)??"",!0),m(t,!0),setTimeout(()=>{if(c(d)){c(d).focus();const M=c(d).value.length;c(d).setSelectionRange(M,M)}},0),new Promise(M=>a=M)}function f(){const A=c(r).trim();A&&(m(t,!1),a==null||a(A),a=null,m(r,""))}function g(){m(t,!1),a==null||a(null),a=null,m(r,"")}function p(A){c(t)&&A.key==="Escape"&&(A.stopPropagation(),g())}var C={show:u},b=Ss();xs("keydown",Rd,p);var y=bt(b);{var w=A=>{var I=tq(),M=bt(I),R=v(M,2),P=_(R),V=_(P),j=v(P,2);gs(j,de=>m(d,de),()=>c(d));var ee=v(j,2),ae=_(ee),ge=v(ae,2),X=_(ge);z(de=>{W(V,c(i)),an(j,"placeholder",c(n)),ge.disabled=de,W(X,c(s))},[()=>!c(r).trim()]),U("click",M,g),U("keydown",j,de=>{de.key==="Enter"&&(de.preventDefault(),f())}),Wt(j,()=>c(r),de=>m(r,de)),U("click",ae,g),U("click",ge,f),D(A,I)};H(y,A=>{c(t)&&A(w)})}return D(o,b),Us(C)}Ys(["click","keydown"]);function xS(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var ZC,_2;function nq(){if(_2)return ZC;_2=1;function o(K){return K instanceof Map?K.clear=K.delete=K.set=function(){throw new Error("map is read-only")}:K instanceof Set&&(K.add=K.clear=K.delete=function(){throw new Error("set is read-only")}),Object.freeze(K),Object.getOwnPropertyNames(K).forEach(Be=>{const Ye=K[Be],st=typeof Ye;(st==="object"||st==="function")&&!Object.isFrozen(Ye)&&o(Ye)}),K}class e{constructor(Be){Be.data===void 0&&(Be.data={}),this.data=Be.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(K){return K.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(K,...Be){const Ye=Object.create(null);for(const st in K)Ye[st]=K[st];return Be.forEach(function(st){for(const Gt in st)Ye[Gt]=st[Gt]}),Ye}const n="</span>",s=K=>!!K.scope,r=(K,{prefix:Be})=>{if(K.startsWith("language:"))return K.replace("language:","language-");if(K.includes(".")){const Ye=K.split(".");return[`${Be}${Ye.shift()}`,...Ye.map((st,Gt)=>`${st}${"_".repeat(Gt+1)}`)].join(" ")}return`${Be}${K}`};class a{constructor(Be,Ye){this.buffer="",this.classPrefix=Ye.classPrefix,Be.walk(this)}addText(Be){this.buffer+=t(Be)}openNode(Be){if(!s(Be))return;const Ye=r(Be.scope,{prefix:this.classPrefix});this.span(Ye)}closeNode(Be){s(Be)&&(this.buffer+=n)}value(){return this.buffer}span(Be){this.buffer+=`<span class="${Be}">`}}const d=(K={})=>{const Be={children:[]};return Object.assign(Be,K),Be};class u{constructor(){this.rootNode=d(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Be){this.top.children.push(Be)}openNode(Be){const Ye=d({scope:Be});this.add(Ye),this.stack.push(Ye)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Be){return this.constructor._walk(Be,this.rootNode)}static _walk(Be,Ye){return typeof Ye=="string"?Be.addText(Ye):Ye.children&&(Be.openNode(Ye),Ye.children.forEach(st=>this._walk(Be,st)),Be.closeNode(Ye)),Be}static _collapse(Be){typeof Be!="string"&&Be.children&&(Be.children.every(Ye=>typeof Ye=="string")?Be.children=[Be.children.join("")]:Be.children.forEach(Ye=>{u._collapse(Ye)}))}}class f extends u{constructor(Be){super(),this.options=Be}addText(Be){Be!==""&&this.add(Be)}startScope(Be){this.openNode(Be)}endScope(){this.closeNode()}__addSublanguage(Be,Ye){const st=Be.root;Ye&&(st.scope=`language:${Ye}`),this.add(st)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(K){return K?typeof K=="string"?K:K.source:null}function p(K){return y("(?=",K,")")}function C(K){return y("(?:",K,")*")}function b(K){return y("(?:",K,")?")}function y(...K){return K.map(Ye=>g(Ye)).join("")}function w(K){const Be=K[K.length-1];return typeof Be=="object"&&Be.constructor===Object?(K.splice(K.length-1,1),Be):{}}function A(...K){return"("+(w(K).capture?"":"?:")+K.map(st=>g(st)).join("|")+")"}function I(K){return new RegExp(K.toString()+"|").exec("").length-1}function M(K,Be){const Ye=K&&K.exec(Be);return Ye&&Ye.index===0}const R=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function P(K,{joinWith:Be}){let Ye=0;return K.map(st=>{Ye+=1;const Gt=Ye;let hi=g(st),yt="";for(;hi.length>0;){const ht=R.exec(hi);if(!ht){yt+=hi;break}yt+=hi.substring(0,ht.index),hi=hi.substring(ht.index+ht[0].length),ht[0][0]==="\\"&&ht[1]?yt+="\\"+String(Number(ht[1])+Gt):(yt+=ht[0],ht[0]==="("&&Ye++)}return yt}).map(st=>`(${st})`).join(Be)}const V=/\b\B/,j="[a-zA-Z]\\w*",ee="[a-zA-Z_]\\w*",ae="\\b\\d+(\\.\\d+)?",ge="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",X="\\b(0b[01]+)",de="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",be=(K={})=>{const Be=/^#![ ]*\//;return K.binary&&(K.begin=y(Be,/.*\b/,K.binary,/\b.*/)),i({scope:"meta",begin:Be,end:/$/,relevance:0,"on:begin":(Ye,st)=>{Ye.index!==0&&st.ignoreMatch()}},K)},re={begin:"\\\\[\\s\\S]",relevance:0},ue={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[re]},Ae={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[re]},Me={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/},ve=function(K,Be,Ye={}){const st=i({scope:"comment",begin:K,end:Be,contains:[]},Ye);st.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 Gt=A("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 st.contains.push({begin:y(/[ ]+/,"(",Gt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),st},Oe=ve("//","$"),Ue=ve("/\\*","\\*/"),Ce=ve("#","$"),pt={scope:"number",begin:ae,relevance:0},Mt={scope:"number",begin:ge,relevance:0},at={scope:"number",begin:X,relevance:0},Ct={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[re,{begin:/\[/,end:/\]/,relevance:0,contains:[re]}]},ye={scope:"title",begin:j,relevance:0},It={scope:"title",begin:ee,relevance:0},Jt={begin:"\\.\\s*"+ee,relevance:0};var Qe=Object.freeze({__proto__:null,APOS_STRING_MODE:ue,BACKSLASH_ESCAPE:re,BINARY_NUMBER_MODE:at,BINARY_NUMBER_RE:X,COMMENT:ve,C_BLOCK_COMMENT_MODE:Ue,C_LINE_COMMENT_MODE:Oe,C_NUMBER_MODE:Mt,C_NUMBER_RE:ge,END_SAME_AS_BEGIN:function(K){return Object.assign(K,{"on:begin":(Be,Ye)=>{Ye.data._beginMatch=Be[1]},"on:end":(Be,Ye)=>{Ye.data._beginMatch!==Be[1]&&Ye.ignoreMatch()}})},HASH_COMMENT_MODE:Ce,IDENT_RE:j,MATCH_NOTHING_RE:V,METHOD_GUARD:Jt,NUMBER_MODE:pt,NUMBER_RE:ae,PHRASAL_WORDS_MODE:Me,QUOTE_STRING_MODE:Ae,REGEXP_MODE:Ct,RE_STARTERS_RE:de,SHEBANG:be,TITLE_MODE:ye,UNDERSCORE_IDENT_RE:ee,UNDERSCORE_TITLE_MODE:It});function Et(K,Be){K.input[K.index-1]==="."&&Be.ignoreMatch()}function Xt(K,Be){K.className!==void 0&&(K.scope=K.className,delete K.className)}function fi(K,Be){Be&&K.beginKeywords&&(K.begin="\\b("+K.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",K.__beforeBegin=Et,K.keywords=K.keywords||K.beginKeywords,delete K.beginKeywords,K.relevance===void 0&&(K.relevance=0))}function ui(K,Be){Array.isArray(K.illegal)&&(K.illegal=A(...K.illegal))}function Di(K,Be){if(K.match){if(K.begin||K.end)throw new Error("begin & end are not supported with match");K.begin=K.match,delete K.match}}function _i(K,Be){K.relevance===void 0&&(K.relevance=1)}const Ze=(K,Be)=>{if(!K.beforeMatch)return;if(K.starts)throw new Error("beforeMatch cannot be used with starts");const Ye=Object.assign({},K);Object.keys(K).forEach(st=>{delete K[st]}),K.keywords=Ye.keywords,K.begin=y(Ye.beforeMatch,p(Ye.begin)),K.starts={relevance:0,contains:[Object.assign(Ye,{endsParent:!0})]},K.relevance=0,delete Ye.beforeMatch},we=["of","and","for","in","not","or","if","then","parent","list","value"],ni="keyword";function bi(K,Be,Ye=ni){const st=Object.create(null);return typeof K=="string"?Gt(Ye,K.split(" ")):Array.isArray(K)?Gt(Ye,K):Object.keys(K).forEach(function(hi){Object.assign(st,bi(K[hi],Be,hi))}),st;function Gt(hi,yt){Be&&(yt=yt.map(ht=>ht.toLowerCase())),yt.forEach(function(ht){const Q=ht.split("|");st[Q[0]]=[hi,ei(Q[0],Q[1])]})}}function ei(K,Be){return Be?Number(Be):Gi(K)?0:1}function Gi(K){return we.includes(K.toLowerCase())}const sn={},yi=K=>{console.error(K)},Sn=(K,...Be)=>{console.log(`WARN: ${K}`,...Be)},dn=(K,Be)=>{sn[`${K}/${Be}`]||(console.log(`Deprecated as of ${K}. ${Be}`),sn[`${K}/${Be}`]=!0)},fn=new Error;function gn(K,Be,{key:Ye}){let st=0;const Gt=K[Ye],hi={},yt={};for(let ht=1;ht<=Be.length;ht++)yt[ht+st]=Gt[ht],hi[ht+st]=!0,st+=I(Be[ht-1]);K[Ye]=yt,K[Ye]._emit=hi,K[Ye]._multi=!0}function xt(K){if(Array.isArray(K.begin)){if(K.skip||K.excludeBegin||K.returnBegin)throw yi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),fn;if(typeof K.beginScope!="object"||K.beginScope===null)throw yi("beginScope must be object"),fn;gn(K,K.begin,{key:"beginScope"}),K.begin=P(K.begin,{joinWith:""})}}function Kt(K){if(Array.isArray(K.end)){if(K.skip||K.excludeEnd||K.returnEnd)throw yi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),fn;if(typeof K.endScope!="object"||K.endScope===null)throw yi("endScope must be object"),fn;gn(K,K.end,{key:"endScope"}),K.end=P(K.end,{joinWith:""})}}function Ti(K){K.scope&&typeof K.scope=="object"&&K.scope!==null&&(K.beginScope=K.scope,delete K.scope)}function zi(K){Ti(K),typeof K.beginScope=="string"&&(K.beginScope={_wrap:K.beginScope}),typeof K.endScope=="string"&&(K.endScope={_wrap:K.endScope}),xt(K),Kt(K)}function ri(K){function Be(yt,ht){return new RegExp(g(yt),"m"+(K.case_insensitive?"i":"")+(K.unicodeRegex?"u":"")+(ht?"g":""))}class Ye{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(ht,Q){Q.position=this.position++,this.matchIndexes[this.matchAt]=Q,this.regexes.push([Q,ht]),this.matchAt+=I(ht)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const ht=this.regexes.map(Q=>Q[1]);this.matcherRe=Be(P(ht,{joinWith:"|"}),!0),this.lastIndex=0}exec(ht){this.matcherRe.lastIndex=this.lastIndex;const Q=this.matcherRe.exec(ht);if(!Q)return null;const We=Q.findIndex((pe,oi)=>oi>0&&pe!==void 0),le=this.matchIndexes[We];return Q.splice(0,We),Object.assign(Q,le)}}class st{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(ht){if(this.multiRegexes[ht])return this.multiRegexes[ht];const Q=new Ye;return this.rules.slice(ht).forEach(([We,le])=>Q.addRule(We,le)),Q.compile(),this.multiRegexes[ht]=Q,Q}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(ht,Q){this.rules.push([ht,Q]),Q.type==="begin"&&this.count++}exec(ht){const Q=this.getMatcher(this.regexIndex);Q.lastIndex=this.lastIndex;let We=Q.exec(ht);if(this.resumingScanAtSamePosition()&&!(We&&We.index===this.lastIndex)){const le=this.getMatcher(0);le.lastIndex=this.lastIndex+1,We=le.exec(ht)}return We&&(this.regexIndex+=We.position+1,this.regexIndex===this.count&&this.considerAll()),We}}function Gt(yt){const ht=new st;return yt.contains.forEach(Q=>ht.addRule(Q.begin,{rule:Q,type:"begin"})),yt.terminatorEnd&&ht.addRule(yt.terminatorEnd,{type:"end"}),yt.illegal&&ht.addRule(yt.illegal,{type:"illegal"}),ht}function hi(yt,ht){const Q=yt;if(yt.isCompiled)return Q;[Xt,Di,zi,Ze].forEach(le=>le(yt,ht)),K.compilerExtensions.forEach(le=>le(yt,ht)),yt.__beforeBegin=null,[fi,ui,_i].forEach(le=>le(yt,ht)),yt.isCompiled=!0;let We=null;return typeof yt.keywords=="object"&&yt.keywords.$pattern&&(yt.keywords=Object.assign({},yt.keywords),We=yt.keywords.$pattern,delete yt.keywords.$pattern),We=We||/\w+/,yt.keywords&&(yt.keywords=bi(yt.keywords,K.case_insensitive)),Q.keywordPatternRe=Be(We,!0),ht&&(yt.begin||(yt.begin=/\B|\b/),Q.beginRe=Be(Q.begin),!yt.end&&!yt.endsWithParent&&(yt.end=/\B|\b/),yt.end&&(Q.endRe=Be(Q.end)),Q.terminatorEnd=g(Q.end)||"",yt.endsWithParent&&ht.terminatorEnd&&(Q.terminatorEnd+=(yt.end?"|":"")+ht.terminatorEnd)),yt.illegal&&(Q.illegalRe=Be(yt.illegal)),yt.contains||(yt.contains=[]),yt.contains=[].concat(...yt.contains.map(function(le){return Ui(le==="self"?yt:le)})),yt.contains.forEach(function(le){hi(le,Q)}),yt.starts&&hi(yt.starts,ht),Q.matcher=Gt(Q),Q}if(K.compilerExtensions||(K.compilerExtensions=[]),K.contains&&K.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return K.classNameAliases=i(K.classNameAliases||{}),hi(K)}function Ni(K){return K?K.endsWithParent||Ni(K.starts):!1}function Ui(K){return K.variants&&!K.cachedVariants&&(K.cachedVariants=K.variants.map(function(Be){return i(K,{variants:null},Be)})),K.cachedVariants?K.cachedVariants:Ni(K)?i(K,{starts:K.starts?i(K.starts):null}):Object.isFrozen(K)?i(K):K}var nn="11.11.1";class pi extends Error{constructor(Be,Ye){super(Be),this.name="HTMLInjectionError",this.html=Ye}}const Wi=t,Bi=i,en=Symbol("nomatch"),Mi=7,Ki=function(K){const Be=Object.create(null),Ye=Object.create(null),st=[];let Gt=!0;const hi="Could not find the language '{}', did you forget to load/include a language module?",yt={disableAutodetect:!0,name:"Plain text",contains:[]};let ht={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Q($){return ht.noHighlightRe.test($)}function We($){let T=$.className+" ";T+=$.parentNode?$.parentNode.className:"";const O=ht.languageDetectRe.exec(T);if(O){const Y=li(O[1]);return Y||(Sn(hi.replace("{}",O[1])),Sn("Falling back to no-highlight mode for this block.",$)),Y?O[1]:"no-highlight"}return T.split(/\s+/).find(Y=>Q(Y)||li(Y))}function le($,T,O){let Y="",ie="";typeof T=="object"?(Y=$,O=T.ignoreIllegals,ie=T.language):(dn("10.7.0","highlight(lang, code, ...args) has been deprecated."),dn("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),ie=$,Y=T),O===void 0&&(O=!0);const oe={code:Y,language:ie};_t("before:highlight",oe);const se=oe.result?oe.result:pe(oe.language,oe.code,O);return se.code=oe.code,_t("after:highlight",se),se}function pe($,T,O,Y){const ie=Object.create(null);function oe(xe,$e){return xe.keywords[$e]}function se(){if(!it.keywords){Ne.addText(Le);return}let xe=0;it.keywordPatternRe.lastIndex=0;let $e=it.keywordPatternRe.exec(Le),ft="";for(;$e;){ft+=Le.substring(xe,$e.index);const Nt=je.case_insensitive?$e[0].toLowerCase():$e[0],mt=oe(it,Nt);if(mt){const[Pt,di]=mt;if(Ne.addText(ft),ft="",ie[Nt]=(ie[Nt]||0)+1,ie[Nt]<=Mi&&(Xe+=di),Pt.startsWith("_"))ft+=$e[0];else{const Vi=je.classNameAliases[Pt]||Pt;_e($e[0],Vi)}}else ft+=$e[0];xe=it.keywordPatternRe.lastIndex,$e=it.keywordPatternRe.exec(Le)}ft+=Le.substring(xe),Ne.addText(ft)}function Se(){if(Le==="")return;let xe=null;if(typeof it.subLanguage=="string"){if(!Be[it.subLanguage]){Ne.addText(Le);return}xe=pe(it.subLanguage,Le,!0,he[it.subLanguage]),he[it.subLanguage]=xe._top}else xe=gi(Le,it.subLanguage.length?it.subLanguage:null);it.relevance>0&&(Xe+=xe.relevance),Ne.__addSublanguage(xe._emitter,xe.language)}function He(){it.subLanguage!=null?Se():se(),Le=""}function _e(xe,$e){xe!==""&&(Ne.startScope($e),Ne.addText(xe),Ne.endScope())}function Fe(xe,$e){let ft=1;const Nt=$e.length-1;for(;ft<=Nt;){if(!xe._emit[ft]){ft++;continue}const mt=je.classNameAliases[xe[ft]]||xe[ft],Pt=$e[ft];mt?_e(Pt,mt):(Le=Pt,se(),Le=""),ft++}}function Pe(xe,$e){return xe.scope&&typeof xe.scope=="string"&&Ne.openNode(je.classNameAliases[xe.scope]||xe.scope),xe.beginScope&&(xe.beginScope._wrap?(_e(Le,je.classNameAliases[xe.beginScope._wrap]||xe.beginScope._wrap),Le=""):xe.beginScope._multi&&(Fe(xe.beginScope,$e),Le="")),it=Object.create(xe,{parent:{value:it}}),it}function lt(xe,$e,ft){let Nt=M(xe.endRe,ft);if(Nt){if(xe["on:end"]){const mt=new e(xe);xe["on:end"]($e,mt),mt.isMatchIgnored&&(Nt=!1)}if(Nt){for(;xe.endsParent&&xe.parent;)xe=xe.parent;return xe}}if(xe.endsWithParent)return lt(xe.parent,$e,ft)}function Yt(xe){return it.matcher.regexIndex===0?(Le+=xe[0],1):(nt=!0,0)}function Z(xe){const $e=xe[0],ft=xe.rule,Nt=new e(ft),mt=[ft.__beforeBegin,ft["on:begin"]];for(const Pt of mt)if(Pt&&(Pt(xe,Nt),Nt.isMatchIgnored))return Yt($e);return ft.skip?Le+=$e:(ft.excludeBegin&&(Le+=$e),He(),!ft.returnBegin&&!ft.excludeBegin&&(Le=$e)),Pe(ft,xe),ft.returnBegin?0:$e.length}function ce(xe){const $e=xe[0],ft=T.substring(xe.index),Nt=lt(it,xe,ft);if(!Nt)return en;const mt=it;it.endScope&&it.endScope._wrap?(He(),_e($e,it.endScope._wrap)):it.endScope&&it.endScope._multi?(He(),Fe(it.endScope,xe)):mt.skip?Le+=$e:(mt.returnEnd||mt.excludeEnd||(Le+=$e),He(),mt.excludeEnd&&(Le=$e));do it.scope&&Ne.closeNode(),!it.skip&&!it.subLanguage&&(Xe+=it.relevance),it=it.parent;while(it!==Nt.parent);return Nt.starts&&Pe(Nt.starts,xe),mt.returnEnd?0:$e.length}function qe(){const xe=[];for(let $e=it;$e!==je;$e=$e.parent)$e.scope&&xe.unshift($e.scope);xe.forEach($e=>Ne.openNode($e))}let Bt={};function ze(xe,$e){const ft=$e&&$e[0];if(Le+=xe,ft==null)return He(),0;if(Bt.type==="begin"&&$e.type==="end"&&Bt.index===$e.index&&ft===""){if(Le+=T.slice($e.index,$e.index+1),!Gt){const Nt=new Error(`0 width match regex (${$})`);throw Nt.languageName=$,Nt.badRule=Bt.rule,Nt}return 1}if(Bt=$e,$e.type==="begin")return Z($e);if($e.type==="illegal"&&!O){const Nt=new Error('Illegal lexeme "'+ft+'" for mode "'+(it.scope||"<unnamed>")+'"');throw Nt.mode=it,Nt}else if($e.type==="end"){const Nt=ce($e);if(Nt!==en)return Nt}if($e.type==="illegal"&&ft==="")return Le+=`
|
|
81
|
-
`,1;if(et>1e5&&et>$e.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Le+=ft,ft.length}const je=li($);if(!je)throw yi(hi.replace("{}",$)),new Error('Unknown language: "'+$+'"');const kt=ri(je);let dt="",it=Y||kt;const he={},Ne=new ht.__emitter(ht);qe();let Le="",Xe=0,St=0,et=0,nt=!1;try{if(je.__emitTokens)je.__emitTokens(T,Ne);else{for(it.matcher.considerAll();;){et++,nt?nt=!1:it.matcher.considerAll(),it.matcher.lastIndex=St;const xe=it.matcher.exec(T);if(!xe)break;const $e=T.substring(St,xe.index),ft=ze($e,xe);St=xe.index+ft}ze(T.substring(St))}return Ne.finalize(),dt=Ne.toHTML(),{language:$,value:dt,relevance:Xe,illegal:!1,_emitter:Ne,_top:it}}catch(xe){if(xe.message&&xe.message.includes("Illegal"))return{language:$,value:Wi(T),illegal:!0,relevance:0,_illegalBy:{message:xe.message,index:St,context:T.slice(St-100,St+100),mode:xe.mode,resultSoFar:dt},_emitter:Ne};if(Gt)return{language:$,value:Wi(T),illegal:!1,relevance:0,errorRaised:xe,_emitter:Ne,_top:it};throw xe}}function oi($){const T={value:Wi($),illegal:!1,relevance:0,_top:yt,_emitter:new ht.__emitter(ht)};return T._emitter.addText($),T}function gi($,T){T=T||ht.languages||Object.keys(Be);const O=oi($),Y=T.filter(li).filter(Ve).map(He=>pe(He,$,!1));Y.unshift(O);const ie=Y.sort((He,_e)=>{if(He.relevance!==_e.relevance)return _e.relevance-He.relevance;if(He.language&&_e.language){if(li(He.language).supersetOf===_e.language)return 1;if(li(_e.language).supersetOf===He.language)return-1}return 0}),[oe,se]=ie,Se=oe;return Se.secondBest=se,Se}function ne($,T,O){const Y=T&&Ye[T]||O;$.classList.add("hljs"),$.classList.add(`language-${Y}`)}function tt($){let T=null;const O=We($);if(Q(O))return;if(_t("before:highlightElement",{el:$,language:O}),$.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",$);return}if($.children.length>0&&(ht.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($)),ht.throwUnescapedHTML))throw new pi("One of your code blocks includes unescaped HTML.",$.innerHTML);T=$;const Y=T.textContent,ie=O?le(Y,{language:O,ignoreIllegals:!0}):gi(Y);$.innerHTML=ie.value,$.dataset.highlighted="yes",ne($,O,ie.language),$.result={language:ie.language,re:ie.relevance,relevance:ie.relevance},ie.secondBest&&($.secondBest={language:ie.secondBest.language,relevance:ie.secondBest.relevance}),_t("after:highlightElement",{el:$,result:ie,text:Y})}function Ht($){ht=Bi(ht,$)}const Vt=()=>{Je(),dn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function jt(){Je(),dn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Te=!1;function Je(){function $(){Je()}if(document.readyState==="loading"){Te||window.addEventListener("DOMContentLoaded",$,!1),Te=!0;return}document.querySelectorAll(ht.cssSelector).forEach(tt)}function Zt($,T){let O=null;try{O=T(K)}catch(Y){if(yi("Language definition for '{}' could not be registered.".replace("{}",$)),Gt)yi(Y);else throw Y;O=yt}O.name||(O.name=$),Be[$]=O,O.rawDefinition=T.bind(null,K),O.aliases&&me(O.aliases,{languageName:$})}function ai($){delete Be[$];for(const T of Object.keys(Ye))Ye[T]===$&&delete Ye[T]}function Ii(){return Object.keys(Be)}function li($){return $=($||"").toLowerCase(),Be[$]||Be[Ye[$]]}function me($,{languageName:T}){typeof $=="string"&&($=[$]),$.forEach(O=>{Ye[O.toLowerCase()]=T})}function Ve($){const T=li($);return T&&!T.disableAutodetect}function ot($){$["before:highlightBlock"]&&!$["before:highlightElement"]&&($["before:highlightElement"]=T=>{$["before:highlightBlock"](Object.assign({block:T.el},T))}),$["after:highlightBlock"]&&!$["after:highlightElement"]&&($["after:highlightElement"]=T=>{$["after:highlightBlock"](Object.assign({block:T.el},T))})}function Re($){ot($),st.push($)}function wt($){const T=st.indexOf($);T!==-1&&st.splice(T,1)}function _t($,T){const O=$;st.forEach(function(Y){Y[O]&&Y[O](T)})}function Ut($){return dn("10.7.0","highlightBlock will be removed entirely in v12.0"),dn("10.7.0","Please use highlightElement now."),tt($)}Object.assign(K,{highlight:le,highlightAuto:gi,highlightAll:Je,highlightElement:tt,highlightBlock:Ut,configure:Ht,initHighlighting:Vt,initHighlightingOnLoad:jt,registerLanguage:Zt,unregisterLanguage:ai,listLanguages:Ii,getLanguage:li,registerAliases:me,autoDetection:Ve,inherit:Bi,addPlugin:Re,removePlugin:wt}),K.debugMode=function(){Gt=!1},K.safeMode=function(){Gt=!0},K.versionString=nn,K.regex={concat:y,lookahead:p,either:A,optional:b,anyNumberOfTimes:C};for(const $ in Qe)typeof Qe[$]=="object"&&o(Qe[$]);return Object.assign(K,Qe),K},qi=Ki({});return qi.newInstance=()=>Ki({}),ZC=qi,qi.HighlightJS=qi,qi.default=qi,ZC}var sq=nq();const Vv=xS(sq),b2="[A-Za-z$_][0-9A-Za-z$_]*",oq=["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"],rq=["true","false","null","undefined","NaN","Infinity"],PF=["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"],TF=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],MF=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],aq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],lq=[].concat(MF,PF,TF);function RF(o){const e=o.regex,t=(ve,{after:Oe})=>{const Ue="</"+ve[0].slice(1);return ve.input.indexOf(Ue,Oe)!==-1},i=b2,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ve,Oe)=>{const Ue=ve[0].length+ve.index,Ce=ve.input[Ue];if(Ce==="<"||Ce===","){Oe.ignoreMatch();return}Ce===">"&&(t(ve,{after:Ue})||Oe.ignoreMatch());let pt;const Mt=ve.input.substring(Ue);if(pt=Mt.match(/^\s*=/)){Oe.ignoreMatch();return}if((pt=Mt.match(/^\s+extends\s+/))&&pt.index===0){Oe.ignoreMatch();return}}},a={$pattern:b2,keyword:oq,literal:rq,built_in:lq,"variable.language":aq},d="[0-9](_?[0-9])*",u=`\\.(${d})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${d})\\b`},{begin:`\\b(${f})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={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"}},w={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},I={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]},M=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,{match:/\$\d+/},g];p.contains=M.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(M)});const R=[].concat(I,p.contains),P=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(R)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:P},j={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ee={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:{_:[...PF,...TF]}},ae={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ge={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},X={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function de(ve){return e.concat("(?!",ve.join("|"),")")}const be={match:e.concat(/\b/,de([...MF,"super","import"].map(ve=>`${ve}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},re={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ue={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},Ae="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Me={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Ae)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:P,CLASS_REFERENCE:ee},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),ae,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,I,{match:/\$\d+/},g,ee,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Me,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,o.REGEXP_MODE,{className:"function",begin:Ae,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:P}]}]},{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"]}]}]},ge,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},re,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},be,X,j,ue,{match:/\$[(.]/}]}}function mS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var rh=mS();function NF(o){rh=o}var _d={exec:()=>null};function Ih(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 Yn(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(yo.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var cq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),yo={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:Ih(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Ih(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}>`))},dq=/^(?:[ \t]*(?:\n|$))+/,uq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,hq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ex=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,vS=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,OF=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,HF=Yn(OF).replace(/bull/g,vS).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(),gq=Yn(OF).replace(/bull/g,vS).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(),_S=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,pq=/^[^\n]+/,bS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,xq=Yn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",bS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),mq=Yn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,vS).getRegex(),Rb="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",CS=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,vq=Yn("^ {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",CS).replace("tag",Rb).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),WF=Yn(_S).replace("hr",ex).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",Rb).getRegex(),_q=Yn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",WF).getRegex(),ES={blockquote:_q,code:uq,def:xq,fences:hq,heading:fq,hr:ex,html:vq,lheading:HF,list:mq,newline:dq,paragraph:WF,table:_d,text:pq},C2=Yn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ex).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",Rb).getRegex(),bq={...ES,lheading:gq,table:C2,paragraph:Yn(_S).replace("hr",ex).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",C2).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",Rb).getRegex()},Cq={...ES,html:Yn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",CS).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:_d,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Yn(_S).replace("hr",ex).replace("heading",` *#{1,6} *[^
|
|
82
|
-
]`).replace("lheading",HF).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Eq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,yq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,zF=/^( {2,}|\\)\n(?!\s*$)/,wq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,bf=/[\p{P}\p{S}]/u,Nb=/[\s\p{P}\p{S}]/u,yS=/[^\s\p{P}\p{S}]/u,Sq=Yn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Nb).getRegex(),VF=/(?!~)[\p{P}\p{S}]/u,Dq=/(?!~)[\s\p{P}\p{S}]/u,Aq=/(?:[^\s\p{P}\p{S}]|~)/u,kq=Yn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",cq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),jF=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Bq=Yn(jF,"u").replace(/punct/g,bf).getRegex(),Fq=Yn(jF,"u").replace(/punct/g,VF).getRegex(),$F="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Lq=Yn($F,"gu").replace(/notPunctSpace/g,yS).replace(/punctSpace/g,Nb).replace(/punct/g,bf).getRegex(),Iq=Yn($F,"gu").replace(/notPunctSpace/g,Aq).replace(/punctSpace/g,Dq).replace(/punct/g,VF).getRegex(),Pq=Yn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,yS).replace(/punctSpace/g,Nb).replace(/punct/g,bf).getRegex(),Tq=Yn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,bf).getRegex(),Mq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Rq=Yn(Mq,"gu").replace(/notPunctSpace/g,yS).replace(/punctSpace/g,Nb).replace(/punct/g,bf).getRegex(),Nq=Yn(/\\(punct)/,"gu").replace(/punct/g,bf).getRegex(),Oq=Yn(/^<(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(),Hq=Yn(CS).replace("(?:-->|$)","-->").getRegex(),Wq=Yn("^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",Hq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),jv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,zq=Yn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",jv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),UF=Yn(/^!?\[(label)\]\[(ref)\]/).replace("label",jv).replace("ref",bS).getRegex(),qF=Yn(/^!?\[(ref)\](?:\[\])?/).replace("ref",bS).getRegex(),Vq=Yn("reflink|nolink(?!\\()","g").replace("reflink",UF).replace("nolink",qF).getRegex(),E2=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,wS={_backpedal:_d,anyPunctuation:Nq,autolink:Oq,blockSkip:kq,br:zF,code:yq,del:_d,delLDelim:_d,delRDelim:_d,emStrongLDelim:Bq,emStrongRDelimAst:Lq,emStrongRDelimUnd:Pq,escape:Eq,link:zq,nolink:qF,punctuation:Sq,reflink:UF,reflinkSearch:Vq,tag:Wq,text:wq,url:_d},jq={...wS,link:Yn(/^!?\[(label)\]\((.*?)\)/).replace("label",jv).getRegex(),reflink:Yn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",jv).getRegex()},Cw={...wS,emStrongRDelimAst:Iq,emStrongLDelim:Fq,delLDelim:Tq,delRDelim:Rq,url:Yn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",E2).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:Yn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",E2).getRegex()},$q={...Cw,br:Yn(zF).replace("{2,}","*").getRegex(),text:Yn(Cw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ux={normal:ES,gfm:bq,pedantic:Cq},Vf={normal:wS,gfm:Cw,breaks:$q,pedantic:jq},Uq={"&":"&","<":"<",">":">",'"':""","'":"'"},y2=o=>Uq[o];function ya(o,e){if(e){if(yo.escapeTest.test(o))return o.replace(yo.escapeReplace,y2)}else if(yo.escapeTestNoEncode.test(o))return o.replace(yo.escapeReplaceNoEncode,y2);return o}function w2(o){try{o=encodeURI(o).replace(yo.percentDecode,"%")}catch{return null}return o}function S2(o,e){var s;let t=o.replace(yo.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(yo.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(yo.slashPipe,"|");return i}function Jl(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 D2(o){let e=o.split(`
|
|
83
|
-
`),t=e.length-1;for(;t>=0&&yo.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
-
`)}function qq(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 Gq(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 A2(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 d={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,d}function Kq(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 $v=class{constructor(o){Bn(this,"options");Bn(this,"rules");Bn(this,"lexer");this.options=o||rh}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]:D2(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=Kq(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=Jl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Jl(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:Jl(e[0],`
|
|
88
|
-
`)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Jl(e[0],`
|
|
89
|
-
`).split(`
|
|
90
|
-
`),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],d;for(d=0;d<t.length;d++)if(this.rules.other.blockquoteStart.test(t[d]))a.push(t[d]),r=!0;else if(!r)a.push(t[d]);else break;t=t.slice(d);let u=a.join(`
|
|
91
|
-
`),f=u.replace(this.rules.other.blockquoteSetextReplace,`
|
|
92
|
-
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
|
|
93
|
-
${u}`:u,n=n?`${n}
|
|
94
|
-
${f}`:f;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=g,t.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let C=p,b=C.raw+`
|
|
95
|
-
`+t.join(`
|
|
96
|
-
`),y=this.blockquote(b);s[s.length-1]=y,i=i.substring(0,i.length-C.raw.length)+y.raw,n=n.substring(0,n.length-C.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let C=p,b=C.raw+`
|
|
97
|
-
`+t.join(`
|
|
98
|
-
`),y=this.list(b);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-C.raw.length)+y.raw,t=b.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 d=!1,u="",f="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;u=e[0],o=o.substring(u.length);let g=Gq(e[2].split(`
|
|
100
|
-
`,1)[0],e[1].length),p=o.split(`
|
|
101
|
-
`,1)[0],C=!g.trim(),b=0;if(this.options.pedantic?(b=2,f=g.trimStart()):C?b=e[1].length+1:(b=g.search(this.rules.other.nonSpaceChar),b=b>4?1:b,f=g.slice(b),b+=e[1].length),C&&this.rules.other.blankLine.test(p)&&(u+=p+`
|
|
102
|
-
`,o=o.substring(p.length+1),d=!0),!d){let y=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),I=this.rules.other.headingBeginRegex(b),M=this.rules.other.htmlBeginRegex(b),R=this.rules.other.blockquoteBeginRegex(b);for(;o;){let P=o.split(`
|
|
103
|
-
`,1)[0],V;if(p=P,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),V=p):V=p.replace(this.rules.other.tabCharGlobal," "),A.test(p)||I.test(p)||M.test(p)||R.test(p)||y.test(p)||w.test(p))break;if(V.search(this.rules.other.nonSpaceChar)>=b||!p.trim())f+=`
|
|
104
|
-
`+V.slice(b);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||A.test(g)||I.test(g)||w.test(g))break;f+=`
|
|
105
|
-
`+p}C=!p.trim(),u+=P+`
|
|
106
|
-
`,o=o.substring(P.length+1),g=V.slice(b)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(r=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),n.raw+=u}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let d of n.items){this.lexer.state.top=!1,d.tokens=this.lexer.blockTokens(d.text,[]);let u=d.tokens[0];if(d.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){d.text=d.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(d.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};d.checked=g.checked,n.loose?d.tokens[0]&&["paragraph","text"].includes(d.tokens[0].type)&&"tokens"in d.tokens[0]&&d.tokens[0].tokens?(d.tokens[0].raw=g.raw+d.tokens[0].raw,d.tokens[0].text=g.raw+d.tokens[0].text,d.tokens[0].tokens.unshift(g)):d.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):d.tokens.unshift(g)}}else d.task&&(d.task=!1);if(!n.loose){let f=d.tokens.filter(p=>p.type==="space"),g=f.length>0&&f.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=g}}if(n.loose)for(let d of n.items){d.loose=!0;for(let u of d.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=D2(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:Jl(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=S2(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:Jl(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(S2(a,s.header.length).map((d,u)=>({text:d,tokens:this.lexer.inline(d),header:!1,align:s.align[u]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:Jl(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=Jl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=qq(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)),A2(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 A2(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,d=0,u=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*o.length+n);(i=u.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(r=[...s].length,i[3]||i[4]){a+=r;continue}else if((i[5]||i[6])&&n%3&&!((n+r)%3)){d+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+d);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let p=g.slice(2,-2);return{type:"strong",raw:g,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(o){let e=this.rules.inline.code.exec(o);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(o){let e=this.rules.inline.br.exec(o);if(e)return{type:"br",raw:e[0]}}del(o,e,t=""){let i=this.rules.inline.delLDelim.exec(o);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=this.rules.inline.delRDelim;for(d.lastIndex=0,e=e.slice(-1*o.length+n);(i=d.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(r=[...s].length,r!==n))continue;if(i[3]||i[4]){a+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a);let u=[...i[0]][0].length,f=o.slice(0,n+i.index+u+r),g=f.slice(n,-n);return{type:"del",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(o){let e=this.rules.inline.autolink.exec(o);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(o){var t;let e;if(e=this.rules.inline.url.exec(o)){let i,n;if(e[2]==="@")i=e[0],n="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(o){let e=this.rules.inline.text.exec(o);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},Jr=class Ew{constructor(e){Bn(this,"tokens");Bn(this,"options");Bn(this,"state");Bn(this,"inlineQueue");Bn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||rh,this.options.tokenizer=this.options.tokenizer||new $v,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:yo,block:Ux.normal,inline:Vf.normal};this.options.pedantic?(t.block=Ux.pedantic,t.inline=Vf.pedantic):this.options.gfm&&(t.block=Ux.gfm,this.options.breaks?t.inline=Vf.breaks:t.inline=Vf.gfm),this.tokenizer.rules=t}static get rules(){return{block:Ux,inline:Vf}}static lex(e,t){return new Ew(t).lex(e)}static lexInline(e,t){return new Ew(t).inlineTokens(e)}lex(e){e=e.replace(yo.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(yo.tabCharGlobal," ").replace(yo.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let d;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(d=f.call({lexer:this},e,t))?(e=e.substring(d.raw.length),t.push(d),!0):!1))continue;if(d=this.tokenizer.space(e)){e=e.substring(d.raw.length);let f=t.at(-1);d.raw.length===1&&f!==void 0?f.raw+=`
|
|
113
|
-
`:t.push(d);continue}if(d=this.tokenizer.code(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
114
|
-
`)?"":`
|
|
115
|
-
`)+d.raw,f.text+=`
|
|
116
|
-
`+d.text,this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(d=this.tokenizer.fences(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.heading(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.hr(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.blockquote(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.list(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.html(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.def(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
117
|
-
`)?"":`
|
|
118
|
-
`)+d.raw,f.text+=`
|
|
119
|
-
`+d.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[d.tag]||(this.tokens.links[d.tag]={href:d.href,title:d.title},t.push(d));continue}if(d=this.tokenizer.table(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.lheading(e)){e=e.substring(d.raw.length),t.push(d);continue}let u=e;if((a=this.options.extensions)!=null&&a.startBlock){let f=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(C=>{p=C.call({lexer:this},g),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(u=e.substring(0,f+1))}if(this.state.top&&(d=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
|
|
120
|
-
`)?"":`
|
|
121
|
-
`)+d.raw,f.text+=`
|
|
122
|
-
`+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d),i=u.length!==e.length,e=e.substring(d.raw.length);continue}if(d=this.tokenizer.text(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
123
|
-
`)?"":`
|
|
124
|
-
`)+d.raw,f.text+=`
|
|
125
|
-
`+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){var u,f,g,p,C;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let b=Object.keys(this.tokens.links);if(b.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)b.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=n[2]?n[2].length:0,i=i.slice(0,n.index+s)+"["+"a".repeat(n[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=((f=(u=this.options.hooks)==null?void 0:u.emStrongMask)==null?void 0:f.call({lexer:this},i))??i;let r=!1,a="",d=1/0;for(;e;){if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let b;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(w=>(b=w.call({lexer:this},e,t))?(e=e.substring(b.raw.length),t.push(b),!0):!1))continue;if(b=this.tokenizer.escape(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.tag(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.link(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(b.raw.length);let w=t.at(-1);b.type==="text"&&(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(b=this.tokenizer.emStrong(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.codespan(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.br(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.del(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.autolink(e)){e=e.substring(b.raw.length),t.push(b);continue}if(!this.state.inLink&&(b=this.tokenizer.url(e))){e=e.substring(b.raw.length),t.push(b);continue}let y=e;if((C=this.options.extensions)!=null&&C.startInline){let w=1/0,A=e.slice(1),I;this.options.extensions.startInline.forEach(M=>{I=M.call({lexer:this},A),typeof I=="number"&&I>=0&&(w=Math.min(w,I))}),w<1/0&&w>=0&&(y=e.substring(0,w+1))}if(b=this.tokenizer.inlineText(y)){e=e.substring(b.raw.length),b.raw.slice(-1)!=="_"&&(a=b.raw.slice(-1)),r=!0;let w=t.at(-1);(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);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)}},Uv=class{constructor(o){Bn(this,"options");Bn(this,"parser");this.options=o||rh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(yo.notSpaceStart))==null?void 0:s[0],n=o.replace(yo.endingNewline,"")+`
|
|
126
|
-
`;return i?'<pre><code class="language-'+ya(i)+'">'+(t?n:ya(n,!0))+`</code></pre>
|
|
127
|
-
`:"<pre><code>"+(t?n:ya(n,!0))+`</code></pre>
|
|
128
|
-
`}blockquote({tokens:o}){return`<blockquote>
|
|
129
|
-
${this.parser.parse(o)}</blockquote>
|
|
130
|
-
`}html({text:o}){return o}def(o){return""}heading({tokens:o,depth:e}){return`<h${e}>${this.parser.parseInline(o)}</h${e}>
|
|
131
|
-
`}hr(o){return`<hr>
|
|
132
|
-
`}list(o){let e=o.ordered,t=o.start,i="";for(let r=0;r<o.items.length;r++){let a=o.items[r];i+=this.listitem(a)}let n=e?"ol":"ul",s=e&&t!==1?' start="'+t+'"':"";return"<"+n+s+`>
|
|
133
|
-
`+i+"</"+n+`>
|
|
134
|
-
`}listitem(o){return`<li>${this.parser.parse(o.tokens)}</li>
|
|
135
|
-
`}checkbox({checked:o}){return"<input "+(o?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>
|
|
136
|
-
`}table(o){let e="",t="";for(let n=0;n<o.header.length;n++)t+=this.tablecell(o.header[n]);e+=this.tablerow({text:t});let i="";for(let n=0;n<o.rows.length;n++){let s=o.rows[n];t="";for(let r=0;r<s.length;r++)t+=this.tablecell(s[r]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
137
|
-
<thead>
|
|
138
|
-
`+e+`</thead>
|
|
139
|
-
`+i+`</table>
|
|
140
|
-
`}tablerow({text:o}){return`<tr>
|
|
141
|
-
${o}</tr>
|
|
142
|
-
`}tablecell(o){let e=this.parser.parseInline(o.tokens),t=o.header?"th":"td";return(o.align?`<${t} align="${o.align}">`:`<${t}>`)+e+`</${t}>
|
|
143
|
-
`}strong({tokens:o}){return`<strong>${this.parser.parseInline(o)}</strong>`}em({tokens:o}){return`<em>${this.parser.parseInline(o)}</em>`}codespan({text:o}){return`<code>${ya(o,!0)}</code>`}br(o){return"<br>"}del({tokens:o}){return`<del>${this.parser.parseInline(o)}</del>`}link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t),n=w2(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ya(e)+'"'),s+=">"+i+"</a>",s}image({href:o,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let n=w2(o);if(n===null)return ya(t);o=n;let s=`<img src="${o}" alt="${ya(t)}"`;return e&&(s+=` title="${ya(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ya(o.text)}},SS=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}},ea=class yw{constructor(e){Bn(this,"options");Bn(this,"renderer");Bn(this,"textRenderer");this.options=e||rh,this.options.renderer=this.options.renderer||new Uv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new SS}static parse(e,t){return new yw(t).parse(e)}static parseInline(e,t){return new yw(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 d=r,u=this.options.extensions.renderers[d.type].call({parser:this},d);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(d.type)){t+=u||"";continue}}let a=r;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let d='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return t}parseInline(e,t=this.renderer){var n,s;this.renderer.parser=this;let i="";for(let r=0;r<e.length;r++){let a=e[r];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=u||"";continue}}let d=a;switch(d.type){case"escape":{i+=t.text(d);break}case"html":{i+=t.html(d);break}case"link":{i+=t.link(d);break}case"image":{i+=t.image(d);break}case"checkbox":{i+=t.checkbox(d);break}case"strong":{i+=t.strong(d);break}case"em":{i+=t.em(d);break}case"codespan":{i+=t.codespan(d);break}case"br":{i+=t.br(d);break}case"del":{i+=t.del(d);break}case"text":{i+=t.text(d);break}default:{let u='Token with "'+d.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},Kx,og=(Kx=class{constructor(o){Bn(this,"options");Bn(this,"block");this.options=o||rh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Jr.lex:Jr.lexInline}provideParser(o=this.block){return o?ea.parse:ea.parseInline}},Bn(Kx,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Bn(Kx,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Kx),Zq=class{constructor(...o){Bn(this,"defaults",mS());Bn(this,"options",this.setOptions);Bn(this,"parse",this.parseMarkdown(!0));Bn(this,"parseInline",this.parseMarkdown(!1));Bn(this,"Parser",ea);Bn(this,"Renderer",Uv);Bn(this,"TextRenderer",SS);Bn(this,"Lexer",Jr);Bn(this,"Tokenizer",$v);Bn(this,"Hooks",og);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 d of a)t=t.concat(this.walkTokens(d.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 d=r[a].flat(1/0);t=t.concat(this.walkTokens(d,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 Uv(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],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new $v(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],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new og;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],d=n[r];og.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&og.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return d.call(n,g)})();let f=a.call(n,u);return d.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await d.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(r){let a=[];return a.push(s.call(this,r)),n&&(a=a.concat(n.call(this,r))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(o){return this.defaults={...this.defaults,...o},this}lexer(o,e){return Jr.lex(o,e??this.defaults)}parser(o,e){return ea.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?Jr.lex:Jr.lexInline)(r,n),d=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(d,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?ea.parse:ea.parseInline)(d,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?Jr.lex:Jr.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?ea.parse:ea.parseInline)(r,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(r){return s(r)}}}onError(o,e){return t=>{if(t.message+=`
|
|
144
|
-
Please report this to https://github.com/markedjs/marked.`,o){let i="<p>An error occurred:</p><pre>"+ya(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Gu=new Zq;function os(o,e){return Gu.parse(o,e)}os.options=os.setOptions=function(o){return Gu.setOptions(o),os.defaults=Gu.defaults,NF(os.defaults),os};os.getDefaults=mS;os.defaults=rh;os.use=function(...o){return Gu.use(...o),os.defaults=Gu.defaults,NF(os.defaults),os};os.walkTokens=function(o,e){return Gu.walkTokens(o,e)};os.parseInline=Gu.parseInline;os.Parser=ea;os.parser=ea.parse;os.Renderer=Uv;os.TextRenderer=SS;os.Lexer=Jr;os.lexer=Jr.lex;os.Tokenizer=$v;os.Hooks=og;os.parse=os;os.options;os.setOptions;os.use;os.walkTokens;os.parseInline;ea.parse;Jr.lex;var Xq=B('<span class="chat-model svelte-10ayso4"><!></span>'),Yq=B('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),Qq=B('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Jq=B('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),eG=B('<ul class="history-list svelte-10ayso4"></ul>'),tG=B('<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>'),iG=B('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),nG=B('Chatting in context of <code class="svelte-10ayso4"> </code>',1),sG=B('<button class="chip svelte-10ayso4"> </button>'),oG=B('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),rG=B('<div class="msg-content user-text svelte-10ayso4"> </div>'),k2=B('<span class="tool-args svelte-10ayso4"> </span>'),B2=B('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),F2=B('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),L2=B('<div class="tool-events svelte-10ayso4"></div>'),I2=B('<div class="text-block svelte-10ayso4"></div>'),aG=B('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),lG=B('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),cG=B('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),dG=B('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),uG=B('<button class="expand-btn svelte-10ayso4"> </button>'),hG=B('<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>'),fG=B('<!> <div class="msg-content svelte-10ayso4"></div>',1),gG=B("<div><!></div>"),pG=B('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),xG=B('<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>'),mG=B('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),vG=B('<div class="chat-error svelte-10ayso4"> </div>'),_G=B('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),bG=B('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),CG=B('<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>'),EG=B('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),yG=B('<button class="send-btn svelte-10ayso4">↑</button>'),wG=B('<option class="svelte-10ayso4"> </option>'),SG=B('<select class="model-select svelte-10ayso4"></select>'),DG=B('<span class="model-name svelte-10ayso4"> </span>'),AG=B('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),kG=B('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),BG=B('<p class="info-status svelte-10ayso4">Loading…</p>'),FG=B('<p class="info-status info-err svelte-10ayso4"> </p>'),LG=B('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),IG=B('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),PG=B('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),TG=B('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),MG=B('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),RG=B('<div class="running-model svelte-10ayso4"> </div>'),NG=B('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),OG=B('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),HG=B('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),WG=B('<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>'),zG=B('<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 VG(o,e){$s(e,!0),Vv.registerLanguage("javascript",RF),os.use({breaks:!0,gfm:!0});let t=Tu(e,"currentScript",3,null),i=Tu(e,"extraFiles",31,()=>wi([])),n=F(wi([])),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=F(wi(localStorage.getItem(f)??g())),C=F(wi([])),b=F(!1);Kn(()=>{localStorage.setItem(f,c(p))});let y=F(wi([])),w=F(wi(localStorage.getItem("she:selectedModel")??"")),A=F(null);const I=Lt(()=>{var Z;return c(A)!==null&&((Z=t())==null?void 0:Z.path)===c(A)});let M=F(wi(new Set)),R=F(!1),P=F(null),V=F(!1),j=F(""),ee=F(0),ae=null,ge=F(0);const X=["[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 de=F(!0),be=F(!0),re=F(!0),ue=F(!1),Ae,Me=F(wi([])),ve,Oe;const Ue=Lt(()=>({apiref:c(de),tools:c(be)})),Ce=Lt(()=>{var Z;return((Z=c(u))==null?void 0:Z.configured)??!1}),pt=Lt(()=>{var Z;return c(Ce)||!!((Z=c(u))!=null&&Z.provider)&&!!c(w)}),Mt=Lt(()=>c(ee)+new TextEncoder().encode(c(r)).length),at=Lt(()=>c(re)?t():null);Kn(()=>{var ce;const Z=(ce=t())==null?void 0:ce.path;m(re,!0),c(A)!==null&&Z!==c(A)&&m(A,null)}),Kn(()=>{var Bt;if(!c(I))return;const Z=c(n).at(-1);if(!Z||Z.role!=="assistant")return;const qe=ye(Z.content).find(ze=>ze.type==="code"&&Di(ze.lang));if(qe){const ze=_i(qe.text);(Bt=e.onApply)==null||Bt.call(e,ze?ze.code:qe.text)}});async function Ct(){try{const Z=await wF();m(u,Z,!0),Z.configured&&!c(w)&&m(w,Z.model,!0)}catch{}}Kn(()=>(window.addEventListener("she:config-changed",Ct),()=>window.removeEventListener("she:config-changed",Ct))),Kn(()=>{c(w)&&localStorage.setItem("she:selectedModel",c(w))}),Kn(()=>{var Z;(Z=c(u))!=null&&Z.provider&&SF().then(ce=>{m(y,ce.models,!0),!c(w)&&ce.models.length>0&&m(w,ce.models[0],!0)}).catch(()=>{})}),Kn(()=>{c(w),m(P,null),m(j,"")}),Kn(()=>{var ce,qe;if(((ce=c(u))==null?void 0:ce.provider)!=="ollama")return;const Z=c(w)||((qe=c(u))==null?void 0:qe.model);!Z||c(P)||_w(Z).then(Bt=>{m(P,Bt,!0)}).catch(()=>{})}),Kn(()=>{if(!c(a))return;m(ge,Math.floor(Math.random()*X.length),!0);const Z=setInterval(()=>{m(ge,(c(ge)+1)%X.length)},1e4);return()=>clearInterval(Z)}),Kn(()=>{var Z;Oe&&(c(n).length+(((Z=c(s))==null?void 0:Z.length)??0),requestAnimationFrame(()=>{Oe&&(Oe.scrollTop=Oe.scrollHeight)}))}),Kn(()=>{const Z=c(Ue),ce=c(at),qe=i();c(pt)&&DF({context:Z,currentScript:ce??null,extraFiles:qe.length>0?qe:void 0}).then(Bt=>{m(ee,new TextEncoder().encode(Bt.prompt).length,!0)}).catch(()=>{})});function ye(Z){const ce=Z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
-
$2
|
|
146
|
-
`),qe=[],Bt=/```(\w*)\n([\s\S]*?)```/g;let ze=0,je;for(;(je=Bt.exec(ce))!==null;)je.index>ze&&qe.push({type:"text",text:ce.slice(ze,je.index)}),qe.push({type:"code",lang:je[1]||"text",text:je[2].trimEnd()}),ze=je.index+je[0].length;return ze<ce.length&&qe.push({type:"text",text:ce.slice(ze)}),qe}const It=15;function Jt(Z){return Z.split(`
|
|
147
|
-
`).length>It}function Ke(Z){const ce=new Set(c(M));ce.has(Z)?ce.delete(Z):ce.add(Z),m(M,ce,!0)}function Qe(Z,ce){if(Di(ce))try{return Vv.highlight(Z,{language:"javascript"}).value}catch{}return Z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Et(Z){return os.parse(Z)}function Xt(Z){const ce=Z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
-
$2
|
|
149
|
-
`),qe=[],Bt=/```(\w*)\n([\s\S]*?)```/g;let ze=0,je;for(;(je=Bt.exec(ce))!==null;)je.index>ze&&qe.push({type:"text",text:ce.slice(ze,je.index)}),qe.push({type:"code",lang:je[1]||"text",text:je[2].trimEnd()}),ze=je.index+je[0].length;const kt=ce.slice(ze),dt=kt.match(/```(\w*)\n([\s\S]*)$/);return dt?(dt.index>0&&qe.push({type:"text",text:kt.slice(0,dt.index)}),qe.push({type:"code",lang:dt[1]||"text",text:dt[2]})):kt&&qe.push({type:"text",text:kt}),qe}function fi(Z){navigator.clipboard.writeText(Z).catch(()=>{})}function ui(Z,ce=!1){var qe;ce&&t()&&m(A,t().path,!0),(qe=e.onApply)==null||qe.call(e,Z)}function Di(Z){return!Z||Z==="js"||Z==="javascript"}function _i(Z){const ce=Z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return ce?{filename:ce[1],code:Z.slice(ce[0].length)}:null}function Ze(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 we(){if(m(R,!0),!(c(P)||c(V))){m(V,!0),m(j,"");try{m(P,await _w(c(w)||c(u).model),!0)}catch(Z){m(j,Z.message,!0)}m(V,!1)}}function ni(Z){const ce=Z.match(/\.([^.]+)$/);return ce?ce[1].toUpperCase():"?"}function bi(Z){switch(Z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return Z}}function ei(Z){i(i().filter((ce,qe)=>qe!==Z))}function Gi(){Ae.click()}async function sn(Z){if(!(!Z||Z.length===0))for(const ce of Array.from(Z)){const qe=await ce.text();i([...i(),{name:ce.name,content:qe}])}}function yi(Z){const ce=Z.target;sn(ce.files),ce.value=""}function Sn(Z){var ce;Z.preventDefault(),m(ue,!1),sn(((ce=Z.dataTransfer)==null?void 0:ce.files)??null)}function dn(Z){var ce;(ce=Z.dataTransfer)!=null&&ce.types.includes("Files")&&(Z.preventDefault(),m(ue,!0))}function fn(){m(ue,!1)}async function gn(){try{m(C,await aU(),!0)}catch{}}async function xt(){var ce;if(c(n).length===0)return;const Z=((ce=c(n).find(qe=>qe.role==="user"))==null?void 0:ce.content.slice(0,80))??c(p);try{await lU(c(p),Z,c(n)),await gn()}catch{}}async function Kt(Z){try{const ce=await p2(Z);m(n,ce.messages,!0),m(p,Z,!0),m(b,!1),m(d,"")}catch{}}async function Ti(Z){try{await cU(Z),await gn(),Z===c(p)&&zi()}catch{}}function zi(){m(n,[],!0),m(d,""),m(p,g(),!0),m(b,!1)}Xs(async()=>{Ct();try{const Z=await p2(c(p));m(n,Z.messages,!0)}catch{}await gn()});async function ri(){const Z=c(r).trim();if(!Z||c(a))return;m(r,""),m(d,""),m(a,!0);const ce={role:"user",content:Z};m(n,[...c(n),ce],!0),ae=new AbortController,m(Me,[],!0);try{await AF({messages:c(n),currentScript:c(at),context:c(Ue),modelOverride:c(w)||void 0,extraFiles:i().length>0?i():void 0},qe=>{m(s,(c(s)??"")+qe)},ae.signal,qe=>{m(Me,[...c(Me),qe],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Me).length>0?[...c(Me)]:void 0}],!0),m(Me,[],!0)}catch(qe){if(qe.name==="AbortError"){const Bt=c(s);Bt&&Bt.trim()&&m(n,[...c(n),{role:"assistant",content:Bt+`
|
|
150
|
-
|
|
151
|
-
*[stopped]*`,toolEvents:c(Me).length>0?[...c(Me)]:void 0}],!0)}else m(d,qe.message,!0)}finally{ae=null,m(s,null),m(Me,[],!0),m(a,!1),xt()}}function Ni(){ae==null||ae.abort()}function Ui(Z){Z.key==="Enter"&&!Z.shiftKey&&(Z.preventDefault(),ri())}function nn(){zi()}const pi=["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 Wi(Z){m(r,Z,!0),ve==null||ve.focus()}var Bi=zG(),en=bt(Bi),Mi=_(en),Ki=v(_(Mi),2);{var qi=Z=>{var ce=Xq(),qe=_(ce);{var Bt=kt=>{var dt=oo();z(()=>W(dt,`${c(u).provider??""} · ${(c(w)||c(u).model)??""}`)),D(kt,dt)},ze=kt=>{var dt=oo();z(()=>W(dt,`${c(u).provider??""} · pick a model below`)),D(kt,dt)},je=kt=>{var dt=oo("Not configured");D(kt,dt)};H(qe,kt=>{c(pt)?kt(Bt):c(u).provider?kt(ze,1):kt(je,-1)})}z(()=>an(ce,"title",`Provider: ${c(u).provider??""}`)),D(Z,ce)};H(Ki,Z=>{c(u)&&Z(qi)})}var K=v(Ki,2);let Be;var Ye=v(K,2);{var st=Z=>{var ce=Yq();U("click",ce,nn),D(Z,ce)};H(Ye,Z=>{c(n).length>0&&Z(st)})}var Gt=v(Mi,2);{var hi=Z=>{var ce=tG(),qe=_(ce),Bt=v(_(qe),2),ze=v(qe,2);{var je=dt=>{var it=Qq();D(dt,it)},kt=dt=>{var it=eG();ii(it,21,()=>c(C),he=>he.id,(he,Ne)=>{var Le=Jq();let Xe;var St=_(Le),et=_(St),nt=v(St,2);z(()=>{Xe=At(Le,1,"history-item svelte-10ayso4",null,Xe,{"history-active":c(Ne).id===c(p)}),an(St,"title",c(Ne).id),W(et,c(Ne).title||c(Ne).id)}),U("click",St,()=>Kt(c(Ne).id)),U("click",nt,()=>Ti(c(Ne).id)),D(he,Le)}),D(dt,it)};H(ze,dt=>{c(C).length===0?dt(je):dt(kt,-1)})}U("click",Bt,zi),D(Z,ce)};H(Gt,Z=>{c(b)&&Z(hi)})}var yt=v(Gt,2),ht=_(yt);{var Q=Z=>{var ce=iG();D(Z,ce)},We=Z=>{var ce=oG(),qe=_(ce),Bt=_(qe);{var ze=dt=>{var it=nG(),he=v(bt(it)),Ne=_(he);z(Le=>W(Ne,Le),[()=>t().path.split("/").pop()]),D(dt,it)},je=dt=>{var it=oo("No script open. Ask a general she scripting question.");D(dt,it)};H(Bt,dt=>{t()?dt(ze):dt(je,-1)})}var kt=v(qe,2);ii(kt,17,()=>pi,Hi,(dt,it)=>{var he=sG(),Ne=_(he);z(()=>W(Ne,c(it))),U("click",he,()=>Wi(c(it))),D(dt,he)}),D(Z,ce)};H(ht,Z=>{c(Ce)?c(n).length===0&&c(s)===null&&Z(We,1):Z(Q)})}var le=v(ht,2);ii(le,17,()=>c(n),Hi,(Z,ce,qe)=>{var Bt=gG(),ze=_(Bt);{var je=dt=>{var it=rG(),he=_(it);z(()=>W(he,c(ce).content)),D(dt,it)},kt=dt=>{const it=Lt(()=>ye(c(ce).content));var he=fG(),Ne=bt(he);{var Le=St=>{var et=L2();ii(et,21,()=>c(ce).toolEvents,Hi,(nt,xe)=>{var $e=Ss(),ft=bt($e);{var Nt=Pt=>{var di=B2(),Vi=v(_(di),2),Ci=_(Vi),Qt=v(Vi,2);{var Ft=Ot=>{var $t=k2(),zt=_($t);z(Ri=>W(zt,Ri),[()=>Object.entries(c(xe).args).map(([Ri,ji])=>`${Ri}=${JSON.stringify(ji)}`).join(", ")]),D(Ot,$t)},Dt=Lt(()=>c(xe).args&&Object.keys(c(xe).args).length>0);H(Qt,Ot=>{c(Dt)&&Ot(Ft)})}z(Ot=>W(Ci,Ot),[()=>c(xe).name.replace(/_/g," ")]),D(Pt,di)},mt=Pt=>{var di=F2(),Vi=v(_(di),2),Ci=_(Vi);z(Qt=>W(Ci,Qt),[()=>c(xe).name.replace(/_/g," ")]),D(Pt,di)};H(ft,Pt=>{c(xe).type==="tool_call"?Pt(Nt):Pt(mt,-1)})}D(nt,$e)}),D(St,et)};H(Ne,St=>{var et;(et=c(ce).toolEvents)!=null&&et.length&&St(Le)})}var Xe=v(Ne,2);ii(Xe,21,()=>c(it),Hi,(St,et,nt)=>{var xe=Ss(),$e=bt(xe);{var ft=mt=>{var Pt=I2();hc(Pt,()=>Et(c(et).text),!0),D(mt,Pt)},Nt=mt=>{const Pt=Lt(()=>Di(c(et).lang)?_i(c(et).text):null),di=Lt(()=>c(Pt)?c(Pt).code:c(et).text),Vi=Lt(()=>`${qe}:${nt}`),Ci=Lt(()=>Jt(c(di))),Qt=Lt(()=>c(M).has(c(Vi)));var Ft=hG(),Dt=_(Ft),Ot=_(Dt),$t=_(Ot),zt=v(Ot,2),Ri=_(zt),ji=v(Ri,2);{var mn=Gn=>{var vs=aG();U("click",vs,()=>e.onCreateFile(c(Pt).filename,c(Pt).code)),D(Gn,vs)},Oi=Gn=>{var vs=dG(),ir=bt(vs),zr=v(ir,2);{var Xa=pr=>{var Vr=lG();D(pr,Vr)},zl=pr=>{var Vr=cG();U("click",Vr,()=>ui(c(et).text,!0)),D(pr,Vr)};H(zr,pr=>{c(I)?pr(Xa):pr(zl,-1)})}U("click",ir,()=>ui(c(et).text)),D(Gn,vs)},An=Lt(()=>Di(c(et).lang)&&t());H(ji,Gn=>{c(Pt)&&e.onCreateFile?Gn(mn):c(An)&&Gn(Oi,1)})}var Jn=v(Dt,2);let In;var es=_(Jn),Ji=_(es);hc(Ji,()=>Qe(c(di),c(et).lang??""),!0);var Is=v(es,2);{var Tn=Gn=>{var vs=uG(),ir=_(vs);z(()=>W(ir,c(Qt)?"▲ collapse":"▼ expand")),U("click",vs,()=>Ke(c(Vi))),D(Gn,vs)};H(Is,Gn=>{c(Ci)&&Gn(Tn)})}z(()=>{W($t,c(Pt)?`new: ${c(Pt).filename}`:c(et).lang),In=At(Jn,1,"code-body svelte-10ayso4",null,In,{collapsed:c(Ci)&&!c(Qt)})}),U("click",Ri,()=>fi(c(di))),D(mt,Ft)};H($e,mt=>{c(et).type==="text"?mt(ft):mt(Nt,-1)})}D(St,xe)}),D(dt,he)};H(ze,dt=>{c(ce).role==="user"?dt(je):dt(kt,-1)})}z(()=>At(Bt,1,`message ${c(ce).role??""}`,"svelte-10ayso4")),D(Z,Bt)});var pe=v(le,2);{var oi=Z=>{var ce=L2();ii(ce,21,()=>c(Me),Hi,(qe,Bt)=>{var ze=Ss(),je=bt(ze);{var kt=it=>{var he=B2(),Ne=v(_(he),2),Le=_(Ne),Xe=v(Ne,2);{var St=nt=>{var xe=k2(),$e=_(xe);z(ft=>W($e,ft),[()=>Object.entries(c(Bt).args).map(([ft,Nt])=>`${ft}=${JSON.stringify(Nt)}`).join(", ")]),D(nt,xe)},et=Lt(()=>c(Bt).args&&Object.keys(c(Bt).args).length>0);H(Xe,nt=>{c(et)&&nt(St)})}z(nt=>W(Le,nt),[()=>c(Bt).name.replace(/_/g," ")]),D(it,he)},dt=it=>{var he=F2(),Ne=v(_(he),2),Le=_(Ne);z(Xe=>W(Le,Xe),[()=>c(Bt).name.replace(/_/g," ")]),D(it,he)};H(je,it=>{c(Bt).type==="tool_call"?it(kt):it(dt,-1)})}D(qe,ze)}),D(Z,ce)};H(pe,Z=>{c(Me).length>0&&Z(oi)})}var gi=v(pe,2);{var ne=Z=>{var ce=pG(),qe=_(ce),Bt=_(qe),ze=_(Bt);z(()=>W(ze,X[c(ge)])),D(Z,ce)};H(gi,Z=>{c(a)&&c(s)===null&&c(Me).length===0&&Z(ne)})}var tt=v(gi,2);{var Ht=Z=>{var ce=mG(),qe=_(ce);ii(qe,21,()=>Xt(c(s)),Hi,(Bt,ze)=>{var je=Ss(),kt=bt(je);{var dt=he=>{var Ne=I2();hc(Ne,()=>Et(c(ze).text),!0),D(he,Ne)},it=he=>{var Ne=xG(),Le=_(Ne),Xe=_(Le),St=_(Xe),et=v(Le,2),nt=_(et);hc(nt,()=>Qe(c(ze).text,c(ze).lang??""),!0),z(()=>W(St,c(ze).lang)),D(he,Ne)};H(kt,he=>{c(ze).type==="text"?he(dt):he(it,-1)})}D(Bt,je)}),D(Z,ce)};H(tt,Z=>{c(s)!==null&&Z(Ht)})}gs(yt,Z=>Oe=Z,()=>Oe);var Vt=v(yt,2);{var jt=Z=>{var ce=vG(),qe=_(ce);z(()=>W(qe,c(d))),D(Z,ce)};H(Vt,Z=>{c(d)&&Z(jt)})}var Te=v(Vt,2),Je=_(Te),Zt=_(Je),ai=v(Je,2),Ii=_(ai),li=v(ai,2),me=_(li),Ve=v(me);{var ot=Z=>{const ce=Lt(()=>Math.min(100,Math.round(c(Mt)/4/c(P).contextLength*100)));var qe=_G(),Bt=_(qe),ze=v(_(Bt));z((je,kt)=>{an(qe,"title",`~${c(ce)??""}% of ${je??""} token context window used`),an(ze,"stroke",c(ce)>80?"var(--fg-err)":c(ce)>50?"var(--fg-warn)":"var(--fg-ok)"),an(ze,"stroke-dasharray",`${kt??""} 31.4`)},[()=>c(P).contextLength.toLocaleString(),()=>(c(ce)/100*31.4).toFixed(1)]),D(Z,qe)};H(Ve,Z=>{var ce;(ce=c(P))!=null&&ce.contextLength&&Z(ot)})}var Re=v(Te,2),wt=_(Re);{var _t=Z=>{const ce=Lt(()=>ni(t().path.split("/").pop()??t().path));var qe=bG();let Bt;var ze=_(qe),je=_(ze),kt=v(ze,2),dt=_(kt),it=v(kt,2),he=_(it);z((Ne,Le)=>{Bt=At(qe,1,"file-chip svelte-10ayso4",null,Bt,{inactive:!c(re)}),At(ze,1,`badge badge-${Ne??""}`,"svelte-10ayso4"),W(je,Le),W(dt,t().path),an(it,"title",c(re)?"Remove from context":"Re-add to context"),W(he,c(re)?"×":"+")},[()=>c(ce).toLowerCase(),()=>bi(c(ce))]),U("click",it,()=>m(re,!c(re))),D(Z,qe)};H(wt,Z=>{t()&&Z(_t)})}var Ut=v(wt,2);ii(Ut,17,i,Hi,(Z,ce,qe)=>{const Bt=Lt(()=>ni(c(ce).name));var ze=CG(),je=_(ze),kt=_(je),dt=v(je,2),it=_(dt),he=v(dt,2);z((Ne,Le)=>{At(je,1,`badge badge-${Ne??""}`,"svelte-10ayso4"),W(kt,Le),W(it,c(ce).name)},[()=>c(Bt).toLowerCase(),()=>bi(c(Bt))]),U("click",he,()=>ei(qe)),D(Z,ze)});var $=v(Ut,2),T=v($,2);gs(T,Z=>Ae=Z,()=>Ae);var O=v(Re,2);let Y;var ie=_(O);let oe;var se=_(ie);gs(se,Z=>ve=Z,()=>ve);var Se=v(ie,2);{var He=Z=>{var ce=EG();U("click",ce,Ni),D(Z,ce)},_e=Z=>{var ce=yG();z(qe=>ce.disabled=qe,[()=>!c(r).trim()||!c(pt)]),U("click",ce,ri),D(Z,ce)};H(Se,Z=>{c(a)?Z(He):Z(_e,-1)})}var Fe=v(O,2);{var Pe=Z=>{var ce=kG(),qe=_(ce),Bt=_(qe),ze=v(qe,2);{var je=he=>{var Ne=SG();ii(Ne,21,()=>c(y),Hi,(Le,Xe)=>{var St=wG(),et=_(St),nt={};z(()=>{W(et,c(Xe)),nt!==(nt=c(Xe))&&(St.value=(St.__value=c(Xe))??"")}),D(Le,St)}),z(()=>Ne.disabled=c(a)),Ls(Ne,()=>c(w),Le=>m(w,Le)),D(he,Ne)},kt=he=>{var Ne=DG(),Le=_(Ne);z(()=>W(Le,c(w)||c(u).model)),D(he,Ne)};H(ze,he=>{c(y).length>0?he(je):he(kt,-1)})}var dt=v(ze,2);{var it=he=>{var Ne=AG();U("click",Ne,we),D(he,Ne)};H(dt,he=>{c(u).provider==="ollama"&&he(it)})}z(()=>W(Bt,c(u).provider)),D(Z,ce)};H(Fe,Z=>{var ce;(ce=c(u))!=null&&ce.provider&&(c(Ce)||c(y).length>0)&&Z(Pe)})}var lt=v(en,2);{var Yt=Z=>{var ce=WG(),qe=_(ce),Bt=_(qe),ze=_(Bt),je=_(ze),kt=v(ze,2),dt=v(Bt,2),it=_(dt);{var he=Xe=>{var St=BG();D(Xe,St)},Ne=Xe=>{var St=FG(),et=_(St);z(()=>W(et,c(j))),D(Xe,St)},Le=Xe=>{var St=HG(),et=_(St);{var nt=Dt=>{var Ot=LG(),$t=v(bt(Ot)),zt=_($t);z(()=>W(zt,c(P).version)),D(Dt,Ot)};H(et,Dt=>{c(P).version&&Dt(nt)})}var xe=v(et,2);{var $e=Dt=>{var Ot=IG(),$t=v(bt(Ot)),zt=_($t);z(()=>W(zt,c(P).details.family)),D(Dt,Ot)};H(xe,Dt=>{var Ot;(Ot=c(P).details)!=null&&Ot.family&&Dt($e)})}var ft=v(xe,2);{var Nt=Dt=>{var Ot=PG(),$t=v(bt(Ot)),zt=_($t);z(()=>W(zt,c(P).details.parameter_size)),D(Dt,Ot)};H(ft,Dt=>{var Ot;(Ot=c(P).details)!=null&&Ot.parameter_size&&Dt(Nt)})}var mt=v(ft,2);{var Pt=Dt=>{var Ot=TG(),$t=v(bt(Ot)),zt=_($t);z(()=>W(zt,c(P).details.quantization_level)),D(Dt,Ot)};H(mt,Dt=>{var Ot;(Ot=c(P).details)!=null&&Ot.quantization_level&&Dt(Pt)})}var di=v(mt,2);{var Vi=Dt=>{var Ot=MG(),$t=v(bt(Ot)),zt=_($t);z(()=>W(zt,c(P).details.format)),D(Dt,Ot)};H(di,Dt=>{var Ot;(Ot=c(P).details)!=null&&Ot.format&&Dt(Vi)})}var Ci=v(di,2);{var Qt=Dt=>{var Ot=NG(),$t=v(bt(Ot),2);ii($t,21,()=>c(P).running,Hi,(zt,Ri)=>{var ji=RG(),mn=_(ji);z(Oi=>W(mn,`${c(Ri).name??""} · ${Oi??""} VRAM`),[()=>Ze(c(Ri).size_vram)]),D(zt,ji)}),D(Dt,Ot)},Ft=Dt=>{var Ot=OG();D(Dt,Ot)};H(Ci,Dt=>{c(P).running&&c(P).running.length>0?Dt(Qt):c(P).running!==null&&Dt(Ft,1)})}D(Xe,St)};H(it,Xe=>{c(V)?Xe(he):c(j)?Xe(Ne,1):c(P)&&Xe(Le,2)})}z(()=>{var Xe;return W(je,`Ollama · ${(c(w)||((Xe=c(u))==null?void 0:Xe.model))??""}`)}),U("click",ce,()=>m(R,!1)),U("click",qe,Xe=>Xe.stopPropagation()),U("click",kt,()=>m(R,!1)),D(Z,ce)};H(lt,Z=>{c(R)&&Z(Yt)})}z(Z=>{Be=At(K,1,"icon-hdr-btn svelte-10ayso4",null,Be,{active:c(b)}),W(me,Z),Y=At(O,1,"input-row svelte-10ayso4",null,Y,{"drag-over":c(ue)}),oe=At(ie,1,"textarea-wrap svelte-10ayso4",null,oe,{loading:c(a)}),an(se,"placeholder",c(pt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(Ce)?"Select a model above to start chatting":"AI not configured"),se.disabled=c(a)||!c(pt)},[()=>Ze(c(Mt))]),U("click",K,()=>m(b,!c(b))),ws(Zt,()=>c(de),Z=>m(de,Z)),ws(Ii,()=>c(be),Z=>m(be,Z)),U("click",$,Gi),U("change",T,yi),xs("dragover",O,dn),xs("dragleave",O,fn),xs("drop",O,Sn),U("keydown",se,Ui),Wt(se,()=>c(r),Z=>m(r,Z)),D(o,Bi),Us()}Ys(["click","change","keydown"]);const jG={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"]},$G={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 ww=[],Sw=[],Dw=[];const qv=new Map;let GF=[];const Aw=new Map,kw=new Map;async function P2(){try{ww=(await yF()).map(e=>e.topic)}catch{}}async function T2(){try{const[o,e]=await Promise.all([bF(),CF()]);Sw=o,Dw=e}catch{}}async function M2(){try{const o=await uS();GF=o.map(e=>e.nodeId),Aw.clear(),kw.clear();for(const e of o)e.name&&(Aw.set(e.nodeId,e.name),kw.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!qv.has(e.nodeId))try{qv.set(e.nodeId,await _m(e.nodeId))}catch{}}))}catch{}}function UG(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,d=o.match(a);if(d){const u=d[1],f=qG(u),g=GG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Ph(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Ph(u,0),C=R2(u,1)??Ph(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Ph(u,0),C=R2(u,1)??Ph(u,1),b=Ph(u,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:y}}}return null}function qG(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 GG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Ph(o,e){var s;const i=(s=KF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function R2(o,e){var s;const i=(s=KF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function KF(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 Ku=md.CompletionItemKind;function KG(o,e){return(e?ww.filter(i=>i.startsWith(e)):ww).map(i=>({label:i,kind:Ku.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function ZG(o,e,t){const i=t?[...Sw,...Dw]:Sw;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ku.Value,insertText:s,range:o,detail:Dw.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function XG(o,e){return GF.map(t=>{const i=Aw.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ku.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function ZF(o){return kw.get(o)??o}function YG(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 QG(o,e){const t=qv.get(ZF(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:Ku.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function JG(o,e,t){const i=qv.get(ZF(e));if(!i)return[];const n=YG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ku.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function eK(o,e,t){return(t?$G[e]??[]:jG[e]??[]).map(n=>({label:n,kind:t?Ku.Function:Ku.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let N2=!1;function tK(){N2||(N2=!0,P2(),T2(),M2(),setInterval(P2,15e3),setInterval(T2,1e4),setInterval(M2,6e4),md.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=UG(t);if(!i)return null;const n=o.getWordUntilPosition(e),s=Math.max(t.lastIndexOf("'"),t.lastIndexOf('"')),r=s>=0?s+2:n.startColumn,a={startLineNumber:e.lineNumber,endLineNumber:e.lineNumber,startColumn:r,endColumn:e.column};switch(i.type){case"mqtt":return{suggestions:KG(a,i.prefix)};case"db":return{suggestions:ZG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:XG(a,i.prefix)};case"matter-endpointId":return{suggestions:QG(a,i.nodeId)};case"matter-cluster":return{suggestions:JG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:eK(a,i.cluster,i.isSend)};default:return null}}}))}var iK=B('<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),nK=B('<button class="svelte-1pyfjii">Show git history</button>'),sK=B('<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),oK=B('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),rK=B('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),O2=B('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),aK=B('<ul class="tree-children svelte-1pyfjii"></ul>'),lK=B('<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>'),cK=B('<span class="dirty-dot svelte-1pyfjii">●</span>'),dK=B('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),uK=B('<span class="err-dot svelte-1pyfjii">●</span>'),hK=B('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),fK=B('<span class="dis-spacer svelte-1pyfjii"></span>'),gK=B('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),pK=B('<div class="err svelte-1pyfjii"> </div>'),xK=B('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),mK=B('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),vK=B('<div class="search-status svelte-1pyfjii">Searching…</div>'),_K=B('<div class="search-status search-err svelte-1pyfjii"> </div>'),bK=B('<div class="search-status svelte-1pyfjii">No results.</div>'),CK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),EK=B('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),yK=B('<div class="search-file-group svelte-1pyfjii"><button class="search-file-btn svelte-1pyfjii"><span class="search-fname svelte-1pyfjii"> </span> <span class="search-fcount svelte-1pyfjii"> </span></button> <!></div>'),XC=B("<!> <!>",1),wK=B('<div class="search-status svelte-1pyfjii">No files found.</div>'),SK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),DK=B('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),AK=B('<label class="replace-item svelte-1pyfjii"><input type="checkbox" class="svelte-1pyfjii"/> <span class="replace-checkmark svelte-1pyfjii"></span> <span class="replace-item-path svelte-1pyfjii"> </span> <span class="replace-item-n svelte-1pyfjii"> </span></label>'),kK=B('<div class="replace-confirm svelte-1pyfjii"><div class="replace-confirm-hdr svelte-1pyfjii"><span> </span> <div class="replace-confirm-btns svelte-1pyfjii"><button class="svelte-1pyfjii">Apply</button> <button class="svelte-1pyfjii">Cancel</button></div></div> <div class="replace-confirm-list svelte-1pyfjii"></div></div>'),BK=B('<div class="search-panel svelte-1pyfjii"><div class="search-mode-bar svelte-1pyfjii"><button>Text</button> <button>Files</button> <button class="search-close-btn svelte-1pyfjii" title="Close">×</button></div> <div class="search-input-row svelte-1pyfjii"><input class="svelte-1pyfjii"/> <!></div> <!> <div class="search-results svelte-1pyfjii"><!></div> <!></div>'),FK=B('<div class="history-empty svelte-1pyfjii">Loading…</div>'),LK=B('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),IK=B('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),PK=B('<button class="history-load-more svelte-1pyfjii"> </button>'),TK=B('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),MK=B('<span class="tab-dirty svelte-1pyfjii">●</span>'),RK=B('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),NK=B('<div class="tab-bar-wrap svelte-1pyfjii"><button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs left">‹</button> <div class="tab-bar svelte-1pyfjii" role="tablist"></div> <button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs right">›</button></div>'),OK=B('<li class="changes-item svelte-1pyfjii"><label class="changes-cb-wrap svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-checkmark svelte-1pyfjii"></span></label> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),HK=B('<div class="changes-err svelte-1pyfjii"> </div>'),WK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),zK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),VK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),jK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),$K=B('<span class="git-behind svelte-1pyfjii"> </span>'),UK=B('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),qK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save & Commit</button></div>',1),GK=B('<button class="danger svelte-1pyfjii">Delete</button>'),KK=B(`<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#Documentation" target="_blank" rel="noopener" class="svelte-1pyfjii">Documentation</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find & Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),ZK=B('<button class="svelte-1pyfjii">Always accept in this session</button>'),XK=B('<button class="svelte-1pyfjii">Disable auto-accept</button>'),YK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),QK=B('<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>'),JK=B('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),eZ=B('<div class="diff-container svelte-1pyfjii"></div>'),tZ=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),iZ=B('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),nZ=B('<span class="log-file svelte-1pyfjii"> </span>'),sZ=B("<option> </option>"),oZ=B('<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),rZ=B('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),aZ=B('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),lZ=B('<div class="log-body svelte-1pyfjii"><!> <!></div>'),cZ=B('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),dZ=B('<!> <!> <!> <!> <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="Find in files / Find files (Ctrl+Shift+F)">⌕</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 uZ(o,e){$s(e,!0);let t=F(wi([])),i=F(wi({})),n=F(null),s=F(null),r=F(null),a=F(null),d=F(wi([])),u=F(null),f=F(!1),g=F(""),p=F(!1),C=F(!0),b=F(null),y=F(!1),w=F(!1),A=F(null),I=F(wi([])),M=F(!1),R=F(30),P=F(void 0),V=null,j=null,ee=null,ae=F(!1),ge=F(""),X=F(!1),de=F(void 0),be=F(wi(new Set));const re=new Set;let ue=F(wi(new Set)),Ae=F(wi([])),Me=F(!1),ve=F("text"),Oe=F(""),Ue=F(!1),Ce=F(!1),pt=F(!1),Mt=F(""),at=F(wi([])),Ct=F(wi([])),ye=F(!1),It=F(!1),Jt=F(""),Ke=F(void 0),Qe=F(wi([])),Et=F(!1),Xt=F(!1),fi=null,ui=F(void 0),Di=F(!1),_i=F(!1),Ze=null;function we(){c(ui)&&(m(Di,c(ui).scrollLeft>0),m(_i,c(ui).scrollLeft+c(ui).clientWidth<c(ui).scrollWidth-1))}function ni(G){var fe;(fe=c(ui))==null||fe.scrollBy({left:G*200,behavior:"smooth"})}function bi(G="text"){m(Me,!0),m(ve,G,!0),hl().then(()=>{var fe;return(fe=c(Ke))==null?void 0:fe.focus()})}function ei(){m(Me,!1),m(Oe,""),m(at,[],!0),m(Ct,[],!0),m(ye,!1),m(Jt,""),m(pt,!1),m(Et,!1)}function Gi(){fi&&clearTimeout(fi),fi=setTimeout(sn,300)}async function sn(){const G=c(Oe).trim();if(!G){m(at,[],!0),m(Ct,[],!0),m(ye,!1),m(Jt,"");return}m(It,!0),m(Jt,"");try{if(c(ve)==="files"){const fe=await c2(G,{mode:"files"});m(Ct,fe.results,!0),m(ye,fe.truncated,!0)}else{const fe=await c2(G,{regex:c(Ce),caseSensitive:c(Ue)});m(at,fe.results,!0),m(ye,fe.truncated,!0)}}catch(fe){m(Jt,fe.message||"Search failed",!0)}finally{m(It,!1)}}async function yi(G,fe){await kt(G),Bi&&(Bi.revealLineInCenter(fe.line),Bi.setPosition({lineNumber:fe.line,column:fe.col}),Bi.focus())}function Sn(G){return G.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function dn(){if(!c(Oe).trim()||!c(at).length)return;m(Xt,!0);const G=[],fe="g"+(c(Ue)?"":"i");for(const ct of c(at))try{const ut=await Vx(ct.path),rt=c(Ce)?new RegExp(c(Oe),fe):new RegExp(Sn(c(Oe)),fe),ti=ut.content.replace(rt,c(Mt));ti!==ut.content&&G.push({path:ct.path,checked:!0,original:ut.content,replaced:ti,changes:ct.matches.length})}catch{}m(Qe,G,!0),m(Xt,!1),m(Et,!0)}async function fn(){for(const G of c(Qe).filter(fe=>fe.checked))try{await Ql(G.path,G.replaced);const fe=c(d).find(ct=>ct.path===G.path);fe!=null&&fe.model&&(fe.model.setValue(G.replaced),fe.savedContent=G.replaced,fe.dirty=!1)}catch{}m(Et,!1),await sn()}function gn(G){G.ctrlKey&&G.shiftKey&&G.key==="F"&&(G.preventDefault(),c(Me)&&c(ve)==="text"?ei():bi("text"))}Kn(()=>{c(ui)&&(Ze==null||Ze.disconnect(),Ze=new ResizeObserver(we),Ze.observe(c(ui)),we())});let xt=F("all"),Kt=F(""),Ti=F(!1);const zi=["all","debug","info","warn","error"],ri={debug:0,info:1,warn:2,error:3};function Ni(G){if(c(xt)!=="all"&&ri[G.level]<ri[c(xt)])return!1;if(!c(Kt))return!0;if(c(Ti))try{return new RegExp(c(Kt),"i").test(G.msg)}catch{}return G.msg.toLowerCase().includes(c(Kt).toLowerCase())}let Ui=F(null);function nn(G){const fe=G.currentTarget.getBoundingClientRect();m(Ui,{x:fe.left,y:fe.top},!0)}function pi(){m(Ui,null)}let Wi,Bi,en,Mi=!1,Ki=null,qi=null,K=!1,Be=!1,Ye=F(!1),st=F(null),Gt=F(!1),hi=F(!1),yt=F(void 0),ht=null,Q=null,We=null,le=F(wi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),pe=F(wi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),oi=F(wi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),gi=F(wi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),ne=!1,tt=0,Ht=0,Vt=!1,jt=0,Te=0,Je=!1,Zt=0,ai=0,Ii=!1,li=0,me=0;const Ve=Lt(()=>{var G;return c(u)&&c(se)?{path:c(u),content:((G=c(se).model)==null?void 0:G.getValue())??c(se).savedContent}:null}),ot=Lt(()=>{var G;return new Set(((G=c(b))==null?void 0:G.changes.map(fe=>fe.file))??[])}),Re=Lt(()=>{const G=new Set;for(const fe of c(ot)){const ct=fe.split("/");for(let ut=1;ut<ct.length;ut++)G.add(ct.slice(0,ut).join("/"))}return G});let wt=F(!1),_t=F(!1),Ut=F(""),$=F(!1),T=F(""),O=F(wi(new Set));async function Y(){var G;if(!(!c(Ut).trim()||c(O).size===0)){m($,!0),m(T,"");try{const fe=c(b).changes.filter(ct=>c(O).has(ct.file)).map(ct=>ct.file);if(fe.length===c(b).changes.length?await h2(c(Ut).trim()):await u2(fe,c(Ut).trim()),c(w))try{await $x()}catch{}m(Ut,""),await he(),(G=c(b))!=null&&G.changes.length?m(O,new Set(c(b).changes.map(ct=>ct.file)),!0):m(wt,!1)}catch(fe){m(T,fe.message,!0)}finally{m($,!1)}}}let ie,oe,se=Lt(()=>c(d).find(G=>G.path===c(u))??null);const Se="she-tabs",He="she-active-tab",_e="she-log-open",Fe="she-chat-open";let Pe=Tu(e,"active",3,!0);Kn(()=>{Be&&(localStorage.setItem(Se,JSON.stringify(c(d).map(G=>G.path))),c(u)?localStorage.setItem(He,c(u)):localStorage.removeItem(He))}),Kn(()=>{Be&&localStorage.setItem(Fe,String(c(Ye)))}),Kn(()=>{Pe()&&Bi&&Bi.layout()});const lt=`
|
|
153
|
-
declare const she: {
|
|
154
|
-
log(...args: any[]): void;
|
|
155
|
-
info(...args: any[]): void;
|
|
156
|
-
debug(...args: any[]): void;
|
|
157
|
-
warn(...args: any[]): void;
|
|
158
|
-
error(...args: any[]): void;
|
|
159
|
-
now(): number;
|
|
160
|
-
/** Schedule with a cron string, Date, node-schedule literal, array of any of those,
|
|
161
|
-
* or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
|
|
162
|
-
* opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
|
|
163
|
-
schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
|
|
164
|
-
mqtt: {
|
|
165
|
-
sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
|
|
166
|
-
pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
|
|
167
|
-
get(topic: string): any;
|
|
168
|
-
getProp(topic: string, ...prop: string[]): any;
|
|
169
|
-
link(source: string | string[], target: string | string[], value?: any): void;
|
|
170
|
-
age(topic: string): number;
|
|
171
|
-
or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
172
|
-
and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
173
|
-
max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
|
|
174
|
-
min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
|
|
175
|
-
timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
176
|
-
};
|
|
177
|
-
http: {
|
|
178
|
-
fetch(url: string, opts?: RequestInit): Promise<any>;
|
|
179
|
-
sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
|
|
180
|
-
};
|
|
181
|
-
api: {
|
|
182
|
-
get(path: string, handler: (req: any) => any): void;
|
|
183
|
-
post(path: string, handler: (req: any, body: any) => any): void;
|
|
184
|
-
put(path: string, handler: (req: any, body: any) => any): void;
|
|
185
|
-
delete(path: string, handler: (req: any) => any): void;
|
|
186
|
-
};
|
|
187
|
-
db: {
|
|
188
|
-
get(id: string): any;
|
|
189
|
-
set(id: string, doc: object): void;
|
|
190
|
-
extend(id: string, partial: object): void;
|
|
191
|
-
delete(id: string): void;
|
|
192
|
-
prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
|
|
193
|
-
sub(pattern: string, callback: (id: string, doc: any) => void): void;
|
|
194
|
-
query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
|
|
195
|
-
};
|
|
196
|
-
matter: {
|
|
197
|
-
sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
|
|
198
|
-
unsub(listenerId: number): void;
|
|
199
|
-
get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
|
|
200
|
-
send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
|
|
201
|
-
on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
|
|
202
|
-
};
|
|
203
|
-
influx: {
|
|
204
|
-
query(fluxQuery: string): Promise<any[]>;
|
|
205
|
-
write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
|
|
206
|
-
getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
|
|
207
|
-
getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
|
|
208
|
-
};
|
|
209
|
-
elastic: {
|
|
210
|
-
search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
|
|
211
|
-
get(index: string, id: string): Promise<object | null>;
|
|
212
|
-
index(index: string, doc: object, id?: string): Promise<{ id: string }>;
|
|
213
|
-
find(index: string, field: string, text: string, size?: number): Promise<any[]>;
|
|
214
|
-
};
|
|
215
|
-
};
|
|
216
|
-
`;function Yt(G){c(d).some(fe=>fe.dirty)&&G.preventDefault()}Xs(async()=>{var ti,Fi;window.addEventListener("beforeunload",Yt),m(C,localStorage.getItem(_e)!=="false"),m(Ye,localStorage.getItem(Fe)==="true"),md.typescript.javascriptDefaults.addExtraLib(lt,"she-api.d.ts"),md.typescript.javascriptDefaults.setCompilerOptions({target:md.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),md.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),tK(),en=Vo.createModel("","javascript"),Bi=Vo.create(Wi,{model:en,theme:Jh(),automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Bi.addCommand(x1.CtrlCmd|x1.Shift|Nk.KeyF,()=>{c(Me)&&c(ve)==="text"?ei():bi("text")}),(ti=Bi.getDomNode())==null||ti.addEventListener("keydown",Li=>{(Li.ctrlKey||Li.metaKey)&&Li.key==="s"&&(Li.preventDefault(),Le())}),Bi.onDidChangeModelContent(()=>{if(Mi)return;const Li=c(d).find(Yi=>Yi.path===c(u));Li&&(Li.dirty=Bi.getValue()!==Li.savedContent),Tn&&clearTimeout(Tn),Tn=setTimeout(Gn,600)}),Ki=pS(Li=>{const Yi=Li.msg.match(/^([^:\n]+\.js):\s/);if(!Yi)return;const Zi=Yi[1];if(Li.level==="error")re.add(Zi),c(be).has(Zi)||m(be,new Set([...c(be),Zi]),!0);else if(re.has(Zi)){re.delete(Zi);const un=new Set(c(be));un.delete(Zi),m(be,un,!0)}const pn=c(d).find(un=>un.path===Zi);pn&&(pn.logEntries=[...pn.logEntries.slice(-199),Li],pn.path===c(u)&&c(C)&&c(de)&&hl().then(()=>{c(de)&&(c(de).scrollTop=c(de).scrollHeight)}))}),qi=Xo("script:running",Li=>{const Yi=Li.path;if(Li.running)m(ue,new Set([...c(ue),Yi]),!0);else{const Zi=new Set(c(ue));Zi.delete(Yi),m(ue,Zi,!0)}}),await Z(),he();try{const Li=await Pl();typeof Li.gitAutoCommit=="boolean"&&m(y,Li.gitAutoCommit,!0),typeof Li.gitAutoPush=="boolean"&&m(w,Li.gitAutoPush,!0)}catch{}try{const Li=await getDaemonStatus();m(ue,new Set(Li.runningScripts??[]),!0)}catch{}const G=JSON.parse(localStorage.getItem(Se)??"[]"),fe=localStorage.getItem(He);for(const Li of G)await je(Li,!1);const ct=fe&&c(d).some(Li=>Li.path===fe)?fe:((Fi=c(d)[0])==null?void 0:Fi.path)??null;ct&&await dt(ct),Be=!0;const ut=()=>Vo.setTheme(Jh()),rt=window.matchMedia("(prefers-color-scheme: dark)");return window.addEventListener("she:theme-changed",ut),rt.addEventListener("change",ut),()=>{window.removeEventListener("she:theme-changed",ut),rt.removeEventListener("change",ut)}}),Vp(()=>{var G;window.removeEventListener("beforeunload",Yt),Ze==null||Ze.disconnect(),Tn&&clearTimeout(Tn),Ki==null||Ki(),qi==null||qi();for(const fe of c(d))(G=fe.model)==null||G.dispose();en==null||en.dispose(),Bi==null||Bi.dispose()});async function Z(){try{if(m(t,await j$(),!0),!K){let fe=function(ct){for(const ut of ct)ut.type==="dir"&&(G[ut.path]=!0,ut.children&&fe(ut.children))};K=!0;const G={};fe(c(t)),m(i,G,!0)}m(g,"")}catch(G){m(g,G.message,!0)}}function ce(G){c(i)[G]=!c(i)[G]}function qe(G){switch(G){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return G}}async function Bt(G,fe){try{fe?await Ql(`${G}/.shelib`,""):await jx(`${G}/.shelib`),await Z(),await Ne("all",fe?`lib ${G}`:`unlib ${G}`)}catch(ct){m(g,ct.message,!0)}}async function ze(G,fe){const ct=G.split("/").pop(),ut=G.includes("/")?G.slice(0,G.lastIndexOf("/")):"",rt=ut?`${ut}/.shedisable-${ct}`:`.shedisable-${ct}`;try{fe?await Ql(rt,""):await jx(rt),await Z(),await Ne("all",fe?`disable ${G}`:`enable ${G}`)}catch(ti){m(g,ti.message,!0)}}async function je(G,fe=!0){var ct;if(c(d).some(ut=>ut.path===G)){fe&&await dt(G);return}try{const{content:ut}=await Vx(G),rt=F7.parse(`file:///she-scripts/${encodeURIComponent(G)}`);(ct=Vo.getModel(rt))==null||ct.dispose();const ti=Vo.createModel(ut,Is(G),rt);let Fi=[];try{Fi=(await fS()).filter(Yi=>{const Zi=Yi.msg.match(/^([^:\n]+\.js):\s/);return Zi&&Zi[1]===G})}catch{}m(d,[...c(d),{path:G,dirty:!1,savedContent:ut,model:ti,logEntries:Fi}],!0),fe&&await dt(G)}catch(ut){m(g,ut.message,!0)}}async function kt(G){await je(G,!0)}async function dt(G){var ct,ut;const fe=c(d).find(rt=>rt.path===G);fe!=null&&fe.model&&(mt(),m(st,null),m(u,G,!0),Mi=!0,Bi.setModel(fe.model),Mi=!1,Gn(),await hl(),(ut=(ct=c(ui))==null?void 0:ct.querySelector(`[data-tab-path="${CSS.escape(G)}"]`))==null||ut.scrollIntoView({inline:"nearest",block:"nearest"}),we())}async function it(G){var ut;const fe=c(d).find(rt=>rt.path===G);if(!fe||fe.dirty&&!await ie.show(`Discard unsaved changes to ${G}?`,{confirm:"Discard"}))return;const ct=c(d).findIndex(rt=>rt.path===G);if((ut=fe.model)==null||ut.dispose(),m(d,c(d).filter(rt=>rt.path!==G),!0),c(u)===G){const rt=c(d)[ct]??c(d)[ct-1]??null;rt?await dt(rt.path):(m(u,null),Bi.setModel(en))}}async function he(){try{m(b,await U$(),!0)}catch{m(b,null)}}async function Ne(G,fe){if(c(b))try{if(G==="all"?await h2(fe):await u2(G,fe),c(w))try{await $x()}catch{}await he()}catch{}}async function Le(){if(!c(u))return;const G=c(d).find(fe=>fe.path===c(u));if(G){m(f,!0);try{const fe=Bi.getValue();await Ql(c(u),fe),G.savedContent=fe,G.dirty=!1,m(g,""),c(y)?await Ne([c(u)],`update ${c(u)}`):he()}catch(fe){m(g,fe.message,!0)}finally{m(f,!1)}}}async function Xe(){if(!c(u)||(await Le(),c(g)))return;const G=await oe.show("Commit message:",{initial:`update ${c(u)}`,placeholder:"Update script",confirm:"Commit"});if(G)try{if(await K$(c(u),G),c(w))try{await $x()}catch{}he()}catch(fe){m(g,"Git: "+fe.message)}}async function St(){m(p,!1);try{await $x(),await he(),m(g,"")}catch(G){m(g,"Git push: "+G.message)}}function et(G){const fe=Date.now()-new Date(G).getTime(),ct=Math.floor(fe/1e3);if(ct<60)return"just now";const ut=Math.floor(ct/60);if(ut<60)return`${ut}m ago`;const rt=Math.floor(ut/60);if(rt<24)return`${rt}h ago`;const ti=Math.floor(rt/24);if(ti<30)return`${ti}d ago`;const Fi=Math.floor(ti/30);return Fi<12?`${Fi}mo ago`:`${Math.floor(Fi/12)}y ago`}async function nt(G){Ci(),m(A,G,!0),m(I,[],!0),m(R,30),await xe()}async function xe(){if(c(A)){m(M,!0);try{m(I,await Z$(c(A).path,c(R)),!0)}catch{}finally{m(M,!1)}}}async function $e(){m(R,c(R)+30),await xe()}function ft(){m(A,null),m(I,[],!0),mt()}async function Nt(G){if(!c(A))return;mt(),await kt(c(A).path);let fe;try{fe=await X$(G.hash,c(A).path)}catch{return}if(m(ge,G.hash,!0),m(X,fe.binary,!0),m(ae,!0),fe.binary||fe.content===null)return;let ct="";const ut=c(d).find(ti=>ti.path===c(A).path);if(ut!=null&&ut.model)ct=ut.model.getValue();else try{ct=(await Vx(c(A).path)).content}catch{}if(await hl(),!c(P))return;const rt=Is(c(A).path);j=Vo.createModel(fe.content,rt),ee=Vo.createModel(ct,rt),V=Vo.createDiffEditor(c(P),{theme:Jh(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),V.setModel({original:j,modified:ee})}function mt(){m(ae,!1),m(X,!1),V==null||V.dispose(),V=null,j==null||j.dispose(),j=null,ee==null||ee.dispose(),ee=null}async function Pt(){const G=c(n)?`${c(n)}/`:"",fe=await oe.show("New script name:",{placeholder:G?`${G}myscript.js`:"myscript.js",initial:G,confirm:"Create"});if(!fe)return;const ct=fe.endsWith(".js")?`/* global she */
|
|
217
|
-
'use strict';
|
|
218
|
-
|
|
219
|
-
`:"";await Ql(fe,ct),await Z(),await je(fe,!0)}async function di(){const G=c(n)?`${c(n)}/`:"",fe=await oe.show("New folder name:",{placeholder:G?`${G}subfolder`:"myfolder",initial:G,confirm:"Create"});fe&&(await $$(fe),c(i)[fe]=!0,await Z())}function Vi(G,fe){G.preventDefault();const ct=180,ut=200,rt=Math.min(G.clientX,window.innerWidth-ct),ti=Math.min(G.clientY,window.innerHeight-ut);m(s,{x:rt,y:ti,entry:fe},!0)}function Ci(){m(s,null)}async function Qt(G){Ci(),m(n,G,!0),c(i)[G]=!0,await Pt()}async function Ft(G){Ci(),m(n,G,!0),await di()}async function Dt(G){Ci();const fe=G.path.includes("/")?G.path.slice(0,G.path.lastIndexOf("/")+1):"",ct=await oe.show(G.type==="dir"?"Rename folder:":"Rename script:",{initial:G.name,placeholder:G.name,confirm:"Rename"});if(!ct||ct===G.name)return;const ut=fe+ct;try{await d2(G.path,ut);const rt=c(d).find(ti=>ti.path===G.path);rt&&(rt.path=ut,c(u)===G.path&&m(u,ut)),await Z(),await Ne("all",`rename ${G.path} → ${ut}`)}catch(rt){m(g,rt.message,!0)}}function Ot(G){if(!G.children)return 0;let fe=0;for(const ct of G.children)fe++,ct.type==="dir"&&(fe+=Ot(ct));return fe}async function $t(G){Ci();let fe=`Delete ${G.type==="dir"?"folder":"file"} "${G.path}"?`;if(G.type==="dir"){const ct=Ot(G);ct>0&&(fe+=` This will also delete ${ct} item${ct===1?"":"s"} inside.`)}if(await ie.show(fe,{confirm:"Delete",danger:!0})){if(G.type==="dir")for(const ct of[...c(d)])ct.path.startsWith(G.path+"/")&&await it(ct.path);else await it(G.path);await jx(G.path),await Z(),await Ne("all",`delete ${G.path}`)}}async function zt(G){Ci();const{content:fe}=await Vx(G.path);c(Ae).some(ct=>ct.name===G.path)||m(Ae,[...c(Ae),{name:G.path,content:fe}],!0),m(Ye,!0)}function Ri(G,fe){var ct;m(r,fe,!0),(ct=G.dataTransfer)==null||ct.setData("text/plain",fe)}function ji(G,fe){if(G.preventDefault(),c(r)&&(c(r)===fe||fe.startsWith(c(r)+"/"))){G.dataTransfer&&(G.dataTransfer.dropEffect="none"),m(a,null);return}G.dataTransfer&&(G.dataTransfer.dropEffect="move"),m(a,fe,!0)}function mn(){m(a,null)}async function Oi(G,fe){var Fi,Li,Yi;G.preventDefault(),m(a,null);const ct=Array.from(((Fi=G.dataTransfer)==null?void 0:Fi.items)??[]).filter(Zi=>Zi.kind==="file");if(ct.length>0&&!c(r)){for(const Zi of ct){const pn=(Li=Zi.webkitGetAsEntry)==null?void 0:Li.call(Zi);pn&&await An(pn,fe,!0)}await Z();return}const ut=c(r)??((Yi=G.dataTransfer)==null?void 0:Yi.getData("text/plain"));if(m(r,null),!ut||ut===fe||fe.startsWith(ut+"/"))return;const rt=ut.split("/").pop(),ti=fe?`${fe}/${rt}`:rt;if(ti!==ut)try{await d2(ut,ti);for(const Zi of c(d))if(Zi.path===ut)c(u)===ut&&m(u,ti,!0),Zi.path=ti;else if(Zi.path.startsWith(ut+"/")){const pn=ti+Zi.path.slice(ut.length);c(u)===Zi.path&&m(u,pn),Zi.path=pn}await Z(),await Ne("all",`rename ${ut} → ${ti}`)}catch(Zi){m(g,Zi.message,!0)}}async function An(G,fe,ct){if(G.isFile){const rt=await(await new Promise((Fi,Li)=>G.file(Fi,Li))).text(),ti=fe?`${fe}/${G.name}`:G.name;await Ql(ti,rt),ct&&G.name.endsWith(".js")&&await ze(ti,!0)}else if(G.isDirectory){const ut=G.createReader();let rt=[],ti;do ti=await new Promise((Fi,Li)=>ut.readEntries(Fi,Li)),rt=[...rt,...ti];while(ti.length>0);for(const Fi of rt)await An(Fi,fe?`${fe}/${G.name}`:G.name,!1);if(ct){const Fi=fe?`${fe}/${G.name}`:G.name;await ze(Fi,!0)}}}async function Jn(){if(!c(u)||!await ie.show(`Delete ${c(u)}?`,{confirm:"Delete",danger:!0}))return;const G=c(u);await it(G),await jx(G),await Z(),await Ne("all",`delete ${G}`)}function In(){c(se)&&(c(se).logEntries=[])}function es(){m(C,!c(C)),localStorage.setItem(_e,String(c(C)))}function Ji(G){return new Date(G).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Is(G){var ut;const fe=((ut=G.split(".").pop())==null?void 0:ut.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"}[fe]??"plaintext"}let Tn=null;async function Gn(){const G=c(d).find(ct=>ct.path===c(u));if(!(G!=null&&G.model))return;const fe=G.model;try{const ti=(await(await(await md.typescript.getJavaScriptWorker())(fe.uri)).getSyntacticDiagnostics(fe.uri.toString())).map(Fi=>{const Li=fe.getPositionAt(Fi.start??0),Yi=fe.getPositionAt((Fi.start??0)+(Fi.length??0));return{severity:L7.Error,startLineNumber:Li.lineNumber,startColumn:Li.column,endLineNumber:Yi.lineNumber,endColumn:Yi.column,message:typeof Fi.messageText=="string"?Fi.messageText:JSON.stringify(Fi.messageText),source:"she-syntax"}});if(Vo.setModelMarkers(fe,"she-syntax",ti),c(u)){if(ti.length>0)re.add(c(u)),c(be).has(c(u))||m(be,new Set([...c(be),c(u)]),!0);else if(re.has(c(u))){re.delete(c(u));const Fi=new Set(c(be));Fi.delete(c(u)),m(be,Fi,!0)}}}catch{}}function vs(G){ne=!0,tt=G.clientX,Ht=c(le),G.preventDefault()}function ir(G){Vt=!0,jt=G.clientY,Te=c(pe),G.preventDefault()}function zr(G){Je=!0,Zt=G.clientX,ai=c(oi),G.preventDefault()}function Xa(G){Ii=!0,li=G.clientY,me=c(gi),G.preventDefault()}function zl(G){ne&&m(le,Math.max(140,Math.min(500,Ht+G.clientX-tt)),!0),Vt&&m(pe,Math.max(60,Math.min(500,Te-(G.clientY-jt))),!0),Je&&m(oi,Math.max(200,Math.min(700,ai-(G.clientX-Zt))),!0),Ii&&m(gi,Math.max(80,Math.min(600,me-(G.clientY-li))),!0)}function pr(){ne&&(ne=!1,localStorage.setItem("she-scripts-sidebar-width",String(c(le)))),Vt&&(Vt=!1,localStorage.setItem("she-scripts-log-height",String(c(pe)))),Je&&(Je=!1,localStorage.setItem("she-scripts-chat-width",String(c(oi)))),Ii&&(Ii=!1,localStorage.setItem("she-scripts-history-height",String(c(gi))))}function Vr(G){(G.ctrlKey||G.metaKey)&&G.key==="s"&&(G.preventDefault(),Le()),G.key==="Escape"&&(m(p,!1),m(s,null),m(_t,!1))}async function Qc(G,fe){const ct=await oe.show("Save new script as:",{placeholder:"myscript.js",initial:G,confirm:"Create"});if(ct)try{await Ql(ct,fe),await Z(),await je(ct,!0)}catch(ut){m(g,ut.message,!0)}}async function Ps(G){var ct,ut;if(c(Gt)&&c(u)){m(st,G,!0),await ao();return}if(m(st,G,!0),await hl(),!c(yt))return;Q==null||Q.dispose(),We==null||We.dispose(),ht==null||ht.dispose();const fe=((ut=(ct=c(se))==null?void 0:ct.model)==null?void 0:ut.getValue())??"";Q=Vo.createModel(fe,"javascript"),We=Vo.createModel(G,"javascript"),ht=Vo.createDiffEditor(c(yt),{theme:Jh(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),ht.setModel({original:Q,modified:We})}Kn(()=>{c(u),m(Gt,!1),m(hi,!1)});async function ao(){if(c(st)===null||!c(u))return;const G=c(st);m(st,null);const fe=c(d).find(ct=>ct.path===c(u));fe!=null&&fe.model&&(Mi=!0,fe.model.setValue(G),Mi=!1,fe.dirty=!1,fe.savedContent=G);try{await Ql(c(u),G),m(g,""),c(y)?await Ne([c(u)],`update ${c(u)}`):he()}catch(ct){m(g,ct.message,!0)}Vl()}function ah(){m(st,null),Vl()}function Vl(){ht==null||ht.dispose(),ht=null,Q==null||Q.dispose(),Q=null,We==null||We.dispose(),We=null}var nr=dZ();xs("keydown",Rd,Vr),xs("mousemove",Rd,zl),xs("mouseup",Rd,pr);var Jc=bt(nr);gs(Yc(Jc,{}),G=>ie=G,()=>ie);var jl=v(Jc,2);gs(iq(jl,{}),G=>oe=G,()=>oe);var Ya=v(jl,2);{var Cf=G=>{var fe=oK(),ct=bt(fe),ut=v(ct,2);let rt;var ti=_(ut);{var Fi=Yi=>{var Zi=iK(),pn=bt(Zi),un=v(pn,2),Dn=v(un,4),wn=v(Dn,2);U("click",pn,()=>Qt(c(s).entry.path)),U("click",un,()=>Ft(c(s).entry.path)),U("click",Dn,()=>Dt(c(s).entry)),U("click",wn,()=>$t(c(s).entry)),D(Yi,Zi)},Li=Yi=>{var Zi=sK(),pn=bt(Zi),un=v(pn,2),Dn=v(un,2),wn=v(Dn,2);{var kn=bn=>{var $n=nK();U("click",$n,()=>nt(c(s).entry)),D(bn,$n)};H(wn,bn=>{c(b)&&bn(kn)})}var us=v(wn,4);U("click",pn,()=>kt(c(s).entry.path)),U("click",un,()=>Dt(c(s).entry)),U("click",Dn,()=>zt(c(s).entry)),U("click",us,()=>$t(c(s).entry)),D(Yi,Zi)};H(ti,Yi=>{c(s).entry.type==="dir"?Yi(Fi):Yi(Li,-1)})}z(()=>rt=Co(ut,"",rt,{left:`${c(s).x??""}px`,top:`${c(s).y??""}px`})),U("click",ct,Ci),U("contextmenu",ct,Yi=>{Yi.preventDefault(),Ci()}),D(G,fe)};H(Ya,G=>{c(s)&&G(Cf)})}var ed=v(Ya,2);{var lh=G=>{var fe=rK();let ct;z(()=>ct=Co(fe,"",ct,{left:`${c(Ui).x??""}px`,top:`${c(Ui).y-4}px`})),D(G,fe)};H(ed,G=>{c(Ui)&&G(lh)})}var td=v(ed,2),id=_(td);let $l;{const G=(ut,rt=ab,ti)=>{let Fi=c9(()=>O7(ti==null?void 0:ti(),!1));var Li=Ss(),Yi=bt(Li);{var Zi=un=>{var Dn=lK(),wn=_(Dn);let kn;var us=_(wn);let bn;var $n=v(us,2);let Ns;var bo=_($n),Os=v($n,2);{var ks=x=>{var E=O2();D(x,E)},hs=Lt(()=>c(ot).has(rt().path)||c(Re).has(rt().path));H(Os,x=>{c(hs)&&x(ks)})}var ls=v(Os,2),Ks=_(ls),Mn=v(ls,2),ps=_(Mn),l=v(wn,2);{var h=x=>{var E=aK();ii(E,21,()=>rt().children,k=>k.path,(k,N)=>{G(k,()=>c(N),()=>rt().disabled||c(Fi))}),D(x,E)};H(l,x=>{c(i)[rt().path]&&rt().children&&x(h)})}z(()=>{kn=At(wn,1,"dir-row svelte-1pyfjii",null,kn,{"dir-selected":c(n)===rt().path,"drag-target":c(a)===rt().path}),an(wn,"aria-selected",c(n)===rt().path),bn=At(us,1,"chevron svelte-1pyfjii",null,bn,{open:c(i)[rt().path]}),Ns=At($n,1,"dir-name svelte-1pyfjii",null,Ns,{lib:rt().lib}),W(bo,rt().name),Zo(Ks,rt().lib),Zo(ps,rt().disabled)}),xs("dragstart",wn,x=>Ri(x,rt().path)),xs("dragover",wn,x=>ji(x,rt().path)),xs("dragleave",wn,mn),xs("drop",wn,x=>Oi(x,rt().path)),U("contextmenu",wn,x=>Vi(x,rt())),U("click",us,()=>ce(rt().path)),U("click",$n,()=>{m(n,rt().path,!0),c(i)[rt().path]=!0}),U("keydown",$n,x=>x.key==="Enter"&&m(n,rt().path,!0)),xs("mouseenter",ls,nn),xs("mouseleave",ls,pi),U("change",Ks,()=>Bt(rt().path,!rt().lib)),U("change",ps,()=>ze(rt().path,!rt().disabled)),D(un,Dn)},pn=un=>{const Dn=Lt(()=>c(be).has(rt().path)),wn=Lt(()=>c(ot).has(rt().path)),kn=Lt(()=>c(d).some(Ei=>Ei.path===rt().path&&Ei.dirty)),us=Lt(()=>(rt().name.split(".").pop()??"txt").toUpperCase()),bn=Lt(()=>rt().name.endsWith(".js"));var $n=gK();let Ns;var bo=_($n),Os=_(bo);let ks;var hs=_(Os);let ls;var Ks=_(hs),Mn=v(hs,2),ps=_(Mn),l=v(Mn,2);{var h=Ei=>{var vn=O2();D(Ei,vn)};H(l,Ei=>{c(wn)&&Ei(h)})}var x=v(l);{var E=Ei=>{var vn=cK();D(Ei,vn)};H(x,Ei=>{c(kn)&&Ei(E)})}var k=v(x,2);{var N=Ei=>{var vn=dK();D(Ei,vn)},te=Lt(()=>c(bn)&&c(ue).has(rt().path)&&!c(Dn));H(k,Ei=>{c(te)&&Ei(N)})}var Ee=v(k,2);{var ke=Ei=>{var vn=uK();D(Ei,vn)};H(Ee,Ei=>{c(Dn)&&Ei(ke)})}var gt=v(Os,2);{var xi=Ei=>{var vn=hK();let Nn;var Es=_(vn);z(()=>{Nn=At(vn,1,"dis-label svelte-1pyfjii",null,Nn,{"dis-locked":c(Fi)}),an(vn,"title",c(Fi)?"Disabled by parent directory":"Disable — this script will not be executed"),Zo(Es,rt().disabled),Es.disabled=c(Fi)}),U("change",Es,()=>ze(rt().path,!rt().disabled)),D(Ei,vn)},tn=Ei=>{var vn=fK();D(Ei,vn)};H(gt,Ei=>{c(bn)?Ei(xi):Ei(tn,-1)})}z((Ei,vn,Nn)=>{Ns=At($n,1,"tree-file svelte-1pyfjii",null,Ns,Ei),ks=At(Os,1,"svelte-1pyfjii",null,ks,{lib:rt().lib,dis:rt().disabled,err:c(Dn)}),ls=At(hs,1,`badge badge-${vn??""}`,"svelte-1pyfjii",ls,{"badge-shelib":rt().lib}),W(Ks,Nn),W(ps,rt().name)},[()=>({active:c(d).some(Ei=>Ei.path===rt().path),"active-tab":rt().path===c(u)}),()=>c(us).toLowerCase(),()=>qe(c(us))]),xs("dragstart",$n,Ei=>Ri(Ei,rt().path)),U("contextmenu",$n,Ei=>Vi(Ei,rt())),U("click",Os,()=>kt(rt().path)),D(un,$n)};H(Yi,un=>{rt().type==="dir"?un(Zi):un(pn,-1)})}D(ut,Li)};var pa=_(id),Ef=_(pa),yf=v(Ef,2),Ul=v(yf,2);let fe;var Qa=v(Ul,2),tx=v(pa,2);{var nd=ut=>{var rt=pK(),ti=_(rt);z(()=>W(ti,c(g))),D(ut,rt)};H(tx,ut=>{c(g)&&ut(nd)})}var Fo=v(tx,2);{var ix=ut=>{var rt=BK(),ti=_(rt),Fi=_(ti);let Li;var Yi=v(Fi,2);let Zi;var pn=v(Yi,2),un=v(ti,2),Dn=_(un);gs(Dn,Mn=>m(Ke,Mn),()=>c(Ke));var wn=v(Dn,2);{var kn=Mn=>{var ps=xK(),l=bt(ps);let h;var x=v(l,2);let E;var k=v(x,2);let N;z(()=>{h=At(l,1,"svelte-1pyfjii",null,h,{active:c(Ue)}),E=At(x,1,"svelte-1pyfjii",null,E,{active:c(Ce)}),N=At(k,1,"svelte-1pyfjii",null,N,{active:c(pt)})}),U("click",l,()=>{m(Ue,!c(Ue)),Gi()}),U("click",x,()=>{m(Ce,!c(Ce)),Gi()}),U("click",k,()=>m(pt,!c(pt))),D(Mn,ps)};H(wn,Mn=>{c(ve)==="text"&&Mn(kn)})}var us=v(un,2);{var bn=Mn=>{var ps=mK(),l=_(ps),h=v(l,2),x=_(h);z(E=>{h.disabled=E,W(x,c(Xt)?"…":"Preview")},[()=>!c(Oe).trim()||c(at).length===0||c(Xt)]),Wt(l,()=>c(Mt),E=>m(Mt,E)),U("click",h,dn),D(Mn,ps)};H(us,Mn=>{c(ve)==="text"&&c(pt)&&Mn(bn)})}var $n=v(us,2),Ns=_($n);{var bo=Mn=>{var ps=vK();D(Mn,ps)},Os=Mn=>{var ps=_K(),l=_(ps);z(()=>W(l,c(Jt))),D(Mn,ps)},ks=Mn=>{var ps=Ss(),l=bt(ps);{var h=E=>{var k=Ss(),N=bt(k);{var te=ke=>{var gt=bK();D(ke,gt)},Ee=ke=>{var gt=XC(),xi=bt(gt);{var tn=vn=>{var Nn=CK();D(vn,Nn)};H(xi,vn=>{c(ye)&&vn(tn)})}var Ei=v(xi,2);ii(Ei,17,()=>c(at),Hi,(vn,Nn)=>{var Es=yK(),Hs=_(Es),$r=_(Hs),Ub=_($r),qb=v($r,2),Gb=_(qb),gx=v(Hs,2);ii(gx,17,()=>c(Nn).matches,Hi,(Kb,mh)=>{var Bs=EK(),cd=_(Bs),Zb=_(cd),Xb=v(cd,2),Yb=_(Xb);z(()=>{W(Zb,c(mh).line),W(Yb,c(mh).preview)}),U("click",Bs,()=>yi(c(Nn).path,c(mh))),D(Kb,Bs)}),z(()=>{W(Ub,c(Nn).path),W(Gb,c(Nn).matches.length)}),U("click",Hs,()=>kt(c(Nn).path)),D(vn,Es)}),D(ke,gt)};H(N,ke=>{c(at).length===0?ke(te):ke(Ee,-1)})}D(E,k)},x=E=>{var k=Ss(),N=bt(k);{var te=ke=>{var gt=wK();D(ke,gt)},Ee=ke=>{var gt=XC(),xi=bt(gt);{var tn=vn=>{var Nn=SK();D(vn,Nn)};H(xi,vn=>{c(ye)&&vn(tn)})}var Ei=v(xi,2);ii(Ei,17,()=>c(Ct),Hi,(vn,Nn)=>{var Es=DK(),Hs=_(Es),$r=_(Hs);z(()=>W($r,c(Nn))),U("click",Es,()=>kt(c(Nn))),D(vn,Es)}),D(ke,gt)};H(N,ke=>{c(Ct).length===0?ke(te):ke(Ee,-1)})}D(E,k)};H(l,E=>{c(ve)==="text"?E(h):E(x,-1)})}D(Mn,ps)},hs=Lt(()=>c(Oe).trim());H(Ns,Mn=>{c(It)?Mn(bo):c(Jt)?Mn(Os,1):c(hs)&&Mn(ks,2)})}var ls=v($n,2);{var Ks=Mn=>{var ps=kK(),l=_(ps),h=_(l),x=_(h),E=v(h,2),k=_(E),N=v(k,2),te=v(l,2);ii(te,21,()=>c(Qe),Hi,(Ee,ke,gt)=>{var xi=AK(),tn=_(xi),Ei=v(tn,4),vn=_(Ei),Nn=v(Ei,2),Es=_(Nn);z(()=>{W(vn,c(ke).path),W(Es,`${c(ke).changes??""}×`)}),ws(tn,()=>c(ke).checked,Hs=>c(ke).checked=Hs),D(Ee,xi)}),z((Ee,ke)=>{W(x,`Replace in ${Ee??""} file(s)`),k.disabled=ke},[()=>c(Qe).filter(Ee=>Ee.checked).length,()=>c(Qe).filter(Ee=>Ee.checked).length===0]),U("click",k,fn),U("click",N,()=>m(Et,!1)),D(Mn,ps)};H(ls,Mn=>{c(Et)&&Mn(Ks)})}z(()=>{Li=At(Fi,1,"svelte-1pyfjii",null,Li,{active:c(ve)==="text"}),Zi=At(Yi,1,"svelte-1pyfjii",null,Zi,{active:c(ve)==="files"}),an(Dn,"placeholder",c(ve)==="text"?"Find in files…":"Find files…")}),U("click",Fi,()=>{m(ve,"text"),Gi()}),U("click",Yi,()=>{m(ve,"files"),Gi()}),U("click",pn,ei),U("input",Dn,Gi),U("keydown",Dn,Mn=>Mn.key==="Escape"&&ei()),Wt(Dn,()=>c(Oe),Mn=>m(Oe,Mn)),D(ut,rt)};H(Fo,ut=>{c(Me)&&ut(ix)})}var wf=v(Fo,2),sd=_(wf);let ct;var Sf=v(sd,2);ii(Sf,17,()=>c(t),ut=>ut.path,(ut,rt)=>{G(ut,()=>c(rt))});var Df=v(wf,2);{var Ob=ut=>{var rt=TK();let ti;var Fi=_(rt),Li=v(Fi,2),Yi=_(Li),Zi=_(Yi),pn=v(Yi,2),un=v(Li,2),Dn=_(un);{var wn=bn=>{var $n=FK();D(bn,$n)},kn=bn=>{var $n=LK();D(bn,$n)},us=bn=>{var $n=XC(),Ns=bt($n);ii(Ns,17,()=>c(I),ks=>ks.hash,(ks,hs)=>{var ls=IK(),Ks=_(ls),Mn=_(Ks),ps=v(Ks,2),l=_(ps);z((h,x)=>{W(Mn,c(hs).subject),W(l,`${h??""} · ${x??""}`)},[()=>c(hs).hash.slice(0,7),()=>et(c(hs).date)]),U("click",ls,()=>Nt(c(hs))),D(ks,ls)});var bo=v(Ns,2);{var Os=ks=>{var hs=PK(),ls=_(hs);z(()=>{hs.disabled=c(M),W(ls,c(M)?"Loading…":"Load more")}),U("click",hs,$e),D(ks,hs)};H(bo,ks=>{c(I).length>=c(R)&&ks(Os)})}D(bn,$n)};H(Dn,bn=>{c(M)&&c(I).length===0?bn(wn):c(I).length===0?bn(kn,1):bn(us,-1)})}z(()=>{ti=Co(rt,"",ti,{height:`${c(gi)??""}px`}),an(Yi,"title",c(A).path),W(Zi,`History: ${c(A).name??""}`)}),U("mousedown",Fi,Xa),U("click",pn,ft),D(ut,rt)};H(Df,ut=>{c(A)&&ut(Ob)})}z(()=>{fe=At(Ul,1,"search-toggle svelte-1pyfjii",null,fe,{active:c(Me)}),ct=At(sd,1,"tree-root-drop svelte-1pyfjii",null,ct,{"drag-target":c(a)===""})}),U("click",Ef,Pt),U("click",yf,di),U("click",Ul,()=>c(Me)?ei():bi("text")),U("click",Qa,Z),xs("dragover",sd,ut=>ji(ut,"")),xs("dragleave",sd,mn),xs("drop",sd,ut=>Oi(ut,""))}var nx=v(id,2),sx=v(nx,2),ox=_(sx);{var sr=G=>{var fe=NK(),ct=_(fe),ut=v(ct,2);ii(ut,21,()=>c(d),ti=>ti.path,(ti,Fi)=>{var Li=RK();let Yi;var Zi=_(Li),pn=_(Zi),un=v(Zi,2);{var Dn=kn=>{var us=MK();D(kn,us)};H(un,kn=>{c(Fi).dirty&&kn(Dn)})}var wn=v(un,2);z(kn=>{Yi=At(Li,1,"tab svelte-1pyfjii",null,Yi,{active:c(Fi).path===c(u)}),an(Li,"data-tab-path",c(Fi).path),W(pn,kn)},[()=>c(Fi).path.split("/").pop()]),U("click",Li,()=>dt(c(Fi).path)),U("keydown",Li,kn=>kn.key==="Enter"&&dt(c(Fi).path)),U("click",wn,kn=>{kn.stopPropagation(),it(c(Fi).path)}),D(ti,Li)}),gs(ut,ti=>m(ui,ti),()=>c(ui));var rt=v(ut,2);z(()=>{ct.disabled=!c(Di),rt.disabled=!c(_i)}),U("click",ct,()=>ni(-1)),xs("scroll",ut,we),xs("wheel",ut,ti=>{ti.preventDefault(),c(ui).scrollLeft+=ti.deltaY,we()}),U("click",rt,()=>ni(1)),D(G,fe)};H(ox,G=>{c(d).length>0&&G(sr)})}var Ja=v(ox,2),rx=_(Ja),jr=_(rx),ax=v(rx,2);{var ql=G=>{var fe=UK(),ct=_(fe),ut=_(ct),rt=v(ct,2);{var ti=pn=>{var un=zK(),Dn=_(un),wn=_(Dn),kn=v(Dn,2);{var us=bn=>{var $n=WK(),Ns=bt($n),bo=v(Ns,2),Os=v(_(bo),2);ii(Os,21,()=>c(b).changes,Hi,(l,h)=>{var x=OK(),E=_(x),k=_(E),N=v(E,2),te=_(N),Ee=v(N,2),ke=_(Ee);z(gt=>{Zo(k,gt),W(te,c(h).status),W(ke,c(h).file)},[()=>c(O).has(c(h).file)]),U("change",k,()=>{const gt=new Set(c(O));gt.has(c(h).file)?gt.delete(c(h).file):gt.add(c(h).file),m(O,gt,!0)}),D(l,x)});var ks=v(Os,2),hs=_(ks),ls=v(hs,2),Ks=_(ls),Mn=v(ks,2);{var ps=l=>{var h=HK(),x=_(h);z(()=>W(x,c(T))),D(l,h)};H(Mn,l=>{c(T)&&l(ps)})}z(l=>{var h;ls.disabled=l,W(Ks,c($)?"…":c(O).size===((h=c(b))==null?void 0:h.changes.length)?"Commit all":`Commit ${c(O).size}`)},[()=>!c(Ut).trim()||c($)||c(O).size===0]),U("click",Ns,()=>m(wt,!1)),U("keydown",hs,l=>l.key==="Enter"&&Y()),Wt(hs,()=>c(Ut),l=>m(Ut,l)),U("click",ls,Y),D(bn,$n)};H(kn,bn=>{c(wt)&&bn(us)})}z(()=>{an(Dn,"title",`${c(b).changes.length??""} uncommitted change(s) — click to view`),W(wn,`✎${c(b).changes.length??""}`)}),U("click",Dn,()=>{c(wt)||m(O,new Set(c(b).changes.map(bn=>bn.file)),!0),m(wt,!c(wt)),m(T,"")}),D(pn,un)};H(rt,pn=>{c(b).changes.length>0&&pn(ti)})}var Fi=v(rt,2);{var Li=pn=>{var un=jK(),Dn=_(un),wn=_(Dn),kn=v(Dn,2);{var us=bn=>{var $n=VK(),Ns=bt($n),bo=v(Ns,2),Os=_(bo),ks=_(Os),hs=v(Os,2),ls=_(hs);z(()=>W(ks,`${c(b).ahead??""} unpushed commit(s)`)),U("click",Ns,()=>m(_t,!1)),U("click",ls,()=>{m(_t,!1),St()}),D(bn,$n)};H(kn,bn=>{c(_t)&&bn(us)})}z(()=>{an(Dn,"title",`${c(b).ahead??""} commit(s) ahead of upstream — click to push`),W(wn,`↑${c(b).ahead??""}`)}),U("click",Dn,()=>m(_t,!c(_t))),D(pn,un)};H(Fi,pn=>{c(b).ahead>0&&pn(Li)})}var Yi=v(Fi,2);{var Zi=pn=>{var un=$K(),Dn=_(un);z(()=>{an(un,"title",`${c(b).behind??""} commit(s) behind upstream`),W(Dn,`↓${c(b).behind??""}`)}),D(pn,un)};H(Yi,pn=>{c(b).behind>0&&pn(Zi)})}z(()=>{an(ct,"title",`Branch: ${c(b).branch??""}`),W(ut,`⎇ ${c(b).branch??""}`)}),D(G,fe)};H(ax,G=>{c(b)&&G(ql)})}var lx=v(ax,2),Gl=_(lx),od=_(Gl),ch=_(od),cx=v(od,2),xa=v(Gl,2);{var dh=G=>{var fe=qK(),ct=bt(fe),ut=v(ct,2),rt=_(ut),ti=v(rt,2);U("click",ct,()=>m(p,!1)),U("click",rt,()=>{m(p,!1),Le()}),U("click",ti,()=>{m(p,!1),Xe()}),D(G,fe)};H(xa,G=>{c(p)&&G(dh)})}var dx=v(lx,2);{var Af=G=>{var fe=GK();U("click",fe,Jn),D(G,fe)};H(dx,G=>{c(u)&&G(Af)})}var kf=v(dx,2);let xr;var Hb=v(Ja,2),el=_(Hb),ux=_(el),mr=_(ux);gs(mr,G=>Wi=G,()=>Wi);var rd=v(mr,2);{var hx=G=>{var fe=KK();D(G,fe)};H(rd,G=>{c(u)||G(hx)})}var uh=v(rd,2);{var hh=G=>{var fe=QK(),ct=_(fe),ut=_(ct),rt=v(_(ut)),ti=_(rt),Fi=v(ut,2),Li=_(Fi),Yi=_(Li),Zi=_(Yi),pn=_(Zi),un=v(Zi,2),Dn=v(Yi,2);{var wn=bn=>{var $n=YK(),Ns=bt($n),bo=v(Ns,2),Os=_(bo);{var ks=ls=>{var Ks=ZK();U("click",Ks,()=>{m(hi,!1),m(Gt,!0),ao()}),D(ls,Ks)},hs=ls=>{var Ks=XK();U("click",Ks,()=>{m(hi,!1),m(Gt,!1)}),D(ls,Ks)};H(Os,ls=>{c(Gt)?ls(hs,-1):ls(ks)})}U("click",Ns,()=>m(hi,!1)),D(bn,$n)};H(Dn,bn=>{c(hi)&&bn(wn)})}var kn=v(Li,2),us=v(ct,2);gs(us,bn=>m(yt,bn),()=>c(yt)),z(bn=>{W(ti,bn),W(pn,c(Gt)?"Auto-accept ✓":"Accept")},[()=>{var bn;return(bn=c(u))==null?void 0:bn.split("/").pop()}]),U("click",Zi,ao),U("click",un,()=>m(hi,!c(hi))),U("click",kn,ah),D(G,fe)};H(uh,G=>{c(st)!==null&&G(hh)})}var Bf=v(uh,2);{var fh=G=>{var fe=tZ(),ct=_(fe),ut=_(ct),rt=v(_(ut)),ti=_(rt),Fi=v(rt,2),Li=_(Fi),Yi=v(ut,2),Zi=_(Yi),pn=v(ct,2);{var un=wn=>{var kn=JK();D(wn,kn)},Dn=wn=>{var kn=eZ();gs(kn,us=>m(P,us),()=>c(P)),D(wn,kn)};H(pn,wn=>{c(X)?wn(un):wn(Dn,-1)})}z(wn=>{var kn;W(ti,wn),W(Li,(kn=c(A))==null?void 0:kn.name)},[()=>c(ge).slice(0,7)]),U("click",Zi,mt),D(G,fe)};H(Bf,G=>{c(ae)&&G(fh)})}var ma=v(ux,2);let ad,gh;var Ff=_(ma);{var Wb=G=>{var fe=iZ();U("mousedown",fe,ir),D(G,fe)};H(Ff,G=>{c(C)&&G(Wb)})}var ld=v(Ff,2),Lf=_(ld),If=_(Lf),zb=v(If);{var fx=G=>{var fe=nZ(),ct=_(fe);z(ut=>W(ct,`— ${ut??""}`),[()=>c(u).split("/").pop()]),D(G,fe)};H(zb,G=>{c(u)&&G(fx)})}var Vb=v(Lf,2);{var vr=G=>{var fe=oZ(),ct=bt(fe);ii(ct,21,()=>zi,Hi,(Li,Yi)=>{var Zi=sZ(),pn=_(Zi),un={};z(()=>{W(pn,c(Yi)),un!==(un=c(Yi))&&(Zi.value=(Zi.__value=c(Yi))??"")}),D(Li,Zi)});var ut=v(ct,2),rt=v(ut,2),ti=_(rt),Fi=v(rt,2);Ls(ct,()=>c(xt),Li=>m(xt,Li)),Wt(ut,()=>c(Kt),Li=>m(Kt,Li)),ws(ti,()=>c(Ti),Li=>m(Ti,Li)),U("click",Fi,In),D(G,fe)};H(Vb,G=>{c(C)&&G(vr)})}var ph=v(ld,2);{var jb=G=>{var fe=lZ(),ct=_(fe);ii(ct,17,()=>{var ti;return(((ti=c(se))==null?void 0:ti.logEntries)??[]).filter(Ni)},ti=>ti.ts+ti.msg,(ti,Fi)=>{var Li=rZ(),Yi=_(Li),Zi=_(Yi),pn=v(Yi,2),un=_(pn),Dn=v(pn,2),wn=_(Dn);z((kn,us)=>{At(Li,1,`log-line ${c(Fi).level??""}`,"svelte-1pyfjii"),W(Zi,kn),W(un,us),W(wn,c(Fi).msg)},[()=>Ji(c(Fi).ts),()=>c(Fi).level.toUpperCase()]),D(ti,Li)});var ut=v(ct,2);{var rt=ti=>{var Fi=aZ();D(ti,Fi)};H(ut,ti=>{var Fi;(((Fi=c(se))==null?void 0:Fi.logEntries.length)??0)===0&&ti(rt)})}gs(fe,ti=>m(de,ti),()=>c(de)),D(G,fe)};H(ph,G=>{c(C)&&G(jb)})}var xh=v(el,2);{var $b=G=>{var fe=cZ(),ct=bt(fe),ut=v(ct,2);let rt;var ti=_(ut);VG(ti,{get currentScript(){return c(Ve)},onApply:Ps,onCreateFile:Qc,get extraFiles(){return c(Ae)},set extraFiles(Fi){m(Ae,Fi,!0)}}),z(()=>rt=Co(ut,"",rt,{width:`${c(oi)??""}px`})),U("mousedown",ct,zr),D(G,fe)};H(xh,G=>{c(Ye)&&G($b)})}z(()=>{var G;$l=Co(id,"",$l,{width:`${c(le)??""}px`}),W(jr,c(u)??"No file selected"),od.disabled=!((G=c(se))!=null&&G.dirty)||c(f),W(ch,c(f)?"Saving…":"Save"),cx.disabled=!c(u),xr=At(kf,1,"ai-toggle svelte-1pyfjii",null,xr,{"ai-open":c(Ye)}),an(kf,"title",c(Ye)?"Close AI assistant":"Open AI assistant"),ad=At(ma,1,"log-panel svelte-1pyfjii",null,ad,{collapsed:!c(C)}),gh=Co(ma,"",gh,{height:c(C)?`${c(pe)}px`:"26px"}),W(If,`${c(C)?"▾":"▸"} Script Log `)}),U("keydown",td,gn),U("mousedown",nx,vs),U("click",od,Le),U("click",cx,()=>m(p,!c(p))),U("click",kf,()=>m(Ye,!c(Ye))),U("click",Lf,es),D(o,nr),Us()}Ys(["click","contextmenu","keydown","change","input","mousedown"]);var rg={exports:{}};/* @preserve
|
|
220
|
-
* Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
|
|
221
|
-
* (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
|
222
|
-
*/var hZ=rg.exports,H2;function fZ(){return H2||(H2=1,(function(o,e){(function(t,i){i(e)})(hZ,(function(t){var i="1.9.4";function n(l){var h,x,E,k;for(x=1,E=arguments.length;x<E;x++){k=arguments[x];for(h in k)l[h]=k[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var x=Array.prototype.slice;if(l.bind)return l.bind.apply(l,x.call(arguments,1));var E=x.call(arguments,2);return function(){return l.apply(h,E.length?E.concat(x.call(arguments)):arguments)}}var a=0;function d(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function u(l,h,x){var E,k,N,te;return te=function(){E=!1,k&&(N.apply(x,k),k=!1)},N=function(){E?k=arguments:(l.apply(x,arguments),setTimeout(te,h),E=!0)},N}function f(l,h,x){var E=h[1],k=h[0],N=E-k;return l===E&&x?l:((l-k)%N+N)%N+k}function g(){return!1}function p(l,h){if(h===!1)return l;var x=Math.pow(10,h===void 0?6:h);return Math.round(l*x)/x}function C(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function b(l){return C(l).split(/\s+/)}function y(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var x in h)l.options[x]=h[x];return l.options}function w(l,h,x){var E=[];for(var k in l)E.push(encodeURIComponent(x?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!h||h.indexOf("?")===-1?"?":"&")+E.join("&")}var A=/\{ *([\w_ -]+) *\}/g;function I(l,h){return l.replace(A,function(x,E){var k=h[E];if(k===void 0)throw new Error("No value provided for variable "+x);return typeof k=="function"&&(k=k(h)),k})}var M=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function R(l,h){for(var x=0;x<l.length;x++)if(l[x]===h)return x;return-1}var P="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function V(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var j=0;function ee(l){var h=+new Date,x=Math.max(0,16-(h-j));return j=h+x,window.setTimeout(l,x)}var ae=window.requestAnimationFrame||V("RequestAnimationFrame")||ee,ge=window.cancelAnimationFrame||V("CancelAnimationFrame")||V("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function X(l,h,x){if(x&&ae===ee)l.call(h);else return ae.call(window,r(l,h))}function de(l){l&&ge.call(window,l)}var be={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:d,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:C,splitWords:b,setOptions:y,getParamString:w,template:I,isArray:M,indexOf:R,emptyImageUrl:P,requestFn:ae,cancelFn:ge,requestAnimFrame:X,cancelAnimFrame:de};function re(){}re.extend=function(l){var h=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},x=h.__super__=this.prototype,E=s(x);E.constructor=h,h.prototype=E;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(h[k]=this[k]);return l.statics&&n(h,l.statics),l.includes&&(ue(l.includes),n.apply(null,[E].concat(l.includes))),n(E,l),delete E.statics,delete E.includes,E.options&&(E.options=x.options?s(x.options):{},n(E.options,l.options)),E._initHooks=[],E.callInitHooks=function(){if(!this._initHooksCalled){x.callInitHooks&&x.callInitHooks.call(this),this._initHooksCalled=!0;for(var N=0,te=E._initHooks.length;N<te;N++)E._initHooks[N].call(this)}},h},re.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},re.mergeOptions=function(l){return n(this.prototype.options,l),this},re.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),x=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(x),this};function ue(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=M(l)?l:[l];for(var h=0;h<l.length;h++)l[h]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var Ae={on:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h);else{l=b(l);for(var k=0,N=l.length;k<N;k++)this._on(l[k],h,x)}return this},off:function(l,h,x){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var E in l)this._off(E,l[E],h);else{l=b(l);for(var k=arguments.length===1,N=0,te=l.length;N<te;N++)k?this._off(l[N]):this._off(l[N],h,x)}return this},_on:function(l,h,x,E){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,x)===!1){x===this&&(x=void 0);var k={fn:h,ctx:x};E&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,h,x){var E,k,N;if(this._events&&(E=this._events[l],!!E)){if(arguments.length===1){if(this._firingCount)for(k=0,N=E.length;k<N;k++)E[k].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var te=this._listens(l,h,x);if(te!==!1){var Ee=E[te];this._firingCount&&(Ee.fn=g,this._events[l]=E=E.slice()),E.splice(te,1)}}},fire:function(l,h,x){if(!this.listens(l,x))return this;var E=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var N=0,te=k.length;N<te;N++){var Ee=k[N],ke=Ee.fn;Ee.once&&this.off(l,ke,Ee.ctx),ke.call(Ee.ctx||this,E)}this._firingCount--}}return x&&this._propagateEvent(E),this},listens:function(l,h,x,E){typeof l!="string"&&console.warn('"string" type argument expected');var k=h;typeof h!="function"&&(E=!!h,k=void 0,x=void 0);var N=this._events&&this._events[l];if(N&&N.length&&this._listens(l,k,x)!==!1)return!0;if(E){for(var te in this._eventParents)if(this._eventParents[te].listens(l,h,x,E))return!0}return!1},_listens:function(l,h,x){if(!this._events)return!1;var E=this._events[l]||[];if(!h)return!!E.length;x===this&&(x=void 0);for(var k=0,N=E.length;k<N;k++)if(E[k].fn===h&&E[k].ctx===x)return k;return!1},once:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h,!0);else{l=b(l);for(var k=0,N=l.length;k<N;k++)this._on(l[k],h,x,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[d(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[d(l)],this},_propagateEvent:function(l){for(var h in this._eventParents)this._eventParents[h].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};Ae.addEventListener=Ae.on,Ae.removeEventListener=Ae.clearAllEventListeners=Ae.off,Ae.addOneTimeEventListener=Ae.once,Ae.fireEvent=Ae.fire,Ae.hasEventListeners=Ae.listens;var Me=re.extend(Ae);function ve(l,h,x){this.x=x?Math.round(l):l,this.y=x?Math.round(h):h}var Oe=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};ve.prototype={clone:function(){return new ve(this.x,this.y)},add:function(l){return this.clone()._add(Ue(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ue(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 ve(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new ve(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=Oe(this.x),this.y=Oe(this.y),this},distanceTo:function(l){l=Ue(l);var h=l.x-this.x,x=l.y-this.y;return Math.sqrt(h*h+x*x)},equals:function(l){return l=Ue(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ue(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 Ue(l,h,x){return l instanceof ve?l:M(l)?new ve(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new ve(l.x,l.y):new ve(l,h,x)}function Ce(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}Ce.prototype={extend:function(l){var h,x;if(!l)return this;if(l instanceof ve||typeof l[0]=="number"||"x"in l)h=x=Ue(l);else if(l=pt(l),h=l.min,x=l.max,!h||!x)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=x.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(x.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(x.y,this.max.y)),this},getCenter:function(l){return Ue((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ue(this.min.x,this.max.y)},getTopRight:function(){return Ue(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var h,x;return typeof l[0]=="number"||l instanceof ve?l=Ue(l):l=pt(l),l instanceof Ce?(h=l.min,x=l.max):h=x=l,h.x>=this.min.x&&x.x<=this.max.x&&h.y>=this.min.y&&x.y<=this.max.y},intersects:function(l){l=pt(l);var h=this.min,x=this.max,E=l.min,k=l.max,N=k.x>=h.x&&E.x<=x.x,te=k.y>=h.y&&E.y<=x.y;return N&&te},overlaps:function(l){l=pt(l);var h=this.min,x=this.max,E=l.min,k=l.max,N=k.x>h.x&&E.x<x.x,te=k.y>h.y&&E.y<x.y;return N&&te},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,x=this.max,E=Math.abs(h.x-x.x)*l,k=Math.abs(h.y-x.y)*l;return pt(Ue(h.x-E,h.y-k),Ue(x.x+E,x.y+k))},equals:function(l){return l?(l=pt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function pt(l,h){return!l||l instanceof Ce?l:new Ce(l,h)}function Mt(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}Mt.prototype={extend:function(l){var h=this._southWest,x=this._northEast,E,k;if(l instanceof Ct)E=l,k=l;else if(l instanceof Mt){if(E=l._southWest,k=l._northEast,!E||!k)return this}else return l?this.extend(ye(l)||at(l)):this;return!h&&!x?(this._southWest=new Ct(E.lat,E.lng),this._northEast=new Ct(k.lat,k.lng)):(h.lat=Math.min(E.lat,h.lat),h.lng=Math.min(E.lng,h.lng),x.lat=Math.max(k.lat,x.lat),x.lng=Math.max(k.lng,x.lng)),this},pad:function(l){var h=this._southWest,x=this._northEast,E=Math.abs(h.lat-x.lat)*l,k=Math.abs(h.lng-x.lng)*l;return new Mt(new Ct(h.lat-E,h.lng-k),new Ct(x.lat+E,x.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=ye(l):l=at(l);var h=this._southWest,x=this._northEast,E,k;return l instanceof Mt?(E=l.getSouthWest(),k=l.getNorthEast()):E=k=l,E.lat>=h.lat&&k.lat<=x.lat&&E.lng>=h.lng&&k.lng<=x.lng},intersects:function(l){l=at(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),N=k.lat>=h.lat&&E.lat<=x.lat,te=k.lng>=h.lng&&E.lng<=x.lng;return N&&te},overlaps:function(l){l=at(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),N=k.lat>h.lat&&E.lat<x.lat,te=k.lng>h.lng&&E.lng<x.lng;return N&&te},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=at(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function at(l,h){return l instanceof Mt?l:new Mt(l,h)}function Ct(l,h,x){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,x!==void 0&&(this.alt=+x)}Ct.prototype={equals:function(l,h){if(!l)return!1;l=ye(l);var x=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return x<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return Jt.distance(this,ye(l))},wrap:function(){return Jt.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,x=h/Math.cos(Math.PI/180*this.lat);return at([this.lat-h,this.lng-x],[this.lat+h,this.lng+x])},clone:function(){return new Ct(this.lat,this.lng,this.alt)}};function ye(l,h,x){return l instanceof Ct?l:M(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):h===void 0?null:new Ct(l,h,x)}var It={latLngToPoint:function(l,h){var x=this.projection.project(l),E=this.scale(h);return this.transformation._transform(x,E)},pointToLatLng:function(l,h){var x=this.scale(h),E=this.transformation.untransform(l,x);return this.projection.unproject(E)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var h=this.projection.bounds,x=this.scale(l),E=this.transformation.transform(h.min,x),k=this.transformation.transform(h.max,x);return new Ce(E,k)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,x=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,E=l.alt;return new Ct(x,h,E)},wrapLatLngBounds:function(l){var h=l.getCenter(),x=this.wrapLatLng(h),E=h.lat-x.lat,k=h.lng-x.lng;if(E===0&&k===0)return l;var N=l.getSouthWest(),te=l.getNorthEast(),Ee=new Ct(N.lat-E,N.lng-k),ke=new Ct(te.lat-E,te.lng-k);return new Mt(Ee,ke)}},Jt=n({},It,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var x=Math.PI/180,E=l.lat*x,k=h.lat*x,N=Math.sin((h.lat-l.lat)*x/2),te=Math.sin((h.lng-l.lng)*x/2),Ee=N*N+Math.cos(E)*Math.cos(k)*te*te,ke=2*Math.atan2(Math.sqrt(Ee),Math.sqrt(1-Ee));return this.R*ke}}),Ke=6378137,Qe={R:Ke,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,x=this.MAX_LATITUDE,E=Math.max(Math.min(x,l.lat),-x),k=Math.sin(E*h);return new ve(this.R*l.lng*h,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var h=180/Math.PI;return new Ct((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=Ke*Math.PI;return new Ce([-l,-l],[l,l])})()};function Et(l,h,x,E){if(M(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=h,this._c=x,this._d=E}Et.prototype={transform:function(l,h){return this._transform(l.clone(),h)},_transform:function(l,h){return h=h||1,l.x=h*(this._a*l.x+this._b),l.y=h*(this._c*l.y+this._d),l},untransform:function(l,h){return h=h||1,new ve((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Xt(l,h,x,E){return new Et(l,h,x,E)}var fi=n({},Jt,{code:"EPSG:3857",projection:Qe,transformation:(function(){var l=.5/(Math.PI*Qe.R);return Xt(l,.5,-l,.5)})()}),ui=n({},fi,{code:"EPSG:900913"});function Di(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function _i(l,h){var x="",E,k,N,te,Ee,ke;for(E=0,N=l.length;E<N;E++){for(Ee=l[E],k=0,te=Ee.length;k<te;k++)ke=Ee[k],x+=(k?"L":"M")+ke.x+" "+ke.y;x+=h?pe.svg?"z":"x":""}return x||"M0 0"}var Ze=document.documentElement.style,we="ActiveXObject"in window,ni=we&&!document.addEventListener,bi="msLaunchUri"in navigator&&!("documentMode"in document),ei=le("webkit"),Gi=le("android"),sn=le("android 2")||le("android 3"),yi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Sn=Gi&&le("Google")&&yi<537&&!("AudioNode"in window),dn=!!window.opera,fn=!bi&&le("chrome"),gn=le("gecko")&&!ei&&!dn&&!we,xt=!fn&&le("safari"),Kt=le("phantom"),Ti="OTransition"in Ze,zi=navigator.platform.indexOf("Win")===0,ri=we&&"transition"in Ze,Ni="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!sn,Ui="MozPerspective"in Ze,nn=!window.L_DISABLE_3D&&(ri||Ni||Ui)&&!Ti&&!Kt,pi=typeof orientation<"u"||le("mobile"),Wi=pi&&ei,Bi=pi&&Ni,en=!window.PointerEvent&&window.MSPointerEvent,Mi=!!(window.PointerEvent||en),Ki="ontouchstart"in window||!!window.TouchEvent,qi=!window.L_NO_TOUCH&&(Ki||Mi),K=pi&&dn,Be=pi&&gn,Ye=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,st=(function(){var l=!1;try{var h=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",g,h),window.removeEventListener("testPassiveEventSupport",g,h)}catch{}return l})(),Gt=(function(){return!!document.createElement("canvas").getContext})(),hi=!!(document.createElementNS&&Di("svg").createSVGRect),yt=!!hi&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),ht=!hi&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var h=l.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}})(),Q=navigator.platform.indexOf("Mac")===0,We=navigator.platform.indexOf("Linux")===0;function le(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var pe={ie:we,ielt9:ni,edge:bi,webkit:ei,android:Gi,android23:sn,androidStock:Sn,opera:dn,chrome:fn,gecko:gn,safari:xt,phantom:Kt,opera12:Ti,win:zi,ie3d:ri,webkit3d:Ni,gecko3d:Ui,any3d:nn,mobile:pi,mobileWebkit:Wi,mobileWebkit3d:Bi,msPointer:en,pointer:Mi,touch:qi,touchNative:Ki,mobileOpera:K,mobileGecko:Be,retina:Ye,passiveEvents:st,canvas:Gt,svg:hi,vml:ht,inlineSvg:yt,mac:Q,linux:We},oi=pe.msPointer?"MSPointerDown":"pointerdown",gi=pe.msPointer?"MSPointerMove":"pointermove",ne=pe.msPointer?"MSPointerUp":"pointerup",tt=pe.msPointer?"MSPointerCancel":"pointercancel",Ht={touchstart:oi,touchmove:gi,touchend:ne,touchcancel:tt},Vt={touchstart:ot,touchmove:Ve,touchend:Ve,touchcancel:Ve},jt={},Te=!1;function Je(l,h,x){return h==="touchstart"&&me(),Vt[h]?(x=Vt[h].bind(this,x),l.addEventListener(Ht[h],x,!1),x):(console.warn("wrong event specified:",h),g)}function Zt(l,h,x){if(!Ht[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(Ht[h],x,!1)}function ai(l){jt[l.pointerId]=l}function Ii(l){jt[l.pointerId]&&(jt[l.pointerId]=l)}function li(l){delete jt[l.pointerId]}function me(){Te||(document.addEventListener(oi,ai,!0),document.addEventListener(gi,Ii,!0),document.addEventListener(ne,li,!0),document.addEventListener(tt,li,!0),Te=!0)}function Ve(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var x in jt)h.touches.push(jt[x]);h.changedTouches=[h],l(h)}}function ot(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&zt(h),Ve(l,h)}function Re(l){var h={},x,E;for(E in l)x=l[E],h[E]=x&&x.bind?x.bind(l):x;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var wt=200;function _t(l,h){l.addEventListener("dblclick",h);var x=0,E;function k(N){if(N.detail!==1){E=N.detail;return}if(!(N.pointerType==="mouse"||N.sourceCapabilities&&!N.sourceCapabilities.firesTouchEvents)){var te=ji(N);if(!(te.some(function(ke){return ke instanceof HTMLLabelElement&&ke.attributes.for})&&!te.some(function(ke){return ke instanceof HTMLInputElement||ke instanceof HTMLSelectElement}))){var Ee=Date.now();Ee-x<=wt?(E++,E===2&&h(Re(N))):E=1,x=Ee}}}return l.addEventListener("click",k),{dblclick:h,simDblclick:k}}function Ut(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var $=Bt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),T=Bt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),O=T==="webkitTransition"||T==="OTransition"?T+"End":"transitionend";function Y(l){return typeof l=="string"?document.getElementById(l):l}function ie(l,h){var x=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!x||x==="auto")&&document.defaultView){var E=document.defaultView.getComputedStyle(l,null);x=E?E[h]:null}return x==="auto"?null:x}function oe(l,h,x){var E=document.createElement(l);return E.className=h||"",x&&x.appendChild(E),E}function se(l){var h=l.parentNode;h&&h.removeChild(l)}function Se(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function He(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function _e(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Fe(l,h){if(l.classList!==void 0)return l.classList.contains(h);var x=Z(l);return x.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(x)}function Pe(l,h){if(l.classList!==void 0)for(var x=b(h),E=0,k=x.length;E<k;E++)l.classList.add(x[E]);else if(!Fe(l,h)){var N=Z(l);Yt(l,(N?N+" ":"")+h)}}function lt(l,h){l.classList!==void 0?l.classList.remove(h):Yt(l,C((" "+Z(l)+" ").replace(" "+h+" "," ")))}function Yt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function Z(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function ce(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&qe(l,h)}function qe(l,h){var x=!1,E="DXImageTransform.Microsoft.Alpha";try{x=l.filters.item(E)}catch{if(h===1)return}h=Math.round(h*100),x?(x.Enabled=h!==100,x.Opacity=h):l.style.filter+=" progid:"+E+"(opacity="+h+")"}function Bt(l){for(var h=document.documentElement.style,x=0;x<l.length;x++)if(l[x]in h)return l[x];return!1}function ze(l,h,x){var E=h||new ve(0,0);l.style[$]=(pe.ie3d?"translate("+E.x+"px,"+E.y+"px)":"translate3d("+E.x+"px,"+E.y+"px,0)")+(x?" scale("+x+")":"")}function je(l,h){l._leaflet_pos=h,pe.any3d?ze(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function kt(l){return l._leaflet_pos||new ve(0,0)}var dt,it,he;if("onselectstart"in document)dt=function(){mt(window,"selectstart",zt)},it=function(){di(window,"selectstart",zt)};else{var Ne=Bt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);dt=function(){if(Ne){var l=document.documentElement.style;he=l[Ne],l[Ne]="none"}},it=function(){Ne&&(document.documentElement.style[Ne]=he,he=void 0)}}function Le(){mt(window,"dragstart",zt)}function Xe(){di(window,"dragstart",zt)}var St,et;function nt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(xe(),St=l,et=l.style.outlineStyle,l.style.outlineStyle="none",mt(window,"keydown",xe))}function xe(){St&&(St.style.outlineStyle=et,St=void 0,et=void 0,di(window,"keydown",xe))}function $e(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function ft(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var Nt={__proto__:null,TRANSFORM:$,TRANSITION:T,TRANSITION_END:O,get:Y,getStyle:ie,create:oe,remove:se,empty:Se,toFront:He,toBack:_e,hasClass:Fe,addClass:Pe,removeClass:lt,setClass:Yt,getClass:Z,setOpacity:ce,testProp:Bt,setTransform:ze,setPosition:je,getPosition:kt,get disableTextSelection(){return dt},get enableTextSelection(){return it},disableImageDrag:Le,enableImageDrag:Xe,preventOutline:nt,restoreOutline:xe,getSizedParentNode:$e,getScale:ft};function mt(l,h,x,E){if(h&&typeof h=="object")for(var k in h)Qt(l,k,h[k],x);else{h=b(h);for(var N=0,te=h.length;N<te;N++)Qt(l,h[N],x,E)}return this}var Pt="_leaflet_events";function di(l,h,x,E){if(arguments.length===1)Vi(l),delete l[Pt];else if(h&&typeof h=="object")for(var k in h)Ft(l,k,h[k],x);else if(h=b(h),arguments.length===2)Vi(l,function(Ee){return R(h,Ee)!==-1});else for(var N=0,te=h.length;N<te;N++)Ft(l,h[N],x,E);return this}function Vi(l,h){for(var x in l[Pt]){var E=x.split(/\d/)[0];(!h||h(E))&&Ft(l,E,null,null,x)}}var Ci={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Qt(l,h,x,E){var k=h+d(x)+(E?"_"+d(E):"");if(l[Pt]&&l[Pt][k])return this;var N=function(Ee){return x.call(E||l,Ee||window.event)},te=N;!pe.touchNative&&pe.pointer&&h.indexOf("touch")===0?N=Je(l,h,N):pe.touch&&h==="dblclick"?N=_t(l,N):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(Ci[h]||h,N,pe.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(N=function(Ee){Ee=Ee||window.event,Jn(l,Ee)&&te(Ee)},l.addEventListener(Ci[h],N,!1)):l.addEventListener(h,te,!1):l.attachEvent("on"+h,N),l[Pt]=l[Pt]||{},l[Pt][k]=N}function Ft(l,h,x,E,k){k=k||h+d(x)+(E?"_"+d(E):"");var N=l[Pt]&&l[Pt][k];if(!N)return this;!pe.touchNative&&pe.pointer&&h.indexOf("touch")===0?Zt(l,h,N):pe.touch&&h==="dblclick"?Ut(l,N):"removeEventListener"in l?l.removeEventListener(Ci[h]||h,N,!1):l.detachEvent("on"+h,N),l[Pt][k]=null}function Dt(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function Ot(l){return Qt(l,"wheel",Dt),this}function $t(l){return mt(l,"mousedown touchstart dblclick contextmenu",Dt),l._leaflet_disable_click=!0,this}function zt(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ri(l){return zt(l),Dt(l),this}function ji(l){if(l.composedPath)return l.composedPath();for(var h=[],x=l.target;x;)h.push(x),x=x.parentNode;return h}function mn(l,h){if(!h)return new ve(l.clientX,l.clientY);var x=ft(h),E=x.boundingClientRect;return new ve((l.clientX-E.left)/x.x-h.clientLeft,(l.clientY-E.top)/x.y-h.clientTop)}var Oi=pe.linux&&pe.chrome?window.devicePixelRatio:pe.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function An(l){return pe.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Oi:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function Jn(l,h){var x=h.relatedTarget;if(!x)return!0;try{for(;x&&x!==l;)x=x.parentNode}catch{return!1}return x!==l}var In={__proto__:null,on:mt,off:di,stopPropagation:Dt,disableScrollPropagation:Ot,disableClickPropagation:$t,preventDefault:zt,stop:Ri,getPropagationPath:ji,getMousePosition:mn,getWheelDelta:An,isExternalTarget:Jn,addListener:mt,removeListener:di},es=Me.extend({run:function(l,h,x,E){this.stop(),this._el=l,this._inProgress=!0,this._duration=x||.25,this._easeOutPower=1/Math.max(E||.5,.2),this._startPos=kt(l),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=X(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,x=this._duration*1e3;h<x?this._runFrame(this._easeOut(h/x),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var x=this._startPos.add(this._offset.multiplyBy(l));h&&x._round(),je(this._el,x),this.fire("step")},_complete:function(){de(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Ji=Me.extend({options:{crs:fi,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,h){h=y(this,h),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),h.maxBounds&&this.setMaxBounds(h.maxBounds),h.zoom!==void 0&&(this._zoom=this._limitZoom(h.zoom)),h.center&&h.zoom!==void 0&&this.setView(ye(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=T&&pe.any3d&&!pe.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),mt(this._proxy,O,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,x){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(ye(l),h,this.options.maxBounds),x=x||{},this._stop(),this._loaded&&!x.reset&&x!==!0){x.animate!==void 0&&(x.zoom=n({animate:x.animate},x.zoom),x.pan=n({animate:x.animate,duration:x.duration},x.pan));var E=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,x.zoom):this._tryAnimatedPan(l,x.pan);if(E)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,x.pan&&x.pan.noMoveStart),this},setZoom:function(l,h){return this._loaded?this.setView(this.getCenter(),l,{zoom:h}):(this._zoom=l,this)},zoomIn:function(l,h){return l=l||(pe.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(pe.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,x){var E=this.getZoomScale(h),k=this.getSize().divideBy(2),N=l instanceof ve?l:this.latLngToContainerPoint(l),te=N.subtract(k).multiplyBy(1-1/E),Ee=this.containerPointToLatLng(k.add(te));return this.setView(Ee,h,{zoom:x})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():at(l);var x=Ue(h.paddingTopLeft||h.padding||[0,0]),E=Ue(h.paddingBottomRight||h.padding||[0,0]),k=this.getBoundsZoom(l,!1,x.add(E));if(k=typeof h.maxZoom=="number"?Math.min(h.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var N=E.subtract(x).divideBy(2),te=this.project(l.getSouthWest(),k),Ee=this.project(l.getNorthEast(),k),ke=this.unproject(te.add(Ee).divideBy(2).add(N),k);return{center:ke,zoom:k}},fitBounds:function(l,h){if(l=at(l),!l.isValid())throw new Error("Bounds are not valid.");var x=this._getBoundsCenterZoom(l,h);return this.setView(x.center,x.zoom,h)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,h){return this.setView(l,this._zoom,{pan:h})},panBy:function(l,h){if(l=Ue(l).round(),h=h||{},!l.x&&!l.y)return this.fire("moveend");if(h.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new es,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Pe(this._mapPane,"leaflet-pan-anim");var x=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,x,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,x){if(x=x||{},x.animate===!1||!pe.any3d)return this.setView(l,h,x);this._stop();var E=this.project(this.getCenter()),k=this.project(l),N=this.getSize(),te=this._zoom;l=ye(l),h=h===void 0?te:h;var Ee=Math.max(N.x,N.y),ke=Ee*this.getZoomScale(te,h),gt=k.distanceTo(E)||1,xi=1.42,tn=xi*xi;function Ei(Bs){var cd=Bs?-1:1,Zb=Bs?ke:Ee,Xb=ke*ke-Ee*Ee+cd*tn*tn*gt*gt,Yb=2*Zb*tn*gt,Qb=Xb/Yb,LS=Math.sqrt(Qb*Qb+1)-Qb,XF=LS<1e-9?-18:Math.log(LS);return XF}function vn(Bs){return(Math.exp(Bs)-Math.exp(-Bs))/2}function Nn(Bs){return(Math.exp(Bs)+Math.exp(-Bs))/2}function Es(Bs){return vn(Bs)/Nn(Bs)}var Hs=Ei(0);function $r(Bs){return Ee*(Nn(Hs)/Nn(Hs+xi*Bs))}function Ub(Bs){return Ee*(Nn(Hs)*Es(Hs+xi*Bs)-vn(Hs))/tn}function qb(Bs){return 1-Math.pow(1-Bs,1.5)}var Gb=Date.now(),gx=(Ei(1)-Hs)/xi,Kb=x.duration?1e3*x.duration:1e3*gx*.8;function mh(){var Bs=(Date.now()-Gb)/Kb,cd=qb(Bs)*gx;Bs<=1?(this._flyToFrame=X(mh,this),this._move(this.unproject(E.add(k.subtract(E).multiplyBy(Ub(cd)/gt)),te),this.getScaleZoom(Ee/$r(cd),te),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,x.noMoveStart),mh.call(this),this},flyToBounds:function(l,h){var x=this._getBoundsCenterZoom(l,h);return this.flyTo(x.center,x.zoom,h)},setMaxBounds:function(l){return l=at(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var h=this.options.minZoom;return this.options.minZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var h=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,h){this._enforcingBounds=!0;var x=this.getCenter(),E=this._limitCenter(x,this._zoom,at(l));return x.equals(E)||this.panTo(E,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var x=Ue(h.paddingTopLeft||h.padding||[0,0]),E=Ue(h.paddingBottomRight||h.padding||[0,0]),k=this.project(this.getCenter()),N=this.project(l),te=this.getPixelBounds(),Ee=pt([te.min.add(x),te.max.subtract(E)]),ke=Ee.getSize();if(!Ee.contains(N)){this._enforcingBounds=!0;var gt=N.subtract(Ee.getCenter()),xi=Ee.extend(N).getSize().subtract(ke);k.x+=gt.x<0?-xi.x:xi.x,k.y+=gt.y<0?-xi.y:xi.y,this.panTo(this.unproject(k),h),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=n({animate:!1,pan:!0},l===!0?{animate:!0}:l);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var x=this.getSize(),E=h.divideBy(2).round(),k=x.divideBy(2).round(),N=E.subtract(k);return!N.x&&!N.y?this:(l.animate&&l.pan?this.panBy(N):(l.pan&&this._rawPanBy(N),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:x}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=r(this._handleGeolocationResponse,this),x=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,x,l):navigator.geolocation.getCurrentPosition(h,x,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var h=l.code,x=l.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+x+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,x=l.coords.longitude,E=new Ct(h,x),k=E.toBounds(l.coords.accuracy*2),N=this._locateOptions;if(N.setView){var te=this.getBoundsZoom(k);this.setView(E,N.maxZoom?Math.min(te,N.maxZoom):te)}var Ee={latlng:E,bounds:k,timestamp:l.timestamp};for(var ke in l.coords)typeof l.coords[ke]=="number"&&(Ee[ke]=l.coords[ke]);this.fire("locationfound",Ee)}},addHandler:function(l,h){if(!h)return this;var x=this[l]=new h(this);return this._handlers.push(x),this.options[l]&&x.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(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(de(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)se(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var x="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),E=oe("div",x,h||this._mapPane);return l&&(this._panes[l]=E),E},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),h=this.unproject(l.getBottomLeft()),x=this.unproject(l.getTopRight());return new Mt(h,x)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,h,x){l=at(l),x=Ue(x||[0,0]);var E=this.getZoom()||0,k=this.getMinZoom(),N=this.getMaxZoom(),te=l.getNorthWest(),Ee=l.getSouthEast(),ke=this.getSize().subtract(x),gt=pt(this.project(Ee,E),this.project(te,E)).getSize(),xi=pe.any3d?this.options.zoomSnap:1,tn=ke.x/gt.x,Ei=ke.y/gt.y,vn=h?Math.max(tn,Ei):Math.min(tn,Ei);return E=this.getScaleZoom(vn,E),xi&&(E=Math.round(E/(xi/100))*(xi/100),E=h?Math.ceil(E/xi)*xi:Math.floor(E/xi)*xi),Math.max(k,Math.min(N,E))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new ve(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var x=this._getTopLeftPoint(l,h);return new Ce(x,x.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,h){var x=this.options.crs;return h=h===void 0?this._zoom:h,x.scale(l)/x.scale(h)},getScaleZoom:function(l,h){var x=this.options.crs;h=h===void 0?this._zoom:h;var E=x.zoom(l*x.scale(h));return isNaN(E)?1/0:E},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(ye(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Ue(l),h)},layerPointToLatLng:function(l){var h=Ue(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(ye(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(ye(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(at(l))},distance:function(l,h){return this.options.crs.distance(ye(l),ye(h))},containerPointToLayerPoint:function(l){return Ue(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ue(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(Ue(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ye(l)))},mouseEventToContainerPoint:function(l){return mn(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var h=this._container=Y(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");mt(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&pe.any3d,Pe(l,"leaflet-container"+(pe.touch?" leaflet-touch":"")+(pe.retina?" leaflet-retina":"")+(pe.ielt9?" leaflet-oldie":"")+(pe.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=ie(l,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),je(this._mapPane,new ve(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Pe(l.markerPane,"leaflet-zoom-hide"),Pe(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,x){je(this._mapPane,new ve(0,0));var E=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var k=this._zoom!==h;this._moveStart(k,x)._move(l,h)._moveEnd(k),this.fire("viewreset"),E&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,x,E){h===void 0&&(h=this._zoom);var k=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),E?x&&x.pinch&&this.fire("zoom",x):((k||x&&x.pinch)&&this.fire("zoom",x),this.fire("move",x)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return de(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){je(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[d(this._container)]=this;var h=l?di:mt;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),pe.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){de(this._resizeRequest),this._resizeRequest=X(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,h){for(var x=[],E,k=h==="mouseout"||h==="mouseover",N=l.target||l.srcElement,te=!1;N;){if(E=this._targets[d(N)],E&&(h==="click"||h==="preclick")&&this._draggableMoved(E)){te=!0;break}if(E&&E.listens(h,!0)&&(k&&!Jn(N,l)||(x.push(E),k))||N===this._container)break;N=N.parentNode}return!x.length&&!te&&!k&&this.listens(h,!0)&&(x=[this]),x},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var h=l.target||l.srcElement;if(!(!this._loaded||h._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(h))){var x=l.type;x==="mousedown"&&nt(h),this._fireDOMEvent(l,x)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,x){if(l.type==="click"){var E=n({},l);E.type="preclick",this._fireDOMEvent(E,E.type,x)}var k=this._findEventTargets(l,h);if(x){for(var N=[],te=0;te<x.length;te++)x[te].listens(h,!0)&&N.push(x[te]);k=N.concat(k)}if(k.length){h==="contextmenu"&&zt(l);var Ee=k[0],ke={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var gt=Ee.getLatLng&&(!Ee._radius||Ee._radius<=10);ke.containerPoint=gt?this.latLngToContainerPoint(Ee.getLatLng()):this.mouseEventToContainerPoint(l),ke.layerPoint=this.containerPointToLayerPoint(ke.containerPoint),ke.latlng=gt?Ee.getLatLng():this.layerPointToLatLng(ke.layerPoint)}for(te=0;te<k.length;te++)if(k[te].fire(h,ke,!0),ke.originalEvent._stopped||k[te].options.bubblingMouseEvents===!1&&R(this._mouseEvents,h)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,h=this._handlers.length;l<h;l++)this._handlers[l].disable()},whenReady:function(l,h){return this._loaded?l.call(h||this,{target:this}):this.on("load",l,h),this},_getMapPanePos:function(){return kt(this._mapPane)||new ve(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var x=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return x.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var x=this.getSize()._divideBy(2);return this.project(l,h)._subtract(x)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return this.project(l,h)._subtract(E)},_latLngBoundsToNewLayerBounds:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return pt([this.project(l.getSouthWest(),h)._subtract(E),this.project(l.getNorthWest(),h)._subtract(E),this.project(l.getSouthEast(),h)._subtract(E),this.project(l.getNorthEast(),h)._subtract(E)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,x){if(!x)return l;var E=this.project(l,h),k=this.getSize().divideBy(2),N=new Ce(E.subtract(k),E.add(k)),te=this._getBoundsOffset(N,x,h);return Math.abs(te.x)<=1&&Math.abs(te.y)<=1?l:this.unproject(E.add(te),h)},_limitOffset:function(l,h){if(!h)return l;var x=this.getPixelBounds(),E=new Ce(x.min.add(l),x.max.add(l));return l.add(this._getBoundsOffset(E,h))},_getBoundsOffset:function(l,h,x){var E=pt(this.project(h.getNorthEast(),x),this.project(h.getSouthWest(),x)),k=E.min.subtract(l.min),N=E.max.subtract(l.max),te=this._rebound(k.x,-N.x),Ee=this._rebound(k.y,-N.y);return new ve(te,Ee)},_rebound:function(l,h){return l+h>0?Math.round(l-h)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(h))},_limitZoom:function(l){var h=this.getMinZoom(),x=this.getMaxZoom(),E=pe.any3d?this.options.zoomSnap:1;return E&&(l=Math.round(l/E)*E),Math.max(h,Math.min(x,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){lt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var x=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(x)?!1:(this.panBy(x,h),!0)},_createAnimProxy:function(){var l=this._proxy=oe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var x=$,E=this._proxy.style[x];ze(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),E===this._proxy.style[x]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();ze(this._proxy,this.project(l,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,h,x){if(this._animatingZoom)return!0;if(x=x||{},!this._zoomAnimated||x.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var E=this.getZoomScale(h),k=this._getCenterOffset(l)._divideBy(1-1/E);return x.animate!==!0&&!this.getSize().contains(k)?!1:(X(function(){this._moveStart(!0,x.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,x,E){this._mapPane&&(x&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,Pe(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:E}),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&<(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 Is(l,h){return new Ji(l,h)}var Tn=re.extend({options:{position:"topright"},initialize:function(l){y(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var h=this._map;return h&&h.removeControl(this),this.options.position=l,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var h=this._container=this.onAdd(l),x=this.getPosition(),E=l._controlCorners[x];return Pe(h,"leaflet-control"),x.indexOf("bottom")!==-1?E.insertBefore(h,E.firstChild):E.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(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()}}),Gn=function(l){return new Tn(l)};Ji.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",x=this._controlContainer=oe("div",h+"control-container",this._container);function E(k,N){var te=h+k+" "+h+N;l[k+N]=oe("div",te,x)}E("top","left"),E("top","right"),E("bottom","left"),E("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)se(this._controlCorners[l]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var vs=Tn.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,x,E){return x<E?-1:E<x?1:0}},initialize:function(l,h,x){y(this,x),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var E in l)this._addLayer(l[E],E);for(E in h)this._addLayer(h[E],E,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var h=0;h<this._layers.length;h++)this._layers[h].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return Tn.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,h){return this._addLayer(l,h),this._map?this._update():this},addOverlay:function(l,h){return this._addLayer(l,h,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var h=this._getLayer(d(l));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){Pe(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?(Pe(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):lt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return lt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=oe("div",l),x=this.options.collapsed;h.setAttribute("aria-haspopup",!0),$t(h),Ot(h);var E=this._section=oe("section",l+"-list");x&&(this._map.on("click",this.collapse,this),mt(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=oe("a",l+"-toggle",h);k.href="#",k.title="Layers",k.setAttribute("role","button"),mt(k,{keydown:function(N){N.keyCode===13&&this._expandSafely()},click:function(N){zt(N),this._expandSafely()}},this),x||this.expand(),this._baseLayersList=oe("div",l+"-base",E),this._separator=oe("div",l+"-separator",E),this._overlaysList=oe("div",l+"-overlays",E),h.appendChild(E)},_getLayer:function(l){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&d(this._layers[h].layer)===l)return this._layers[h]},_addLayer:function(l,h,x){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:x}),this.options.sortLayers&&this._layers.sort(r(function(E,k){return this.options.sortFunction(E.layer,k.layer,E.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Se(this._baseLayersList),Se(this._overlaysList),this._layerControlInputs=[];var l,h,x,E,k=0;for(x=0;x<this._layers.length;x++)E=this._layers[x],this._addItem(E),h=h||E.overlay,l=l||!E.overlay,k+=E.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=h&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var h=this._getLayer(d(l.target)),x=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;x&&this._map.fire(x,h)},_createRadioElement:function(l,h){var x='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",E=document.createElement("div");return E.innerHTML=x,E.firstChild},_addItem:function(l){var h=document.createElement("label"),x=this._map.hasLayer(l.layer),E;l.overlay?(E=document.createElement("input"),E.type="checkbox",E.className="leaflet-control-layers-selector",E.defaultChecked=x):E=this._createRadioElement("leaflet-base-layers_"+d(this),x),this._layerControlInputs.push(E),E.layerId=d(l.layer),mt(E,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var N=document.createElement("span");h.appendChild(N),N.appendChild(E),N.appendChild(k);var te=l.overlay?this._overlaysList:this._baseLayersList;return te.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,x,E=[],k=[];this._handlingClick=!0;for(var N=l.length-1;N>=0;N--)h=l[N],x=this._getLayer(h.layerId).layer,h.checked?E.push(x):h.checked||k.push(x);for(N=0;N<k.length;N++)this._map.hasLayer(k[N])&&this._map.removeLayer(k[N]);for(N=0;N<E.length;N++)this._map.hasLayer(E[N])||this._map.addLayer(E[N]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,x,E=this._map.getZoom(),k=l.length-1;k>=0;k--)h=l[k],x=this._getLayer(h.layerId).layer,h.disabled=x.options.minZoom!==void 0&&E<x.options.minZoom||x.options.maxZoom!==void 0&&E>x.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,mt(l,"click",zt),this.expand();var h=this;setTimeout(function(){di(l,"click",zt),h._preventClick=!1})}}),ir=function(l,h,x){return new vs(l,h,x)},zr=Tn.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var h="leaflet-control-zoom",x=oe("div",h+" leaflet-bar"),E=this.options;return this._zoomInButton=this._createButton(E.zoomInText,E.zoomInTitle,h+"-in",x,this._zoomIn),this._zoomOutButton=this._createButton(E.zoomOutText,E.zoomOutTitle,h+"-out",x,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),x},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,h,x,E,k){var N=oe("a",x,E);return N.innerHTML=l,N.href="#",N.title=h,N.setAttribute("role","button"),N.setAttribute("aria-label",h),$t(N),mt(N,"click",Ri),mt(N,"click",k,this),mt(N,"click",this._refocusOnMap,this),N},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";lt(this._zoomInButton,h),lt(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Pe(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Pe(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ji.mergeOptions({zoomControl:!0}),Ji.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new zr,this.addControl(this.zoomControl))});var Xa=function(l){return new zr(l)},zl=Tn.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",x=oe("div",h),E=this.options;return this._addScales(E,h+"-line",x),l.on(E.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),x},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,x){l.metric&&(this._mScale=oe("div",h,x)),l.imperial&&(this._iScale=oe("div",h,x))},_update:function(){var l=this._map,h=l.getSize().y/2,x=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(x)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var h=this._getRoundNum(l),x=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,x,h/l)},_updateImperial:function(l){var h=l*3.2808399,x,E,k;h>5280?(x=h/5280,E=this._getRoundNum(x),this._updateScale(this._iScale,E+" mi",E/x)):(k=this._getRoundNum(h),this._updateScale(this._iScale,k+" ft",k/h))},_updateScale:function(l,h,x){l.style.width=Math.round(this.options.maxWidth*x)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),x=l/h;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:1,h*x}}),pr=function(l){return new zl(l)},Vr='<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>',Qc=Tn.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(pe.inlineSvg?Vr+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=oe("div","leaflet-control-attribution"),$t(this._container);for(var h in l._layers)l._layers[h].getAttribution&&this.addAttribution(l._layers[h].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var h in this._attributions)this._attributions[h]&&l.push(h);var x=[];this.options.prefix&&x.push(this.options.prefix),l.length&&x.push(l.join(", ")),this._container.innerHTML=x.join(' <span aria-hidden="true">|</span> ')}}});Ji.mergeOptions({attributionControl:!0}),Ji.addInitHook(function(){this.options.attributionControl&&new Qc().addTo(this)});var Ps=function(l){return new Qc(l)};Tn.Layers=vs,Tn.Zoom=zr,Tn.Scale=zl,Tn.Attribution=Qc,Gn.layers=ir,Gn.zoom=Xa,Gn.scale=pr,Gn.attribution=Ps;var ao=re.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}});ao.addTo=function(l,h){return l.addHandler(h,this),this};var ah={Events:Ae},Vl=pe.touch?"touchstart mousedown":"mousedown",nr=Me.extend({options:{clickTolerance:3},initialize:function(l,h,x,E){y(this,E),this._element=l,this._dragStartTarget=h||l,this._preventOutline=x},enable:function(){this._enabled||(mt(this._dragStartTarget,Vl,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(nr._dragging===this&&this.finishDrag(!0),di(this._dragStartTarget,Vl,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Fe(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){nr._dragging===this&&this.finishDrag();return}if(!(nr._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(nr._dragging=this,this._preventOutline&&nt(this._element),Le(),dt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,x=$e(this._element);this._startPoint=new ve(h.clientX,h.clientY),this._startPos=kt(this._element),this._parentScale=ft(x);var E=l.type==="mousedown";mt(document,E?"mousemove":"touchmove",this._onMove,this),mt(document,E?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var h=l.touches&&l.touches.length===1?l.touches[0]:l,x=new ve(h.clientX,h.clientY)._subtract(this._startPoint);!x.x&&!x.y||Math.abs(x.x)+Math.abs(x.y)<this.options.clickTolerance||(x.x/=this._parentScale.x,x.y/=this._parentScale.y,zt(l),this._moved||(this.fire("dragstart"),this._moved=!0,Pe(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Pe(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(x),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),je(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){lt(document.body,"leaflet-dragging"),this._lastTarget&&(lt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),di(document,"mousemove touchmove",this._onMove,this),di(document,"mouseup touchend touchcancel",this._onUp,this),Xe(),it();var h=this._moved&&this._moving;this._moving=!1,nr._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Jc(l,h,x){var E,k=[1,4,2,8],N,te,Ee,ke,gt,xi,tn,Ei;for(N=0,xi=l.length;N<xi;N++)l[N]._code=Qa(l[N],h);for(Ee=0;Ee<4;Ee++){for(tn=k[Ee],E=[],N=0,xi=l.length,te=xi-1;N<xi;te=N++)ke=l[N],gt=l[te],ke._code&tn?gt._code&tn||(Ei=Ul(gt,ke,tn,h,x),Ei._code=Qa(Ei,h),E.push(Ei)):(gt._code&tn&&(Ei=Ul(gt,ke,tn,h,x),Ei._code=Qa(Ei,h),E.push(Ei)),E.push(ke));l=E}return l}function jl(l,h){var x,E,k,N,te,Ee,ke,gt,xi;if(!l||l.length===0)throw new Error("latlngs not passed");Fo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var tn=ye([0,0]),Ei=at(l),vn=Ei.getNorthWest().distanceTo(Ei.getSouthWest())*Ei.getNorthEast().distanceTo(Ei.getNorthWest());vn<1700&&(tn=Ya(l));var Nn=l.length,Es=[];for(x=0;x<Nn;x++){var Hs=ye(l[x]);Es.push(h.project(ye([Hs.lat-tn.lat,Hs.lng-tn.lng])))}for(Ee=ke=gt=0,x=0,E=Nn-1;x<Nn;E=x++)k=Es[x],N=Es[E],te=k.y*N.x-N.y*k.x,ke+=(k.x+N.x)*te,gt+=(k.y+N.y)*te,Ee+=te*3;Ee===0?xi=Es[0]:xi=[ke/Ee,gt/Ee];var $r=h.unproject(Ue(xi));return ye([$r.lat+tn.lat,$r.lng+tn.lng])}function Ya(l){for(var h=0,x=0,E=0,k=0;k<l.length;k++){var N=ye(l[k]);h+=N.lat,x+=N.lng,E++}return ye([h/E,x/E])}var Cf={__proto__:null,clipPolygon:Jc,polygonCenter:jl,centroid:Ya};function ed(l,h){if(!h||!l.length)return l.slice();var x=h*h;return l=pa(l,x),l=id(l,x),l}function lh(l,h,x){return Math.sqrt(nd(l,h,x,!0))}function td(l,h,x){return nd(l,h,x)}function id(l,h){var x=l.length,E=typeof Uint8Array<"u"?Uint8Array:Array,k=new E(x);k[0]=k[x-1]=1,$l(l,k,h,0,x-1);var N,te=[];for(N=0;N<x;N++)k[N]&&te.push(l[N]);return te}function $l(l,h,x,E,k){var N=0,te,Ee,ke;for(Ee=E+1;Ee<=k-1;Ee++)ke=nd(l[Ee],l[E],l[k],!0),ke>N&&(te=Ee,N=ke);N>x&&(h[te]=1,$l(l,h,x,E,te),$l(l,h,x,te,k))}function pa(l,h){for(var x=[l[0]],E=1,k=0,N=l.length;E<N;E++)tx(l[E],l[k])>h&&(x.push(l[E]),k=E);return k<N-1&&x.push(l[N-1]),x}var Ef;function yf(l,h,x,E,k){var N=E?Ef:Qa(l,x),te=Qa(h,x),Ee,ke,gt;for(Ef=te;;){if(!(N|te))return[l,h];if(N&te)return!1;Ee=N||te,ke=Ul(l,h,Ee,x,k),gt=Qa(ke,x),Ee===N?(l=ke,N=gt):(h=ke,te=gt)}}function Ul(l,h,x,E,k){var N=h.x-l.x,te=h.y-l.y,Ee=E.min,ke=E.max,gt,xi;return x&8?(gt=l.x+N*(ke.y-l.y)/te,xi=ke.y):x&4?(gt=l.x+N*(Ee.y-l.y)/te,xi=Ee.y):x&2?(gt=ke.x,xi=l.y+te*(ke.x-l.x)/N):x&1&&(gt=Ee.x,xi=l.y+te*(Ee.x-l.x)/N),new ve(gt,xi,k)}function Qa(l,h){var x=0;return l.x<h.min.x?x|=1:l.x>h.max.x&&(x|=2),l.y<h.min.y?x|=4:l.y>h.max.y&&(x|=8),x}function tx(l,h){var x=h.x-l.x,E=h.y-l.y;return x*x+E*E}function nd(l,h,x,E){var k=h.x,N=h.y,te=x.x-k,Ee=x.y-N,ke=te*te+Ee*Ee,gt;return ke>0&&(gt=((l.x-k)*te+(l.y-N)*Ee)/ke,gt>1?(k=x.x,N=x.y):gt>0&&(k+=te*gt,N+=Ee*gt)),te=l.x-k,Ee=l.y-N,E?te*te+Ee*Ee:new ve(k,N)}function Fo(l){return!M(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function ix(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Fo(l)}function wf(l,h){var x,E,k,N,te,Ee,ke,gt;if(!l||l.length===0)throw new Error("latlngs not passed");Fo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var xi=ye([0,0]),tn=at(l),Ei=tn.getNorthWest().distanceTo(tn.getSouthWest())*tn.getNorthEast().distanceTo(tn.getNorthWest());Ei<1700&&(xi=Ya(l));var vn=l.length,Nn=[];for(x=0;x<vn;x++){var Es=ye(l[x]);Nn.push(h.project(ye([Es.lat-xi.lat,Es.lng-xi.lng])))}for(x=0,E=0;x<vn-1;x++)E+=Nn[x].distanceTo(Nn[x+1])/2;if(E===0)gt=Nn[0];else for(x=0,N=0;x<vn-1;x++)if(te=Nn[x],Ee=Nn[x+1],k=te.distanceTo(Ee),N+=k,N>E){ke=(N-E)/k,gt=[Ee.x-ke*(Ee.x-te.x),Ee.y-ke*(Ee.y-te.y)];break}var Hs=h.unproject(Ue(gt));return ye([Hs.lat+xi.lat,Hs.lng+xi.lng])}var sd={__proto__:null,simplify:ed,pointToSegmentDistance:lh,closestPointOnSegment:td,clipSegment:yf,_getEdgeIntersection:Ul,_getBitCode:Qa,_sqClosestPointOnSegment:nd,isFlat:Fo,_flat:ix,polylineCenter:wf},Sf={project:function(l){return new ve(l.lng,l.lat)},unproject:function(l){return new Ct(l.y,l.x)},bounds:new Ce([-180,-90],[180,90])},Df={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Ce([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,x=this.R,E=l.lat*h,k=this.R_MINOR/x,N=Math.sqrt(1-k*k),te=N*Math.sin(E),Ee=Math.tan(Math.PI/4-E/2)/Math.pow((1-te)/(1+te),N/2);return E=-x*Math.log(Math.max(Ee,1e-10)),new ve(l.lng*h*x,E)},unproject:function(l){for(var h=180/Math.PI,x=this.R,E=this.R_MINOR/x,k=Math.sqrt(1-E*E),N=Math.exp(-l.y/x),te=Math.PI/2-2*Math.atan(N),Ee=0,ke=.1,gt;Ee<15&&Math.abs(ke)>1e-7;Ee++)gt=k*Math.sin(te),gt=Math.pow((1-gt)/(1+gt),k/2),ke=Math.PI/2-2*Math.atan(N*gt)-te,te+=ke;return new Ct(te*h,l.x*h/x)}},Ob={__proto__:null,LonLat:Sf,Mercator:Df,SphericalMercator:Qe},nx=n({},Jt,{code:"EPSG:3395",projection:Df,transformation:(function(){var l=.5/(Math.PI*Df.R);return Xt(l,.5,-l,.5)})()}),sx=n({},Jt,{code:"EPSG:4326",projection:Sf,transformation:Xt(1/180,1,-1/180,.5)}),ox=n({},It,{projection:Sf,transformation:Xt(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,h){var x=h.lng-l.lng,E=h.lat-l.lat;return Math.sqrt(x*x+E*E)},infinite:!0});It.Earth=Jt,It.EPSG3395=nx,It.EPSG3857=fi,It.EPSG900913=ui,It.EPSG4326=sx,It.Simple=ox;var sr=Me.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[d(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[d(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var h=l.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var x=this.getEvents();h.on(x,this),this.once("remove",function(){h.off(x,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});Ji.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var h=d(l);return this._layers[h]?this:(this._layers[h]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var h=d(l);return this._layers[h]?(this._loaded&&l.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return d(l)in this._layers},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},_addLayers:function(l){l=l?M(l)?l:[l]:[];for(var h=0,x=l.length;h<x;h++)this.addLayer(l[h])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[d(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var h=d(l);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,h=-1/0,x=this._getZoomSpan();for(var E in this._zoomBoundLayers){var k=this._zoomBoundLayers[E].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),h=k.maxZoom===void 0?h:Math.max(h,k.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,x!==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 Ja=sr.extend({initialize:function(l,h){y(this,h),this._layers={};var x,E;if(l)for(x=0,E=l.length;x<E;x++)this.addLayer(l[x])},addLayer:function(l){var h=this.getLayerId(l);return this._layers[h]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var h=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[h]&&this._map.removeLayer(this._layers[h]),delete this._layers[h],this},hasLayer:function(l){var h=typeof l=="number"?l:this.getLayerId(l);return h in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var h=Array.prototype.slice.call(arguments,1),x,E;for(x in this._layers)E=this._layers[x],E[l]&&E[l].apply(E,h);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);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 d(l)}}),rx=function(l,h){return new Ja(l,h)},jr=Ja.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Ja.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),Ja.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 Mt;for(var h in this._layers){var x=this._layers[h];l.extend(x.getBounds?x.getBounds():x.getLatLng())}return l}}),ax=function(l,h){return new jr(l,h)},ql=re.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,h){var x=this._getIconUrl(l);if(!x){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var E=this._createImg(x,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(E,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(E.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),E},_setIconStyles:function(l,h){var x=this.options,E=x[h+"Size"];typeof E=="number"&&(E=[E,E]);var k=Ue(E),N=Ue(h==="shadow"&&x.shadowAnchor||x.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(x.className||""),N&&(l.style.marginLeft=-N.x+"px",l.style.marginTop=-N.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return pe.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function lx(l){return new ql(l)}var Gl=ql.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 Gl.imagePath!="string"&&(Gl.imagePath=this._detectIconPath()),(this.options.imagePath||Gl.imagePath)+ql.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(x,E,k){var N=E.exec(x);return N&&N[k]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=oe("div","leaflet-default-icon-path",document.body),h=ie(l,"background-image")||ie(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var x=document.querySelector('link[href$="leaflet.css"]');return x?x.href.substring(0,x.href.length-11-1):""}}),od=ao.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new nr(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Pe(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&<(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,x=h._map,E=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,N=kt(h._icon),te=x.getPixelBounds(),Ee=x.getPixelOrigin(),ke=pt(te.min._subtract(Ee).add(k),te.max._subtract(Ee).subtract(k));if(!ke.contains(N)){var gt=Ue((Math.max(ke.max.x,N.x)-ke.max.x)/(te.max.x-ke.max.x)-(Math.min(ke.min.x,N.x)-ke.min.x)/(te.min.x-ke.min.x),(Math.max(ke.max.y,N.y)-ke.max.y)/(te.max.y-ke.max.y)-(Math.min(ke.min.y,N.y)-ke.min.y)/(te.min.y-ke.min.y)).multiplyBy(E);x.panBy(gt,{animate:!1}),this._draggable._newPos._add(gt),this._draggable._startPos._add(gt),je(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=X(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&&(de(this._panRequest),this._panRequest=X(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,x=h._shadow,E=kt(h._icon),k=h._map.layerPointToLatLng(E);x&&je(x,E),h._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){de(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),ch=sr.extend({options:{icon:new Gl,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,h){y(this,h),this._latlng=ye(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var h=this._latlng;return this._latlng=ye(l),this.update(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,h="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),x=l.icon.createIcon(this._icon),E=!1;x!==this._icon&&(this._icon&&this._removeIcon(),E=!0,l.title&&(x.title=l.title),x.tagName==="IMG"&&(x.alt=l.alt||"")),Pe(x,h),l.keyboard&&(x.tabIndex="0",x.setAttribute("role","button")),this._icon=x,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&mt(x,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),N=!1;k!==this._shadow&&(this._removeShadow(),N=!0),k&&(Pe(k,h),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),E&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&N&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&di(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&je(this._icon,l),this._shadow&&je(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(h)},_initInteraction:function(){if(this.options.interactive&&(Pe(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),od)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new od(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&&ce(this._icon,l),this._shadow&&ce(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var h=this.options.icon.options,x=h.iconSize?Ue(h.iconSize):Ue(0,0),E=h.iconAnchor?Ue(h.iconAnchor):Ue(0,0);l.panInside(this._latlng,{paddingTopLeft:E,paddingBottomRight:x.subtract(E)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function cx(l,h){return new ch(l,h)}var xa=sr.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)}}),dh=xa.extend({options:{fill:!0,radius:10},initialize:function(l,h){y(this,h),this._latlng=ye(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=ye(l),this.redraw(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var h=l&&l.radius||this._radius;return xa.prototype.setStyle.call(this,l),this.setRadius(h),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,h=this._radiusY||l,x=this._clickTolerance(),E=[l+x,h+x];this._pxBounds=new Ce(this._point.subtract(E),this._point.add(E))},_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 dx(l,h){return new dh(l,h)}var Af=dh.extend({initialize:function(l,h,x){if(typeof h=="number"&&(h=n({},x,{radius:h})),y(this,h),this._latlng=ye(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 Mt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:xa.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,x=this._map,E=x.options.crs;if(E.distance===Jt.distance){var k=Math.PI/180,N=this._mRadius/Jt.R/k,te=x.project([h+N,l]),Ee=x.project([h-N,l]),ke=te.add(Ee).divideBy(2),gt=x.unproject(ke).lat,xi=Math.acos((Math.cos(N*k)-Math.sin(h*k)*Math.sin(gt*k))/(Math.cos(h*k)*Math.cos(gt*k)))/k;(isNaN(xi)||xi===0)&&(xi=N/Math.cos(Math.PI/180*h)),this._point=ke.subtract(x.getPixelOrigin()),this._radius=isNaN(xi)?0:ke.x-x.project([gt,l-xi]).x,this._radiusY=ke.y-te.y}else{var tn=E.unproject(E.project(this._latlng).subtract([this._mRadius,0]));this._point=x.latLngToLayerPoint(this._latlng),this._radius=this._point.x-x.latLngToLayerPoint(tn).x}this._updateBounds()}});function kf(l,h,x){return new Af(l,h,x)}var xr=xa.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){y(this,h),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var h=1/0,x=null,E=nd,k,N,te=0,Ee=this._parts.length;te<Ee;te++)for(var ke=this._parts[te],gt=1,xi=ke.length;gt<xi;gt++){k=ke[gt-1],N=ke[gt];var tn=E(l,k,N,!0);tn<h&&(h=tn,x=E(l,k,N))}return x&&(x.distance=Math.sqrt(h)),x},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return wf(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=ye(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Mt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Fo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],x=Fo(l),E=0,k=l.length;E<k;E++)x?(h[E]=ye(l[E]),this._bounds.extend(h[E])):h[E]=this._convertLatLngs(l[E]);return h},_project:function(){var l=new Ce;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),h=new ve(l,l);this._rawPxBounds&&(this._pxBounds=new Ce([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,x){var E=l[0]instanceof Ct,k=l.length,N,te;if(E){for(te=[],N=0;N<k;N++)te[N]=this._map.latLngToLayerPoint(l[N]),x.extend(te[N]);h.push(te)}else for(N=0;N<k;N++)this._projectLatlngs(l[N],h,x)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var h=this._parts,x,E,k,N,te,Ee,ke;for(x=0,k=0,N=this._rings.length;x<N;x++)for(ke=this._rings[x],E=0,te=ke.length;E<te-1;E++)Ee=yf(ke[E],ke[E+1],l,E,!0),Ee&&(h[k]=h[k]||[],h[k].push(Ee[0]),(Ee[1]!==ke[E+1]||E===te-2)&&(h[k].push(Ee[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,x=0,E=l.length;x<E;x++)l[x]=ed(l[x],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var x,E,k,N,te,Ee,ke=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(x=0,N=this._parts.length;x<N;x++)for(Ee=this._parts[x],E=0,te=Ee.length,k=te-1;E<te;k=E++)if(!(!h&&E===0)&&lh(l,Ee[k],Ee[E])<=ke)return!0;return!1}});function Hb(l,h){return new xr(l,h)}xr._flat=ix;var el=xr.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 jl(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=xr.prototype._convertLatLngs.call(this,l),x=h.length;return x>=2&&h[0]instanceof Ct&&h[0].equals(h[x-1])&&h.pop(),h},_setLatLngs:function(l){xr.prototype._setLatLngs.call(this,l),Fo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Fo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,x=new ve(h,h);if(l=new Ce(l.min.subtract(x),l.max.add(x)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var E=0,k=this._rings.length,N;E<k;E++)N=Jc(this._rings[E],l,!0),N.length&&this._parts.push(N)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,x,E,k,N,te,Ee,ke,gt;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(N=0,ke=this._parts.length;N<ke;N++)for(x=this._parts[N],te=0,gt=x.length,Ee=gt-1;te<gt;Ee=te++)E=x[te],k=x[Ee],E.y>l.y!=k.y>l.y&&l.x<(k.x-E.x)*(l.y-E.y)/(k.y-E.y)+E.x&&(h=!h);return h||xr.prototype._containsPoint.call(this,l,!0)}});function ux(l,h){return new el(l,h)}var mr=jr.extend({initialize:function(l,h){y(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=M(l)?l:l.features,x,E,k;if(h){for(x=0,E=h.length;x<E;x++)k=h[x],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var N=this.options;if(N.filter&&!N.filter(l))return this;var te=rd(l,N);return te?(te.feature=ad(l),te.defaultOptions=te.options,this.resetStyle(te),N.onEachFeature&&N.onEachFeature(l,te),this.addLayer(te)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(h){this._setLayerStyle(h,l)},this)},_setLayerStyle:function(l,h){l.setStyle&&(typeof h=="function"&&(h=h(l.feature)),l.setStyle(h))}});function rd(l,h){var x=l.type==="Feature"?l.geometry:l,E=x?x.coordinates:null,k=[],N=h&&h.pointToLayer,te=h&&h.coordsToLatLng||uh,Ee,ke,gt,xi;if(!E&&!x)return null;switch(x.type){case"Point":return Ee=te(E),hx(N,l,Ee,h);case"MultiPoint":for(gt=0,xi=E.length;gt<xi;gt++)Ee=te(E[gt]),k.push(hx(N,l,Ee,h));return new jr(k);case"LineString":case"MultiLineString":return ke=hh(E,x.type==="LineString"?0:1,te),new xr(ke,h);case"Polygon":case"MultiPolygon":return ke=hh(E,x.type==="Polygon"?1:2,te),new el(ke,h);case"GeometryCollection":for(gt=0,xi=x.geometries.length;gt<xi;gt++){var tn=rd({geometry:x.geometries[gt],type:"Feature",properties:l.properties},h);tn&&k.push(tn)}return new jr(k);case"FeatureCollection":for(gt=0,xi=x.features.length;gt<xi;gt++){var Ei=rd(x.features[gt],h);Ei&&k.push(Ei)}return new jr(k);default:throw new Error("Invalid GeoJSON object.")}}function hx(l,h,x,E){return l?l(h,x):new ch(x,E&&E.markersInheritOptions&&E)}function uh(l){return new Ct(l[1],l[0],l[2])}function hh(l,h,x){for(var E=[],k=0,N=l.length,te;k<N;k++)te=h?hh(l[k],h-1,x):(x||uh)(l[k]),E.push(te);return E}function Bf(l,h){return l=ye(l),l.alt!==void 0?[p(l.lng,h),p(l.lat,h),p(l.alt,h)]:[p(l.lng,h),p(l.lat,h)]}function fh(l,h,x,E){for(var k=[],N=0,te=l.length;N<te;N++)k.push(h?fh(l[N],Fo(l[N])?0:h-1,x,E):Bf(l[N],E));return!h&&x&&k.length>0&&k.push(k[0].slice()),k}function ma(l,h){return l.feature?n({},l.feature,{geometry:h}):ad(h)}function ad(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var gh={toGeoJSON:function(l){return ma(this,{type:"Point",coordinates:Bf(this.getLatLng(),l)})}};ch.include(gh),Af.include(gh),dh.include(gh),xr.include({toGeoJSON:function(l){var h=!Fo(this._latlngs),x=fh(this._latlngs,h?1:0,!1,l);return ma(this,{type:(h?"Multi":"")+"LineString",coordinates:x})}}),el.include({toGeoJSON:function(l){var h=!Fo(this._latlngs),x=h&&!Fo(this._latlngs[0]),E=fh(this._latlngs,x?2:h?1:0,!0,l);return h||(E=[E]),ma(this,{type:(x?"Multi":"")+"Polygon",coordinates:E})}}),Ja.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(x){h.push(x.toGeoJSON(l).geometry.coordinates)}),ma(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(l){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(l);var x=h==="GeometryCollection",E=[];return this.eachLayer(function(k){if(k.toGeoJSON){var N=k.toGeoJSON(l);if(x)E.push(N.geometry);else{var te=ad(N);te.type==="FeatureCollection"?E.push.apply(E,te.features):E.push(te)}}}),x?ma(this,{geometries:E,type:"GeometryCollection"}):{type:"FeatureCollection",features:E}}});function Ff(l,h){return new mr(l,h)}var Wb=Ff,ld=sr.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,x){this._url=l,this._bounds=at(h),y(this,x)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Pe(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(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&&He(this._image),this},bringToBack:function(){return this._map&&_e(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=at(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",h=this._image=l?this._url:oe("img");if(Pe(h,"leaflet-image-layer"),this._zoomAnimated&&Pe(h,"leaflet-zoom-animated"),this.options.className&&Pe(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onload=r(this.fire,this,"load"),h.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(l){var h=this._map.getZoomScale(l.zoom),x=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;ze(this._image,x,h)},_reset:function(){var l=this._image,h=new Ce(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),x=h.getSize();je(l,h.min),l.style.width=x.x+"px",l.style.height=x.y+"px"},_updateOpacity:function(){ce(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()}}),Lf=function(l,h,x){return new ld(l,h,x)},If=ld.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",h=this._image=l?this._url:oe("video");if(Pe(h,"leaflet-image-layer"),this._zoomAnimated&&Pe(h,"leaflet-zoom-animated"),this.options.className&&Pe(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var x=h.getElementsByTagName("source"),E=[],k=0;k<x.length;k++)E.push(x[k].src);this._url=x.length>0?E:[h.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var N=0;N<this._url.length;N++){var te=oe("source");te.src=this._url[N],h.appendChild(te)}}});function zb(l,h,x){return new If(l,h,x)}var fx=ld.extend({_initImage:function(){var l=this._image=this._url;Pe(l,"leaflet-image-layer"),this._zoomAnimated&&Pe(l,"leaflet-zoom-animated"),this.options.className&&Pe(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Vb(l,h,x){return new fx(l,h,x)}var vr=sr.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof Ct||M(l))?(this._latlng=ye(l),y(this,h)):(y(this,l),this._source=h),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&ce(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&ce(this._container,1),this.bringToFront(),this.options.interactive&&(Pe(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(ce(this._container,0),this._removeTimeout=setTimeout(r(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(lt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=ye(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&&He(this._container),this},bringToBack:function(){return this._map&&_e(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof jr){h=null;var x=this._source._layers;for(var E in x)if(x[E]._map){h=x[E];break}if(!h)return!1;this._source=h}if(!l)if(h.getCenter)l=h.getCenter();else if(h.getLatLng)l=h.getLatLng();else if(h.getBounds)l=h.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,h=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof h=="string")l.innerHTML=h;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(h)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),h=Ue(this.options.offset),x=this._getAnchor();this._zoomAnimated?je(this._container,l.add(x)):h=h.add(l).add(x);var E=this._containerBottom=-h.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=E+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});Ji.include({_initOverlay:function(l,h,x,E){var k=h;return k instanceof l||(k=new l(E).setContent(h)),x&&k.setLatLng(x),k}}),sr.include({_initOverlay:function(l,h,x,E){var k=x;return k instanceof l?(y(k,E),k._source=this):(k=h&&!E?h:new l(E,this),k.setContent(x)),k}});var ph=vr.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,vr.prototype.openOn.call(this,l)},onAdd:function(l){vr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof xa||this._source.on("preclick",Dt))},onRemove:function(l){vr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof xa||this._source.off("preclick",Dt))},getEvents:function(){var l=vr.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",h=this._container=oe("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),x=this._wrapper=oe("div",l+"-content-wrapper",h);if(this._contentNode=oe("div",l+"-content",x),$t(h),Ot(this._contentNode),mt(h,"contextmenu",Dt),this._tipContainer=oe("div",l+"-tip-container",h),this._tip=oe("div",l+"-tip",this._tipContainer),this.options.closeButton){var E=this._closeButton=oe("a",l+"-close-button",h);E.setAttribute("role","button"),E.setAttribute("aria-label","Close popup"),E.href="#close",E.innerHTML='<span aria-hidden="true">×</span>',mt(E,"click",function(k){zt(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var x=l.offsetWidth;x=Math.min(x,this.options.maxWidth),x=Math.max(x,this.options.minWidth),h.width=x+1+"px",h.whiteSpace="",h.height="";var E=l.offsetHeight,k=this.options.maxHeight,N="leaflet-popup-scrolled";k&&E>k?(h.height=k+"px",Pe(l,N)):lt(l,N),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),x=this._getAnchor();je(this._container,h.add(x))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,h=parseInt(ie(this._container,"marginBottom"),10)||0,x=this._container.offsetHeight+h,E=this._containerWidth,k=new ve(this._containerLeft,-x-this._containerBottom);k._add(kt(this._container));var N=l.layerPointToContainerPoint(k),te=Ue(this.options.autoPanPadding),Ee=Ue(this.options.autoPanPaddingTopLeft||te),ke=Ue(this.options.autoPanPaddingBottomRight||te),gt=l.getSize(),xi=0,tn=0;N.x+E+ke.x>gt.x&&(xi=N.x+E-gt.x+ke.x),N.x-xi-Ee.x<0&&(xi=N.x-Ee.x),N.y+x+ke.y>gt.y&&(tn=N.y+x-gt.y+ke.y),N.y-tn-Ee.y<0&&(tn=N.y-Ee.y),(xi||tn)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([xi,tn]))}},_getAnchor:function(){return Ue(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),jb=function(l,h){return new ph(l,h)};Ji.mergeOptions({closePopupOnClick:!0}),Ji.include({openPopup:function(l,h,x){return this._initOverlay(ph,l,h,x).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),sr.include({bindPopup:function(l,h){return this._popup=this._initOverlay(ph,this._popup,l,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof jr||(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)){Ri(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof xa)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=h,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var xh=vr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){vr.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){vr.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=vr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",h=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=oe("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,x,E=this._map,k=this._container,N=E.latLngToContainerPoint(E.getCenter()),te=E.layerPointToContainerPoint(l),Ee=this.options.direction,ke=k.offsetWidth,gt=k.offsetHeight,xi=Ue(this.options.offset),tn=this._getAnchor();Ee==="top"?(h=ke/2,x=gt):Ee==="bottom"?(h=ke/2,x=0):Ee==="center"?(h=ke/2,x=gt/2):Ee==="right"?(h=0,x=gt/2):Ee==="left"?(h=ke,x=gt/2):te.x<N.x?(Ee="right",h=0,x=gt/2):(Ee="left",h=ke+(xi.x+tn.x)*2,x=gt/2),l=l.subtract(Ue(h,x,!0)).add(xi).add(tn),lt(k,"leaflet-tooltip-right"),lt(k,"leaflet-tooltip-left"),lt(k,"leaflet-tooltip-top"),lt(k,"leaflet-tooltip-bottom"),Pe(k,"leaflet-tooltip-"+Ee),je(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&ce(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return Ue(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),$b=function(l,h){return new xh(l,h)};Ji.include({openTooltip:function(l,h,x){return this._initOverlay(xh,l,h,x).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),sr.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(xh,this._tooltip,l,h),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var h=l?"off":"on",x={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?x.add=this._openTooltip:(x.mouseover=this._openTooltip,x.mouseout=this.closeTooltip,x.click=this._openTooltip,this._map?this._addFocusListeners():x.add=this._addFocusListeners),this._tooltip.options.sticky&&(x.mousemove=this._moveTooltip),this[h](x),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof jr||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&(mt(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),mt(h,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&h.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var h=this;this._map.once("moveend",function(){h._openOnceFlag=!1,h._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var h=l.latlng,x,E;this._tooltip.options.sticky&&l.originalEvent&&(x=this._map.mouseEventToContainerPoint(l.originalEvent),E=this._map.containerPointToLayerPoint(x),h=this._map.layerPointToLatLng(E)),this._tooltip.setLatLng(h)}});var G=ql.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var h=l&&l.tagName==="DIV"?l:document.createElement("div"),x=this.options;if(x.html instanceof Element?(Se(h),h.appendChild(x.html)):h.innerHTML=x.html!==!1?x.html:"",x.bgPos){var E=Ue(x.bgPos);h.style.backgroundPosition=-E.x+"px "+-E.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function fe(l){return new G(l)}ql.Default=Gl;var ct=sr.extend({options:{tileSize:256,opacity:1,updateWhenIdle:pe.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(),se(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(He(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_e(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=u(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof ve?l:new ve(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var h=this.getPane().children,x=-l(-1/0,1/0),E=0,k=h.length,N;E<k;E++)N=h[E].style.zIndex,h[E]!==this._container&&N&&(x=l(x,+N));isFinite(x)&&(this.options.zIndex=x+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!pe.ielt9){ce(this._container,this.options.opacity);var l=+new Date,h=!1,x=!1;for(var E in this._tiles){var k=this._tiles[E];if(!(!k.current||!k.loaded)){var N=Math.min(1,(l-k.loaded)/200);ce(k.el,N),N<1?h=!0:(k.active?x=!0:this._onOpaqueTile(k),k.active=!0)}}x&&!this._noPrune&&this._pruneTiles(),h&&(de(this._fadeFrame),this._fadeFrame=X(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=oe("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,h=this.options.maxZoom;if(l!==void 0){for(var x in this._levels)x=Number(x),this._levels[x].el.children.length||x===l?(this._levels[x].el.style.zIndex=h-Math.abs(l-x),this._onUpdateLevel(x)):(se(this._levels[x].el),this._removeTilesAtZoom(x),this._onRemoveLevel(x),delete this._levels[x]);var E=this._levels[l],k=this._map;return E||(E=this._levels[l]={},E.el=oe("div","leaflet-tile-container leaflet-zoom-animated",this._container),E.el.style.zIndex=h,E.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),E.zoom=l,this._setZoomTransform(E,k.getCenter(),k.getZoom()),g(E.el.offsetWidth),this._onCreateLevel(E)),this._level=E,E}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,x=this._map.getZoom();if(x>this.options.maxZoom||x<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)h=this._tiles[l],h.retain=h.current;for(l in this._tiles)if(h=this._tiles[l],h.current&&!h.active){var E=h.coords;this._retainParent(E.x,E.y,E.z,E.z-5)||this._retainChildren(E.x,E.y,E.z,E.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var h in this._tiles)this._tiles[h].coords.z===l&&this._removeTile(h)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)se(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,x,E){var k=Math.floor(l/2),N=Math.floor(h/2),te=x-1,Ee=new ve(+k,+N);Ee.z=+te;var ke=this._tileCoordsToKey(Ee),gt=this._tiles[ke];return gt&>.active?(gt.retain=!0,!0):(gt&>.loaded&&(gt.retain=!0),te>E?this._retainParent(k,N,te,E):!1)},_retainChildren:function(l,h,x,E){for(var k=2*l;k<2*l+2;k++)for(var N=2*h;N<2*h+2;N++){var te=new ve(k,N);te.z=x+1;var Ee=this._tileCoordsToKey(te),ke=this._tiles[Ee];if(ke&&ke.active){ke.retain=!0;continue}else ke&&ke.loaded&&(ke.retain=!0);x+1<E&&this._retainChildren(k,N,x+1,E)}},_resetView:function(l){var h=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),h,h)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var h=this.options;return h.minNativeZoom!==void 0&&l<h.minNativeZoom?h.minNativeZoom:h.maxNativeZoom!==void 0&&h.maxNativeZoom<l?h.maxNativeZoom:l},_setView:function(l,h,x,E){var k=Math.round(h);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 N=this.options.updateWhenZooming&&k!==this._tileZoom;(!E||N)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),x||this._pruneTiles(),this._noPrune=!!x),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var x in this._levels)this._setZoomTransform(this._levels[x],l,h)},_setZoomTransform:function(l,h,x){var E=this._map.getZoomScale(x,l.zoom),k=l.origin.multiplyBy(E).subtract(this._map._getNewPixelOrigin(h,x)).round();pe.any3d?ze(l.el,k,E):je(l.el,k)},_resetGrid:function(){var l=this._map,h=l.options.crs,x=this._tileSize=this.getTileSize(),E=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],E).x/x.x),Math.ceil(l.project([0,h.wrapLng[1]],E).x/x.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],E).y/x.x),Math.ceil(l.project([h.wrapLat[1],0],E).y/x.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,x=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),E=h.getZoomScale(x,this._tileZoom),k=h.project(l,this._tileZoom).floor(),N=h.getSize().divideBy(E*2);return new Ce(k.subtract(N),k.add(N))},_update:function(l){var h=this._map;if(h){var x=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var E=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(E),N=k.getCenter(),te=[],Ee=this.options.keepBuffer,ke=new Ce(k.getBottomLeft().subtract([Ee,-Ee]),k.getTopRight().add([Ee,-Ee]));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 gt in this._tiles){var xi=this._tiles[gt].coords;(xi.z!==this._tileZoom||!ke.contains(new ve(xi.x,xi.y)))&&(this._tiles[gt].current=!1)}if(Math.abs(x-this._tileZoom)>1){this._setView(l,x);return}for(var tn=k.min.y;tn<=k.max.y;tn++)for(var Ei=k.min.x;Ei<=k.max.x;Ei++){var vn=new ve(Ei,tn);if(vn.z=this._tileZoom,!!this._isValidTile(vn)){var Nn=this._tiles[this._tileCoordsToKey(vn)];Nn?Nn.current=!0:te.push(vn)}}if(te.sort(function(Hs,$r){return Hs.distanceTo(N)-$r.distanceTo(N)}),te.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Es=document.createDocumentFragment();for(Ei=0;Ei<te.length;Ei++)this._addTile(te[Ei],Es);this._level.el.appendChild(Es)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var x=this._globalTileRange;if(!h.wrapLng&&(l.x<x.min.x||l.x>x.max.x)||!h.wrapLat&&(l.y<x.min.y||l.y>x.max.y))return!1}if(!this.options.bounds)return!0;var E=this._tileCoordsToBounds(l);return at(this.options.bounds).overlaps(E)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,x=this.getTileSize(),E=l.scaleBy(x),k=E.add(x),N=h.unproject(E,l.z),te=h.unproject(k,l.z);return[N,te]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),x=new Mt(h[0],h[1]);return this.options.noWrap||(x=this._map.wrapLatLngBounds(x)),x},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),x=new ve(+h[0],+h[1]);return x.z=+h[2],x},_removeTile:function(l){var h=this._tiles[l];h&&(se(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Pe(l,"leaflet-tile");var h=this.getTileSize();l.style.width=h.x+"px",l.style.height=h.y+"px",l.onselectstart=g,l.onmousemove=g,pe.ielt9&&this.options.opacity<1&&ce(l,this.options.opacity)},_addTile:function(l,h){var x=this._getTilePos(l),E=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&X(r(this._tileReady,this,l,null,k)),je(k,x),this._tiles[E]={el:k,coords:l,current:!0},h.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,h,x){h&&this.fire("tileerror",{error:h,tile:x,coords:l});var E=this._tileCoordsToKey(l);x=this._tiles[E],x&&(x.loaded=+new Date,this._map._fadeAnimated?(ce(x.el,0),de(this._fadeFrame),this._fadeFrame=X(this._updateOpacity,this)):(x.active=!0,this._pruneTiles()),h||(Pe(x.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:x.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),pe.ielt9||!this._map._fadeAnimated?X(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var h=new ve(this._wrapX?f(l.x,this._wrapX):l.x,this._wrapY?f(l.y,this._wrapY):l.y);return h.z=l.z,h},_pxBoundsToTileRange:function(l){var h=this.getTileSize();return new Ce(l.min.unscaleBy(h).floor(),l.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function ut(l){return new ct(l)}var rt=ct.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,h){this._url=l,h=y(this,h),h.detectRetina&&pe.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,h){return this._url===l&&h===void 0&&(h=!0),this._url=l,h||this.redraw(),this},createTile:function(l,h){var x=document.createElement("img");return mt(x,"load",r(this._tileOnLoad,this,h,x)),mt(x,"error",r(this._tileOnError,this,h,x)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(x.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(x.referrerPolicy=this.options.referrerPolicy),x.alt="",x.src=this.getTileUrl(l),x},getTileUrl:function(l){var h={r:pe.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var x=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=x),h["-y"]=x}return I(this._url,n(h,this.options))},_tileOnLoad:function(l,h){pe.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,x){var E=this.options.errorTileUrl;E&&h.getAttribute("src")!==E&&(h.src=E),l(x,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,x=this.options.zoomReverse,E=this.options.zoomOffset;return x&&(l=h-l),l+E},_getSubdomain:function(l){var h=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var l,h;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(h=this._tiles[l].el,h.onload=g,h.onerror=g,!h.complete)){h.src=P;var x=this._tiles[l].coords;se(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:x})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",P),ct.prototype._removeTile.call(this,l)},_tileReady:function(l,h,x){if(!(!this._map||x&&x.getAttribute("src")===P))return ct.prototype._tileReady.call(this,l,h,x)}});function ti(l,h){return new rt(l,h)}var Fi=rt.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,h){this._url=l;var x=n({},this.defaultWmsParams);for(var E in h)E in this.options||(x[E]=h[E]);h=y(this,h);var k=h.detectRetina&&pe.retina?2:1,N=this.getTileSize();x.width=N.x*k,x.height=N.y*k,this.wmsParams=x},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,rt.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),x=this._crs,E=pt(x.project(h[0]),x.project(h[1])),k=E.min,N=E.max,te=(this._wmsVersion>=1.3&&this._crs===sx?[k.y,k.x,N.y,N.x]:[k.x,k.y,N.x,N.y]).join(","),Ee=rt.prototype.getTileUrl.call(this,l);return Ee+w(this.wmsParams,Ee,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+te},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function Li(l,h){return new Fi(l,h)}rt.WMS=Fi,ti.wms=Li;var Yi=sr.extend({options:{padding:.1},initialize:function(l){y(this,l),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Pe(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,h){var x=this._map.getZoomScale(h,this._zoom),E=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,h),N=E.multiplyBy(-x).add(k).subtract(this._map._getNewPixelOrigin(l,h));pe.any3d?ze(this._container,N,x):je(this._container,N)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,h=this._map.getSize(),x=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new Ce(x,x.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Zi=Yi.extend({options:{tolerance:0},getEvents:function(){var l=Yi.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Yi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");mt(l,"mousemove",this._onMouseMove,this),mt(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),mt(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){de(this._redrawRequest),delete this._ctx,se(this._container),di(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var h in this._layers)l=this._layers[h],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Yi.prototype._update.call(this);var l=this._bounds,h=this._container,x=l.getSize(),E=pe.retina?2:1;je(h,l.min),h.width=E*x.x,h.height=E*x.y,h.style.width=x.x+"px",h.style.height=x.y+"px",pe.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Yi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[d(l)]=l;var h=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var h=l._order,x=h.next,E=h.prev;x?x.prev=E:this._drawLast=E,E?E.next=x:this._drawFirst=x,delete l._order,delete this._layers[d(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var h=l.options.dashArray.split(/[, ]+/),x=[],E,k;for(k=0;k<h.length;k++){if(E=Number(h[k]),isNaN(E))return;x.push(E)}l.options._dashArray=x}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||X(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Ce,this._redrawBounds.extend(l._pxBounds.min.subtract([h,h])),this._redrawBounds.extend(l._pxBounds.max.add([h,h]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var h=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,h.x,h.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,h=this._redrawBounds;if(this._ctx.save(),h){var x=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,x.x,x.y),this._ctx.clip()}this._drawing=!0;for(var E=this._drawFirst;E;E=E.next)l=E.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var x,E,k,N,te=l._parts,Ee=te.length,ke=this._ctx;if(Ee){for(ke.beginPath(),x=0;x<Ee;x++){for(E=0,k=te[x].length;E<k;E++)N=te[x][E],ke[E?"lineTo":"moveTo"](N.x,N.y);h&&ke.closePath()}this._fillStroke(ke,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,x=this._ctx,E=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||E)/E;k!==1&&(x.save(),x.scale(1,k)),x.beginPath(),x.arc(h.x,h.y/k,E,0,Math.PI*2,!1),k!==1&&x.restore(),this._fillStroke(x,l)}},_fillStroke:function(l,h){var x=h.options;x.fill&&(l.globalAlpha=x.fillOpacity,l.fillStyle=x.fillColor||x.color,l.fill(x.fillRule||"evenodd")),x.stroke&&x.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=x.opacity,l.lineWidth=x.weight,l.strokeStyle=x.color,l.lineCap=x.lineCap,l.lineJoin=x.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(x))&&(E=x);this._fireEvent(E?[E]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var h=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,h)}},_handleMouseOut:function(l){var h=this._hoveredLayer;h&&(lt(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(E=x);E!==this._hoveredLayer&&(this._handleMouseOut(l),E&&(Pe(this._container,"leaflet-interactive"),this._fireEvent([E],l,"mouseover"),this._hoveredLayer=E)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,x){this._map._fireDOMEvent(h,x||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(x)x.prev=E;else return;E?E.next=x:x&&(this._drawFirst=x),h.prev=this._drawLast,this._drawLast.next=h,h.next=null,this._drawLast=h,this._requestRedraw(l)}},_bringToBack:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(E)E.next=x;else return;x?x.prev=E:E&&(this._drawLast=E),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function pn(l){return pe.canvas?new Zi(l):null}var un=(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">')}})(),Dn={_initContainer:function(){this._container=oe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Yi.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=un("shape");Pe(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=un("path"),h.appendChild(l._path),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){var h=l._container;this._container.appendChild(h),l.options.interactive&&l.addInteractiveTarget(h)},_removePath:function(l){var h=l._container;se(h),l.removeInteractiveTarget(h),delete this._layers[d(l)]},_updateStyle:function(l){var h=l._stroke,x=l._fill,E=l.options,k=l._container;k.stroked=!!E.stroke,k.filled=!!E.fill,E.stroke?(h||(h=l._stroke=un("stroke")),k.appendChild(h),h.weight=E.weight+"px",h.color=E.color,h.opacity=E.opacity,E.dashArray?h.dashStyle=M(E.dashArray)?E.dashArray.join(" "):E.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=E.lineCap.replace("butt","flat"),h.joinstyle=E.lineJoin):h&&(k.removeChild(h),l._stroke=null),E.fill?(x||(x=l._fill=un("fill")),k.appendChild(x),x.color=E.fillColor||E.color,x.opacity=E.fillOpacity):x&&(k.removeChild(x),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),x=Math.round(l._radius),E=Math.round(l._radiusY||x);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+x+","+E+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){He(l._container)},_bringToBack:function(l){_e(l._container)}},wn=pe.vml?un:Di,kn=Yi.extend({_initContainer:function(){this._container=wn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=wn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),di(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Yi.prototype._update.call(this);var l=this._bounds,h=l.getSize(),x=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,x.setAttribute("width",h.x),x.setAttribute("height",h.y)),je(x,l.min),x.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=wn("path");l.options.className&&Pe(h,l.options.className),l.options.interactive&&Pe(h,"leaflet-interactive"),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){se(l._path),l.removeInteractiveTarget(l._path),delete this._layers[d(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var h=l._path,x=l.options;h&&(x.stroke?(h.setAttribute("stroke",x.color),h.setAttribute("stroke-opacity",x.opacity),h.setAttribute("stroke-width",x.weight),h.setAttribute("stroke-linecap",x.lineCap),h.setAttribute("stroke-linejoin",x.lineJoin),x.dashArray?h.setAttribute("stroke-dasharray",x.dashArray):h.removeAttribute("stroke-dasharray"),x.dashOffset?h.setAttribute("stroke-dashoffset",x.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),x.fill?(h.setAttribute("fill",x.fillColor||x.color),h.setAttribute("fill-opacity",x.fillOpacity),h.setAttribute("fill-rule",x.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,_i(l._parts,h))},_updateCircle:function(l){var h=l._point,x=Math.max(Math.round(l._radius),1),E=Math.max(Math.round(l._radiusY),1)||x,k="a"+x+","+E+" 0 1,0 ",N=l._empty()?"M0 0":"M"+(h.x-x)+","+h.y+k+x*2+",0 "+k+-x*2+",0 ";this._setPath(l,N)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){He(l._path)},_bringToBack:function(l){_e(l._path)}});pe.vml&&kn.include(Dn);function us(l){return pe.svg||pe.vml?new kn(l):null}Ji.include({getRenderer:function(l){var h=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var h=this._paneRenderers[l];return h===void 0&&(h=this._createRenderer({pane:l}),this._paneRenderers[l]=h),h},_createRenderer:function(l){return this.options.preferCanvas&&pn(l)||us(l)}});var bn=el.extend({initialize:function(l,h){el.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=at(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function $n(l,h){return new bn(l,h)}kn.create=wn,kn.pointsToPath=_i,mr.geometryToLayer=rd,mr.coordsToLatLng=uh,mr.coordsToLatLngs=hh,mr.latLngToCoords=Bf,mr.latLngsToCoords=fh,mr.getFeature=ma,mr.asFeature=ad,Ji.mergeOptions({boxZoom:!0});var Ns=ao.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(){mt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){di(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(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(),dt(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(l),mt(document,{contextmenu:Ri,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=oe("div","leaflet-zoom-box",this._container),Pe(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new Ce(this._point,this._startPoint),x=h.getSize();je(this._box,h.min),this._box.style.width=x.x+"px",this._box.style.height=x.y+"px"},_finish:function(){this._moved&&(se(this._box),lt(this._container,"leaflet-crosshair")),it(),Xe(),di(document,{contextmenu:Ri,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var h=new Mt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ji.addInitHook("addHandler","boxZoom",Ns),Ji.mergeOptions({doubleClickZoom:!0});var bo=ao.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var h=this._map,x=h.getZoom(),E=h.options.zoomDelta,k=l.originalEvent.shiftKey?x-E:x+E;h.options.doubleClickZoom==="center"?h.setZoom(k):h.setZoomAround(l.containerPoint,k)}});Ji.addInitHook("addHandler","doubleClickZoom",bo),Ji.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Os=ao.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new nr(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))}Pe(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){lt(this._map._container,"leaflet-grab"),lt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=at(this._map.options.maxBounds);this._offsetLimit=pt(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var h=this._lastTime=+new Date,x=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(x),this._times.push(h),this._prunePositions(h)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,h){return l-(l-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;l.x<h.min.x&&(l.x=this._viscousLimit(l.x,h.min.x)),l.y<h.min.y&&(l.y=this._viscousLimit(l.y,h.min.y)),l.x>h.max.x&&(l.x=this._viscousLimit(l.x,h.max.x)),l.y>h.max.y&&(l.y=this._viscousLimit(l.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,h=Math.round(l/2),x=this._initialWorldOffset,E=this._draggable._newPos.x,k=(E-h+x)%l+h-x,N=(E+h+x)%l-h-x,te=Math.abs(k+x)<Math.abs(N+x)?k:N;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=te},_onDragEnd:function(l){var h=this._map,x=h.options,E=!x.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),E)h.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),N=(this._lastTime-this._times[0])/1e3,te=x.easeLinearity,Ee=k.multiplyBy(te/N),ke=Ee.distanceTo([0,0]),gt=Math.min(x.inertiaMaxSpeed,ke),xi=Ee.multiplyBy(gt/ke),tn=gt/(x.inertiaDeceleration*te),Ei=xi.multiplyBy(-tn/2).round();!Ei.x&&!Ei.y?h.fire("moveend"):(Ei=h._limitOffset(Ei,h.options.maxBounds),X(function(){h.panBy(Ei,{duration:tn,easeLinearity:te,noMoveStart:!0,animate:!0})}))}}});Ji.addInitHook("addHandler","dragging",Os),Ji.mergeOptions({keyboard:!0,keyboardPanDelta:80});var ks=ao.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"),mt(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(),di(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,h=document.documentElement,x=l.scrollTop||h.scrollTop,E=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(E,x)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var h=this._panKeys={},x=this.keyCodes,E,k;for(E=0,k=x.left.length;E<k;E++)h[x.left[E]]=[-1*l,0];for(E=0,k=x.right.length;E<k;E++)h[x.right[E]]=[l,0];for(E=0,k=x.down.length;E<k;E++)h[x.down[E]]=[0,l];for(E=0,k=x.up.length;E<k;E++)h[x.up[E]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},x=this.keyCodes,E,k;for(E=0,k=x.zoomIn.length;E<k;E++)h[x.zoomIn[E]]=l;for(E=0,k=x.zoomOut.length;E<k;E++)h[x.zoomOut[E]]=-l},_addHooks:function(){mt(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){di(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,x=this._map,E;if(h in this._panKeys){if(!x._panAnim||!x._panAnim._inProgress)if(E=this._panKeys[h],l.shiftKey&&(E=Ue(E).multiplyBy(3)),x.options.maxBounds&&(E=x._limitOffset(Ue(E),x.options.maxBounds)),x.options.worldCopyJump){var k=x.wrapLatLng(x.unproject(x.project(x.getCenter()).add(E)));x.panTo(k)}else x.panBy(E)}else if(h in this._zoomKeys)x.setZoom(x.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&x._popup&&x._popup.options.closeOnEscapeKey)x.closePopup();else return;Ri(l)}}});Ji.addInitHook("addHandler","keyboard",ks),Ji.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var hs=ao.extend({addHooks:function(){mt(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){di(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=An(l),x=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var E=Math.max(x-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),E),Ri(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),x=this._map.options.zoomSnap||0;l._stop();var E=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(E))))/Math.LN2,N=x?Math.ceil(k/x)*x:k,te=l._limitZoom(h+(this._delta>0?N:-N))-h;this._delta=0,this._startTime=null,te&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+te):l.setZoomAround(this._lastMousePos,h+te))}});Ji.addInitHook("addHandler","scrollWheelZoom",hs);var ls=600;Ji.mergeOptions({tapHold:pe.touchNative&&pe.safari&&pe.mobile,tapTolerance:15});var Ks=ao.extend({addHooks:function(){mt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){di(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var h=l.touches[0];this._startPos=this._newPos=new ve(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(mt(document,"touchend",zt),mt(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),ls),mt(document,"touchend touchcancel contextmenu",this._cancel,this),mt(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){di(document,"touchend",zt),di(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),di(document,"touchend touchcancel contextmenu",this._cancel,this),di(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new ve(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var x=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});x._simulated=!0,h.target.dispatchEvent(x)}});Ji.addInitHook("addHandler","tapHold",Ks),Ji.mergeOptions({touchZoom:pe.touch,bounceAtZoomLimits:!0});var Mn=ao.extend({addHooks:function(){Pe(this._map._container,"leaflet-touch-zoom"),mt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){lt(this._map._container,"leaflet-touch-zoom"),di(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var h=this._map;if(!(!l.touches||l.touches.length!==2||h._animatingZoom||this._zooming)){var x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(x.add(E)._divideBy(2))),this._startDist=x.distanceTo(E),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),mt(document,"touchmove",this._onTouchMove,this),mt(document,"touchend touchcancel",this._onTouchEnd,this),zt(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]),k=x.distanceTo(E)/this._startDist;if(this._zoom=h.getScaleZoom(k,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&k<1||this._zoom>h.getMaxZoom()&&k>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var N=x._add(E)._divideBy(2)._subtract(this._centerPoint);if(k===1&&N.x===0&&N.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(N),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),de(this._animRequest);var te=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=X(te,this,!0),zt(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,de(this._animRequest),di(document,"touchmove",this._onTouchMove,this),di(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",Mn),Ji.BoxZoom=Ns,Ji.DoubleClickZoom=bo,Ji.Drag=Os,Ji.Keyboard=ks,Ji.ScrollWheelZoom=hs,Ji.TapHold=Ks,Ji.TouchZoom=Mn,t.Bounds=Ce,t.Browser=pe,t.CRS=It,t.Canvas=Zi,t.Circle=Af,t.CircleMarker=dh,t.Class=re,t.Control=Tn,t.DivIcon=G,t.DivOverlay=vr,t.DomEvent=In,t.DomUtil=Nt,t.Draggable=nr,t.Evented=Me,t.FeatureGroup=jr,t.GeoJSON=mr,t.GridLayer=ct,t.Handler=ao,t.Icon=ql,t.ImageOverlay=ld,t.LatLng=Ct,t.LatLngBounds=Mt,t.Layer=sr,t.LayerGroup=Ja,t.LineUtil=sd,t.Map=Ji,t.Marker=ch,t.Mixin=ah,t.Path=xa,t.Point=ve,t.PolyUtil=Cf,t.Polygon=el,t.Polyline=xr,t.Popup=ph,t.PosAnimation=es,t.Projection=Ob,t.Rectangle=bn,t.Renderer=Yi,t.SVG=kn,t.SVGOverlay=fx,t.TileLayer=rt,t.Tooltip=xh,t.Transformation=Et,t.Util=be,t.VideoOverlay=If,t.bind=r,t.bounds=pt,t.canvas=pn,t.circle=kf,t.circleMarker=dx,t.control=Gn,t.divIcon=fe,t.extend=n,t.featureGroup=ax,t.geoJSON=Ff,t.geoJson=Wb,t.gridLayer=ut,t.icon=lx,t.imageOverlay=Lf,t.latLng=ye,t.latLngBounds=at,t.layerGroup=rx,t.map=Is,t.marker=cx,t.point=Ue,t.polygon=ux,t.polyline=Hb,t.popup=jb,t.rectangle=$n,t.setOptions=y,t.stamp=d,t.svg=us,t.svgOverlay=Vb,t.tileLayer=ti,t.tooltip=$b,t.transformation=Xt,t.version=i,t.videoOverlay=zb;var ps=window.L;t.noConflict=function(){return window.L=ps,this},window.L=t}))})(rg,rg.exports)),rg.exports}var gZ=fZ();const jf=xS(gZ),pZ="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=",xZ="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==",mZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",On=(o,e=ab)=>{var t=vZ(),i=v(_(t),2),n=_(i);z(()=>W(n,e())),D(o,t)};var vZ=B('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),_Z=B("<button> </button>"),bZ=B('<span class="err svelte-767znw"> </span>'),CZ=B('<span class="ok svelte-767znw"> </span>'),EZ=B('<div class="loading svelte-767znw">Loading…</div>'),yZ=B('<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>'),wZ=B('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),SZ=B('<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),DZ=B('<div class="field-error svelte-767znw"> </div>'),AZ=B('<div class="field-ok svelte-767znw"> </div>'),kZ=B('<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>'),BZ=B('<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),FZ=B('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),LZ=B('<section id="sec-broker" class="svelte-767znw"><h3 class="svelte-767znw">Mosquitto management</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Mosquitto management<!></label></div></section>'),IZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Storage path <!></label> <input id="matter-storage-input" type="text" class="svelte-767znw"/></div>'),PZ=B('<section id="sec-matter" class="svelte-767znw"><h3 class="svelte-767znw">Matter controller</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Matter controller<!></label></div> <!></section>'),TZ=B('<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>'),MZ=B('<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>'),RZ=B('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),W2=B("<option> </option>"),NZ=B('<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>'),OZ=B('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),HZ=B('<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> Retain document messages <!></label></div>'),WZ=B('<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 class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!>',1),zZ=B('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> sheDB</label></div> <!></section>'),VZ=B('<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>'),jZ=B('<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>'),$Z=B('<span class="free-badge svelte-767znw">FREE</span> ',1),UZ=B(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),qZ=B("<div><!> <!></div>"),GZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),KZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),ZZ=B('<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>'),XZ=B('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),YZ=B('<!> <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 QZ(o,e){$s(e,!0),delete jf.Icon.Default.prototype._getIconUrl,jf.Icon.Default.mergeOptions({iconUrl:pZ,iconRetinaUrl:xZ,shadowUrl:mZ});let t=F(wi(M$())),i=F("~/.she"),n=F("mqtt"),s=F(""),r=F(""),a=F(""),d=F(""),u=F(""),f=F(""),g=F("logic"),p=F("var"),C=F(""),b=F(!1),y=F(!1),w=F(!1),A=F(!1),I=F(""),M=F(!1),R=F(8080),P=F(""),V=F("none"),j=F(""),ee=F("X-Remote-User"),ae=F(""),ge=F(!1),X=F(""),de=F(""),be=F(""),re=F(!1),ue=F(!1),Ae=F(!1),Me=F(""),ve=F(48.7408),Oe=F(9.1778),Ue=F(!1),Ce=F(void 0),pt=F(!1),Mt=F(null),at=F("info"),Ct=F(!0),ye=F(""),It=F(""),Jt=F(!1),Ke=F(!1),Qe=F("");const Et=[{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 Xt=F("ollama"),fi=F("ollama"),ui=F(""),Di=F(""),_i=F("");const Ze={};let we="ollama";function ni(ne,tt){return ne==="anthropic"?"anthropic":ne==="ollama"?"ollama":tt?tt.includes("localhost:1234")?"lmstudio":tt.includes("groq.com")?"groq":tt.includes("googleapis.com")?"gemini":"openai":"openai"}function bi(){Ze[we]={baseUrl:c(ui),model:c(Di),apiKey:c(_i)};const ne=Et.find(Ht=>Ht.id===c(Xt));if(!ne)return;m(fi,ne.provider,!0);const tt=Ze[c(Xt)];m(ui,(tt==null?void 0:tt.baseUrl)??ne.baseUrl,!0),m(Di,(tt==null?void 0:tt.model)??ne.defaultModel,!0),m(_i,(tt==null?void 0:tt.apiKey)??"",!0),we=c(Xt)}const ei=Lt(()=>Et.find(ne=>ne.id===c(Xt)));let Gi=F(wi({}));const sn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai","broker","matter-storage"]);Kn(()=>{if(!c(Ce))return;const ne=typeof c(ve)=="number"?c(ve):48.7408,tt=typeof c(Oe)=="number"?c(Oe):9.1778,Ht=jf.map(c(Ce)).setView([ne,tt],10);jf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Ht);const Vt=jf.marker([ne,tt],{draggable:!0}).addTo(Ht);m(Mt,Vt,!0);const jt=Te=>{m(ve,+Te.lat.toFixed(6)),m(Oe,+Te.lng.toFixed(6))};return Vt.on("dragend",()=>jt(Vt.getLatLng())),Ht.on("click",Te=>{Vt.setLatLng(Te.latlng),jt(Te.latlng)}),()=>{m(Mt,null),Ht.remove()}}),Kn(()=>{!c(Mt)||c(ve)===""||c(Oe)===""||c(Mt).setLatLng([Number(c(ve)),Number(c(Oe))])});let yi;function Sn(){if(!navigator.geolocation){yi.show("Geolocation is not supported by this browser.",{alert:!0});return}m(pt,!0),navigator.geolocation.getCurrentPosition(ne=>{m(ve,+ne.coords.latitude.toFixed(6)),m(Oe,+ne.coords.longitude.toFixed(6)),m(pt,!1)},()=>{m(pt,!1)})}let dn=F(!0),fn=F(!1),gn=F(""),xt=F(""),Kt=F(""),Ti=F("appearance");const zi=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"broker",label:"Mosquitto",terms:["mosquitto","broker","mqtt broker","management","dynsec"]},{id:"matter",label:"Matter controller",terms:["matter","thread","zigbee","iot","devices","smart home controller"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"shedb",label:"sheDB",terms:["database","db","shedb","path","retain","enable"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let ri=Lt(()=>zi.filter(ne=>{const tt=c(Kt).trim().toLowerCase();return!tt||ne.label.toLowerCase().includes(tt)||ne.terms.some(Ht=>Ht.includes(tt))}));function Ni(ne){var tt;m(Ti,ne,!0),(tt=document.getElementById("sec-"+ne))==null||tt.scrollIntoView({behavior:"smooth",block:"start"})}Xs(async()=>{try{const ne=await e0();ne.dataDir&&m(i,ne.dataDir,!0)}catch{}try{const ne=await Pl();if(typeof ne.url=="string"&&ne.url)try{const Te=new URL(ne.url);m(n,Te.protocol.replace(":",""),!0),m(s,Te.host,!0)}catch{m(s,ne.url,!0)}typeof ne.mqttUsername=="string"&&m(r,ne.mqttUsername,!0),typeof ne.mqttPassword=="string"&&m(a,ne.mqttPassword,!0),typeof ne.mqttCa=="string"&&m(d,ne.mqttCa,!0),typeof ne.mqttCert=="string"&&m(u,ne.mqttCert,!0),typeof ne.mqttKey=="string"&&m(f,ne.mqttKey,!0),typeof ne.mqttVersion=="string"&&m(C,ne.mqttVersion,!0),typeof ne.name=="string"&&m(g,ne.name,!0),typeof ne.variablePrefix=="string"&&m(p,ne.variablePrefix,!0),typeof ne.disableVariables=="boolean"&&m(b,ne.disableVariables,!0),typeof ne.port=="number"&&m(R,ne.port,!0),typeof ne.bindAddress=="string"&&m(P,ne.bindAddress,!0),typeof ne.auth=="string"&&m(V,ne.auth,!0),typeof ne.proxyHeader=="string"&&m(ee,ne.proxyHeader,!0),typeof ne.proxyLogoutUrl=="string"&&m(ae,ne.proxyLogoutUrl,!0),typeof ne.dir=="string"&&m(be,ne.dir,!0),typeof ne.disableWatch=="boolean"&&m(re,ne.disableWatch,!0),typeof ne.gitAutoCommit=="boolean"&&m(ue,ne.gitAutoCommit,!0),typeof ne.gitAutoPush=="boolean"&&m(Ae,ne.gitAutoPush,!0),typeof ne.latitude=="number"&&m(ve,ne.latitude,!0),typeof ne.longitude=="number"&&m(Oe,ne.longitude,!0),typeof ne.timezone=="string"&&m(Me,ne.timezone,!0),typeof ne.verbosity=="string"&&m(at,ne.verbosity,!0),typeof ne.dbPath=="string"?(m(Ct,ne.dbPath!==""),m(ye,ne.dbPath,!0)):(m(Ct,!0),m(ye,"")),typeof ne.dbPrefix=="string"&&m(It,ne.dbPrefix,!0),typeof ne.dbPublish=="boolean"&&m(Jt,ne.dbPublish,!0),typeof ne.dbRetain=="boolean"&&m(Ke,ne.dbRetain,!0);const tt=ne.redis;tt!=null&&tt.url&&m(Qe,tt.url,!0);const Ht=ne.broker;m(y,(Ht==null?void 0:Ht.enabled)===!0);const Vt=ne["matter-storage"];m(A,!!Vt),m(I,Vt&&typeof Vt=="string"&&Vt!=="true"?Vt:"",!0);const jt=ne.ai;jt!=null&&jt.provider&&m(fi,jt.provider,!0),jt!=null&&jt.baseUrl&&m(ui,jt.baseUrl,!0),jt!=null&&jt.model&&m(Di,jt.model,!0),jt!=null&&jt.apiKey&&m(_i,jt.apiKey,!0),m(Xt,ni(c(fi),c(ui)),!0),we=c(Xt),m(Gi,Object.fromEntries(Object.entries(ne).filter(([Te])=>!sn.has(Te))),!0),Ht&&m(Gi,{...c(Gi),broker:Ht},!0)}catch(ne){m(xt,ne.message,!0)}finally{m(dn,!1)}});async function Ui(){if(m(de,""),m(X,""),c(V)==="password"&&!c(j)){m(de,"A password is required to enable password authentication.");return}m(ge,!0);try{await V$(c(V),c(V)==="password"?c(j):void 0,c(V)==="proxy"?c(ee):void 0,c(V)==="proxy"?c(ae):void 0),m(j,""),m(X,"Authentication settings saved.")}catch(ne){m(de,ne.message,!0)}finally{m(ge,!1)}}async function nn(ne){if(ne){m(Ct,!0);return}let tt=0;try{tt=(await e0()).dbDocs??0}catch{}tt>0&&!await yi.show(`sheDB contains ${tt} document${tt===1?"":"s"}. Disabling it will hide the DB page but data on disk is preserved and can be re-enabled later. Continue?`,{confirm:"Disable anyway",danger:!0})||m(Ct,!1)}async function pi(ne){if(ne){m(A,!0);return}m(M,!0);try{const tt=await uS();if(tt.length>0){await yi.show(`Cannot disable the Matter controller: ${tt.length} device${tt.length===1?" is":"s are"} still paired. Unpair all devices first via the Matter page.`,{alert:!0});return}}catch{}finally{m(M,!1)}m(A,!1)}async function Wi(ne){var tt;if(ne){m(y,!0);return}m(w,!0);try{const Ht=await Mb();if((tt=Ht.dynsec)!=null&&tt.configured){await yi.show("Cannot disable mosquitto management: the dynamic security plugin is still configured. Remove it first via Broker → Status.",{alert:!0});return}if(Ht.sshConfigured&&!await yi.show("An SSH broker connection is configured. Disabling mosquitto management will hide the Broker page but your configuration will be preserved.",{confirm:"Disable anyway",danger:!0}))return}catch{}finally{m(w,!1)}m(y,!1)}async function Bi(){m(xt,""),m(gn,"");const ne={...c(Gi)};c(s)&&(ne.url=`${c(n)}://${c(s)}`),ne.name=c(g),ne.variablePrefix=c(p),c(C)&&(ne.mqttVersion=c(C)),c(b)&&(ne.disableVariables=!0),c(r)&&(ne.mqttUsername=c(r)),c(a)&&(ne.mqttPassword=c(a)),c(d)&&(ne.mqttCa=c(d)),c(u)&&(ne.mqttCert=c(u)),c(f)&&(ne.mqttKey=c(f)),c(R)!==""&&(ne.port=Number(c(R))),c(P)&&(ne.bindAddress=c(P)),c(be)&&(ne.dir=c(be)),c(re)&&(ne.disableWatch=!0),c(ue)&&(ne.gitAutoCommit=!0),c(Ae)&&(ne.gitAutoPush=!0),c(ve)!==""&&(ne.latitude=Number(c(ve))),c(Oe)!==""&&(ne.longitude=Number(c(Oe))),c(Me)&&(ne.timezone=c(Me)),ne.verbosity=c(at),c(Ct)?c(ye)&&(ne.dbPath=c(ye),c(It)&&(ne.dbPrefix=c(It)),c(Jt)&&(ne.dbPublish=!0,c(Ke)&&(ne.dbRetain=!0))):ne.dbPath="",c(Qe)&&(ne.redis={url:c(Qe)});const tt=c(Gi).broker??{},{enabled:Ht,...Vt}=tt;c(y)?ne.broker={...Vt,enabled:!0}:Object.keys(Vt).length>0&&(ne.broker=Vt),c(A)&&(ne["matter-storage"]=c(I)||!0),c(fi)&&(ne.ai={provider:c(fi),...c(ui)?{baseUrl:c(ui)}:{},...c(Di)?{model:c(Di)}:{},...c(_i)?{apiKey:c(_i)}:{}}),m(fn,!0);try{const jt=await pp(ne);window.dispatchEvent(new CustomEvent("she:config-changed")),m(gn,jt.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(jt){m(xt,jt.message,!0)}finally{m(fn,!1)}}var en=YZ(),Mi=bt(en);gs(Yc(Mi,{}),ne=>yi=ne,()=>yi);var Ki=v(Mi,2),qi=_(Ki),K=_(qi),Be=v(_(K),2),Ye=v(K,2);ii(Ye,21,()=>zi,ne=>ne.id,(ne,tt)=>{var Ht=Ss(),Vt=bt(Ht);{var jt=Je=>{var Zt=_Z();let ai;var Ii=_(Zt);z(()=>{ai=At(Zt,1,"section-link svelte-767znw",null,ai,{active:c(Ti)===c(tt).id}),W(Ii,c(tt).label)}),U("click",Zt,()=>Ni(c(tt).id)),D(Je,Zt)},Te=Lt(()=>c(ri).some(Je=>Je.id===c(tt).id));H(Vt,Je=>{c(Te)&&Je(jt)})}D(ne,Ht)});var st=v(qi,2),Gt=_(st),hi=v(_(Gt),2);{var yt=ne=>{var tt=bZ(),Ht=_(tt);z(()=>W(Ht,c(xt))),D(ne,tt)};H(hi,ne=>{c(xt)&&ne(yt)})}var ht=v(hi,2);{var Q=ne=>{var tt=CZ(),Ht=_(tt);z(()=>W(Ht,c(gn))),D(ne,tt)};H(ht,ne=>{c(gn)&&ne(Q)})}var We=v(ht,2),le=_(We),pe=v(Gt,2);{var oi=ne=>{var tt=EZ();D(ne,tt)},gi=ne=>{var tt=XZ(),Ht=_(tt);{var Vt=he=>{var Ne=yZ(),Le=v(_(Ne),2),Xe=v(_(Le),2),St=_(Xe);St.value=St.__value="dark";var et=v(St);et.value=et.__value="light";var nt=v(et);nt.value=nt.__value="system",U("change",Xe,()=>R$(c(t))),Ls(Xe,()=>c(t),xe=>m(t,xe)),D(he,Ne)},jt=Lt(()=>c(ri).some(he=>he.id==="appearance"));H(Ht,he=>{c(jt)&&he(Vt)})}var Te=v(Ht,2);{var Je=he=>{var Ne=kZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var et=v(Xe,2),nt=_(et);nt.value=nt.__value="none";var xe=v(nt);xe.value=xe.__value="password";var $e=v(xe);$e.value=$e.__value="proxy";var ft=v(Le,2);{var Nt=$t=>{var zt=wZ(),Ri=_(zt),ji=_(Ri),mn=v(ji);On(mn,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Oi=v(Ri,2);z(()=>W(ji,`${c(j)?"New password":"Password"} `)),Wt(Oi,()=>c(j),An=>m(j,An)),D($t,zt)};H(ft,$t=>{c(V)==="password"&&$t(Nt)})}var mt=v(ft,2);{var Pt=$t=>{var zt=SZ(),Ri=bt(zt),ji=_(Ri),mn=v(_(ji));On(mn,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Oi=v(ji,2),An=v(Ri,2),Jn=_(An),In=v(_(Jn));On(In,()=>"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 es=v(Jn,2);Wt(Oi,()=>c(ee),Ji=>m(ee,Ji)),Wt(es,()=>c(ae),Ji=>m(ae,Ji)),D($t,zt)};H(mt,$t=>{c(V)==="proxy"&&$t(Pt)})}var di=v(mt,2);{var Vi=$t=>{var zt=DZ(),Ri=_(zt);z(()=>W(Ri,c(de))),D($t,zt)};H(di,$t=>{c(de)&&$t(Vi)})}var Ci=v(di,2);{var Qt=$t=>{var zt=AZ(),Ri=_(zt);z(()=>W(Ri,c(X))),D($t,zt)};H(Ci,$t=>{c(X)&&$t(Qt)})}var Ft=v(Ci,2),Dt=v(_(Ft),2),Ot=_(Dt);z(()=>{Dt.disabled=c(ge)||c(V)==="password"&&!c(j),W(Ot,c(ge)?"Saving…":"Apply authentication settings")}),Ls(et,()=>c(V),$t=>m(V,$t)),U("click",Dt,Ui),D(he,Ne)},Zt=Lt(()=>c(ri).some(he=>he.id==="auth"));H(Te,he=>{c(Zt)&&he(Je)})}var ai=v(Te,2);{var Ii=he=>{var Ne=FZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var et=v(Xe,2),nt=_(et);nt.value=nt.__value="mqtt";var xe=v(nt);xe.value=xe.__value="mqtts";var $e=v(xe);$e.value=$e.__value="ws";var ft=v($e);ft.value=ft.__value="wss";var Nt=v(Le,2),mt=_(Nt),Pt=v(_(mt));On(Pt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var di=v(mt,2),Vi=v(Nt,2),Ci=_(Vi),Qt=v(_(Ci));On(Qt,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Ft=v(Ci,2),Dt=v(Vi,2),Ot=_(Dt),$t=v(_(Ot));On($t,()=>"MQTT broker password. Stored in plain text in config.json.");var zt=v(Ot,2),Ri=v(Dt,2);{var ji=Ps=>{var ao=BZ(),ah=bt(ao),Vl=_(ah),nr=v(_(Vl));On(nr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Jc=v(Vl,2),jl=v(ah,2),Ya=_(jl),Cf=v(_(Ya));On(Cf,()=>"PEM-encoded client certificate for mutual TLS authentication.");var ed=v(Ya,2),lh=v(jl,2),td=_(lh),id=v(_(td));On(id,()=>"PEM-encoded private key matching the client certificate.");var $l=v(td,2);Wt(Jc,()=>c(d),pa=>m(d,pa)),Wt(ed,()=>c(u),pa=>m(u,pa)),Wt($l,()=>c(f),pa=>m(f,pa)),D(Ps,ao)};H(Ri,Ps=>{(c(n)==="mqtts"||c(n)==="wss")&&Ps(ji)})}var mn=v(Ri,2),Oi=_(mn),An=v(_(Oi));On(An,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var Jn=v(Oi,2),In=_(Jn);In.value=In.__value="";var es=v(In);es.value=es.__value="5";var Ji=v(mn,2),Is=_(Ji),Tn=v(_(Is));On(Tn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Gn=v(Is,2),vs=v(Ji,2),ir=_(vs),zr=v(_(ir));On(zr,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Xa=v(ir,2),zl=v(vs,2),pr=v(_(zl),2),Vr=_(pr),Qc=v(Vr,4);On(Qc,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Ls(et,()=>c(n),Ps=>m(n,Ps)),Wt(di,()=>c(s),Ps=>m(s,Ps)),Wt(Ft,()=>c(r),Ps=>m(r,Ps)),Wt(zt,()=>c(a),Ps=>m(a,Ps)),Ls(Jn,()=>c(C),Ps=>m(C,Ps)),Wt(Gn,()=>c(g),Ps=>m(g,Ps)),Wt(Xa,()=>c(p),Ps=>m(p,Ps)),ws(Vr,()=>c(b),Ps=>m(b,Ps)),D(he,Ne)},li=Lt(()=>c(ri).some(he=>he.id==="mqtt"));H(ai,he=>{c(li)&&he(Ii)})}var me=v(ai,2);{var Ve=he=>{var Ne=LZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Shows the Broker page in the navigation, giving access to listener config, dynamic security, TLS certificates and more. Disable if you are not using Mosquitto or prefer to manage it externally.");var et=v(Xe,2);let nt;var xe=_(et),$e=v(xe,4);{var ft=Nt=>{var mt=oo("— checking…");D(Nt,mt)};H($e,Nt=>{c(w)&&Nt(ft)})}z(()=>{nt=At(et,1,"check-label svelte-767znw",null,nt,{muted:c(w)}),Zo(xe,c(y)),xe.disabled=c(w)}),U("change",xe,Nt=>Wi(Nt.target.checked)),D(he,Ne)},ot=Lt(()=>c(ri).some(he=>he.id==="broker"));H(me,he=>{c(ot)&&he(Ve)})}var Re=v(me,2);{var wt=he=>{var Ne=PZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Shows the Matter page and starts the built-in Matter controller on next restart. Requires a restart to take effect. Disable only after unpairing all devices.");var et=v(Xe,2);let nt;var xe=_(et),$e=v(xe,4);{var ft=Pt=>{var di=oo("— checking…");D(Pt,di)};H($e,Pt=>{c(M)&&Pt(ft)})}var Nt=v(Le,2);{var mt=Pt=>{var di=IZ(),Vi=_(di),Ci=v(_(Vi));On(Ci,()=>"Path to the Matter controller storage directory. Leave empty to use the default ({dataDir}/matter).");var Qt=v(Vi,2);z(()=>an(Qt,"placeholder",`${c(i)??""}/matter (default)`)),Wt(Qt,()=>c(I),Ft=>m(I,Ft)),D(Pt,di)};H(Nt,Pt=>{c(A)&&Pt(mt)})}z(()=>{nt=At(et,1,"check-label svelte-767znw",null,nt,{muted:c(M)}),Zo(xe,c(A)),xe.disabled=c(M)}),U("change",xe,Pt=>pi(Pt.target.checked)),D(he,Ne)},_t=Lt(()=>c(ri).some(he=>he.id==="matter"));H(Re,he=>{c(_t)&&he(wt)})}var Ut=v(Re,2);{var $=he=>{var Ne=TZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var et=v(Xe,2),nt=v(Le,2),xe=_(nt),$e=v(_(xe));On($e,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var ft=v(xe,2);Wt(et,()=>c(R),Nt=>m(R,Nt)),Wt(ft,()=>c(P),Nt=>m(P,Nt)),D(he,Ne)},T=Lt(()=>c(ri).some(he=>he.id==="webserver"));H(Ut,he=>{c(T)&&he($)})}var O=v(Ut,2);{var Y=he=>{var Ne=MZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var et=v(Xe,2),nt=v(Le,2),xe=v(_(nt),2),$e=_(xe),ft=v($e,4);On(ft,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),z(()=>an(et,"placeholder",`${c(i)??""}/scripts (default)`)),Wt(et,()=>c(be),Nt=>m(be,Nt)),ws($e,()=>c(re),Nt=>m(re,Nt)),D(he,Ne)},ie=Lt(()=>c(ri).some(he=>he.id==="scripts"));H(O,he=>{c(ie)&&he(Y)})}var oe=v(O,2);{var se=he=>{var Ne=RZ(),Le=v(_(Ne),2),Xe=v(_(Le),2),St=_(Xe),et=v(St,4);On(et,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var nt=v(Le,2),xe=v(_(nt),2),$e=_(xe),ft=v($e,4);On(ft,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),ws(St,()=>c(ue),Nt=>m(ue,Nt)),ws($e,()=>c(Ae),Nt=>m(Ae,Nt)),D(he,Ne)},Se=Lt(()=>c(ri).some(he=>he.id==="git"));H(oe,he=>{c(Se)&&he(se)})}var He=v(oe,2);{var _e=he=>{var Ne=OZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var et=v(Xe,2),nt=v(et,2);ii(nt,20,()=>{var Oi;return((Oi=Intl.supportedValuesOf)==null?void 0:Oi.call(Intl,"timeZone"))??[]},Hi,(Oi,An)=>{var Jn=W2(),In=_(Jn),es={};z(()=>{W(In,An),es!==(es=An)&&(Jn.value=(Jn.__value=An)??"")}),D(Oi,Jn)});var xe=v(Le,2),$e=_(xe),ft=v(_($e));On(ft,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Nt=v($e,2),mt=v(xe,2),Pt=_(mt),di=v(_(Pt));On(di,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Vi=v(Pt,2),Ci=v(mt,2),Qt=v(_(Ci),2),Ft=_(Qt),Dt=_(Ft);{var Ot=Oi=>{var An=oo("…");D(Oi,An)},$t=Oi=>{var An=oo("📍 Use my location");D(Oi,An)};H(Dt,Oi=>{c(pt)?Oi(Ot):Oi($t,-1)})}var zt=v(Ft,2),Ri=_(zt),ji=v(Ci,2);{var mn=Oi=>{var An=NZ(),Jn=v(_(An),2);gs(Jn,In=>m(Ce,In),()=>c(Ce)),D(Oi,An)};H(ji,Oi=>{c(Ue)&&Oi(mn)})}z(()=>{Ft.disabled=c(pt),W(Ri,c(Ue)?"Hide map":"Pick on map")}),Wt(et,()=>c(Me),Oi=>m(Me,Oi)),Wt(Nt,()=>c(ve),Oi=>m(ve,Oi)),Wt(Vi,()=>c(Oe),Oi=>m(Oe,Oi)),U("click",Ft,Sn),U("click",zt,()=>m(Ue,!c(Ue))),D(he,Ne)},Fe=Lt(()=>c(ri).some(he=>he.id==="solar"));H(He,he=>{c(Fe)&&he(_e)})}var Pe=v(He,2);{var lt=he=>{var Ne=zZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Built-in JSON document store used by scripts and the DB page. Disable only if you don't use it — data on disk is preserved.");var et=v(Xe,2),nt=_(et),xe=v(Le,2);{var $e=ft=>{var Nt=WZ(),mt=bt(Nt),Pt=_(mt),di=v(_(Pt));On(di,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to use the default.");var Vi=v(Pt,2),Ci=v(mt,2),Qt=_(Ci),Ft=v(_(Qt));On(Ft,()=>"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 Dt=v(Qt,2),Ot=v(Ci,2),$t=v(_(Ot),2),zt=_($t),Ri=v(zt,4);On(Ri,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var ji=v(Ot,2);{var mn=Oi=>{var An=HZ(),Jn=v(_(An),2),In=_(Jn),es=v(In,4);On(es,()=>"When enabled, MQTT messages for document changes are published as retained messages."),ws(In,()=>c(Ke),Ji=>m(Ke,Ji)),D(Oi,An)};H(ji,Oi=>{c(Jt)&&Oi(mn)})}z(()=>an(Vi,"placeholder",`defaults to ${c(i)??""}/db`)),Wt(Vi,()=>c(ye),Oi=>m(ye,Oi)),Wt(Dt,()=>c(It),Oi=>m(It,Oi)),ws(zt,()=>c(Jt),Oi=>m(Jt,Oi)),D(ft,Nt)};H(xe,ft=>{c(Ct)&&ft($e)})}z(()=>Zo(nt,c(Ct))),U("change",nt,ft=>nn(ft.target.checked)),D(he,Ne)},Yt=Lt(()=>c(ri).some(he=>he.id==="shedb"));H(Pe,he=>{c(Yt)&&he(lt)})}var Z=v(Pe,2);{var ce=he=>{var Ne=VZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"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 et=v(Xe,2);Wt(et,()=>c(Qe),nt=>m(Qe,nt)),D(he,Ne)},qe=Lt(()=>c(ri).some(he=>he.id==="redis"));H(Z,he=>{c(qe)&&he(ce)})}var Bt=v(Z,2);{var ze=he=>{var Ne=jZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var et=v(Xe,2),nt=_(et);nt.value=nt.__value="debug";var xe=v(nt);xe.value=xe.__value="info";var $e=v(xe);$e.value=$e.__value="warn";var ft=v($e);ft.value=ft.__value="error",Ls(et,()=>c(at),Nt=>m(at,Nt)),D(he,Ne)},je=Lt(()=>c(ri).some(he=>he.id==="logging"));H(Bt,he=>{c(je)&&he(ze)})}var kt=v(Bt,2);{var dt=he=>{var Ne=ZZ(),Le=v(_(Ne),2),Xe=_(Le),St=v(_(Xe));On(St,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var et=v(Xe,2);ii(et,21,()=>Et,Hi,(Qt,Ft)=>{var Dt=W2(),Ot=_(Dt),$t={};z(()=>{W(Ot,c(Ft).label),$t!==($t=c(Ft).id)&&(Dt.value=(Dt.__value=c(Ft).id)??"")}),D(Qt,Dt)});var nt=v(Le,2);{var xe=Qt=>{var Ft=qZ();let Dt;var Ot=_(Ft);{var $t=ji=>{var mn=$Z(),Oi=v(bt(mn));z(()=>W(Oi,` ${c(ei).freeNote??""}`)),D(ji,mn)};H(Ot,ji=>{c(ei).freeNote&&ji($t)})}var zt=v(Ot,2);{var Ri=ji=>{var mn=UZ(),Oi=v(bt(mn));z(()=>an(Oi,"href",c(ei).apiKeyUrl)),D(ji,mn)};H(zt,ji=>{c(ei).apiKeyUrl&&ji(Ri)})}z(()=>Dt=At(Ft,1,"preset-note svelte-767znw",null,Dt,{free:!!c(ei).freeNote})),D(Qt,Ft)};H(nt,Qt=>{var Ft,Dt;((Ft=c(ei))!=null&&Ft.freeNote||(Dt=c(ei))!=null&&Dt.apiKeyUrl)&&Qt(xe)})}var $e=v(nt,2);{var ft=Qt=>{var Ft=GZ(),Dt=_(Ft),Ot=v(_(Dt));On(Ot,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var $t=v(Dt,2);z(()=>{var zt;return an($t,"placeholder",c(Xt)==="ollama"?"http://localhost:11434":c(Xt)==="lmstudio"?"http://localhost:1234":((zt=c(ei))==null?void 0:zt.baseUrl)??"")}),Wt($t,()=>c(ui),zt=>m(ui,zt)),D(Qt,Ft)};H($e,Qt=>{c(Xt)!=="anthropic"&&Qt(ft)})}var Nt=v($e,2),mt=_(Nt),Pt=v(_(mt));On(Pt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var di=v(mt,2),Vi=v(Nt,2);{var Ci=Qt=>{var Ft=KZ(),Dt=_(Ft),Ot=v(_(Dt));On(Ot,()=>"Stored in config.json. Not needed for local providers.");var $t=v(Dt,2);Wt($t,()=>c(_i),zt=>m(_i,zt)),D(Qt,Ft)};H(Vi,Qt=>{c(Xt)!=="ollama"&&c(Xt)!=="lmstudio"&&Qt(Ci)})}z(()=>{var Qt;return an(di,"placeholder",((Qt=c(ei))==null?void 0:Qt.defaultModel)||"e.g. llama3.2")}),U("change",et,bi),Ls(et,()=>c(Xt),Qt=>m(Xt,Qt)),Wt(di,()=>c(Di),Qt=>m(Di,Qt)),D(he,Ne)},it=Lt(()=>c(ri).some(he=>he.id==="ai"));H(kt,he=>{c(it)&&he(dt)})}D(ne,tt)};H(pe,ne=>{c(dn)?ne(oi):ne(gi,-1)})}z(()=>{We.disabled=c(fn),W(le,c(fn)?"Saving…":"Save")}),Wt(Be,()=>c(Kt),ne=>m(Kt,ne)),U("click",We,Bi),D(o,en),Us()}Ys(["click","change"]);var JZ=B('<span class="history-loading svelte-18loop9" title="Loading log history…">↺</span>'),eX=B("<option> </option>"),tX=B('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),iX=B('<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 nX(o,e){$s(e,!0);const t=2e3;let i=F(wi(LF())),n=F(!0),s,r=F(!0),a=F("all"),d=F(""),u=F(!1);const f=["all","debug","info","warn","error"],g={debug:0,info:1,warn:2,error:3};pS(X=>{m(i,[...c(i).slice(-1999),X],!0)}),Xs(async()=>{try{const X=await fS(),de=new Set(c(i).map(re=>re.ts+re.msg)),be=X.filter(re=>!de.has(re.ts+re.msg));m(i,[...be,...c(i)].slice(-t),!0)}catch{}m(n,!1),s&&(s.scrollTop=s.scrollHeight)}),Kn(()=>{c(i).length,c(r)&&s&&(s.scrollTop=s.scrollHeight)});function p(){m(i,[],!0)}function C(X){if(c(a)!=="all"&&g[X.level]<g[c(a)])return!1;if(!c(d))return!0;if(c(u))try{return new RegExp(c(d),"i").test(X.msg)}catch{}return X.msg.toLowerCase().includes(c(d).toLowerCase())}function b(X){return new Date(X).toLocaleTimeString()}var y=iX(),w=_(y),A=v(_(w),2);{var I=X=>{var de=JZ();D(X,de)};H(A,X=>{c(n)&&X(I)})}var M=v(A,2);ii(M,21,()=>f,Hi,(X,de)=>{var be=eX(),re=_(be),ue={};z(()=>{W(re,c(de)),ue!==(ue=c(de))&&(be.value=(be.__value=c(de))??"")}),D(X,be)});var R=v(M,2),P=v(R,2),V=_(P),j=v(P,2),ee=_(j),ae=v(j,2),ge=v(w,2);ii(ge,21,()=>c(i).filter(C),X=>X.ts+X.msg,(X,de)=>{var be=tX(),re=_(be),ue=_(re),Ae=v(re,2),Me=_(Ae),ve=v(Ae,2),Oe=_(ve);z((Ue,Ce)=>{At(be,1,`line ${c(de).level??""}`,"svelte-18loop9"),W(ue,Ue),W(Me,Ce),W(Oe,c(de).msg)},[()=>b(c(de).ts),()=>c(de).level.toUpperCase()]),D(X,be)}),gs(ge,X=>s=X,()=>s),Ls(M,()=>c(a),X=>m(a,X)),Wt(R,()=>c(d),X=>m(d,X)),ws(V,()=>c(u),X=>m(u,X)),ws(ee,()=>c(r),X=>m(r,X)),U("click",ae,p),D(o,y),Us()}Ys(["click"]);function z2(o,e){if(o===e)return[];if(e==="#")return[o];const t=[],i=o.split("/"),n=e.split("/");let s=0;for(const r=i.length;s<r;s++)if(n[s]==="+")t.push(i[s]);else{if(n[s]==="#")return t.push(i.slice(s).join("/")),t;if(n[s]!==i[s])return null}return n[s]==="#"&&(s+=1),s===n.length?t:null}var sX=B('<span class="chat-model svelte-1twuiul"><!></span>'),oX=B('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),rX=B('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),aX=B('Working on view <code class="svelte-1twuiul"> </code>',1),lX=B('<button class="chip svelte-1twuiul"> </button>'),cX=B('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),dX=B('<div class="msg-content user-text svelte-1twuiul"> </div>'),V2=B('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),j2=B('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),$2=B('<div class="tool-events svelte-1twuiul"></div>'),U2=B('<div class="text-block svelte-1twuiul"></div>'),uX=B('<button class="expand-btn svelte-1twuiul"> </button>'),hX=B('<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>'),fX=B('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),gX=B('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),pX=B("<div><!></div>"),xX=B('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),mX=B('<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>'),vX=B('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),_X=B('<div class="chat-error svelte-1twuiul"> </div>'),bX=B('<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>'),CX=B('<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>'),EX=B('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),yX=B('<button class="send-btn svelte-1twuiul">↑</button>'),wX=B('<option class="svelte-1twuiul"> </option>'),SX=B('<select class="model-select svelte-1twuiul"></select>'),DX=B('<span class="model-name svelte-1twuiul"> </span>'),AX=B('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),kX=B('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),BX=B('<p class="info-status svelte-1twuiul">Loading…</p>'),FX=B('<p class="info-status info-err svelte-1twuiul"> </p>'),LX=B('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),IX=B('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),PX=B('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),TX=B('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),MX=B('<div class="running-model svelte-1twuiul"> </div>'),RX=B('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),NX=B('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),OX=B('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),HX=B('<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>'),WX=B('<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 zX(o,e){$s(e,!0),Vv.registerLanguage("javascript",RF),os.use({breaks:!0,gfm:!0});let t=Tu(e,"currentView",3,null);const i="she:viewchat:messages";let n=F(wi(JSON.parse(localStorage.getItem(i)??"[]"))),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null),f=F(wi([])),g=F(wi(localStorage.getItem("she:selectedModel")??""));Kn(()=>{localStorage.setItem(i,JSON.stringify(c(n)))});let p=F(wi(new Set)),C=F(!1),b=F(null),y=F(!1),w=F(""),A=null,I=F(0);const M=["[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 R=F(!0),P=F(!0),V=F(!0),j=F(wi([])),ee=F(!0),ae=F(!1),ge,X=F(wi([])),de=F(0),be,re;const ue=Lt(()=>({apiref:!1,shedb:c(R),sampleDocs:c(P),tools:c(V)})),Ae=Lt(()=>{var $;return(($=c(u))==null?void 0:$.configured)??!1}),Me=Lt(()=>c(de)+new TextEncoder().encode(c(r)).length),ve=Lt(()=>c(ee)?t():null);async function Oe(){try{const $=await wF();m(u,$,!0),$.configured&&!c(g)&&m(g,$.model,!0)}catch{}}Kn(()=>(window.addEventListener("she:config-changed",Oe),()=>window.removeEventListener("she:config-changed",Oe))),Xs(()=>{Oe()}),Kn(()=>{c(g)&&localStorage.setItem("she:selectedModel",c(g))}),Kn(()=>{var $;($=c(u))!=null&&$.provider&&SF().then(T=>{m(f,T.models,!0),!c(g)&&T.models.length>0&&m(g,T.models[0],!0)}).catch(()=>{})}),Kn(()=>{c(g),m(b,null),m(w,"")}),Kn(()=>{const $=c(ue),T=c(ve),O=c(j);c(Ae)&&DF({context:$,currentView:T??null,extraFiles:O.length>0?O:void 0}).then(Y=>{m(de,new TextEncoder().encode(Y.prompt).length,!0)}).catch(()=>{})}),Kn(()=>{if(!c(a))return;m(I,Math.floor(Math.random()*M.length),!0);const $=setInterval(()=>{m(I,(c(I)+1)%M.length)},1e4);return()=>clearInterval($)}),Kn(()=>{var $;re&&(c(n).length+((($=c(s))==null?void 0:$.length)??0),requestAnimationFrame(()=>{re&&(re.scrollTop=re.scrollHeight)}))});function Ue($){const T=[],O=/```(\w*)\n([\s\S]*?)```/g;let Y=0,ie;for(;(ie=O.exec($))!==null;)ie.index>Y&&T.push({type:"text",text:$.slice(Y,ie.index)}),T.push({type:"code",lang:ie[1]||"text",text:ie[2].trimEnd()}),Y=ie.index+ie[0].length;return Y<$.length&&T.push({type:"text",text:$.slice(Y)}),T}function Ce($){const T=[],O=/```(\w*)\n([\s\S]*?)```/g;let Y=0,ie;for(;(ie=O.exec($))!==null;)ie.index>Y&&T.push({type:"text",text:$.slice(Y,ie.index)}),T.push({type:"code",lang:ie[1]||"text",text:ie[2].trimEnd()}),Y=ie.index+ie[0].length;const oe=$.slice(Y),se=oe.match(/```(\w*)\n([\s\S]*)$/);return se?(se.index>0&&T.push({type:"text",text:oe.slice(0,se.index)}),T.push({type:"code",lang:se[1]||"text",text:se[2]})):oe&&T.push({type:"text",text:oe}),T}function pt($){const T={};for(const O of $)if(O.type==="code"){if(O.lang==="filter")T.filter=O.text.trim();else if(Qe(O.lang)){const Y=O.text.split(`
|
|
223
|
-
`)[0].trim();Y==="// @view-map"?T.map=O.text.split(`
|
|
224
|
-
`).slice(1).join(`
|
|
225
|
-
`).trim():Y==="// @view-reduce"&&(T.reduce=O.text.split(`
|
|
226
|
-
`).slice(1).join(`
|
|
227
|
-
`).trim())}}return T}function Mt($){return $.filter!==void 0||$.map!==void 0||$.reduce!==void 0}function at($){const T=[];return $.filter!==void 0&&T.push("filter"),$.map!==void 0&&T.push("map"),$.reduce!==void 0&&T.push("reduce"),`Apply ${T.join(" + ")}`}const Ct=15;function ye($){return $.split(`
|
|
228
|
-
`).length>Ct}function It($){const T=new Set(c(p));T.has($)?T.delete($):T.add($),m(p,T,!0)}function Jt($,T){if(Qe(T))try{return Vv.highlight($,{language:"javascript"}).value}catch{}return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Ke($){return os.parse($)}function Qe($){return!$||$==="js"||$==="javascript"}function Et($){navigator.clipboard.writeText($).catch(()=>{})}async function Xt(){if(m(C,!0),!(c(b)||c(y))){m(y,!0),m(w,"");try{m(b,await _w(c(g)||c(u).model),!0)}catch($){m(w,$.message,!0)}m(y,!1)}}function fi($){return $>=1e9?`${($/1e9).toFixed(1)} GB`:$>=1e6?`${($/1e6).toFixed(0)} MB`:`${$} B`}function ui($){const T=$.match(/\.([^.]+)$/);return T?T[1].toUpperCase():"?"}function Di($){switch($){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return $}}function _i($){m(j,c(j).filter((T,O)=>O!==$),!0)}function Ze(){ge.click()}async function we($){if(!(!$||$.length===0))for(const T of Array.from($)){const O=await T.text();m(j,[...c(j),{name:T.name,content:O}],!0)}}function ni($){const T=$.target;we(T.files),T.value=""}function bi($){var T;$.preventDefault(),m(ae,!1),we(((T=$.dataTransfer)==null?void 0:T.files)??null)}function ei($){var T;(T=$.dataTransfer)!=null&&T.types.includes("Files")&&($.preventDefault(),m(ae,!0))}function Gi(){m(ae,!1)}async function sn(){const $=c(r).trim();if(!(!$||c(a))){m(r,""),m(d,""),m(a,!0),m(n,[...c(n),{role:"user",content:$}],!0),A=new AbortController,m(X,[],!0);try{await AF({messages:c(n),currentView:c(ve),context:c(ue),modelOverride:c(g)||void 0,extraFiles:c(j).length>0?c(j):void 0},T=>{m(s,(c(s)??"")+T)},A.signal,T=>{m(X,[...c(X),T],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(X).length>0?[...c(X)]:void 0}],!0),m(X,[],!0)}catch(T){if(T.name==="AbortError"){const O=c(s);O!=null&&O.trim()&&m(n,[...c(n),{role:"assistant",content:O+`
|
|
229
|
-
|
|
230
|
-
*[stopped]*`,toolEvents:c(X).length>0?[...c(X)]:void 0}],!0)}else m(d,T.message,!0)}finally{A=null,m(s,null),m(X,[],!0),m(a,!1)}}}function yi(){A==null||A.abort()}function Sn($){$.key==="Enter"&&!$.shiftKey&&($.preventDefault(),sn())}function dn(){m(n,[],!0),m(d,"")}const fn=["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 gn($){m(r,$,!0),be==null||be.focus()}var xt=WX(),Kt=bt(xt),Ti=_(Kt),zi=v(_(Ti),2);{var ri=$=>{var T=sX(),O=_(T);{var Y=oe=>{var se=oo();z(()=>W(se,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(oe,se)},ie=oe=>{var se=oo("Not configured");D(oe,se)};H(O,oe=>{c(Ae)?oe(Y):oe(ie,-1)})}z(()=>an(T,"title",`Provider: ${c(u).provider??""}`)),D($,T)};H(zi,$=>{c(u)&&$(ri)})}var Ni=v(zi,2);{var Ui=$=>{var T=oX();U("click",T,dn),D($,T)};H(Ni,$=>{c(n).length>0&&$(Ui)})}var nn=v(Ti,2),pi=_(nn);{var Wi=$=>{var T=rX();D($,T)},Bi=$=>{var T=cX(),O=_(T),Y=_(O);{var ie=Se=>{var He=aX(),_e=v(bt(He)),Fe=_(_e);z(()=>W(Fe,t().id)),D(Se,He)},oe=Se=>{var He=oo("No view selected. Ask a general sheDB view question.");D(Se,He)};H(Y,Se=>{t()?Se(ie):Se(oe,-1)})}var se=v(O,2);ii(se,17,()=>fn,Hi,(Se,He)=>{var _e=lX(),Fe=_(_e);z(()=>W(Fe,c(He))),U("click",_e,()=>gn(c(He))),D(Se,_e)}),D($,T)};H(pi,$=>{c(Ae)?c(n).length===0&&c(s)===null&&$(Bi,1):$(Wi)})}var en=v(pi,2);ii(en,17,()=>c(n),Hi,($,T,O)=>{var Y=pX(),ie=_(Y);{var oe=Se=>{var He=dX(),_e=_(He);z(()=>W(_e,c(T).content)),D(Se,He)},se=Se=>{const He=Lt(()=>Ue(c(T).content)),_e=Lt(()=>pt(c(He)));var Fe=gX(),Pe=bt(Fe);{var lt=ze=>{var je=$2();ii(je,21,()=>c(T).toolEvents,Hi,(kt,dt)=>{var it=Ss(),he=bt(it);{var Ne=Xe=>{var St=V2(),et=v(_(St)),nt=_(et);z(xe=>W(nt,xe),[()=>c(dt).name.replace(/_/g," ")]),D(Xe,St)},Le=Xe=>{var St=j2(),et=v(_(St)),nt=_(et);z(xe=>W(nt,xe),[()=>c(dt).name.replace(/_/g," ")]),D(Xe,St)};H(he,Xe=>{c(dt).type==="tool_call"?Xe(Ne):Xe(Le,-1)})}D(kt,it)}),D(ze,je)};H(Pe,ze=>{var je;(je=c(T).toolEvents)!=null&&je.length&&ze(lt)})}var Yt=v(Pe,2),Z=_(Yt);ii(Z,17,()=>c(He),Hi,(ze,je,kt)=>{var dt=Ss(),it=bt(dt);{var he=Le=>{var Xe=U2();hc(Xe,()=>Ke(c(je).text),!0),D(Le,Xe)},Ne=Le=>{const Xe=Lt(()=>`${O}:${kt}`),St=Lt(()=>ye(c(je).text)),et=Lt(()=>c(p).has(c(Xe))),nt=Lt(()=>c(je).lang==="filter");var xe=hX(),$e=_(xe),ft=_($e),Nt=_(ft),mt=v(ft,2),Pt=_(mt),di=v($e,2);let Vi;var Ci=_(di),Qt=_(Ci);hc(Qt,()=>Jt(c(je).text,c(je).lang??""),!0);var Ft=v(Ci,2);{var Dt=Ot=>{var $t=uX(),zt=_($t);z(()=>W(zt,c(et)?"▲ collapse":"▼ expand")),U("click",$t,()=>It(c(Xe))),D(Ot,$t)};H(Ft,Ot=>{c(St)&&Ot(Dt)})}z(()=>{W(Nt,c(nt)?"filter":c(je).lang),Vi=At(di,1,"code-body svelte-1twuiul",null,Vi,{collapsed:c(St)&&!c(et)})}),U("click",Pt,()=>Et(c(je).text)),D(Le,xe)};H(it,Le=>{c(je).type==="text"?Le(he):Le(Ne,-1)})}D(ze,dt)});var ce=v(Z,2);{var qe=ze=>{var je=fX(),kt=_(je),dt=_(kt);z(it=>W(dt,it),[()=>at(c(_e))]),U("click",kt,()=>e.onApplyView(c(_e))),D(ze,je)},Bt=Lt(()=>Mt(c(_e))&&e.onApplyView);H(ce,ze=>{c(Bt)&&ze(qe)})}D(Se,Fe)};H(ie,Se=>{c(T).role==="user"?Se(oe):Se(se,-1)})}z(()=>At(Y,1,`message ${c(T).role??""}`,"svelte-1twuiul")),D($,Y)});var Mi=v(en,2);{var Ki=$=>{var T=$2();ii(T,21,()=>c(X),Hi,(O,Y)=>{var ie=Ss(),oe=bt(ie);{var se=He=>{var _e=V2(),Fe=v(_(_e)),Pe=_(Fe);z(lt=>W(Pe,lt),[()=>c(Y).name.replace(/_/g," ")]),D(He,_e)},Se=He=>{var _e=j2(),Fe=v(_(_e)),Pe=_(Fe);z(lt=>W(Pe,lt),[()=>c(Y).name.replace(/_/g," ")]),D(He,_e)};H(oe,He=>{c(Y).type==="tool_call"?He(se):He(Se,-1)})}D(O,ie)}),D($,T)};H(Mi,$=>{c(X).length>0&&$(Ki)})}var qi=v(Mi,2);{var K=$=>{var T=xX(),O=_(T),Y=_(O),ie=_(Y);z(()=>W(ie,M[c(I)])),D($,T)};H(qi,$=>{c(a)&&c(s)===null&&c(X).length===0&&$(K)})}var Be=v(qi,2);{var Ye=$=>{var T=vX(),O=_(T);ii(O,21,()=>Ce(c(s)),Hi,(Y,ie)=>{var oe=Ss(),se=bt(oe);{var Se=_e=>{var Fe=U2();hc(Fe,()=>Ke(c(ie).text),!0),D(_e,Fe)},He=_e=>{var Fe=mX(),Pe=_(Fe),lt=_(Pe),Yt=_(lt),Z=v(Pe,2),ce=_(Z);hc(ce,()=>Jt(c(ie).text,c(ie).lang??""),!0),z(()=>W(Yt,c(ie).lang)),D(_e,Fe)};H(se,_e=>{c(ie).type==="text"?_e(Se):_e(He,-1)})}D(Y,oe)}),D($,T)};H(Be,$=>{c(s)!==null&&$(Ye)})}gs(nn,$=>re=$,()=>re);var st=v(nn,2);{var Gt=$=>{var T=_X(),O=_(T);z(()=>W(O,c(d))),D($,T)};H(st,$=>{c(d)&&$(Gt)})}var hi=v(st,2),yt=_(hi),ht=_(yt),Q=v(yt,2),We=_(Q),le=v(Q,2),pe=_(le),oi=v(le,2),gi=_(oi),ne=v(hi,2),tt=_(ne);{var Ht=$=>{var T=bX();let O;var Y=v(_(T),2),ie=_(Y),oe=v(Y,2),se=_(oe);z(()=>{O=At(T,1,"file-chip svelte-1twuiul",null,O,{inactive:!c(ee)}),W(ie,t().id),an(oe,"title",c(ee)?"Remove from context":"Re-add to context"),W(se,c(ee)?"×":"+")}),U("click",oe,()=>m(ee,!c(ee))),D($,T)};H(tt,$=>{t()&&$(Ht)})}var Vt=v(tt,2);ii(Vt,17,()=>c(j),Hi,($,T,O)=>{const Y=Lt(()=>ui(c(T).name));var ie=CX(),oe=_(ie),se=_(oe),Se=v(oe,2),He=_(Se),_e=v(Se,2);z((Fe,Pe)=>{At(oe,1,`badge badge-${Fe??""}`,"svelte-1twuiul"),W(se,Pe),W(He,c(T).name)},[()=>c(Y).toLowerCase(),()=>Di(c(Y))]),U("click",_e,()=>_i(O)),D($,ie)});var jt=v(Vt,2),Te=v(jt,2);gs(Te,$=>ge=$,()=>ge);var Je=v(ne,2);let Zt;var ai=_(Je);let Ii;var li=_(ai);gs(li,$=>be=$,()=>be);var me=v(ai,2);{var Ve=$=>{var T=EX();U("click",T,yi),D($,T)},ot=$=>{var T=yX();z(O=>T.disabled=O,[()=>!c(r).trim()||!c(Ae)]),U("click",T,sn),D($,T)};H(me,$=>{c(a)?$(Ve):$(ot,-1)})}var Re=v(Je,2);{var wt=$=>{var T=kX(),O=_(T),Y=_(O),ie=v(O,2);{var oe=_e=>{var Fe=SX();ii(Fe,21,()=>c(f),Hi,(Pe,lt)=>{var Yt=wX(),Z=_(Yt),ce={};z(()=>{W(Z,c(lt)),ce!==(ce=c(lt))&&(Yt.value=(Yt.__value=c(lt))??"")}),D(Pe,Yt)}),z(()=>Fe.disabled=c(a)),Ls(Fe,()=>c(g),Pe=>m(g,Pe)),D(_e,Fe)},se=_e=>{var Fe=DX(),Pe=_(Fe);z(()=>W(Pe,c(g)||c(u).model)),D(_e,Fe)};H(ie,_e=>{c(f).length>0?_e(oe):_e(se,-1)})}var Se=v(ie,2);{var He=_e=>{var Fe=AX();U("click",Fe,Xt),D(_e,Fe)};H(Se,_e=>{c(u).provider==="ollama"&&_e(He)})}z(()=>W(Y,c(u).provider)),D($,T)};H(Re,$=>{c(Ae)&&c(u)&&$(wt)})}var _t=v(Kt,2);{var Ut=$=>{var T=HX(),O=_(T),Y=_(O),ie=_(Y),oe=_(ie),se=v(ie,2),Se=v(Y,2),He=_(Se);{var _e=lt=>{var Yt=BX();D(lt,Yt)},Fe=lt=>{var Yt=FX(),Z=_(Yt);z(()=>W(Z,c(w))),D(lt,Yt)},Pe=lt=>{var Yt=OX(),Z=_(Yt);{var ce=Le=>{var Xe=LX(),St=v(bt(Xe)),et=_(St);z(()=>W(et,c(b).version)),D(Le,Xe)};H(Z,Le=>{c(b).version&&Le(ce)})}var qe=v(Z,2);{var Bt=Le=>{var Xe=IX(),St=v(bt(Xe)),et=_(St);z(()=>W(et,c(b).details.family)),D(Le,Xe)};H(qe,Le=>{var Xe;(Xe=c(b).details)!=null&&Xe.family&&Le(Bt)})}var ze=v(qe,2);{var je=Le=>{var Xe=PX(),St=v(bt(Xe)),et=_(St);z(()=>W(et,c(b).details.parameter_size)),D(Le,Xe)};H(ze,Le=>{var Xe;(Xe=c(b).details)!=null&&Xe.parameter_size&&Le(je)})}var kt=v(ze,2);{var dt=Le=>{var Xe=TX(),St=v(bt(Xe)),et=_(St);z(()=>W(et,c(b).details.quantization_level)),D(Le,Xe)};H(kt,Le=>{var Xe;(Xe=c(b).details)!=null&&Xe.quantization_level&&Le(dt)})}var it=v(kt,2);{var he=Le=>{var Xe=RX(),St=v(bt(Xe),2);ii(St,21,()=>c(b).running,Hi,(et,nt)=>{var xe=MX(),$e=_(xe);z(ft=>W($e,`${c(nt).name??""} · ${ft??""} VRAM`),[()=>fi(c(nt).size_vram)]),D(et,xe)}),D(Le,Xe)},Ne=Le=>{var Xe=NX();D(Le,Xe)};H(it,Le=>{c(b).running&&c(b).running.length>0?Le(he):c(b).running!==null&&Le(Ne,1)})}D(lt,Yt)};H(He,lt=>{c(y)?lt(_e):c(w)?lt(Fe,1):c(b)&<(Pe,2)})}z(()=>{var lt;return W(oe,`Ollama · ${(c(g)||((lt=c(u))==null?void 0:lt.model))??""}`)}),U("click",T,()=>m(C,!1)),U("click",O,lt=>lt.stopPropagation()),U("click",se,()=>m(C,!1)),D($,T)};H(_t,$=>{c(C)&&$(Ut)})}z($=>{W(gi,$),Zt=At(Je,1,"input-row svelte-1twuiul",null,Zt,{"drag-over":c(ae)}),Ii=At(ai,1,"textarea-wrap svelte-1twuiul",null,Ii,{loading:c(a)}),an(li,"placeholder",c(Ae)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),li.disabled=c(a)||!c(Ae)},[()=>fi(c(Me))]),ws(ht,()=>c(R),$=>m(R,$)),ws(We,()=>c(P),$=>m(P,$)),ws(pe,()=>c(V),$=>m(V,$)),U("click",jt,Ze),U("change",Te,ni),xs("dragover",Je,ei),xs("dragleave",Je,Gi),xs("drop",Je,bi),U("keydown",li,Sn),Wt(li,()=>c(r),$=>m(r,$)),D(o,xt),Us()}Ys(["click","change","keydown"]);var VX=B('<div class="me svelte-1pxdb1"></div>');function YC(o,e){$s(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;function a(){Vo.setTheme(Jh())}Xs(()=>{const u=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=Vo.create(n,{value:t(),language:i(),theme:Jh(),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},...u}),s.onDidChangeModelContent(()=>{r||t(s.getValue())}),e.onSave&&s.addCommand(x1.CtrlCmd|Nk.KeyS,()=>e.onSave()),window.addEventListener("she:theme-changed",a);const f=window.matchMedia("(prefers-color-scheme: dark)");return f.addEventListener("change",a),()=>{window.removeEventListener("she:theme-changed",a),f.removeEventListener("change",a)}}),Vp(()=>s==null?void 0:s.dispose()),Kn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var d=VX();gs(d,u=>n=u,()=>n),D(o,d),Us()}const q2=o=>{var e=jX();D(o,e)};var jX=B('<div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document — call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>'),$X=B('<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>'),G2=B('<div class="form-error svelte-rrt0o"> </div>'),UX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),K2=B("<li> </li>"),Z2=B('<div class="error-bar svelte-rrt0o"> </div>'),X2=B('<div class="loading svelte-rrt0o">Loading…</div>'),qX=B('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),GX=B('<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),KX=B('<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>'),ZX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),XX=hb('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="2,8 6,12 14,4"></polyline></svg>'),YX=hb('<svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><rect x="5" y="2" width="9" height="11" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"></rect><rect x="2" y="5" width="9" height="11" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"></rect></svg>'),QX=B('<div class="mqtt-topic-row svelte-rrt0o"><code class="mqtt-topic svelte-rrt0o"> </code> <button class="btn-copy svelte-rrt0o"><!></button> <span class="section-hint svelte-rrt0o">published on every update</span></div> <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>',1),JX=B('<span class="badge-error svelte-rrt0o">error</span>'),eY=B('<span class="badge-ok svelte-rrt0o"> </span>'),tY=B('<pre class="result-error svelte-rrt0o"> </pre>'),iY=B('<pre class="result-json svelte-rrt0o"> </pre>'),nY=B('<div class="view-result-fill svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),sY=B('<div class="view-sections svelte-rrt0o"><div class="view-top svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document · call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap svelte-rrt0o"><!></div> <div class="view-row-handle svelte-rrt0o" role="separator"></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 svelte-rrt0o"><!></div> <div class="view-row-handle svelte-rrt0o" role="separator"></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</label> <!></div></div> <!></div>'),oY=B('<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),rY=B('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),aY=B('<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>'),lY=B('<!> <div role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>',1);function cY(o,e){$s(e,!0);let t=F(wi([])),i=F(null),n=F("{}"),s=F(!1),r=F(null);const a="she-db-selected-view";let d=F(wi([])),u=F(wi(localStorage.getItem(a))),f=F("#"),g=F("// emit(this.someProperty)"),p=F(""),C=F(""),b=F(!1),y=F(!1),w=F(null),A=F(!1),I=F(null),M=F("she/db/view/");const R="she-db-panel";let P=F(wi(localStorage.getItem(R)??"docs")),V=F(""),j=F(!1),ee=F(null),ae=F(""),ge=F(!1),X=F(null);const de="she-db-sidebar-width";let be=F(wi(parseInt(localStorage.getItem(de)??"220",10))),re=!1,ue=0,Ae=0;const Me="she-db-chat-width",ve="she-db-chat-open";let Oe=F(localStorage.getItem(ve)==="true"),Ue=F(wi(parseInt(localStorage.getItem(Me)??"320",10))),Ce=!1,pt=0,Mt=0;const at="she-db-map-height",Ct="she-db-reduce-height";let ye=F(wi(parseInt(localStorage.getItem(at)??"240",10))),It=F(wi(parseInt(localStorage.getItem(Ct)??"160",10))),Jt=!1,Ke=0,Qe=0,Et=!1,Xt=0,fi=0;const ui=Lt(()=>c(u)?{id:c(u),filter:c(f),map:c(g),reduce:c(p)}:null);function Di(le){le.filter!==void 0&&m(f,le.filter,!0),le.map!==void 0&&m(g,le.map,!0),le.reduce!==void 0&&m(p,le.reduce,!0)}Kn(()=>{localStorage.setItem(ve,String(c(Oe)))}),Kn(()=>{localStorage.setItem(R,c(P))}),Kn(()=>{c(u)?localStorage.setItem(a,c(u)):localStorage.removeItem(a)});function _i(le){re=!0,ue=le.clientX,Ae=c(be),le.preventDefault()}function Ze(le){re&&m(be,Math.max(140,Math.min(500,Ae+le.clientX-ue)),!0),Ce&&m(Ue,Math.max(240,Math.min(600,Mt-(le.clientX-pt))),!0),Jt&&m(ye,Math.max(60,Math.min(600,Qe+le.clientY-Ke)),!0),Et&&m(It,Math.max(40,Math.min(400,fi+le.clientY-Xt)),!0)}function we(){re&&(re=!1,localStorage.setItem(de,String(c(be)))),Ce&&(Ce=!1,localStorage.setItem(Me,String(c(Ue)))),Jt&&(Jt=!1,localStorage.setItem(at,String(c(ye)))),Et&&(Et=!1,localStorage.setItem(Ct,String(c(It))))}function ni(le){Ce=!0,pt=le.clientX,Mt=c(Ue),le.preventDefault()}async function bi(){try{m(t,await bF(),!0)}catch{}}async function ei(){try{m(d,await CF(),!0)}catch{}}async function Gi(le){m(i,le,!0),m(r,null),m(s,!0);try{const pe=await Y$(le);m(n,JSON.stringify(pe,null,2),!0)}catch(pe){m(r,pe instanceof Error?pe.message:String(pe),!0)}finally{m(s,!1)}}async function sn(){if(c(i)){m(r,null);try{const le=JSON.parse(c(n));await f2(c(i),le)}catch(le){m(r,le instanceof Error?le.message:String(le),!0)}}}let yi;async function Sn(){if(c(i)&&await yi.show(`Delete document "${c(i)}"?`,{confirm:"Delete",danger:!0}))try{await Q$(c(i)),m(i,null),m(n,"{}")}catch(le){m(r,le instanceof Error?le.message:String(le),!0)}}async function dn(){const le=c(V).trim();if(le){m(ee,null);try{await f2(le,{}),m(j,!1),m(V,""),await Gi(le)}catch(pe){m(ee,pe instanceof Error?pe.message:String(pe),!0)}}}async function fn(le){m(u,le,!0),m(I,null),m(A,!0),m(w,null);try{const pe=await J$(le);m(f,pe.filter??"",!0),m(g,pe.map,!0),m(p,pe.reduce??"",!0),m(C,pe.description??"",!0),m(b,pe.mqttpub??!1,!0),m(y,pe.retain??!1,!0),m(w,await GC(le).catch(()=>null),!0)}catch(pe){m(I,pe instanceof Error?pe.message:String(pe),!0)}finally{m(A,!1)}}async function gn(){if(c(u)){m(I,null);try{const le={map:c(g)};c(f).trim()&&(le.filter=c(f).trim()),c(p).trim()&&(le.reduce=c(p).trim()),c(C).trim()&&(le.description=c(C).trim()),c(b)&&(le.mqttpub=!0),c(y)&&(le.retain=!0),await g2(c(u),le)}catch(le){m(I,le instanceof Error?le.message:String(le),!0)}}}async function xt(){if(c(u))try{m(w,await GC(c(u)),!0)}catch(le){m(I,le instanceof Error?le.message:String(le),!0)}}async function Kt(){if(c(u)&&await yi.show(`Delete view "${c(u)}"?`,{confirm:"Delete",danger:!0}))try{await eU(c(u)),m(u,null),m(f,""),m(g,"// emit(this.someProperty)"),m(p,""),m(C,""),m(b,!1),m(y,!1),m(w,null)}catch(le){m(I,le instanceof Error?le.message:String(le),!0)}}async function Ti(){if(!c(ae).trim())return;const le=c(ae).trim();m(X,null);try{await g2(le,{map:"// emit(this.someProperty)"}),m(ge,!1),m(ae,""),await ei(),await fn(le)}catch(pe){m(X,pe instanceof Error?pe.message:String(pe),!0)}}let zi=F(""),ri=F("");function Ni(le){return le.includes("#")||le.includes("+")}let Ui=Lt(()=>[...c(t)].filter(le=>c(zi)?Ni(c(zi))?z2(le,c(zi))!==null:le.toLowerCase().includes(c(zi).toLowerCase()):!0).sort()),nn=Lt(()=>[...c(d)].filter(le=>c(ri)?Ni(c(ri))?z2(le,c(ri))!==null:le.toLowerCase().includes(c(ri).toLowerCase()):!0).sort()),pi=F(!1),Wi=null;function Bi(){try{navigator.clipboard.writeText(`${c(M)}${c(u)}`)}catch{}m(pi,!0),Wi&&clearTimeout(Wi),Wi=setTimeout(()=>m(pi,!1),1500)}Xs(()=>{bi(),ei().then(()=>{c(u)&&c(d).includes(c(u))?fn(c(u)):m(u,null)}),Pl().then(ne=>{const tt=ne.dbPrefix||"she/db/",Ht=tt.endsWith("/")?tt:tt+"/";m(M,Ht+"view/")}).catch(()=>{});const le=Xo("db:ids",ne=>{m(t,ne.ids??[],!0)}),pe=Xo("db:viewIds",ne=>{m(d,ne.ids??[],!0)}),oi=Xo("db:change",async ne=>{const tt=ne.id;c(i)===tt&&(ne.doc===null?(m(i,null),m(n,"{}")):m(n,JSON.stringify(ne.doc,null,2),!0))}),gi=Xo("db:viewUpdate",async ne=>{const tt=ne.id;c(u)===tt&&m(w,await GC(tt).catch(()=>null),!0)});return()=>{le(),pe(),oi(),gi()}});var en=lY(),Mi=bt(en);gs(Yc(Mi,{}),le=>yi=le,()=>yi);var Ki=v(Mi,2);let qi;var K=_(Ki),Be=_(K);let Ye;var st=v(Be,2);let Gt;var hi=v(st,2);{var yt=le=>{var pe=$X();let oi;z(()=>{oi=At(pe,1,"ai-toggle svelte-rrt0o",null,oi,{"ai-open":c(Oe)}),an(pe,"title",c(Oe)?"Close AI assistant":"Open AI assistant")}),U("click",pe,()=>m(Oe,!c(Oe))),D(le,pe)};H(hi,le=>{c(P)==="views"&&le(yt)})}var ht=v(K,2);{var Q=le=>{var pe=KX(),oi=_(pe);let gi;var ne=_(oi),tt=_(ne),Ht=v(ne,2);{var Vt=Ve=>{var ot=UX(),Re=bt(ot),wt=_(Re),_t=v(wt,2),Ut=v(Re,2);{var $=T=>{var O=G2(),Y=_(O);z(()=>W(Y,c(ee))),D(T,O)};H(Ut,T=>{c(ee)&&T($)})}U("keydown",wt,T=>T.key==="Enter"&&dn()),Wt(wt,()=>c(V),T=>m(V,T)),U("click",_t,dn),D(Ve,ot)};H(Ht,Ve=>{c(j)&&Ve(Vt)})}var jt=v(Ht,2),Te=_(jt),Je=v(jt,2);ii(Je,20,()=>c(Ui),Ve=>Ve,(Ve,ot)=>{var Re=K2();let wt;var _t=_(Re);z(()=>{wt=At(Re,1,"flat-item svelte-rrt0o",null,wt,{"active-item":c(i)===ot}),W(_t,ot)}),U("click",Re,()=>Gi(ot)),D(Ve,Re)});var Zt=v(oi,2),ai=v(Zt,2),Ii=_(ai);{var li=Ve=>{var ot=GX(),Re=bt(ot),wt=_(Re),_t=_(wt),Ut=v(wt,2),$=v(Ut,2),T=v(Re,2);{var O=se=>{var Se=Z2(),He=_(Se);z(()=>W(He,c(r))),D(se,Se)};H(T,se=>{c(r)&&se(O)})}var Y=v(T,2);{var ie=se=>{var Se=X2();D(se,Se)},oe=se=>{var Se=qX(),He=_(Se);YC(He,{language:"json",get value(){return c(n)},set value(_e){m(n,_e,!0)}}),D(se,Se)};H(Y,se=>{c(s)?se(ie):se(oe,-1)})}z(()=>W(_t,c(i))),U("click",Ut,sn),U("click",$,Sn),D(Ve,ot)},me=Ve=>{q2(Ve)};H(Ii,Ve=>{c(i)?Ve(li):Ve(me,-1)})}z(()=>gi=Co(oi,"",gi,{width:`${c(be)??""}px`})),U("click",tt,()=>{m(j,!c(j)),m(ee,null)}),Wt(Te,()=>c(zi),Ve=>m(zi,Ve)),U("mousedown",Zt,_i),D(le,pe)},We=le=>{var pe=aY(),oi=_(pe);let gi;var ne=_(oi),tt=_(ne),Ht=v(ne,2);{var Vt=Re=>{var wt=ZX(),_t=bt(wt),Ut=_(_t),$=v(Ut,2),T=v(_t,2);{var O=Y=>{var ie=G2(),oe=_(ie);z(()=>W(oe,c(X))),D(Y,ie)};H(T,Y=>{c(X)&&Y(O)})}U("keydown",Ut,Y=>Y.key==="Enter"&&Ti()),Wt(Ut,()=>c(ae),Y=>m(ae,Y)),U("click",$,Ti),D(Re,wt)};H(Ht,Re=>{c(ge)&&Re(Vt)})}var jt=v(Ht,2),Te=_(jt),Je=v(jt,2);ii(Je,20,()=>c(nn),Re=>Re,(Re,wt)=>{var _t=K2();let Ut;var $=_(_t);z(()=>{Ut=At(_t,1,"flat-item svelte-rrt0o",null,Ut,{"active-item":c(u)===wt}),W($,wt)}),U("click",_t,()=>fn(wt)),D(Re,_t)});var Zt=v(oi,2),ai=v(Zt,2),Ii=_(ai);{var li=Re=>{var wt=oY(),_t=bt(wt),Ut=_(_t),$=_(Ut),T=v(Ut,2),O=v(T,2),Y=v(O,2),ie=v(_t,2);{var oe=_e=>{var Fe=Z2(),Pe=_(Fe);z(()=>W(Pe,c(I))),D(_e,Fe)};H(ie,_e=>{c(I)&&_e(oe)})}var se=v(ie,2);{var Se=_e=>{var Fe=X2();D(_e,Fe)},He=_e=>{var Fe=sY(),Pe=_(Fe),lt=_(Pe),Yt=v(_(lt),2),Z=_(Yt),ce=v(lt,2),qe=v(_(ce),2),Bt=_(qe),ze=v(ce,2),je=v(_(ze),2);let kt;var dt=_(je);YC(dt,{language:"javascript",onSave:gn,get value(){return c(g)},set value(Pt){m(g,Pt,!0)}});var it=v(je,2),he=v(ze,2),Ne=v(_(he),2);let Le;var Xe=_(Ne);YC(Xe,{language:"javascript",onSave:gn,get value(){return c(p)},set value(Pt){m(p,Pt,!0)}});var St=v(Ne,2),et=v(he,2),nt=_(et),xe=_(nt),$e=v(nt,2);{var ft=Pt=>{var di=QX(),Vi=bt(di),Ci=_(Vi),Qt=_(Ci),Ft=v(Ci,2),Dt=_(Ft);{var Ot=ji=>{var mn=XX();D(ji,mn)},$t=ji=>{var mn=YX();D(ji,mn)};H(Dt,ji=>{c(pi)?ji(Ot):ji($t,-1)})}var zt=v(Vi,2),Ri=_(zt);z(()=>{W(Qt,`${c(M)??""}${c(u)??""}`),an(Ft,"title",c(pi)?"Copied!":"Copy topic")}),U("click",Ft,Bi),ws(Ri,()=>c(y),ji=>m(y,ji)),D(Pt,di)};H($e,Pt=>{c(b)&&Pt(ft)})}var Nt=v(Pe,2);{var mt=Pt=>{var di=nY(),Vi=_(di),Ci=v(_(Vi));{var Qt=zt=>{var Ri=JX();D(zt,Ri)},Ft=zt=>{var Ri=eY(),ji=_(Ri);z(()=>W(ji,`${c(w).length??0??""} items · rev ${c(w)._rev??""}`)),D(zt,Ri)};H(Ci,zt=>{c(w).error?zt(Qt):zt(Ft,-1)})}var Dt=v(Vi,2);{var Ot=zt=>{var Ri=tY(),ji=_(Ri);z(()=>W(ji,c(w).error)),D(zt,Ri)},$t=zt=>{var Ri=iY(),ji=_(Ri);z(mn=>W(ji,mn),[()=>JSON.stringify(c(w).result,null,2)]),D(zt,Ri)};H(Dt,zt=>{c(w).error?zt(Ot):zt($t,-1)})}D(Pt,di)};H(Nt,Pt=>{c(w)&&Pt(mt)})}z(()=>{kt=Co(je,"",kt,{height:`${c(ye)??""}px`}),Le=Co(Ne,"",Le,{height:`${c(It)??""}px`})}),Wt(Z,()=>c(C),Pt=>m(C,Pt)),Wt(Bt,()=>c(f),Pt=>m(f,Pt)),U("mousedown",it,Pt=>{Jt=!0,Ke=Pt.clientY,Qe=c(ye),Pt.preventDefault()}),U("mousedown",St,Pt=>{Et=!0,Xt=Pt.clientY,fi=c(It),Pt.preventDefault()}),ws(xe,()=>c(b),Pt=>m(b,Pt)),D(_e,Fe)};H(se,_e=>{c(A)?_e(Se):_e(He,-1)})}z(()=>W($,c(u))),U("click",T,gn),U("click",O,xt),U("click",Y,Kt),D(Re,wt)},me=Re=>{q2(Re)};H(Ii,Re=>{c(u)?Re(li):Re(me,-1)})}var Ve=v(ai,2);{var ot=Re=>{var wt=rY(),_t=bt(wt),Ut=v(_t,2);let $;var T=_(Ut);zX(T,{get currentView(){return c(ui)},onApplyView:Di}),z(()=>$=Co(Ut,"",$,{width:`${c(Ue)??""}px`})),U("mousedown",_t,ni),D(Re,wt)};H(Ve,Re=>{c(Oe)&&Re(ot)})}z(()=>gi=Co(oi,"",gi,{width:`${c(be)??""}px`})),U("click",tt,()=>{m(ge,!c(ge)),m(X,null)}),Wt(Te,()=>c(ri),Re=>m(ri,Re)),U("mousedown",Zt,_i),D(le,pe)};H(ht,le=>{c(P)==="docs"?le(Q):le(We,-1)})}z(()=>{qi=At(Ki,1,"db-root svelte-rrt0o",null,qi,{"row-dragging":Jt||Et}),Ye=At(Be,1,"svelte-rrt0o",null,Ye,{active:c(P)==="docs"}),Gt=At(st,1,"svelte-rrt0o",null,Gt,{active:c(P)==="views"})}),U("mousemove",Ki,Ze),U("mouseup",Ki,we),xs("mouseleave",Ki,we),U("click",Be,()=>m(P,"docs")),U("click",st,()=>m(P,"views")),D(o,en),Us()}Ys(["mousemove","mouseup","click","keydown","mousedown"]);var ym={exports:{}},dY=ym.exports,Y2;function uY(){return Y2||(Y2=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:dY,function(){return(function(t){var i={};function n(s){if(i[s])return i[s].exports;var r=i[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(s,r,a){n.o(s,r)||Object.defineProperty(s,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(s){var r=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(r,"a",r),r},n.o=function(s,r){return Object.prototype.hasOwnProperty.call(s,r)},n.p="",n(n.s=3)})([(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a,d){this.width=d,this.height=a.length/d,this.data=a}return r.createEmpty=function(a,d){return new r(new Uint8ClampedArray(a*d),a)},r.prototype.get=function(a,d){return a<0||a>=this.width||d<0||d>=this.height?!1:!!this.data[d*this.width+a]},r.prototype.set=function(a,d,u){this.data[d*this.width+a]=u?1:0},r.prototype.setRegion=function(a,d,u,f,g){for(var p=d;p<d+f;p++)for(var C=a;C<a+u;C++)this.set(C,p,!!g)},r})();i.BitMatrix=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(2);function r(d,u){return d^u}i.addOrSubtractGF=r;var a=(function(){function d(u,f,g){this.primitive=u,this.size=f,this.generatorBase=g,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var p=1,C=0;C<this.size;C++)this.expTable[C]=p,p=p*2,p>=this.size&&(p=(p^this.primitive)&this.size-1);for(var C=0;C<this.size-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]))}return d.prototype.multiply=function(u,f){return u===0||f===0?0:this.expTable[(this.logTable[u]+this.logTable[f])%(this.size-1)]},d.prototype.inverse=function(u){if(u===0)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[u]-1]},d.prototype.buildMonomial=function(u,f){if(u<0)throw new Error("Invalid monomial degree less than 0");if(f===0)return this.zero;var g=new Uint8ClampedArray(u+1);return g[0]=f,new s.default(this,g)},d.prototype.log=function(u){if(u===0)throw new Error("Can't take log(0)");return this.logTable[u]},d.prototype.exp=function(u){return this.expTable[u]},d})();i.default=a}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=(function(){function a(d,u){if(u.length===0)throw new Error("No coefficients.");this.field=d;var f=u.length;if(f>1&&u[0]===0){for(var g=1;g<f&&u[g]===0;)g++;if(g===f)this.coefficients=d.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(f-g);for(var p=0;p<this.coefficients.length;p++)this.coefficients[p]=u[g+p]}}else this.coefficients=u}return a.prototype.degree=function(){return this.coefficients.length-1},a.prototype.isZero=function(){return this.coefficients[0]===0},a.prototype.getCoefficient=function(d){return this.coefficients[this.coefficients.length-1-d]},a.prototype.addOrSubtract=function(d){var u;if(this.isZero())return d;if(d.isZero())return this;var f=this.coefficients,g=d.coefficients;f.length>g.length&&(u=[g,f],f=u[0],g=u[1]);for(var p=new Uint8ClampedArray(g.length),C=g.length-f.length,b=0;b<C;b++)p[b]=g[b];for(var b=C;b<g.length;b++)p[b]=s.addOrSubtractGF(f[b-C],g[b]);return new a(this.field,p)},a.prototype.multiply=function(d){if(d===0)return this.field.zero;if(d===1)return this;for(var u=this.coefficients.length,f=new Uint8ClampedArray(u),g=0;g<u;g++)f[g]=this.field.multiply(this.coefficients[g],d);return new a(this.field,f)},a.prototype.multiplyPoly=function(d){if(this.isZero()||d.isZero())return this.field.zero;for(var u=this.coefficients,f=u.length,g=d.coefficients,p=g.length,C=new Uint8ClampedArray(f+p-1),b=0;b<f;b++)for(var y=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(y,g[w]));return new a(this.field,C)},a.prototype.multiplyByMonomial=function(d,u){if(d<0)throw new Error("Invalid degree less than 0");if(u===0)return this.field.zero;for(var f=this.coefficients.length,g=new Uint8ClampedArray(f+d),p=0;p<f;p++)g[p]=this.field.multiply(this.coefficients[p],u);return new a(this.field,g)},a.prototype.evaluateAt=function(d){var u=0;if(d===0)return this.getCoefficient(0);var f=this.coefficients.length;if(d===1)return this.coefficients.forEach(function(p){u=s.addOrSubtractGF(u,p)}),u;u=this.coefficients[0];for(var g=1;g<f;g++)u=s.addOrSubtractGF(this.field.multiply(d,u),this.coefficients[g]);return u},a})();i.default=r}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(4),r=n(5),a=n(11),d=n(12);function u(p){var C=d.locate(p);if(!C)return null;for(var b=0,y=C;b<y.length;b++){var w=y[b],A=a.extract(p,w),I=r.decode(A.matrix);if(I)return{binaryData:I.bytes,data:I.text,chunks:I.chunks,version:I.version,location:{topRightCorner:A.mappingFunction(w.dimension,0),topLeftCorner:A.mappingFunction(0,0),bottomRightCorner:A.mappingFunction(w.dimension,w.dimension),bottomLeftCorner:A.mappingFunction(0,w.dimension),topRightFinderPattern:w.topRight,topLeftFinderPattern:w.topLeft,bottomLeftFinderPattern:w.bottomLeft,bottomRightAlignmentPattern:w.alignmentPattern}}}return null}var f={inversionAttempts:"attemptBoth"};function g(p,C,b,y){y===void 0&&(y={});var w=f;Object.keys(w||{}).forEach(function(j){w[j]=y[j]||w[j]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",I=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",M=s.binarize(p,C,b,A),R=M.binarized,P=M.inverted,V=u(I?P:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(I?R:P)),V}g.default=g,i.default=g}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=8,a=24;function d(g,p,C){return g<p?p:g>C?C:g}var u=(function(){function g(p,C){this.width=p,this.data=new Uint8ClampedArray(p*C)}return g.prototype.get=function(p,C){return this.data[C*this.width+p]},g.prototype.set=function(p,C,b){this.data[C*this.width+p]=b},g})();function f(g,p,C,b){if(g.length!==p*C*4)throw new Error("Malformed data passed to binarizer.");for(var y=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var I=g[(A*p+w)*4+0],M=g[(A*p+w)*4+1],R=g[(A*p+w)*4+2];y.set(w,A,.2126*I+.7152*M+.0722*R)}for(var P=Math.ceil(p/r),V=Math.ceil(C/r),j=new u(P,V),ee=0;ee<V;ee++)for(var ae=0;ae<P;ae++){for(var ge=0,X=1/0,de=0,A=0;A<r;A++)for(var w=0;w<r;w++){var be=y.get(ae*r+w,ee*r+A);ge+=be,X=Math.min(X,be),de=Math.max(de,be)}var re=ge/Math.pow(r,2);if(de-X<=a&&(re=X/2,ee>0&&ae>0)){var ue=(j.get(ae,ee-1)+2*j.get(ae-1,ee)+j.get(ae-1,ee-1))/4;X<ue&&(re=ue)}j.set(ae,ee,re)}var Ae=s.BitMatrix.createEmpty(p,C),Me=null;b&&(Me=s.BitMatrix.createEmpty(p,C));for(var ee=0;ee<V;ee++)for(var ae=0;ae<P;ae++){for(var ve=d(ae,2,P-3),Oe=d(ee,2,V-3),ge=0,Ue=-2;Ue<=2;Ue++)for(var Ce=-2;Ce<=2;Ce++)ge+=j.get(ve+Ue,Oe+Ce);for(var pt=ge/25,Ue=0;Ue<r;Ue++)for(var Ce=0;Ce<r;Ce++){var w=ae*r+Ue,A=ee*r+Ce,Mt=y.get(w,A);Ae.set(w,A,Mt<=pt),b&&Me.set(w,A,!(Mt<=pt))}}return b?{binarized:Ae,inverted:Me}:{binarized:Ae}}i.binarize=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=n(6),a=n(9),d=n(10);function u(R,P){for(var V=R^P,j=0;V;)j++,V&=V-1;return j}function f(R,P){return P<<1|R}var g=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],p=[function(R){return(R.y+R.x)%2===0},function(R){return R.y%2===0},function(R){return R.x%3===0},function(R){return(R.y+R.x)%3===0},function(R){return(Math.floor(R.y/2)+Math.floor(R.x/3))%2===0},function(R){return R.x*R.y%2+R.x*R.y%3===0},function(R){return(R.y*R.x%2+R.y*R.x%3)%2===0},function(R){return((R.y+R.x)%2+R.y*R.x%3)%2===0}];function C(R){var P=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(P,P);V.setRegion(0,0,9,9,!0),V.setRegion(P-8,0,8,9,!0),V.setRegion(0,P-8,9,8,!0);for(var j=0,ee=R.alignmentPatternCenters;j<ee.length;j++)for(var ae=ee[j],ge=0,X=R.alignmentPatternCenters;ge<X.length;ge++){var de=X[ge];ae===6&&de===6||ae===6&&de===P-7||ae===P-7&&de===6||V.setRegion(ae-2,de-2,5,5,!0)}return V.setRegion(6,9,1,P-17,!0),V.setRegion(9,6,P-17,1,!0),R.versionNumber>6&&(V.setRegion(P-11,0,3,6,!0),V.setRegion(0,P-11,6,3,!0)),V}function b(R,P,V){for(var j=p[V.dataMask],ee=R.height,ae=C(P),ge=[],X=0,de=0,be=!0,re=ee-1;re>0;re-=2){re===6&&re--;for(var ue=0;ue<ee;ue++)for(var Ae=be?ee-1-ue:ue,Me=0;Me<2;Me++){var ve=re-Me;if(!ae.get(ve,Ae)){de++;var Oe=R.get(ve,Ae);j({y:Ae,x:ve})&&(Oe=!Oe),X=f(Oe,X),de===8&&(ge.push(X),de=0,X=0)}}be=!be}return ge}function y(R){var P=R.height,V=Math.floor((P-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var j=0,ee=5;ee>=0;ee--)for(var ae=P-9;ae>=P-11;ae--)j=f(R.get(ae,ee),j);for(var ge=0,ae=5;ae>=0;ae--)for(var ee=P-9;ee>=P-11;ee--)ge=f(R.get(ae,ee),ge);for(var X=1/0,de,be=0,re=d.VERSIONS;be<re.length;be++){var ue=re[be];if(ue.infoBits===j||ue.infoBits===ge)return ue;var Ae=u(j,ue.infoBits);Ae<X&&(de=ue,X=Ae),Ae=u(ge,ue.infoBits),Ae<X&&(de=ue,X=Ae)}if(X<=3)return de}function w(R){for(var P=0,V=0;V<=8;V++)V!==6&&(P=f(R.get(V,8),P));for(var j=7;j>=0;j--)j!==6&&(P=f(R.get(8,j),P));for(var ee=R.height,ae=0,j=ee-1;j>=ee-7;j--)ae=f(R.get(8,j),ae);for(var V=ee-8;V<ee;V++)ae=f(R.get(V,8),ae);for(var ge=1/0,X=null,de=0,be=g;de<be.length;de++){var re=be[de],ue=re.bits,Ae=re.formatInfo;if(ue===P||ue===ae)return Ae;var Me=u(P,ue);Me<ge&&(X=Ae,ge=Me),P!==ae&&(Me=u(ae,ue),Me<ge&&(X=Ae,ge=Me))}return ge<=3?X:null}function A(R,P,V){var j=P.errorCorrectionLevels[V],ee=[],ae=0;if(j.ecBlocks.forEach(function(Oe){for(var Ue=0;Ue<Oe.numBlocks;Ue++)ee.push({numDataCodewords:Oe.dataCodewordsPerBlock,codewords:[]}),ae+=Oe.dataCodewordsPerBlock+j.ecCodewordsPerBlock}),R.length<ae)return null;R=R.slice(0,ae);for(var ge=j.ecBlocks[0].dataCodewordsPerBlock,X=0;X<ge;X++)for(var de=0,be=ee;de<be.length;de++){var re=be[de];re.codewords.push(R.shift())}if(j.ecBlocks.length>1)for(var ue=j.ecBlocks[0].numBlocks,Ae=j.ecBlocks[1].numBlocks,X=0;X<Ae;X++)ee[ue+X].codewords.push(R.shift());for(;R.length>0;)for(var Me=0,ve=ee;Me<ve.length;Me++){var re=ve[Me];re.codewords.push(R.shift())}return ee}function I(R){var P=y(R);if(!P)return null;var V=w(R);if(!V)return null;var j=b(R,P,V),ee=A(j,P,V.errorCorrectionLevel);if(!ee)return null;for(var ae=ee.reduce(function(Me,ve){return Me+ve.numDataCodewords},0),ge=new Uint8ClampedArray(ae),X=0,de=0,be=ee;de<be.length;de++){var re=be[de],ue=a.decode(re.codewords,re.codewords.length-re.numDataCodewords);if(!ue)return null;for(var Ae=0;Ae<re.numDataCodewords;Ae++)ge[X++]=ue[Ae]}try{return r.decode(ge,P.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var P=I(R);if(P)return P;for(var V=0;V<R.width;V++)for(var j=V+1;j<R.height;j++)R.get(V,j)!==R.get(j,V)&&(R.set(V,j,!R.get(V,j)),R.set(j,V,!R.get(j,V)));return I(R)}i.decode=M}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(y){y.Numeric="numeric",y.Alphanumeric="alphanumeric",y.Byte="byte",y.Kanji="kanji",y.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(y){y[y.Terminator=0]="Terminator",y[y.Numeric=1]="Numeric",y[y.Alphanumeric=2]="Alphanumeric",y[y.Byte=4]="Byte",y[y.Kanji=8]="Kanji",y[y.ECI=7]="ECI"})(d||(d={}));function u(y,w){for(var A=[],I="",M=[10,12,14][w],R=y.readBits(M);R>=3;){var P=y.readBits(10);if(P>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(P/100),j=Math.floor(P/10)%10,ee=P%10;A.push(48+V,48+j,48+ee),I+=V.toString()+j.toString()+ee.toString(),R-=3}if(R===2){var P=y.readBits(7);if(P>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(P/10),j=P%10;A.push(48+V,48+j),I+=V.toString()+j.toString()}else if(R===1){var P=y.readBits(4);if(P>=10)throw new Error("Invalid numeric value above 9");A.push(48+P),I+=P.toString()}return{bytes:A,text:I}}var f=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function g(y,w){for(var A=[],I="",M=[9,11,13][w],R=y.readBits(M);R>=2;){var P=y.readBits(11),V=Math.floor(P/45),j=P%45;A.push(f[V].charCodeAt(0),f[j].charCodeAt(0)),I+=f[V]+f[j],R-=2}if(R===1){var V=y.readBits(6);A.push(f[V].charCodeAt(0)),I+=f[V]}return{bytes:A,text:I}}function p(y,w){for(var A=[],I="",M=[8,16,16][w],R=y.readBits(M),P=0;P<R;P++){var V=y.readBits(8);A.push(V)}try{I+=decodeURIComponent(A.map(function(j){return"%"+("0"+j.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:I}}function C(y,w){for(var A=[],I="",M=[8,10,12][w],R=y.readBits(M),P=0;P<R;P++){var V=y.readBits(13),j=Math.floor(V/192)<<8|V%192;j<7936?j+=33088:j+=49472,A.push(j>>8,j&255),I+=String.fromCharCode(r.shiftJISTable[j])}return{bytes:A,text:I}}function b(y,w){for(var A,I,M,R,P=new s.BitStream(y),V=w<=9?0:w<=26?1:2,j={text:"",bytes:[],chunks:[],version:w};P.available()>=4;){var ee=P.readBits(4);if(ee===d.Terminator)return j;if(ee===d.ECI)P.readBits(1)===0?j.chunks.push({type:a.ECI,assignmentNumber:P.readBits(7)}):P.readBits(1)===0?j.chunks.push({type:a.ECI,assignmentNumber:P.readBits(14)}):P.readBits(1)===0?j.chunks.push({type:a.ECI,assignmentNumber:P.readBits(21)}):j.chunks.push({type:a.ECI,assignmentNumber:-1});else if(ee===d.Numeric){var ae=u(P,V);j.text+=ae.text,(A=j.bytes).push.apply(A,ae.bytes),j.chunks.push({type:a.Numeric,text:ae.text})}else if(ee===d.Alphanumeric){var ge=g(P,V);j.text+=ge.text,(I=j.bytes).push.apply(I,ge.bytes),j.chunks.push({type:a.Alphanumeric,text:ge.text})}else if(ee===d.Byte){var X=p(P,V);j.text+=X.text,(M=j.bytes).push.apply(M,X.bytes),j.chunks.push({type:a.Byte,bytes:X.bytes,text:X.text})}else if(ee===d.Kanji){var de=C(P,V);j.text+=de.text,(R=j.bytes).push.apply(R,de.bytes),j.chunks.push({type:a.Kanji,bytes:de.bytes,text:de.text})}}if(P.available()===0||P.readBits(P.available())===0)return j}i.decode=b}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a){this.byteOffset=0,this.bitOffset=0,this.bytes=a}return r.prototype.readBits=function(a){if(a<1||a>32||a>this.available())throw new Error("Cannot read "+a.toString()+" bits");var d=0;if(this.bitOffset>0){var u=8-this.bitOffset,f=a<u?a:u,g=u-f,p=255>>8-f<<g;d=(this.bytes[this.byteOffset]&p)>>g,a-=f,this.bitOffset+=f,this.bitOffset===8&&(this.bitOffset=0,this.byteOffset++)}if(a>0){for(;a>=8;)d=d<<8|this.bytes[this.byteOffset]&255,this.byteOffset++,a-=8;if(a>0){var g=8-a,p=255>>g<<g;d=d<<a|(this.bytes[this.byteOffset]&p)>>g,this.bitOffset+=a}}return d},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r})();i.BitStream=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=n(2);function a(g,p,C,b){var y;p.degree()<C.degree()&&(y=[C,p],p=y[0],C=y[1]);for(var w=p,A=C,I=g.zero,M=g.one;A.degree()>=b/2;){var R=w,P=I;if(w=A,I=M,w.isZero())return null;A=R;for(var V=g.zero,j=w.getCoefficient(w.degree()),ee=g.inverse(j);A.degree()>=w.degree()&&!A.isZero();){var ae=A.degree()-w.degree(),ge=g.multiply(A.getCoefficient(A.degree()),ee);V=V.addOrSubtract(g.buildMonomial(ae,ge)),A=A.addOrSubtract(w.multiplyByMonomial(ae,ge))}if(M=V.multiplyPoly(I).addOrSubtract(P),A.degree()>=w.degree())return null}var X=M.getCoefficient(0);if(X===0)return null;var de=g.inverse(X);return[M.multiply(de),A.multiply(de)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),y=0,w=1;w<g.size&&y<C;w++)p.evaluateAt(w)===0&&(b[y]=g.inverse(w),y++);return y!==C?null:b}function u(g,p,C){for(var b=C.length,y=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),I=1,M=0;M<b;M++)w!==M&&(I=g.multiply(I,s.addOrSubtractGF(1,g.multiply(C[M],A))));y[w]=g.multiply(p.evaluateAt(A),g.inverse(I)),g.generatorBase!==0&&(y[w]=g.multiply(y[w],A))}return y}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),y=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,I=0;I<p;I++){var M=y.evaluateAt(b.exp(I+b.generatorBase));w[w.length-1-I]=M,M!==0&&(A=!0)}if(!A)return C;var R=new r.default(b,w),P=a(b,b.buildMonomial(p,1),R,p);if(P===null)return null;var V=d(b,P[0]);if(V==null)return null;for(var j=u(b,P[1],V),ee=0;ee<V.length;ee++){var ae=C.length-1-b.log(V[ee]);if(ae<0)return null;C[ae]=s.addOrSubtractGF(C[ae],j[ee])}return C}i.decode=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0);function r(f,g,p,C){var b=f.x-g.x+p.x-C.x,y=f.y-g.y+p.y-C.y;if(b===0&&y===0)return{a11:g.x-f.x,a12:g.y-f.y,a13:0,a21:p.x-g.x,a22:p.y-g.y,a23:0,a31:f.x,a32:f.y,a33:1};var w=g.x-p.x,A=C.x-p.x,I=g.y-p.y,M=C.y-p.y,R=w*M-A*I,P=(b*M-A*y)/R,V=(w*y-b*I)/R;return{a11:g.x-f.x+P*g.x,a12:g.y-f.y+P*g.y,a13:P,a21:C.x-f.x+V*C.x,a22:C.y-f.y+V*C.y,a23:V,a31:f.x,a32:f.y,a33:1}}function a(f,g,p,C){var b=r(f,g,p,C);return{a11:b.a22*b.a33-b.a23*b.a32,a12:b.a13*b.a32-b.a12*b.a33,a13:b.a12*b.a23-b.a13*b.a22,a21:b.a23*b.a31-b.a21*b.a33,a22:b.a11*b.a33-b.a13*b.a31,a23:b.a13*b.a21-b.a11*b.a23,a31:b.a21*b.a32-b.a22*b.a31,a32:b.a12*b.a31-b.a11*b.a32,a33:b.a11*b.a22-b.a12*b.a21}}function d(f,g){return{a11:f.a11*g.a11+f.a21*g.a12+f.a31*g.a13,a12:f.a12*g.a11+f.a22*g.a12+f.a32*g.a13,a13:f.a13*g.a11+f.a23*g.a12+f.a33*g.a13,a21:f.a11*g.a21+f.a21*g.a22+f.a31*g.a23,a22:f.a12*g.a21+f.a22*g.a22+f.a32*g.a23,a23:f.a13*g.a21+f.a23*g.a22+f.a33*g.a23,a31:f.a11*g.a31+f.a21*g.a32+f.a31*g.a33,a32:f.a12*g.a31+f.a22*g.a32+f.a32*g.a33,a33:f.a13*g.a31+f.a23*g.a32+f.a33*g.a33}}function u(f,g){for(var p=a({x:3.5,y:3.5},{x:g.dimension-3.5,y:3.5},{x:g.dimension-6.5,y:g.dimension-6.5},{x:3.5,y:g.dimension-3.5}),C=r(g.topLeft,g.topRight,g.alignmentPattern,g.bottomLeft),b=d(C,p),y=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(V,j){var ee=b.a13*V+b.a23*j+b.a33;return{x:(b.a11*V+b.a21*j+b.a31)/ee,y:(b.a12*V+b.a22*j+b.a32)/ee}},A=0;A<g.dimension;A++)for(var I=0;I<g.dimension;I++){var M=I+.5,R=A+.5,P=w(M,R);y.set(I,A,f.get(Math.floor(P.x),Math.floor(P.y)))}return{matrix:y,mappingFunction:w}}i.extract=u}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=4,r=.5,a=1.5,d=function(M,R){return Math.sqrt(Math.pow(R.x-M.x,2)+Math.pow(R.y-M.y,2))};function u(M){return M.reduce(function(R,P){return R+P})}function f(M,R,P){var V,j,ee,ae,ge=d(M,R),X=d(R,P),de=d(M,P),be,re,ue;return X>=ge&&X>=de?(V=[R,M,P],be=V[0],re=V[1],ue=V[2]):de>=X&&de>=ge?(j=[M,R,P],be=j[0],re=j[1],ue=j[2]):(ee=[M,P,R],be=ee[0],re=ee[1],ue=ee[2]),(ue.x-re.x)*(be.y-re.y)-(ue.y-re.y)*(be.x-re.x)<0&&(ae=[ue,be],be=ae[0],ue=ae[1]),{bottomLeft:be,topLeft:re,topRight:ue}}function g(M,R,P,V){var j=(u(C(M,P,V,5))/7+u(C(M,R,V,5))/7+u(C(P,M,V,5))/7+u(C(R,M,V,5))/7)/4;if(j<1)throw new Error("Invalid module size");var ee=Math.round(d(M,R)/j),ae=Math.round(d(M,P)/j),ge=Math.floor((ee+ae)/2)+7;switch(ge%4){case 0:ge++;break;case 2:ge--;break}return{dimension:ge,moduleSize:j}}function p(M,R,P,V){var j=[{x:Math.floor(M.x),y:Math.floor(M.y)}],ee=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),ae,ge,X,de;ee?(ae=Math.floor(M.y),ge=Math.floor(M.x),X=Math.floor(R.y),de=Math.floor(R.x)):(ae=Math.floor(M.x),ge=Math.floor(M.y),X=Math.floor(R.x),de=Math.floor(R.y));for(var be=Math.abs(X-ae),re=Math.abs(de-ge),ue=Math.floor(-be/2),Ae=ae<X?1:-1,Me=ge<de?1:-1,ve=!0,Oe=ae,Ue=ge;Oe!==X+Ae;Oe+=Ae){var Ce=ee?Ue:Oe,pt=ee?Oe:Ue;if(P.get(Ce,pt)!==ve&&(ve=!ve,j.push({x:Ce,y:pt}),j.length===V+1))break;if(ue+=re,ue>0){if(Ue===de)break;Ue+=Me,ue-=be}}for(var Mt=[],at=0;at<V;at++)j[at]&&j[at+1]?Mt.push(d(j[at],j[at+1])):Mt.push(0);return Mt}function C(M,R,P,V){var j,ee=R.y-M.y,ae=R.x-M.x,ge=p(M,R,P,Math.ceil(V/2)),X=p(M,{x:M.x-ae,y:M.y-ee},P,Math.ceil(V/2)),de=ge.shift()+X.shift()-1;return(j=X.concat(de)).concat.apply(j,ge)}function b(M,R){var P=u(M)/u(R),V=0;return R.forEach(function(j,ee){V+=Math.pow(M[ee]-j*P,2)}),{averageSize:P,error:V}}function y(M,R,P){try{var V=C(M,{x:-1,y:M.y},P,R.length),j=C(M,{x:M.x,y:-1},P,R.length),ee={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},ae=C(M,ee,P,R.length),ge={x:Math.min(P.width,M.x+M.y)+1,y:Math.min(P.height,M.y+M.x)+1},X=C(M,ge,P,R.length),de=b(V,R),be=b(j,R),re=b(ae,R),ue=b(X,R),Ae=Math.sqrt(de.error*de.error+be.error*be.error+re.error*re.error+ue.error*ue.error),Me=(de.averageSize+be.averageSize+re.averageSize+ue.averageSize)/4,ve=(Math.pow(de.averageSize-Me,2)+Math.pow(be.averageSize-Me,2)+Math.pow(re.averageSize-Me,2)+Math.pow(ue.averageSize-Me,2))/Me;return Ae+ve}catch{return 1/0}}function w(M,R){for(var P=Math.round(R.x);M.get(P,Math.round(R.y));)P--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var j=(P+V)/2,ee=Math.round(R.y);M.get(Math.round(j),ee);)ee--;for(var ae=Math.round(R.y);M.get(Math.round(j),ae);)ae++;var ge=(ee+ae)/2;return{x:j,y:ge}}function A(M){for(var R=[],P=[],V=[],j=[],ee=function(Ce){for(var pt=0,Mt=!1,at=[0,0,0,0,0],Ct=function(It){var Jt=M.get(It,Ce);if(Jt===Mt)pt++;else{at=[at[1],at[2],at[3],at[4],pt],pt=1,Mt=Jt;var Ke=u(at)/7,Qe=Math.abs(at[0]-Ke)<Ke&&Math.abs(at[1]-Ke)<Ke&&Math.abs(at[2]-3*Ke)<3*Ke&&Math.abs(at[3]-Ke)<Ke&&Math.abs(at[4]-Ke)<Ke&&!Jt,Et=u(at.slice(-3))/3,Xt=Math.abs(at[2]-Et)<Et&&Math.abs(at[3]-Et)<Et&&Math.abs(at[4]-Et)<Et&&Jt;if(Qe){var fi=It-at[3]-at[4],ui=fi-at[2],Di={startX:ui,endX:fi,y:Ce},_i=P.filter(function(ni){return ui>=ni.bottom.startX&&ui<=ni.bottom.endX||fi>=ni.bottom.startX&&ui<=ni.bottom.endX||ui<=ni.bottom.startX&&fi>=ni.bottom.endX&&at[2]/(ni.bottom.endX-ni.bottom.startX)<a&&at[2]/(ni.bottom.endX-ni.bottom.startX)>r});_i.length>0?_i[0].bottom=Di:P.push({top:Di,bottom:Di})}if(Xt){var Ze=It-at[4],we=Ze-at[3],Di={startX:we,y:Ce,endX:Ze},_i=j.filter(function(ei){return we>=ei.bottom.startX&&we<=ei.bottom.endX||Ze>=ei.bottom.startX&&we<=ei.bottom.endX||we<=ei.bottom.startX&&Ze>=ei.bottom.endX&&at[2]/(ei.bottom.endX-ei.bottom.startX)<a&&at[2]/(ei.bottom.endX-ei.bottom.startX)>r});_i.length>0?_i[0].bottom=Di:j.push({top:Di,bottom:Di})}}},ye=-1;ye<=M.width;ye++)Ct(ye);R.push.apply(R,P.filter(function(It){return It.bottom.y!==Ce&&It.bottom.y-It.top.y>=2})),P=P.filter(function(It){return It.bottom.y===Ce}),V.push.apply(V,j.filter(function(It){return It.bottom.y!==Ce})),j=j.filter(function(It){return It.bottom.y===Ce})},ae=0;ae<=M.height;ae++)ee(ae);R.push.apply(R,P.filter(function(Ce){return Ce.bottom.y-Ce.top.y>=2})),V.push.apply(V,j);var ge=R.filter(function(Ce){return Ce.bottom.y-Ce.top.y>=2}).map(function(Ce){var pt=(Ce.top.startX+Ce.top.endX+Ce.bottom.startX+Ce.bottom.endX)/4,Mt=(Ce.top.y+Ce.bottom.y+1)/2;if(M.get(Math.round(pt),Math.round(Mt))){var at=[Ce.top.endX-Ce.top.startX,Ce.bottom.endX-Ce.bottom.startX,Ce.bottom.y-Ce.top.y+1],Ct=u(at)/at.length,ye=y({x:Math.round(pt),y:Math.round(Mt)},[1,1,3,1,1],M);return{score:ye,x:pt,y:Mt,size:Ct}}}).filter(function(Ce){return!!Ce}).sort(function(Ce,pt){return Ce.score-pt.score}).map(function(Ce,pt,Mt){if(pt>s)return null;var at=Mt.filter(function(ye,It){return pt!==It}).map(function(ye){return{x:ye.x,y:ye.y,score:ye.score+Math.pow(ye.size-Ce.size,2)/Ce.size,size:ye.size}}).sort(function(ye,It){return ye.score-It.score});if(at.length<2)return null;var Ct=Ce.score+at[0].score+at[1].score;return{points:[Ce].concat(at.slice(0,2)),score:Ct}}).filter(function(Ce){return!!Ce}).sort(function(Ce,pt){return Ce.score-pt.score});if(ge.length===0)return null;var X=f(ge[0].points[0],ge[0].points[1],ge[0].points[2]),de=X.topRight,be=X.topLeft,re=X.bottomLeft,ue=I(M,V,de,be,re),Ae=[];ue&&Ae.push({alignmentPattern:{x:ue.alignmentPattern.x,y:ue.alignmentPattern.y},bottomLeft:{x:re.x,y:re.y},dimension:ue.dimension,topLeft:{x:be.x,y:be.y},topRight:{x:de.x,y:de.y}});var Me=w(M,de),ve=w(M,be),Oe=w(M,re),Ue=I(M,V,Me,ve,Oe);return Ue&&Ae.push({alignmentPattern:{x:Ue.alignmentPattern.x,y:Ue.alignmentPattern.y},bottomLeft:{x:Oe.x,y:Oe.y},topLeft:{x:ve.x,y:ve.y},topRight:{x:Me.x,y:Me.y},dimension:Ue.dimension}),Ae.length===0?null:Ae}i.locate=A;function I(M,R,P,V,j){var ee,ae,ge;try{ee=g(V,P,j,M),ae=ee.dimension,ge=ee.moduleSize}catch{return null}var X={x:P.x-V.x+j.x,y:P.y-V.y+j.y},de=(d(V,j)+d(V,P))/2/ge,be=1-3/de,re={x:V.x+be*(X.x-V.x),y:V.y+be*(X.y-V.y)},ue=R.map(function(Me){var ve=(Me.top.startX+Me.top.endX+Me.bottom.startX+Me.bottom.endX)/4,Oe=(Me.top.y+Me.bottom.y+1)/2;if(M.get(Math.floor(ve),Math.floor(Oe))){var Ue=[Me.top.endX-Me.top.startX,Me.bottom.endX-Me.bottom.startX,Me.bottom.y-Me.top.y+1];u(Ue)/Ue.length;var Ce=y({x:Math.floor(ve),y:Math.floor(Oe)},[1,1,1],M),pt=Ce+d({x:ve,y:Oe},re);return{x:ve,y:Oe,score:pt}}}).filter(function(Me){return!!Me}).sort(function(Me,ve){return Me.score-ve.score}),Ae=de>=15&&ue.length?ue[0]:re;return{alignmentPattern:Ae,dimension:ae}}})]).default})})(ym)),ym.exports}var hY=uY();const fY=xS(hY);var gY=B('<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),pY=B('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label> <div class="scan-row svelte-1ua3isv"><button class="scan-btn svelte-1ua3isv" title="Scan QR code with camera"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M1 1h5v5H1V1zm1 1v3h3V2H2zm7-1h5v5h-5V1zm1 1v3h3V2h-3zM1 9h5v5H1V9zm1 1v3h3v-3H2zm7 0h2v2H9v-2zm2 0h2v2h-2v-2zm0 2h2v2h-2v-2zm-2 2h2v2H9v-2zm2 0h2v2h-2v-2z"></path></svg> Camera</button> <label class="scan-btn scan-file-btn svelte-1ua3isv" title="Decode QR from image file"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M13 4H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zM3 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3zm5 2.5a.5.5 0 0 1 .5.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1V6a.5.5 0 0 1 .5-.5z"></path></svg> Image… <input type="file" accept="image/*" style="display:none" class="svelte-1ua3isv"/></label></div>',1),Q2=B('<p class="err svelte-1ua3isv"> </p>'),xY=B('<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>'),mY=B('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),vY=B('<span class="device-name svelte-1ua3isv"> </span>'),_Y=B('<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>'),bY=B('<li class="empty svelte-1ua3isv">No paired devices</li>'),CY=B('<p class="info svelte-1ua3isv">Loading…</p>'),EY=B('<p class="device-subtitle svelte-1ua3isv"> </p>'),yY=B('<span class="ep-chip svelte-1ua3isv"> </span>'),wY=B('<span class="attr-id svelte-1ua3isv"> </span>'),SY=B('<button class="attr-action-btn svelte-1ua3isv"> </button>'),DY=B('<div class="attr-actions svelte-1ua3isv"></div>'),AY=B('<span class="cmd-sep svelte-1ua3isv">,</span>'),kY=B('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),BY=B('<span class="cmd-id svelte-1ua3isv"> </span>'),FY=B("<!> <!>",1),LY=B('<span class="cmd-list svelte-1ua3isv"></span>'),IY=B(' <span class="cmd-id svelte-1ua3isv"> </span>',1),PY=B('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),TY=B('<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>'),MY=B('<th class="svelte-1ua3isv"> </th>'),RY=B('<td class="svelte-1ua3isv"> </td>'),NY=B('<tr class="svelte-1ua3isv"></tr>'),OY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),HY=B('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),WY=B('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),zY=B('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),VY=B('<span class="attr-val svelte-1ua3isv"> </span>'),jY=B('<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>'),$Y=B('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),UY=B('<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>'),qY=B('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),GY=B('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),KY=B('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),ZY=B('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),XY=B('<span class="stream-badge svelte-1ua3isv"> </span>'),YY=B('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),QC=B(' <span class="e-sub svelte-1ua3isv"> </span>',1),QY=B('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),JY=B('<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),eQ=B('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),tQ=B('<div class="stream-body svelte-1ua3isv"><!></div>'),iQ=B('<p class="scan-err svelte-1ua3isv"> </p>'),nQ=B('<div class="scan-preview svelte-1ua3isv"><video playsinline="" class="scan-video svelte-1ua3isv"></video> <div class="scan-reticle svelte-1ua3isv"></div></div> <p class="scan-hint svelte-1ua3isv">Point camera at the QR code on the device</p>',3),sQ=B('<div class="scan-backdrop svelte-1ua3isv"></div> <div class="scan-modal svelte-1ua3isv"><div class="scan-modal-hdr svelte-1ua3isv"><span>Scan Matter QR Code</span> <button class="scan-close svelte-1ua3isv">✕</button></div> <!> <canvas style="display:none"></canvas></div>',1),oQ=B('<!> <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 rQ(o,e){$s(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(Q,We,le,pe,oi){try{await hU(Q,We,le,pe,oi)}catch(gi){console.error("matter command failed",gi)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(Q,We){const le=n[Q];return We.map(pe=>{const oi=typeof pe=="number"?pe:Number(pe);return{id:oi,name:(le==null?void 0:le[oi])??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},d={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(Q){return"0x"+Q.toString(16).toUpperCase().padStart(4,"0")}let f=F(wi([])),g=wi(new Map);function p(Q){if(Q==null)return"—";if(typeof Q=="boolean"||typeof Q=="number")return String(Q);if(typeof Q=="string")return Q.length>50?Q.slice(0,47)+"…":Q;const We=JSON.stringify(Q);return We.length>60?We.slice(0,57)+"…":We}function C(Q){return Q==null?"—":typeof Q=="boolean"||typeof Q=="number"?String(Q):typeof Q=="string"?Q:JSON.stringify(Q)}function b(Q){return Q!==null&&typeof Q=="object"&&!Array.isArray(Q)}function y(Q){return Array.isArray(Q)&&Q.length>0&&Q.every(b)}function w(Q,We){return!!(We==="attributeList"||Array.isArray(Q)&&Q.length===0||b(Q)&&Object.keys(Q).length===0)}function A(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const I=500,M=20,R=32;let P=0,V=F(wi([])),j=F(!0),ee=F(180),ae=Lt(()=>{const Q=Math.max(1,Math.floor((c(ee)-R)/M)+1);return c(V).slice(0,Q)});function ge(Q){Q.preventDefault();const We=Q.clientY,le=c(ee);function pe(gi){m(ee,Math.max(60,Math.min(600,le+We-gi.clientY)),!0)}function oi(){document.removeEventListener("mousemove",pe),document.removeEventListener("mouseup",oi)}document.addEventListener("mousemove",pe),document.addEventListener("mouseup",oi)}let X=F(null),de=F(!1),be=F(null),re=F(!1),ue=F("passcode"),Ae=F(""),Me=F(""),ve=F(""),Oe=F(!1),Ue=F(null),Ce=F(""),pt=F(!1),Mt=F(""),at=F(void 0),Ct=F(void 0),ye=null,It=null;function Jt(){It!==null&&(cancelAnimationFrame(It),It=null),ye&&(ye.getTracks().forEach(Q=>Q.stop()),ye=null),m(pt,!1),m(Mt,"")}function Ke(Q){Jt(),m(ue,"pairingCode"),m(ve,Q,!0)}function Qe(){if(!c(Ct))return null;const Q=c(Ct).getContext("2d",{willReadFrequently:!0}),{width:We,height:le}=c(Ct);if(!We||!le)return null;const pe=Q.getImageData(0,0,We,le);return fY(pe.data,pe.width,pe.height,{inversionAttempts:"dontInvert"})}async function Et(){if(m(pt,!0),m(Mt,""),await hl(),!c(at)||!c(Ct))return;try{ye=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(at).srcObject=ye,await c(at).play()}catch(We){m(Mt,"Camera unavailable: "+(We instanceof Error?We.message:String(We)));return}const Q=()=>{var We;if(!(!c(at)||!c(Ct)||!ye)){if(c(at).readyState===c(at).HAVE_ENOUGH_DATA){c(Ct).width=c(at).videoWidth,c(Ct).height=c(at).videoHeight,c(Ct).getContext("2d",{willReadFrequently:!0}).drawImage(c(at),0,0);const pe=Qe();if((We=pe==null?void 0:pe.data)!=null&&We.startsWith("MT:")){Ke(pe.data);return}}It=requestAnimationFrame(Q)}};It=requestAnimationFrame(Q)}function Xt(Q){var pe;const We=(pe=Q.target.files)==null?void 0:pe[0];if(!We)return;const le=new FileReader;le.onload=oi=>{const gi=new Image;gi.onload=()=>{var Ht;if(!c(Ct))return;c(Ct).width=gi.width,c(Ct).height=gi.height,c(Ct).getContext("2d",{willReadFrequently:!0}).drawImage(gi,0,0);const tt=Qe();(Ht=tt==null?void 0:tt.data)!=null&&Ht.startsWith("MT:")?Ke(tt.data):m(Mt,"No Matter QR code found in image.")},gi.src=oi.target.result},le.readAsDataURL(We)}const fi="she:matter:selectedNodeId";async function ui(){try{m(f,await uS(),!0);for(const Q of c(f))_m(Q.nodeId).then(We=>{g.set(Q.nodeId,We)}).catch(()=>{});if(c(f).length>0&&!c(X)){const Q=localStorage.getItem(fi),We=Q&&c(f).find(le=>le.nodeId===Q)?Q:c(f)[0].nodeId;Di(We)}}catch{m(f,[],!0)}}async function Di(Q){m(de,!0),m(be,null);try{m(X,await _m(Q),!0),g.set(Q,c(X)),localStorage.setItem(fi,Q)}catch(We){m(be,We instanceof Error?We.message:String(We),!0)}finally{m(de,!1)}}let _i;async function Ze(Q){var We;if(await _i.show(`Unpair device ${Q}?`,{confirm:"Unpair",danger:!0}))try{await uU(Q),((We=c(X))==null?void 0:We.nodeId)===Q&&m(X,null),await ui()}catch(le){m(be,le instanceof Error?le.message:String(le),!0)}}async function we(){m(Oe,!0),m(Ue,null);try{let Q;c(ue)==="passcode"?(Q={passcode:Number(c(Ae))},c(Me)&&(Q={...Q,discriminator:Number(c(Me))})):Q={pairingCode:c(ve).trim()},c(Ce).trim()&&(Q={...Q,discoveryAddress:c(Ce).trim()}),await dU(Q),m(re,!1),m(Ae,""),m(Me,""),m(ve,""),m(Ce,""),await ui()}catch(Q){m(Ue,Q instanceof Error?Q.message:String(Q),!0)}finally{m(Oe,!1)}}Xs(()=>{ui()});const ni=Xo("matter:deviceList",Q=>{if(!Array.isArray(Q.devices))return;const We=Q.devices;for(const le of We)g.has(le.nodeId)||_m(le.nodeId).then(pe=>{g.set(le.nodeId,pe)}).catch(()=>{});m(f,We,!0)}),bi=Xo("matter:deviceStatus",Q=>{if(Q.nodeId===void 0)return;const We=String(Q.nodeId),le=!!Q.online;m(f,c(f).map(pe=>pe.nodeId===We?{...pe,online:le}:pe),!0),m(V,[{id:P++,kind:"status",nodeId:We,online:le,ts:Date.now()},...c(V).slice(0,I-1)],!0)}),ei=Xo("matter:attr",Q=>{const We=String(Q.nodeId),le=Q.endpointId,pe=String(Q.clusterName),oi=String(Q.attrName),gi=Q.value;if(c(X)&&c(X).nodeId===We){const tt=c(X).endpoints.find(Vt=>Vt.endpointId===le),Ht=tt==null?void 0:tt.clusters.find(Vt=>Vt.name===pe);Ht&&(Ht.attrs[oi]=gi)}const ne=g.get(We);if(ne){const tt=ne.endpoints.find(Vt=>Vt.endpointId===le),Ht=tt==null?void 0:tt.clusters.find(Vt=>Vt.name===pe);Ht&&(Ht.attrs[oi]=gi)}m(V,[{id:P++,kind:"attr",nodeId:We,endpointId:le,clusterName:pe,attrName:oi,value:gi,ts:Q.ts??Date.now()},...c(V).slice(0,I-1)],!0)});Vp(()=>{ni(),bi(),ei(),Jt()});var Gi=oQ(),sn=bt(Gi);gs(Yc(sn,{}),Q=>_i=Q,()=>_i);var yi=v(sn,2),Sn=_(yi),dn=_(Sn),fn=_(dn),gn=v(_(fn),2),xt=v(fn,2);{var Kt=Q=>{var We=xY(),le=_(We),pe=_(le);let oi;var gi=v(pe,2);let ne;var tt=v(le,2);{var Ht=li=>{var me=gY(),Ve=bt(me),ot=v(_(Ve)),Re=v(Ve,2),wt=v(_(Re));Wt(ot,()=>c(Ae),_t=>m(Ae,_t)),Wt(wt,()=>c(Me),_t=>m(Me,_t)),D(li,me)},Vt=li=>{var me=pY(),Ve=bt(me),ot=v(_(Ve)),Re=v(Ve,2),wt=_(Re),_t=v(wt,2),Ut=v(_(_t),2);Wt(ot,()=>c(ve),$=>m(ve,$)),U("click",wt,Et),U("change",Ut,Xt),D(li,me)};H(tt,li=>{c(ue)==="passcode"?li(Ht):li(Vt,-1)})}var jt=v(tt,2),Te=v(_(jt)),Je=v(jt,2);{var Zt=li=>{var me=Q2(),Ve=_(me);z(()=>W(Ve,c(Ue))),D(li,me)};H(Je,li=>{c(Ue)&&li(Zt)})}var ai=v(Je,2),Ii=_(ai);z(()=>{oi=At(pe,1,"svelte-1ua3isv",null,oi,{active:c(ue)==="passcode"}),ne=At(gi,1,"svelte-1ua3isv",null,ne,{active:c(ue)==="pairingCode"}),ai.disabled=c(Oe),W(Ii,c(Oe)?"Commissioning…":"Commission")}),U("click",pe,()=>m(ue,"passcode")),U("click",gi,()=>m(ue,"pairingCode")),Wt(Te,()=>c(Ce),li=>m(Ce,li)),U("click",ai,we),D(Q,We)};H(xt,Q=>{c(re)&&Q(Kt)})}var Ti=v(xt,2),zi=_(Ti);ii(zi,17,()=>c(f),Q=>Q.nodeId,(Q,We)=>{var le=_Y();let pe;var oi=_(le),gi=_(oi);let ne;var tt=v(gi,2),Ht=_(tt);{var Vt=Je=>{var Zt=mY(),ai=bt(Zt),Ii=_(ai),li=v(ai,2),me=_(li);z(()=>{W(Ii,c(We).name),W(me,`#${c(We).nodeId??""}`)}),D(Je,Zt)},jt=Je=>{var Zt=vY(),ai=_(Zt);z(()=>W(ai,`Node ${c(We).nodeId??""}`)),D(Je,Zt)};H(Ht,Je=>{c(We).name?Je(Vt):Je(jt,-1)})}var Te=v(oi,2);z(()=>{var Je;pe=At(le,1,"svelte-1ua3isv",null,pe,{selected:((Je=c(X))==null?void 0:Je.nodeId)===c(We).nodeId}),ne=At(gi,1,"status-dot svelte-1ua3isv",null,ne,{online:c(We).online})}),U("click",oi,()=>Di(c(We).nodeId)),U("click",Te,()=>Ze(c(We).nodeId)),D(Q,le)});var ri=v(zi,2);{var Ni=Q=>{var We=bY();D(Q,We)};H(ri,Q=>{c(f).length===0&&Q(Ni)})}var Ui=v(dn,2),nn=_(Ui);{var pi=Q=>{var We=CY();D(Q,We)},Wi=Q=>{var We=Q2(),le=_(We);z(()=>W(le,c(be))),D(Q,We)},Bi=Q=>{var We=KY(),le=bt(We),pe=_(le),oi=_(pe),gi=v(pe,2);{var ne=jt=>{var Te=EY(),Je=_(Te);z(()=>W(Je,c(X).subtitle)),D(jt,Te)};H(gi,jt=>{c(X).subtitle&&jt(ne)})}var tt=v(gi,2),Ht=_(tt),Vt=v(le,2);ii(Vt,17,()=>c(X).endpoints,jt=>jt.endpointId,(jt,Te)=>{var Je=GY(),Zt=_(Je),ai=_(Zt),Ii=v(ai),li=_(Ii),me=v(Ii,2);ii(me,21,()=>c(Te).clusters,Hi,(wt,_t)=>{var Ut=yY(),$=_(Ut);z(()=>W($,c(_t).name)),D(wt,Ut)});var Ve=v(Zt,2);{var ot=wt=>{var _t=UY(),Ut=v(_(_t));ii(Ut,21,()=>c(Te).clusters,Hi,($,T)=>{var O=$Y(),Y=bt(O),ie=_(Y),oe=_(ie),se=v(Y,2);ii(se,17,()=>Object.entries(c(T).attrs),Hi,(Se,He)=>{var _e=Lt(()=>u8(c(He),2));let Fe=()=>c(_e)[0],Pe=()=>c(_e)[1];var lt=Ss(),Yt=bt(lt);{var Z=qe=>{const Bt=Lt(()=>{var Ft;return(Ft=t[c(T).name])==null?void 0:Ft[Fe()]}),ze=Lt(()=>(Fe()==="acceptedCommandList"||Fe()==="generatedCommandList")&&Array.isArray(Pe())),je=Lt(()=>{var Ft;return((Ft=d[c(T).name])==null?void 0:Ft[Fe()])??a[Fe()]});var kt=jY(),dt=_(kt),it=_(dt),he=_(it),Ne=v(it);{var Le=Ft=>{var Dt=wY(),Ot=_(Dt);z($t=>W(Ot,`(${$t??""})`),[()=>u(c(je))]),D(Ft,Dt)};H(Ne,Ft=>{c(je)!==void 0&&Ft(Le)})}var Xe=v(dt),St=_(Xe);{var et=Ft=>{var Dt=DY();ii(Dt,21,()=>c(Bt),Hi,(Ot,$t)=>{var zt=SY(),Ri=_(zt);z(()=>W(Ri,c($t).label)),U("click",zt,()=>i(c(X).nodeId,c(Te).endpointId,c(T).name,c($t).command,c($t).args)),D(Ot,zt)}),D(Ft,Dt)};H(St,Ft=>{c(Bt)&&Ft(et)})}var nt=v(Xe),xe=_(nt);{var $e=Ft=>{var Dt=LY();ii(Dt,21,()=>s(c(T).name,Pe()),Hi,(Ot,$t,zt)=>{var Ri=FY(),ji=bt(Ri);{var mn=In=>{var es=AY();D(In,es)};H(ji,In=>{zt>0&&In(mn)})}var Oi=v(ji,2);{var An=In=>{var es=kY(),Ji=bt(es),Is=_(Ji),Tn=v(Ji),Gn=_(Tn);z(()=>{W(Is,c($t).name),W(Gn,`(${c($t).id??""})`)}),D(In,es)},Jn=In=>{var es=BY(),Ji=_(es);z(()=>W(Ji,c($t).id)),D(In,es)};H(Oi,In=>{c($t).name?In(An):In(Jn,-1)})}D(Ot,Ri)}),D(Ft,Dt)},ft=Ft=>{var Dt=TY(),Ot=v(_(Dt));ii(Ot,21,Pe,Hi,($t,zt)=>{const Ri=Lt(()=>c(zt)),ji=Lt(()=>c(Ri).deviceType),mn=Lt(()=>r[c(ji)]);var Oi=PY(),An=_(Oi),Jn=_(An);{var In=Tn=>{var Gn=IY(),vs=bt(Gn),ir=v(vs),zr=_(ir);z(Xa=>{W(vs,`${c(mn)??""} `),W(zr,`(${Xa??""})`)},[()=>u(c(ji))]),D(Tn,Gn)},es=Tn=>{var Gn=oo();z(vs=>W(Gn,vs),[()=>u(c(ji))]),D(Tn,Gn)};H(Jn,Tn=>{c(mn)?Tn(In):Tn(es,-1)})}var Ji=v(An),Is=_(Ji);z(Tn=>W(Is,Tn),[()=>C(c(Ri).revision)]),D($t,Oi)}),D(Ft,Dt)},Nt=Lt(()=>Fe()==="deviceTypeList"&&Array.isArray(Pe())),mt=Ft=>{const Dt=Lt(()=>[...new Set(Pe().flatMap(ji=>Object.keys(ji)))]);var Ot=OY(),$t=_(Ot),zt=_($t);ii(zt,21,()=>c(Dt),Hi,(ji,mn)=>{var Oi=MY(),An=_(Oi);z(()=>W(An,c(mn))),D(ji,Oi)});var Ri=v($t);ii(Ri,21,Pe,Hi,(ji,mn)=>{var Oi=NY();ii(Oi,21,()=>c(Dt),Hi,(An,Jn)=>{var In=RY(),es=_(In);z(Ji=>W(es,Ji),[()=>C(c(mn)[c(Jn)])]),D(An,In)}),D(ji,Oi)}),D(Ft,Ot)},Pt=Lt(()=>y(Pe())),di=Ft=>{var Dt=WY(),Ot=_(Dt);ii(Ot,21,()=>Object.entries(Pe()),Hi,($t,zt)=>{var Ri=Lt(()=>u8(c(zt),2));let ji=()=>c(Ri)[0],mn=()=>c(Ri)[1];var Oi=HY(),An=_(Oi),Jn=_(An),In=v(An),es=_(In);z(Ji=>{W(Jn,ji()),W(es,Ji)},[()=>C(mn())]),D($t,Oi)}),D(Ft,Dt)},Vi=Lt(()=>b(Pe())),Ci=Ft=>{var Dt=zY(),Ot=_(Dt);z(()=>{an(Dt,"href",Pe()),W(Ot,Pe())}),D(Ft,Dt)},Qt=Ft=>{var Dt=VY(),Ot=_(Dt);z($t=>W(Ot,$t),[()=>C(Pe())]),D(Ft,Dt)};H(xe,Ft=>{c(ze)?Ft($e):c(Nt)?Ft(ft,1):c(Pt)?Ft(mt,2):c(Vi)?Ft(di,3):(Fe()==="productUrl"||Fe()==="productURL")&&typeof Pe()=="string"?Ft(Ci,4):Ft(Qt,-1)})}z(()=>{an(dt,"title",Fe()),W(he,Fe())}),D(qe,kt)},ce=Lt(()=>!w(Pe(),Fe()));H(Yt,qe=>{c(ce)&&qe(Z)})}D(Se,lt)}),z(()=>W(oe,c(T).name)),D($,O)}),D(wt,_t)},Re=wt=>{var _t=qY();D(wt,_t)};H(Ve,wt=>{c(Te).clusters.length>0?wt(ot):wt(Re,-1)})}z(()=>{W(ai,`${c(Te).name??`Endpoint ${c(Te).endpointId}`??""} `),W(li,`ep${c(Te).endpointId??""}`)}),D(jt,Je)}),z(()=>{W(oi,c(X).name??`Node ${c(X).nodeId}`),W(Ht,`Node ID: ${c(X).nodeId??""}`)}),D(Q,We)},en=Q=>{var We=ZY();D(Q,We)};H(nn,Q=>{c(de)?Q(pi):c(be)?Q(Wi,1):c(X)?Q(Bi,2):Q(en,-1)})}var Mi=v(Sn,2),Ki=_(Mi),qi=v(Ki,2),K=v(_(qi),2);{var Be=Q=>{var We=XY(),le=_(We);z(()=>W(le,c(V).length)),D(Q,We)};H(K,Q=>{!c(j)&&c(V).length>0&&Q(Be)})}var Ye=v(K,2),st=_(Ye),Gt=v(qi,2);{var hi=Q=>{var We=tQ(),le=_(We);{var pe=gi=>{var ne=YY();D(gi,ne)},oi=gi=>{var ne=Ss(),tt=bt(ne);ii(tt,17,()=>c(ae),Ht=>Ht.id,(Ht,Vt)=>{const jt=Lt(()=>{var ot,Re;return((ot=g.get(c(Vt).nodeId))==null?void 0:ot.name)??((Re=c(f).find(wt=>wt.nodeId===c(Vt).nodeId))==null?void 0:Re.name)??null}),Te=Lt(()=>{var ot,Re;return c(Vt).endpointId!==void 0?((Re=(ot=g.get(c(Vt).nodeId))==null?void 0:ot.endpoints.find(wt=>wt.endpointId===c(Vt).endpointId))==null?void 0:Re.name)??null:null}),Je=Lt(()=>c(Vt).attrName??c(Vt).clusterName);var Zt=eQ(),ai=_(Zt),Ii=_(ai),li=v(ai,2);{var me=ot=>{var Re=QY(),wt=v(bt(Re),2),_t=_(wt),Ut=v(_t);{var $=ie=>{var oe=QC(),se=v(bt(oe)),Se=_(se);z(()=>W(Se,`(#${c(Vt).nodeId??""})`)),D(ie,oe)};H(Ut,ie=>{c(jt)&&ie($)})}var T=v(wt,2);let O;var Y=_(T);z(()=>{W(_t,c(jt)??`#${c(Vt).nodeId}`),O=At(T,1,"e-val svelte-1ua3isv",null,O,{"e-online":c(Vt).online,"e-offline":!c(Vt).online}),W(Y,c(Vt).online?"online":"offline")}),D(ot,Re)},Ve=ot=>{var Re=JY(),wt=v(bt(Re),2),_t=_(wt),Ut=v(_t);{var $=Pe=>{var lt=QC(),Yt=v(bt(lt)),Z=_(Yt);z(()=>W(Z,`(#${c(Vt).nodeId??""})`)),D(Pe,lt)};H(Ut,Pe=>{c(jt)&&Pe($)})}var T=v(wt,2),O=_(T),Y=v(O);{var ie=Pe=>{var lt=QC(),Yt=v(bt(lt)),Z=_(Yt);z(()=>W(Z,`(ep ${c(Vt).endpointId??""})`)),D(Pe,lt)};H(Y,Pe=>{c(Te)&&Pe(ie)})}var oe=v(T,2),se=_(oe),Se=v(oe,2),He=_(Se),_e=v(Se,2),Fe=_(_e);z(Pe=>{W(_t,c(jt)??`#${c(Vt).nodeId}`),W(O,c(Te)??`ep${c(Vt).endpointId}`),W(se,c(Vt).clusterName),W(He,c(Je)),W(Fe,Pe)},[()=>p(c(Vt).value)]),D(ot,Re)};H(li,ot=>{c(Vt).kind==="status"?ot(me):ot(Ve,-1)})}z(ot=>W(Ii,ot),[()=>A(c(Vt).ts)]),D(Ht,Zt)}),D(gi,ne)};H(le,gi=>{c(ae).length===0?gi(pe):gi(oi,-1)})}D(Q,We)};H(Gt,Q=>{c(j)&&Q(hi)})}var yt=v(yi,2);{var ht=Q=>{var We=sQ(),le=bt(We),pe=v(le,2),oi=_(pe),gi=v(_(oi),2),ne=v(oi,2);{var tt=jt=>{var Te=iQ(),Je=_(Te);z(()=>W(Je,c(Mt))),D(jt,Te)},Ht=jt=>{var Te=nQ(),Je=bt(Te),Zt=_(Je);gs(Zt,ai=>m(at,ai),()=>c(at)),D(jt,Te)};H(ne,jt=>{c(Mt)?jt(tt):jt(Ht,-1)})}var Vt=v(ne,2);gs(Vt,jt=>m(Ct,jt),()=>c(Ct)),U("click",le,Jt),U("click",gi,Jt),D(Q,We)};H(yt,Q=>{c(pt)&&Q(ht)})}z(()=>{Co(Mi,c(j)?`height: ${c(ee)}px;`:""),W(st,c(j)?"▾":"▸")}),U("click",gn,()=>m(re,!c(re))),U("mousedown",Ki,ge),U("click",Ye,()=>{m(j,!c(j))}),D(o,Gi),Us()}Ys(["click","change","mousedown"]);var aQ=B("<button>›</button>"),lQ=B('<span class="chev-ph svelte-1vejtrc"></span>'),cQ=B('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),dQ=B("<button>🔒</button>"),uQ=B('<span class="acl-loading">Loading…</span>'),hQ=B("<span> </span>"),fQ=B('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),gQ=B('<span class="acl-members svelte-1vejtrc"> </span>'),pQ=B('<span class="acl-group svelte-1vejtrc"> </span>'),xQ=B('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),mQ=B('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),vQ=B('<div class="acl-panel svelte-1vejtrc"><!></div>'),_Q=B('<div class="tc svelte-1vejtrc"></div>'),bQ=B('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),CQ=B('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),EQ=B('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),yQ=B("<option></option>"),wQ=B('<span class="pub-ok svelte-1vejtrc">✓</span>'),SQ=B('<span class="pub-err svelte-1vejtrc"> </span>'),DQ=B('<div class="info svelte-1vejtrc">Loading…</div>'),AQ=B('<div class="info err svelte-1vejtrc"> </div>'),kQ=B('<div class="info svelte-1vejtrc">No topics match.</div>'),BQ=B('<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>'),FQ=B('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),LQ=B('<div class="info svelte-1vejtrc">No topics yet.</div>'),IQ=B('<div class="tree-wrap svelte-1vejtrc"><!></div>'),PQ=B('<span class="stream-badge"> </span>'),TQ=B('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),MQ=B('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),RQ=B('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),NQ=B('<div class="stream-body svelte-1vejtrc"><!></div>'),OQ=B('<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),HQ=B('<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>'),WQ=B('<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),zQ=B('<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 VQ(o,e){$s(e,!0);const t=(T,O=ab)=>{const Y=Lt(()=>c(g).has(O().path)),ie=Lt(()=>c(a)>=0&&O().children.size>0),oe=Lt(()=>c(a)>=0&&O().isLeaf&&!n.has(O().path));var se=bQ(),Se=_(se);let He;var _e=_(Se);{var Fe=he=>{var Ne=aQ();let Le;z(()=>{Le=At(Ne,1,"chev svelte-1vejtrc",null,Le,{open:c(Y)}),an(Ne,"aria-label",c(Y)?"Collapse":"Expand")}),U("click",Ne,()=>p(O().path)),D(he,Ne)},Pe=he=>{var Ne=lQ();D(he,Ne)};H(_e,he=>{c(ie)?he(Fe):he(Pe,-1)})}var lt=v(_e,2),Yt=_(lt),Z=v(lt,2);{var ce=he=>{var Ne=cQ(),Le=bt(Ne),Xe=_(Le),St=v(Le,2),et=_(St);z((nt,xe,$e)=>{an(Le,"title",nt),W(Xe,xe),W(et,$e)},[()=>{var nt;return fi((nt=_i(O().path))==null?void 0:nt.val)},()=>{var nt;return fi((nt=_i(O().path))==null?void 0:nt.val)},()=>{var nt;return((nt=_i(O().path))==null?void 0:nt.ts)!=null?ui(_i(O().path).ts):""}]),D(he,Ne)},qe=Lt(()=>O().isLeaf&&i.has(O().path));H(Z,he=>{c(qe)&&he(ce)})}var Bt=v(Z,2);{var ze=he=>{const Ne=Lt(()=>!!c(Gi)&&fn(O().path));var Le=dQ();let Xe;z(()=>{Xe=At(Le,1,"acl-badge svelte-1vejtrc",null,Xe,{matched:c(Ne)}),an(Le,"title",c(Ne)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),U("click",Le,St=>{St.stopPropagation(),xt(O().path)}),D(he,Le)};H(Bt,he=>{c(bi)&&O().isLeaf&&he(ze)})}var je=v(Se,2);{var kt=he=>{var Ne=vQ(),Le=_(Ne);{var Xe=et=>{var nt=uQ();D(et,nt)},St=et=>{var nt=Ss(),xe=bt(nt);ii(xe,17,()=>[{label:"Send",section:c(yi).send},{label:"Subscribe",section:c(yi).subscribe},{label:"Receive",section:c(yi).receive}],Hi,($e,ft)=>{var Nt=mQ(),mt=_(Nt),Pt=_(mt),di=v(mt,2);{var Vi=Qt=>{var Ft=hQ();let Dt;var Ot=_(Ft);z(()=>{Dt=At(Ft,1,"acl-def svelte-1vejtrc",null,Dt,{allow:c(ft).section.default,deny:!c(ft).section.default}),W(Ot,`${c(ft).section.default?"allow":"deny"} (default)`)}),D(Qt,Ft)},Ci=Qt=>{var Ft=Ss(),Dt=bt(Ft);ii(Dt,17,()=>c(ft).section.roles,Hi,(Ot,$t)=>{var zt=xQ();let Ri;var ji=_(zt),mn=v(ji),Oi=_(mn),An=v(mn,2);{var Jn=Is=>{var Tn=fQ();D(Is,Tn)};H(An,Is=>{c($t).dynamic&&Is(Jn)})}var In=v(An,2);{var es=Is=>{var Tn=gQ(),Gn=_(Tn);z(vs=>W(Gn,vs),[()=>c($t).users.join(", ")]),D(Is,Tn)};H(In,Is=>{c($t).users.length>0&&Is(es)})}var Ji=v(In,2);ii(Ji,17,()=>c($t).groups,Hi,(Is,Tn)=>{var Gn=pQ(),vs=_(Gn);z(()=>W(vs,c(Tn).groupname)),D(Is,Gn)}),z(()=>{Ri=At(zt,1,"acl-role svelte-1vejtrc",null,Ri,{allow:c($t).allow,deny:!c($t).allow}),W(ji,`${c($t).allow?"✓":"✗"} `),W(Oi,c($t).rolename)}),D(Ot,zt)}),D(Qt,Ft)};H(di,Qt=>{c(ft).section.roles.length===0?Qt(Vi):Qt(Ci,-1)})}z(()=>W(Pt,c(ft).label)),D($e,Nt)}),D(et,nt)};H(Le,et=>{c(Sn)?et(Xe):c(yi)&&et(St,1)})}D(he,Ne)};H(je,he=>{c(bi)&&O().isLeaf&&c(sn)===O().path&&he(kt)})}var dt=v(je,2);{var it=he=>{var Ne=_Q();ii(Ne,21,()=>[...O().children.values()].sort((Le,Xe)=>Le.seg.localeCompare(Xe.seg)),Le=>Le.path,(Le,Xe)=>{t(Le,()=>c(Xe))}),D(he,Ne)};H(dt,he=>{c(ie)&&c(Y)&&he(it)})}z(()=>{He=At(Se,1,"tr svelte-1vejtrc",null,He,{stale:c(oe)}),W(Yt,O().seg)}),U("click",Se,()=>{m(de,O().path+"/#")}),U("contextmenu",Se,he=>{he.preventDefault(),m(Ce,{x:he.clientX,y:he.clientY,topic:O().path},!0)}),D(T,se)},i=new Map,n=new Set,s=new Set;let r=null,a=F(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const T of s)f(T);s.clear(),g8(a)}))}const u=new Map;function f(T){const O=T.split("/");let Y=u,ie="";for(let oe=0;oe<O.length;oe++){const se=O[oe];ie=oe===0?se:`${ie}/${se}`,Y.has(se)||Y.set(se,{seg:se,path:ie,children:new Map,isLeaf:!1});const Se=Y.get(se);oe===O.length-1&&(Se.isLeaf=!0),Y=Se.children}}let g=F(wi(new Set));function p(T){const O=new Set(c(g));O.has(T)?O.delete(T):O.add(T),m(g,O,!0)}let C=F("");const b=24,y=5;let w=F(0),A=F(300),I=Lt(()=>{if(c(a),!c(C))return[];const T=c(C).toLowerCase().split(/\s+/).filter(Boolean),O=[];for(const[Y,ie]of i){const oe=Y.toLowerCase();T.every(se=>oe.includes(se))&&O.push({topic:Y,...ie})}return O.sort((Y,ie)=>Y.topic.localeCompare(ie.topic))}),M=Lt(()=>{const T=c(I).length,O=Math.max(0,Math.floor(c(w)/b)-y),Y=Math.min(T,Math.ceil((c(w)+c(A))/b)+y);return{start:O,end:Y,totalH:T*b,top:O*b}});const R=1e3,P=200,V=20,j=36;let ee=0,ae=F(wi([])),ge=F(wi([])),X=F(!0),de=F("#"),be=F(200);Kn(()=>{const T=c(de).trim(),O=Hl(()=>c(ae)),Y=!T||T==="#"?O.slice(0,P):O.filter(ie=>re(T,ie.topic)).slice(0,P);if(T&&T!=="#"){const ie=new Set(Y.map(se=>se.topic)),oe=[];for(const[se,Se]of i)ie.has(se)||re(T,se)&&oe.push({id:-(oe.length+1),topic:se,val:Se.val,ts:Se.ts,retained:!0});oe.sort((se,Se)=>se.topic.localeCompare(Se.topic)),m(ge,[...Y,...oe],!0)}else m(ge,Y,!0)});function re(T,O){if(T==="#")return!0;const Y=T.split("/"),ie=O.split("/");for(let oe=0;oe<Y.length;oe++){if(Y[oe]==="#")return!0;if(oe>=ie.length||Y[oe]!=="+"&&Y[oe]!==ie[oe])return!1}return Y.length===ie.length}function ue(T){T.preventDefault();const O=T.clientY,Y=c(be);function ie(se){m(be,Math.max(60,Math.min(800,Y+O-se.clientY)),!0)}function oe(){document.removeEventListener("mousemove",ie),document.removeEventListener("mouseup",oe)}document.addEventListener("mousemove",ie),document.addEventListener("mouseup",oe)}let Ae=Lt(()=>{const T=Math.max(1,Math.floor((c(be)-j)/V)+1);return c(ge).slice(0,T)}),Me=F(!0),ve=F(null);async function Oe(){m(Me,!0),m(ve,null);try{const T=await yF();for(const O of T)i.set(O.topic,{val:O.val,ts:O.ts}),f(O.topic)}catch(T){m(ve,T instanceof Error?T.message:String(T),!0)}finally{m(Me,!1),g8(a)}}const Ue=Xo("mqtt",T=>{const{topic:O,val:Y,ts:ie}=T;i.set(O,{val:Y,ts:ie}),n.add(O),s.add(O),d();const oe={id:ee++,topic:O,val:Y,ts:ie};m(ae,[oe,...c(ae).slice(0,R-1)],!0);const se=c(de).trim();(!se||se==="#"||re(se,O))&&m(ge,[oe,...c(ge).filter(Se=>!(Se.retained&&Se.topic===O)).slice(0,P-1)],!0)});let Ce=F(null),pt=F(null);async function Mt(T,O){const Y=[T];if(O){const ie=T+"/";for(const oe of i.keys())oe.startsWith(ie)&&Y.push(oe)}for(const ie of Y)await x2(ie,"",!0,0)}let at=Lt(()=>(c(a),[...i.keys()].sort())),Ct=F(""),ye=F(""),It=F(!1),Jt=F(0),Ke=F(!1),Qe=F(null),Et=F(!1);async function Xt(){if(c(Ct)){m(Ke,!0),m(Qe,null),m(Et,!1);try{await x2(c(Ct),c(ye),c(It),c(Jt)),m(Et,!0),setTimeout(()=>{m(Et,!1)},2e3)}catch(T){m(Qe,T instanceof Error?T.message:String(T),!0)}finally{m(Ke,!1)}}}function fi(T){return T==null?"":typeof T=="object"?JSON.stringify(T):String(T)}function ui(T){return new Date(T).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Di(T){return new Date(T).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _i(T){return c(a),i.get(T)}let Ze=Lt(()=>(c(a),[...u.values()].sort((T,O)=>T.seg.localeCompare(O.seg)))),we=Lt(()=>(c(a),i.size)),ni=F(!1),bi=F(!1),ei=F(!1),Gi=F(null),sn=F(null),yi=F(null),Sn=F(!1);function dn(T,O,Y){return O.includes("%u")||O.includes("%c")?"dynamic":T==="subscribeLiteral"||T==="unsubscribeLiteral"?O===Y?"match":"no-match":re(O,Y)?"match":"no-match"}function fn(T){if(!c(Gi))return!1;for(const O of c(Gi).roles)if(O.acls){for(const Y of O.acls)if(dn(Y.acltype,Y.topic,T)!=="no-match")return!0}return!1}async function gn(){m(ei,!0);try{const T=await FF();m(Gi,{roles:T.roles},!0)}catch{m(Gi,null),m(bi,!1)}finally{m(ei,!1)}}async function xt(T){if(c(sn)===T){m(sn,null),m(yi,null);return}m(sn,T,!0),m(yi,null),m(Sn,!0);try{m(yi,await NU(T),!0)}catch{m(yi,null)}finally{m(Sn,!1)}}async function Kt(){c(bi)?(m(bi,!1),m(sn,null),m(yi,null)):(m(bi,!0),m(sn,null),m(yi,null),c(Gi)||await gn())}const Ti=Xo("mqtt:status",()=>{Oe()});Xs(Oe),Xs(async()=>{var T;try{const O=await Mb();m(ni,!!((T=O.dynsec)!=null&&T.dynsecReady),!0)}catch{m(ni,!1)}}),Vp(()=>{Ue(),Ti(),r!==null&&cancelAnimationFrame(r)});var zi=zQ(),ri=_(zi),Ni=v(_(ri),2);{var Ui=T=>{var O=EQ(),Y=bt(O);let ie;var oe=v(_(Y),2);{var se=_e=>{var Fe=oo("…");D(_e,Fe)};H(oe,_e=>{c(ei)&&_e(se)})}var Se=v(Y,2);{var He=_e=>{var Fe=CQ();z(()=>Fe.disabled=c(ei)),U("click",Fe,gn),D(_e,Fe)};H(Se,_e=>{c(bi)&&_e(He)})}z(()=>{ie=At(Y,1,"acl-btn svelte-1vejtrc",null,ie,{active:c(bi)}),Y.disabled=c(ei)}),U("click",Y,Kt),D(T,O)};H(Ni,T=>{c(ni)&&T(Ui)})}var nn=v(ri,2),pi=_(nn),Wi=_(pi),Bi=v(Wi,2);ii(Bi,20,()=>c(at),T=>T,(T,O)=>{var Y=yQ(),ie={};z(()=>{ie!==(ie=O)&&(Y.value=(Y.__value=O)??"")}),D(T,Y)});var en=v(Bi,2),Mi=v(en,2),Ki=_(Mi),qi=v(Mi,2),K=_(qi);K.value=K.__value=0;var Be=v(K);Be.value=Be.__value=1;var Ye=v(Be);Ye.value=Ye.__value=2;var st=v(qi,2),Gt=v(st,2);{var hi=T=>{var O=wQ();D(T,O)};H(Gt,T=>{c(Et)&&T(hi)})}var yt=v(Gt,2);{var ht=T=>{var O=SQ(),Y=_(O);z(()=>W(Y,c(Qe))),D(T,O)};H(yt,T=>{c(Qe)&&T(ht)})}var Q=v(pi,2),We=_(Q),le=v(We,2),pe=_(le);{var oi=T=>{var O=oo();z(()=>W(O,`${c(I).length??""} /`)),D(T,O)};H(pe,T=>{c(C)&&T(oi)})}var gi=v(pe),ne=v(Q,2);{var tt=T=>{var O=DQ();D(T,O)},Ht=T=>{var O=AQ(),Y=_(O);z(()=>W(Y,c(ve))),D(T,O)},Vt=T=>{var O=Ss(),Y=bt(O);{var ie=se=>{var Se=kQ();D(se,Se)},oe=se=>{var Se=FQ(),He=_(Se),_e=_(He);ii(_e,21,()=>c(I).slice(c(M).start,c(M).end),Fe=>Fe.topic,(Fe,Pe)=>{var lt=BQ(),Yt=_(lt),Z=_(Yt),ce=v(Yt,2),qe=_(ce),Bt=v(ce,2),ze=_(Bt);z((je,kt,dt)=>{W(Z,c(Pe).topic),an(ce,"title",je),W(qe,kt),W(ze,dt)},[()=>fi(c(Pe).val),()=>fi(c(Pe).val),()=>ui(c(Pe).ts)]),D(Fe,lt)}),z(()=>{Co(He,`height: ${c(M).totalH??""}px; position: relative;`),Co(_e,`top: ${c(M).top??""}px;`)}),xs("scroll",Se,Fe=>{m(w,Fe.currentTarget.scrollTop,!0)}),xP(Se,"clientHeight",Fe=>m(A,Fe)),D(se,Se)};H(Y,se=>{c(I).length===0?se(ie):se(oe,-1)})}D(T,O)},jt=T=>{var O=IQ(),Y=_(O);{var ie=se=>{var Se=LQ();D(se,Se)},oe=se=>{var Se=Ss(),He=bt(Se);ii(He,17,()=>c(Ze),_e=>_e.path,(_e,Fe)=>{t(_e,()=>c(Fe))}),D(se,Se)};H(Y,se=>{c(Ze).length===0?se(ie):se(oe,-1)})}D(T,O)};H(ne,T=>{c(Me)?T(tt):c(ve)?T(Ht,1):c(C)?T(Vt,2):T(jt,-1)})}var Te=v(nn,2),Je=_(Te),Zt=v(Je,2),ai=_(Zt),Ii=v(ai,2);{var li=T=>{var O=PQ(),Y=_(O);z(()=>W(Y,c(ge).length)),D(T,O)};H(Ii,T=>{!c(X)&&c(ge).length>0&&T(li)})}var me=v(Ii,2),Ve=_(me),ot=v(Zt,2);{var Re=T=>{var O=NQ(),Y=_(O);{var ie=se=>{var Se=TQ();D(se,Se)},oe=se=>{var Se=Ss(),He=bt(Se);ii(He,17,()=>c(Ae),_e=>_e.id,(_e,Fe)=>{var Pe=RQ();let lt;var Yt=_(Pe),Z=_(Yt),ce=v(Yt,2);{var qe=dt=>{var it=MQ();D(dt,it)};H(ce,dt=>{c(Fe).retained&&dt(qe)})}var Bt=v(ce,2),ze=_(Bt),je=v(Bt,2),kt=_(je);z((dt,it,he)=>{lt=At(Pe,1,"sr svelte-1vejtrc",null,lt,{retained:c(Fe).retained}),W(Z,dt),W(ze,c(Fe).topic),an(je,"title",it),W(kt,he)},[()=>Di(c(Fe).ts),()=>fi(c(Fe).val),()=>fi(c(Fe).val)]),D(_e,Pe)}),D(se,Se)};H(Y,se=>{c(Ae).length===0?se(ie):se(oe,-1)})}D(T,O)};H(ot,T=>{c(X)&&T(Re)})}var wt=v(Te,2);{var _t=T=>{var O=OQ(),Y=bt(O),ie=v(Y,2);let oe;var se=_(ie),Se=v(se,2);z(()=>oe=Co(ie,"",oe,{left:`${c(Ce).x??""}px`,top:`${c(Ce).y??""}px`})),U("click",Y,()=>m(Ce,null)),U("contextmenu",Y,He=>{He.preventDefault(),m(Ce,null)}),U("click",se,()=>{navigator.clipboard.writeText(c(Ce).topic),m(Ce,null)}),U("click",Se,()=>{const He=c(Ce).topic,_e=He+"/",Fe=[...i.keys()].some(Pe=>Pe.startsWith(_e));m(pt,{topic:He,hasChildren:Fe,recursive:!1},!0),m(Ce,null)}),D(T,O)};H(wt,T=>{c(Ce)&&T(_t)})}var Ut=v(wt,2);{var $=T=>{var O=WQ(),Y=bt(O),ie=v(Y,2),oe=v(_(ie),2),se=_(oe),Se=v(_(se)),He=_(Se),_e=v(se,2);{var Fe=Z=>{var ce=HQ(),qe=_(ce);ws(qe,()=>c(pt).recursive,Bt=>c(pt).recursive=Bt),D(Z,ce)};H(_e,Z=>{c(pt).hasChildren&&Z(Fe)})}var Pe=v(oe,2),lt=_(Pe),Yt=v(lt,2);z(()=>W(He,c(pt).topic)),U("click",Y,()=>m(pt,null)),U("click",lt,()=>m(pt,null)),U("click",Yt,()=>{const{topic:Z,recursive:ce}=c(pt);m(pt,null),Mt(Z,ce)}),D(T,O)};H(Ut,T=>{c(pt)&&T($)})}z(()=>{st.disabled=c(Ke)||!c(Ct),W(gi,` ${c(we)??""}`),Co(Te,c(X)?`height: ${c(be)}px;`:""),W(Ve,c(X)?"▾":"▸")}),Wt(Wi,()=>c(Ct),T=>m(Ct,T)),Wt(en,()=>c(ye),T=>m(ye,T)),ws(Ki,()=>c(It),T=>m(It,T)),Ls(qi,()=>c(Jt),T=>m(Jt,T)),U("click",st,Xt),Wt(We,()=>c(C),T=>m(C,T)),U("mousedown",Je,ue),Wt(ai,()=>c(de),T=>m(de,T)),U("click",me,()=>{m(X,!c(X))}),D(o,zi),Us()}Ys(["click","contextmenu","mousedown"]);var jQ=B('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),$Q=B('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),UQ=B('<div class="err svelte-twakcj"> </div>'),qQ=B('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),GQ=B('<p class="empty svelte-twakcj">No packages installed.</p>'),KQ=B('<p class="empty svelte-twakcj">No match.</p>'),ZQ=B("<span> </span>"),XQ=hb('<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>'),YQ=hb('<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>'),QQ=B('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),JQ=B('<span class="result-author svelte-twakcj"> </span>'),eJ=B('<span class="result-date svelte-twakcj"> </span>'),tJ=B('<span class="result-desc svelte-twakcj"> </span>'),iJ=B('<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>'),nJ=B('<div class="results-list svelte-twakcj"></div>'),sJ=B('<pre class="npm-output svelte-twakcj"> </pre>'),oJ=B(`<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>`),rJ=B('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function aJ(o,e){$s(e,!0);let t=F(wi([])),i=F(""),n=F(wi({})),s=F(wi([])),r=F(!1),a=F(""),d=F(wi([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=wi({});const y=Lt(()=>c(i).trim()?c(t).filter(xt=>xt.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),w=Lt(()=>Object.keys(c(n)).filter(xt=>!c(s).includes(xt)).length);Xs(async()=>{await Promise.all([A(),I(),M()])});async function A(){try{m(t,await tU(),!0),m(p,"")}catch(xt){m(p,xt.message,!0)}}async function I(){try{m(n,await EF(),!0)}catch{}}async function M(){try{const xt=await Pl();m(s,Array.isArray(xt.pinnedPackages)?xt.pinnedPackages:[],!0)}catch{}}async function R(xt){const Kt=c(s).includes(xt)?c(s).filter(Ti=>Ti!==xt):[...c(s),xt];m(s,Kt,!0);try{const Ti=await Pl();await pp({...Ti,pinnedPackages:Kt})}catch{}}async function P(){m(r,!0);try{m(n,await rU(),!0)}catch{}finally{m(r,!1)}}async function V(){const xt=c(a).trim();if(!xt){m(d,[],!0);return}m(g,!0),m(p,"");try{m(d,await iU(xt),!0)}catch(Kt){m(p,Kt.message,!0)}finally{m(g,!1)}}function j(xt){if(!xt)return"";try{return new Date(xt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function ee(xt,Kt){b[xt]=!0,m(p,""),m(C,"");try{const Ti=await nU(xt,Kt);m(C,Ti.stdout||Ti.stderr||"Done.",!0),m(u,!0),await A()}catch(Ti){m(p,Ti.message,!0)}finally{b[xt]=!1}}async function ae(xt){b[xt]=!0,m(p,""),m(C,"");try{const Kt=await sU(xt);m(C,Kt.stdout||Kt.stderr||"Done.",!0),m(u,!0);const Ti={...c(n)};delete Ti[xt],m(n,Ti,!0),await A()}catch(Kt){m(p,Kt.message,!0)}finally{b[xt]=!1}}async function ge(xt){b[xt]=!0,m(p,""),m(C,"");try{const Kt=await oU(xt);m(C,Kt.stdout||Kt.stderr||"Done.",!0),m(u,!0);const Ti={...c(n)};delete Ti[xt],m(n,Ti,!0),await A()}catch(Kt){m(p,Kt.message,!0)}finally{b[xt]=!1}}let X;async function de(){if(await X.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){m(f,!0);try{await _F()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var be=rJ(),re=bt(be);gs(Yc(re,{}),xt=>X=xt,()=>X);var ue=v(re,2),Ae=_(ue);{var Me=xt=>{var Kt=jQ();D(xt,Kt)},ve=xt=>{var Kt=$Q(),Ti=v(_(Kt));U("click",Ti,de),D(xt,Kt)};H(Ae,xt=>{c(f)?xt(Me):c(u)&&xt(ve,1)})}var Oe=v(Ae,2);{var Ue=xt=>{var Kt=UQ(),Ti=_(Kt);z(()=>W(Ti,c(p))),D(xt,Kt)};H(Oe,xt=>{c(p)&&xt(Ue)})}var Ce=v(Oe,2),pt=_(Ce),Mt=_(pt),at=v(_(Mt),2),Ct=_(at),ye=v(at,2);{var It=xt=>{var Kt=qQ(),Ti=_(Kt);z(()=>W(Ti,`${c(w)??""} outdated`)),D(xt,Kt)};H(ye,xt=>{c(w)>0&&xt(It)})}var Jt=v(ye,2),Ke=_(Jt);let Qe;var Et=v(Mt,2),Xt=_(Et),fi=v(Et,2),ui=_(fi);{var Di=xt=>{var Kt=GQ();D(xt,Kt)},_i=xt=>{var Kt=KQ();D(xt,Kt)},Ze=xt=>{var Kt=Ss(),Ti=bt(Kt);ii(Ti,17,()=>c(y),zi=>zi.name,(zi,ri)=>{var Ni=QQ();let Ui;var nn=_(Ni),pi=_(nn),Wi=_(pi),Bi=v(pi,2),en=_(Bi),Mi=v(Bi,2);{var Ki=Q=>{var We=ZQ();let le;var pe=_(We);z(oi=>{le=At(We,1,"dep-latest svelte-twakcj",null,le,oi),W(pe,`→ v${c(n)[c(ri).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(ri).name)})]),D(Q,We)};H(Mi,Q=>{c(n)[c(ri).name]&&Q(Ki)})}var qi=v(nn,2),K=_(qi);let Be;var Ye=v(K,2);let st;var Gt=_(Ye);{var hi=Q=>{var We=XQ();D(Q,We)},yt=Q=>{var We=YQ();D(Q,We)};H(Gt,Q=>{b[c(ri).name]?Q(hi):Q(yt,-1)})}var ht=v(Ye,2);z((Q,We,le)=>{Ui=At(Ni,1,"dep-row svelte-twakcj",null,Ui,{"dep-busy":!!b[c(ri).name]}),an(pi,"href",c(ri).url??`https://www.npmjs.com/package/${c(ri).name}`),W(Wi,c(ri).name),W(en,c(ri).installedVersion??c(ri).version),Be=At(K,1,"icon-btn svelte-twakcj",null,Be,Q),an(K,"title",We),st=At(Ye,1,"icon-btn svelte-twakcj",null,st,le),Ye.disabled=!!b[c(ri).name],an(Ye,"title",c(n)[c(ri).name]?`Update to v${c(n)[c(ri).name].latest}`:"Update to latest"),ht.disabled=!!b[c(ri).name]},[()=>({"icon-btn--pinned":c(s).includes(c(ri).name)}),()=>c(s).includes(c(ri).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(ri).name]&&!c(s).includes(c(ri).name)})]),U("click",K,()=>R(c(ri).name)),U("click",Ye,()=>ge(c(ri).name)),U("click",ht,()=>ae(c(ri).name)),D(zi,Ni)}),D(xt,Kt)};H(ui,xt=>{c(t).length===0?xt(Di):c(y).length===0?xt(_i,1):xt(Ze,-1)})}var we=v(pt,2),ni=v(_(we),2),bi=_(ni),ei=v(bi,2),Gi=_(ei),sn=v(ni,2);{var yi=xt=>{var Kt=nJ();ii(Kt,21,()=>c(d),Ti=>Ti.name,(Ti,zi)=>{var ri=iJ(),Ni=_(ri),Ui=_(Ni),nn=_(Ui),pi=v(Ui,2),Wi=_(pi),Bi=v(pi,2);{var en=st=>{var Gt=JQ(),hi=_(Gt);z(()=>W(hi,c(zi).author)),D(st,Gt)};H(Bi,st=>{c(zi).author&&st(en)})}var Mi=v(Bi,2);{var Ki=st=>{var Gt=eJ(),hi=_(Gt);z(yt=>{an(Gt,"title",c(zi).date),W(hi,yt)},[()=>j(c(zi).date)]),D(st,Gt)};H(Mi,st=>{c(zi).date&&st(Ki)})}var qi=v(Mi,2);{var K=st=>{var Gt=tJ(),hi=_(Gt);z(()=>W(hi,c(zi).description)),D(st,Gt)};H(qi,st=>{c(zi).description&&st(K)})}var Be=v(Ni,2),Ye=_(Be);z(()=>{an(Ui,"href",c(zi).url??`https://www.npmjs.com/package/${c(zi).name}`),W(nn,c(zi).name),W(Wi,c(zi).version),Be.disabled=!!b[c(zi).name],W(Ye,b[c(zi).name]?"Installing…":"Install")}),U("click",Be,()=>ee(c(zi).name)),D(Ti,ri)}),D(xt,Kt)};H(sn,xt=>{c(d).length>0&&xt(yi)})}var Sn=v(sn,2);{var dn=xt=>{var Kt=sJ(),Ti=_(Kt);z(()=>W(Ti,c(C))),D(xt,Kt)};H(Sn,xt=>{c(C)&&xt(dn)})}var fn=v(Sn,2);{var gn=xt=>{var Kt=oJ();D(xt,Kt)};H(fn,xt=>{!c(d).length&&!c(C)&&xt(gn)})}z(()=>{W(Ct,c(t).length),Jt.disabled=c(r),Qe=At(Ke,0,"svelte-twakcj",null,Qe,{spinning:c(r)}),ei.disabled=c(g),W(Gi,c(g)?"Searching…":"Search")}),U("click",Jt,P),Wt(Xt,()=>c(i),xt=>m(i,xt)),U("keydown",bi,xt=>xt.key==="Enter"&&V()),Wt(bi,()=>c(a),xt=>m(a,xt)),U("click",ei,V),D(o,be),Us()}Ys(["click","keydown"]);var lJ=B('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),Ca=B('<div class="err svelte-3itf14"> </div>'),cJ=B('<div class="empty svelte-3itf14">No users found.</div>'),dJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),Th=B("<option> </option>"),qx=B('<div class="inline-err svelte-3itf14"> </div>'),J2=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— role —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),uJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),hJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— group —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),fJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add to group">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),gJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),pJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),xJ=B('<div class="empty svelte-3itf14">No roles found.</div>'),mJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),vJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),_J=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),bJ=B('<div class="empty svelte-3itf14">No groups found.</div>'),CJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),EJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— user —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),yJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),wJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add member">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),SJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),DJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),eA=B('<div class="empty svelte-3itf14">Loading…</div>'),AJ=B('<tr><td class="mono small svelte-3itf14"> </td><td class="acl-radio svelte-3itf14"><input type="radio" value="allow"/></td><td class="acl-radio svelte-3itf14"><input type="radio" value="deny"/></td></tr>'),kJ=B('<table class="acl-defaults-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Operation</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14">Deny</th></tr></thead><tbody></tbody></table>'),BJ=B('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),FJ=B('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),LJ=B('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),IJ=B('<div class="panel svelte-3itf14"><div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Default ACL Access</h3> <p class="settings-hint svelte-3itf14">Broker-wide defaults applied when no role ACL matches. Role ACLs always take precedence over these defaults.</p> <!> <!></div> <div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Anonymous Group</h3> <p class="settings-hint svelte-3itf14">Clients connecting without credentials are treated as members of this group. Requires <code class="svelte-3itf14">allow_anonymous true</code> in mosquitto.conf.</p> <!> <!></div></div>'),PJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),TJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),MJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),RJ=B('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),NJ=B('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),OJ=B('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),HJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),WJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),zJ=B('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button>Settings</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>',1);function VJ(o,e){$s(e,!0);let t=Tu(e,"dynsecReady",3,!1),i,n=F(wi([])),s=F(wi([])),r=F(wi([])),a=F(""),d=F(""),u=F(""),f=F("users"),g=F(null),p=F(""),C=F(""),b=F(!1);const y=Lt(()=>c(g)?c(g).kind==="user-roles"?c(s).map(me=>me.rolename).filter(me=>{var Ve,ot;return!((ot=(Ve=c(n).find(Re=>Re.username===c(g).target))==null?void 0:Ve.roles)!=null&&ot.some(Re=>Re.rolename===me))}):c(g).kind==="user-groups"?c(r).map(me=>me.groupname).filter(me=>{var Ve,ot;return!((ot=(Ve=c(n).find(Re=>Re.username===c(g).target))==null?void 0:Ve.groups)!=null&&ot.some(Re=>Re.groupname===me))}):c(g).kind==="group-members"?c(n).map(me=>me.username).filter(me=>{var Ve,ot;return!((ot=(Ve=c(r).find(Re=>Re.groupname===c(g).target))==null?void 0:Ve.clients)!=null&&ot.some(Re=>Re.username===me))}):c(s).map(me=>me.rolename).filter(me=>{var Ve,ot;return!((ot=(Ve=c(r).find(Re=>Re.groupname===c(g).target))==null?void 0:Ve.roles)!=null&&ot.some(Re=>Re.rolename===me))}):[]);function w(me,Ve){m(g,{kind:me,target:Ve},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:me,target:Ve}=c(g);me==="user-roles"?await wU(Ve,c(p)):me==="user-groups"?await m2(c(p),Ve):me==="group-members"?await m2(Ve,c(p)):await PU(Ve,c(p)),m(g,null),m(p,""),await yi()}catch(me){m(C,me.message,!0)}finally{m(b,!1)}}}async function I(me,Ve){try{await SU(me,Ve),await yi()}catch(ot){m(a,ot.message,!0)}}async function M(me,Ve){try{await v2(Ve,me),await yi()}catch(ot){m(a,ot.message,!0)}}async function R(me,Ve){try{await v2(me,Ve),await yi()}catch(ot){m(u,ot.message,!0)}}async function P(me,Ve){try{await TU(me,Ve),await yi()}catch(ot){m(u,ot.message,!0)}}let V=F(!1),j=F(""),ee=F(""),ae=F(!1),ge=F(""),X=F(!1),de=F(!1),be=F(""),re=F(""),ue=F(""),Ae=F(!1),Me=F(!1),ve=F(""),Oe=F(""),Ue=F(!1),Ce=F(null),pt=F(!1),Mt=F("publishClientSend"),at=F(""),Ct=F(!0),ye=F(""),It=F(!1),Jt=F(""),Ke=F(""),Qe=F(!1),Et=F(wi([])),Xt=F(""),fi=F(!1),ui=F(null),Di=F(""),_i=F(""),Ze=F(!1),we=F(!1);const ni=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function bi(){var me,Ve;m(we,!1),m(Xt,""),m(_i,"");try{const[ot,Re]=await Promise.allSettled([MU(),OU()]);if(ot.status==="fulfilled"){const wt=Object.fromEntries(ot.value.acls.map(_t=>[_t.acltype,_t.allow]));m(Et,ni.map(({acltype:_t})=>({acltype:_t,allow:wt[_t]??(_t==="publishClientReceive"||_t==="unsubscribe")})),!0)}else m(Xt,((me=ot.reason)==null?void 0:me.message)??"Failed to load default ACLs",!0);Re.status==="fulfilled"?(m(ui,Re.value.group,!0),m(Di,Re.value.group??"",!0)):m(_i,((Ve=Re.reason)==null?void 0:Ve.message)??"Failed to load anonymous group",!0)}finally{m(we,!0)}}async function ei(me,Ve){m(Et,c(Et).map(ot=>ot.acltype===me?{...ot,allow:Ve}:ot),!0),m(fi,!0),m(Xt,"");try{await RU(c(Et))}catch(ot){m(Xt,ot.message,!0)}finally{m(fi,!1)}}async function Gi(){m(Ze,!0),m(_i,"");try{await HU(c(Di)||null),m(ui,c(Di)||null,!0)}catch(me){m(_i,me.message,!0)}finally{m(Ze,!1)}}const sn=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function yi(){var me,Ve,ot;try{const[Re,wt,_t]=await Promise.allSettled([bU(),FF(),FU()]);Re.status==="fulfilled"?(m(n,Re.value.users,!0),m(a,"")):m(a,((me=Re.reason)==null?void 0:me.message)??"Failed to load users",!0),wt.status==="fulfilled"?(m(s,wt.value.roles,!0),m(d,"")):m(d,((Ve=wt.reason)==null?void 0:Ve.message)??"Failed to load roles",!0),_t.status==="fulfilled"?(m(r,_t.value.groups,!0),m(u,"")):m(u,((ot=_t.reason)==null?void 0:ot.message)??"Failed to load groups",!0)}catch{}}Xs(()=>{yi()});async function Sn(){m(ge,""),m(X,!0);try{await CU(c(j),c(ee)),m(j,""),m(ee,""),m(V,!1),await yi()}catch(me){m(ge,me.message??"Failed to create user",!0)}finally{m(X,!1)}}async function dn(me){if(await i.show(`Delete user “${me}”?`,{confirm:"Delete",danger:!0}))try{await EU(me),await yi()}catch(Ve){m(a,Ve.message,!0)}}async function fn(me){m(be,me,!0),m(re,""),m(ue,""),m(de,!0)}async function gn(){m(ue,""),m(Ae,!0);try{await yU(c(be),c(re)),m(de,!1)}catch(me){m(ue,me.message,!0)}finally{m(Ae,!1)}}async function xt(){m(Oe,""),m(Ue,!0);try{await DU(c(ve)),m(ve,""),m(Me,!1),await yi()}catch(me){m(Oe,me.message??"Failed to create role",!0)}finally{m(Ue,!1)}}async function Kt(me){var Ve;if(await i.show(`Delete role “${me}”?`,{confirm:"Delete",danger:!0}))try{await AU(me),((Ve=c(Ce))==null?void 0:Ve.rolename)===me&&(m(Ce,null),m(pt,!1)),await yi()}catch(ot){m(d,ot.message,!0)}}function Ti(me){m(Ce,me,!0),m(pt,!0),m(Mt,"publishClientSend"),m(at,""),m(Ct,!0),m(ye,"")}async function zi(){if(c(Ce)){m(ye,"");try{await kU(c(Ce).rolename,{acltype:c(Mt),topic:c(at),allow:c(Ct)}),m(at,""),await yi(),m(Ce,c(s).find(me=>me.rolename===c(Ce).rolename)??c(Ce),!0)}catch(me){m(ye,me.message,!0)}}}async function ri(me,Ve,ot){try{await BU(me,Ve,ot),await yi(),m(Ce,c(s).find(Re=>Re.rolename===me)??c(Ce),!0)}catch(Re){m(ye,Re.message,!0)}}async function Ni(){m(Ke,""),m(Qe,!0);try{await LU(c(Jt)),m(Jt,""),m(It,!1),await yi()}catch(me){m(Ke,me.message??"Failed to create group",!0)}finally{m(Qe,!1)}}async function Ui(me){if(await i.show(`Delete group “${me}”?`,{confirm:"Delete",danger:!0}))try{await IU(me),await yi()}catch(Ve){m(u,Ve.message,!0)}}var nn=zJ(),pi=bt(nn),Wi=_(pi);{var Bi=me=>{var Ve=lJ();D(me,Ve)};H(Wi,me=>{t()||me(Bi)})}var en=v(Wi,2),Mi=_(en);let Ki;var qi=v(Mi,2);let K;var Be=v(qi,2);let Ye;var st=v(Be,2);let Gt;var hi=v(st,2),yt=v(en,2);{var ht=me=>{var Ve=pJ(),ot=_(Ve),Re=v(_(ot),2),wt=v(ot,2);{var _t=O=>{var Y=Ca(),ie=_(Y);z(()=>W(ie,c(a))),D(O,Y)};H(wt,O=>{c(a)&&O(_t)})}var Ut=v(wt,2);{var $=O=>{var Y=cJ();D(O,Y)},T=O=>{var Y=gJ(),ie=v(_(Y));ii(ie,21,()=>c(n),Hi,(oe,se)=>{var Se=fJ(),He=_(Se),_e=_(He),Fe=v(He),Pe=_(Fe),lt=_(Pe),Yt=_(lt);ii(Yt,17,()=>c(se).roles??[],Hi,(et,nt)=>{var xe=dJ(),$e=_(xe),ft=v($e);z(()=>W($e,c(nt).rolename)),U("click",ft,()=>I(c(se).username,c(nt).rolename)),D(et,xe)});var Z=v(Yt,2),ce=v(lt,2);{var qe=et=>{var nt=J2(),xe=bt(nt),$e=_(xe),ft=_($e);ft.value=ft.__value="";var Nt=v(ft);ii(Nt,17,()=>c(y),Hi,(Ci,Qt)=>{var Ft=Th(),Dt=_(Ft),Ot={};z(()=>{W(Dt,c(Qt)),Ot!==(Ot=c(Qt))&&(Ft.value=(Ft.__value=c(Qt))??"")}),D(Ci,Ft)});var mt=v($e,2),Pt=v(mt,2),di=v(xe,2);{var Vi=Ci=>{var Qt=qx(),Ft=_(Qt);z(()=>W(Ft,c(C))),D(Ci,Qt)};H(di,Ci=>{c(C)&&Ci(Vi)})}z(()=>mt.disabled=!c(p)||c(b)),Ls($e,()=>c(p),Ci=>m(p,Ci)),U("click",mt,A),U("click",Pt,()=>m(g,null)),D(et,nt)};H(ce,et=>{var nt;((nt=c(g))==null?void 0:nt.kind)==="user-roles"&&c(g).target===c(se).username&&et(qe)})}var Bt=v(Fe),ze=_(Bt),je=_(ze),kt=_(je);ii(kt,17,()=>c(se).groups??[],Hi,(et,nt)=>{var xe=uJ(),$e=_(xe),ft=v($e);z(()=>W($e,c(nt).groupname)),U("click",ft,()=>M(c(se).username,c(nt).groupname)),D(et,xe)});var dt=v(kt,2),it=v(je,2);{var he=et=>{var nt=hJ(),xe=bt(nt),$e=_(xe),ft=_($e);ft.value=ft.__value="";var Nt=v(ft);ii(Nt,17,()=>c(y),Hi,(Ci,Qt)=>{var Ft=Th(),Dt=_(Ft),Ot={};z(()=>{W(Dt,c(Qt)),Ot!==(Ot=c(Qt))&&(Ft.value=(Ft.__value=c(Qt))??"")}),D(Ci,Ft)});var mt=v($e,2),Pt=v(mt,2),di=v(xe,2);{var Vi=Ci=>{var Qt=qx(),Ft=_(Qt);z(()=>W(Ft,c(C))),D(Ci,Qt)};H(di,Ci=>{c(C)&&Ci(Vi)})}z(()=>mt.disabled=!c(p)||c(b)),Ls($e,()=>c(p),Ci=>m(p,Ci)),U("click",mt,A),U("click",Pt,()=>m(g,null)),D(et,nt)};H(it,et=>{var nt;((nt=c(g))==null?void 0:nt.kind)==="user-groups"&&c(g).target===c(se).username&&et(he)})}var Ne=v(Bt),Le=_(Ne),Xe=_(Le),St=v(Xe,2);z(()=>W(_e,c(se).username)),U("click",Z,()=>w("user-roles",c(se).username)),U("click",dt,()=>w("user-groups",c(se).username)),U("click",Xe,()=>fn(c(se).username)),U("click",St,()=>dn(c(se).username)),D(oe,Se)}),D(O,Y)};H(Ut,O=>{c(n).length===0?O($):O(T,-1)})}U("click",Re,()=>{m(V,!0),m(ge,"")}),D(me,Ve)};H(yt,me=>{c(f)==="users"&&me(ht)})}var Q=v(yt,2);{var We=me=>{var Ve=_J(),ot=_(Ve),Re=v(_(ot),2),wt=v(ot,2);{var _t=O=>{var Y=Ca(),ie=_(Y);z(()=>W(ie,c(d))),D(O,Y)};H(wt,O=>{c(d)&&O(_t)})}var Ut=v(wt,2);{var $=O=>{var Y=xJ();D(O,Y)},T=O=>{var Y=vJ(),ie=v(_(Y));ii(ie,21,()=>c(s),Hi,(oe,se)=>{var Se=mJ(),He=_(Se),_e=_(He),Fe=v(He),Pe=_(Fe),lt=v(Fe),Yt=_(lt),Z=_(Yt),ce=v(Z,2);z(()=>{var qe;W(_e,c(se).rolename),W(Pe,((qe=c(se).acls)==null?void 0:qe.length)??0)}),U("click",Z,()=>Ti(c(se))),U("click",ce,()=>Kt(c(se).rolename)),D(oe,Se)}),D(O,Y)};H(Ut,O=>{c(s).length===0?O($):O(T,-1)})}U("click",Re,()=>{m(Me,!0),m(Oe,""),m(ve,"")}),D(me,Ve)};H(Q,me=>{c(f)==="roles"&&me(We)})}var le=v(Q,2);{var pe=me=>{var Ve=DJ(),ot=_(Ve),Re=v(_(ot),2),wt=v(ot,2);{var _t=O=>{var Y=Ca(),ie=_(Y);z(()=>W(ie,c(u))),D(O,Y)};H(wt,O=>{c(u)&&O(_t)})}var Ut=v(wt,2);{var $=O=>{var Y=bJ();D(O,Y)},T=O=>{var Y=SJ(),ie=v(_(Y));ii(ie,21,()=>c(r),Hi,(oe,se)=>{var Se=wJ(),He=_(Se),_e=_(He),Fe=v(He),Pe=_(Fe),lt=_(Pe),Yt=_(lt);ii(Yt,17,()=>c(se).clients??[],Hi,(St,et)=>{var nt=CJ(),xe=_(nt),$e=v(xe);z(()=>W(xe,c(et).username)),U("click",$e,()=>R(c(se).groupname,c(et).username)),D(St,nt)});var Z=v(Yt,2),ce=v(lt,2);{var qe=St=>{var et=EJ(),nt=bt(et),xe=_(nt),$e=_(xe);$e.value=$e.__value="";var ft=v($e);ii(ft,17,()=>c(y),Hi,(Vi,Ci)=>{var Qt=Th(),Ft=_(Qt),Dt={};z(()=>{W(Ft,c(Ci)),Dt!==(Dt=c(Ci))&&(Qt.value=(Qt.__value=c(Ci))??"")}),D(Vi,Qt)});var Nt=v(xe,2),mt=v(Nt,2),Pt=v(nt,2);{var di=Vi=>{var Ci=qx(),Qt=_(Ci);z(()=>W(Qt,c(C))),D(Vi,Ci)};H(Pt,Vi=>{c(C)&&Vi(di)})}z(()=>Nt.disabled=!c(p)||c(b)),Ls(xe,()=>c(p),Vi=>m(p,Vi)),U("click",Nt,A),U("click",mt,()=>m(g,null)),D(St,et)};H(ce,St=>{var et;((et=c(g))==null?void 0:et.kind)==="group-members"&&c(g).target===c(se).groupname&&St(qe)})}var Bt=v(Fe),ze=_(Bt),je=_(ze),kt=_(je);ii(kt,17,()=>c(se).roles??[],Hi,(St,et)=>{var nt=yJ(),xe=_(nt),$e=v(xe);z(()=>W(xe,c(et).rolename)),U("click",$e,()=>P(c(se).groupname,c(et).rolename)),D(St,nt)});var dt=v(kt,2),it=v(je,2);{var he=St=>{var et=J2(),nt=bt(et),xe=_(nt),$e=_(xe);$e.value=$e.__value="";var ft=v($e);ii(ft,17,()=>c(y),Hi,(Vi,Ci)=>{var Qt=Th(),Ft=_(Qt),Dt={};z(()=>{W(Ft,c(Ci)),Dt!==(Dt=c(Ci))&&(Qt.value=(Qt.__value=c(Ci))??"")}),D(Vi,Qt)});var Nt=v(xe,2),mt=v(Nt,2),Pt=v(nt,2);{var di=Vi=>{var Ci=qx(),Qt=_(Ci);z(()=>W(Qt,c(C))),D(Vi,Ci)};H(Pt,Vi=>{c(C)&&Vi(di)})}z(()=>Nt.disabled=!c(p)||c(b)),Ls(xe,()=>c(p),Vi=>m(p,Vi)),U("click",Nt,A),U("click",mt,()=>m(g,null)),D(St,et)};H(it,St=>{var et;((et=c(g))==null?void 0:et.kind)==="group-roles"&&c(g).target===c(se).groupname&&St(he)})}var Ne=v(Bt),Le=_(Ne),Xe=_(Le);z(()=>W(_e,c(se).groupname)),U("click",Z,()=>w("group-members",c(se).groupname)),U("click",dt,()=>w("group-roles",c(se).groupname)),U("click",Xe,()=>Ui(c(se).groupname)),D(oe,Se)}),D(O,Y)};H(Ut,O=>{c(r).length===0?O($):O(T,-1)})}U("click",Re,()=>{m(It,!0),m(Ke,""),m(Jt,"")}),D(me,Ve)};H(le,me=>{c(f)==="groups"&&me(pe)})}var oi=v(le,2);{var gi=me=>{var Ve=IJ(),ot=_(Ve),Re=v(_(ot),4);{var wt=Se=>{var He=Ca(),_e=_(He);z(()=>W(_e,c(Xt))),D(Se,He)};H(Re,Se=>{c(Xt)&&Se(wt)})}var _t=v(Re,2);{var Ut=Se=>{var He=eA();D(Se,He)},$=Se=>{var He=kJ(),_e=v(_(He));ii(_e,21,()=>ni,Hi,(Fe,Pe)=>{let lt=()=>c(Pe).acltype,Yt=()=>c(Pe).label;const Z=Lt(()=>c(Et).find(he=>he.acltype===lt()));var ce=AJ();let qe;var Bt=_(ce),ze=_(Bt),je=v(Bt),kt=_(je),dt=v(je),it=_(dt);z(()=>{var he,Ne;qe=At(ce,1,"svelte-3itf14",null,qe,{saving:c(fi)}),W(ze,Yt()),an(kt,"name",lt()),Zo(kt,((he=c(Z))==null?void 0:he.allow)===!0),an(it,"name",lt()),Zo(it,((Ne=c(Z))==null?void 0:Ne.allow)===!1)}),U("change",kt,()=>ei(lt(),!0)),U("change",it,()=>ei(lt(),!1)),D(Fe,ce)}),D(Se,He)};H(_t,Se=>{c(we)?Se($,-1):Se(Ut)})}var T=v(ot,2),O=v(_(T),4);{var Y=Se=>{var He=Ca(),_e=_(He);z(()=>W(_e,c(_i))),D(Se,He)};H(O,Se=>{c(_i)&&Se(Y)})}var ie=v(O,2);{var oe=Se=>{var He=eA();D(Se,He)},se=Se=>{var He=LJ(),_e=bt(He),Fe=_(_e),Pe=_(Fe);Pe.value=Pe.__value="";var lt=v(Pe);ii(lt,17,()=>c(r),Hi,(ze,je)=>{var kt=Th(),dt=_(kt),it={};z(()=>{W(dt,c(je).groupname),it!==(it=c(je).groupname)&&(kt.value=(kt.__value=c(je).groupname)??"")}),D(ze,kt)});var Yt=v(Fe,2),Z=_(Yt),ce=v(_e,2);{var qe=ze=>{var je=BJ(),kt=v(_(je)),dt=_(kt);z(()=>W(dt,c(ui))),D(ze,je)},Bt=ze=>{var je=FJ();D(ze,je)};H(ce,ze=>{c(ui)?ze(qe):ze(Bt,-1)})}z(()=>{Yt.disabled=c(Ze)||c(Di)===(c(ui)??""),W(Z,c(Ze)?"Saving…":"Save")}),Ls(Fe,()=>c(Di),ze=>m(Di,ze)),U("click",Yt,Gi),D(Se,He)};H(ie,Se=>{c(we)?Se(se,-1):Se(oe)})}D(me,Ve)};H(oi,me=>{c(f)==="settings"&&me(gi)})}var ne=v(pi,2);{var tt=me=>{var Ve=PJ(),ot=_(Ve),Re=v(_(ot),2),wt=v(_(Re)),_t=v(Re,2),Ut=v(_(_t)),$=_(Ut),T=v($,2),O=_(T),Y=v(_t,2);{var ie=_e=>{var Fe=Ca(),Pe=_(Fe);z(()=>W(Pe,c(ge))),D(_e,Fe)};H(Y,_e=>{c(ge)&&_e(ie)})}var oe=v(Y,2),se=_(oe),Se=v(se,2),He=_(Se);z(()=>{an($,"type",c(ae)?"text":"password"),W(O,c(ae)?"Hide":"Show"),Se.disabled=c(X)||!c(j)||!c(ee),W(He,c(X)?"Creating…":"Create")}),Wt(wt,()=>c(j),_e=>m(j,_e)),Wt($,()=>c(ee),_e=>m(ee,_e)),U("click",T,()=>m(ae,!c(ae))),U("click",se,()=>m(V,!1)),U("click",Se,Sn),D(me,Ve)};H(ne,me=>{c(V)&&me(tt)})}var Ht=v(ne,2);{var Vt=me=>{var Ve=TJ(),ot=_(Ve),Re=_(ot),wt=v(_(Re)),_t=_(wt),Ut=v(Re,2),$=v(_(Ut)),T=v(Ut,2);{var O=Se=>{var He=Ca(),_e=_(He);z(()=>W(_e,c(ue))),D(Se,He)};H(T,Se=>{c(ue)&&Se(O)})}var Y=v(T,2),ie=_(Y),oe=v(ie,2),se=_(oe);z(()=>{W(_t,c(be)),oe.disabled=c(Ae)||!c(re),W(se,c(Ae)?"Saving…":"Set password")}),Wt($,()=>c(re),Se=>m(re,Se)),U("click",ie,()=>m(de,!1)),U("click",oe,gn),D(me,Ve)};H(Ht,me=>{c(de)&&me(Vt)})}var jt=v(Ht,2);{var Te=me=>{var Ve=MJ(),ot=_(Ve),Re=v(_(ot),2),wt=v(_(Re)),_t=v(Re,2);{var Ut=ie=>{var oe=Ca(),se=_(oe);z(()=>W(se,c(Oe))),D(ie,oe)};H(_t,ie=>{c(Oe)&&ie(Ut)})}var $=v(_t,2),T=_($),O=v(T,2),Y=_(O);z(()=>{O.disabled=c(Ue)||!c(ve),W(Y,c(Ue)?"Creating…":"Create")}),Wt(wt,()=>c(ve),ie=>m(ve,ie)),U("click",T,()=>m(Me,!1)),U("click",O,xt),D(me,Ve)};H(jt,me=>{c(Me)&&me(Te)})}var Je=v(jt,2);{var Zt=me=>{var Ve=HJ(),ot=_(Ve),Re=_(ot),wt=v(_(Re)),_t=_(wt),Ut=v(Re,2);{var $=lt=>{var Yt=NJ(),Z=v(_(Yt));ii(Z,21,()=>c(Ce).acls??[],Hi,(ce,qe)=>{var Bt=RJ(),ze=_(Bt),je=_(ze),kt=v(ze),dt=_(kt),it=v(kt),he=_(it),Ne=v(it),Le=_(Ne);z(()=>{W(je,c(qe).acltype),W(dt,c(qe).topic),W(he,c(qe).allow?"✓":"✗")}),U("click",Le,()=>ri(c(Ce).rolename,c(qe).acltype,c(qe).topic)),D(ce,Bt)}),D(lt,Yt)},T=lt=>{var Yt=OJ();D(lt,Yt)};H(Ut,lt=>{var Yt;(((Yt=c(Ce).acls)==null?void 0:Yt.length)??0)>0?lt($):lt(T,-1)})}var O=v(Ut,2),Y=_(O);ii(Y,21,()=>sn,Hi,(lt,Yt)=>{var Z=Th(),ce=_(Z),qe={};z(()=>{W(ce,c(Yt)),qe!==(qe=c(Yt))&&(Z.value=(Z.__value=c(Yt))??"")}),D(lt,Z)});var ie=v(Y,2),oe=v(ie,2),se=_(oe),Se=v(oe,2),He=v(O,2);{var _e=lt=>{var Yt=Ca(),Z=_(Yt);z(()=>W(Z,c(ye))),D(lt,Yt)};H(He,lt=>{c(ye)&<(_e)})}var Fe=v(He,2),Pe=_(Fe);z(()=>{W(_t,c(Ce).rolename),Se.disabled=!c(at)}),Ls(Y,()=>c(Mt),lt=>m(Mt,lt)),Wt(ie,()=>c(at),lt=>m(at,lt)),ws(se,()=>c(Ct),lt=>m(Ct,lt)),U("click",Se,zi),U("click",Pe,()=>m(pt,!1)),D(me,Ve)};H(Je,me=>{c(pt)&&c(Ce)&&me(Zt)})}var ai=v(Je,2);{var Ii=me=>{var Ve=WJ(),ot=_(Ve),Re=v(_(ot),2),wt=v(_(Re)),_t=v(Re,2);{var Ut=ie=>{var oe=Ca(),se=_(oe);z(()=>W(se,c(Ke))),D(ie,oe)};H(_t,ie=>{c(Ke)&&ie(Ut)})}var $=v(_t,2),T=_($),O=v(T,2),Y=_(O);z(()=>{O.disabled=c(Qe)||!c(Jt),W(Y,c(Qe)?"Creating…":"Create")}),Wt(wt,()=>c(Jt),ie=>m(Jt,ie)),U("click",T,()=>m(It,!1)),U("click",O,Ni),D(me,Ve)};H(ai,me=>{c(It)&&me(Ii)})}var li=v(ai,2);gs(Yc(li,{}),me=>i=me,()=>i),z(()=>{Ki=At(Mi,1,"svelte-3itf14",null,Ki,{active:c(f)==="users"}),K=At(qi,1,"svelte-3itf14",null,K,{active:c(f)==="roles"}),Ye=At(Be,1,"svelte-3itf14",null,Ye,{active:c(f)==="groups"}),Gt=At(st,1,"svelte-3itf14",null,Gt,{active:c(f)==="settings"})}),U("click",Mi,()=>m(f,"users")),U("click",qi,()=>m(f,"roles")),U("click",Be,()=>m(f,"groups")),U("click",st,()=>{m(f,"settings"),c(we)||bi()}),U("click",hi,yi),D(o,nn),Us()}Ys(["click","change"]);var tA=B('<div class="err svelte-9i68x"> </div>'),jJ=B('<div class="ok svelte-9i68x">Saved.</div>'),$J=B('<div class="reload-msg svelte-9i68x"> </div>'),UJ=B('<div class="loading svelte-9i68x">Loading…</div>'),qJ=B('<div class="anon-row svelte-9i68x"><span class="field-label svelte-9i68x"><code class="svelte-9i68x">allow_anonymous</code></span> <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated clients</option><option>false — require authentication</option></select></div>'),GJ=B("<option></option>"),KJ=B('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert CN as username (use_identity_as_username)</label></div></div>'),ZJ=B('<div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert Subject as username (use_subject_as_username)</label></div>'),XJ=B('<div class="advanced-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Mount point <input placeholder="(none)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max connections <input type="number" min="-1" placeholder="-1 (unlimited)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max QoS <select class="svelte-9i68x"><option>default</option><option>0 — fire and forget</option><option>1 — at least once</option><option>2 — exactly once</option></select></label></div> <!></div>'),YJ=B('<div class="auth-section svelte-9i68x"><div class="auth-section-title svelte-9i68x">Authentication</div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">allow_anonymous <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated</option><option>false — require auth</option></select></label> <label class="svelte-9i68x">password_file <input placeholder="/etc/mosquitto/passwd" class="svelte-9i68x"/></label> <label class="svelte-9i68x">acl_file <input placeholder="/etc/mosquitto/acl" class="svelte-9i68x"/></label></div></div>'),QJ=B('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label> <label class="toggle-label tls-inline svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> TLS</label></div> <datalist></datalist> <!> <button class="advanced-btn svelte-9i68x"> </button> <!> <!></div>'),JJ=B('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),eee=B('<div class="global-settings svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> <span><code>per_listener_settings</code> — independent auth per listener</span> <span class="info-icon svelte-9i68x" title="Not recommended when using the dynamic-security plugin — dynsec credentials only apply to the default listener. See mosquitto documentation.">ℹ</span></label> <!></div> <div class="cards svelte-9i68x"><!> <!></div>',1),tee=B('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function iee(o,e){$s(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(wi([])),f=F(null),g=F(!1),p=F(""),C=F(wi([])),b=F(wi(new Set));Xs(()=>{y(),gU().then(ye=>{m(C,ye.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await hS(),!0),m(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),m(f,c(t).checksum,!0);const ye=c(t).managed.allow_anonymous;m(p,ye==="true"||ye==="false"?ye:"",!0),m(g,c(t).managed.per_listener_settings==="true"),m(i,"")}catch(ye){m(i,ye.message??"Failed to load broker config",!0)}}function w(){m(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0),m(b,new Set(c(b)),!0)}function A(ye){const It=new Set(c(b));It.has(ye)?It.delete(ye):It.add(ye),m(b,It,!0)}function I(ye){m(u,c(u).filter((It,Jt)=>Jt!==ye),!0)}async function M(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{const ye={...c(t).managed};c(g)?(ye.per_listener_settings="true",delete ye.allow_anonymous):(delete ye.per_listener_settings,c(p)?ye.allow_anonymous=c(p):delete ye.allow_anonymous),await kF({listeners:c(u),managed:ye,passthrough:c(t).passthrough,checksum:c(f)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await y()}catch(ye){m(s,ye.message??"Save failed",!0)}finally{m(n,!1)}}}async function R(){m(a,!0),m(d,"");try{const ye=await BF();m(d,ye.stderr||ye.stdout||"Reloaded",!0)}catch(ye){m(d,"Error: "+(ye.message??"reload failed"))}finally{m(a,!1)}}function P(ye){var It,Jt,Ke,Qe,Et;return!!((It=ye.tls)!=null&&It.enabled||(Jt=ye.tls)!=null&&Jt.certfile||(Ke=ye.tls)!=null&&Ke.keyfile||(Qe=ye.tls)!=null&&Qe.capath||(Et=ye.tls)!=null&&Et.cafile)}function V(ye,It){It?ye.tls={...ye.tls,enabled:!0}:ye.tls={},m(u,[...c(u)],!0)}var j=tee(),ee=_(j),ae=v(_(ee),2),ge=_(ae),X=v(ge,2),de=_(X),be=v(X,2),re=_(be),ue=v(ee,2);{var Ae=ye=>{var It=tA(),Jt=_(It);z(()=>W(Jt,c(i))),D(ye,It)};H(ue,ye=>{c(i)&&ye(Ae)})}var Me=v(ue,2);{var ve=ye=>{var It=tA(),Jt=_(It);z(()=>W(Jt,c(s))),D(ye,It)};H(Me,ye=>{c(s)&&ye(ve)})}var Oe=v(Me,2);{var Ue=ye=>{var It=jJ();D(ye,It)};H(Oe,ye=>{c(r)&&ye(Ue)})}var Ce=v(Oe,2);{var pt=ye=>{var It=$J(),Jt=_(It);z(()=>W(Jt,c(d))),D(ye,It)};H(Ce,ye=>{c(d)&&ye(pt)})}var Mt=v(Ce,2);{var at=ye=>{var It=UJ();D(ye,It)},Ct=ye=>{var It=eee(),Jt=bt(It),Ke=_(Jt),Qe=_(Ke),Et=v(Ke,2);{var Xt=Ze=>{var we=qJ(),ni=v(_(we),2),bi=_(ni);bi.value=bi.__value="";var ei=v(bi);ei.value=ei.__value="true";var Gi=v(ei);Gi.value=Gi.__value="false",Ls(ni,()=>c(p),sn=>m(p,sn)),D(Ze,we)};H(Et,Ze=>{c(g)||Ze(Xt)})}var fi=v(Jt,2),ui=_(fi);ii(ui,17,()=>c(u),Hi,(Ze,we,ni)=>{var bi=QJ(),ei=_(bi),Gi=_(ei),sn=_(Gi),yi=v(Gi,2),Sn=v(ei,2),dn=_(Sn),fn=v(_(dn)),gn=v(dn,2),xt=v(_(gn)),Kt=_(xt);Kt.value=Kt.__value="mqtt";var Ti=v(Kt);Ti.value=Ti.__value="websockets";var zi=v(gn,2),ri=v(_(zi));an(ri,"list",`bind-addr-list-${ni}`);var Ni=v(zi,2),Ui=_(Ni),nn=v(Sn,2);an(nn,"id",`bind-addr-list-${ni}`),ii(nn,21,()=>c(C),Hi,(st,Gt)=>{var hi=GJ(),yt={};z(()=>{yt!==(yt=c(Gt))&&(hi.value=(hi.__value=c(Gt))??"")}),D(st,hi)});var pi=v(nn,2);{var Wi=st=>{var Gt=KJ(),hi=_(Gt),yt=_(hi),ht=v(_(yt)),Q=v(yt,2),We=v(_(Q)),le=v(hi,2),pe=_(le),oi=v(_(pe)),gi=v(pe,2),ne=v(_(gi)),tt=v(le,2),Ht=_(tt),Vt=v(_(Ht)),jt=v(Ht,2),Te=v(_(jt)),Je=_(Te);Je.value=Je.__value="";var Zt=v(Je);Zt.value=Zt.__value="tlsv1.3";var ai=v(Zt);ai.value=ai.__value="tlsv1.2";var Ii=v(tt,2),li=_(Ii),me=_(li),Ve=v(li,2),ot=_(Ve);Wt(ht,()=>c(we).tls.certfile,Re=>c(we).tls.certfile=Re),Wt(We,()=>c(we).tls.keyfile,Re=>c(we).tls.keyfile=Re),Wt(oi,()=>c(we).tls.cafile,Re=>c(we).tls.cafile=Re),Wt(ne,()=>c(we).tls.capath,Re=>c(we).tls.capath=Re),Wt(Vt,()=>c(we).tls.crlfile,Re=>c(we).tls.crlfile=Re),Ls(Te,()=>c(we).tls.tls_version,Re=>c(we).tls.tls_version=Re),ws(me,()=>c(we).tls.require_certificate,Re=>c(we).tls.require_certificate=Re),ws(ot,()=>c(we).tls.use_identity_as_username,Re=>c(we).tls.use_identity_as_username=Re),D(st,Gt)},Bi=Lt(()=>P(c(we)));H(pi,st=>{c(Bi)&&st(Wi)})}var en=v(pi,2),Mi=_(en),Ki=v(en,2);{var qi=st=>{var Gt=XJ(),hi=_(Gt),yt=_(hi),ht=v(_(yt)),Q=v(yt,2),We=v(_(Q)),le=v(Q,2),pe=v(_(le)),oi=_(pe);oi.value=oi.__value="";var gi=v(oi);gi.value=gi.__value="0";var ne=v(gi);ne.value=ne.__value="1";var tt=v(ne);tt.value=tt.__value="2";var Ht;F1(pe);var Vt=v(hi,2);{var jt=Je=>{var Zt=ZJ(),ai=_(Zt),Ii=_(ai);ws(Ii,()=>c(we).tls.use_subject_as_username,li=>c(we).tls.use_subject_as_username=li),D(Je,Zt)},Te=Lt(()=>P(c(we)));H(Vt,Je=>{c(Te)&&Je(jt)})}z(Je=>{Ht!==(Ht=Je)&&(pe.value=(pe.__value=Je)??"",Wm(pe,Je))},[()=>c(we).max_qos!==void 0?String(c(we).max_qos):""]),Wt(ht,()=>c(we).mount_point,Je=>c(we).mount_point=Je),Wt(We,()=>c(we).max_connections,Je=>c(we).max_connections=Je),U("change",pe,Je=>{const Zt=Je.target.value;c(we).max_qos=Zt===""?void 0:Number(Zt),m(u,[...c(u)],!0)}),D(st,Gt)},K=Lt(()=>c(b).has(ni));H(Ki,st=>{c(K)&&st(qi)})}var Be=v(Ki,2);{var Ye=st=>{var Gt=YJ(),hi=v(_(Gt),2),yt=_(hi),ht=v(_(yt)),Q=_(ht);Q.value=Q.__value="";var We=v(Q);We.value=We.__value="true";var le=v(We);le.value=le.__value="false";var pe;F1(ht);var oi=v(yt,2),gi=v(_(oi)),ne=v(oi,2),tt=v(_(ne));z(()=>{pe!==(pe=c(we).allow_anonymous===void 0?"":c(we).allow_anonymous?"true":"false")&&(ht.value=ht.__value=c(we).allow_anonymous===void 0?"":c(we).allow_anonymous?"true":"false",Wm(ht,c(we).allow_anonymous===void 0?"":c(we).allow_anonymous?"true":"false"))}),U("change",ht,Ht=>{const Vt=Ht.target.value;c(we).allow_anonymous=Vt===""?void 0:Vt==="true",m(u,[...c(u)],!0)}),Wt(gi,()=>c(we).password_file,Ht=>c(we).password_file=Ht),Wt(tt,()=>c(we).acl_file,Ht=>c(we).acl_file=Ht),D(st,Gt)};H(Be,st=>{c(g)&&st(Ye)})}z((st,Gt)=>{W(sn,`Port ${c(we).port??""}`),Zo(Ui,st),W(Mi,`${Gt??""} Advanced`)},[()=>P(c(we)),()=>c(b).has(ni)?"▾":"▸"]),U("click",yi,()=>I(ni)),Wt(fn,()=>c(we).port,st=>c(we).port=st),Ls(xt,()=>c(we).protocol,st=>c(we).protocol=st),Wt(ri,()=>c(we).bindAddress,st=>c(we).bindAddress=st),U("change",Ui,st=>V(c(we),st.target.checked)),U("click",en,()=>A(ni)),D(Ze,bi)});var Di=v(ui,2);{var _i=Ze=>{var we=JJ();D(Ze,we)};H(Di,Ze=>{c(u).length===0&&Ze(_i)})}ws(Qe,()=>c(g),Ze=>m(g,Ze)),D(ye,It)};H(Mt,ye=>{c(t)===null&&!c(i)?ye(at):ye(Ct,-1)})}z(()=>{X.disabled=c(n),W(de,c(n)?"Saving…":"Save"),be.disabled=c(a),W(re,c(a)?"Reloading…":"Apply & Reload")}),U("click",ge,w),U("click",X,M),U("click",be,R),D(o,j),Us()}Ys(["click","change"]);var iA=B('<div class="err svelte-1by6o5t"> </div>'),nee=B('<div class="ok svelte-1by6o5t">Saved.</div>'),see=B('<div class="reload-msg svelte-1by6o5t"> </div>'),JC=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),oee=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),ree=B(`<div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">General</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — persist sessions & retained msgs</option><option>false — no disk persistence</option></select></label> <p class="hint svelte-1by6o5t">Enable on-disk persistence of subscriptions, retained messages, and QoS 1/2 queues.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence_location</span> <input placeholder="/var/lib/mosquitto/" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Directory where mosquitto stores its persistence data. Must be writable by the mosquitto process.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">sys_interval</span> <input type="number" placeholder="10" min="0" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Interval in seconds between <code class="svelte-1by6o5t">$SYS</code> status updates. <code class="svelte-1by6o5t">0</code> disables <code class="svelte-1by6o5t">$SYS</code> messages.</p></div></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">include_dir</span> <textarea placeholder="/etc/mosquitto/conf.d" class="svelte-1by6o5t"></textarea></label> <p class="hint svelte-1by6o5t">One path per line. Each directory will be scanned for <code class="svelte-1by6o5t">*.conf</code> files and included in order.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Logging</h4> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_dest</span> <div class="checkbox-group svelte-1by6o5t"></div> <p class="hint svelte-1by6o5t">Log destinations. Enable <code class="svelte-1by6o5t">topic</code> to stream logs to <code class="svelte-1by6o5t">$SYS/broker/log/*</code> and view them in the Logs tab. <code class="svelte-1by6o5t">none</code> disables logging entirely.</p></div> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_type</span> <div class="log-type-grid svelte-1by6o5t"><div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Severity</span> <!></div> <div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Events</span> <!></div> <div class="log-type-group log-type-group--other svelte-1by6o5t"><!> <span class="all-hint svelte-1by6o5t">enables all types above</span></div></div> <p class="hint svelte-1by6o5t">Types of messages to log. Leave all unchecked to use the broker default.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Connection limits</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_connections</span> <input placeholder="−1 (unlimited)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum simultaneous client connections. <code class="svelte-1by6o5t">-1</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_keepalive</span> <input placeholder="65535" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum keepalive value (seconds) a client may request. <code class="svelte-1by6o5t">0</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_inflight_messages</span> <input placeholder="20" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max simultaneous unacknowledged QoS 1/2 messages per client.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_queued_messages</span> <input placeholder="100" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max messages queued for a disconnected persistent client.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Packet & payload size</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_packet_size</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum MQTT packet size in bytes (MQTT v5 only). <code class="svelte-1by6o5t">0</code> = no limit.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">message_size_limit</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum payload size in bytes for published messages. <code class="svelte-1by6o5t">0</code> = no limit.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Sessions & persistence</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistent_client_expiration</span> <input placeholder="e.g. 7d, 2h, 30m" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Expire persistent sessions after this duration. Suffix: <code class="svelte-1by6o5t">d</code>/<code class="svelte-1by6o5t">h</code>/<code class="svelte-1by6o5t">m</code>/<code class="svelte-1by6o5t">s</code>. Empty = never expire.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">retain_available</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — allow retained messages</option><option>false — disable retained messages globally</option></select></label> <p class="hint svelte-1by6o5t">Disable retained messages broker-wide.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Performance</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">set_tcp_nodelay</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — disable Nagle (lower latency)</option><option>false — enable Nagle</option></select></label> <p class="hint svelte-1by6o5t">Disable Nagle's algorithm to reduce latency at the cost of slightly more packets.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">connection_messages</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — log connect/disconnect</option><option>false — suppress</option></select></label> <p class="hint svelte-1by6o5t">Log a message on every client connect and disconnect.</p></div></div></div>`,1),aee=B('<div class="config-page svelte-1by6o5t"><div class="page-header svelte-1by6o5t"><h3 class="svelte-1by6o5t">Global config</h3> <div class="header-actions svelte-1by6o5t"><button class="btn-save svelte-1by6o5t"> </button> <button class="btn-reload svelte-1by6o5t"> </button></div></div> <!> <!> <!> <!> <!></div>');function lee(o,e){$s(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(null),f=F(""),g=F(""),p=F(""),C=F(""),b=F(""),y=F(""),w=F(""),A=F(""),I=F(""),M=F(""),R=F(""),P=F(""),V=F(""),j=F("");const ee=["file","stdout","stderr","syslog","topic","none"],ae=["error","warning","notice","information","debug"],ge=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],X=["all"];[...ae,...ge,...X];let de=F(wi(new Set)),be=F(wi(new Set));function re(Ze,we){const ni=new Set(Ze);return ni.has(we)?ni.delete(we):ni.add(we),ni}function ue(Ze){if(!c(t))return"";const we=c(t).managed[Ze];return Array.isArray(we)?we[0]:we??""}function Ae(Ze){if(!c(t))return new Set;const we=c(t).managed[Ze];return we?new Set(Array.isArray(we)?we:[we]):new Set}Xs(()=>Me());async function Me(){try{m(t,await hS(),!0),m(u,c(t).checksum,!0),m(f,ue("persistence"),!0),m(g,ue("persistence_location"),!0),m(p,ue("sys_interval"),!0);const Ze=c(t).managed.include_dir;m(C,Ze?Array.isArray(Ze)?Ze.join(`
|
|
231
|
-
`):Ze:"",!0),m(b,ue("max_connections"),!0),m(y,ue("max_inflight_messages"),!0),m(w,ue("max_queued_messages"),!0),m(A,ue("max_packet_size"),!0),m(I,ue("message_size_limit"),!0),m(M,ue("max_keepalive"),!0),m(R,ue("persistent_client_expiration"),!0),m(P,ue("retain_available"),!0),m(V,ue("set_tcp_nodelay"),!0),m(j,ue("connection_messages"),!0),m(de,Ae("log_dest"),!0),m(be,Ae("log_type"),!0),m(i,"")}catch(Ze){m(i,Ze.message??"Failed to load config",!0)}}async function ve(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let we=function(bi,ei){ei!==""?Ze[bi]=ei:delete Ze[bi]};const Ze={...c(t).managed};we("persistence",c(f)),we("persistence_location",c(g)),we("sys_interval",c(p));const ni=c(C).split(`
|
|
232
|
-
`).map(bi=>bi.trim()).filter(Boolean);ni.length>0?Ze.include_dir=ni.length===1?ni[0]:ni:delete Ze.include_dir,we("max_connections",c(b)),we("max_inflight_messages",c(y)),we("max_queued_messages",c(w)),we("max_packet_size",c(A)),we("message_size_limit",c(I)),we("max_keepalive",c(M)),we("persistent_client_expiration",c(R)),we("retain_available",c(P)),we("set_tcp_nodelay",c(V)),we("connection_messages",c(j)),c(de).size>0?Ze.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete Ze.log_dest,c(be).size>0?Ze.log_type=c(be).size===1?[...c(be)][0]:[...c(be)]:delete Ze.log_type,await kF({listeners:c(t).listeners,managed:Ze,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Me()}catch(Ze){m(s,Ze.message??"Save failed",!0)}finally{m(n,!1)}}}async function Oe(){m(a,!0),m(d,"");try{const Ze=await BF();m(d,Ze.stderr||Ze.stdout||"Reloaded",!0)}catch(Ze){m(d,"Error: "+(Ze.message??"reload failed"))}finally{m(a,!1)}}var Ue=aee(),Ce=_(Ue),pt=v(_(Ce),2),Mt=_(pt),at=_(Mt),Ct=v(Mt,2),ye=_(Ct),It=v(Ce,2);{var Jt=Ze=>{var we=iA(),ni=_(we);z(()=>W(ni,c(i))),D(Ze,we)};H(It,Ze=>{c(i)&&Ze(Jt)})}var Ke=v(It,2);{var Qe=Ze=>{var we=iA(),ni=_(we);z(()=>W(ni,c(s))),D(Ze,we)};H(Ke,Ze=>{c(s)&&Ze(Qe)})}var Et=v(Ke,2);{var Xt=Ze=>{var we=nee();D(Ze,we)};H(Et,Ze=>{c(r)&&Ze(Xt)})}var fi=v(Et,2);{var ui=Ze=>{var we=see(),ni=_(we);z(()=>W(ni,c(d))),D(Ze,we)};H(fi,Ze=>{c(d)&&Ze(ui)})}var Di=v(fi,2);{var _i=Ze=>{var we=ree(),ni=bt(we),bi=v(_(ni),2),ei=_(bi),Gi=_(ei),sn=v(_(Gi),2),yi=_(sn);yi.value=yi.__value="";var Sn=v(yi);Sn.value=Sn.__value="true";var dn=v(Sn);dn.value=dn.__value="false";var fn=v(ei,2),gn=_(fn),xt=v(_(gn),2),Kt=v(fn,2),Ti=_(Kt),zi=v(_(Ti),2),ri=v(bi,2),Ni=_(ri),Ui=v(_(Ni),2);an(Ui,"rows",3);var nn=v(ni,2),pi=v(_(nn),2),Wi=v(_(pi),2);ii(Wi,21,()=>ee,Hi,(ze,je)=>{var kt=JC(),dt=_(kt),it=v(dt,3);z(he=>{Zo(dt,he),W(it,` ${c(je)??""}`)},[()=>c(de).has(c(je))]),U("change",dt,()=>{m(de,re(c(de),c(je)),!0)}),D(ze,kt)});var Bi=v(pi,2),en=v(_(Bi),2),Mi=_(en),Ki=v(_(Mi),2);ii(Ki,17,()=>ae,Hi,(ze,je)=>{var kt=JC(),dt=_(kt),it=v(dt,3);z(he=>{Zo(dt,he),W(it,` ${c(je)??""}`)},[()=>c(be).has(c(je))]),U("change",dt,()=>{m(be,re(c(be),c(je)),!0)}),D(ze,kt)});var qi=v(Mi,2),K=v(_(qi),2);ii(K,17,()=>ge,Hi,(ze,je)=>{var kt=JC(),dt=_(kt),it=v(dt,3);z(he=>{Zo(dt,he),W(it,` ${c(je)??""}`)},[()=>c(be).has(c(je))]),U("change",dt,()=>{m(be,re(c(be),c(je)),!0)}),D(ze,kt)});var Be=v(qi,2),Ye=_(Be);ii(Ye,17,()=>X,Hi,(ze,je)=>{var kt=oee(),dt=_(kt),it=v(dt,4),he=_(it);z(Ne=>{Zo(dt,Ne),W(he,c(je))},[()=>c(be).has(c(je))]),U("change",dt,()=>{m(be,re(c(be),c(je)),!0)}),D(ze,kt)});var st=v(nn,2),Gt=v(_(st),2),hi=_(Gt),yt=_(hi),ht=v(_(yt),2),Q=v(hi,2),We=_(Q),le=v(_(We),2),pe=v(Q,2),oi=_(pe),gi=v(_(oi),2),ne=v(pe,2),tt=_(ne),Ht=v(_(tt),2),Vt=v(st,2),jt=v(_(Vt),2),Te=_(jt),Je=_(Te),Zt=v(_(Je),2),ai=v(Te,2),Ii=_(ai),li=v(_(Ii),2),me=v(Vt,2),Ve=v(_(me),2),ot=_(Ve),Re=_(ot),wt=v(_(Re),2),_t=v(ot,2),Ut=_(_t),$=v(_(Ut),2),T=_($);T.value=T.__value="";var O=v(T);O.value=O.__value="true";var Y=v(O);Y.value=Y.__value="false";var ie=v(me,2),oe=v(_(ie),2),se=_(oe),Se=_(se),He=v(_(Se),2),_e=_(He);_e.value=_e.__value="";var Fe=v(_e);Fe.value=Fe.__value="true";var Pe=v(Fe);Pe.value=Pe.__value="false";var lt=v(se,2),Yt=_(lt),Z=v(_(Yt),2),ce=_(Z);ce.value=ce.__value="";var qe=v(ce);qe.value=qe.__value="true";var Bt=v(qe);Bt.value=Bt.__value="false",Ls(sn,()=>c(f),ze=>m(f,ze)),Wt(xt,()=>c(g),ze=>m(g,ze)),Wt(zi,()=>c(p),ze=>m(p,ze)),Wt(Ui,()=>c(C),ze=>m(C,ze)),Wt(ht,()=>c(b),ze=>m(b,ze)),Wt(le,()=>c(M),ze=>m(M,ze)),Wt(gi,()=>c(y),ze=>m(y,ze)),Wt(Ht,()=>c(w),ze=>m(w,ze)),Wt(Zt,()=>c(A),ze=>m(A,ze)),Wt(li,()=>c(I),ze=>m(I,ze)),Wt(wt,()=>c(R),ze=>m(R,ze)),Ls($,()=>c(P),ze=>m(P,ze)),Ls(He,()=>c(V),ze=>m(V,ze)),Ls(Z,()=>c(j),ze=>m(j,ze)),D(Ze,we)};H(Di,Ze=>{c(t)&&Ze(_i)})}z(()=>{Mt.disabled=c(n),W(at,c(n)?"Saving…":"Save"),Ct.disabled=c(a),W(ye,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,ve),U("click",Ct,Oe),D(o,Ue),Us()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),cee=B('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),dee=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),uee=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),hee=B('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),fee=B('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),gee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),nA=B('<button class="btn-primary svelte-9auejo"> </button>'),pee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),xee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),mee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),vee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),_ee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),bee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),Cee=B('<span class="file-name mono small svelte-9auejo"> </span>'),Eee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),yee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),e1=B("<option></option>"),wee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),See=B('<label class="svelte-9auejo">CA certificate (PEM)<textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),Dee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),Aee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add trusted CA certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),kee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function Bee(o,e){$s(e,!0);let t=F(null),i=F(wi([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),I=F(""),M=F(""),R=F(!1),P=F(""),V=F(!1),j=F(!1),ee=F("pem"),ae=F(""),ge=F(""),X=F(""),de=F(""),be=F(""),re=F(!1),ue=F(!1),Ae=F(""),Me=F(!1),ve=F(""),Oe=F(""),Ue=F(!1),Ce=F(""),pt=F(wi([])),Mt=F(wi([])),at=F(!1),Ct=F("pem"),ye=F(""),It=F(!1),Jt=F(""),Ke=F(""),Qe=F(wi([])),Et=F(!1),Xt=F("");async function fi(){try{const[Te,Je]=await Promise.allSettled([WU(),jU()]);Te.status==="fulfilled"&&m(t,Te.value.server,!0),Je.status==="fulfilled"&&m(i,Je.value.certs,!0),m(n,"")}catch(Te){m(n,Te.message,!0)}}Xs(()=>{fi()});async function ui(){m(g,""),m(f,!0),m(p,null);try{const Te=c(d).split(",").map(Zt=>Zt.trim()).filter(Boolean),Je=await zU({cn:c(a),san:Te,days:c(u)});m(p,{fingerprint:Je.fingerprint,expires:Je.expires},!0),await fi()}catch(Te){m(g,Te.message,!0)}finally{m(f,!1)}}async function Di(){m(A,""),m(w,!0),m(I,"");try{const Te=c(y).split(",").map(Zt=>Zt.trim()).filter(Boolean),Je=await VU({cn:c(b),san:Te});m(I,Je.csrPem,!0)}catch(Te){m(A,Te.message,!0)}finally{m(w,!1)}}async function _i(){m(P,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await KC({cert:c(M)}),m(V,!0),await fi()}catch(Te){m(P,Te.message,!0)}finally{m(R,!1)}}function Ze(){navigator.clipboard.writeText(c(I)).catch(()=>{})}function we(Te){var ai;const Je=(ai=Te.target.files)==null?void 0:ai[0];if(!Je)return;m(de,Je.name,!0);const Zt=new FileReader;Zt.onload=()=>{const Ii=Zt.result;m(X,btoa(String.fromCharCode(...new Uint8Array(Ii))),!0)},Zt.readAsArrayBuffer(Je)}async function ni(){m(Ae,""),m(ue,!0);try{if(c(ee)==="p12"){if(!c(X))throw new Error("Select a .p12 / .pfx file");await KC({p12base64:c(X),passphrase:c(be)})}else{if(!c(ae).trim())throw new Error("Certificate PEM is required");await KC({cert:c(ae),key:c(ge)||void 0})}m(j,!1),await fi()}catch(Te){m(Ae,Te.message,!0)}finally{m(ue,!1)}}function bi(Te){let Je;return Zt=>{const ai=Zt.target.value;clearTimeout(Je),Je=setTimeout(async()=>{if(!ai.startsWith("/")||ai.length<2){Te([]);return}try{Te((await qU(ai)).suggestions)}catch{Te([])}},280)}}const ei=bi(Te=>{m(pt,Te,!0)}),Gi=bi(Te=>{m(Mt,Te,!0)}),sn=bi(Te=>{m(Qe,Te,!0)});async function yi(){m(Ce,""),m(Ue,!0);try{await GU({certPath:c(ve),keyPath:c(Oe)}),m(Me,!1),await fi()}catch(Te){m(Ce,Te.message,!0)}finally{m(Ue,!1)}}async function Sn(){m(Jt,""),m(It,!0);try{await $U(c(ye)),m(ye,""),m(at,!1),await fi()}catch(Te){m(Jt,Te.message,!0)}finally{m(It,!1)}}async function dn(){m(Xt,""),m(Et,!0);try{await KU(c(Ke)),m(Ke,""),m(at,!1),await fi()}catch(Te){m(Xt,Te.message,!0)}finally{m(Et,!1)}}async function fn(Te){if(confirm("Remove this trusted CA cert?"))try{await UU(Te),await fi()}catch(Je){m(s,Je.message,!0)}}function gn(Te){const Je=new Date(Te).getTime()-Date.now();return Je<0?"expired":Je<30*864e5?"expiring":""}function xt(Te){return new Date(Te).toLocaleDateString()}var Kt=kee(),Ti=bt(Kt),zi=_(Ti),ri=_(zi),Ni=v(zi,2);{var Ui=Te=>{var Je=nl(),Zt=_(Je);z(()=>W(Zt,c(n))),D(Te,Je)};H(Ni,Te=>{c(n)&&Te(Ui)})}var nn=v(Ni,2);{var pi=Te=>{var Je=nl(),Zt=_(Je);z(()=>W(Zt,c(s))),D(Te,Je)};H(nn,Te=>{c(s)&&Te(pi)})}var Wi=v(nn,2),Bi=_(Wi),en=v(_(Bi),2),Mi=v(en,2),Ki=v(Mi,2),qi=v(Ki,2),K=v(Bi,2);{var Be=Te=>{var Je=cee(),Zt=_(Je),ai=v(_(Zt)),Ii=_(ai),li=v(ai,3),me=_(li),Ve=v(li,3),ot=_(Ve);z((Re,wt)=>{W(Ii,c(t).cn),W(me,c(t).fingerprint),At(Ve,1,Re,"svelte-9auejo"),W(ot,wt)},[()=>hg(gn(c(t).expires)),()=>xt(c(t).expires)]),D(Te,Je)},Ye=Te=>{var Je=dee();D(Te,Je)};H(K,Te=>{c(t)?Te(Be):Te(Ye,-1)})}var st=v(Wi,2),Gt=_(st),hi=v(_(Gt),2),yt=v(Gt,2);{var ht=Te=>{var Je=uee();D(Te,Je)},Q=Te=>{var Je=fee(),Zt=v(_(Je));ii(Zt,21,()=>c(i),Hi,(ai,Ii)=>{var li=hee(),me=_(li),Ve=_(me),ot=v(me),Re=_(ot),wt=v(ot),_t=_(wt),Ut=v(wt),$=_(Ut);z((T,O,Y)=>{W(Ve,c(Ii).cn),W(Re,`${T??""}…`),At(wt,1,O,"svelte-9auejo"),W(_t,Y)},[()=>c(Ii).fingerprint.slice(0,29),()=>hg(gn(c(Ii).expires)),()=>xt(c(Ii).expires)]),U("click",$,()=>fn(c(Ii).fingerprint)),D(ai,li)}),D(Te,Je)};H(yt,Te=>{c(i).length===0?Te(ht):Te(Q,-1)})}var We=v(Ti,2);{var le=Te=>{var Je=pee(),Zt=_(Je),ai=v(_(Zt),2),Ii=v(_(ai)),li=v(ai,2),me=v(_(li)),Ve=v(li,2),ot=v(_(Ve)),Re=v(Ve,2);{var wt=ie=>{var oe=nl(),se=_(oe);z(()=>W(se,c(g))),D(ie,oe)};H(Re,ie=>{c(g)&&ie(wt)})}var _t=v(Re,2);{var Ut=ie=>{var oe=gee(),se=v(_(oe),2),Se=v(_(se)),He=_(Se),_e=v(Se,2),Fe=_(_e);z(Pe=>{W(He,c(p).fingerprint),W(Fe,Pe)},[()=>xt(c(p).expires)]),D(ie,oe)};H(_t,ie=>{c(p)&&ie(Ut)})}var $=v(_t,2),T=_($),O=v(T,2);{var Y=ie=>{var oe=nA(),se=_(oe);z(()=>{oe.disabled=c(f),W(se,c(f)?"Generating…":"Generate")}),U("click",oe,ui),D(ie,oe)};H(O,ie=>{c(p)||ie(Y)})}Wt(Ii,()=>c(a),ie=>m(a,ie)),Wt(me,()=>c(d),ie=>m(d,ie)),Wt(ot,()=>c(u),ie=>m(u,ie)),U("click",T,()=>m(r,!1)),D(Te,Je)};H(We,Te=>{c(r)&&Te(le)})}var pe=v(We,2);{var oi=Te=>{var Je=_ee(),Zt=_(Je),ai=v(_(Zt),2);{var Ii=me=>{var Ve=xee(),ot=bt(Ve),Re=v(_(ot)),wt=v(ot,2),_t=v(_(wt)),Ut=v(wt,4);{var $=oe=>{var se=nl(),Se=_(se);z(()=>W(Se,c(A))),D(oe,se)};H(Ut,oe=>{c(A)&&oe($)})}var T=v(Ut,2),O=_(T),Y=v(O,2),ie=_(Y);z(()=>{Y.disabled=c(w),W(ie,c(w)?"Generating…":"Generate key + CSR")}),Wt(Re,()=>c(b),oe=>m(b,oe)),Wt(_t,()=>c(y),oe=>m(y,oe)),U("click",O,()=>m(C,!1)),U("click",Y,Di),D(me,Ve)},li=me=>{var Ve=vee(),ot=v(bt(Ve),2),Re=v(_(ot)),wt=v(ot,2),_t=_(wt),Ut=v(_t,2),$=v(wt,4),T=v(_($)),O=v($,2);{var Y=Fe=>{var Pe=nl(),lt=_(Pe);z(()=>W(lt,c(P))),D(Fe,Pe)};H(O,Fe=>{c(P)&&Fe(Y)})}var ie=v(O,2);{var oe=Fe=>{var Pe=mee();D(Fe,Pe)};H(ie,Fe=>{c(V)&&Fe(oe)})}var se=v(ie,2),Se=_(se),He=v(Se,2);{var _e=Fe=>{var Pe=nA(),lt=_(Pe);z(Yt=>{Pe.disabled=Yt,W(lt,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Pe,_i),D(Fe,Pe)};H(He,Fe=>{c(V)||Fe(_e)})}z(Fe=>{L1(Re,c(I)),an(Ut,"href",`data:application/pkcs10;charset=utf-8,${Fe??""}`)},[()=>encodeURIComponent(c(I))]),U("click",_t,Ze),Wt(T,()=>c(M),Fe=>m(M,Fe)),U("click",Se,()=>m(C,!1)),D(me,Ve)};H(ai,me=>{c(I)?me(li,-1):me(Ii)})}D(Te,Je)};H(pe,Te=>{c(C)&&Te(oi)})}var gi=v(pe,2);{var ne=Te=>{var Je=yee(),Zt=_(Je),ai=v(_(Zt),2),Ii=_(ai);let li;var me=v(Ii,2);let Ve;var ot=v(ai,2);{var Re=ie=>{var oe=bee(),se=bt(oe),Se=v(_(se)),He=v(se,2),_e=v(_(He));Wt(Se,()=>c(ae),Fe=>m(ae,Fe)),Wt(_e,()=>c(ge),Fe=>m(ge,Fe)),D(ie,oe)},wt=ie=>{var oe=Eee(),se=bt(oe),Se=v(_(se)),He=_(Se),_e=v(He,2);{var Fe=qe=>{var Bt=Cee(),ze=_(Bt);z(()=>W(ze,c(de))),D(qe,Bt)};H(_e,qe=>{c(de)&&qe(Fe)})}var Pe=v(se,2),lt=v(_(Pe)),Yt=_(lt),Z=v(Yt,2),ce=_(Z);z(()=>{an(Yt,"type",c(re)?"text":"password"),W(ce,c(re)?"Hide":"Show")}),U("change",He,we),Wt(Yt,()=>c(be),qe=>m(be,qe)),U("click",Z,()=>m(re,!c(re))),D(ie,oe)};H(ot,ie=>{c(ee)==="pem"?ie(Re):ie(wt,-1)})}var _t=v(ot,2);{var Ut=ie=>{var oe=nl(),se=_(oe);z(()=>W(se,c(Ae))),D(ie,oe)};H(_t,ie=>{c(Ae)&&ie(Ut)})}var $=v(_t,2),T=_($),O=v(T,2),Y=_(O);z(()=>{li=At(Ii,1,"svelte-9auejo",null,li,{active:c(ee)==="pem"}),Ve=At(me,1,"svelte-9auejo",null,Ve,{active:c(ee)==="p12"}),O.disabled=c(ue),W(Y,c(ue)?"Importing…":"Import")}),U("click",Ii,()=>m(ee,"pem")),U("click",me,()=>m(ee,"p12")),U("click",T,()=>m(j,!1)),U("click",O,ni),D(Te,Je)};H(gi,Te=>{c(j)&&Te(ne)})}var tt=v(gi,2);{var Ht=Te=>{var Je=wee(),Zt=_(Je),ai=v(_(Zt),4),Ii=v(_(ai)),li=v(Ii,2);ii(li,21,()=>c(pt),Hi,(O,Y)=>{var ie=e1(),oe={};z(()=>{oe!==(oe=c(Y))&&(ie.value=(ie.__value=c(Y))??"")}),D(O,ie)});var me=v(ai,2),Ve=v(_(me)),ot=v(Ve,2);ii(ot,21,()=>c(Mt),Hi,(O,Y)=>{var ie=e1(),oe={};z(()=>{oe!==(oe=c(Y))&&(ie.value=(ie.__value=c(Y))??"")}),D(O,ie)});var Re=v(me,2);{var wt=O=>{var Y=nl(),ie=_(Y);z(()=>W(ie,c(Ce))),D(O,Y)};H(Re,O=>{c(Ce)&&O(wt)})}var _t=v(Re,2),Ut=_(_t),$=v(Ut,2),T=_($);z(O=>{$.disabled=O,W(T,c(Ue)?"Installing…":"Install")},[()=>c(Ue)||!c(ve).trim()||!c(Oe).trim()]),U("input",Ii,ei),Wt(Ii,()=>c(ve),O=>m(ve,O)),U("input",Ve,Gi),Wt(Ve,()=>c(Oe),O=>m(Oe,O)),U("click",Ut,()=>m(Me,!1)),U("click",$,yi),D(Te,Je)};H(tt,Te=>{c(Me)&&Te(Ht)})}var Vt=v(tt,2);{var jt=Te=>{var Je=Aee(),Zt=_(Je),ai=v(_(Zt),2),Ii=_(ai);let li;var me=v(Ii,2);let Ve;var ot=v(ai,2);{var Re=_t=>{var Ut=See(),$=bt(Ut),T=v(_($)),O=v($,2);{var Y=He=>{var _e=nl(),Fe=_(_e);z(()=>W(Fe,c(Jt))),D(He,_e)};H(O,He=>{c(Jt)&&He(Y)})}var ie=v(O,2),oe=_(ie),se=v(oe,2),Se=_(se);z(He=>{se.disabled=He,W(Se,c(It)?"Adding…":"Add CA cert")},[()=>c(It)||!c(ye).trim()]),Wt(T,()=>c(ye),He=>m(ye,He)),U("click",oe,()=>m(at,!1)),U("click",se,Sn),D(_t,Ut)},wt=_t=>{var Ut=Dee(),$=v(bt(Ut),2),T=v(_($)),O=v(T,2);ii(O,21,()=>c(Qe),Hi,(_e,Fe)=>{var Pe=e1(),lt={};z(()=>{lt!==(lt=c(Fe))&&(Pe.value=(Pe.__value=c(Fe))??"")}),D(_e,Pe)});var Y=v($,2);{var ie=_e=>{var Fe=nl(),Pe=_(Fe);z(()=>W(Pe,c(Xt))),D(_e,Fe)};H(Y,_e=>{c(Xt)&&_e(ie)})}var oe=v(Y,2),se=_(oe),Se=v(se,2),He=_(Se);z(_e=>{Se.disabled=_e,W(He,c(Et)?"Adding…":"Add CA cert")},[()=>c(Et)||!c(Ke).trim()]),U("input",T,sn),Wt(T,()=>c(Ke),_e=>m(Ke,_e)),U("click",se,()=>m(at,!1)),U("click",Se,dn),D(_t,Ut)};H(ot,_t=>{c(Ct)==="pem"?_t(Re):_t(wt,-1)})}z(()=>{li=At(Ii,1,"svelte-9auejo",null,li,{active:c(Ct)==="pem"}),Ve=At(me,1,"svelte-9auejo",null,Ve,{active:c(Ct)==="path"})}),U("click",Ii,()=>m(Ct,"pem")),U("click",me,()=>m(Ct,"path")),D(Te,Je)};H(Vt,Te=>{c(at)&&Te(jt)})}U("click",ri,fi),U("click",en,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Mi,()=>{m(C,!0),m(A,""),m(I,""),m(M,""),m(V,!1),m(P,"")}),U("click",Ki,()=>{m(j,!0),m(Ae,""),m(ee,"pem"),m(ae,""),m(ge,""),m(X,""),m(de,""),m(be,""),m(re,!1)}),U("click",qi,()=>{m(Me,!0),m(Ce,""),m(ve,""),m(Oe,""),m(pt,[],!0),m(Mt,[],!0)}),U("click",hi,()=>{m(at,!0),m(Jt,""),m(ye,""),m(Ct,"pem"),m(Xt,""),m(Ke,""),m(Qe,[],!0)}),D(o,Kt),Us()}Ys(["click","change","input"]);var Gx=B('<div class="err svelte-17yczfe"> </div>'),Fee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),Lee=B('<div class="checking svelte-17yczfe">Checking…</div>'),Iee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),Pee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),Tee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),Mee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Ree=B("<span> </span>"),Nee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host<input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port<input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user<input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key)<input class="svelte-17yczfe"/></label></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),Oee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Hee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Wee(o,e){$s(e,!0);let t=F(wi({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(wi({}));Xs(async()=>{try{const[Qe,Et,Xt]=await Promise.all([Pl(),Mb(),fetch("/she/broker/ssh/pubkey").then(ui=>ui.json()).catch(()=>({publicKey:null}))]);m(A,Qe,!0),Et.sshKeyDefault&&m(a,Et.sshKeyDefault,!0);const fi=c(A).broker??{};m(t,fi.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),Xt.publicKey&&m(p,Xt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&I()}catch(Qe){m(i,Qe.message,!0)}});async function I(){m(f,!0),m(g,"");try{m(u,await fU(),!0)}catch(Qe){m(g,Qe.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const Qe=c(A).broker??{},Et=c(d)==="local"?{...c(t),host:""}:c(t),Xt={...c(A),broker:{...Qe,ssh:Et}};await pp(Xt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(Qe){m(r,Qe.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const Qe=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Et=await Qe.json();if(!Qe.ok)throw new Error(Et.error??Qe.statusText);m(p,Et.publicKey,!0)}catch(Qe){m(b,Qe.message,!0)}finally{m(C,!1)}}async function P(){m(y,!0),m(w,"");try{const Qe=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Et=await Qe.json();if(!Qe.ok)throw new Error(Et.error??Qe.statusText);m(w,Et.ok?"✓ Connection successful":"✗ "+(Et.error??"Failed"),!0)}catch(Qe){m(w,"✗ "+Qe.message)}finally{m(y,!1)}}function V(Qe){navigator.clipboard.writeText(Qe).catch(()=>{})}const j=Lt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var ee=Hee(),ae=_(ee);{var ge=Qe=>{var Et=Gx(),Xt=_(Et);z(()=>W(Xt,c(i))),D(Qe,Et)};H(ae,Qe=>{c(i)&&Qe(ge)})}var X=v(ae,2),de=v(_(X),2),be=_(de);let re;var ue=v(be,2);let Ae;var Me=v(de,2),ve=_(Me),Oe=v(X,2);{var Ue=Qe=>{var Et=Iee(),Xt=v(_(Et),4);{var fi=bi=>{var ei=Gx(),Gi=_(ei);z(()=>W(Gi,c(g))),D(bi,ei)};H(Xt,bi=>{c(g)&&bi(fi)})}var ui=v(Xt,2);{var Di=bi=>{var ei=Fee(),Gi=_(ei),sn=_(Gi);let yi;var Sn=_(sn),dn=v(sn,4);let fn;var gn=_(dn),xt=v(Gi,2),Kt=_(xt);let Ti;var zi=_(Kt),ri=v(Kt,4);let Ni;var Ui=_(ri);z(()=>{yi=At(sn,1,"check-icon svelte-17yczfe",null,yi,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(Sn,c(u).mosquittoCtrl?"✓":"✗"),fn=At(dn,1,"check-note svelte-17yczfe",null,fn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(gn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Ti=At(Kt,1,"check-icon svelte-17yczfe",null,Ti,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(zi,c(u).mosquitto?"✓":"✗"),Ni=At(ri,1,"check-note svelte-17yczfe",null,Ni,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(Ui,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(bi,ei)},_i=bi=>{var ei=Lee();D(bi,ei)};H(ui,bi=>{c(u)?bi(Di):c(f)&&bi(_i,1)})}var Ze=v(ui,2),we=_(Ze),ni=_(we);z(()=>{we.disabled=c(f),W(ni,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",we,I),D(Qe,Et)};H(Oe,Qe=>{c(d)==="local"&&Qe(Ue)})}var Ce=v(Oe,2);{var pt=Qe=>{var Et=Nee(),Xt=bt(Et),fi=v(_(Xt),4),ui=_(fi),Di=v(_(ui)),_i=v(ui,2),Ze=v(_(_i)),we=v(_i,2),ni=v(_(we)),bi=v(we,2),ei=v(_(bi)),Gi=v(Xt,2),sn=v(_(Gi),2),yi=v(_(sn)),Sn=_(yi),dn=v(sn,2);{var fn=pi=>{var Wi=Tee(),Bi=bt(Wi),en=v(_(Bi)),Mi=_(en),Ki=v(Mi,2),qi=v(Bi,2);{var K=Gt=>{var hi=Pee(),yt=v(_(hi)),ht=_(yt),Q=v(ht,2);z(()=>L1(ht,c(j))),U("click",Q,()=>V(c(j))),D(Gt,hi)};H(qi,Gt=>{c(j)&&Gt(K)})}var Be=v(qi,2),Ye=_(Be),st=_(Ye);z(()=>{L1(Mi,c(p)),Ye.disabled=c(C),W(st,c(C)?"Generating…":"Regenerate keypair")}),U("click",Ki,()=>V(c(p))),U("click",Ye,R),D(pi,Wi)},gn=pi=>{var Wi=Mee(),Bi=_(Wi),en=_(Bi);z(()=>{Bi.disabled=c(C),W(en,c(C)?"Generating…":"Generate keypair")}),U("click",Bi,R),D(pi,Wi)};H(dn,pi=>{c(p)?pi(fn):pi(gn,-1)})}var xt=v(dn,2);{var Kt=pi=>{var Wi=Gx(),Bi=_(Wi);z(()=>W(Bi,c(b))),D(pi,Wi)};H(xt,pi=>{c(b)&&pi(Kt)})}var Ti=v(Gi,2),zi=v(_(Ti),2),ri=_(zi),Ni=_(ri),Ui=v(ri,2);{var nn=pi=>{var Wi=Ree();let Bi;var en=_(Wi);z(Mi=>{Bi=At(Wi,1,"test-result svelte-17yczfe",null,Bi,Mi),W(en,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(pi,Wi)};H(Ui,pi=>{c(w)&&pi(nn)})}z(()=>{an(ei,"placeholder",c(a)),W(Sn,c(t).identityFile||c(a)),ri.disabled=c(y)||!c(t).host,W(Ni,c(y)?"Testing…":"Test SSH connection")}),Wt(Di,()=>c(t).host,pi=>c(t).host=pi),Wt(Ze,()=>c(t).port,pi=>c(t).port=pi),Wt(ni,()=>c(t).user,pi=>c(t).user=pi),Wt(ei,()=>c(t).identityFile,pi=>c(t).identityFile=pi),U("click",ri,P),D(Qe,Et)};H(Ce,Qe=>{c(d)==="ssh"&&Qe(pt)})}var Mt=v(Ce,2);{var at=Qe=>{var Et=Gx(),Xt=_(Et);z(()=>W(Xt,c(r))),D(Qe,Et)};H(Mt,Qe=>{c(r)&&Qe(at)})}var Ct=v(Mt,2);{var ye=Qe=>{var Et=Oee();D(Qe,Et)};H(Ct,Qe=>{c(s)&&Qe(ye)})}var It=v(Ct,2),Jt=_(It),Ke=_(Jt);z(()=>{re=At(be,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),Ae=At(ue,1,"svelte-17yczfe",null,Ae,{active:c(d)==="ssh"}),W(ve,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),Jt.disabled=c(n),W(Ke,c(n)?"Saving…":"Save")}),U("click",be,()=>{m(d,"local"),c(u)||I()}),U("click",ue,()=>m(d,"ssh")),U("click",Jt,M),D(o,ee),Us()}Ys(["click"]);var zee=B("<button> </button>"),Vee=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply & Reload</em>.</span>',1),jee=B('<code>log_dest topic</code> is configured — waiting for messages…<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),$ee=B('Waiting for log messages…<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Uee=B('<div class="empty svelte-1yc29ow"><!></div>'),qee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),Gee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function Kee(o,e){$s(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(wi([])),r=F(!0),a=F(wi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const X=await pU().catch(()=>[]),de=YU(),be=new Set,re=[...X,...de].filter(ue=>n.has(ue.level)).map(ue=>({ts:ue.ts,level:ue.level,msg:ue.msg}));re.sort((ue,Ae)=>ue.ts-Ae.ts),m(s,re.filter(ue=>{const Ae=`${ue.ts}\0${ue.msg}`;return be.has(Ae)?!1:(be.add(Ae),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=Xo("brokerLog",ue=>{n.has(ue.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ue.ts,level:ue.level,msg:ue.msg}],!0),c(r)&&hl().then(p))}),hS().then(ue=>{const Ae=ue.managed.log_dest,Me=Array.isArray(Ae)?Ae:Ae?[Ae]:[];m(f,Me.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Vp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(X){const de=new Set(c(a));de.has(X)?de.delete(X):de.add(X),m(a,de,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Lt(()=>c(s).filter(X=>c(a).has(X.level)));function w(X){const de=new Date(X);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=Gee(),I=_(A),M=_(I);ii(M,20,()=>["D","I","N","W","E"],Hi,(X,de)=>{var be=zee();let re;var ue=_(be);z(Ae=>{re=At(be,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",re,Ae),an(be,"title",`Toggle ${de??""} messages`),W(ue,t[de])},[()=>({active:c(a).has(de)})]),U("click",be,()=>C(de)),D(X,be)});var R=v(M,4),P=_(R),V=v(R,2),j=v(I,2),ee=_(j);{var ae=X=>{var de=Uee(),be=_(de);{var re=Ae=>{var Me=Ss(),ve=bt(Me);{var Oe=pt=>{var Mt=Vee();D(pt,Mt)},Ue=pt=>{var Mt=jee();D(pt,Mt)},Ce=pt=>{var Mt=$ee();D(pt,Mt)};H(ve,pt=>{c(f)===!1?pt(Oe):c(f)===!0?pt(Ue,1):pt(Ce,-1)})}D(Ae,Me)},ue=Ae=>{var Me=oo("No messages match the current filter.");D(Ae,Me)};H(be,Ae=>{c(u)?Ae(ue,-1):Ae(re)})}D(X,de)},ge=X=>{var de=Ss(),be=bt(de);ii(be,17,()=>c(y),re=>re.ts+re.msg,(re,ue)=>{var Ae=qee(),Me=_(Ae),ve=_(Me),Oe=v(Me,2),Ue=_(Oe),Ce=v(Oe,2),pt=_(Ce);z(Mt=>{W(ve,Mt),At(Oe,1,`badge ${i[c(ue).level]??""}`,"svelte-1yc29ow"),W(Ue,t[c(ue).level]),W(pt,c(ue).msg)},[()=>w(c(ue).ts)]),D(re,Ae)}),D(X,de)};H(ee,X=>{c(y).length===0?X(ae):X(ge,-1)})}gs(j,X=>m(d,X),()=>c(d)),ws(P,()=>c(r),X=>m(r,X)),U("click",V,b),D(o,A),Us()}Ys(["click"]);var Zee=B('<div class="err svelte-d31be1"> </div>'),Xee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),Yee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Qee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),Jee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),ete=B(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),tte=B('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),ite=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),nte=B('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function ste(o,e){$s(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const re=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),ue=await re.json();if(!re.ok||!ue.ok)throw new Error(ue.error??"Bootstrap failed");m(d,ue,!0);const Ae=await Pl(),Me=Ae.broker??{};await pp({...Ae,broker:{...Me,dynsec:{adminUsername:ue.adminUsername,adminPassword:ue.adminPassword}}}),await vU().catch(()=>{}),m(t,"restart")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await xU(),await new Promise(re=>setTimeout(re,2e3)),m(u,!0),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const re=await Pl(),ue=re.broker??{};await pp({...re,broker:{...ue,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var I=nte(),M=_(I),R=v(_(M),2),P=v(M,2);{var V=re=>{var ue=Zee(),Ae=_(ue);z(()=>W(Ae,c(i))),D(re,ue)};H(P,re=>{c(i)&&re(V)})}var j=v(P,2);{var ee=re=>{var ue=Xee(),Ae=v(_(ue),6),Me=_(Ae);z(()=>Me.disabled=c(n)),U("click",Me,()=>{m(t,"probe"),b()}),D(re,ue)},ae=re=>{var ue=Yee(),Ae=_(ue),Me=_(Ae);z(()=>W(Me,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ue)},ge=re=>{var ue=Qee(),Ae=v(_(ue),2),Me=v(_(Ae)),ve=v(Ae,2),Oe=v(_(ve)),Ue=v(ve,2),Ce=v(_(Ue)),pt=v(Ue,2),Mt=_(pt),at=_(Mt);z(()=>{Mt.disabled=c(n)||!c(s),W(at,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Wt(Me,()=>c(s),Ct=>m(s,Ct)),Wt(Oe,()=>c(r),Ct=>m(r,Ct)),Wt(Ce,()=>c(a),Ct=>m(a,Ct)),U("click",Mt,y),D(re,ue)},X=re=>{var ue=ete(),Ae=v(_(ue),2),Me=v(_(Ae),3),ve=_(Me),Oe=v(Ae,4),Ue=_(Oe),Ce=_(Ue),pt=v(Ue,2),Mt=v(Oe,2);{var at=Ct=>{var ye=Jee();D(Ct,ye)};H(Mt,Ct=>{c(f)&&Ct(at)})}z(()=>{W(ve,c(d).confFilePath),Ue.disabled=c(f),W(Ce,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",Ue,w),U("click",pt,()=>{m(t,"done")}),D(re,ue)},de=re=>{var ue=tte(),Ae=v(_(ue),4),Me=_(Ae);U("click",Me,function(...ve){var Oe;(Oe=e.onDone)==null||Oe.apply(this,ve)}),D(re,ue)},be=re=>{var ue=ite(),Ae=v(_(ue),2),Me=v(_(Ae)),ve=v(Ae,2),Oe=v(_(ve)),Ue=v(ve,2),Ce=_(Ue),pt=v(Ce,2),Mt=_(pt);z(()=>{pt.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Wt(Me,()=>c(g),at=>m(g,at)),Wt(Oe,()=>c(p),at=>m(p,at)),U("click",Ce,()=>m(t,"intro")),U("click",pt,A),D(re,ue)};H(j,re=>{c(t)==="intro"?re(ee):c(t)==="probe"?re(ae,1):c(t)==="config"?re(ge,2):c(t)==="restart"&&c(d)?re(X,3):c(t)==="done"?re(de,4):c(t)==="manual"&&re(be,5)})}U("click",R,()=>m(t,"manual")),D(o,I),Us()}Ys(["click"]);var ote=B('<div class="loading svelte-zuhcpo">Loading…</div>'),rte=B('<div class="error-banner svelte-zuhcpo"> </div>'),ate=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),lte=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),cte=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),dte=B('<div class="error-inline svelte-zuhcpo"> </div>'),ute=B('<button class="diag-btn svelte-zuhcpo"> </button>'),sA=B('<p class="diag-issue svelte-zuhcpo"> </p>'),hte=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),fte=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),gte=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),pte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),xte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),mte=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),vte=B('<div style="margin-top: 20px;"><!></div>'),_te=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),bte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),Cte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function Ete(o,e){$s(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(wi(localStorage.getItem(d)??"status"));Kn(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await Mb(),!0),m(g,"")}catch(Ke){m(g,Ke.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Ke=setInterval(C,1e4);return()=>clearInterval(Ke)});async function b(){m(r,!0),m(a,null);try{m(a,await _U(),!0)}catch(Ke){m(a,{ok:!1,dynSecPath:"",issues:[Ke.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await mU(),await C()}catch(Ke){m(s,Ke.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Ke){var Et;if(!((Et=c(f))!=null&&Et.sys))return"—";const Qe=c(f).sys[Ke];return Qe?String(Qe.val??"—"):"—"}function A(Ke){if(Ke==="—")return Ke;const Qe=Ke.match(/^(\d+)/),Et=Qe?parseInt(Qe[1]):NaN;if(isNaN(Et))return Ke;const Xt=Math.floor(Et/86400),fi=Math.floor(Et%86400/3600),ui=Math.floor(Et%3600/60),Di=Et%60,_i=Ze=>String(Ze).padStart(2,"0");return Xt>0?`${Xt}d ${_i(fi)}:${_i(ui)}:${_i(Di)}`:`${_i(fi)}:${_i(ui)}:${_i(Di)}`}function I(Ke){if(Ke==="—")return Ke;const Qe=parseInt(Ke);return isNaN(Qe)?Ke:Qe<1024?`${Qe} B`:Qe<1048576?`${(Qe/1024).toFixed(1)} KB`:Qe<1073741824?`${(Qe/1048576).toFixed(1)} MB`:`${(Qe/1073741824).toFixed(1)} GB`}var M=Cte(),R=bt(M),P=_(R),V=_(P);let j;var ee=v(V,2);let ae;var ge=v(ee,2);let X;var de=v(ge,2);let be;var re=v(de,2);let ue;var Ae=v(re,2);let Me;var ve=v(Ae,2);let Oe;var Ue=v(P,2);{var Ce=Ke=>{var Qe=bte(),Et=_(Qe);{var Xt=Di=>{var _i=ote();D(Di,_i)},fi=Di=>{var _i=rte(),Ze=_(_i);z(()=>W(Ze,c(g))),D(Di,_i)},ui=Di=>{var _i=_te(),Ze=bt(_i),we=_(Ze),ni=_(we),bi=v(_(ni),4),ei=_(bi),Gi=v(ni,2);{var sn=Ni=>{var Ui=ate(),nn=_(Ui);let pi;var Wi=v(nn,4);let Bi;var en=_(Wi);{var Mi=Ye=>{var st=oo("plugin active");D(Ye,st)},Ki=Ye=>{var st=oo("connected — plugin not responding");D(Ye,st)},qi=Ye=>{var st=oo("disconnected");D(Ye,st)};H(en,Ye=>{c(f).dynsec.dynsecReady?Ye(Mi):c(f).dynsec.connected?Ye(Ki,1):Ye(qi,-1)})}var K=v(Wi,2),Be=_(K);z(()=>{pi=At(nn,1,"dot svelte-zuhcpo",null,pi,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),Bi=At(Wi,1,"conn-detail svelte-zuhcpo",null,Bi,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(Be,c(n)?"…":"deactivate")}),U("click",K,y),D(Ni,Ui)},yi=Ni=>{var Ui=cte(),nn=v(_(Ui),6);{var pi=Wi=>{var Bi=lte();U("click",Bi,()=>m(t,!0)),D(Wi,Bi)};H(nn,Wi=>{c(t)||Wi(pi)})}D(Ni,Ui)};H(Gi,Ni=>{c(f).dynsec.configured?Ni(sn):Ni(yi,-1)})}var Sn=v(Gi,2);{var dn=Ni=>{var Ui=dte(),nn=_(Ui);z(()=>W(nn,c(s))),D(Ni,Ui)};H(Sn,Ni=>{c(s)&&Ni(dn)})}var fn=v(we,2);{var gn=Ni=>{var Ui=xte(),nn=_(Ui);{var pi=Mi=>{var Ki=ute(),qi=_(Ki);z(()=>{Ki.disabled=c(r),W(qi,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Ki,b),D(Mi,Ki)},Wi=Mi=>{var Ki=gte(),qi=bt(Ki);let K;var Be=_(qi);{var Ye=yt=>{var ht=sA(),Q=_(ht);z(()=>W(Q,`⚠ ${c(a).error??""}`)),D(yt,ht)},st=yt=>{var ht=fte(),Q=bt(ht),We=v(_(Q)),le=_(We),pe=v(Q,2),oi=v(_(pe)),gi=_(oi),ne=v(pe,2),tt=v(_(ne)),Ht=_(tt),Vt=v(ne,2),jt=v(_(Vt)),Te=_(jt),Je=v(Vt,2);ii(Je,17,()=>c(a).issues,Hi,(Ii,li)=>{var me=sA(),Ve=_(me);z(()=>W(Ve,`⚠ ${c(li)??""}`)),D(Ii,me)});var Zt=v(Je,2);{var ai=Ii=>{var li=hte();D(Ii,li)};H(Zt,Ii=>{c(a).ok&&Ii(ai)})}z(()=>{W(le,c(a).dynSecPath),At(oi,1,hg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W(gi,c(a).adminClientExists?"✓ yes":"✗ no"),At(tt,1,hg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Ht,c(a).hasAdminRole?"✓ yes":"✗ no"),At(jt,1,hg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Te,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(yt,ht)};H(Be,yt=>{c(a).error?yt(Ye):yt(st,-1)})}var Gt=v(qi,2),hi=_(Gt);z(()=>{K=At(qi,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Gt.disabled=c(r),W(hi,c(r)?"Running…":"Re-run")}),U("click",Gt,b),D(Mi,Ki)};H(nn,Mi=>{c(a)?Mi(Wi,-1):Mi(pi)})}var Bi=v(nn,2);{var en=Mi=>{var Ki=pte();U("click",Ki,()=>m(t,!0)),D(Mi,Ki)};H(Bi,Mi=>{c(t)||Mi(en)})}D(Ni,Ui)};H(fn,Ni=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Ni(gn)})}var xt=v(fn,2);{var Kt=Ni=>{var Ui=mte(),nn=_(Ui),pi=v(_(nn)),Wi=_(pi),Bi=v(pi,3),en=_(Bi),Mi=v(Bi,3),Ki=_(Mi),qi=v(Mi,3),K=_(qi),Be=v(qi,3),Ye=_(Be),st=v(Be,3),Gt=_(st);z((hi,yt,ht,Q,We,le,pe,oi,gi,ne,tt,Ht)=>{W(Wi,hi),W(en,yt),W(Ki,`${ht??""} connected · ${Q??""} max · ${We??""} total`),W(K,`${le??""} rcv · ${pe??""} sent · ${oi??""} stored`),W(Ye,`${gi??""} retained · ${ne??""} subscriptions`),W(Gt,`${tt??""} in · ${Ht??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>I(w("$SYS/broker/bytes/received")),()=>I(w("$SYS/broker/bytes/sent"))]),D(Ni,Ui)},Ti=Lt(()=>Object.keys(c(f).sys).length>0);H(xt,Ni=>{c(Ti)&&Ni(Kt)})}var zi=v(Ze,2);{var ri=Ni=>{var Ui=vte(),nn=_(Ui);ste(nn,{onDone:()=>{m(t,!1),C()}}),D(Ni,Ui)};H(zi,Ni=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Ni(ri)})}z(()=>W(ei,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(Di,_i)};H(Et,Di=>{c(p)?Di(Xt):c(g)?Di(fi,1):c(f)&&Di(ui,2)})}D(Ke,Qe)},pt=Ke=>{{let Qe=Lt(()=>{var Et;return((Et=c(f))==null?void 0:Et.dynsec.dynsecReady)??!1});VJ(Ke,{get dynsecReady(){return c(Qe)}})}},Mt=Ke=>{lee(Ke,{})},at=Ke=>{iee(Ke,{})},Ct=Ke=>{Bee(Ke,{})},ye=Ke=>{Wee(Ke,{})},It=Ke=>{Kee(Ke,{})};H(Ue,Ke=>{c(u)==="status"?Ke(Ce):c(u)==="users"?Ke(pt,1):c(u)==="brokerconfig"?Ke(Mt,2):c(u)==="listeners"?Ke(at,3):c(u)==="certs"?Ke(Ct,4):c(u)==="ssh"?Ke(ye,5):c(u)==="logs"&&Ke(It,6)})}var Jt=v(R,2);gs(Yc(Jt,{}),Ke=>i=Ke,()=>i),z(()=>{j=At(V,1,"svelte-zuhcpo",null,j,{active:c(u)==="status"}),ae=At(ee,1,"svelte-zuhcpo",null,ae,{active:c(u)==="users"}),X=At(ge,1,"svelte-zuhcpo",null,X,{active:c(u)==="brokerconfig"}),be=At(de,1,"svelte-zuhcpo",null,be,{active:c(u)==="listeners"}),ue=At(re,1,"svelte-zuhcpo",null,ue,{active:c(u)==="certs"}),Me=At(Ae,1,"svelte-zuhcpo",null,Me,{active:c(u)==="ssh"}),Oe=At(ve,1,"svelte-zuhcpo",null,Oe,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",ee,()=>m(u,"users")),U("click",ge,()=>m(u,"brokerconfig")),U("click",de,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",Ae,()=>m(u,"ssh")),U("click",ve,()=>m(u,"logs")),D(o,M),Us()}Ys(["click"]);var yte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),wte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),Ste=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),Dte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),Ate=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),kte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Bte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),Fte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),Lte=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button>'),Ite=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button>'),Pte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Tte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Mte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Rte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Nte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Ote=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),Hte=B('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),Wte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),zte=B('<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),Vte=B('<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),jte=B('<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>'),$te=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Ute=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),qte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Gte=B('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),Kte=B('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <!> <!> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),Zte=B('<div class="login-error svelte-1n46o8q"> </div>'),Xte=B('<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>'),Yte=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),Qte=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),Jte=B("<!> <!> <!> <!>",1);function eie(o,e){$s(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Ke=location.hash.slice(1);return t.includes(Ke)?Ke:"scripts"}let n=F(wi(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);N$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await W$(c(C)),m(C,""),m(p,!1)}catch(Ke){m(b,Ke.message??"Login failed",!0)}finally{m(y,!1)}}async function I(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await z$(),m(p,!0)}let M=F(null),R=F(!1),P=F(!1),V=F(!1),j=F(!1),ee=F(wi([])),ae=F(0),ge=F(!1),X=F(wi([]));const de=Lt(()=>c(X).filter(Ke=>Ke.online).length),be=Lt(()=>c(X).length===0?"none":c(de)===c(X).length?"all":c(de)>0?"some":"offline");let re=F(!1),ue=F(!1);async function Ae(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let Ke;try{Ke=(await e0()).startedAt}catch{}try{await _F()}catch{}const Qe=Date.now()+6e4;for(;Date.now()<Qe;){await new Promise(Et=>setTimeout(Et,250));try{const Et=await e0();if(Ke===void 0||Et.startedAt!==Ke){location.reload();return}}catch{}}location.reload()}async function Me(){m(d,!0);try{const Ke=await G$();c(s)&&m(s,{...c(s),latestVersion:Ke.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function ve(){var Et,Xt;if(!await c(M).show(`Update to v${(Et=c(s))==null?void 0:Et.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const Ke=(Xt=c(s))==null?void 0:Xt.startedAt;try{await q$()}catch{}const Qe=Date.now()+18e4;for(;Date.now()<Qe;){await new Promise(fi=>setTimeout(fi,1e3));try{const fi=await e0();if(Ke===void 0||fi.startedAt!==Ke){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function Oe(Ke){m(n,Ke,!0),location.hash=Ke}Xs(async()=>{location.hash||(location.hash=c(n));const Ke=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Ke);try{const Ze=await H$();m(f,Ze.mode,!0),m(g,Ze.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function Qe(){var Ze,we,ni;try{m(s,await e0(),!0)}catch{}try{const[bi,ei]=await Promise.all([EF(),Pl()]);m(ee,Array.isArray(ei.pinnedPackages)?ei.pinnedPackages:[],!0),m(ae,Object.keys(bi).filter(sn=>!c(ee).includes(sn)).length,!0);const Gi=c(ge);m(ge,((Ze=ei.broker)==null?void 0:Ze.enabled)===!0),Gi&&!c(ge)&&c(n)==="security"&&Oe("scripts")}catch{}!((we=c(s))!=null&&we.matterEnabled)&&c(n)==="matter"&&Oe("scripts"),!((ni=c(s))!=null&&ni.dbEnabled)&&c(n)==="db"&&Oe("scripts")}Qe();const Et=setInterval(Qe,5e3),Xt=Xo("mqtt:status",Ze=>{Ze.connected===!1?(m(j,!0),m(P,!1),m(V,!1)):(m(j,!1),m(P,Ze.ready===!1),m(V,Ze.ready===!0))}),fi=Xo("matter:deviceList",Ze=>{Array.isArray(Ze.devices)&&m(X,Ze.devices.map(we=>({nodeId:String(we.nodeId),online:!!we.online})),!0)}),ui=Xo("matter:deviceStatus",Ze=>{if(Ze.nodeId===void 0)return;const we=String(Ze.nodeId),ni=!!Ze.online;m(X,c(X).map(bi=>bi.nodeId===we?{...bi,online:ni}:bi),!0)}),Di=LF();m(re,Di.some(Ze=>Ze.level==="error"),!0),m(ue,!c(re)&&Di.some(Ze=>Ze.level==="warn"),!0);const _i=pS(Ze=>{Ze.level==="error"?(m(re,!0),m(ue,!1)):Ze.level==="warn"&&!c(re)&&m(ue,!0)});return()=>{window.removeEventListener("hashchange",Ke),clearInterval(Et),Xt(),fi(),ui(),_i()}});var Ue=Jte();xs("click",l6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var Ce=bt(Ue);{var pt=Ke=>{var Qe=Kte(),Et=_(Qe),Xt=v(_(Et),2);let fi;var ui=v(Xt,2);let Di;var _i=v(_(ui),2);{var Ze=T=>{var O=yte();z(()=>an(O,"title",`${c(ae)??""} package update${c(ae)===1?"":"s"} available`)),D(T,O)};H(_i,T=>{c(ae)>0&&T(Ze)})}var we=v(ui,2);let ni;var bi=v(_(we),2);{var ei=T=>{var O=wte();D(T,O)},Gi=T=>{var O=Ste();D(T,O)},sn=T=>{var O=Dte();D(T,O)};H(bi,T=>{c(j)?T(ei):c(P)?T(Gi,1):c(V)&&T(sn,2)})}var yi=v(we,2);{var Sn=T=>{var O=Ate();let Y;z(()=>Y=At(O,1,"svelte-1n46o8q",null,Y,{active:c(n)==="security"})),U("click",O,()=>Oe("security")),D(T,O)};H(yi,T=>{c(ge)&&T(Sn)})}var dn=v(yi,2);{var fn=T=>{var O=Lte();let Y;var ie=v(_(O),2);{var oe=He=>{var _e=kte();D(He,_e)},se=He=>{var _e=Bte();D(He,_e)},Se=He=>{var _e=Fte();D(He,_e)};H(ie,He=>{c(be)==="all"?He(oe):c(be)==="some"?He(se,1):c(be)==="offline"&&He(Se,2)})}z(()=>Y=At(O,1,"svelte-1n46o8q",null,Y,{active:c(n)==="matter"})),U("click",O,()=>Oe("matter")),D(T,O)};H(dn,T=>{var O;(O=c(s))!=null&&O.matterEnabled&&T(fn)})}var gn=v(dn,2);{var xt=T=>{var O=Ite();let Y;z(()=>Y=At(O,1,"svelte-1n46o8q",null,Y,{active:c(n)==="db"})),U("click",O,()=>Oe("db")),D(T,O)};H(gn,T=>{var O;(O=c(s))!=null&&O.dbEnabled&&T(xt)})}var Kt=v(gn,2);let Ti;var zi=v(_(Kt),2);{var ri=T=>{var O=Pte();D(T,O)},Ni=T=>{var O=Tte();D(T,O)};H(zi,T=>{c(re)?T(ri):c(ue)&&T(Ni,1)})}var Ui=v(Kt,4),nn=v(_(Ui),2),pi=_(nn),Wi=_(pi);Wi.nodeValue="v1.16.1 ";var Bi=v(Wi);{var en=T=>{var O=Mte();D(T,O)};H(Bi,T=>{var O,Y;(O=c(s))!=null&&O.latestVersion&&!((Y=c(s))!=null&&Y.docker)&&T(en)})}var Mi=v(pi,2);{var Ki=T=>{var O=Hte(),Y=_(O),ie=v(_(Y));ie.textContent="v1.16.1";var oe=v(ie,2);{var se=ce=>{var qe=Rte(),Bt=v(bt(qe)),ze=_(Bt);z(()=>W(ze,`v${c(s).latestVersion??""}`)),D(ce,qe)},Se=ce=>{var qe=Nte();D(ce,qe)};H(oe,ce=>{var qe;(qe=c(s))!=null&&qe.latestVersion?ce(se):ce(Se,-1)})}var He=v(Y,2),_e=_(He);{var Fe=ce=>{var qe=Ote(),Bt=v(_(qe));z(()=>W(Bt,` Update to v${c(s).latestVersion??""}`)),U("click",qe,ve),D(ce,qe)};H(_e,ce=>{var qe;(qe=c(s))!=null&&qe.latestVersion&&ce(Fe)})}var Pe=v(_e,2),lt=_(Pe);let Yt;var Z=v(lt);z(()=>{Pe.disabled=c(d),Yt=At(lt,0,"svelte-1n46o8q",null,Yt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",O,ce=>ce.stopPropagation()),U("click",Pe,Me),D(T,O)};H(Mi,T=>{var O;c(a)&&!((O=c(s))!=null&&O.docker)&&T(Ki)})}var qi=v(nn,2),K=_(qi),Be=v(K,2);{var Ye=T=>{var O=qte(),Y=_(O);{var ie=_e=>{var Fe=jte(),Pe=_(Fe);{var lt=nt=>{const xe=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),$e=Lt(()=>Math.floor(c(xe)/86400)),ft=Lt(()=>Math.floor(c(xe)%86400/3600)),Nt=Lt(()=>Math.floor(c(xe)%3600/60));var mt=Wte(),Pt=v(bt(mt)),di=_(Pt);z(()=>W(di,`${c($e)>0?c($e)+"d ":""}${c(ft)>0||c($e)>0?c(ft)+"h ":""}${c(Nt)??""}m`)),D(nt,mt)};H(Pe,nt=>{c(s).startedAt&&nt(lt)})}var Yt=v(Pe,3),Z=_(Yt),ce=v(Yt,3),qe=_(ce),Bt=v(ce,3),ze=_(Bt),je=v(Bt,2);{var kt=nt=>{var xe=zte(),$e=v(bt(xe)),ft=_($e),Nt=v($e,3),mt=_(Nt);z(()=>{W(ft,c(s).matterNodes??0),W(mt,c(s).matterEndpoints??0)}),D(nt,xe)};H(je,nt=>{c(s).matterEnabled&&nt(kt)})}var dt=v(je,2);{var it=nt=>{var xe=Vte(),$e=v(bt(xe)),ft=_($e),Nt=v($e,3),mt=_(Nt);z(()=>{W(ft,c(s).dbDocs??"—"),W(mt,c(s).dbViews??"—")}),D(nt,xe)};H(dt,nt=>{c(s).dbEnabled&&nt(it)})}var he=v(dt,3),Ne=_(he),Le=v(he,3),Xe=_(Le),St=v(Le,3),et=_(St);z(()=>{W(Z,c(s).scripts),W(qe,c(s).topics),W(ze,c(s).mqttMsgPerSec??"—"),W(Ne,c(s).handlers??"—"),W(Xe,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(et,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Fe)},oe=_e=>{var Fe=$te();D(_e,Fe)};H(Y,_e=>{c(s)?_e(ie):_e(oe,-1)})}var se=v(Y,2),Se=_(se);{var He=_e=>{var Fe=Ute();U("click",Fe,()=>{m(r,!1),Ae()}),D(_e,Fe)};H(Se,_e=>{var Fe;(Fe=c(s))!=null&&Fe.docker||_e(He)})}U("click",O,_e=>_e.stopPropagation()),D(T,O)};H(Be,T=>{c(r)&&T(Ye)})}var st=v(qi,2);let Gt;var hi=v(st,2);{var yt=T=>{var O=Gte();U("click",O,I),D(T,O)};H(hi,T=>{c(f)==="password"&&T(yt)})}var ht=v(Et,2),Q=_(ht);gs(Yc(Q,{}),T=>m(M,T,!0),()=>c(M));var We=v(Q,2);let le;var pe=_(We);{let T=Lt(()=>c(n)==="scripts");uZ(pe,{get active(){return c(T)}})}var oi=v(We,2);let gi;var ne=_(oi);aJ(ne,{});var tt=v(oi,2);let Ht;var Vt=_(tt);VQ(Vt,{});var jt=v(tt,2);let Te;var Je=_(jt);rQ(Je,{});var Zt=v(jt,2);let ai;var Ii=_(Zt);Ete(Ii,{});var li=v(Zt,2);let me;var Ve=_(li);cY(Ve,{});var ot=v(li,2);let Re;var wt=_(ot);QZ(wt,{});var _t=v(ot,2);let Ut;var $=_(_t);nX($,{}),z(()=>{fi=At(Xt,1,"svelte-1n46o8q",null,fi,{active:c(n)==="scripts"}),Di=At(ui,1,"svelte-1n46o8q",null,Di,{active:c(n)==="packages"}),ni=At(we,1,"svelte-1n46o8q",null,ni,{active:c(n)==="mqtt"}),Ti=At(Kt,1,"svelte-1n46o8q",null,Ti,{active:c(n)==="logs"}),Gt=At(st,1,"nav-settings svelte-1n46o8q",null,Gt,{active:c(n)==="config"}),le=At(We,1,"page-wrap svelte-1n46o8q",null,le,{hidden:c(n)!=="scripts"}),gi=At(oi,1,"page-wrap svelte-1n46o8q",null,gi,{hidden:c(n)!=="packages"}),Ht=At(tt,1,"page-wrap svelte-1n46o8q",null,Ht,{hidden:c(n)!=="mqtt"}),Te=At(jt,1,"page-wrap svelte-1n46o8q",null,Te,{hidden:c(n)!=="matter"}),ai=At(Zt,1,"page-wrap svelte-1n46o8q",null,ai,{hidden:c(n)!=="security"}),me=At(li,1,"page-wrap svelte-1n46o8q",null,me,{hidden:c(n)!=="db"}),Re=At(ot,1,"page-wrap svelte-1n46o8q",null,Re,{hidden:c(n)!=="config"}),Ut=At(_t,1,"page-wrap svelte-1n46o8q",null,Ut,{hidden:c(n)!=="logs"})}),U("click",Xt,()=>Oe("scripts")),U("click",ui,()=>Oe("packages")),U("click",we,()=>Oe("mqtt")),U("click",Kt,()=>{Oe("logs"),m(re,!1),m(ue,!1)}),U("click",pi,T=>{T.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,T=>{T.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",st,()=>Oe("config")),D(Ke,Qe)};H(Ce,Ke=>{c(w)&&!c(p)&&Ke(pt)})}var Mt=v(Ce,2);{var at=Ke=>{var Qe=Xte(),Et=_(Qe),Xt=v(_(Et),4),fi=v(_(Xt),2),ui=v(Xt,2);{var Di=we=>{var ni=Zte(),bi=_(ni);z(()=>W(bi,c(b))),D(we,ni)};H(ui,we=>{c(b)&&we(Di)})}var _i=v(ui,2),Ze=_(_i);z(()=>{fi.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ze,c(y)?"Signing in…":"Sign in")}),xs("submit",Et,we=>{we.preventDefault(),A()}),Wt(fi,()=>c(C),we=>m(C,we)),D(Ke,Qe)};H(Mt,Ke=>{c(p)&&Ke(at)})}var Ct=v(Mt,2);{var ye=Ke=>{var Qe=Yte();D(Ke,Qe)};H(Ct,Ke=>{c(R)&&Ke(ye)})}var It=v(Ct,2);{var Jt=Ke=>{var Qe=Qte();D(Ke,Qe)};H(It,Ke=>{c(u)&&Ke(Jt)})}D(o,Ue),Us()}Ys(["click"]);tP(eie,{target:document.getElementById("app")});export{W6 as t};
|