smart-home-engine 1.12.9 → 1.12.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
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-CRD5YRWA.js"])))=>i.map(i=>d[i]);
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-B4X9eNR6.js"])))=>i.map(i=>d[i]);
2
2
  var KF=Object.defineProperty;var BS=o=>{throw TypeError(o)};var ZF=(o,e,t)=>e in o?KF(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var kn=(o,e,t)=>ZF(o,typeof e!="symbol"?e+"":e,t),Yb=(o,e,t)=>e.has(o)||BS("Cannot "+t);var Se=(o,e,t)=>(Yb(o,e,"read from private field"),t?t.call(o):e.get(o)),bn=(o,e,t)=>e.has(o)?BS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Cn=(o,e,t,i)=>(Yb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),ts=(o,e,t)=>(Yb(o,e,"access private method"),t);import{_ as sA,m as oA,l as ki,A as Do,C as qe,I as ss,D as yp,a as bs,g as rA,M as ni,b as Zi,E as la,c as q,r as Vn,d as Rr,e as S,f as XF,h as Qn,R as En,S as Ui,i as lo,j as Nr,k as Fn,n as un,o as Fe,p as _t,K as Ss,q as vi,s as Rt,t as Ps,u as Q,v as mn,O as Ha,w as Bs,P as Li,x as Qb,y as wp,z as aA,B as ml,F as ca,G as JC,H as Zs,U as jn,J as F0,L as Ii,N as yl,Q as YF,T as Co,V as e1,W as QF,X as lA,$ as mi,Y as Mn,Z as Bn,a0 as as,a1 as nn,a2 as Jo,a3 as kg,a4 as Tt,a5 as Zx,a6 as JF,a7 as e3,a8 as Is,a9 as t3,aa as da,ab as Ao,ac as Mi,ad as cA,ae as is,af as i3,ag as n3,ah as yo,ai as af,aj as Ds,ak as H_,al as mo,am as qc,an as kw,ao as W_,ap as Us,aq as L0,ar as qs,as as z_,at as V_,au as s3,av as Sp,aw as lf,ax as Tl,ay as o3,az as cf,aA as r3,aB as Bw,aC as a3,aD as l3,aE as FS,aF as _s,aG as vl,aH as vo,aI as an,aJ as fl,aK as c3,aL as ja,aM as Xo,aN as zs,aO as ua,aP as Fw,aQ as Ts,aR as ms,aS as ym,aT as rn,aU as dA,aV as d3,aW as Lw,aX as j_,aY as Iw,aZ as Pw,a_ as Ld,a$ as u3,b0 as Tw,b1 as h3,b2 as Mw,b3 as Ml,b4 as Rl,b5 as I0,b6 as Bg,b7 as Oo,b8 as Dp,b9 as wm,ba as Jb,bb as qn,bc as Rw,bd as Ap,be as $_,bf as f3,bg as uA,bh as Fg,bi as P0,bj as Lg,bk as kp,bl as U_,bm as Ln,bn as Gc,bo as Bp,bp as g3,bq as p3,br as Nw,bs as x3,bt as Sm,bu as gr,bv as Ow,bw as T0,bx as Nl,by as df,bz as pn,bA as M0,bB as hA,bC as Fp,bD as m3,bE as Id,bF as ui,bG as LS,bH as Xx,bI as fA,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 t1,bT as gA,bU as pA,bV as xA,bW as Hw,bX as Io,bY as Wn,bZ as Lp,b_ as mA,b$ as _l,c0 as q_,c1 as v3,c2 as zh,c3 as IS,c4 as Ip,c5 as vA,c6 as Vh,c7 as _3,c8 as yr,c9 as G_,ca as b3,cb as ko,cc as ha,cd as Pp,ce as Pg,cf as _A,cg as dr,ch as Tp,ci as K_,cj as C3,ck as E3,cl as y3,cm as uf,cn as $a,co as Vs,cp as w3,cq as Ww,cr as S3,cs as D3,ct as PS,cu as A3,cv as Mp,cw as wl,cx as i1,cy as Bu,cz as Sl,cA as k3,cB as Wa,cC as Lr,cD as Uo,cE as TS,cF as uo,cG as Rp,cH as Nc,cI as Ua,cJ as B3,cK as fa,cL as Tg,cM as Z_,cN as bA,cO as F3,cP as L3,cQ as zw,cR as I3,cS as Mg,cT as P3,cU as dc,cV as Rg,cW as MS,cX as T3,cY as M3,cZ as Ka,c_ as R3,c$ as Vw,d0 as CA,d1 as EA,d2 as yA,d3 as wA,d4 as N3,d5 as O3,d6 as SA,d7 as DA,d8 as H3,d9 as jw,da as W3,db as z3,dc as cs,dd as V3,de as $w,df as j3,dg as jh,dh as RS,di as $3,dj as U3,dk as q3,dl as G3,dm as K3,dn as Z3,dp as O0,dq as X_,dr as n1,ds as X3,dt as Y3,du as NS,dv as s1,dw as Q3,dx as OS,dy as eC,dz as J3,dA as AA,dB as e4,dC as kA,dD as o1,dE as t4,dF as i4,dG as n4,dH as BA,dI as FA,dJ as s4,dK as Dm,dL as LA,dM as Y_,dN as o4,dO as r4,dP as Oc,dQ as Uw,dR as a4,dS as HS,dT as WS,dU as l4,dV as $h,dW as IA,dX as c4,dY as d4,dZ as u4,d_ as h4,d$ as PA,e0 as TA,e1 as MA,e2 as RA,e3 as f4,e4 as za,e5 as zS,e6 as g4,e7 as Np,e8 as p4,e9 as $f,ea as NA,eb as VS,ec as Ng,ed as OA,ee as Am,ef as x4,eg as HA,eh as m4,ei as WA,ej as v4,ek as _4,el as zA,em as VA,en as Dl,eo as Q_,ep as b4,eq as jA,er as Yo,es as Pd,et as $A,eu as C4,ev as E4,ew as UA,ex as qA,ey as y4,ez as GA,eA as KA,eB as Og,eC as w4,eD as S4,eE as D4,eF as A4,eG as Pf,eH as jS,eI as k4,eJ as B4,eK as F4,eL as km,eM as eo,eN as L4,eO as r1,eP as Xu,eQ as I4,eR as ul,eS as P4,eT as T4,eU as ZA,eV as M4,eW as ag,eX as R4,eY as N4,eZ as O4,e_ as H4,e$ as $S,f0 as US,f1 as qS,f2 as Yu,f3 as qw,f4 as XA,f5 as a1,f6 as Yx,f7 as YA,f8 as Bm,f9 as W4,fa as z4,fb as V4,fc as j4,fd as Gw,fe as QA,ff as $4,fg as Fm,fh as JA,fi as ek,fj as U4,fk as q4,fl as G4,fm as K4,fn as Z4,fo as X4,fp as Y4,fq as Q4,fr as tk,fs as J4,ft as Lm,fu as ik,fv as eL,fw as nk,fx as tL,fy as sk,fz as ok,fA as iL,fB as GS,fC as rk,fD as KS,fE as nL,fF as tC,fG as ZS,fH as sL,fI as oL,fJ as rL,fK as Ia,fL as Hc,fM as aL,fN as XS,fO as Qx,fP as lL,fQ as gl,fR as J_,fS as l1,fT as cL,fU as ak,fV as lk,fW as ho,fX as YS,fY as px,fZ as Kw,f_ as dL,f$ as uL,g0 as hL,g1 as fL,g2 as gL,g3 as pL,g4 as xL,g5 as mL,g6 as QS,g7 as vL,g8 as _L,g9 as bL,ga as H0,gb as lg,gc as ck,gd as CL,ge as Zw,gf as Jx,gg as xx,gh as iC,gi as EL,gj as yL,gk as dk,gl as wL,gm as Xw,gn as SL,go as DL,gp as uk,gq as eb,gr as AL,gs as Im,gt as Yw,gu as Qw,gv as Jw,gw as hk,gx as fk,gy as gk,gz as pk,gA as xk,gB as mk,gC as vk,gD as JS,gE as _k,gF as vh,gG as kL,gH as BL,gI as FL,gJ as LL,gK as bk,gL as IL,gM as PL,gN as e8,gO as c1,gP as mc,gQ as TL,gR as ML,gS as RL,gT as NL,gU as OL,gV as HL,gW as t8,gX as e9,gY as d1,gZ as WL,g_ as u1,g$ as zL,h0 as VL,h1 as jL,h2 as $L,h3 as t9,h4 as Ck,h5 as i8,h6 as n8,h7 as UL,h8 as qL,h9 as GL,ha as s8,hb as nC,hc as KL,hd as ZL,he as XL,hf as sC,hg as Ek,hh as yk,hi as wk,hj as Sk,hk as Al,hl as Dk,hm as i9,hn as o8,ho as YL,hp as Ak,hq as QL,hr as JL,hs as tb,ht as ib,hu as Qu,hv as nb,hw as Op,hx as e7,hy as sb,hz as t7,hA as i7,hB as n7,hC as kk,hD as Tf,hE as s7,hF as o7,hG as r7,hH as a7,hI as Hp,hJ as l7,hK as Bk,hL as Fk,hM as Lk,hN as h1,hO as c7,hP as d7,hQ as u7,hR as h7,hS as f7,hT as f1,hU as g7,hV as p7,hW as x7,hX as m7,hY as v7,hZ as _7,h_ as b7,h$ as C7,i0 as Ik,i1 as E7,i2 as y7,i3 as w7,i4 as r8,i5 as S7,i6 as D7,i7 as md,i8 as zo,i9 as g1,ia as Pk,ib as A7,ic as k7}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 Tk=!1;var n9=Array.isArray,B7=Array.prototype.indexOf,Pm=Array.prototype.includes,ob=Array.from,F7=Object.defineProperty,a0=Object.getOwnPropertyDescriptor,L7=Object.getOwnPropertyDescriptors,I7=Object.prototype,P7=Array.prototype,Mk=Object.getPrototypeOf,a8=Object.isExtensible;const rb=()=>{};function T7(o){for(var e=0;e<o.length;e++)o[e]()}function Rk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function M7(o,e,t=!1){return o===void 0?t?e():e:o}function l8(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,ab=8,Nk=1<<24,oa=16,aa=32,Wc=64,p1=128,Tr=512,to=1024,so=2048,qa=4096,To=8192,Mr=16384,hf=32768,x1=1<<25,z0=65536,Tm=1<<17,R7=1<<18,ff=1<<19,N7=1<<20,Ra=1<<25,Fu=65536,Mm=1<<21,l0=1<<22,vc=1<<23,Td=Symbol("$state"),O7=Symbol("legacy props"),H7=Symbol(""),em=Symbol("attributes"),m1=Symbol("class"),v1=Symbol("style"),Uf=Symbol("text"),tm=Symbol("form reset"),lb=new class extends Error{constructor(){super(...arguments);kn(this,"name","StaleReactionError");kn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var tA;const W7=!!((tA=globalThis.document)!=null&&tA.contentType)&&globalThis.document.contentType.includes("xml");function Ok(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function z7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function V7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function j7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function U7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function q7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function G7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function K7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Z7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function X7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Y7(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Q7=1,J7=2,Hk=4,eI=8,tI=16,iI=1,nI=4,sI=8,oI=16,rI=1,aI=2,Js=Symbol("uninitialized"),Wk="http://www.w3.org/1999/xhtml",lI="http://www.w3.org/2000/svg",cI="http://www.w3.org/1998/Math/MathML";function dI(){console.warn("https://svelte.dev/e/derived_inert")}function uI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function hI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function zk(o){return o===this.v}function fI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Vk(o){return!fI(o,this.v)}let gI=!1,go=null;function V0(o){go=o}function js(o,e=!1,t){go={p:go,i:!1,c:null,e:null,s:o,x:null,r:zn,l:null}}function $s(o){var e=go,t=e.e;if(t!==null){e.e=null;for(var i of t)d6(i)}return o!==void 0&&(e.x=o),e.i=!0,go=e.p,o??{}}function jk(){return!0}let Ed=[];function $k(){var o=Ed;Ed=[],T7(o)}function _c(o){if(Ed.length===0&&!dg){var e=Ed;queueMicrotask(()=>{e===Ed&&$k()})}Ed.push(o)}function pI(){for(;Ed.length>0;)$k()}function Uk(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&p1)!==0){if((e.f&hf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const xI=-7169;function Hs(o,e){o.f=o.f&xI|e}function s9(o){(o.f&Tr)!==0||o.deps===null?Hs(o,to):Hs(o,qa)}function qk(o){if(o!==null)for(const e of o)(e.f&po)===0||(e.f&Fu)===0||(e.f^=Fu,qk(e.deps))}function Gk(o,e,t){(o.f&so)!==0?e.add(o):(o.f&qa)!==0&&t.add(o),qk(o.deps),Hs(o,to)}let mx=!1;function mI(o){var e=mx;try{return mx=!1,[o(),mx]}finally{mx=e}}let oC=null,_h=null,on=null,cg=null,co=null,_1=null,dg=!1,rC=!1,Uh=null,im=null;var c8=0;let vI=1;var h0,ac,Dd,f0,g0,p0,al,x0,Vo,mp,ll,Zr,ka,m0,Ad,ds,b1,qf,C1,Kk,Zk,Mh,_I,Gf;const qv=class qv{constructor(){bn(this,ds);kn(this,"id",vI++);bn(this,h0,!1);kn(this,"linked",!0);bn(this,ac,null);bn(this,Dd,null);kn(this,"async_deriveds",new Map);kn(this,"current",new Map);kn(this,"previous",new Map);bn(this,f0,new Set);bn(this,g0,new Set);bn(this,p0,0);bn(this,al,new Map);bn(this,x0,null);bn(this,Vo,[]);bn(this,mp,[]);bn(this,ll,new Set);bn(this,Zr,new Set);bn(this,ka,new Map);bn(this,m0,new Set);kn(this,"is_fork",!1);bn(this,Ad,!1);_h===null?oC=_h=this:(Cn(_h,Dd,this),Cn(this,ac,_h)),_h=this}skip_effect(e){Se(this,ka).has(e)||Se(this,ka).set(e,{d:[],m:[]}),Se(this,m0).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=Se(this,ka).get(e);if(i){Se(this,ka).delete(e);for(var n of i.d)Hs(n,so),t(n);for(n of i.m)Hs(n,qa),t(n)}Se(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(){on=this}deactivate(){on=null,co=null}flush(){try{rC=!0,on=this,ts(this,ds,qf).call(this)}finally{c8=0,_1=null,Uh=null,im=null,rC=!1,on=null,co=null,Md.clear()}}discard(){var e;for(const t of Se(this,g0))t(this);Se(this,g0).clear(),ts(this,ds,Gf).call(this),(e=Se(this,x0))==null||e.resolve()}register_created_effect(e){Se(this,mp).push(e)}increment(e,t){if(Cn(this,p0,Se(this,p0)+1),e){let i=Se(this,al).get(t)??0;Se(this,al).set(t,i+1)}}decrement(e,t){if(Cn(this,p0,Se(this,p0)-1),e){let i=Se(this,al).get(t)??0;i===1?Se(this,al).delete(t):Se(this,al).set(t,i-1)}Se(this,Ad)||(Cn(this,Ad,!0),_c(()=>{Cn(this,Ad,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)Se(this,ll).add(i);for(const i of t)Se(this,Zr).add(i);e.clear(),t.clear()}oncommit(e){Se(this,f0).add(e)}ondiscard(e){Se(this,g0).add(e)}settled(){return(Se(this,x0)??Cn(this,x0,Rk())).promise}static ensure(){if(on===null){const e=on=new qv;!rC&&!dg&&_c(()=>{Se(e,h0)||e.flush()})}return on}apply(){{co=null;return}}schedule(e){var n;if(_1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(W0|ab|Nk))!==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}}Se(this,Vo).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,Vo=new WeakMap,mp=new WeakMap,ll=new WeakMap,Zr=new WeakMap,ka=new WeakMap,m0=new WeakMap,Ad=new WeakMap,ds=new WeakSet,b1=function(){if(this.is_fork)return!0;for(const i of Se(this,al).keys()){for(var e=i,t=!1;e.parent!==null;){if(Se(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},qf=function(){var d,u,f,g;Cn(this,h0,!0),c8++>1e3&&(ts(this,ds,Gf).call(this),CI());for(const p of Se(this,ll))Se(this,Zr).delete(p),Hs(p,so),this.schedule(p);for(const p of Se(this,Zr))Hs(p,qa),this.schedule(p);const e=Se(this,Vo);Cn(this,Vo,[]),this.apply();var t=Uh=[],i=[],n=im=[];for(const p of e)try{ts(this,ds,C1).call(this,p,t,i)}catch(C){throw Qk(p),ts(this,ds,b1).call(this)||this.discard(),C}if(on=null,n.length>0){var s=qv.ensure();for(const p of n)s.schedule(p)}if(Uh=null,im=null,ts(this,ds,b1).call(this)){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t);for(const[p,C]of Se(this,ka))Yk(p,C);n.length>0&&ts(d=on,ds,qf).call(d);return}const r=ts(this,ds,Kk).call(this);if(r){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t),ts(u=r,ds,Zk).call(u,this);return}Se(this,ll).clear(),Se(this,Zr).clear();for(const p of Se(this,f0))p(this);Se(this,f0).clear(),cg=this,d8(i),d8(t),cg=null,(f=Se(this,x0))==null||f.resolve();var a=on;if(Se(this,p0)===0&&(Se(this,Vo).length===0||a!==null)&&ts(this,ds,Gf).call(this),Se(this,Vo).length>0)if(a!==null){const p=a;Se(p,Vo).push(...Se(this,Vo).filter(C=>!Se(p,Vo).includes(C)))}else a=this;a!==null&&ts(g=a,ds,qf).call(g)},C1=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&To)!==0||Se(this,ka).has(n);if(!d&&n.fn!==null){r?n.f^=to:(s&W0)!==0?t.push(n):zp(n)&&((s&oa)!==0&&Se(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}}},Kk=function(){for(var e=Se(this,ac);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=Se(e,ac)}return null},Zk=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(Se(e,ll),Se(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)&&(Se(this,Zr).delete(a),Hs(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),on=this,ts(this,ds,qf).call(this)},Mh=function(e){for(var t=0;t<e.length;t+=1)Gk(e[t],Se(this,ll),Se(this,Zr))},_I=function(){var f;for(let g=oC;g!==null;g=Se(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(Se(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 Se(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)Xk(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 Se(this,mp))(p.f&(Mr|To|Tm))===0&&o9(p,d,r)&&((p.f&(l0|oa))!==0?(Hs(p,so),g.schedule(p)):Se(g,ll).add(p));if(Se(g,Vo).length>0&&!Se(g,Ad)){g.apply();for(var u of Se(g,Vo))ts(f=g,ds,C1).call(f,u,[],[]);Cn(g,Vo,[])}g.deactivate()}}}},Gf=function(){if(this.linked){var e=Se(this,ac),t=Se(this,Dd);e===null?oC=t:Cn(e,Dd,t),t===null?_h=e:Cn(t,ac,e),this.linked=!1}};let Lu=qv;function bI(o){var e=dg;dg=!0;try{for(var t;;){if(pI(),on===null)return t;on.flush()}}finally{dg=e}}function CI(){try{q7()}catch(o){uc(o,_1)}}let qr=null;function d8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Mr|To))===0&&zp(i)&&(qr=new Set,$0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&f6(i),(qr==null?void 0:qr.size)>0)){Md.clear();for(const n of qr){if((n.f&(Mr|To))!==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|To))===0&&$0(d)}}qr.clear()}}qr=null}}function Xk(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?Xk(n,e,t,i):(s&(l0|oa))!==0&&(s&so)===0&&o9(n,e,i)&&(Hs(n,so),r9(n))}}function o9(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(Pm.call(e,n))return!0;if((n.f&po)!==0&&o9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function r9(o){on.schedule(o)}function Yk(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),Hs(o,to);for(var t=o.first;t!==null;)Yk(t,e),t=t.next}}function Qk(o){Hs(o,to);for(var e=o.first;e!==null;)Qk(e),e=e.next}function EI(o){let e=0,t=Iu(0),i;return()=>{d9()&&(c(t),db(()=>(e===0&&(i=Hl(()=>o(()=>ug(t)))),e+=1,()=>{_c(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ug(t))})})))}}var yI=z0|ff;function wI(o,e,t,i){new SI(o,e,t,i)}var Sr,Aw,Dr,kd,jo,Ar,Fo,rr,cl,Bd,lc,v0,vp,_p,dl,Gv,Ws,DI,AI,kI,E1,nm,sm,y1,w1;class SI{constructor(e,t,i,n){bn(this,Ws);kn(this,"parent");kn(this,"is_pending",!1);kn(this,"transform_error");bn(this,Sr);bn(this,Aw,null);bn(this,Dr);bn(this,kd);bn(this,jo);bn(this,Ar,null);bn(this,Fo,null);bn(this,rr,null);bn(this,cl,null);bn(this,Bd,0);bn(this,lc,0);bn(this,v0,!1);bn(this,vp,new Set);bn(this,_p,new Set);bn(this,dl,null);bn(this,Gv,EI(()=>(Cn(this,dl,Iu(Se(this,Bd))),()=>{Cn(this,dl,null)})));var s;Cn(this,Sr,e),Cn(this,Dr,t),Cn(this,kd,r=>{var a=zn;a.b=this,a.f|=p1,i(r)}),this.parent=zn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Cn(this,jo,f9(()=>{ts(this,Ws,E1).call(this)},yI))}defer_effect(e){Gk(e,Se(this,vp),Se(this,_p))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!Se(this,Dr).pending}update_pending_count(e,t){ts(this,Ws,y1).call(this,e,t),Cn(this,Bd,Se(this,Bd)+e),!(!Se(this,dl)||Se(this,v0))&&(Cn(this,v0,!0),_c(()=>{Cn(this,v0,!1),Se(this,dl)&&j0(Se(this,dl),Se(this,Bd))}))}get_effect_pending(){return Se(this,Gv).call(this),c(Se(this,dl))}error(e){if(!Se(this,Dr).onerror&&!Se(this,Dr).failed)throw e;on!=null&&on.is_fork?(Se(this,Ar)&&on.skip_effect(Se(this,Ar)),Se(this,Fo)&&on.skip_effect(Se(this,Fo)),Se(this,rr)&&on.skip_effect(Se(this,rr)),on.oncommit(()=>{ts(this,Ws,w1).call(this,e)})):ts(this,Ws,w1).call(this,e)}}Sr=new WeakMap,Aw=new WeakMap,Dr=new WeakMap,kd=new WeakMap,jo=new WeakMap,Ar=new WeakMap,Fo=new WeakMap,rr=new WeakMap,cl=new WeakMap,Bd=new WeakMap,lc=new WeakMap,v0=new WeakMap,vp=new WeakMap,_p=new WeakMap,dl=new WeakMap,Gv=new WeakMap,Ws=new WeakSet,DI=function(){try{Cn(this,Ar,kr(()=>Se(this,kd).call(this,Se(this,Sr))))}catch(e){this.error(e)}},AI=function(e){const t=Se(this,Dr).failed;t&&Cn(this,rr,kr(()=>{t(Se(this,Sr),()=>e,()=>()=>{})}))},kI=function(){const e=Se(this,Dr).pending;e&&(this.is_pending=!0,Cn(this,Fo,kr(()=>e(Se(this,Sr)))),_c(()=>{var t=Cn(this,cl,document.createDocumentFragment()),i=bl();t.append(i),Cn(this,Ar,ts(this,Ws,sm).call(this,()=>kr(()=>Se(this,kd).call(this,i)))),Se(this,lc)===0&&(Se(this,Sr).before(t),Cn(this,cl,null),Nd(Se(this,Fo),()=>{Cn(this,Fo,null)}),ts(this,Ws,nm).call(this,on))}))},E1=function(){try{if(this.is_pending=this.has_pending_snippet(),Cn(this,lc,0),Cn(this,Bd,0),Cn(this,Ar,kr(()=>{Se(this,kd).call(this,Se(this,Sr))})),Se(this,lc)>0){var e=Cn(this,cl,document.createDocumentFragment());p9(Se(this,Ar),e);const t=Se(this,Dr).pending;Cn(this,Fo,kr(()=>t(Se(this,Sr))))}else ts(this,Ws,nm).call(this,on)}catch(t){this.error(t)}},nm=function(e){this.is_pending=!1,e.transfer_effects(Se(this,vp),Se(this,_p))},sm=function(e){var t=zn,i=Hn,n=go;Ga(Se(this,jo)),Or(Se(this,jo)),V0(Se(this,jo).ctx);try{return Lu.ensure(),e()}catch(s){return Uk(s),null}finally{Ga(t),Or(i),V0(n)}},y1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&ts(i=this.parent,Ws,y1).call(i,e,t);return}Cn(this,lc,Se(this,lc)+e),Se(this,lc)===0&&(ts(this,Ws,nm).call(this,t),Se(this,Fo)&&Nd(Se(this,Fo),()=>{Cn(this,Fo,null)}),Se(this,cl)&&(Se(this,Sr).before(Se(this,cl)),Cn(this,cl,null)))},w1=function(e){Se(this,Ar)&&(Qo(Se(this,Ar)),Cn(this,Ar,null)),Se(this,Fo)&&(Qo(Se(this,Fo)),Cn(this,Fo,null)),Se(this,rr)&&(Qo(Se(this,rr)),Cn(this,rr,null));var t=Se(this,Dr).onerror;let i=Se(this,Dr).failed;var n=!1,s=!1;const r=()=>{if(n){hI();return}n=!0,s&&Y7(),Se(this,rr)!==null&&Nd(Se(this,rr),()=>{Cn(this,rr,null)}),ts(this,Ws,sm).call(this,()=>{ts(this,Ws,E1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){uc(u,Se(this,jo)&&Se(this,jo).parent)}i&&Cn(this,rr,ts(this,Ws,sm).call(this,()=>{try{return kr(()=>{var u=zn;u.b=this,u.f|=p1,i(Se(this,Sr),()=>d,()=>r)})}catch(u){return uc(u,Se(this,jo).parent),null}}))};_c(()=>{var d;try{d=this.transform_error(e)}catch(u){uc(u,Se(this,jo)&&Se(this,jo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>uc(u,Se(this,jo)&&Se(this,jo).parent)):a(d)})};function BI(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=FI(),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)}Rm()}}var f=Jk();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>LI(p))).then(p=>u([...e.map(n),...p])).catch(p=>uc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Rm()}):g()}function FI(){var o=zn,e=Hn,t=go,i=on;return function(s=!0){Ga(o),Or(e),V0(t),s&&(o.f&Mr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Rm(o=!0){Ga(null),Or(null),V0(null),o&&(on==null||on.deactivate())}function Jk(){var o=zn,e=o.b,t=on,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:zk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:zn,ac:null}}const vx=Symbol("obsolete");function LI(o,e,t){let i=zn;i===null&&z7();var n=void 0,s=Iu(Js),r=!Hn,a=new Set;return jI(()=>{var C,b;var d=zn,u=Rk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==lb&&u.reject(y)}).finally(Rm)}catch(y){u.reject(y),Rm()}var f=on;if(r){if((d.f&hf)!==0)var g=Jk();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"))}),u9(()=>{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 Ft(o){const e=Hg(o);return x6(e),e}function a9(o){const e=Hg(o);return e.equals=Vk,e}function II(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Qo(e[t])}}function l9(o){var e,t=zn,i=o.parent;if(!kl&&i!==null&&o.v!==Js&&(i.f&(Mr|To))!==0)return dI(),o.v;Ga(i);try{o.f&=~Fu,II(o),e=b6(o)}finally{Ga(t)}return e}function e6(o){var e=l9(o);if(!o.equals(e)&&(o.wv=v6(),(!(on!=null&&on.is_fork)||o.deps===null)&&(on!==null?(on.capture(o,e,!0),cg==null||cg.capture(o,e,!0)):o.v=e,o.deps===null))){Hs(o,to);return}kl||(co!==null?(d9()||on!=null&&on.is_fork)&&co.set(o,e):s9(o))}function PI(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(lb),i.fn!==null&&(i.teardown=rb),i.ac=null,Wg(i,0),g9(i))}function t6(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&$0(e)}let Nm=new Set;const Md=new Map;let i6=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:zk,rv:0,wv:0};return t}function F(o,e){const t=Iu(o);return x6(t),t}function TI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=Vk),i}function m(o,e,t=!1){Hn!==null&&(!ra||(Hn.f&Tm)!==0)&&jk()&&(Hn.f&(po|oa|l0|Tm))!==0&&(Va===null||!Va.has(o))&&X7();let i=t?Pi(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&&l9(n),co===null&&s9(n)}o.wv=v6(),n6(o,so,t),zn!==null&&(zn.f&to)!==0&&(zn.f&(aa|Wc))===0&&(wr===null?UI([o]):wr.push(o)),!i.is_fork&&Nm.size>0&&!i6&&MI()}return e}function MI(){i6=!1;for(const o of Nm){(o.f&to)!==0&&Hs(o,qa);let e;try{e=zp(o)}catch{e=!0}e&&$0(o)}Nm.clear()}function u8(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 n6(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&&Hs(r,e),(a&Tm)!==0)Nm.add(r);else if((a&po)!==0){var u=r;co==null||co.delete(u),(a&Fu)===0&&(a&Tr&&(zn===null||(zn.f&Mm)===0)&&(r.f|=Fu),n6(u,qa,t))}else if(d){var f=r;(a&oa)!==0&&qr!==null&&qr.add(f),t!==null?t.push(f):r9(f)}}}function Pi(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Mk(o);if(e!==I7&&e!==P7)return o;var t=new Map,i=n9(o),n=F(0),s=Od,r=a=>{if(Od===s)return a();var d=Hn,u=Od;Or(null),p8(s);var f=a();return Or(d),p8(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)&&K7();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=Pi(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?Pi(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,Pi(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>Pi(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(){Z7()}})}function h8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function RI(o,e){return Object.is(h8(o),h8(e))}var Rd,s6,o6,r6,a6;function NI(){if(Rd===void 0){Rd=window,s6=document,o6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;r6=a0(e,"firstChild").get,a6=a0(e,"nextSibling").get,a8(o)&&(o[m1]=void 0,o[em]=null,o[v1]=void 0,o.__e=void 0),a8(t)&&(t[Uf]=void 0)}}function bl(o=""){return document.createTextNode(o)}function Na(o){return r6.call(o)}function Wp(o){return a6.call(o)}function _(o,e){return Na(o)}function Et(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 OI(o){o.textContent=""}function l6(){return!1}function c6(o,e,t){return e==null||e===Wk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let f8=!1;function HI(){f8||(f8=!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 cb(o){var e=Hn,t=zn;Or(null),Ga(null);try{return o()}finally{Or(e),Ga(t)}}function c9(o,e,t,i=t){o.addEventListener(e,()=>cb(t));const n=o[tm];n?o[tm]=()=>{n(),i(!0)}:o[tm]=()=>i(!0),HI()}function WI(o){zn===null&&(Hn===null&&U7(),$7()),kl&&j7()}function zI(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&To)!==0&&(o|=To);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};on==null||on.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 Qo(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&&zI(n,t),Hn!==null&&(Hn.f&po)!==0&&(o&Wc)===0)){var s=Hn;(s.effects??(s.effects=[])).push(n)}return i}function d9(){return Hn!==null&&!ra}function u9(o){const e=Ol(ab,null);return Hs(e,to),e.teardown=o,e}function Kn(o){WI();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 d6(o)}function d6(o){return Ol(W0|N7,o)}function VI(o){Lu.ensure();const e=Ol(Wc|ff,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{Qo(e),i(void 0)}):(Qo(e),i(void 0))})}function h9(o){return Ol(W0,o)}function jI(o){return Ol(l0|ff,o)}function db(o,e=0){return Ol(ab|e,o)}function j(o,e=[],t=[],i=[]){BI(i,e,t,n=>{Ol(ab,()=>o(...n.map(c)))})}function f9(o,e=0){var t=Ol(oa|e,o);return t}function kr(o){return Ol(aa|ff,o)}function u6(o){var e=o.teardown;if(e!==null){const t=kl,i=Hn;g8(!0),Or(null);try{e.call(null)}finally{g8(t),Or(i)}}}function g9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&cb(()=>{n.abort(lb)});var i=t.next;(t.f&Wc)!==0?t.parent=null:Qo(t,e),t=i}}function $I(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&aa)===0&&Qo(e),e=t}}function Qo(o,e=!0){var t=!1;(e||(o.f&R7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(h6(o.nodes.start,o.nodes.end),t=!0),Hs(o,x1),g9(o,e&&!t),Wg(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();u6(o),o.f^=x1,o.f|=Mr;var n=o.parent;n!==null&&n.first!==null&&f6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function h6(o,e){for(;o!==null;){var t=o===e?null:Wp(o);o.remove(),o=t}}function f6(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=[];g6(o,i,!0);var n=()=>{t&&Qo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function g6(o,e,t){if((o.f&To)===0){o.f^=To;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;g6(n,e,r?t:!1)}n=s}}}function Om(o){p6(o,!0)}function p6(o,e){if((o.f&To)!==0){o.f^=To,(o.f&to)===0&&(Hs(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;p6(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 p9(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 g8(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 x6(o){Hn!==null&&(Va??(Va=new Set)).add(o)}let $o=null,sr=0,wr=null;function UI(o){wr=o}let m6=1,yd=0,Od=yd;function p8(o){Od=o}function v6(){return++m6}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)&&e6(s),s.wv>o.wv)return!0}(e&Tr)!==0&&co===null&&Hs(o,to)}return!1}function _6(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?_6(s,e,!1):e===s&&(t?Hs(s,so):(s.f&to)!==0&&Hs(s,qa),r9(s))}}function b6(o){var y;var e=$o,t=sr,i=wr,n=Hn,s=Va,r=go,a=ra,d=Od,u=o.f;$o=null,sr=0,wr=null,Hn=(u&(aa|Wc))===0?o:null,Va=null,V0(o.ctx),ra=!1,Od=++yd,o.ac!==null&&(cb(()=>{o.ac.abort(lb)}),o.ac=null);try{o.f|=Mm;var f=o.fn,g=f();o.f|=hf;var p=o.deps,C=on==null?void 0:on.is_fork;if($o!==null){var b;if(C||Wg(o,sr),p!==null&&sr>0)for(p.length=sr+$o.length,b=0;b<$o.length;b++)p[sr+b]=$o[b];else o.deps=p=$o;if(d9()&&(o.f&Tr)!==0)for(b=sr;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&sr<p.length&&(Wg(o,sr),p.length=sr);if(jk()&&wr!==null&&!ra&&p!==null&&(o.f&(po|qa|so))===0)for(b=0;b<wr.length;b++)_6(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 Uk(w)}finally{o.f^=Mm,$o=e,sr=t,wr=i,Hn=n,Va=s,V0(r),ra=a,Od=d}}function qI(o,e){let t=e.reactions;if(t!==null){var i=B7.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&&($o===null||!Pm.call($o,e))){var s=e;(s.f&Tr)!==0&&(s.f^=Tr,s.f&=~Fu),s.v!==Js&&s9(s),PI(s),Wg(s,0)}}function Wg(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)qI(o,t[i])}function $0(o){var e=o.f;if((e&Mr)===0){Hs(o,to);var t=zn,i=om;zn=o,om=!0;try{(e&(oa|Nk))!==0?$I(o):g9(o),u6(o);var n=b6(o);o.teardown=typeof n=="function"?n:null,o.wv=m6;var s;Tk&&gI&&(o.f&so)!==0&&o.deps}finally{om=i,zn=t}}}async function hl(){await Promise.resolve(),bI()}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&Mm)!==0)o.rv<yd&&(o.rv=yd,$o===null&&n!==null&&n[sr]===o?sr++:$o===null?$o=[o]:$o.push(o));else{Hn.deps??(Hn.deps=[]),Pm.call(Hn.deps,o)||Hn.deps.push(o);var s=o.reactions;s===null?o.reactions=[Hn]:Pm.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||E6(r))&&(a=l9(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),e6(r)),d&&!u&&(t6(r),C6(r))}if(co!=null&&co.has(o))return co.get(o);if((o.f&vc)!==0)throw o.v;return o.v}function C6(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&&(t6(e),C6(e))}function E6(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&&E6(e))return!0;return!1}function Hl(o){var e=ra;try{return ra=!0,o()}finally{ra=e}}const GI=["touchstart","touchmove"];function KI(o){return GI.includes(o)}const wd=Symbol("events"),y6=new Set,S1=new Set;function ZI(o,e,t,i={}){function n(s){if(i.capture||D1.call(e,s),!s.cancelBubble)return cb(()=>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=ZI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&u9(()=>{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++)y6.add(o[e]);for(var t of S1)t(o)}let x8=null;function D1(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;x8=o;var r=0,a=x8===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){F7(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 iA;const aC=((iA=globalThis==null?void 0:globalThis.window)==null?void 0:iA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function XI(o){return(aC==null?void 0:aC.createHTML(o))??o}function w6(o){var e=c6("template");return e.innerHTML=XI(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&rI)!==0,i=(e&aI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=w6(s?o:"<!>"+o),t||(n=Na(n)));var r=i||o6?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 YI(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=w6(n),a=Na(r);s=Na(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function S6(o,e){return YI(o,e,"svg")}function oo(o=""){{var e=bl(o+"");return Pu(e,e),e}}function ws(){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 QI(o,e){return JI(o,e)}const _x=new Map;function JI(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){NI();var d=void 0,u=VI(()=>{var f=t??e.appendChild(bl());wI(f,{pending:()=>{}},C=>{js({});var b=go;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},$s()},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=KI(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,D1,{passive:w}),A.set(y,1)):A.set(y,I+1)}}}};return p(ob(y6)),S1.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,D1),b.delete(C),b.size===0&&_x.delete(A)):b.set(C,y)}S1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return eP.set(d,u),d}let eP=new WeakMap;var Xr,Ba,ar,Fd,bp,Cp,Kv;class tP{constructor(e,t=!0){kn(this,"anchor");bn(this,Xr,new Map);bn(this,Ba,new Map);bn(this,ar,new Map);bn(this,Fd,new Set);bn(this,bp,!0);bn(this,Cp,e=>{if(Se(this,Xr).has(e)){var t=Se(this,Xr).get(e),i=Se(this,Ba).get(t);if(i)Om(i),Se(this,Fd).delete(t);else{var n=Se(this,ar).get(t);n&&(Om(n.effect),Se(this,Ba).set(t,n.effect),Se(this,ar).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of Se(this,Xr)){if(Se(this,Xr).delete(s),s===e)break;const a=Se(this,ar).get(r);a&&(Qo(a.effect),Se(this,ar).delete(r))}for(const[s,r]of Se(this,Ba)){if(s===t||Se(this,Fd).has(s))continue;const a=()=>{if(Array.from(Se(this,Xr).values()).includes(s)){var u=document.createDocumentFragment();p9(r,u),u.append(bl()),Se(this,ar).set(s,{effect:r,fragment:u})}else Qo(r);Se(this,Fd).delete(s),Se(this,Ba).delete(s)};Se(this,bp)||!i?(Se(this,Fd).add(s),Nd(r,a,!1)):a()}}});bn(this,Kv,e=>{Se(this,Xr).delete(e);const t=Array.from(Se(this,Xr).values());for(const[i,n]of Se(this,ar))t.includes(i)||(Qo(n.effect),Se(this,ar).delete(i))});this.anchor=e,Cn(this,bp,t)}ensure(e,t){var i=on,n=l6();if(t&&!Se(this,Ba).has(e)&&!Se(this,ar).has(e))if(n){var s=document.createDocumentFragment(),r=bl();s.append(r),Se(this,ar).set(e,{effect:kr(()=>t(r)),fragment:s})}else Se(this,Ba).set(e,kr(()=>t(this.anchor)));if(Se(this,Xr).set(i,e),n){for(const[a,d]of Se(this,Ba))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of Se(this,ar))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(Se(this,Cp)),i.ondiscard(Se(this,Kv))}else Se(this,Cp).call(this,i)}}Xr=new WeakMap,Ba=new WeakMap,ar=new WeakMap,Fd=new WeakMap,bp=new WeakMap,Cp=new WeakMap,Kv=new WeakMap;function z(o,e,t=!1){var i=new tP(o),n=t?z0:0;function s(r,a){i.ensure(r,a)}f9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Hi(o,e){return e}function iP(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;A1(o,ob(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;OI(f),f.append(u),o.items.clear()}A1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function A1(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();p9(s,r)}else Qo(e[n],t)}}var m8;function ei(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Hk)!==0;if(d){var u=o;r=u.appendChild(bl())}var f=null,g=a9(()=>{var M=t();return n9(M)?M:M==null?[]:ob(M)}),p,C=new Map,b=!0;function y(M){(I.effect.f&Mr)===0&&(I.pending.delete(M),I.fallback=f,nP(I,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?Om(f):(f.f^=Ra,Kf(f,null,r)):Nd(f,()=>{f=null})))}function w(M){I.pending.delete(M)}var A=f9(()=>{p=c(g);for(var M=p.length,R=new Set,T=on,V=l6(),H=0;H<M;H+=1){var X=p[H],se=i(X,H),he=b?null:a.get(se);he?(he.v&&j0(he.v,X),he.i&&j0(he.i,H),V&&T.unskip_effect(he.e)):(he=sP(a,b?r:m8??(m8=bl()),X,se,H,n,e,t),b||(he.e.f|=Ra),a.set(se,he)),R.add(se)}if(M===0&&s&&!f&&(b?f=kr(()=>s(r)):(f=kr(()=>s(m8??(m8=bl()))),f.f|=Ra)),M>R.size&&V7(),!b)if(C.set(T,R),V){for(const[J,ue]of a)R.has(J)||T.skip_effect(ue.e);T.oncommit(y),T.ondiscard(w)}else y(T);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 nP(o,e,t,i,n){var he,J,ue,be,re,ce,ke,Pe,xe;var s=(i&eI)!==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&&((J=(he=w.nodes)==null?void 0:he.a)==null||J.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&To)!==0&&(Om(w),s&&((be=(ue=w.nodes)==null?void 0:ue.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 T=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,T.prev,V.next),Kl(o,f,T),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&&(A1(o,ob(Oe.done)),(re=o.outrogroups)==null||re.delete(Oe));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var H=[];if(u!==void 0)for(w of u)(w.f&To)===0&&H.push(w);for(;d!==null;)(d.f&To)===0&&d!==o.fallback&&H.push(d),d=Mf(d.next);var X=H.length;if(X>0){var se=(i&Hk)!==0&&r===0?t:null;if(s){for(A=0;A<X;A+=1)(ke=(ce=H[A].nodes)==null?void 0:ce.a)==null||ke.measure();for(A=0;A<X;A+=1)(xe=(Pe=H[A].nodes)==null?void 0:Pe.a)==null||xe.fix()}iP(o,H,se)}}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 sP(o,e,t,i,n,s,r,a){var d=(r&Q7)!==0?(r&tI)===0?TI(t,!1,!1):Iu(t):null,u=(r&J7)!==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;j(()=>{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&&(h6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?lI:n?cI:void 0,g=c6(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 D6(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=D6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function oP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=D6(o))&&(i&&(i+=" "),i+=e);return i}function hg(o){return typeof o=="object"?oP(o):o??""}const v8=[...`
3
3
  \r\f \v\uFEFF`];function rP(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||v8.includes(i[r-1]))&&(a===i.length||v8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function _8(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 lC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function aP(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(lC)),n&&d.push(...Object.keys(n).map(lC));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=lC(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+=_8(i)),n&&(t+=_8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function kt(o,e,t,i,n,s){var r=o[m1];if(r!==t||r===void 0){var a=rP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[m1]=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 cC(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 qo(o,e,t,i){var n=o[v1];if(n!==e){var s=aP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[v1]=e}else i&&(Array.isArray(i)?(cC(o,t==null?void 0:t[0],i[0]),cC(o,t==null?void 0:t[1],i[1],"important")):cC(o,t,i));return i}function Hm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!n9(e))return uI();for(var i of o.options)i.selected=e.includes(fg(i));return}for(i of o.options){var n=fg(i);if(RI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function k1(o){var e=new MutationObserver(()=>{Hm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),u9(()=>{e.disconnect()})}function Fs(o,e,t=e){var i=new WeakSet,n=!0;c9(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,on!==null&&i.add(on)}),h9(()=>{var s=e();if(o===document.activeElement){var r=on;if(i.has(r))return}if(Hm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=fg(a),t(s))}o.__value=s,n=!1}),k1(o)}function fg(o){return"__value"in o?o.__value:o.value}const lP=Symbol("is custom element"),cP=Symbol("is html"),dP=W7?"progress":"PROGRESS";function B1(o,e){var t=x9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==dP)||(o.value=e??"")}function Zo(o,e){var t=x9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function ln(o,e,t,i){var n=x9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[H7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&uP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function x9(o){return o[em]??(o[em]={[lP]:o.nodeName.includes("-"),[cP]:o.namespaceURI===Wk})}var b8=new Map;function uP(o){var e=o.getAttribute("is")||o.nodeName,t=b8.get(e);if(t)return t;b8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=L7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Mk(n)}return t}function Vt(o,e,t=e){var i=new WeakSet;c9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=dC(o)?uC(s):s,t(s),on!==null&&i.add(on),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(dC(o)?uC(o.value):o.value),on!==null&&i.add(on)),db(()=>{var n=e();if(o===document.activeElement){var s=on;if(i.has(s))return}dC(o)&&n===uC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function ys(o,e,t=e){c9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Hl(e)==null&&t(o.checked),db(()=>{var i=e();o.checked=!!i})}function dC(o){var e=o.type;return e==="number"||e==="range"}function uC(o){return o===""?null:+o}var cc,_0,Ep,Zv,A6;const Xv=class Xv{constructor(e){bn(this,Zv);bn(this,cc,new WeakMap);bn(this,_0);bn(this,Ep);Cn(this,Ep,e)}observe(e,t){var i=Se(this,cc).get(e)||new Set;return i.add(t),Se(this,cc).set(e,i),ts(this,Zv,A6).call(this).observe(e,Se(this,Ep)),()=>{var n=Se(this,cc).get(e);n.delete(t),n.size===0&&(Se(this,cc).delete(e),Se(this,_0).unobserve(e))}}};cc=new WeakMap,_0=new WeakMap,Ep=new WeakMap,Zv=new WeakSet,A6=function(){return Se(this,_0)??Cn(this,_0,new ResizeObserver(e=>{for(var t of e){Xv.entries.set(t.target,t);for(var i of Se(this,cc).get(t.target)||[])i(t)}}))},kn(Xv,"entries",new WeakMap);let F1=Xv;var hP=new F1({box:"border-box"});function fP(o,e,t){var i=hP.observe(o,()=>t(o[e]));h9(()=>(Hl(()=>t(o[e])),i))}function hC(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 h9(()=>{var r,a;return db(()=>{r=a,a=[],Hl(()=>{hC(t(...a),o)||(e(o,...a),r&&hC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&x1;)d=d.parent;const u=()=>{a&&hC(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&sI)!==0,r=(t&oI)!==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||O7 in o;g=((R=a0(o,e))==null?void 0:R.set)??(p&&e in o?T=>o[e]=T:void 0)}var C,b=!1;s?[C,b]=mI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&(G7(),g(C)));var y;if(y=()=>{var T=o[e];return T===void 0?f():(d=!0,T)},(t&nI)===0)return y;if(g){var w=o.$$legacy;return(function(T,V){return arguments.length>0?((!V||w||b)&&g(V?y():T),T):y()})}var A=!1,I=((t&iI)!==0?Hg:a9)(()=>(A=!1,y()));s&&c(I);var M=zn;return(function(T,V){if(arguments.length>0){const H=V?c(I):s?Pi(T):T;return m(I,H),A=!0,a!==void 0&&(a=H),T}return kl&&A||(M.f&Mr)!==0?I.v:c(I)})}function Xs(o){go===null&&Ok(),Kn(()=>{const e=Hl(o);if(typeof e=="function")return e})}function Vp(o){go===null&&Ok(),Xs(()=>()=>Hl(o))}const gP="5";var nA;typeof window<"u"&&((nA=window.__svelte??(window.__svelte={})).v??(nA.v=new Set)).add(gP);/*!-----------------------------------------------------------------------------
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10,7 +10,7 @@ var KF=Object.defineProperty;var BS=o=>{throw TypeError(o)};var ZF=(o,e,t)=>e in
10
10
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
11
11
  * Released under the MIT license
12
12
  * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
13
- *-----------------------------------------------------------------------------*/var SP=Object.defineProperty,DP=Object.getOwnPropertyDescriptor,AP=Object.getOwnPropertyNames,kP=Object.prototype.hasOwnProperty,BP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of AP(e))!kP.call(o,n)&&n!==t&&SP(o,n,{get:()=>e[n],enumerable:!(i=DP(e,n))||i.enumerable});return o},FP=(o,e,t)=>(BP(o,e,"default"),t),LP="5.4.5",U0={};FP(U0,oA);var F6=(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))(F6||{}),L6=(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))(L6||{}),I6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(I6||{}),P6=(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))(P6||{}),T6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(T6||{}),M6=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)}},IP=LP,R6={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},N6=new M6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},R6),O6=new M6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},R6),PP=()=>ub().then(o=>o.getTypeScriptWorker()),TP=()=>ub().then(o=>o.getJavaScriptWorker());U0.languages.typescript={ModuleKind:F6,JsxEmit:L6,NewLineKind:I6,ScriptTarget:P6,ModuleResolutionKind:T6,typescriptVersion:IP,typescriptDefaults:N6,javascriptDefaults:O6,getTypeScriptWorker:PP,getJavaScriptWorker:TP};function ub(){return sA(()=>import("./tsMode-CRD5YRWA.js"),__vite__mapDeps([3,1,2]))}U0.languages.onLanguage("typescript",()=>ub().then(o=>o.setupTypeScript(N6)));U0.languages.onLanguage("javascript",()=>ub().then(o=>o.setupJavaScript(O6)));class MP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:ki("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Zi.map,toggled:qe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:qe.has("isInDiffEditor"),menu:{when:qe.has("isInDiffEditor"),id:ni.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 H6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:ki("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class W6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:ki("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=ki("diffEditor","Diff Editor");class RP extends la{constructor(){super({id:"diffEditor.switchSide",title:ki("switchSide","Switch Side"),icon:Zi.arrowSwap,precondition:qe.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 NP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:ki("exitCompareMove","Exit Compare Move"),icon:Zi.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 OP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:ki("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zi.fold,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.collapseAllUnchangedRegions()}}class HP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:ki("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zi.unfold,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.showAllUnchangedRegions()}}class L1 extends Do{constructor(){super({id:"diffEditor.revert",title:ki("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=WP(e,t.originalUri,t.modifiedUri);i instanceof yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const z6=ki("accessibleDiffViewer","Accessible Diff Viewer"),Yv=class Yv extends Do{constructor(){super({id:Yv.id,title:ki("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:z6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerNext()}};Yv.id="editor.action.accessibleDiffViewer.next";let zg=Yv;const Qv=class Qv extends Do{constructor(){super({id:Qv.id,title:ki("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:z6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerPrev()}};Qv.id="editor.action.accessibleDiffViewer.prev";let Wm=Qv;function WP(o,e,t){return o.get(bs).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(bs).listDiffEditors(),i=rA();if(i)for(const n of t){const s=n.getContainerDomNode();if(zP(s,i))return n}return null}function zP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Vn(MP);Vn(H6);Vn(W6);Rr.appendMenuItem(ni.EditorTitle,{command:{id:new W6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:qe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:qe.has("isInDiffEditor")},order:11,group:"1_diff",when:qe.and(q.diffEditorRenderSideBySideInlineBreakpointReached,qe.has("isInDiffEditor"))});Rr.appendMenuItem(ni.EditorTitle,{command:{id:new H6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Zi.move,toggled:XF.create("config.diffEditor.experimental.showMoves",!0),precondition:qe.has("isInDiffEditor")},order:10,group:"1_diff",when:qe.has("isInDiffEditor")});Vn(L1);for(const o of[{icon:Zi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Zi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ni.DiffEditorHunkToolbar,{command:{id:new L1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:qe.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ni.DiffEditorSelectionToolbar,{command:{id:new L1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:qe.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Vn(RP);Vn(NP);Vn(OP);Vn(HP);Rr.appendMenuItem(ni.EditorTitle,{command:{id:zg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:qe.has("isInDiffEditor")},order:10,group:"2_diff",when:qe.and(q.accessibleDiffViewerVisible.negate(),qe.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",zg.id);Vn(zg);Qn.registerCommandAlias("editor.action.diffReview.prev",Wm.id);Vn(Wm);var VP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jP=function(o,e){return function(t,i){e(t,i,o)}},I1;const hb=new En("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(I1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=hb.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(Ui.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(Ui.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()}},I1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=I1=VP([jP(1,Fn)],zc);class $P extends _t{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class UP extends _t{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:hb})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class qP extends _t{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class GP extends _t{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}un(zc.ID,zc,4);Fe($P);Fe(UP);Fe(qP);Fe(GP);const KP=vi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class ZP extends _t{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 XP extends _t{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:ki("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 YP extends _t{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 QP{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 Ps(()=>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 Ui(r.lineNumber,r.column,r.lineNumber,r.column):new Ui(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(Q.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 Ui(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(Li.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 QP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=mn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(KP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=mn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;un(Mu.ID,Mu,1);Fe(XP);Fe(ZP);Fe(YP);Rr.appendMenuItem(ni.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class JP{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 Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Ui(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Ui(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class V6 extends _t{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 JP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class eT extends V6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class tT extends V6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Fe(eT);Fe(tT);class iT extends _t{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():Qb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Qb.leftPosition(i,f),p=Qb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new wp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Fe(iT);const fb=(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 m9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function nT(o,e,t){const i={id:fb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class j6{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"),U6(zm(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 zm(e)}}function zm(o){return o.toLowerCase()}function $6(o,e){return U6(zm(o),e.map(zm))}function U6(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 gb=Object.freeze({create:o=>aA(o.map(e=>e.toString())).join(`\r
13
+ *-----------------------------------------------------------------------------*/var SP=Object.defineProperty,DP=Object.getOwnPropertyDescriptor,AP=Object.getOwnPropertyNames,kP=Object.prototype.hasOwnProperty,BP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of AP(e))!kP.call(o,n)&&n!==t&&SP(o,n,{get:()=>e[n],enumerable:!(i=DP(e,n))||i.enumerable});return o},FP=(o,e,t)=>(BP(o,e,"default"),t),LP="5.4.5",U0={};FP(U0,oA);var F6=(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))(F6||{}),L6=(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))(L6||{}),I6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(I6||{}),P6=(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))(P6||{}),T6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(T6||{}),M6=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)}},IP=LP,R6={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},N6=new M6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},R6),O6=new M6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},R6),PP=()=>ub().then(o=>o.getTypeScriptWorker()),TP=()=>ub().then(o=>o.getJavaScriptWorker());U0.languages.typescript={ModuleKind:F6,JsxEmit:L6,NewLineKind:I6,ScriptTarget:P6,ModuleResolutionKind:T6,typescriptVersion:IP,typescriptDefaults:N6,javascriptDefaults:O6,getTypeScriptWorker:PP,getJavaScriptWorker:TP};function ub(){return sA(()=>import("./tsMode-B4X9eNR6.js"),__vite__mapDeps([3,1,2]))}U0.languages.onLanguage("typescript",()=>ub().then(o=>o.setupTypeScript(N6)));U0.languages.onLanguage("javascript",()=>ub().then(o=>o.setupJavaScript(O6)));class MP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:ki("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Zi.map,toggled:qe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:qe.has("isInDiffEditor"),menu:{when:qe.has("isInDiffEditor"),id:ni.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 H6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:ki("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class W6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:ki("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=ki("diffEditor","Diff Editor");class RP extends la{constructor(){super({id:"diffEditor.switchSide",title:ki("switchSide","Switch Side"),icon:Zi.arrowSwap,precondition:qe.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 NP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:ki("exitCompareMove","Exit Compare Move"),icon:Zi.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 OP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:ki("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zi.fold,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.collapseAllUnchangedRegions()}}class HP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:ki("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zi.unfold,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.showAllUnchangedRegions()}}class L1 extends Do{constructor(){super({id:"diffEditor.revert",title:ki("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=WP(e,t.originalUri,t.modifiedUri);i instanceof yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const z6=ki("accessibleDiffViewer","Accessible Diff Viewer"),Yv=class Yv extends Do{constructor(){super({id:Yv.id,title:ki("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:z6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerNext()}};Yv.id="editor.action.accessibleDiffViewer.next";let zg=Yv;const Qv=class Qv extends Do{constructor(){super({id:Qv.id,title:ki("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:z6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerPrev()}};Qv.id="editor.action.accessibleDiffViewer.prev";let Wm=Qv;function WP(o,e,t){return o.get(bs).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(bs).listDiffEditors(),i=rA();if(i)for(const n of t){const s=n.getContainerDomNode();if(zP(s,i))return n}return null}function zP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Vn(MP);Vn(H6);Vn(W6);Rr.appendMenuItem(ni.EditorTitle,{command:{id:new W6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:qe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:qe.has("isInDiffEditor")},order:11,group:"1_diff",when:qe.and(q.diffEditorRenderSideBySideInlineBreakpointReached,qe.has("isInDiffEditor"))});Rr.appendMenuItem(ni.EditorTitle,{command:{id:new H6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Zi.move,toggled:XF.create("config.diffEditor.experimental.showMoves",!0),precondition:qe.has("isInDiffEditor")},order:10,group:"1_diff",when:qe.has("isInDiffEditor")});Vn(L1);for(const o of[{icon:Zi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Zi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ni.DiffEditorHunkToolbar,{command:{id:new L1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:qe.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ni.DiffEditorSelectionToolbar,{command:{id:new L1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:qe.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Vn(RP);Vn(NP);Vn(OP);Vn(HP);Rr.appendMenuItem(ni.EditorTitle,{command:{id:zg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:qe.has("isInDiffEditor")},order:10,group:"2_diff",when:qe.and(q.accessibleDiffViewerVisible.negate(),qe.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",zg.id);Vn(zg);Qn.registerCommandAlias("editor.action.diffReview.prev",Wm.id);Vn(Wm);var VP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jP=function(o,e){return function(t,i){e(t,i,o)}},I1;const hb=new En("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(I1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=hb.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(Ui.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(Ui.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()}},I1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=I1=VP([jP(1,Fn)],zc);class $P extends _t{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class UP extends _t{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:hb})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class qP extends _t{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class GP extends _t{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}un(zc.ID,zc,4);Fe($P);Fe(UP);Fe(qP);Fe(GP);const KP=vi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class ZP extends _t{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 XP extends _t{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:ki("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 YP extends _t{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 QP{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 Ps(()=>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 Ui(r.lineNumber,r.column,r.lineNumber,r.column):new Ui(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(Q.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 Ui(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(Li.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 QP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=mn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(KP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=mn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;un(Mu.ID,Mu,1);Fe(XP);Fe(ZP);Fe(YP);Rr.appendMenuItem(ni.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class JP{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 Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Ui(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Ui(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class V6 extends _t{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 JP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class eT extends V6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class tT extends V6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Fe(eT);Fe(tT);class iT extends _t{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():Qb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Qb.leftPosition(i,f),p=Qb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new wp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Fe(iT);const fb=(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 m9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function nT(o,e,t){const i={id:fb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class j6{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"),U6(zm(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 zm(e)}}function zm(o){return o.toLowerCase()}function $6(o,e){return U6(zm(o),e.map(zm))}function U6(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 gb=Object.freeze({create:o=>aA(o.map(e=>e.toString())).join(`\r
14
14
  `),split:o=>o.split(`\r
15
15
  `),parse:o=>gb.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 C8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class sT{}const oT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ca.add(oT.DragAndDropContribution,new sT);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 P1=wg;function q6(o){const e=new j6;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,m9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,rT(n))}}return e}function rT(o){const e=o.path?jn.parse(o.path):void 0;return nT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const aT=Object.freeze([C8.EDITORS,C8.FILES,JC.RESOURCES,JC.INTERNAL_URI_LIST]);function G6(o,e=!1){const t=q6(o),i=t.get(JC.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,m9(gb.create(n)))}for(const n of aT)t.delete(n);return t}var v9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 _9{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 _9{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 K6 extends _9{constructor(){super(...arguments),this.kind=new ns("uri.absolute"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await Z6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===Co.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 Vm=class extends _9{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 Z6(e);if(!i.length||t.isCancellationRequested)return;const n=yl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?YF(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}}};Vm=v9([Vg(0,F0)],Vm);class lT{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!==e1.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 Z6(o){const e=o.get(Zs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of gb.parse(t))try{i.push({uri:jn.parse(n),originalText:n})}catch{}return i}let T1=class extends Rt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new K6)),this._register(e.documentDropEditProvider.register("*",new Vm(t)))}};T1=v9([Vg(0,Ii),Vg(1,F0)],T1);let M1=class extends Rt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new K6)),this._register(e.documentPasteEditProvider.register("*",new Vm(t))),this._register(e.documentPasteEditProvider.register("*",new lT))}};M1=v9([Vg(0,Ii),Vg(1,F0)],M1);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 R1=br;class pf{constructor(){this._children=[]}appendChild(e){return e instanceof Po&&this._children[this._children.length-1]instanceof Po?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 Po=class X6 extends pf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new X6(this.value)}};class Y6 extends pf{}class ur extends Y6{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 ur(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 Po&&(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 b9 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 b9;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 Y6{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 Po(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 E8(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 ur&&(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 E8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ur&&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){E8(this.children,e)}}class Nu{constructor(){this._scanner=new R1,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 ur&&(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 ur(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof ur&&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 ur(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 Po(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 ur(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 ur(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+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 Po(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 Po("${"+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 b9;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 Po(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 Po(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function Q6(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 QF(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 J6(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 cT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dT=function(o,e){return function(t,i){e(t,i,o)}};const uT=mn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:lA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Jv=class Jv 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(...Mn.asClassNameArray(Zi.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(Bn(this.domNode,as.CLICK,n=>{this.delegate.cancel()}))}getId(){return Jv.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)}};Jv.baseId="editor.widget.inlineProgressWidget";let N1=Jv,jm=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 Jo),this._currentWidget=this._register(new Jo),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=Q.fromPositions(e);this._currentDecorations.set([{range:a,options:uT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(N1,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()}};jm=cT([dT(2,nn)],jm);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},y8=function(o,e){return function(t,i){e(t,i,o)}},rm,Cc;let Mo=(Cc=class{static get(e){return e.getContribution(rm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Jo,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)?JF(e,{actionHandler:{callback:n=>{this.closeMessage(),e3(this._openerService,n,Zx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new w8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Is.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&t3(rA(),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(Bn(this._messageWidget.value.getDomNode(),as.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Bn(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 Q(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(w8.fadeOut(this._messageWidget.value))}},rm=Cc,Cc.ID="editor.contrib.messageController",Cc.MESSAGE_VISIBLE=new En("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Cc);Mo=rm=hT([y8(1,Fn),y8(2,da)],Mo);const fT=Ao.bindToContribution(Mo.get);Mi(new fT({id:"leaveEditorMessage",precondition:Mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let w8=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)}};un(Mo.ID,Mo,4);function fC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",D8(o),S8(o.stack)||S8(o.stacktrace)):D8(o)}function S8(o){return Array.isArray(o)?o.join(`
16
16
  `):o}function D8(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 $m(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=$m(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(cA(o))return o;if(o.detail){const t=o.detail;if(t.error)return fC(t.error,e);if(t.exception)return fC(t.exception,e)}return o.stack?fC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var e5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},c0=function(o,e){return function(t,i){e(t,i,o)}},O1,jd;let H1=(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(Is.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 i3(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Bn(this.domNode,as.CLICK,()=>this.showSelector()))}getId(){return O1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=yo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>n3({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},O1=jd,jd.baseId="editor.widget.postEditWidget",jd);H1=O1=e5([c0(7,af),c0(8,Fn),c0(9,Ds)],H1);let Um=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 Jo),this._register(Is.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}':
@@ -229,4 +229,4 @@ declare const she: {
229
229
 
230
230
  *[stopped]*`,toolEvents:c(J).length>0?[...c(J)]:void 0}],!0)}else m(d,N.message,!0)}finally{A=null,m(s,null),m(J,[],!0),m(a,!1)}}}function Ti(){A==null||A.abort()}function wn(P){P.key==="Enter"&&!P.shiftKey&&(P.preventDefault(),Yi())}function cn(){m(n,[],!0),m(d,"")}const gn=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function hn(P){m(r,P,!0),be==null||be.focus()}var ft=RX(),Ut=Et(ft),Ri=_(Ut),qi=v(_(Ri),2);{var bi=P=>{var N=eX(),$=_(N);{var oe=ie=>{var ae=oo();j(()=>W(ae,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(ie,ae)},ne=ie=>{var ae=oo("Not configured");D(ie,ae)};z($,ie=>{c(ke)?ie(oe):ie(ne,-1)})}j(()=>ln(N,"title",`Provider: ${c(u).provider??""}`)),D(P,N)};z(qi,P=>{c(u)&&P(bi)})}var Wi=v(qi,2);{var ji=P=>{var N=tX();U("click",N,cn),D(P,N)};z(Wi,P=>{c(n).length>0&&P(ji)})}var Ji=v(Ri,2),Si=_(Ji);{var $i=P=>{var N=iX();D(P,N)},Ve=P=>{var N=oX(),$=_(N),oe=_($);{var ne=Je=>{var Le=nX(),_e=v(Et(Le)),Ze=_(_e);j(()=>W(Ze,t().id)),D(Je,Le)},ie=Je=>{var Le=oo("No view selected. Ask a general sheDB view question.");D(Je,Le)};z(oe,Je=>{t()?Je(ne):Je(ie,-1)})}var ae=v($,2);ei(ae,17,()=>gn,Hi,(Je,Le)=>{var _e=sX(),Ze=_(_e);j(()=>W(Ze,c(Le))),U("click",_e,()=>hn(c(Le))),D(Je,_e)}),D(P,N)};z(Si,P=>{c(ke)?c(n).length===0&&c(s)===null&&P(Ve,1):P($i)})}var qt=v(Si,2);ei(qt,17,()=>c(n),Hi,(P,N,$)=>{var oe=uX(),ne=_(oe);{var ie=Je=>{var Le=rX(),_e=_(Le);j(()=>W(_e,c(N).content)),D(Je,Le)},ae=Je=>{const Le=Ft(()=>Ue(c(N).content)),_e=Ft(()=>mt(c(Le)));var Ze=dX(),Me=Et(Ze);{var ct=Ee=>{var He=W2();ei(He,21,()=>c(N).toolEvents,Hi,(wt,gt)=>{var Ie=ws(),ge=Et(Ie);{var Re=it=>{var at=O2(),Ne=v(_(at)),ut=_(Ne);j(fe=>W(ut,fe),[()=>c(gt).name.replace(/_/g," ")]),D(it,at)},We=it=>{var at=H2(),Ne=v(_(at)),ut=_(Ne);j(fe=>W(ut,fe),[()=>c(gt).name.replace(/_/g," ")]),D(it,at)};z(ge,it=>{c(gt).type==="tool_call"?it(Re):it(We,-1)})}D(wt,Ie)}),D(Ee,He)};z(Me,Ee=>{var He;(He=c(N).toolEvents)!=null&&He.length&&Ee(ct)})}var Zt=v(Me,2),Z=_(Zt);ei(Z,17,()=>c(Le),Hi,(Ee,He,wt)=>{var gt=ws(),Ie=Et(gt);{var ge=We=>{var it=z2();hc(it,()=>Xe(c(He).text),!0),D(We,it)},Re=We=>{const it=Ft(()=>`${$}:${wt}`),at=Ft(()=>Ce(c(He).text)),Ne=Ft(()=>c(p).has(c(it))),ut=Ft(()=>c(He).lang==="filter");var fe=lX(),ze=_(fe),Ct=_(ze),Wt=_(Ct),bt=v(Ct,2),gi=_(bt),Ai=v(ze,2);let Xi;var yi=_(Ai),ai=_(yi);hc(ai,()=>si(c(He).text,c(He).lang??""),!0);var zt=v(yi,2);{var At=Ht=>{var ii=aX(),pi=_(ii);j(()=>W(pi,c(Ne)?"▲ collapse":"▼ expand")),U("click",ii,()=>Nt(c(it))),D(Ht,ii)};z(zt,Ht=>{c(at)&&Ht(At)})}j(()=>{W(Wt,c(ut)?"filter":c(He).lang),Xi=kt(Ai,1,"code-body svelte-1twuiul",null,Xi,{collapsed:c(at)&&!c(Ne)})}),U("click",gi,()=>St(c(He).text)),D(We,fe)};z(Ie,We=>{c(He).type==="text"?We(ge):We(Re,-1)})}D(Ee,gt)});var le=v(Z,2);{var $e=Ee=>{var He=cX(),wt=_(He),gt=_(wt);j(Ie=>W(gt,Ie),[()=>st(c(_e))]),U("click",wt,()=>e.onApplyView(c(_e))),D(Ee,He)},Pt=Ft(()=>Mt(c(_e))&&e.onApplyView);z(le,Ee=>{c(Pt)&&Ee($e)})}D(Je,Ze)};z(ne,Je=>{c(N).role==="user"?Je(ie):Je(ae,-1)})}j(()=>kt(oe,1,`message ${c(N).role??""}`,"svelte-1twuiul")),D(P,oe)});var Fi=v(qt,2);{var zi=P=>{var N=W2();ei(N,21,()=>c(J),Hi,($,oe)=>{var ne=ws(),ie=Et(ne);{var ae=Le=>{var _e=O2(),Ze=v(_(_e)),Me=_(Ze);j(ct=>W(Me,ct),[()=>c(oe).name.replace(/_/g," ")]),D(Le,_e)},Je=Le=>{var _e=H2(),Ze=v(_(_e)),Me=_(Ze);j(ct=>W(Me,ct),[()=>c(oe).name.replace(/_/g," ")]),D(Le,_e)};z(ie,Le=>{c(oe).type==="tool_call"?Le(ae):Le(Je,-1)})}D($,ne)}),D(P,N)};z(Fi,P=>{c(J).length>0&&P(zi)})}var Di=v(Fi,2);{var K=P=>{var N=hX(),$=_(N),oe=_($),ne=_(oe);j(()=>W(ne,M[c(I)])),D(P,N)};z(Di,P=>{c(a)&&c(s)===null&&c(J).length===0&&P(K)})}var De=v(Di,2);{var Qe=P=>{var N=gX(),$=_(N);ei($,21,()=>ve(c(s)),Hi,(oe,ne)=>{var ie=ws(),ae=Et(ie);{var Je=_e=>{var Ze=z2();hc(Ze,()=>Xe(c(ne).text),!0),D(_e,Ze)},Le=_e=>{var Ze=fX(),Me=_(Ze),ct=_(Me),Zt=_(ct),Z=v(Me,2),le=_(Z);hc(le,()=>si(c(ne).text,c(ne).lang??""),!0),j(()=>W(Zt,c(ne).lang)),D(_e,Ze)};z(ae,_e=>{c(ne).type==="text"?_e(Je):_e(Le,-1)})}D(oe,ie)}),D(P,N)};z(De,P=>{c(s)!==null&&P(Qe)})}gs(Ji,P=>re=P,()=>re);var tt=v(Ji,2);{var Gt=P=>{var N=pX(),$=_(N);j(()=>W($,c(d))),D(P,N)};z(tt,P=>{c(d)&&P(Gt)})}var ci=v(tt,2),vt=_(ci),dt=_(vt),Y=v(vt,2),Te=_(Y),lt=v(Y,2),we=_(lt),di=v(lt,2),Lt=_(di),te=v(ci,2),Ye=_(te);{var Bt=P=>{var N=xX();let $;var oe=v(_(N),2),ne=_(oe),ie=v(oe,2),ae=_(ie);j(()=>{$=kt(N,1,"file-chip svelte-1twuiul",null,$,{inactive:!c(X)}),W(ne,t().id),ln(ie,"title",c(X)?"Remove from context":"Re-add to context"),W(ae,c(X)?"×":"+")}),U("click",ie,()=>m(X,!c(X))),D(P,N)};z(Ye,P=>{t()&&P(Bt)})}var It=v(Ye,2);ei(It,17,()=>c(H),Hi,(P,N,$)=>{const oe=Ft(()=>oi(c(N).name));var ne=mX(),ie=_(ne),ae=_(ie),Je=v(ie,2),Le=_(Je),_e=v(Je,2);j((Ze,Me)=>{kt(ie,1,`badge badge-${Ze??""}`,"svelte-1twuiul"),W(ae,Me),W(Le,c(N).name)},[()=>c(oe).toLowerCase(),()=>Bi(c(oe))]),U("click",_e,()=>_i($)),D(P,ne)});var Dt=v(It,2),Be=v(Dt,2);gs(Be,P=>he=P,()=>he);var je=v(te,2);let Kt;var ri=_(je);let hi;var Xt=_(ri);gs(Xt,P=>be=P,()=>be);var pe=v(ri,2);{var Ge=P=>{var N=vX();U("click",N,Ti),D(P,N)},ot=P=>{var N=_X();j($=>N.disabled=$,[()=>!c(r).trim()||!c(ke)]),U("click",N,Yi),D(P,N)};z(pe,P=>{c(a)?P(Ge):P(ot,-1)})}var rt=v(je,2);{var jt=P=>{var N=wX(),$=_(N),oe=_($),ne=v($,2);{var ie=_e=>{var Ze=CX();ei(Ze,21,()=>c(f),Hi,(Me,ct)=>{var Zt=bX(),Z=_(Zt),le={};j(()=>{W(Z,c(ct)),le!==(le=c(ct))&&(Zt.value=(Zt.__value=c(ct))??"")}),D(Me,Zt)}),j(()=>Ze.disabled=c(a)),Fs(Ze,()=>c(g),Me=>m(g,Me)),D(_e,Ze)},ae=_e=>{var Ze=EX(),Me=_(Ze);j(()=>W(Me,c(g)||c(u).model)),D(_e,Ze)};z(ne,_e=>{c(f).length>0?_e(ie):_e(ae,-1)})}var Je=v(ne,2);{var Le=_e=>{var Ze=yX();U("click",Ze,Qt),D(_e,Ze)};z(Je,_e=>{c(u).provider==="ollama"&&_e(Le)})}j(()=>W(oe,c(u).provider)),D(P,N)};z(rt,P=>{c(ke)&&c(u)&&P(jt)})}var Ot=v(Ut,2);{var Ci=P=>{var N=MX(),$=_(N),oe=_($),ne=_(oe),ie=_(ne),ae=v(ne,2),Je=v(oe,2),Le=_(Je);{var _e=ct=>{var Zt=SX();D(ct,Zt)},Ze=ct=>{var Zt=DX(),Z=_(Zt);j(()=>W(Z,c(w))),D(ct,Zt)},Me=ct=>{var Zt=TX(),Z=_(Zt);{var le=We=>{var it=AX(),at=v(Et(it)),Ne=_(at);j(()=>W(Ne,c(b).version)),D(We,it)};z(Z,We=>{c(b).version&&We(le)})}var $e=v(Z,2);{var Pt=We=>{var it=kX(),at=v(Et(it)),Ne=_(at);j(()=>W(Ne,c(b).details.family)),D(We,it)};z($e,We=>{var it;(it=c(b).details)!=null&&it.family&&We(Pt)})}var Ee=v($e,2);{var He=We=>{var it=BX(),at=v(Et(it)),Ne=_(at);j(()=>W(Ne,c(b).details.parameter_size)),D(We,it)};z(Ee,We=>{var it;(it=c(b).details)!=null&&it.parameter_size&&We(He)})}var wt=v(Ee,2);{var gt=We=>{var it=FX(),at=v(Et(it)),Ne=_(at);j(()=>W(Ne,c(b).details.quantization_level)),D(We,it)};z(wt,We=>{var it;(it=c(b).details)!=null&&it.quantization_level&&We(gt)})}var Ie=v(wt,2);{var ge=We=>{var it=IX(),at=v(Et(it),2);ei(at,21,()=>c(b).running,Hi,(Ne,ut)=>{var fe=LX(),ze=_(fe);j(Ct=>W(ze,`${c(ut).name??""} · ${Ct??""} VRAM`),[()=>fi(c(ut).size_vram)]),D(Ne,fe)}),D(We,it)},Re=We=>{var it=PX();D(We,it)};z(Ie,We=>{c(b).running&&c(b).running.length>0?We(ge):c(b).running!==null&&We(Re,1)})}D(ct,Zt)};z(Le,ct=>{c(y)?ct(_e):c(w)?ct(Ze,1):c(b)&&ct(Me,2)})}j(()=>{var ct;return W(ie,`Ollama · ${(c(g)||((ct=c(u))==null?void 0:ct.model))??""}`)}),U("click",N,()=>m(C,!1)),U("click",$,ct=>ct.stopPropagation()),U("click",ae,()=>m(C,!1)),D(P,N)};z(Ot,P=>{c(C)&&P(Ci)})}j(P=>{W(Lt,P),Kt=kt(je,1,"input-row svelte-1twuiul",null,Kt,{"drag-over":c(se)}),hi=kt(ri,1,"textarea-wrap svelte-1twuiul",null,hi,{loading:c(a)}),ln(Xt,"placeholder",c(ke)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Xt.disabled=c(a)||!c(ke)},[()=>fi(c(Pe))]),ys(dt,()=>c(R),P=>m(R,P)),ys(Te,()=>c(T),P=>m(T,P)),ys(we,()=>c(V),P=>m(V,P)),U("click",Dt,Ke),U("change",Be,ti),xs("dragover",je,Jt),xs("dragleave",je,Vi),xs("drop",je,Ei),U("keydown",Xt,wn),Vt(Xt,()=>c(r),P=>m(r,P)),D(o,ft),$s()}Ys(["click","change","keydown"]);var OX=B('<div class="me svelte-1pxdb1"></div>');function ZC(o,e){js(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;function a(){zo.setTheme(Jh())}Xs(()=>{const u=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=zo.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(g1.CtrlCmd|Pk.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=OX();gs(d,u=>n=u,()=>n),D(o,d),$s()}const V2=o=>{var e=HX();D(o,e)};var HX=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 &mdash; call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>'),WX=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>'),j2=B('<div class="form-error svelte-rrt0o"> </div>'),zX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),$2=B("<li> </li>"),U2=B('<div class="error-bar svelte-rrt0o"> </div>'),q2=B('<div class="loading svelte-rrt0o">Loading…</div>'),VX=B('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),jX=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),$X=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>'),UX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),qX=B('<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>'),GX=B('<span class="badge-error svelte-rrt0o">error</span>'),KX=B('<span class="badge-ok svelte-rrt0o"> </span>'),ZX=B('<pre class="result-error svelte-rrt0o"> </pre>'),XX=B('<pre class="result-json svelte-rrt0o"> </pre>'),YX=B('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),QX=B('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document &nbsp;·&nbsp; call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),JX=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),eY=B('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),tY=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>'),iY=B('<!> <div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>',1);function nY(o,e){js(e,!0);let t=F(Pi([])),i=F(null),n=F("{}"),s=F(!1),r=F(null);const a="she-db-selected-view";let d=F(Pi([])),u=F(Pi(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 T=F(Pi(localStorage.getItem(R)??"docs")),V=F(""),H=F(!1),X=F(null),se=F(""),he=F(!1),J=F(null);const ue="she-db-sidebar-width";let be=F(Pi(parseInt(localStorage.getItem(ue)??"220",10))),re=!1,ce=0,ke=0;const Pe="she-db-chat-width",xe="she-db-chat-open";let Oe=F(localStorage.getItem(xe)==="true"),Ue=F(Pi(parseInt(localStorage.getItem(Pe)??"320",10))),ve=!1,mt=0,Mt=0;const st=Ft(()=>c(u)?{id:c(u),filter:c(f),map:c(g),reduce:c(p)}:null);function yt(Ve){Ve.filter!==void 0&&m(f,Ve.filter,!0),Ve.map!==void 0&&m(g,Ve.map,!0),Ve.reduce!==void 0&&m(p,Ve.reduce,!0)}Kn(()=>{localStorage.setItem(xe,String(c(Oe)))}),Kn(()=>{localStorage.setItem(R,c(T))}),Kn(()=>{c(u)?localStorage.setItem(a,c(u)):localStorage.removeItem(a)});function Ce(Ve){re=!0,ce=Ve.clientX,ke=c(be),Ve.preventDefault()}function Nt(Ve){re&&m(be,Math.max(140,Math.min(500,ke+Ve.clientX-ce)),!0),ve&&m(Ue,Math.max(240,Math.min(600,Mt-(Ve.clientX-mt))),!0)}function si(){re&&(re=!1,localStorage.setItem(ue,String(c(be)))),ve&&(ve=!1,localStorage.setItem(Pe,String(c(Ue))))}function Xe(Ve){ve=!0,mt=Ve.clientX,Mt=c(Ue),Ve.preventDefault()}async function et(){try{m(t,await mF(),!0)}catch{}}async function St(){try{m(d,await vF(),!0)}catch{}}async function Qt(Ve){m(i,Ve,!0),m(r,null),m(s,!0);try{const qt=await K$(Ve);m(n,JSON.stringify(qt,null,2),!0)}catch(qt){m(r,qt instanceof Error?qt.message:String(qt),!0)}finally{m(s,!1)}}async function fi(){if(c(i)){m(r,null);try{const Ve=JSON.parse(c(n));await d2(c(i),Ve)}catch(Ve){m(r,Ve instanceof Error?Ve.message:String(Ve),!0)}}}let oi;async function Bi(){if(c(i)&&await oi.show(`Delete document "${c(i)}"?`,{confirm:"Delete",danger:!0}))try{await Z$(c(i)),m(i,null),m(n,"{}")}catch(Ve){m(r,Ve instanceof Error?Ve.message:String(Ve),!0)}}async function _i(){const Ve=c(V).trim();if(Ve){m(X,null);try{await d2(Ve,{}),m(H,!1),m(V,""),await Qt(Ve)}catch(qt){m(X,qt instanceof Error?qt.message:String(qt),!0)}}}async function Ke(Ve){m(u,Ve,!0),m(I,null),m(A,!0),m(w,null);try{const qt=await X$(Ve);m(f,qt.filter??"",!0),m(g,qt.map,!0),m(p,qt.reduce??"",!0),m(C,qt.description??"",!0),m(b,qt.mqttpub??!1,!0),m(y,qt.retain??!1,!0),m(w,await UC(Ve).catch(()=>null),!0)}catch(qt){m(I,qt instanceof Error?qt.message:String(qt),!0)}finally{m(A,!1)}}async function ye(){if(c(u)){m(I,null);try{const Ve={map:c(g)};c(f).trim()&&(Ve.filter=c(f).trim()),c(p).trim()&&(Ve.reduce=c(p).trim()),c(C).trim()&&(Ve.description=c(C).trim()),c(b)&&(Ve.mqttpub=!0),c(y)&&(Ve.retain=!0),await u2(c(u),Ve)}catch(Ve){m(I,Ve instanceof Error?Ve.message:String(Ve),!0)}}}async function ti(){if(c(u))try{m(w,await UC(c(u)),!0)}catch(Ve){m(I,Ve instanceof Error?Ve.message:String(Ve),!0)}}async function Ei(){if(c(u)&&await oi.show(`Delete view "${c(u)}"?`,{confirm:"Delete",danger:!0}))try{await Y$(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(Ve){m(I,Ve instanceof Error?Ve.message:String(Ve),!0)}}async function Jt(){if(!c(se).trim())return;const Ve=c(se).trim();m(J,null);try{await u2(Ve,{map:"// emit(this.someProperty)"}),m(he,!1),m(se,""),await St(),await Ke(Ve)}catch(qt){m(J,qt instanceof Error?qt.message:String(qt),!0)}}let Vi=F(""),Yi=F(""),Ti=Ft(()=>[...c(t)].filter(Ve=>!c(Vi)||Ve.toLowerCase().includes(c(Vi).toLowerCase())).sort()),wn=Ft(()=>[...c(d)].filter(Ve=>!c(Yi)||Ve.toLowerCase().includes(c(Yi).toLowerCase())).sort());Xs(()=>{et(),St().then(()=>{c(u)&&c(d).includes(c(u))?Ke(c(u)):m(u,null)}),Pl().then(Di=>{const K=Di.dbPrefix||"she/db/",De=K.endsWith("/")?K:K+"/";m(M,De+"view/")}).catch(()=>{});const Ve=hr("db:ids",Di=>{m(t,Di.ids??[],!0)}),qt=hr("db:viewIds",Di=>{m(d,Di.ids??[],!0)}),Fi=hr("db:change",async Di=>{const K=Di.id;c(i)===K&&(Di.doc===null?(m(i,null),m(n,"{}")):m(n,JSON.stringify(Di.doc,null,2),!0))}),zi=hr("db:viewUpdate",async Di=>{const K=Di.id;c(u)===K&&m(w,await UC(K).catch(()=>null),!0)});return()=>{Ve(),qt(),Fi(),zi()}});var cn=iY(),gn=Et(cn);gs(Yc(gn,{}),Ve=>oi=Ve,()=>oi);var hn=v(gn,2),ft=_(hn),Ut=_(ft);let Ri;var qi=v(Ut,2);let bi;var Wi=v(qi,2);{var ji=Ve=>{var qt=WX();let Fi;j(()=>{Fi=kt(qt,1,"ai-toggle svelte-rrt0o",null,Fi,{"ai-open":c(Oe)}),ln(qt,"title",c(Oe)?"Close AI assistant":"Open AI assistant")}),U("click",qt,()=>m(Oe,!c(Oe))),D(Ve,qt)};z(Wi,Ve=>{c(T)==="views"&&Ve(ji)})}var Ji=v(ft,2);{var Si=Ve=>{var qt=$X(),Fi=_(qt);let zi;var Di=_(Fi),K=_(Di),De=v(Di,2);{var Qe=we=>{var di=zX(),Lt=Et(di),te=_(Lt),Ye=v(te,2),Bt=v(Lt,2);{var It=Dt=>{var Be=j2(),je=_(Be);j(()=>W(je,c(X))),D(Dt,Be)};z(Bt,Dt=>{c(X)&&Dt(It)})}U("keydown",te,Dt=>Dt.key==="Enter"&&_i()),Vt(te,()=>c(V),Dt=>m(V,Dt)),U("click",Ye,_i),D(we,di)};z(De,we=>{c(H)&&we(Qe)})}var tt=v(De,2),Gt=_(tt),ci=v(tt,2);ei(ci,20,()=>c(Ti),we=>we,(we,di)=>{var Lt=$2();let te;var Ye=_(Lt);j(()=>{te=kt(Lt,1,"flat-item svelte-rrt0o",null,te,{"active-item":c(i)===di}),W(Ye,di)}),U("click",Lt,()=>Qt(di)),D(we,Lt)});var vt=v(Fi,2),dt=v(vt,2),Y=_(dt);{var Te=we=>{var di=jX(),Lt=Et(di),te=_(Lt),Ye=_(te),Bt=v(te,2),It=v(Bt,2),Dt=v(Lt,2);{var Be=hi=>{var Xt=U2(),pe=_(Xt);j(()=>W(pe,c(r))),D(hi,Xt)};z(Dt,hi=>{c(r)&&hi(Be)})}var je=v(Dt,2);{var Kt=hi=>{var Xt=q2();D(hi,Xt)},ri=hi=>{var Xt=VX(),pe=_(Xt);ZC(pe,{language:"json",get value(){return c(n)},set value(Ge){m(n,Ge,!0)}}),D(hi,Xt)};z(je,hi=>{c(s)?hi(Kt):hi(ri,-1)})}j(()=>W(Ye,c(i))),U("click",Bt,fi),U("click",It,Bi),D(we,di)},lt=we=>{V2(we)};z(Y,we=>{c(i)?we(Te):we(lt,-1)})}j(()=>zi=qo(Fi,"",zi,{width:`${c(be)??""}px`})),U("click",K,()=>{m(H,!c(H)),m(X,null)}),Vt(Gt,()=>c(Vi),we=>m(Vi,we)),U("mousedown",vt,Ce),D(Ve,qt)},$i=Ve=>{var qt=tY(),Fi=_(qt);let zi;var Di=_(Fi),K=_(Di),De=v(Di,2);{var Qe=Lt=>{var te=UX(),Ye=Et(te),Bt=_(Ye),It=v(Bt,2),Dt=v(Ye,2);{var Be=je=>{var Kt=j2(),ri=_(Kt);j(()=>W(ri,c(J))),D(je,Kt)};z(Dt,je=>{c(J)&&je(Be)})}U("keydown",Bt,je=>je.key==="Enter"&&Jt()),Vt(Bt,()=>c(se),je=>m(se,je)),U("click",It,Jt),D(Lt,te)};z(De,Lt=>{c(he)&&Lt(Qe)})}var tt=v(De,2),Gt=_(tt),ci=v(tt,2);ei(ci,20,()=>c(wn),Lt=>Lt,(Lt,te)=>{var Ye=$2();let Bt;var It=_(Ye);j(()=>{Bt=kt(Ye,1,"flat-item svelte-rrt0o",null,Bt,{"active-item":c(u)===te}),W(It,te)}),U("click",Ye,()=>Ke(te)),D(Lt,Ye)});var vt=v(Fi,2),dt=v(vt,2),Y=_(dt);{var Te=Lt=>{var te=JX(),Ye=Et(te),Bt=_(Ye),It=_(Bt),Dt=v(Bt,2),Be=v(Dt,2),je=v(Be,2),Kt=v(Ye,2);{var ri=Ge=>{var ot=U2(),rt=_(ot);j(()=>W(rt,c(I))),D(Ge,ot)};z(Kt,Ge=>{c(I)&&Ge(ri)})}var hi=v(Kt,2);{var Xt=Ge=>{var ot=q2();D(Ge,ot)},pe=Ge=>{var ot=QX(),rt=_(ot),jt=v(_(rt),2),Ot=_(jt),Ci=v(rt,2),P=v(_(Ci),2),N=_(P),$=v(Ci,2),oe=v(_($),2),ne=_(oe);ZC(ne,{language:"javascript",onSave:ye,get value(){return c(g)},set value(Ee){m(g,Ee,!0)}});var ie=v($,2),ae=v(_(ie),2),Je=_(ae);ZC(Je,{language:"javascript",onSave:ye,get value(){return c(p)},set value(Ee){m(p,Ee,!0)}});var Le=v(ie,2),_e=_(Le),Ze=_(_e),Me=v(Ze,4),ct=v(_(Me)),Zt=_(ct),Z=v(_e,2);{var le=Ee=>{var He=qX(),wt=_(He);ys(wt,()=>c(y),gt=>m(y,gt)),D(Ee,He)};z(Z,Ee=>{c(b)&&Ee(le)})}var $e=v(Le,2);{var Pt=Ee=>{var He=YX(),wt=_(He),gt=v(_(wt));{var Ie=at=>{var Ne=GX();D(at,Ne)},ge=at=>{var Ne=KX(),ut=_(Ne);j(()=>W(ut,`${c(w).length??0??""} items · rev ${c(w)._rev??""}`)),D(at,Ne)};z(gt,at=>{c(w).error?at(Ie):at(ge,-1)})}var Re=v(wt,2);{var We=at=>{var Ne=ZX(),ut=_(Ne);j(()=>W(ut,c(w).error)),D(at,Ne)},it=at=>{var Ne=XX(),ut=_(Ne);j(fe=>W(ut,fe),[()=>JSON.stringify(c(w).result,null,2)]),D(at,Ne)};z(Re,at=>{c(w).error?at(We):at(it,-1)})}D(Ee,He)};z($e,Ee=>{c(w)&&Ee(Pt)})}j(()=>W(Zt,`${c(M)??""}${c(u)??""} on every update`)),Vt(Ot,()=>c(C),Ee=>m(C,Ee)),Vt(N,()=>c(f),Ee=>m(f,Ee)),ys(Ze,()=>c(b),Ee=>m(b,Ee)),D(Ge,ot)};z(hi,Ge=>{c(A)?Ge(Xt):Ge(pe,-1)})}j(()=>W(It,c(u))),U("click",Dt,ye),U("click",Be,ti),U("click",je,Ei),D(Lt,te)},lt=Lt=>{V2(Lt)};z(Y,Lt=>{c(u)?Lt(Te):Lt(lt,-1)})}var we=v(dt,2);{var di=Lt=>{var te=eY(),Ye=Et(te),Bt=v(Ye,2);let It;var Dt=_(Bt);NX(Dt,{get currentView(){return c(st)},onApplyView:yt}),j(()=>It=qo(Bt,"",It,{width:`${c(Ue)??""}px`})),U("mousedown",Ye,Xe),D(Lt,te)};z(we,Lt=>{c(Oe)&&Lt(di)})}j(()=>zi=qo(Fi,"",zi,{width:`${c(be)??""}px`})),U("click",K,()=>{m(he,!c(he)),m(J,null)}),Vt(Gt,()=>c(Yi),Lt=>m(Yi,Lt)),U("mousedown",vt,Ce),D(Ve,qt)};z(Ji,Ve=>{c(T)==="docs"?Ve(Si):Ve($i,-1)})}j(()=>{Ri=kt(Ut,1,"svelte-rrt0o",null,Ri,{active:c(T)==="docs"}),bi=kt(qi,1,"svelte-rrt0o",null,bi,{active:c(T)==="views"})}),U("mousemove",hn,Nt),U("mouseup",hn,si),xs("mouseleave",hn,si),U("click",Ut,()=>m(T,"docs")),U("click",qi,()=>m(T,"views")),D(o,cn),$s()}Ys(["mousemove","mouseup","click","keydown","mousedown"]);var Em={exports:{}},sY=Em.exports,G2;function oY(){return G2||(G2=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:sY,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(H){w[H]=y[H]||w[H]});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,T=M.inverted,V=u(I?T:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(I?R:T)),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 T=Math.ceil(p/r),V=Math.ceil(C/r),H=new u(T,V),X=0;X<V;X++)for(var se=0;se<T;se++){for(var he=0,J=1/0,ue=0,A=0;A<r;A++)for(var w=0;w<r;w++){var be=y.get(se*r+w,X*r+A);he+=be,J=Math.min(J,be),ue=Math.max(ue,be)}var re=he/Math.pow(r,2);if(ue-J<=a&&(re=J/2,X>0&&se>0)){var ce=(H.get(se,X-1)+2*H.get(se-1,X)+H.get(se-1,X-1))/4;J<ce&&(re=ce)}H.set(se,X,re)}var ke=s.BitMatrix.createEmpty(p,C),Pe=null;b&&(Pe=s.BitMatrix.createEmpty(p,C));for(var X=0;X<V;X++)for(var se=0;se<T;se++){for(var xe=d(se,2,T-3),Oe=d(X,2,V-3),he=0,Ue=-2;Ue<=2;Ue++)for(var ve=-2;ve<=2;ve++)he+=H.get(xe+Ue,Oe+ve);for(var mt=he/25,Ue=0;Ue<r;Ue++)for(var ve=0;ve<r;ve++){var w=se*r+Ue,A=X*r+ve,Mt=y.get(w,A);ke.set(w,A,Mt<=mt),b&&Pe.set(w,A,!(Mt<=mt))}}return b?{binarized:ke,inverted:Pe}:{binarized:ke}}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,T){for(var V=R^T,H=0;V;)H++,V&=V-1;return H}function f(R,T){return T<<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 T=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(T,T);V.setRegion(0,0,9,9,!0),V.setRegion(T-8,0,8,9,!0),V.setRegion(0,T-8,9,8,!0);for(var H=0,X=R.alignmentPatternCenters;H<X.length;H++)for(var se=X[H],he=0,J=R.alignmentPatternCenters;he<J.length;he++){var ue=J[he];se===6&&ue===6||se===6&&ue===T-7||se===T-7&&ue===6||V.setRegion(se-2,ue-2,5,5,!0)}return V.setRegion(6,9,1,T-17,!0),V.setRegion(9,6,T-17,1,!0),R.versionNumber>6&&(V.setRegion(T-11,0,3,6,!0),V.setRegion(0,T-11,6,3,!0)),V}function b(R,T,V){for(var H=p[V.dataMask],X=R.height,se=C(T),he=[],J=0,ue=0,be=!0,re=X-1;re>0;re-=2){re===6&&re--;for(var ce=0;ce<X;ce++)for(var ke=be?X-1-ce:ce,Pe=0;Pe<2;Pe++){var xe=re-Pe;if(!se.get(xe,ke)){ue++;var Oe=R.get(xe,ke);H({y:ke,x:xe})&&(Oe=!Oe),J=f(Oe,J),ue===8&&(he.push(J),ue=0,J=0)}}be=!be}return he}function y(R){var T=R.height,V=Math.floor((T-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var H=0,X=5;X>=0;X--)for(var se=T-9;se>=T-11;se--)H=f(R.get(se,X),H);for(var he=0,se=5;se>=0;se--)for(var X=T-9;X>=T-11;X--)he=f(R.get(se,X),he);for(var J=1/0,ue,be=0,re=d.VERSIONS;be<re.length;be++){var ce=re[be];if(ce.infoBits===H||ce.infoBits===he)return ce;var ke=u(H,ce.infoBits);ke<J&&(ue=ce,J=ke),ke=u(he,ce.infoBits),ke<J&&(ue=ce,J=ke)}if(J<=3)return ue}function w(R){for(var T=0,V=0;V<=8;V++)V!==6&&(T=f(R.get(V,8),T));for(var H=7;H>=0;H--)H!==6&&(T=f(R.get(8,H),T));for(var X=R.height,se=0,H=X-1;H>=X-7;H--)se=f(R.get(8,H),se);for(var V=X-8;V<X;V++)se=f(R.get(V,8),se);for(var he=1/0,J=null,ue=0,be=g;ue<be.length;ue++){var re=be[ue],ce=re.bits,ke=re.formatInfo;if(ce===T||ce===se)return ke;var Pe=u(T,ce);Pe<he&&(J=ke,he=Pe),T!==se&&(Pe=u(se,ce),Pe<he&&(J=ke,he=Pe))}return he<=3?J:null}function A(R,T,V){var H=T.errorCorrectionLevels[V],X=[],se=0;if(H.ecBlocks.forEach(function(Oe){for(var Ue=0;Ue<Oe.numBlocks;Ue++)X.push({numDataCodewords:Oe.dataCodewordsPerBlock,codewords:[]}),se+=Oe.dataCodewordsPerBlock+H.ecCodewordsPerBlock}),R.length<se)return null;R=R.slice(0,se);for(var he=H.ecBlocks[0].dataCodewordsPerBlock,J=0;J<he;J++)for(var ue=0,be=X;ue<be.length;ue++){var re=be[ue];re.codewords.push(R.shift())}if(H.ecBlocks.length>1)for(var ce=H.ecBlocks[0].numBlocks,ke=H.ecBlocks[1].numBlocks,J=0;J<ke;J++)X[ce+J].codewords.push(R.shift());for(;R.length>0;)for(var Pe=0,xe=X;Pe<xe.length;Pe++){var re=xe[Pe];re.codewords.push(R.shift())}return X}function I(R){var T=y(R);if(!T)return null;var V=w(R);if(!V)return null;var H=b(R,T,V),X=A(H,T,V.errorCorrectionLevel);if(!X)return null;for(var se=X.reduce(function(Pe,xe){return Pe+xe.numDataCodewords},0),he=new Uint8ClampedArray(se),J=0,ue=0,be=X;ue<be.length;ue++){var re=be[ue],ce=a.decode(re.codewords,re.codewords.length-re.numDataCodewords);if(!ce)return null;for(var ke=0;ke<re.numDataCodewords;ke++)he[J++]=ce[ke]}try{return r.decode(he,T.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var T=I(R);if(T)return T;for(var V=0;V<R.width;V++)for(var H=V+1;H<R.height;H++)R.get(V,H)!==R.get(H,V)&&(R.set(V,H,!R.get(V,H)),R.set(H,V,!R.get(H,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 T=y.readBits(10);if(T>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(T/100),H=Math.floor(T/10)%10,X=T%10;A.push(48+V,48+H,48+X),I+=V.toString()+H.toString()+X.toString(),R-=3}if(R===2){var T=y.readBits(7);if(T>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(T/10),H=T%10;A.push(48+V,48+H),I+=V.toString()+H.toString()}else if(R===1){var T=y.readBits(4);if(T>=10)throw new Error("Invalid numeric value above 9");A.push(48+T),I+=T.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 T=y.readBits(11),V=Math.floor(T/45),H=T%45;A.push(f[V].charCodeAt(0),f[H].charCodeAt(0)),I+=f[V]+f[H],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),T=0;T<R;T++){var V=y.readBits(8);A.push(V)}try{I+=decodeURIComponent(A.map(function(H){return"%"+("0"+H.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),T=0;T<R;T++){var V=y.readBits(13),H=Math.floor(V/192)<<8|V%192;H<7936?H+=33088:H+=49472,A.push(H>>8,H&255),I+=String.fromCharCode(r.shiftJISTable[H])}return{bytes:A,text:I}}function b(y,w){for(var A,I,M,R,T=new s.BitStream(y),V=w<=9?0:w<=26?1:2,H={text:"",bytes:[],chunks:[],version:w};T.available()>=4;){var X=T.readBits(4);if(X===d.Terminator)return H;if(X===d.ECI)T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(7)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(14)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(21)}):H.chunks.push({type:a.ECI,assignmentNumber:-1});else if(X===d.Numeric){var se=u(T,V);H.text+=se.text,(A=H.bytes).push.apply(A,se.bytes),H.chunks.push({type:a.Numeric,text:se.text})}else if(X===d.Alphanumeric){var he=g(T,V);H.text+=he.text,(I=H.bytes).push.apply(I,he.bytes),H.chunks.push({type:a.Alphanumeric,text:he.text})}else if(X===d.Byte){var J=p(T,V);H.text+=J.text,(M=H.bytes).push.apply(M,J.bytes),H.chunks.push({type:a.Byte,bytes:J.bytes,text:J.text})}else if(X===d.Kanji){var ue=C(T,V);H.text+=ue.text,(R=H.bytes).push.apply(R,ue.bytes),H.chunks.push({type:a.Kanji,bytes:ue.bytes,text:ue.text})}}if(T.available()===0||T.readBits(T.available())===0)return H}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,T=I;if(w=A,I=M,w.isZero())return null;A=R;for(var V=g.zero,H=w.getCoefficient(w.degree()),X=g.inverse(H);A.degree()>=w.degree()&&!A.isZero();){var se=A.degree()-w.degree(),he=g.multiply(A.getCoefficient(A.degree()),X);V=V.addOrSubtract(g.buildMonomial(se,he)),A=A.addOrSubtract(w.multiplyByMonomial(se,he))}if(M=V.multiplyPoly(I).addOrSubtract(T),A.degree()>=w.degree())return null}var J=M.getCoefficient(0);if(J===0)return null;var ue=g.inverse(J);return[M.multiply(ue),A.multiply(ue)]}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),T=a(b,b.buildMonomial(p,1),R,p);if(T===null)return null;var V=d(b,T[0]);if(V==null)return null;for(var H=u(b,T[1],V),X=0;X<V.length;X++){var se=C.length-1-b.log(V[X]);if(se<0)return null;C[se]=s.addOrSubtractGF(C[se],H[X])}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,T=(b*M-A*y)/R,V=(w*y-b*I)/R;return{a11:g.x-f.x+T*g.x,a12:g.y-f.y+T*g.y,a13:T,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,H){var X=b.a13*V+b.a23*H+b.a33;return{x:(b.a11*V+b.a21*H+b.a31)/X,y:(b.a12*V+b.a22*H+b.a32)/X}},A=0;A<g.dimension;A++)for(var I=0;I<g.dimension;I++){var M=I+.5,R=A+.5,T=w(M,R);y.set(I,A,f.get(Math.floor(T.x),Math.floor(T.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,T){return R+T})}function f(M,R,T){var V,H,X,se,he=d(M,R),J=d(R,T),ue=d(M,T),be,re,ce;return J>=he&&J>=ue?(V=[R,M,T],be=V[0],re=V[1],ce=V[2]):ue>=J&&ue>=he?(H=[M,R,T],be=H[0],re=H[1],ce=H[2]):(X=[M,T,R],be=X[0],re=X[1],ce=X[2]),(ce.x-re.x)*(be.y-re.y)-(ce.y-re.y)*(be.x-re.x)<0&&(se=[ce,be],be=se[0],ce=se[1]),{bottomLeft:be,topLeft:re,topRight:ce}}function g(M,R,T,V){var H=(u(C(M,T,V,5))/7+u(C(M,R,V,5))/7+u(C(T,M,V,5))/7+u(C(R,M,V,5))/7)/4;if(H<1)throw new Error("Invalid module size");var X=Math.round(d(M,R)/H),se=Math.round(d(M,T)/H),he=Math.floor((X+se)/2)+7;switch(he%4){case 0:he++;break;case 2:he--;break}return{dimension:he,moduleSize:H}}function p(M,R,T,V){var H=[{x:Math.floor(M.x),y:Math.floor(M.y)}],X=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),se,he,J,ue;X?(se=Math.floor(M.y),he=Math.floor(M.x),J=Math.floor(R.y),ue=Math.floor(R.x)):(se=Math.floor(M.x),he=Math.floor(M.y),J=Math.floor(R.x),ue=Math.floor(R.y));for(var be=Math.abs(J-se),re=Math.abs(ue-he),ce=Math.floor(-be/2),ke=se<J?1:-1,Pe=he<ue?1:-1,xe=!0,Oe=se,Ue=he;Oe!==J+ke;Oe+=ke){var ve=X?Ue:Oe,mt=X?Oe:Ue;if(T.get(ve,mt)!==xe&&(xe=!xe,H.push({x:ve,y:mt}),H.length===V+1))break;if(ce+=re,ce>0){if(Ue===ue)break;Ue+=Pe,ce-=be}}for(var Mt=[],st=0;st<V;st++)H[st]&&H[st+1]?Mt.push(d(H[st],H[st+1])):Mt.push(0);return Mt}function C(M,R,T,V){var H,X=R.y-M.y,se=R.x-M.x,he=p(M,R,T,Math.ceil(V/2)),J=p(M,{x:M.x-se,y:M.y-X},T,Math.ceil(V/2)),ue=he.shift()+J.shift()-1;return(H=J.concat(ue)).concat.apply(H,he)}function b(M,R){var T=u(M)/u(R),V=0;return R.forEach(function(H,X){V+=Math.pow(M[X]-H*T,2)}),{averageSize:T,error:V}}function y(M,R,T){try{var V=C(M,{x:-1,y:M.y},T,R.length),H=C(M,{x:M.x,y:-1},T,R.length),X={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},se=C(M,X,T,R.length),he={x:Math.min(T.width,M.x+M.y)+1,y:Math.min(T.height,M.y+M.x)+1},J=C(M,he,T,R.length),ue=b(V,R),be=b(H,R),re=b(se,R),ce=b(J,R),ke=Math.sqrt(ue.error*ue.error+be.error*be.error+re.error*re.error+ce.error*ce.error),Pe=(ue.averageSize+be.averageSize+re.averageSize+ce.averageSize)/4,xe=(Math.pow(ue.averageSize-Pe,2)+Math.pow(be.averageSize-Pe,2)+Math.pow(re.averageSize-Pe,2)+Math.pow(ce.averageSize-Pe,2))/Pe;return ke+xe}catch{return 1/0}}function w(M,R){for(var T=Math.round(R.x);M.get(T,Math.round(R.y));)T--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var H=(T+V)/2,X=Math.round(R.y);M.get(Math.round(H),X);)X--;for(var se=Math.round(R.y);M.get(Math.round(H),se);)se++;var he=(X+se)/2;return{x:H,y:he}}function A(M){for(var R=[],T=[],V=[],H=[],X=function(ve){for(var mt=0,Mt=!1,st=[0,0,0,0,0],yt=function(Nt){var si=M.get(Nt,ve);if(si===Mt)mt++;else{st=[st[1],st[2],st[3],st[4],mt],mt=1,Mt=si;var Xe=u(st)/7,et=Math.abs(st[0]-Xe)<Xe&&Math.abs(st[1]-Xe)<Xe&&Math.abs(st[2]-3*Xe)<3*Xe&&Math.abs(st[3]-Xe)<Xe&&Math.abs(st[4]-Xe)<Xe&&!si,St=u(st.slice(-3))/3,Qt=Math.abs(st[2]-St)<St&&Math.abs(st[3]-St)<St&&Math.abs(st[4]-St)<St&&si;if(et){var fi=Nt-st[3]-st[4],oi=fi-st[2],Bi={startX:oi,endX:fi,y:ve},_i=T.filter(function(ti){return oi>=ti.bottom.startX&&oi<=ti.bottom.endX||fi>=ti.bottom.startX&&oi<=ti.bottom.endX||oi<=ti.bottom.startX&&fi>=ti.bottom.endX&&st[2]/(ti.bottom.endX-ti.bottom.startX)<a&&st[2]/(ti.bottom.endX-ti.bottom.startX)>r});_i.length>0?_i[0].bottom=Bi:T.push({top:Bi,bottom:Bi})}if(Qt){var Ke=Nt-st[4],ye=Ke-st[3],Bi={startX:ye,y:ve,endX:Ke},_i=H.filter(function(Jt){return ye>=Jt.bottom.startX&&ye<=Jt.bottom.endX||Ke>=Jt.bottom.startX&&ye<=Jt.bottom.endX||ye<=Jt.bottom.startX&&Ke>=Jt.bottom.endX&&st[2]/(Jt.bottom.endX-Jt.bottom.startX)<a&&st[2]/(Jt.bottom.endX-Jt.bottom.startX)>r});_i.length>0?_i[0].bottom=Bi:H.push({top:Bi,bottom:Bi})}}},Ce=-1;Ce<=M.width;Ce++)yt(Ce);R.push.apply(R,T.filter(function(Nt){return Nt.bottom.y!==ve&&Nt.bottom.y-Nt.top.y>=2})),T=T.filter(function(Nt){return Nt.bottom.y===ve}),V.push.apply(V,H.filter(function(Nt){return Nt.bottom.y!==ve})),H=H.filter(function(Nt){return Nt.bottom.y===ve})},se=0;se<=M.height;se++)X(se);R.push.apply(R,T.filter(function(ve){return ve.bottom.y-ve.top.y>=2})),V.push.apply(V,H);var he=R.filter(function(ve){return ve.bottom.y-ve.top.y>=2}).map(function(ve){var mt=(ve.top.startX+ve.top.endX+ve.bottom.startX+ve.bottom.endX)/4,Mt=(ve.top.y+ve.bottom.y+1)/2;if(M.get(Math.round(mt),Math.round(Mt))){var st=[ve.top.endX-ve.top.startX,ve.bottom.endX-ve.bottom.startX,ve.bottom.y-ve.top.y+1],yt=u(st)/st.length,Ce=y({x:Math.round(mt),y:Math.round(Mt)},[1,1,3,1,1],M);return{score:Ce,x:mt,y:Mt,size:yt}}}).filter(function(ve){return!!ve}).sort(function(ve,mt){return ve.score-mt.score}).map(function(ve,mt,Mt){if(mt>s)return null;var st=Mt.filter(function(Ce,Nt){return mt!==Nt}).map(function(Ce){return{x:Ce.x,y:Ce.y,score:Ce.score+Math.pow(Ce.size-ve.size,2)/ve.size,size:Ce.size}}).sort(function(Ce,Nt){return Ce.score-Nt.score});if(st.length<2)return null;var yt=ve.score+st[0].score+st[1].score;return{points:[ve].concat(st.slice(0,2)),score:yt}}).filter(function(ve){return!!ve}).sort(function(ve,mt){return ve.score-mt.score});if(he.length===0)return null;var J=f(he[0].points[0],he[0].points[1],he[0].points[2]),ue=J.topRight,be=J.topLeft,re=J.bottomLeft,ce=I(M,V,ue,be,re),ke=[];ce&&ke.push({alignmentPattern:{x:ce.alignmentPattern.x,y:ce.alignmentPattern.y},bottomLeft:{x:re.x,y:re.y},dimension:ce.dimension,topLeft:{x:be.x,y:be.y},topRight:{x:ue.x,y:ue.y}});var Pe=w(M,ue),xe=w(M,be),Oe=w(M,re),Ue=I(M,V,Pe,xe,Oe);return Ue&&ke.push({alignmentPattern:{x:Ue.alignmentPattern.x,y:Ue.alignmentPattern.y},bottomLeft:{x:Oe.x,y:Oe.y},topLeft:{x:xe.x,y:xe.y},topRight:{x:Pe.x,y:Pe.y},dimension:Ue.dimension}),ke.length===0?null:ke}i.locate=A;function I(M,R,T,V,H){var X,se,he;try{X=g(V,T,H,M),se=X.dimension,he=X.moduleSize}catch{return null}var J={x:T.x-V.x+H.x,y:T.y-V.y+H.y},ue=(d(V,H)+d(V,T))/2/he,be=1-3/ue,re={x:V.x+be*(J.x-V.x),y:V.y+be*(J.y-V.y)},ce=R.map(function(Pe){var xe=(Pe.top.startX+Pe.top.endX+Pe.bottom.startX+Pe.bottom.endX)/4,Oe=(Pe.top.y+Pe.bottom.y+1)/2;if(M.get(Math.floor(xe),Math.floor(Oe))){var Ue=[Pe.top.endX-Pe.top.startX,Pe.bottom.endX-Pe.bottom.startX,Pe.bottom.y-Pe.top.y+1];u(Ue)/Ue.length;var ve=y({x:Math.floor(xe),y:Math.floor(Oe)},[1,1,1],M),mt=ve+d({x:xe,y:Oe},re);return{x:xe,y:Oe,score:mt}}}).filter(function(Pe){return!!Pe}).sort(function(Pe,xe){return Pe.score-xe.score}),ke=ue>=15&&ce.length?ce[0]:re;return{alignmentPattern:ke,dimension:se}}})]).default})})(Em)),Em.exports}var rY=oY();const aY=fS(rY);var lY=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),cY=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),K2=B('<p class="err svelte-1ua3isv"> </p>'),dY=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>'),uY=B('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),hY=B('<span class="device-name svelte-1ua3isv"> </span>'),fY=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>'),gY=B('<li class="empty svelte-1ua3isv">No paired devices</li>'),pY=B('<p class="info svelte-1ua3isv">Loading…</p>'),xY=B('<p class="device-subtitle svelte-1ua3isv"> </p>'),mY=B('<span class="ep-chip svelte-1ua3isv"> </span>'),vY=B('<span class="attr-id svelte-1ua3isv"> </span>'),_Y=B('<button class="attr-action-btn svelte-1ua3isv"> </button>'),bY=B('<div class="attr-actions svelte-1ua3isv"></div>'),CY=B('<span class="cmd-sep svelte-1ua3isv">,</span>'),EY=B('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),yY=B('<span class="cmd-id svelte-1ua3isv"> </span>'),wY=B("<!> <!>",1),SY=B('<span class="cmd-list svelte-1ua3isv"></span>'),DY=B(' <span class="cmd-id svelte-1ua3isv"> </span>',1),AY=B('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),kY=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>'),BY=B('<th class="svelte-1ua3isv"> </th>'),FY=B('<td class="svelte-1ua3isv"> </td>'),LY=B('<tr class="svelte-1ua3isv"></tr>'),IY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),PY=B('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),TY=B('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),MY=B('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),RY=B('<span class="attr-val svelte-1ua3isv"> </span>'),NY=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>'),OY=B('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),HY=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>'),WY=B('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),zY=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>'),VY=B('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),jY=B('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),$Y=B('<span class="stream-badge svelte-1ua3isv"> </span>'),UY=B('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),XC=B('&nbsp;<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),GY=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),KY=B('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),ZY=B('<div class="stream-body svelte-1ua3isv"><!></div>'),XY=B('<p class="scan-err svelte-1ua3isv"> </p>'),YY=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),QY=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),JY=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 eQ(o,e){js(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(Y,Te,lt,we,di){try{await cU(Y,Te,lt,we,di)}catch(Lt){console.error("matter command failed",Lt)}}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(Y,Te){const lt=n[Y];return Te.map(we=>{const di=typeof we=="number"?we:Number(we);return{id:di,name:(lt==null?void 0:lt[di])??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(Y){return"0x"+Y.toString(16).toUpperCase().padStart(4,"0")}let f=F(Pi([])),g=Pi(new Map);function p(Y){if(Y==null)return"—";if(typeof Y=="boolean"||typeof Y=="number")return String(Y);if(typeof Y=="string")return Y.length>50?Y.slice(0,47)+"…":Y;const Te=JSON.stringify(Y);return Te.length>60?Te.slice(0,57)+"…":Te}function C(Y){return Y==null?"—":typeof Y=="boolean"||typeof Y=="number"?String(Y):typeof Y=="string"?Y:JSON.stringify(Y)}function b(Y){return Y!==null&&typeof Y=="object"&&!Array.isArray(Y)}function y(Y){return Array.isArray(Y)&&Y.length>0&&Y.every(b)}function w(Y,Te){return!!(Te==="attributeList"||Array.isArray(Y)&&Y.length===0||b(Y)&&Object.keys(Y).length===0)}function A(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const I=500,M=20,R=32;let T=0,V=F(Pi([])),H=F(!0),X=F(180),se=Ft(()=>{const Y=Math.max(1,Math.floor((c(X)-R)/M)+1);return c(V).slice(0,Y)});function he(Y){Y.preventDefault();const Te=Y.clientY,lt=c(X);function we(Lt){m(X,Math.max(60,Math.min(600,lt+Te-Lt.clientY)),!0)}function di(){document.removeEventListener("mousemove",we),document.removeEventListener("mouseup",di)}document.addEventListener("mousemove",we),document.addEventListener("mouseup",di)}let J=F(null),ue=F(!1),be=F(null),re=F(!1),ce=F("passcode"),ke=F(""),Pe=F(""),xe=F(""),Oe=F(!1),Ue=F(null),ve=F(""),mt=F(!1),Mt=F(""),st=F(void 0),yt=F(void 0),Ce=null,Nt=null;function si(){Nt!==null&&(cancelAnimationFrame(Nt),Nt=null),Ce&&(Ce.getTracks().forEach(Y=>Y.stop()),Ce=null),m(mt,!1),m(Mt,"")}function Xe(Y){si(),m(ce,"pairingCode"),m(xe,Y,!0)}function et(){if(!c(yt))return null;const Y=c(yt).getContext("2d",{willReadFrequently:!0}),{width:Te,height:lt}=c(yt);if(!Te||!lt)return null;const we=Y.getImageData(0,0,Te,lt);return aY(we.data,we.width,we.height,{inversionAttempts:"dontInvert"})}async function St(){if(m(mt,!0),m(Mt,""),await hl(),!c(st)||!c(yt))return;try{Ce=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(st).srcObject=Ce,await c(st).play()}catch(Te){m(Mt,"Camera unavailable: "+(Te instanceof Error?Te.message:String(Te)));return}const Y=()=>{var Te;if(!(!c(st)||!c(yt)||!Ce)){if(c(st).readyState===c(st).HAVE_ENOUGH_DATA){c(yt).width=c(st).videoWidth,c(yt).height=c(st).videoHeight,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(c(st),0,0);const we=et();if((Te=we==null?void 0:we.data)!=null&&Te.startsWith("MT:")){Xe(we.data);return}}Nt=requestAnimationFrame(Y)}};Nt=requestAnimationFrame(Y)}function Qt(Y){var we;const Te=(we=Y.target.files)==null?void 0:we[0];if(!Te)return;const lt=new FileReader;lt.onload=di=>{const Lt=new Image;Lt.onload=()=>{var Bt;if(!c(yt))return;c(yt).width=Lt.width,c(yt).height=Lt.height,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(Lt,0,0);const Ye=et();(Bt=Ye==null?void 0:Ye.data)!=null&&Bt.startsWith("MT:")?Xe(Ye.data):m(Mt,"No Matter QR code found in image.")},Lt.src=di.target.result},lt.readAsDataURL(Te)}const fi="she:matter:selectedNodeId";async function oi(){try{m(f,await cS(),!0);for(const Y of c(f))_m(Y.nodeId).then(Te=>{g.set(Y.nodeId,Te)}).catch(()=>{});if(c(f).length>0&&!c(J)){const Y=localStorage.getItem(fi),Te=Y&&c(f).find(lt=>lt.nodeId===Y)?Y:c(f)[0].nodeId;Bi(Te)}}catch{m(f,[],!0)}}async function Bi(Y){m(ue,!0),m(be,null);try{m(J,await _m(Y),!0),g.set(Y,c(J)),localStorage.setItem(fi,Y)}catch(Te){m(be,Te instanceof Error?Te.message:String(Te),!0)}finally{m(ue,!1)}}let _i;async function Ke(Y){var Te;if(await _i.show(`Unpair device ${Y}?`,{confirm:"Unpair",danger:!0}))try{await lU(Y),((Te=c(J))==null?void 0:Te.nodeId)===Y&&m(J,null),await oi()}catch(lt){m(be,lt instanceof Error?lt.message:String(lt),!0)}}async function ye(){m(Oe,!0),m(Ue,null);try{let Y;c(ce)==="passcode"?(Y={passcode:Number(c(ke))},c(Pe)&&(Y={...Y,discriminator:Number(c(Pe))})):Y={pairingCode:c(xe).trim()},c(ve).trim()&&(Y={...Y,discoveryAddress:c(ve).trim()}),await aU(Y),m(re,!1),m(ke,""),m(Pe,""),m(xe,""),m(ve,""),await oi()}catch(Y){m(Ue,Y instanceof Error?Y.message:String(Y),!0)}finally{m(Oe,!1)}}Xs(()=>{oi()});const ti=hr("matter:deviceList",Y=>{if(!Array.isArray(Y.devices))return;const Te=Y.devices;for(const lt of Te)g.has(lt.nodeId)||_m(lt.nodeId).then(we=>{g.set(lt.nodeId,we)}).catch(()=>{});m(f,Te,!0)}),Ei=hr("matter:deviceStatus",Y=>{if(Y.nodeId===void 0)return;const Te=String(Y.nodeId),lt=!!Y.online;m(f,c(f).map(we=>we.nodeId===Te?{...we,online:lt}:we),!0),m(V,[{id:T++,kind:"status",nodeId:Te,online:lt,ts:Date.now()},...c(V).slice(0,I-1)],!0)}),Jt=hr("matter:attr",Y=>{const Te=String(Y.nodeId),lt=Y.endpointId,we=String(Y.clusterName),di=String(Y.attrName),Lt=Y.value;if(c(J)&&c(J).nodeId===Te){const Ye=c(J).endpoints.find(It=>It.endpointId===lt),Bt=Ye==null?void 0:Ye.clusters.find(It=>It.name===we);Bt&&(Bt.attrs[di]=Lt)}const te=g.get(Te);if(te){const Ye=te.endpoints.find(It=>It.endpointId===lt),Bt=Ye==null?void 0:Ye.clusters.find(It=>It.name===we);Bt&&(Bt.attrs[di]=Lt)}m(V,[{id:T++,kind:"attr",nodeId:Te,endpointId:lt,clusterName:we,attrName:di,value:Lt,ts:Y.ts??Date.now()},...c(V).slice(0,I-1)],!0)});Vp(()=>{ti(),Ei(),Jt(),si()});var Vi=JY(),Yi=Et(Vi);gs(Yc(Yi,{}),Y=>_i=Y,()=>_i);var Ti=v(Yi,2),wn=_(Ti),cn=_(wn),gn=_(cn),hn=v(_(gn),2),ft=v(gn,2);{var Ut=Y=>{var Te=dY(),lt=_(Te),we=_(lt);let di;var Lt=v(we,2);let te;var Ye=v(lt,2);{var Bt=Xt=>{var pe=lY(),Ge=Et(pe),ot=v(_(Ge)),rt=v(Ge,2),jt=v(_(rt));Vt(ot,()=>c(ke),Ot=>m(ke,Ot)),Vt(jt,()=>c(Pe),Ot=>m(Pe,Ot)),D(Xt,pe)},It=Xt=>{var pe=cY(),Ge=Et(pe),ot=v(_(Ge)),rt=v(Ge,2),jt=_(rt),Ot=v(jt,2),Ci=v(_(Ot),2);Vt(ot,()=>c(xe),P=>m(xe,P)),U("click",jt,St),U("change",Ci,Qt),D(Xt,pe)};z(Ye,Xt=>{c(ce)==="passcode"?Xt(Bt):Xt(It,-1)})}var Dt=v(Ye,2),Be=v(_(Dt)),je=v(Dt,2);{var Kt=Xt=>{var pe=K2(),Ge=_(pe);j(()=>W(Ge,c(Ue))),D(Xt,pe)};z(je,Xt=>{c(Ue)&&Xt(Kt)})}var ri=v(je,2),hi=_(ri);j(()=>{di=kt(we,1,"svelte-1ua3isv",null,di,{active:c(ce)==="passcode"}),te=kt(Lt,1,"svelte-1ua3isv",null,te,{active:c(ce)==="pairingCode"}),ri.disabled=c(Oe),W(hi,c(Oe)?"Commissioning…":"Commission")}),U("click",we,()=>m(ce,"passcode")),U("click",Lt,()=>m(ce,"pairingCode")),Vt(Be,()=>c(ve),Xt=>m(ve,Xt)),U("click",ri,ye),D(Y,Te)};z(ft,Y=>{c(re)&&Y(Ut)})}var Ri=v(ft,2),qi=_(Ri);ei(qi,17,()=>c(f),Y=>Y.nodeId,(Y,Te)=>{var lt=fY();let we;var di=_(lt),Lt=_(di);let te;var Ye=v(Lt,2),Bt=_(Ye);{var It=je=>{var Kt=uY(),ri=Et(Kt),hi=_(ri),Xt=v(ri,2),pe=_(Xt);j(()=>{W(hi,c(Te).name),W(pe,`#${c(Te).nodeId??""}`)}),D(je,Kt)},Dt=je=>{var Kt=hY(),ri=_(Kt);j(()=>W(ri,`Node ${c(Te).nodeId??""}`)),D(je,Kt)};z(Bt,je=>{c(Te).name?je(It):je(Dt,-1)})}var Be=v(di,2);j(()=>{var je;we=kt(lt,1,"svelte-1ua3isv",null,we,{selected:((je=c(J))==null?void 0:je.nodeId)===c(Te).nodeId}),te=kt(Lt,1,"status-dot svelte-1ua3isv",null,te,{online:c(Te).online})}),U("click",di,()=>Bi(c(Te).nodeId)),U("click",Be,()=>Ke(c(Te).nodeId)),D(Y,lt)});var bi=v(qi,2);{var Wi=Y=>{var Te=gY();D(Y,Te)};z(bi,Y=>{c(f).length===0&&Y(Wi)})}var ji=v(cn,2),Ji=_(ji);{var Si=Y=>{var Te=pY();D(Y,Te)},$i=Y=>{var Te=K2(),lt=_(Te);j(()=>W(lt,c(be))),D(Y,Te)},Ve=Y=>{var Te=VY(),lt=Et(Te),we=_(lt),di=_(we),Lt=v(we,2);{var te=Dt=>{var Be=xY(),je=_(Be);j(()=>W(je,c(J).subtitle)),D(Dt,Be)};z(Lt,Dt=>{c(J).subtitle&&Dt(te)})}var Ye=v(Lt,2),Bt=_(Ye),It=v(lt,2);ei(It,17,()=>c(J).endpoints,Dt=>Dt.endpointId,(Dt,Be)=>{var je=zY(),Kt=_(je),ri=_(Kt),hi=v(ri),Xt=_(hi),pe=v(hi,2);ei(pe,21,()=>c(Be).clusters,Hi,(jt,Ot)=>{var Ci=mY(),P=_(Ci);j(()=>W(P,c(Ot).name)),D(jt,Ci)});var Ge=v(Kt,2);{var ot=jt=>{var Ot=HY(),Ci=v(_(Ot));ei(Ci,21,()=>c(Be).clusters,Hi,(P,N)=>{var $=OY(),oe=Et($),ne=_(oe),ie=_(ne),ae=v(oe,2);ei(ae,17,()=>Object.entries(c(N).attrs),Hi,(Je,Le)=>{var _e=Ft(()=>l8(c(Le),2));let Ze=()=>c(_e)[0],Me=()=>c(_e)[1];var ct=ws(),Zt=Et(ct);{var Z=$e=>{const Pt=Ft(()=>{var zt;return(zt=t[c(N).name])==null?void 0:zt[Ze()]}),Ee=Ft(()=>(Ze()==="acceptedCommandList"||Ze()==="generatedCommandList")&&Array.isArray(Me())),He=Ft(()=>{var zt;return((zt=d[c(N).name])==null?void 0:zt[Ze()])??a[Ze()]});var wt=NY(),gt=_(wt),Ie=_(gt),ge=_(Ie),Re=v(Ie);{var We=zt=>{var At=vY(),Ht=_(At);j(ii=>W(Ht,`(${ii??""})`),[()=>u(c(He))]),D(zt,At)};z(Re,zt=>{c(He)!==void 0&&zt(We)})}var it=v(gt),at=_(it);{var Ne=zt=>{var At=bY();ei(At,21,()=>c(Pt),Hi,(Ht,ii)=>{var pi=_Y(),tn=_(pi);j(()=>W(tn,c(ii).label)),U("click",pi,()=>i(c(J).nodeId,c(Be).endpointId,c(N).name,c(ii).command,c(ii).args)),D(Ht,pi)}),D(zt,At)};z(at,zt=>{c(Pt)&&zt(Ne)})}var ut=v(it),fe=_(ut);{var ze=zt=>{var At=SY();ei(At,21,()=>s(c(N).name,Me()),Hi,(Ht,ii,pi)=>{var tn=wY(),dn=Et(tn);{var In=Pn=>{var Jn=CY();D(Pn,Jn)};z(dn,Pn=>{pi>0&&Pn(In)})}var Ni=v(dn,2);{var An=Pn=>{var Jn=EY(),Oi=Et(Jn),Gs=_(Oi),On=v(Oi),es=_(On);j(()=>{W(Gs,c(ii).name),W(es,`(${c(ii).id??""})`)}),D(Pn,Jn)},Gn=Pn=>{var Jn=yY(),Oi=_(Jn);j(()=>W(Oi,c(ii).id)),D(Pn,Jn)};z(Ni,Pn=>{c(ii).name?Pn(An):Pn(Gn,-1)})}D(Ht,tn)}),D(zt,At)},Ct=zt=>{var At=kY(),Ht=v(_(At));ei(Ht,21,Me,Hi,(ii,pi)=>{const tn=Ft(()=>c(pi)),dn=Ft(()=>c(tn).deviceType),In=Ft(()=>r[c(dn)]);var Ni=AY(),An=_(Ni),Gn=_(An);{var Pn=On=>{var es=DY(),Ms=Et(es),tr=v(Ms),zr=_(tr);j(Xa=>{W(Ms,`${c(In)??""} `),W(zr,`(${Xa??""})`)},[()=>u(c(dn))]),D(On,es)},Jn=On=>{var es=oo();j(Ms=>W(es,Ms),[()=>u(c(dn))]),D(On,es)};z(Gn,On=>{c(In)?On(Pn):On(Jn,-1)})}var Oi=v(An),Gs=_(Oi);j(On=>W(Gs,On),[()=>C(c(tn).revision)]),D(ii,Ni)}),D(zt,At)},Wt=Ft(()=>Ze()==="deviceTypeList"&&Array.isArray(Me())),bt=zt=>{const At=Ft(()=>[...new Set(Me().flatMap(dn=>Object.keys(dn)))]);var Ht=IY(),ii=_(Ht),pi=_(ii);ei(pi,21,()=>c(At),Hi,(dn,In)=>{var Ni=BY(),An=_(Ni);j(()=>W(An,c(In))),D(dn,Ni)});var tn=v(ii);ei(tn,21,Me,Hi,(dn,In)=>{var Ni=LY();ei(Ni,21,()=>c(At),Hi,(An,Gn)=>{var Pn=FY(),Jn=_(Pn);j(Oi=>W(Jn,Oi),[()=>C(c(In)[c(Gn)])]),D(An,Pn)}),D(dn,Ni)}),D(zt,Ht)},gi=Ft(()=>y(Me())),Ai=zt=>{var At=TY(),Ht=_(At);ei(Ht,21,()=>Object.entries(Me()),Hi,(ii,pi)=>{var tn=Ft(()=>l8(c(pi),2));let dn=()=>c(tn)[0],In=()=>c(tn)[1];var Ni=PY(),An=_(Ni),Gn=_(An),Pn=v(An),Jn=_(Pn);j(Oi=>{W(Gn,dn()),W(Jn,Oi)},[()=>C(In())]),D(ii,Ni)}),D(zt,At)},Xi=Ft(()=>b(Me())),yi=zt=>{var At=MY(),Ht=_(At);j(()=>{ln(At,"href",Me()),W(Ht,Me())}),D(zt,At)},ai=zt=>{var At=RY(),Ht=_(At);j(ii=>W(Ht,ii),[()=>C(Me())]),D(zt,At)};z(fe,zt=>{c(Ee)?zt(ze):c(Wt)?zt(Ct,1):c(gi)?zt(bt,2):c(Xi)?zt(Ai,3):(Ze()==="productUrl"||Ze()==="productURL")&&typeof Me()=="string"?zt(yi,4):zt(ai,-1)})}j(()=>{ln(gt,"title",Ze()),W(ge,Ze())}),D($e,wt)},le=Ft(()=>!w(Me(),Ze()));z(Zt,$e=>{c(le)&&$e(Z)})}D(Je,ct)}),j(()=>W(ie,c(N).name)),D(P,$)}),D(jt,Ot)},rt=jt=>{var Ot=WY();D(jt,Ot)};z(Ge,jt=>{c(Be).clusters.length>0?jt(ot):jt(rt,-1)})}j(()=>{W(ri,`${c(Be).name??`Endpoint ${c(Be).endpointId}`??""} `),W(Xt,`ep${c(Be).endpointId??""}`)}),D(Dt,je)}),j(()=>{W(di,c(J).name??`Node ${c(J).nodeId}`),W(Bt,`Node ID: ${c(J).nodeId??""}`)}),D(Y,Te)},qt=Y=>{var Te=jY();D(Y,Te)};z(Ji,Y=>{c(ue)?Y(Si):c(be)?Y($i,1):c(J)?Y(Ve,2):Y(qt,-1)})}var Fi=v(wn,2),zi=_(Fi),Di=v(zi,2),K=v(_(Di),2);{var De=Y=>{var Te=$Y(),lt=_(Te);j(()=>W(lt,c(V).length)),D(Y,Te)};z(K,Y=>{!c(H)&&c(V).length>0&&Y(De)})}var Qe=v(K,2),tt=_(Qe),Gt=v(Di,2);{var ci=Y=>{var Te=ZY(),lt=_(Te);{var we=Lt=>{var te=UY();D(Lt,te)},di=Lt=>{var te=ws(),Ye=Et(te);ei(Ye,17,()=>c(se),Bt=>Bt.id,(Bt,It)=>{const Dt=Ft(()=>{var ot,rt;return((ot=g.get(c(It).nodeId))==null?void 0:ot.name)??((rt=c(f).find(jt=>jt.nodeId===c(It).nodeId))==null?void 0:rt.name)??null}),Be=Ft(()=>{var ot,rt;return c(It).endpointId!==void 0?((rt=(ot=g.get(c(It).nodeId))==null?void 0:ot.endpoints.find(jt=>jt.endpointId===c(It).endpointId))==null?void 0:rt.name)??null:null}),je=Ft(()=>c(It).attrName??c(It).clusterName);var Kt=KY(),ri=_(Kt),hi=_(ri),Xt=v(ri,2);{var pe=ot=>{var rt=qY(),jt=v(Et(rt),2),Ot=_(jt),Ci=v(Ot);{var P=ne=>{var ie=XC(),ae=v(Et(ie)),Je=_(ae);j(()=>W(Je,`(#${c(It).nodeId??""})`)),D(ne,ie)};z(Ci,ne=>{c(Dt)&&ne(P)})}var N=v(jt,2);let $;var oe=_(N);j(()=>{W(Ot,c(Dt)??`#${c(It).nodeId}`),$=kt(N,1,"e-val svelte-1ua3isv",null,$,{"e-online":c(It).online,"e-offline":!c(It).online}),W(oe,c(It).online?"online":"offline")}),D(ot,rt)},Ge=ot=>{var rt=GY(),jt=v(Et(rt),2),Ot=_(jt),Ci=v(Ot);{var P=Me=>{var ct=XC(),Zt=v(Et(ct)),Z=_(Zt);j(()=>W(Z,`(#${c(It).nodeId??""})`)),D(Me,ct)};z(Ci,Me=>{c(Dt)&&Me(P)})}var N=v(jt,2),$=_(N),oe=v($);{var ne=Me=>{var ct=XC(),Zt=v(Et(ct)),Z=_(Zt);j(()=>W(Z,`(ep ${c(It).endpointId??""})`)),D(Me,ct)};z(oe,Me=>{c(Be)&&Me(ne)})}var ie=v(N,2),ae=_(ie),Je=v(ie,2),Le=_(Je),_e=v(Je,2),Ze=_(_e);j(Me=>{W(Ot,c(Dt)??`#${c(It).nodeId}`),W($,c(Be)??`ep${c(It).endpointId}`),W(ae,c(It).clusterName),W(Le,c(je)),W(Ze,Me)},[()=>p(c(It).value)]),D(ot,rt)};z(Xt,ot=>{c(It).kind==="status"?ot(pe):ot(Ge,-1)})}j(ot=>W(hi,ot),[()=>A(c(It).ts)]),D(Bt,Kt)}),D(Lt,te)};z(lt,Lt=>{c(se).length===0?Lt(we):Lt(di,-1)})}D(Y,Te)};z(Gt,Y=>{c(H)&&Y(ci)})}var vt=v(Ti,2);{var dt=Y=>{var Te=QY(),lt=Et(Te),we=v(lt,2),di=_(we),Lt=v(_(di),2),te=v(di,2);{var Ye=Dt=>{var Be=XY(),je=_(Be);j(()=>W(je,c(Mt))),D(Dt,Be)},Bt=Dt=>{var Be=YY(),je=Et(Be),Kt=_(je);gs(Kt,ri=>m(st,ri),()=>c(st)),D(Dt,Be)};z(te,Dt=>{c(Mt)?Dt(Ye):Dt(Bt,-1)})}var It=v(te,2);gs(It,Dt=>m(yt,Dt),()=>c(yt)),U("click",lt,si),U("click",Lt,si),D(Y,Te)};z(vt,Y=>{c(mt)&&Y(dt)})}j(()=>{qo(Fi,c(H)?`height: ${c(X)}px;`:""),W(tt,c(H)?"▾":"▸")}),U("click",hn,()=>m(re,!c(re))),U("mousedown",zi,he),U("click",Qe,()=>{m(H,!c(H))}),D(o,Vi),$s()}Ys(["click","change","mousedown"]);var tQ=B("<button>›</button>"),iQ=B('<span class="chev-ph svelte-1vejtrc"></span>'),nQ=B('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),sQ=B("<button>🔒</button>"),oQ=B('<span class="acl-loading">Loading…</span>'),rQ=B("<span> </span>"),aQ=B('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),lQ=B('<span class="acl-members svelte-1vejtrc"> </span>'),cQ=B('<span class="acl-group svelte-1vejtrc"> </span>'),dQ=B('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),uQ=B('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),hQ=B('<div class="acl-panel svelte-1vejtrc"><!></div>'),fQ=B('<div class="tc svelte-1vejtrc"></div>'),gQ=B('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),pQ=B('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),xQ=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),mQ=B("<option></option>"),vQ=B('<span class="pub-ok svelte-1vejtrc">✓</span>'),_Q=B('<span class="pub-err svelte-1vejtrc"> </span>'),bQ=B('<div class="info svelte-1vejtrc">Loading…</div>'),CQ=B('<div class="info err svelte-1vejtrc"> </div>'),EQ=B('<div class="info svelte-1vejtrc">No topics match.</div>'),yQ=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>'),wQ=B('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),SQ=B('<div class="info svelte-1vejtrc">No topics yet.</div>'),DQ=B('<div class="tree-wrap svelte-1vejtrc"><!></div>'),AQ=B('<span class="stream-badge"> </span>'),kQ=B('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),BQ=B('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),FQ=B('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),LQ=B('<div class="stream-body svelte-1vejtrc"><!></div>'),IQ=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),PQ=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>'),TQ=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),MQ=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 RQ(o,e){js(e,!0);const t=(P,N=rb)=>{const $=Ft(()=>c(g).has(N().path)),oe=Ft(()=>c(a)>=0&&N().children.size>0),ne=Ft(()=>c(a)>=0&&N().isLeaf&&!n.has(N().path));var ie=gQ(),ae=_(ie);let Je;var Le=_(ae);{var _e=Ie=>{var ge=tQ();let Re;j(()=>{Re=kt(ge,1,"chev svelte-1vejtrc",null,Re,{open:c($)}),ln(ge,"aria-label",c($)?"Collapse":"Expand")}),U("click",ge,()=>p(N().path)),D(Ie,ge)},Ze=Ie=>{var ge=iQ();D(Ie,ge)};z(Le,Ie=>{c(oe)?Ie(_e):Ie(Ze,-1)})}var Me=v(Le,2),ct=_(Me),Zt=v(Me,2);{var Z=Ie=>{var ge=nQ(),Re=Et(ge),We=_(Re),it=v(Re,2),at=_(it);j((Ne,ut,fe)=>{ln(Re,"title",Ne),W(We,ut),W(at,fe)},[()=>{var Ne;return fi((Ne=_i(N().path))==null?void 0:Ne.val)},()=>{var Ne;return fi((Ne=_i(N().path))==null?void 0:Ne.val)},()=>{var Ne;return((Ne=_i(N().path))==null?void 0:Ne.ts)!=null?oi(_i(N().path).ts):""}]),D(Ie,ge)},le=Ft(()=>N().isLeaf&&i.has(N().path));z(Zt,Ie=>{c(le)&&Ie(Z)})}var $e=v(Zt,2);{var Pt=Ie=>{const ge=Ft(()=>!!c(Vi)&&gn(N().path));var Re=sQ();let We;j(()=>{We=kt(Re,1,"acl-badge svelte-1vejtrc",null,We,{matched:c(ge)}),ln(Re,"title",c(ge)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),U("click",Re,it=>{it.stopPropagation(),ft(N().path)}),D(Ie,Re)};z($e,Ie=>{c(Ei)&&N().isLeaf&&Ie(Pt)})}var Ee=v(ae,2);{var He=Ie=>{var ge=hQ(),Re=_(ge);{var We=at=>{var Ne=oQ();D(at,Ne)},it=at=>{var Ne=ws(),ut=Et(Ne);ei(ut,17,()=>[{label:"Send",section:c(Ti).send},{label:"Subscribe",section:c(Ti).subscribe},{label:"Receive",section:c(Ti).receive}],Hi,(fe,ze)=>{var Ct=uQ(),Wt=_(Ct),bt=_(Wt),gi=v(Wt,2);{var Ai=yi=>{var ai=rQ();let zt;var At=_(ai);j(()=>{zt=kt(ai,1,"acl-def svelte-1vejtrc",null,zt,{allow:c(ze).section.default,deny:!c(ze).section.default}),W(At,`${c(ze).section.default?"allow":"deny"} (default)`)}),D(yi,ai)},Xi=yi=>{var ai=ws(),zt=Et(ai);ei(zt,17,()=>c(ze).section.roles,Hi,(At,Ht)=>{var ii=dQ();let pi;var tn=_(ii),dn=v(tn),In=_(dn),Ni=v(dn,2);{var An=Oi=>{var Gs=aQ();D(Oi,Gs)};z(Ni,Oi=>{c(Ht).dynamic&&Oi(An)})}var Gn=v(Ni,2);{var Pn=Oi=>{var Gs=lQ(),On=_(Gs);j(es=>W(On,es),[()=>c(Ht).users.join(", ")]),D(Oi,Gs)};z(Gn,Oi=>{c(Ht).users.length>0&&Oi(Pn)})}var Jn=v(Gn,2);ei(Jn,17,()=>c(Ht).groups,Hi,(Oi,Gs)=>{var On=cQ(),es=_(On);j(()=>W(es,c(Gs).groupname)),D(Oi,On)}),j(()=>{pi=kt(ii,1,"acl-role svelte-1vejtrc",null,pi,{allow:c(Ht).allow,deny:!c(Ht).allow}),W(tn,`${c(Ht).allow?"✓":"✗"} `),W(In,c(Ht).rolename)}),D(At,ii)}),D(yi,ai)};z(gi,yi=>{c(ze).section.roles.length===0?yi(Ai):yi(Xi,-1)})}j(()=>W(bt,c(ze).label)),D(fe,Ct)}),D(at,Ne)};z(Re,at=>{c(wn)?at(We):c(Ti)&&at(it,1)})}D(Ie,ge)};z(Ee,Ie=>{c(Ei)&&N().isLeaf&&c(Yi)===N().path&&Ie(He)})}var wt=v(Ee,2);{var gt=Ie=>{var ge=fQ();ei(ge,21,()=>[...N().children.values()].sort((Re,We)=>Re.seg.localeCompare(We.seg)),Re=>Re.path,(Re,We)=>{t(Re,()=>c(We))}),D(Ie,ge)};z(wt,Ie=>{c(oe)&&c($)&&Ie(gt)})}j(()=>{Je=kt(ae,1,"tr svelte-1vejtrc",null,Je,{stale:c(ne)}),W(ct,N().seg)}),U("click",ae,()=>{m(ue,N().path+"/#")}),U("contextmenu",ae,Ie=>{Ie.preventDefault(),m(ve,{x:Ie.clientX,y:Ie.clientY,topic:N().path},!0)}),D(P,ie)},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 P of s)f(P);s.clear(),u8(a)}))}const u=new Map;function f(P){const N=P.split("/");let $=u,oe="";for(let ne=0;ne<N.length;ne++){const ie=N[ne];oe=ne===0?ie:`${oe}/${ie}`,$.has(ie)||$.set(ie,{seg:ie,path:oe,children:new Map,isLeaf:!1});const ae=$.get(ie);ne===N.length-1&&(ae.isLeaf=!0),$=ae.children}}let g=F(Pi(new Set));function p(P){const N=new Set(c(g));N.has(P)?N.delete(P):N.add(P),m(g,N,!0)}let C=F("");const b=24,y=5;let w=F(0),A=F(300),I=Ft(()=>{if(c(a),!c(C))return[];const P=c(C).toLowerCase().split(/\s+/).filter(Boolean),N=[];for(const[$,oe]of i){const ne=$.toLowerCase();P.every(ie=>ne.includes(ie))&&N.push({topic:$,...oe})}return N.sort(($,oe)=>$.topic.localeCompare(oe.topic))}),M=Ft(()=>{const P=c(I).length,N=Math.max(0,Math.floor(c(w)/b)-y),$=Math.min(P,Math.ceil((c(w)+c(A))/b)+y);return{start:N,end:$,totalH:P*b,top:N*b}});const R=1e3,T=200,V=20,H=36;let X=0,se=F(Pi([])),he=F(Pi([])),J=F(!0),ue=F("#"),be=F(200);Kn(()=>{const P=c(ue).trim(),N=Hl(()=>c(se)),$=!P||P==="#"?N.slice(0,T):N.filter(oe=>re(P,oe.topic)).slice(0,T);if(P&&P!=="#"){const oe=new Set($.map(ie=>ie.topic)),ne=[];for(const[ie,ae]of i)oe.has(ie)||re(P,ie)&&ne.push({id:-(ne.length+1),topic:ie,val:ae.val,ts:ae.ts,retained:!0});ne.sort((ie,ae)=>ie.topic.localeCompare(ae.topic)),m(he,[...$,...ne],!0)}else m(he,$,!0)});function re(P,N){if(P==="#")return!0;const $=P.split("/"),oe=N.split("/");for(let ne=0;ne<$.length;ne++){if($[ne]==="#")return!0;if(ne>=oe.length||$[ne]!=="+"&&$[ne]!==oe[ne])return!1}return $.length===oe.length}function ce(P){P.preventDefault();const N=P.clientY,$=c(be);function oe(ie){m(be,Math.max(60,Math.min(800,$+N-ie.clientY)),!0)}function ne(){document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ne)}document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ne)}let ke=Ft(()=>{const P=Math.max(1,Math.floor((c(be)-H)/V)+1);return c(he).slice(0,P)}),Pe=F(!0),xe=F(null);async function Oe(){m(Pe,!0),m(xe,null);try{const P=await bF();for(const N of P)i.set(N.topic,{val:N.val,ts:N.ts}),f(N.topic)}catch(P){m(xe,P instanceof Error?P.message:String(P),!0)}finally{m(Pe,!1),u8(a)}}const Ue=hr("mqtt",P=>{const{topic:N,val:$,ts:oe}=P;i.set(N,{val:$,ts:oe}),n.add(N),s.add(N),d();const ne={id:X++,topic:N,val:$,ts:oe};m(se,[ne,...c(se).slice(0,R-1)],!0);const ie=c(ue).trim();(!ie||ie==="#"||re(ie,N))&&m(he,[ne,...c(he).filter(ae=>!(ae.retained&&ae.topic===N)).slice(0,T-1)],!0)});let ve=F(null),mt=F(null);async function Mt(P,N){const $=[P];if(N){const oe=P+"/";for(const ne of i.keys())ne.startsWith(oe)&&$.push(ne)}for(const oe of $)await f2(oe,"",!0,0)}let st=Ft(()=>(c(a),[...i.keys()].sort())),yt=F(""),Ce=F(""),Nt=F(!1),si=F(0),Xe=F(!1),et=F(null),St=F(!1);async function Qt(){if(c(yt)){m(Xe,!0),m(et,null),m(St,!1);try{await f2(c(yt),c(Ce),c(Nt),c(si)),m(St,!0),setTimeout(()=>{m(St,!1)},2e3)}catch(P){m(et,P instanceof Error?P.message:String(P),!0)}finally{m(Xe,!1)}}}function fi(P){return P==null?"":typeof P=="object"?JSON.stringify(P):String(P)}function oi(P){return new Date(P).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Bi(P){return new Date(P).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _i(P){return c(a),i.get(P)}let Ke=Ft(()=>(c(a),[...u.values()].sort((P,N)=>P.seg.localeCompare(N.seg)))),ye=Ft(()=>(c(a),i.size)),ti=F(!1),Ei=F(!1),Jt=F(!1),Vi=F(null),Yi=F(null),Ti=F(null),wn=F(!1);function cn(P,N,$){return N.includes("%u")||N.includes("%c")?"dynamic":P==="subscribeLiteral"||P==="unsubscribeLiteral"?N===$?"match":"no-match":re(N,$)?"match":"no-match"}function gn(P){if(!c(Vi))return!1;for(const N of c(Vi).roles)if(N.acls){for(const $ of N.acls)if(cn($.acltype,$.topic,P)!=="no-match")return!0}return!1}async function hn(){m(Jt,!0);try{const P=await AF();m(Vi,{roles:P.roles},!0)}catch{m(Vi,null),m(Ei,!1)}finally{m(Jt,!1)}}async function ft(P){if(c(Yi)===P){m(Yi,null),m(Ti,null);return}m(Yi,P,!0),m(Ti,null),m(wn,!0);try{m(Ti,await TU(P),!0)}catch{m(Ti,null)}finally{m(wn,!1)}}async function Ut(){c(Ei)?(m(Ei,!1),m(Yi,null),m(Ti,null)):(m(Ei,!0),m(Yi,null),m(Ti,null),c(Vi)||await hn())}Xs(Oe),Xs(async()=>{var P;try{const N=await Pb();m(ti,!!((P=N.dynsec)!=null&&P.dynsecReady),!0)}catch{m(ti,!1)}}),Vp(()=>{Ue(),r!==null&&cancelAnimationFrame(r)});var Ri=MQ(),qi=_(Ri),bi=v(_(qi),2);{var Wi=P=>{var N=xQ(),$=Et(N);let oe;var ne=v(_($),2);{var ie=Le=>{var _e=oo("…");D(Le,_e)};z(ne,Le=>{c(Jt)&&Le(ie)})}var ae=v($,2);{var Je=Le=>{var _e=pQ();j(()=>_e.disabled=c(Jt)),U("click",_e,hn),D(Le,_e)};z(ae,Le=>{c(Ei)&&Le(Je)})}j(()=>{oe=kt($,1,"acl-btn svelte-1vejtrc",null,oe,{active:c(Ei)}),$.disabled=c(Jt)}),U("click",$,Ut),D(P,N)};z(bi,P=>{c(ti)&&P(Wi)})}var ji=v(qi,2),Ji=_(ji),Si=_(Ji),$i=v(Si,2);ei($i,20,()=>c(st),P=>P,(P,N)=>{var $=mQ(),oe={};j(()=>{oe!==(oe=N)&&($.value=($.__value=N)??"")}),D(P,$)});var Ve=v($i,2),qt=v(Ve,2),Fi=_(qt),zi=v(qt,2),Di=_(zi);Di.value=Di.__value=0;var K=v(Di);K.value=K.__value=1;var De=v(K);De.value=De.__value=2;var Qe=v(zi,2),tt=v(Qe,2);{var Gt=P=>{var N=vQ();D(P,N)};z(tt,P=>{c(St)&&P(Gt)})}var ci=v(tt,2);{var vt=P=>{var N=_Q(),$=_(N);j(()=>W($,c(et))),D(P,N)};z(ci,P=>{c(et)&&P(vt)})}var dt=v(Ji,2),Y=_(dt),Te=v(Y,2),lt=_(Te);{var we=P=>{var N=oo();j(()=>W(N,`${c(I).length??""} /`)),D(P,N)};z(lt,P=>{c(C)&&P(we)})}var di=v(lt),Lt=v(dt,2);{var te=P=>{var N=bQ();D(P,N)},Ye=P=>{var N=CQ(),$=_(N);j(()=>W($,c(xe))),D(P,N)},Bt=P=>{var N=ws(),$=Et(N);{var oe=ie=>{var ae=EQ();D(ie,ae)},ne=ie=>{var ae=wQ(),Je=_(ae),Le=_(Je);ei(Le,21,()=>c(I).slice(c(M).start,c(M).end),_e=>_e.topic,(_e,Ze)=>{var Me=yQ(),ct=_(Me),Zt=_(ct),Z=v(ct,2),le=_(Z),$e=v(Z,2),Pt=_($e);j((Ee,He,wt)=>{W(Zt,c(Ze).topic),ln(Z,"title",Ee),W(le,He),W(Pt,wt)},[()=>fi(c(Ze).val),()=>fi(c(Ze).val),()=>oi(c(Ze).ts)]),D(_e,Me)}),j(()=>{qo(Je,`height: ${c(M).totalH??""}px; position: relative;`),qo(Le,`top: ${c(M).top??""}px;`)}),xs("scroll",ae,_e=>{m(w,_e.currentTarget.scrollTop,!0)}),fP(ae,"clientHeight",_e=>m(A,_e)),D(ie,ae)};z($,ie=>{c(I).length===0?ie(oe):ie(ne,-1)})}D(P,N)},It=P=>{var N=DQ(),$=_(N);{var oe=ie=>{var ae=SQ();D(ie,ae)},ne=ie=>{var ae=ws(),Je=Et(ae);ei(Je,17,()=>c(Ke),Le=>Le.path,(Le,_e)=>{t(Le,()=>c(_e))}),D(ie,ae)};z($,ie=>{c(Ke).length===0?ie(oe):ie(ne,-1)})}D(P,N)};z(Lt,P=>{c(Pe)?P(te):c(xe)?P(Ye,1):c(C)?P(Bt,2):P(It,-1)})}var Dt=v(ji,2),Be=_(Dt),je=v(Be,2),Kt=_(je),ri=v(Kt,2);{var hi=P=>{var N=AQ(),$=_(N);j(()=>W($,c(he).length)),D(P,N)};z(ri,P=>{!c(J)&&c(he).length>0&&P(hi)})}var Xt=v(ri,2),pe=_(Xt),Ge=v(je,2);{var ot=P=>{var N=LQ(),$=_(N);{var oe=ie=>{var ae=kQ();D(ie,ae)},ne=ie=>{var ae=ws(),Je=Et(ae);ei(Je,17,()=>c(ke),Le=>Le.id,(Le,_e)=>{var Ze=FQ();let Me;var ct=_(Ze),Zt=_(ct),Z=v(ct,2);{var le=wt=>{var gt=BQ();D(wt,gt)};z(Z,wt=>{c(_e).retained&&wt(le)})}var $e=v(Z,2),Pt=_($e),Ee=v($e,2),He=_(Ee);j((wt,gt,Ie)=>{Me=kt(Ze,1,"sr svelte-1vejtrc",null,Me,{retained:c(_e).retained}),W(Zt,wt),W(Pt,c(_e).topic),ln(Ee,"title",gt),W(He,Ie)},[()=>Bi(c(_e).ts),()=>fi(c(_e).val),()=>fi(c(_e).val)]),D(Le,Ze)}),D(ie,ae)};z($,ie=>{c(ke).length===0?ie(oe):ie(ne,-1)})}D(P,N)};z(Ge,P=>{c(J)&&P(ot)})}var rt=v(Dt,2);{var jt=P=>{var N=IQ(),$=Et(N),oe=v($,2);let ne;var ie=_(oe),ae=v(ie,2);j(()=>ne=qo(oe,"",ne,{left:`${c(ve).x??""}px`,top:`${c(ve).y??""}px`})),U("click",$,()=>m(ve,null)),U("contextmenu",$,Je=>{Je.preventDefault(),m(ve,null)}),U("click",ie,()=>{navigator.clipboard.writeText(c(ve).topic),m(ve,null)}),U("click",ae,()=>{const Je=c(ve).topic,Le=Je+"/",_e=[...i.keys()].some(Ze=>Ze.startsWith(Le));m(mt,{topic:Je,hasChildren:_e,recursive:!1},!0),m(ve,null)}),D(P,N)};z(rt,P=>{c(ve)&&P(jt)})}var Ot=v(rt,2);{var Ci=P=>{var N=TQ(),$=Et(N),oe=v($,2),ne=v(_(oe),2),ie=_(ne),ae=v(_(ie)),Je=_(ae),Le=v(ie,2);{var _e=Zt=>{var Z=PQ(),le=_(Z);ys(le,()=>c(mt).recursive,$e=>c(mt).recursive=$e),D(Zt,Z)};z(Le,Zt=>{c(mt).hasChildren&&Zt(_e)})}var Ze=v(ne,2),Me=_(Ze),ct=v(Me,2);j(()=>W(Je,c(mt).topic)),U("click",$,()=>m(mt,null)),U("click",Me,()=>m(mt,null)),U("click",ct,()=>{const{topic:Zt,recursive:Z}=c(mt);m(mt,null),Mt(Zt,Z)}),D(P,N)};z(Ot,P=>{c(mt)&&P(Ci)})}j(()=>{Qe.disabled=c(Xe)||!c(yt),W(di,` ${c(ye)??""}`),qo(Dt,c(J)?`height: ${c(be)}px;`:""),W(pe,c(J)?"▾":"▸")}),Vt(Si,()=>c(yt),P=>m(yt,P)),Vt(Ve,()=>c(Ce),P=>m(Ce,P)),ys(Fi,()=>c(Nt),P=>m(Nt,P)),Fs(zi,()=>c(si),P=>m(si,P)),U("click",Qe,Qt),Vt(Y,()=>c(C),P=>m(C,P)),U("mousedown",Be,ce),Vt(Kt,()=>c(ue),P=>m(ue,P)),U("click",Xt,()=>{m(J,!c(J))}),D(o,Ri),$s()}Ys(["click","contextmenu","mousedown"]);var NQ=B('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),OQ=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>'),HQ=B('<div class="err svelte-twakcj"> </div>'),WQ=B('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),zQ=B('<p class="empty svelte-twakcj">No packages installed.</p>'),VQ=B('<p class="empty svelte-twakcj">No match.</p>'),jQ=B("<span> </span>"),$Q=S6('<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>'),UQ=S6('<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>'),GQ=B('<span class="result-author svelte-twakcj"> </span>'),KQ=B('<span class="result-date svelte-twakcj"> </span>'),ZQ=B('<span class="result-desc svelte-twakcj"> </span>'),XQ=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>'),YQ=B('<div class="results-list svelte-twakcj"></div>'),QQ=B('<pre class="npm-output svelte-twakcj"> </pre>'),JQ=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>`),eJ=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 tJ(o,e){js(e,!0);let t=F(Pi([])),i=F(""),n=F(Pi({})),s=F(Pi([])),r=F(!1),a=F(""),d=F(Pi([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=Pi({});const y=Ft(()=>c(i).trim()?c(t).filter(ft=>ft.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),w=Ft(()=>Object.keys(c(n)).filter(ft=>!c(s).includes(ft)).length);Xs(async()=>{await Promise.all([A(),I(),M()])});async function A(){try{m(t,await Q$(),!0),m(p,"")}catch(ft){m(p,ft.message,!0)}}async function I(){try{m(n,await _F(),!0)}catch{}}async function M(){try{const ft=await Pl();m(s,Array.isArray(ft.pinnedPackages)?ft.pinnedPackages:[],!0)}catch{}}async function R(ft){const Ut=c(s).includes(ft)?c(s).filter(Ri=>Ri!==ft):[...c(s),ft];m(s,Ut,!0);try{const Ri=await Pl();await pp({...Ri,pinnedPackages:Ut})}catch{}}async function T(){m(r,!0);try{m(n,await nU(),!0)}catch{}finally{m(r,!1)}}async function V(){const ft=c(a).trim();if(!ft){m(d,[],!0);return}m(g,!0),m(p,"");try{m(d,await J$(ft),!0)}catch(Ut){m(p,Ut.message,!0)}finally{m(g,!1)}}function H(ft){if(!ft)return"";try{return new Date(ft).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function X(ft,Ut){b[ft]=!0,m(p,""),m(C,"");try{const Ri=await eU(ft,Ut);m(C,Ri.stdout||Ri.stderr||"Done.",!0),m(u,!0),await A()}catch(Ri){m(p,Ri.message,!0)}finally{b[ft]=!1}}async function se(ft){b[ft]=!0,m(p,""),m(C,"");try{const Ut=await tU(ft);m(C,Ut.stdout||Ut.stderr||"Done.",!0),m(u,!0);const Ri={...c(n)};delete Ri[ft],m(n,Ri,!0),await A()}catch(Ut){m(p,Ut.message,!0)}finally{b[ft]=!1}}async function he(ft){b[ft]=!0,m(p,""),m(C,"");try{const Ut=await iU(ft);m(C,Ut.stdout||Ut.stderr||"Done.",!0),m(u,!0);const Ri={...c(n)};delete Ri[ft],m(n,Ri,!0),await A()}catch(Ut){m(p,Ut.message,!0)}finally{b[ft]=!1}}let J;async function ue(){if(await J.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){m(f,!0);try{await xF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var be=eJ(),re=Et(be);gs(Yc(re,{}),ft=>J=ft,()=>J);var ce=v(re,2),ke=_(ce);{var Pe=ft=>{var Ut=NQ();D(ft,Ut)},xe=ft=>{var Ut=OQ(),Ri=v(_(Ut));U("click",Ri,ue),D(ft,Ut)};z(ke,ft=>{c(f)?ft(Pe):c(u)&&ft(xe,1)})}var Oe=v(ke,2);{var Ue=ft=>{var Ut=HQ(),Ri=_(Ut);j(()=>W(Ri,c(p))),D(ft,Ut)};z(Oe,ft=>{c(p)&&ft(Ue)})}var ve=v(Oe,2),mt=_(ve),Mt=_(mt),st=v(_(Mt),2),yt=_(st),Ce=v(st,2);{var Nt=ft=>{var Ut=WQ(),Ri=_(Ut);j(()=>W(Ri,`${c(w)??""} outdated`)),D(ft,Ut)};z(Ce,ft=>{c(w)>0&&ft(Nt)})}var si=v(Ce,2),Xe=_(si);let et;var St=v(Mt,2),Qt=_(St),fi=v(St,2),oi=_(fi);{var Bi=ft=>{var Ut=zQ();D(ft,Ut)},_i=ft=>{var Ut=VQ();D(ft,Ut)},Ke=ft=>{var Ut=ws(),Ri=Et(Ut);ei(Ri,17,()=>c(y),qi=>qi.name,(qi,bi)=>{var Wi=qQ();let ji;var Ji=_(Wi),Si=_(Ji),$i=_(Si),Ve=v(Si,2),qt=_(Ve),Fi=v(Ve,2);{var zi=Y=>{var Te=jQ();let lt;var we=_(Te);j(di=>{lt=kt(Te,1,"dep-latest svelte-twakcj",null,lt,di),W(we,`→ v${c(n)[c(bi).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(bi).name)})]),D(Y,Te)};z(Fi,Y=>{c(n)[c(bi).name]&&Y(zi)})}var Di=v(Ji,2),K=_(Di);let De;var Qe=v(K,2);let tt;var Gt=_(Qe);{var ci=Y=>{var Te=$Q();D(Y,Te)},vt=Y=>{var Te=UQ();D(Y,Te)};z(Gt,Y=>{b[c(bi).name]?Y(ci):Y(vt,-1)})}var dt=v(Qe,2);j((Y,Te,lt)=>{ji=kt(Wi,1,"dep-row svelte-twakcj",null,ji,{"dep-busy":!!b[c(bi).name]}),ln(Si,"href",c(bi).url??`https://www.npmjs.com/package/${c(bi).name}`),W($i,c(bi).name),W(qt,c(bi).installedVersion??c(bi).version),De=kt(K,1,"icon-btn svelte-twakcj",null,De,Y),ln(K,"title",Te),tt=kt(Qe,1,"icon-btn svelte-twakcj",null,tt,lt),Qe.disabled=!!b[c(bi).name],ln(Qe,"title",c(n)[c(bi).name]?`Update to v${c(n)[c(bi).name].latest}`:"Update to latest"),dt.disabled=!!b[c(bi).name]},[()=>({"icon-btn--pinned":c(s).includes(c(bi).name)}),()=>c(s).includes(c(bi).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(bi).name]&&!c(s).includes(c(bi).name)})]),U("click",K,()=>R(c(bi).name)),U("click",Qe,()=>he(c(bi).name)),U("click",dt,()=>se(c(bi).name)),D(qi,Wi)}),D(ft,Ut)};z(oi,ft=>{c(t).length===0?ft(Bi):c(y).length===0?ft(_i,1):ft(Ke,-1)})}var ye=v(mt,2),ti=v(_(ye),2),Ei=_(ti),Jt=v(Ei,2),Vi=_(Jt),Yi=v(ti,2);{var Ti=ft=>{var Ut=YQ();ei(Ut,21,()=>c(d),Ri=>Ri.name,(Ri,qi)=>{var bi=XQ(),Wi=_(bi),ji=_(Wi),Ji=_(ji),Si=v(ji,2),$i=_(Si),Ve=v(Si,2);{var qt=tt=>{var Gt=GQ(),ci=_(Gt);j(()=>W(ci,c(qi).author)),D(tt,Gt)};z(Ve,tt=>{c(qi).author&&tt(qt)})}var Fi=v(Ve,2);{var zi=tt=>{var Gt=KQ(),ci=_(Gt);j(vt=>{ln(Gt,"title",c(qi).date),W(ci,vt)},[()=>H(c(qi).date)]),D(tt,Gt)};z(Fi,tt=>{c(qi).date&&tt(zi)})}var Di=v(Fi,2);{var K=tt=>{var Gt=ZQ(),ci=_(Gt);j(()=>W(ci,c(qi).description)),D(tt,Gt)};z(Di,tt=>{c(qi).description&&tt(K)})}var De=v(Wi,2),Qe=_(De);j(()=>{ln(ji,"href",c(qi).url??`https://www.npmjs.com/package/${c(qi).name}`),W(Ji,c(qi).name),W($i,c(qi).version),De.disabled=!!b[c(qi).name],W(Qe,b[c(qi).name]?"Installing…":"Install")}),U("click",De,()=>X(c(qi).name)),D(Ri,bi)}),D(ft,Ut)};z(Yi,ft=>{c(d).length>0&&ft(Ti)})}var wn=v(Yi,2);{var cn=ft=>{var Ut=QQ(),Ri=_(Ut);j(()=>W(Ri,c(C))),D(ft,Ut)};z(wn,ft=>{c(C)&&ft(cn)})}var gn=v(wn,2);{var hn=ft=>{var Ut=JQ();D(ft,Ut)};z(gn,ft=>{!c(d).length&&!c(C)&&ft(hn)})}j(()=>{W(yt,c(t).length),si.disabled=c(r),et=kt(Xe,0,"svelte-twakcj",null,et,{spinning:c(r)}),Jt.disabled=c(g),W(Vi,c(g)?"Searching…":"Search")}),U("click",si,T),Vt(Qt,()=>c(i),ft=>m(i,ft)),U("keydown",Ei,ft=>ft.key==="Enter"&&V()),Vt(Ei,()=>c(a),ft=>m(a,ft)),U("click",Jt,V),D(o,be),$s()}Ys(["click","keydown"]);var iJ=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>'),nJ=B('<div class="empty svelte-3itf14">No users found.</div>'),sJ=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>'),Z2=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),oJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),rJ=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),aJ=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>'),lJ=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>'),cJ=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>'),dJ=B('<div class="empty svelte-3itf14">No roles found.</div>'),uJ=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>'),hJ=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>'),fJ=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>'),gJ=B('<div class="empty svelte-3itf14">No groups found.</div>'),pJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),xJ=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),mJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),vJ=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>'),_J=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>'),bJ=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>'),X2=B('<div class="empty svelte-3itf14">Loading…</div>'),CJ=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>'),EJ=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>'),yJ=B('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),wJ=B('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),SJ=B('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),DJ=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>'),AJ=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>'),kJ=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>'),BJ=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>'),FJ=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>'),LJ=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>'),IJ=B('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),PJ=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>'),TJ=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>'),MJ=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 RJ(o,e){js(e,!0);let t=Tu(e,"dynsecReady",3,!1),i,n=F(Pi([])),s=F(Pi([])),r=F(Pi([])),a=F(""),d=F(""),u=F(""),f=F("users"),g=F(null),p=F(""),C=F(""),b=F(!1);const y=Ft(()=>c(g)?c(g).kind==="user-roles"?c(s).map(pe=>pe.rolename).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(n).find(rt=>rt.username===c(g).target))==null?void 0:Ge.roles)!=null&&ot.some(rt=>rt.rolename===pe))}):c(g).kind==="user-groups"?c(r).map(pe=>pe.groupname).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(n).find(rt=>rt.username===c(g).target))==null?void 0:Ge.groups)!=null&&ot.some(rt=>rt.groupname===pe))}):c(g).kind==="group-members"?c(n).map(pe=>pe.username).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(r).find(rt=>rt.groupname===c(g).target))==null?void 0:Ge.clients)!=null&&ot.some(rt=>rt.username===pe))}):c(s).map(pe=>pe.rolename).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(r).find(rt=>rt.groupname===c(g).target))==null?void 0:Ge.roles)!=null&&ot.some(rt=>rt.rolename===pe))}):[]);function w(pe,Ge){m(g,{kind:pe,target:Ge},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:pe,target:Ge}=c(g);pe==="user-roles"?await CU(Ge,c(p)):pe==="user-groups"?await g2(c(p),Ge):pe==="group-members"?await g2(Ge,c(p)):await FU(Ge,c(p)),m(g,null),m(p,""),await Ti()}catch(pe){m(C,pe.message,!0)}finally{m(b,!1)}}}async function I(pe,Ge){try{await EU(pe,Ge),await Ti()}catch(ot){m(a,ot.message,!0)}}async function M(pe,Ge){try{await p2(Ge,pe),await Ti()}catch(ot){m(a,ot.message,!0)}}async function R(pe,Ge){try{await p2(pe,Ge),await Ti()}catch(ot){m(u,ot.message,!0)}}async function T(pe,Ge){try{await LU(pe,Ge),await Ti()}catch(ot){m(u,ot.message,!0)}}let V=F(!1),H=F(""),X=F(""),se=F(!1),he=F(""),J=F(!1),ue=F(!1),be=F(""),re=F(""),ce=F(""),ke=F(!1),Pe=F(!1),xe=F(""),Oe=F(""),Ue=F(!1),ve=F(null),mt=F(!1),Mt=F("publishClientSend"),st=F(""),yt=F(!0),Ce=F(""),Nt=F(!1),si=F(""),Xe=F(""),et=F(!1),St=F(Pi([])),Qt=F(""),fi=F(!1),oi=F(null),Bi=F(""),_i=F(""),Ke=F(!1),ye=F(!1);const ti=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function Ei(){var pe,Ge;m(ye,!1),m(Qt,""),m(_i,"");try{const[ot,rt]=await Promise.allSettled([IU(),MU()]);if(ot.status==="fulfilled"){const jt=Object.fromEntries(ot.value.acls.map(Ot=>[Ot.acltype,Ot.allow]));m(St,ti.map(({acltype:Ot})=>({acltype:Ot,allow:jt[Ot]??(Ot==="publishClientReceive"||Ot==="unsubscribe")})),!0)}else m(Qt,((pe=ot.reason)==null?void 0:pe.message)??"Failed to load default ACLs",!0);rt.status==="fulfilled"?(m(oi,rt.value.group,!0),m(Bi,rt.value.group??"",!0)):m(_i,((Ge=rt.reason)==null?void 0:Ge.message)??"Failed to load anonymous group",!0)}finally{m(ye,!0)}}async function Jt(pe,Ge){m(St,c(St).map(ot=>ot.acltype===pe?{...ot,allow:Ge}:ot),!0),m(fi,!0),m(Qt,"");try{await PU(c(St))}catch(ot){m(Qt,ot.message,!0)}finally{m(fi,!1)}}async function Vi(){m(Ke,!0),m(_i,"");try{await RU(c(Bi)||null),m(oi,c(Bi)||null,!0)}catch(pe){m(_i,pe.message,!0)}finally{m(Ke,!1)}}const Yi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Ti(){var pe,Ge,ot;try{const[rt,jt,Ot]=await Promise.allSettled([mU(),AF(),AU()]);rt.status==="fulfilled"?(m(n,rt.value.users,!0),m(a,"")):m(a,((pe=rt.reason)==null?void 0:pe.message)??"Failed to load users",!0),jt.status==="fulfilled"?(m(s,jt.value.roles,!0),m(d,"")):m(d,((Ge=jt.reason)==null?void 0:Ge.message)??"Failed to load roles",!0),Ot.status==="fulfilled"?(m(r,Ot.value.groups,!0),m(u,"")):m(u,((ot=Ot.reason)==null?void 0:ot.message)??"Failed to load groups",!0)}catch{}}Xs(()=>{Ti()});async function wn(){m(he,""),m(J,!0);try{await vU(c(H),c(X)),m(H,""),m(X,""),m(V,!1),await Ti()}catch(pe){m(he,pe.message??"Failed to create user",!0)}finally{m(J,!1)}}async function cn(pe){if(await i.show(`Delete user “${pe}”?`,{confirm:"Delete",danger:!0}))try{await _U(pe),await Ti()}catch(Ge){m(a,Ge.message,!0)}}async function gn(pe){m(be,pe,!0),m(re,""),m(ce,""),m(ue,!0)}async function hn(){m(ce,""),m(ke,!0);try{await bU(c(be),c(re)),m(ue,!1)}catch(pe){m(ce,pe.message,!0)}finally{m(ke,!1)}}async function ft(){m(Oe,""),m(Ue,!0);try{await yU(c(xe)),m(xe,""),m(Pe,!1),await Ti()}catch(pe){m(Oe,pe.message??"Failed to create role",!0)}finally{m(Ue,!1)}}async function Ut(pe){var Ge;if(await i.show(`Delete role “${pe}”?`,{confirm:"Delete",danger:!0}))try{await wU(pe),((Ge=c(ve))==null?void 0:Ge.rolename)===pe&&(m(ve,null),m(mt,!1)),await Ti()}catch(ot){m(d,ot.message,!0)}}function Ri(pe){m(ve,pe,!0),m(mt,!0),m(Mt,"publishClientSend"),m(st,""),m(yt,!0),m(Ce,"")}async function qi(){if(c(ve)){m(Ce,"");try{await SU(c(ve).rolename,{acltype:c(Mt),topic:c(st),allow:c(yt)}),m(st,""),await Ti(),m(ve,c(s).find(pe=>pe.rolename===c(ve).rolename)??c(ve),!0)}catch(pe){m(Ce,pe.message,!0)}}}async function bi(pe,Ge,ot){try{await DU(pe,Ge,ot),await Ti(),m(ve,c(s).find(rt=>rt.rolename===pe)??c(ve),!0)}catch(rt){m(Ce,rt.message,!0)}}async function Wi(){m(Xe,""),m(et,!0);try{await kU(c(si)),m(si,""),m(Nt,!1),await Ti()}catch(pe){m(Xe,pe.message??"Failed to create group",!0)}finally{m(et,!1)}}async function ji(pe){if(await i.show(`Delete group “${pe}”?`,{confirm:"Delete",danger:!0}))try{await BU(pe),await Ti()}catch(Ge){m(u,Ge.message,!0)}}var Ji=MJ(),Si=Et(Ji),$i=_(Si);{var Ve=pe=>{var Ge=iJ();D(pe,Ge)};z($i,pe=>{t()||pe(Ve)})}var qt=v($i,2),Fi=_(qt);let zi;var Di=v(Fi,2);let K;var De=v(Di,2);let Qe;var tt=v(De,2);let Gt;var ci=v(tt,2),vt=v(qt,2);{var dt=pe=>{var Ge=cJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(ot,2);{var Ot=$=>{var oe=Ca(),ne=_(oe);j(()=>W(ne,c(a))),D($,oe)};z(jt,$=>{c(a)&&$(Ot)})}var Ci=v(jt,2);{var P=$=>{var oe=nJ();D($,oe)},N=$=>{var oe=lJ(),ne=v(_(oe));ei(ne,21,()=>c(n),Hi,(ie,ae)=>{var Je=aJ(),Le=_(Je),_e=_(Le),Ze=v(Le),Me=_(Ze),ct=_(Me),Zt=_(ct);ei(Zt,17,()=>c(ae).roles??[],Hi,(Ne,ut)=>{var fe=sJ(),ze=_(fe),Ct=v(ze);j(()=>W(ze,c(ut).rolename)),U("click",Ct,()=>I(c(ae).username,c(ut).rolename)),D(Ne,fe)});var Z=v(Zt,2),le=v(ct,2);{var $e=Ne=>{var ut=Z2(),fe=Et(ut),ze=_(fe),Ct=_(ze);Ct.value=Ct.__value="";var Wt=v(Ct);ei(Wt,17,()=>c(y),Hi,(yi,ai)=>{var zt=Th(),At=_(zt),Ht={};j(()=>{W(At,c(ai)),Ht!==(Ht=c(ai))&&(zt.value=(zt.__value=c(ai))??"")}),D(yi,zt)});var bt=v(ze,2),gi=v(bt,2),Ai=v(fe,2);{var Xi=yi=>{var ai=qx(),zt=_(ai);j(()=>W(zt,c(C))),D(yi,ai)};z(Ai,yi=>{c(C)&&yi(Xi)})}j(()=>bt.disabled=!c(p)||c(b)),Fs(ze,()=>c(p),yi=>m(p,yi)),U("click",bt,A),U("click",gi,()=>m(g,null)),D(Ne,ut)};z(le,Ne=>{var ut;((ut=c(g))==null?void 0:ut.kind)==="user-roles"&&c(g).target===c(ae).username&&Ne($e)})}var Pt=v(Ze),Ee=_(Pt),He=_(Ee),wt=_(He);ei(wt,17,()=>c(ae).groups??[],Hi,(Ne,ut)=>{var fe=oJ(),ze=_(fe),Ct=v(ze);j(()=>W(ze,c(ut).groupname)),U("click",Ct,()=>M(c(ae).username,c(ut).groupname)),D(Ne,fe)});var gt=v(wt,2),Ie=v(He,2);{var ge=Ne=>{var ut=rJ(),fe=Et(ut),ze=_(fe),Ct=_(ze);Ct.value=Ct.__value="";var Wt=v(Ct);ei(Wt,17,()=>c(y),Hi,(yi,ai)=>{var zt=Th(),At=_(zt),Ht={};j(()=>{W(At,c(ai)),Ht!==(Ht=c(ai))&&(zt.value=(zt.__value=c(ai))??"")}),D(yi,zt)});var bt=v(ze,2),gi=v(bt,2),Ai=v(fe,2);{var Xi=yi=>{var ai=qx(),zt=_(ai);j(()=>W(zt,c(C))),D(yi,ai)};z(Ai,yi=>{c(C)&&yi(Xi)})}j(()=>bt.disabled=!c(p)||c(b)),Fs(ze,()=>c(p),yi=>m(p,yi)),U("click",bt,A),U("click",gi,()=>m(g,null)),D(Ne,ut)};z(Ie,Ne=>{var ut;((ut=c(g))==null?void 0:ut.kind)==="user-groups"&&c(g).target===c(ae).username&&Ne(ge)})}var Re=v(Pt),We=_(Re),it=_(We),at=v(it,2);j(()=>W(_e,c(ae).username)),U("click",Z,()=>w("user-roles",c(ae).username)),U("click",gt,()=>w("user-groups",c(ae).username)),U("click",it,()=>gn(c(ae).username)),U("click",at,()=>cn(c(ae).username)),D(ie,Je)}),D($,oe)};z(Ci,$=>{c(n).length===0?$(P):$(N,-1)})}U("click",rt,()=>{m(V,!0),m(he,"")}),D(pe,Ge)};z(vt,pe=>{c(f)==="users"&&pe(dt)})}var Y=v(vt,2);{var Te=pe=>{var Ge=fJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(ot,2);{var Ot=$=>{var oe=Ca(),ne=_(oe);j(()=>W(ne,c(d))),D($,oe)};z(jt,$=>{c(d)&&$(Ot)})}var Ci=v(jt,2);{var P=$=>{var oe=dJ();D($,oe)},N=$=>{var oe=hJ(),ne=v(_(oe));ei(ne,21,()=>c(s),Hi,(ie,ae)=>{var Je=uJ(),Le=_(Je),_e=_(Le),Ze=v(Le),Me=_(Ze),ct=v(Ze),Zt=_(ct),Z=_(Zt),le=v(Z,2);j(()=>{var $e;W(_e,c(ae).rolename),W(Me,(($e=c(ae).acls)==null?void 0:$e.length)??0)}),U("click",Z,()=>Ri(c(ae))),U("click",le,()=>Ut(c(ae).rolename)),D(ie,Je)}),D($,oe)};z(Ci,$=>{c(s).length===0?$(P):$(N,-1)})}U("click",rt,()=>{m(Pe,!0),m(Oe,""),m(xe,"")}),D(pe,Ge)};z(Y,pe=>{c(f)==="roles"&&pe(Te)})}var lt=v(Y,2);{var we=pe=>{var Ge=bJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(ot,2);{var Ot=$=>{var oe=Ca(),ne=_(oe);j(()=>W(ne,c(u))),D($,oe)};z(jt,$=>{c(u)&&$(Ot)})}var Ci=v(jt,2);{var P=$=>{var oe=gJ();D($,oe)},N=$=>{var oe=_J(),ne=v(_(oe));ei(ne,21,()=>c(r),Hi,(ie,ae)=>{var Je=vJ(),Le=_(Je),_e=_(Le),Ze=v(Le),Me=_(Ze),ct=_(Me),Zt=_(ct);ei(Zt,17,()=>c(ae).clients??[],Hi,(at,Ne)=>{var ut=pJ(),fe=_(ut),ze=v(fe);j(()=>W(fe,c(Ne).username)),U("click",ze,()=>R(c(ae).groupname,c(Ne).username)),D(at,ut)});var Z=v(Zt,2),le=v(ct,2);{var $e=at=>{var Ne=xJ(),ut=Et(Ne),fe=_(ut),ze=_(fe);ze.value=ze.__value="";var Ct=v(ze);ei(Ct,17,()=>c(y),Hi,(Xi,yi)=>{var ai=Th(),zt=_(ai),At={};j(()=>{W(zt,c(yi)),At!==(At=c(yi))&&(ai.value=(ai.__value=c(yi))??"")}),D(Xi,ai)});var Wt=v(fe,2),bt=v(Wt,2),gi=v(ut,2);{var Ai=Xi=>{var yi=qx(),ai=_(yi);j(()=>W(ai,c(C))),D(Xi,yi)};z(gi,Xi=>{c(C)&&Xi(Ai)})}j(()=>Wt.disabled=!c(p)||c(b)),Fs(fe,()=>c(p),Xi=>m(p,Xi)),U("click",Wt,A),U("click",bt,()=>m(g,null)),D(at,Ne)};z(le,at=>{var Ne;((Ne=c(g))==null?void 0:Ne.kind)==="group-members"&&c(g).target===c(ae).groupname&&at($e)})}var Pt=v(Ze),Ee=_(Pt),He=_(Ee),wt=_(He);ei(wt,17,()=>c(ae).roles??[],Hi,(at,Ne)=>{var ut=mJ(),fe=_(ut),ze=v(fe);j(()=>W(fe,c(Ne).rolename)),U("click",ze,()=>T(c(ae).groupname,c(Ne).rolename)),D(at,ut)});var gt=v(wt,2),Ie=v(He,2);{var ge=at=>{var Ne=Z2(),ut=Et(Ne),fe=_(ut),ze=_(fe);ze.value=ze.__value="";var Ct=v(ze);ei(Ct,17,()=>c(y),Hi,(Xi,yi)=>{var ai=Th(),zt=_(ai),At={};j(()=>{W(zt,c(yi)),At!==(At=c(yi))&&(ai.value=(ai.__value=c(yi))??"")}),D(Xi,ai)});var Wt=v(fe,2),bt=v(Wt,2),gi=v(ut,2);{var Ai=Xi=>{var yi=qx(),ai=_(yi);j(()=>W(ai,c(C))),D(Xi,yi)};z(gi,Xi=>{c(C)&&Xi(Ai)})}j(()=>Wt.disabled=!c(p)||c(b)),Fs(fe,()=>c(p),Xi=>m(p,Xi)),U("click",Wt,A),U("click",bt,()=>m(g,null)),D(at,Ne)};z(Ie,at=>{var Ne;((Ne=c(g))==null?void 0:Ne.kind)==="group-roles"&&c(g).target===c(ae).groupname&&at(ge)})}var Re=v(Pt),We=_(Re),it=_(We);j(()=>W(_e,c(ae).groupname)),U("click",Z,()=>w("group-members",c(ae).groupname)),U("click",gt,()=>w("group-roles",c(ae).groupname)),U("click",it,()=>ji(c(ae).groupname)),D(ie,Je)}),D($,oe)};z(Ci,$=>{c(r).length===0?$(P):$(N,-1)})}U("click",rt,()=>{m(Nt,!0),m(Xe,""),m(si,"")}),D(pe,Ge)};z(lt,pe=>{c(f)==="groups"&&pe(we)})}var di=v(lt,2);{var Lt=pe=>{var Ge=DJ(),ot=_(Ge),rt=v(_(ot),4);{var jt=Je=>{var Le=Ca(),_e=_(Le);j(()=>W(_e,c(Qt))),D(Je,Le)};z(rt,Je=>{c(Qt)&&Je(jt)})}var Ot=v(rt,2);{var Ci=Je=>{var Le=X2();D(Je,Le)},P=Je=>{var Le=EJ(),_e=v(_(Le));ei(_e,21,()=>ti,Hi,(Ze,Me)=>{let ct=()=>c(Me).acltype,Zt=()=>c(Me).label;const Z=Ft(()=>c(St).find(ge=>ge.acltype===ct()));var le=CJ();let $e;var Pt=_(le),Ee=_(Pt),He=v(Pt),wt=_(He),gt=v(He),Ie=_(gt);j(()=>{var ge,Re;$e=kt(le,1,"svelte-3itf14",null,$e,{saving:c(fi)}),W(Ee,Zt()),ln(wt,"name",ct()),Zo(wt,((ge=c(Z))==null?void 0:ge.allow)===!0),ln(Ie,"name",ct()),Zo(Ie,((Re=c(Z))==null?void 0:Re.allow)===!1)}),U("change",wt,()=>Jt(ct(),!0)),U("change",Ie,()=>Jt(ct(),!1)),D(Ze,le)}),D(Je,Le)};z(Ot,Je=>{c(ye)?Je(P,-1):Je(Ci)})}var N=v(ot,2),$=v(_(N),4);{var oe=Je=>{var Le=Ca(),_e=_(Le);j(()=>W(_e,c(_i))),D(Je,Le)};z($,Je=>{c(_i)&&Je(oe)})}var ne=v($,2);{var ie=Je=>{var Le=X2();D(Je,Le)},ae=Je=>{var Le=SJ(),_e=Et(Le),Ze=_(_e),Me=_(Ze);Me.value=Me.__value="";var ct=v(Me);ei(ct,17,()=>c(r),Hi,(Ee,He)=>{var wt=Th(),gt=_(wt),Ie={};j(()=>{W(gt,c(He).groupname),Ie!==(Ie=c(He).groupname)&&(wt.value=(wt.__value=c(He).groupname)??"")}),D(Ee,wt)});var Zt=v(Ze,2),Z=_(Zt),le=v(_e,2);{var $e=Ee=>{var He=yJ(),wt=v(_(He)),gt=_(wt);j(()=>W(gt,c(oi))),D(Ee,He)},Pt=Ee=>{var He=wJ();D(Ee,He)};z(le,Ee=>{c(oi)?Ee($e):Ee(Pt,-1)})}j(()=>{Zt.disabled=c(Ke)||c(Bi)===(c(oi)??""),W(Z,c(Ke)?"Saving…":"Save")}),Fs(Ze,()=>c(Bi),Ee=>m(Bi,Ee)),U("click",Zt,Vi),D(Je,Le)};z(ne,Je=>{c(ye)?Je(ae,-1):Je(ie)})}D(pe,Ge)};z(di,pe=>{c(f)==="settings"&&pe(Lt)})}var te=v(Si,2);{var Ye=pe=>{var Ge=AJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(_(rt)),Ot=v(rt,2),Ci=v(_(Ot)),P=_(Ci),N=v(P,2),$=_(N),oe=v(Ot,2);{var ne=_e=>{var Ze=Ca(),Me=_(Ze);j(()=>W(Me,c(he))),D(_e,Ze)};z(oe,_e=>{c(he)&&_e(ne)})}var ie=v(oe,2),ae=_(ie),Je=v(ae,2),Le=_(Je);j(()=>{ln(P,"type",c(se)?"text":"password"),W($,c(se)?"Hide":"Show"),Je.disabled=c(J)||!c(H)||!c(X),W(Le,c(J)?"Creating…":"Create")}),Vt(jt,()=>c(H),_e=>m(H,_e)),Vt(P,()=>c(X),_e=>m(X,_e)),U("click",N,()=>m(se,!c(se))),U("click",ae,()=>m(V,!1)),U("click",Je,wn),D(pe,Ge)};z(te,pe=>{c(V)&&pe(Ye)})}var Bt=v(te,2);{var It=pe=>{var Ge=kJ(),ot=_(Ge),rt=_(ot),jt=v(_(rt)),Ot=_(jt),Ci=v(rt,2),P=v(_(Ci)),N=v(Ci,2);{var $=Je=>{var Le=Ca(),_e=_(Le);j(()=>W(_e,c(ce))),D(Je,Le)};z(N,Je=>{c(ce)&&Je($)})}var oe=v(N,2),ne=_(oe),ie=v(ne,2),ae=_(ie);j(()=>{W(Ot,c(be)),ie.disabled=c(ke)||!c(re),W(ae,c(ke)?"Saving…":"Set password")}),Vt(P,()=>c(re),Je=>m(re,Je)),U("click",ne,()=>m(ue,!1)),U("click",ie,hn),D(pe,Ge)};z(Bt,pe=>{c(ue)&&pe(It)})}var Dt=v(Bt,2);{var Be=pe=>{var Ge=BJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(_(rt)),Ot=v(rt,2);{var Ci=ne=>{var ie=Ca(),ae=_(ie);j(()=>W(ae,c(Oe))),D(ne,ie)};z(Ot,ne=>{c(Oe)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{$.disabled=c(Ue)||!c(xe),W(oe,c(Ue)?"Creating…":"Create")}),Vt(jt,()=>c(xe),ne=>m(xe,ne)),U("click",N,()=>m(Pe,!1)),U("click",$,ft),D(pe,Ge)};z(Dt,pe=>{c(Pe)&&pe(Be)})}var je=v(Dt,2);{var Kt=pe=>{var Ge=PJ(),ot=_(Ge),rt=_(ot),jt=v(_(rt)),Ot=_(jt),Ci=v(rt,2);{var P=ct=>{var Zt=LJ(),Z=v(_(Zt));ei(Z,21,()=>c(ve).acls??[],Hi,(le,$e)=>{var Pt=FJ(),Ee=_(Pt),He=_(Ee),wt=v(Ee),gt=_(wt),Ie=v(wt),ge=_(Ie),Re=v(Ie),We=_(Re);j(()=>{W(He,c($e).acltype),W(gt,c($e).topic),W(ge,c($e).allow?"✓":"✗")}),U("click",We,()=>bi(c(ve).rolename,c($e).acltype,c($e).topic)),D(le,Pt)}),D(ct,Zt)},N=ct=>{var Zt=IJ();D(ct,Zt)};z(Ci,ct=>{var Zt;(((Zt=c(ve).acls)==null?void 0:Zt.length)??0)>0?ct(P):ct(N,-1)})}var $=v(Ci,2),oe=_($);ei(oe,21,()=>Yi,Hi,(ct,Zt)=>{var Z=Th(),le=_(Z),$e={};j(()=>{W(le,c(Zt)),$e!==($e=c(Zt))&&(Z.value=(Z.__value=c(Zt))??"")}),D(ct,Z)});var ne=v(oe,2),ie=v(ne,2),ae=_(ie),Je=v(ie,2),Le=v($,2);{var _e=ct=>{var Zt=Ca(),Z=_(Zt);j(()=>W(Z,c(Ce))),D(ct,Zt)};z(Le,ct=>{c(Ce)&&ct(_e)})}var Ze=v(Le,2),Me=_(Ze);j(()=>{W(Ot,c(ve).rolename),Je.disabled=!c(st)}),Fs(oe,()=>c(Mt),ct=>m(Mt,ct)),Vt(ne,()=>c(st),ct=>m(st,ct)),ys(ae,()=>c(yt),ct=>m(yt,ct)),U("click",Je,qi),U("click",Me,()=>m(mt,!1)),D(pe,Ge)};z(je,pe=>{c(mt)&&c(ve)&&pe(Kt)})}var ri=v(je,2);{var hi=pe=>{var Ge=TJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(_(rt)),Ot=v(rt,2);{var Ci=ne=>{var ie=Ca(),ae=_(ie);j(()=>W(ae,c(Xe))),D(ne,ie)};z(Ot,ne=>{c(Xe)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{$.disabled=c(et)||!c(si),W(oe,c(et)?"Creating…":"Create")}),Vt(jt,()=>c(si),ne=>m(si,ne)),U("click",N,()=>m(Nt,!1)),U("click",$,Wi),D(pe,Ge)};z(ri,pe=>{c(Nt)&&pe(hi)})}var Xt=v(ri,2);gs(Yc(Xt,{}),pe=>i=pe,()=>i),j(()=>{zi=kt(Fi,1,"svelte-3itf14",null,zi,{active:c(f)==="users"}),K=kt(Di,1,"svelte-3itf14",null,K,{active:c(f)==="roles"}),Qe=kt(De,1,"svelte-3itf14",null,Qe,{active:c(f)==="groups"}),Gt=kt(tt,1,"svelte-3itf14",null,Gt,{active:c(f)==="settings"})}),U("click",Fi,()=>m(f,"users")),U("click",Di,()=>m(f,"roles")),U("click",De,()=>m(f,"groups")),U("click",tt,()=>{m(f,"settings"),c(ye)||Ei()}),U("click",ci,Ti),D(o,Ji),$s()}Ys(["click","change"]);var Y2=B('<div class="err svelte-9i68x"> </div>'),NJ=B('<div class="ok svelte-9i68x">Saved.</div>'),OJ=B('<div class="reload-msg svelte-9i68x"> </div>'),HJ=B('<div class="loading svelte-9i68x">Loading…</div>'),WJ=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>'),zJ=B("<option></option>"),VJ=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>'),jJ=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>'),$J=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>'),UJ=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>'),GJ=B('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),KJ=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),ZJ=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 &amp; Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function XJ(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(Pi([])),f=F(null),g=F(!1),p=F(""),C=F(Pi([])),b=F(Pi(new Set));Xs(()=>{y(),uU().then(Ce=>{m(C,Ce.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await dS(),!0),m(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),m(f,c(t).checksum,!0);const Ce=c(t).managed.allow_anonymous;m(p,Ce==="true"||Ce==="false"?Ce:"",!0),m(g,c(t).managed.per_listener_settings==="true"),m(i,"")}catch(Ce){m(i,Ce.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(Ce){const Nt=new Set(c(b));Nt.has(Ce)?Nt.delete(Ce):Nt.add(Ce),m(b,Nt,!0)}function I(Ce){m(u,c(u).filter((Nt,si)=>si!==Ce),!0)}async function M(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{const Ce={...c(t).managed};c(g)?(Ce.per_listener_settings="true",delete Ce.allow_anonymous):(delete Ce.per_listener_settings,c(p)?Ce.allow_anonymous=c(p):delete Ce.allow_anonymous),await SF({listeners:c(u),managed:Ce,passthrough:c(t).passthrough,checksum:c(f)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await y()}catch(Ce){m(s,Ce.message??"Save failed",!0)}finally{m(n,!1)}}}async function R(){m(a,!0),m(d,"");try{const Ce=await DF();m(d,Ce.stderr||Ce.stdout||"Reloaded",!0)}catch(Ce){m(d,"Error: "+(Ce.message??"reload failed"))}finally{m(a,!1)}}function T(Ce){var Nt,si,Xe,et,St;return!!((Nt=Ce.tls)!=null&&Nt.enabled||(si=Ce.tls)!=null&&si.certfile||(Xe=Ce.tls)!=null&&Xe.keyfile||(et=Ce.tls)!=null&&et.capath||(St=Ce.tls)!=null&&St.cafile)}function V(Ce,Nt){Nt?Ce.tls={...Ce.tls,enabled:!0}:Ce.tls={},m(u,[...c(u)],!0)}var H=ZJ(),X=_(H),se=v(_(X),2),he=_(se),J=v(he,2),ue=_(J),be=v(J,2),re=_(be),ce=v(X,2);{var ke=Ce=>{var Nt=Y2(),si=_(Nt);j(()=>W(si,c(i))),D(Ce,Nt)};z(ce,Ce=>{c(i)&&Ce(ke)})}var Pe=v(ce,2);{var xe=Ce=>{var Nt=Y2(),si=_(Nt);j(()=>W(si,c(s))),D(Ce,Nt)};z(Pe,Ce=>{c(s)&&Ce(xe)})}var Oe=v(Pe,2);{var Ue=Ce=>{var Nt=NJ();D(Ce,Nt)};z(Oe,Ce=>{c(r)&&Ce(Ue)})}var ve=v(Oe,2);{var mt=Ce=>{var Nt=OJ(),si=_(Nt);j(()=>W(si,c(d))),D(Ce,Nt)};z(ve,Ce=>{c(d)&&Ce(mt)})}var Mt=v(ve,2);{var st=Ce=>{var Nt=HJ();D(Ce,Nt)},yt=Ce=>{var Nt=KJ(),si=Et(Nt),Xe=_(si),et=_(Xe),St=v(Xe,2);{var Qt=Ke=>{var ye=WJ(),ti=v(_(ye),2),Ei=_(ti);Ei.value=Ei.__value="";var Jt=v(Ei);Jt.value=Jt.__value="true";var Vi=v(Jt);Vi.value=Vi.__value="false",Fs(ti,()=>c(p),Yi=>m(p,Yi)),D(Ke,ye)};z(St,Ke=>{c(g)||Ke(Qt)})}var fi=v(si,2),oi=_(fi);ei(oi,17,()=>c(u),Hi,(Ke,ye,ti)=>{var Ei=qJ(),Jt=_(Ei),Vi=_(Jt),Yi=_(Vi),Ti=v(Vi,2),wn=v(Jt,2),cn=_(wn),gn=v(_(cn)),hn=v(cn,2),ft=v(_(hn)),Ut=_(ft);Ut.value=Ut.__value="mqtt";var Ri=v(Ut);Ri.value=Ri.__value="websockets";var qi=v(hn,2),bi=v(_(qi));ln(bi,"list",`bind-addr-list-${ti}`);var Wi=v(qi,2),ji=_(Wi),Ji=v(wn,2);ln(Ji,"id",`bind-addr-list-${ti}`),ei(Ji,21,()=>c(C),Hi,(tt,Gt)=>{var ci=zJ(),vt={};j(()=>{vt!==(vt=c(Gt))&&(ci.value=(ci.__value=c(Gt))??"")}),D(tt,ci)});var Si=v(Ji,2);{var $i=tt=>{var Gt=VJ(),ci=_(Gt),vt=_(ci),dt=v(_(vt)),Y=v(vt,2),Te=v(_(Y)),lt=v(ci,2),we=_(lt),di=v(_(we)),Lt=v(we,2),te=v(_(Lt)),Ye=v(lt,2),Bt=_(Ye),It=v(_(Bt)),Dt=v(Bt,2),Be=v(_(Dt)),je=_(Be);je.value=je.__value="";var Kt=v(je);Kt.value=Kt.__value="tlsv1.3";var ri=v(Kt);ri.value=ri.__value="tlsv1.2";var hi=v(Ye,2),Xt=_(hi),pe=_(Xt),Ge=v(Xt,2),ot=_(Ge);Vt(dt,()=>c(ye).tls.certfile,rt=>c(ye).tls.certfile=rt),Vt(Te,()=>c(ye).tls.keyfile,rt=>c(ye).tls.keyfile=rt),Vt(di,()=>c(ye).tls.cafile,rt=>c(ye).tls.cafile=rt),Vt(te,()=>c(ye).tls.capath,rt=>c(ye).tls.capath=rt),Vt(It,()=>c(ye).tls.crlfile,rt=>c(ye).tls.crlfile=rt),Fs(Be,()=>c(ye).tls.tls_version,rt=>c(ye).tls.tls_version=rt),ys(pe,()=>c(ye).tls.require_certificate,rt=>c(ye).tls.require_certificate=rt),ys(ot,()=>c(ye).tls.use_identity_as_username,rt=>c(ye).tls.use_identity_as_username=rt),D(tt,Gt)},Ve=Ft(()=>T(c(ye)));z(Si,tt=>{c(Ve)&&tt($i)})}var qt=v(Si,2),Fi=_(qt),zi=v(qt,2);{var Di=tt=>{var Gt=$J(),ci=_(Gt),vt=_(ci),dt=v(_(vt)),Y=v(vt,2),Te=v(_(Y)),lt=v(Y,2),we=v(_(lt)),di=_(we);di.value=di.__value="";var Lt=v(di);Lt.value=Lt.__value="0";var te=v(Lt);te.value=te.__value="1";var Ye=v(te);Ye.value=Ye.__value="2";var Bt;k1(we);var It=v(ci,2);{var Dt=je=>{var Kt=jJ(),ri=_(Kt),hi=_(ri);ys(hi,()=>c(ye).tls.use_subject_as_username,Xt=>c(ye).tls.use_subject_as_username=Xt),D(je,Kt)},Be=Ft(()=>T(c(ye)));z(It,je=>{c(Be)&&je(Dt)})}j(je=>{Bt!==(Bt=je)&&(we.value=(we.__value=je)??"",Hm(we,je))},[()=>c(ye).max_qos!==void 0?String(c(ye).max_qos):""]),Vt(dt,()=>c(ye).mount_point,je=>c(ye).mount_point=je),Vt(Te,()=>c(ye).max_connections,je=>c(ye).max_connections=je),U("change",we,je=>{const Kt=je.target.value;c(ye).max_qos=Kt===""?void 0:Number(Kt),m(u,[...c(u)],!0)}),D(tt,Gt)},K=Ft(()=>c(b).has(ti));z(zi,tt=>{c(K)&&tt(Di)})}var De=v(zi,2);{var Qe=tt=>{var Gt=UJ(),ci=v(_(Gt),2),vt=_(ci),dt=v(_(vt)),Y=_(dt);Y.value=Y.__value="";var Te=v(Y);Te.value=Te.__value="true";var lt=v(Te);lt.value=lt.__value="false";var we;k1(dt);var di=v(vt,2),Lt=v(_(di)),te=v(di,2),Ye=v(_(te));j(()=>{we!==(we=c(ye).allow_anonymous===void 0?"":c(ye).allow_anonymous?"true":"false")&&(dt.value=dt.__value=c(ye).allow_anonymous===void 0?"":c(ye).allow_anonymous?"true":"false",Hm(dt,c(ye).allow_anonymous===void 0?"":c(ye).allow_anonymous?"true":"false"))}),U("change",dt,Bt=>{const It=Bt.target.value;c(ye).allow_anonymous=It===""?void 0:It==="true",m(u,[...c(u)],!0)}),Vt(Lt,()=>c(ye).password_file,Bt=>c(ye).password_file=Bt),Vt(Ye,()=>c(ye).acl_file,Bt=>c(ye).acl_file=Bt),D(tt,Gt)};z(De,tt=>{c(g)&&tt(Qe)})}j((tt,Gt)=>{W(Yi,`Port ${c(ye).port??""}`),Zo(ji,tt),W(Fi,`${Gt??""} Advanced`)},[()=>T(c(ye)),()=>c(b).has(ti)?"▾":"▸"]),U("click",Ti,()=>I(ti)),Vt(gn,()=>c(ye).port,tt=>c(ye).port=tt),Fs(ft,()=>c(ye).protocol,tt=>c(ye).protocol=tt),Vt(bi,()=>c(ye).bindAddress,tt=>c(ye).bindAddress=tt),U("change",ji,tt=>V(c(ye),tt.target.checked)),U("click",qt,()=>A(ti)),D(Ke,Ei)});var Bi=v(oi,2);{var _i=Ke=>{var ye=GJ();D(Ke,ye)};z(Bi,Ke=>{c(u).length===0&&Ke(_i)})}ys(et,()=>c(g),Ke=>m(g,Ke)),D(Ce,Nt)};z(Mt,Ce=>{c(t)===null&&!c(i)?Ce(st):Ce(yt,-1)})}j(()=>{J.disabled=c(n),W(ue,c(n)?"Saving…":"Save"),be.disabled=c(a),W(re,c(a)?"Reloading…":"Apply & Reload")}),U("click",he,w),U("click",J,M),U("click",be,R),D(o,H),$s()}Ys(["click","change"]);var Q2=B('<div class="err svelte-1by6o5t"> </div>'),YJ=B('<div class="ok svelte-1by6o5t">Saved.</div>'),QJ=B('<div class="reload-msg svelte-1by6o5t"> </div>'),YC=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),JJ=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),eee=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 &amp; 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 &amp; 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 &amp; 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),tee=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 iee(o,e){js(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(""),T=F(""),V=F(""),H=F("");const X=["file","stdout","stderr","syslog","topic","none"],se=["error","warning","notice","information","debug"],he=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],J=["all"];[...se,...he,...J];let ue=F(Pi(new Set)),be=F(Pi(new Set));function re(Ke,ye){const ti=new Set(Ke);return ti.has(ye)?ti.delete(ye):ti.add(ye),ti}function ce(Ke){if(!c(t))return"";const ye=c(t).managed[Ke];return Array.isArray(ye)?ye[0]:ye??""}function ke(Ke){if(!c(t))return new Set;const ye=c(t).managed[Ke];return ye?new Set(Array.isArray(ye)?ye:[ye]):new Set}Xs(()=>Pe());async function Pe(){try{m(t,await dS(),!0),m(u,c(t).checksum,!0),m(f,ce("persistence"),!0),m(g,ce("persistence_location"),!0),m(p,ce("sys_interval"),!0);const Ke=c(t).managed.include_dir;m(C,Ke?Array.isArray(Ke)?Ke.join(`
231
231
  `):Ke:"",!0),m(b,ce("max_connections"),!0),m(y,ce("max_inflight_messages"),!0),m(w,ce("max_queued_messages"),!0),m(A,ce("max_packet_size"),!0),m(I,ce("message_size_limit"),!0),m(M,ce("max_keepalive"),!0),m(R,ce("persistent_client_expiration"),!0),m(T,ce("retain_available"),!0),m(V,ce("set_tcp_nodelay"),!0),m(H,ce("connection_messages"),!0),m(ue,ke("log_dest"),!0),m(be,ke("log_type"),!0),m(i,"")}catch(Ke){m(i,Ke.message??"Failed to load config",!0)}}async function xe(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let ye=function(Ei,Jt){Jt!==""?Ke[Ei]=Jt:delete Ke[Ei]};const Ke={...c(t).managed};ye("persistence",c(f)),ye("persistence_location",c(g)),ye("sys_interval",c(p));const ti=c(C).split(`
232
- `).map(Ei=>Ei.trim()).filter(Boolean);ti.length>0?Ke.include_dir=ti.length===1?ti[0]:ti:delete Ke.include_dir,ye("max_connections",c(b)),ye("max_inflight_messages",c(y)),ye("max_queued_messages",c(w)),ye("max_packet_size",c(A)),ye("message_size_limit",c(I)),ye("max_keepalive",c(M)),ye("persistent_client_expiration",c(R)),ye("retain_available",c(T)),ye("set_tcp_nodelay",c(V)),ye("connection_messages",c(H)),c(ue).size>0?Ke.log_dest=c(ue).size===1?[...c(ue)][0]:[...c(ue)]:delete Ke.log_dest,c(be).size>0?Ke.log_type=c(be).size===1?[...c(be)][0]:[...c(be)]:delete Ke.log_type,await SF({listeners:c(t).listeners,managed:Ke,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ke){m(s,Ke.message??"Save failed",!0)}finally{m(n,!1)}}}async function Oe(){m(a,!0),m(d,"");try{const Ke=await DF();m(d,Ke.stderr||Ke.stdout||"Reloaded",!0)}catch(Ke){m(d,"Error: "+(Ke.message??"reload failed"))}finally{m(a,!1)}}var Ue=tee(),ve=_(Ue),mt=v(_(ve),2),Mt=_(mt),st=_(Mt),yt=v(Mt,2),Ce=_(yt),Nt=v(ve,2);{var si=Ke=>{var ye=Q2(),ti=_(ye);j(()=>W(ti,c(i))),D(Ke,ye)};z(Nt,Ke=>{c(i)&&Ke(si)})}var Xe=v(Nt,2);{var et=Ke=>{var ye=Q2(),ti=_(ye);j(()=>W(ti,c(s))),D(Ke,ye)};z(Xe,Ke=>{c(s)&&Ke(et)})}var St=v(Xe,2);{var Qt=Ke=>{var ye=YJ();D(Ke,ye)};z(St,Ke=>{c(r)&&Ke(Qt)})}var fi=v(St,2);{var oi=Ke=>{var ye=QJ(),ti=_(ye);j(()=>W(ti,c(d))),D(Ke,ye)};z(fi,Ke=>{c(d)&&Ke(oi)})}var Bi=v(fi,2);{var _i=Ke=>{var ye=eee(),ti=Et(ye),Ei=v(_(ti),2),Jt=_(Ei),Vi=_(Jt),Yi=v(_(Vi),2),Ti=_(Yi);Ti.value=Ti.__value="";var wn=v(Ti);wn.value=wn.__value="true";var cn=v(wn);cn.value=cn.__value="false";var gn=v(Jt,2),hn=_(gn),ft=v(_(hn),2),Ut=v(gn,2),Ri=_(Ut),qi=v(_(Ri),2),bi=v(Ei,2),Wi=_(bi),ji=v(_(Wi),2);ln(ji,"rows",3);var Ji=v(ti,2),Si=v(_(Ji),2),$i=v(_(Si),2);ei($i,21,()=>X,Hi,(Ee,He)=>{var wt=YC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(He)??""}`)},[()=>c(ue).has(c(He))]),U("change",gt,()=>{m(ue,re(c(ue),c(He)),!0)}),D(Ee,wt)});var Ve=v(Si,2),qt=v(_(Ve),2),Fi=_(qt),zi=v(_(Fi),2);ei(zi,17,()=>se,Hi,(Ee,He)=>{var wt=YC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(He)??""}`)},[()=>c(be).has(c(He))]),U("change",gt,()=>{m(be,re(c(be),c(He)),!0)}),D(Ee,wt)});var Di=v(Fi,2),K=v(_(Di),2);ei(K,17,()=>he,Hi,(Ee,He)=>{var wt=YC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(He)??""}`)},[()=>c(be).has(c(He))]),U("change",gt,()=>{m(be,re(c(be),c(He)),!0)}),D(Ee,wt)});var De=v(Di,2),Qe=_(De);ei(Qe,17,()=>J,Hi,(Ee,He)=>{var wt=JJ(),gt=_(wt),Ie=v(gt,4),ge=_(Ie);j(Re=>{Zo(gt,Re),W(ge,c(He))},[()=>c(be).has(c(He))]),U("change",gt,()=>{m(be,re(c(be),c(He)),!0)}),D(Ee,wt)});var tt=v(Ji,2),Gt=v(_(tt),2),ci=_(Gt),vt=_(ci),dt=v(_(vt),2),Y=v(ci,2),Te=_(Y),lt=v(_(Te),2),we=v(Y,2),di=_(we),Lt=v(_(di),2),te=v(we,2),Ye=_(te),Bt=v(_(Ye),2),It=v(tt,2),Dt=v(_(It),2),Be=_(Dt),je=_(Be),Kt=v(_(je),2),ri=v(Be,2),hi=_(ri),Xt=v(_(hi),2),pe=v(It,2),Ge=v(_(pe),2),ot=_(Ge),rt=_(ot),jt=v(_(rt),2),Ot=v(ot,2),Ci=_(Ot),P=v(_(Ci),2),N=_(P);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ne=v(pe,2),ie=v(_(ne),2),ae=_(ie),Je=_(ae),Le=v(_(Je),2),_e=_(Le);_e.value=_e.__value="";var Ze=v(_e);Ze.value=Ze.__value="true";var Me=v(Ze);Me.value=Me.__value="false";var ct=v(ae,2),Zt=_(ct),Z=v(_(Zt),2),le=_(Z);le.value=le.__value="";var $e=v(le);$e.value=$e.__value="true";var Pt=v($e);Pt.value=Pt.__value="false",Fs(Yi,()=>c(f),Ee=>m(f,Ee)),Vt(ft,()=>c(g),Ee=>m(g,Ee)),Vt(qi,()=>c(p),Ee=>m(p,Ee)),Vt(ji,()=>c(C),Ee=>m(C,Ee)),Vt(dt,()=>c(b),Ee=>m(b,Ee)),Vt(lt,()=>c(M),Ee=>m(M,Ee)),Vt(Lt,()=>c(y),Ee=>m(y,Ee)),Vt(Bt,()=>c(w),Ee=>m(w,Ee)),Vt(Kt,()=>c(A),Ee=>m(A,Ee)),Vt(Xt,()=>c(I),Ee=>m(I,Ee)),Vt(jt,()=>c(R),Ee=>m(R,Ee)),Fs(P,()=>c(T),Ee=>m(T,Ee)),Fs(Le,()=>c(V),Ee=>m(V,Ee)),Fs(Z,()=>c(H),Ee=>m(H,Ee)),D(Ke,ye)};z(Bi,Ke=>{c(t)&&Ke(_i)})}j(()=>{Mt.disabled=c(n),W(st,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,Oe),D(o,Ue),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),nee=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>'),see=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>'),oee=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),ree=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>'),aee=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>'),lee=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>'),J2=B('<button class="btn-primary svelte-9auejo"> </button>'),cee=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>'),dee=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),uee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),hee=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),fee=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>'),gee=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),pee=B('<span class="file-name mono small svelte-9auejo"> </span>'),xee=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),mee=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>'),QC=B("<option></option>"),vee=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>'),_ee=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),bee=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),Cee=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>'),Eee=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 yee(o,e){js(e,!0);let t=F(null),i=F(Pi([])),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),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),ue=F(""),be=F(""),re=F(!1),ce=F(!1),ke=F(""),Pe=F(!1),xe=F(""),Oe=F(""),Ue=F(!1),ve=F(""),mt=F(Pi([])),Mt=F(Pi([])),st=F(!1),yt=F("pem"),Ce=F(""),Nt=F(!1),si=F(""),Xe=F(""),et=F(Pi([])),St=F(!1),Qt=F("");async function fi(){try{const[Be,je]=await Promise.allSettled([NU(),WU()]);Be.status==="fulfilled"&&m(t,Be.value.server,!0),je.status==="fulfilled"&&m(i,je.value.certs,!0),m(n,"")}catch(Be){m(n,Be.message,!0)}}Xs(()=>{fi()});async function oi(){m(g,""),m(f,!0),m(p,null);try{const Be=c(d).split(",").map(Kt=>Kt.trim()).filter(Boolean),je=await OU({cn:c(a),san:Be,days:c(u)});m(p,{fingerprint:je.fingerprint,expires:je.expires},!0),await fi()}catch(Be){m(g,Be.message,!0)}finally{m(f,!1)}}async function Bi(){m(A,""),m(w,!0),m(I,"");try{const Be=c(y).split(",").map(Kt=>Kt.trim()).filter(Boolean),je=await HU({cn:c(b),san:Be});m(I,je.csrPem,!0)}catch(Be){m(A,Be.message,!0)}finally{m(w,!1)}}async function _i(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await qC({cert:c(M)}),m(V,!0),await fi()}catch(Be){m(T,Be.message,!0)}finally{m(R,!1)}}function Ke(){navigator.clipboard.writeText(c(I)).catch(()=>{})}function ye(Be){var ri;const je=(ri=Be.target.files)==null?void 0:ri[0];if(!je)return;m(ue,je.name,!0);const Kt=new FileReader;Kt.onload=()=>{const hi=Kt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(hi))),!0)},Kt.readAsArrayBuffer(je)}async function ti(){m(ke,""),m(ce,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await qC({p12base64:c(J),passphrase:c(be)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await qC({cert:c(se),key:c(he)||void 0})}m(H,!1),await fi()}catch(Be){m(ke,Be.message,!0)}finally{m(ce,!1)}}function Ei(Be){let je;return Kt=>{const ri=Kt.target.value;clearTimeout(je),je=setTimeout(async()=>{if(!ri.startsWith("/")||ri.length<2){Be([]);return}try{Be((await jU(ri)).suggestions)}catch{Be([])}},280)}}const Jt=Ei(Be=>{m(mt,Be,!0)}),Vi=Ei(Be=>{m(Mt,Be,!0)}),Yi=Ei(Be=>{m(et,Be,!0)});async function Ti(){m(ve,""),m(Ue,!0);try{await $U({certPath:c(xe),keyPath:c(Oe)}),m(Pe,!1),await fi()}catch(Be){m(ve,Be.message,!0)}finally{m(Ue,!1)}}async function wn(){m(si,""),m(Nt,!0);try{await zU(c(Ce)),m(Ce,""),m(st,!1),await fi()}catch(Be){m(si,Be.message,!0)}finally{m(Nt,!1)}}async function cn(){m(Qt,""),m(St,!0);try{await UU(c(Xe)),m(Xe,""),m(st,!1),await fi()}catch(Be){m(Qt,Be.message,!0)}finally{m(St,!1)}}async function gn(Be){if(confirm("Remove this trusted CA cert?"))try{await VU(Be),await fi()}catch(je){m(s,je.message,!0)}}function hn(Be){const je=new Date(Be).getTime()-Date.now();return je<0?"expired":je<30*864e5?"expiring":""}function ft(Be){return new Date(Be).toLocaleDateString()}var Ut=Eee(),Ri=Et(Ut),qi=_(Ri),bi=_(qi),Wi=v(qi,2);{var ji=Be=>{var je=nl(),Kt=_(je);j(()=>W(Kt,c(n))),D(Be,je)};z(Wi,Be=>{c(n)&&Be(ji)})}var Ji=v(Wi,2);{var Si=Be=>{var je=nl(),Kt=_(je);j(()=>W(Kt,c(s))),D(Be,je)};z(Ji,Be=>{c(s)&&Be(Si)})}var $i=v(Ji,2),Ve=_($i),qt=v(_(Ve),2),Fi=v(qt,2),zi=v(Fi,2),Di=v(zi,2),K=v(Ve,2);{var De=Be=>{var je=nee(),Kt=_(je),ri=v(_(Kt)),hi=_(ri),Xt=v(ri,3),pe=_(Xt),Ge=v(Xt,3),ot=_(Ge);j((rt,jt)=>{W(hi,c(t).cn),W(pe,c(t).fingerprint),kt(Ge,1,rt,"svelte-9auejo"),W(ot,jt)},[()=>hg(hn(c(t).expires)),()=>ft(c(t).expires)]),D(Be,je)},Qe=Be=>{var je=see();D(Be,je)};z(K,Be=>{c(t)?Be(De):Be(Qe,-1)})}var tt=v($i,2),Gt=_(tt),ci=v(_(Gt),2),vt=v(Gt,2);{var dt=Be=>{var je=oee();D(Be,je)},Y=Be=>{var je=aee(),Kt=v(_(je));ei(Kt,21,()=>c(i),Hi,(ri,hi)=>{var Xt=ree(),pe=_(Xt),Ge=_(pe),ot=v(pe),rt=_(ot),jt=v(ot),Ot=_(jt),Ci=v(jt),P=_(Ci);j((N,$,oe)=>{W(Ge,c(hi).cn),W(rt,`${N??""}…`),kt(jt,1,$,"svelte-9auejo"),W(Ot,oe)},[()=>c(hi).fingerprint.slice(0,29),()=>hg(hn(c(hi).expires)),()=>ft(c(hi).expires)]),U("click",P,()=>gn(c(hi).fingerprint)),D(ri,Xt)}),D(Be,je)};z(vt,Be=>{c(i).length===0?Be(dt):Be(Y,-1)})}var Te=v(Ri,2);{var lt=Be=>{var je=cee(),Kt=_(je),ri=v(_(Kt),2),hi=v(_(ri)),Xt=v(ri,2),pe=v(_(Xt)),Ge=v(Xt,2),ot=v(_(Ge)),rt=v(Ge,2);{var jt=ne=>{var ie=nl(),ae=_(ie);j(()=>W(ae,c(g))),D(ne,ie)};z(rt,ne=>{c(g)&&ne(jt)})}var Ot=v(rt,2);{var Ci=ne=>{var ie=lee(),ae=v(_(ie),2),Je=v(_(ae)),Le=_(Je),_e=v(Je,2),Ze=_(_e);j(Me=>{W(Le,c(p).fingerprint),W(Ze,Me)},[()=>ft(c(p).expires)]),D(ne,ie)};z(Ot,ne=>{c(p)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2);{var oe=ne=>{var ie=J2(),ae=_(ie);j(()=>{ie.disabled=c(f),W(ae,c(f)?"Generating…":"Generate")}),U("click",ie,oi),D(ne,ie)};z($,ne=>{c(p)||ne(oe)})}Vt(hi,()=>c(a),ne=>m(a,ne)),Vt(pe,()=>c(d),ne=>m(d,ne)),Vt(ot,()=>c(u),ne=>m(u,ne)),U("click",N,()=>m(r,!1)),D(Be,je)};z(Te,Be=>{c(r)&&Be(lt)})}var we=v(Te,2);{var di=Be=>{var je=fee(),Kt=_(je),ri=v(_(Kt),2);{var hi=pe=>{var Ge=dee(),ot=Et(Ge),rt=v(_(ot)),jt=v(ot,2),Ot=v(_(jt)),Ci=v(jt,4);{var P=ie=>{var ae=nl(),Je=_(ae);j(()=>W(Je,c(A))),D(ie,ae)};z(Ci,ie=>{c(A)&&ie(P)})}var N=v(Ci,2),$=_(N),oe=v($,2),ne=_(oe);j(()=>{oe.disabled=c(w),W(ne,c(w)?"Generating…":"Generate key + CSR")}),Vt(rt,()=>c(b),ie=>m(b,ie)),Vt(Ot,()=>c(y),ie=>m(y,ie)),U("click",$,()=>m(C,!1)),U("click",oe,Bi),D(pe,Ge)},Xt=pe=>{var Ge=hee(),ot=v(Et(Ge),2),rt=v(_(ot)),jt=v(ot,2),Ot=_(jt),Ci=v(Ot,2),P=v(jt,4),N=v(_(P)),$=v(P,2);{var oe=Ze=>{var Me=nl(),ct=_(Me);j(()=>W(ct,c(T))),D(Ze,Me)};z($,Ze=>{c(T)&&Ze(oe)})}var ne=v($,2);{var ie=Ze=>{var Me=uee();D(Ze,Me)};z(ne,Ze=>{c(V)&&Ze(ie)})}var ae=v(ne,2),Je=_(ae),Le=v(Je,2);{var _e=Ze=>{var Me=J2(),ct=_(Me);j(Zt=>{Me.disabled=Zt,W(ct,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,_i),D(Ze,Me)};z(Le,Ze=>{c(V)||Ze(_e)})}j(Ze=>{B1(rt,c(I)),ln(Ci,"href",`data:application/pkcs10;charset=utf-8,${Ze??""}`)},[()=>encodeURIComponent(c(I))]),U("click",Ot,Ke),Vt(N,()=>c(M),Ze=>m(M,Ze)),U("click",Je,()=>m(C,!1)),D(pe,Ge)};z(ri,pe=>{c(I)?pe(Xt,-1):pe(hi)})}D(Be,je)};z(we,Be=>{c(C)&&Be(di)})}var Lt=v(we,2);{var te=Be=>{var je=mee(),Kt=_(je),ri=v(_(Kt),2),hi=_(ri);let Xt;var pe=v(hi,2);let Ge;var ot=v(ri,2);{var rt=ne=>{var ie=gee(),ae=Et(ie),Je=v(_(ae)),Le=v(ae,2),_e=v(_(Le));Vt(Je,()=>c(se),Ze=>m(se,Ze)),Vt(_e,()=>c(he),Ze=>m(he,Ze)),D(ne,ie)},jt=ne=>{var ie=xee(),ae=Et(ie),Je=v(_(ae)),Le=_(Je),_e=v(Le,2);{var Ze=$e=>{var Pt=pee(),Ee=_(Pt);j(()=>W(Ee,c(ue))),D($e,Pt)};z(_e,$e=>{c(ue)&&$e(Ze)})}var Me=v(ae,2),ct=v(_(Me)),Zt=_(ct),Z=v(Zt,2),le=_(Z);j(()=>{ln(Zt,"type",c(re)?"text":"password"),W(le,c(re)?"Hide":"Show")}),U("change",Le,ye),Vt(Zt,()=>c(be),$e=>m(be,$e)),U("click",Z,()=>m(re,!c(re))),D(ne,ie)};z(ot,ne=>{c(X)==="pem"?ne(rt):ne(jt,-1)})}var Ot=v(ot,2);{var Ci=ne=>{var ie=nl(),ae=_(ie);j(()=>W(ae,c(ke))),D(ne,ie)};z(Ot,ne=>{c(ke)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{Xt=kt(hi,1,"svelte-9auejo",null,Xt,{active:c(X)==="pem"}),Ge=kt(pe,1,"svelte-9auejo",null,Ge,{active:c(X)==="p12"}),$.disabled=c(ce),W(oe,c(ce)?"Importing…":"Import")}),U("click",hi,()=>m(X,"pem")),U("click",pe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ti),D(Be,je)};z(Lt,Be=>{c(H)&&Be(te)})}var Ye=v(Lt,2);{var Bt=Be=>{var je=vee(),Kt=_(je),ri=v(_(Kt),4),hi=v(_(ri)),Xt=v(hi,2);ei(Xt,21,()=>c(mt),Hi,($,oe)=>{var ne=QC(),ie={};j(()=>{ie!==(ie=c(oe))&&(ne.value=(ne.__value=c(oe))??"")}),D($,ne)});var pe=v(ri,2),Ge=v(_(pe)),ot=v(Ge,2);ei(ot,21,()=>c(Mt),Hi,($,oe)=>{var ne=QC(),ie={};j(()=>{ie!==(ie=c(oe))&&(ne.value=(ne.__value=c(oe))??"")}),D($,ne)});var rt=v(pe,2);{var jt=$=>{var oe=nl(),ne=_(oe);j(()=>W(ne,c(ve))),D($,oe)};z(rt,$=>{c(ve)&&$(jt)})}var Ot=v(rt,2),Ci=_(Ot),P=v(Ci,2),N=_(P);j($=>{P.disabled=$,W(N,c(Ue)?"Installing…":"Install")},[()=>c(Ue)||!c(xe).trim()||!c(Oe).trim()]),U("input",hi,Jt),Vt(hi,()=>c(xe),$=>m(xe,$)),U("input",Ge,Vi),Vt(Ge,()=>c(Oe),$=>m(Oe,$)),U("click",Ci,()=>m(Pe,!1)),U("click",P,Ti),D(Be,je)};z(Ye,Be=>{c(Pe)&&Be(Bt)})}var It=v(Ye,2);{var Dt=Be=>{var je=Cee(),Kt=_(je),ri=v(_(Kt),2),hi=_(ri);let Xt;var pe=v(hi,2);let Ge;var ot=v(ri,2);{var rt=Ot=>{var Ci=_ee(),P=Et(Ci),N=v(_(P)),$=v(P,2);{var oe=Le=>{var _e=nl(),Ze=_(_e);j(()=>W(Ze,c(si))),D(Le,_e)};z($,Le=>{c(si)&&Le(oe)})}var ne=v($,2),ie=_(ne),ae=v(ie,2),Je=_(ae);j(Le=>{ae.disabled=Le,W(Je,c(Nt)?"Adding…":"Add CA cert")},[()=>c(Nt)||!c(Ce).trim()]),Vt(N,()=>c(Ce),Le=>m(Ce,Le)),U("click",ie,()=>m(st,!1)),U("click",ae,wn),D(Ot,Ci)},jt=Ot=>{var Ci=bee(),P=v(Et(Ci),2),N=v(_(P)),$=v(N,2);ei($,21,()=>c(et),Hi,(_e,Ze)=>{var Me=QC(),ct={};j(()=>{ct!==(ct=c(Ze))&&(Me.value=(Me.__value=c(Ze))??"")}),D(_e,Me)});var oe=v(P,2);{var ne=_e=>{var Ze=nl(),Me=_(Ze);j(()=>W(Me,c(Qt))),D(_e,Ze)};z(oe,_e=>{c(Qt)&&_e(ne)})}var ie=v(oe,2),ae=_(ie),Je=v(ae,2),Le=_(Je);j(_e=>{Je.disabled=_e,W(Le,c(St)?"Adding…":"Add CA cert")},[()=>c(St)||!c(Xe).trim()]),U("input",N,Yi),Vt(N,()=>c(Xe),_e=>m(Xe,_e)),U("click",ae,()=>m(st,!1)),U("click",Je,cn),D(Ot,Ci)};z(ot,Ot=>{c(yt)==="pem"?Ot(rt):Ot(jt,-1)})}j(()=>{Xt=kt(hi,1,"svelte-9auejo",null,Xt,{active:c(yt)==="pem"}),Ge=kt(pe,1,"svelte-9auejo",null,Ge,{active:c(yt)==="path"})}),U("click",hi,()=>m(yt,"pem")),U("click",pe,()=>m(yt,"path")),D(Be,je)};z(It,Be=>{c(st)&&Be(Dt)})}U("click",bi,fi),U("click",qt,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Fi,()=>{m(C,!0),m(A,""),m(I,""),m(M,""),m(V,!1),m(T,"")}),U("click",zi,()=>{m(H,!0),m(ke,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(ue,""),m(be,""),m(re,!1)}),U("click",Di,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(Oe,""),m(mt,[],!0),m(Mt,[],!0)}),U("click",ci,()=>{m(st,!0),m(si,""),m(Ce,""),m(yt,"pem"),m(Qt,""),m(Xe,""),m(et,[],!0)}),D(o,Ut),$s()}Ys(["click","change","input"]);var Gx=B('<div class="err svelte-17yczfe"> </div>'),wee=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>'),See=B('<div class="checking svelte-17yczfe">Checking…</div>'),Dee=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>'),Aee=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>'),kee=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),Bee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Fee=B("<span> </span>"),Lee=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),Iee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Pee=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 Tee(o,e){js(e,!0);let t=F(Pi({})),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(Pi({}));Xs(async()=>{try{const[et,St,Qt]=await Promise.all([Pl(),Pb(),fetch("/she/broker/ssh/pubkey").then(oi=>oi.json()).catch(()=>({publicKey:null}))]);m(A,et,!0),St.sshKeyDefault&&m(a,St.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)),Qt.publicKey&&m(p,Qt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&I()}catch(et){m(i,et.message,!0)}});async function I(){m(f,!0),m(g,"");try{m(u,await dU(),!0)}catch(et){m(g,et.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const et=c(A).broker??{},St=c(d)==="local"?{...c(t),host:""}:c(t),Qt={...c(A),broker:{...et,ssh:St}};await pp(Qt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(et){m(r,et.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const et=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),St=await et.json();if(!et.ok)throw new Error(St.error??et.statusText);m(p,St.publicKey,!0)}catch(et){m(b,et.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const et=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),St=await et.json();if(!et.ok)throw new Error(St.error??et.statusText);m(w,St.ok?"✓ Connection successful":"✗ "+(St.error??"Failed"),!0)}catch(et){m(w,"✗ "+et.message)}finally{m(y,!1)}}function V(et){navigator.clipboard.writeText(et).catch(()=>{})}const H=Ft(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Pee(),se=_(X);{var he=et=>{var St=Gx(),Qt=_(St);j(()=>W(Qt,c(i))),D(et,St)};z(se,et=>{c(i)&&et(he)})}var J=v(se,2),ue=v(_(J),2),be=_(ue);let re;var ce=v(be,2);let ke;var Pe=v(ue,2),xe=_(Pe),Oe=v(J,2);{var Ue=et=>{var St=Dee(),Qt=v(_(St),4);{var fi=Ei=>{var Jt=Gx(),Vi=_(Jt);j(()=>W(Vi,c(g))),D(Ei,Jt)};z(Qt,Ei=>{c(g)&&Ei(fi)})}var oi=v(Qt,2);{var Bi=Ei=>{var Jt=wee(),Vi=_(Jt),Yi=_(Vi);let Ti;var wn=_(Yi),cn=v(Yi,4);let gn;var hn=_(cn),ft=v(Vi,2),Ut=_(ft);let Ri;var qi=_(Ut),bi=v(Ut,4);let Wi;var ji=_(bi);j(()=>{Ti=kt(Yi,1,"check-icon svelte-17yczfe",null,Ti,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(wn,c(u).mosquittoCtrl?"✓":"✗"),gn=kt(cn,1,"check-note svelte-17yczfe",null,gn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(hn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Ri=kt(Ut,1,"check-icon svelte-17yczfe",null,Ri,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(qi,c(u).mosquitto?"✓":"✗"),Wi=kt(bi,1,"check-note svelte-17yczfe",null,Wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(ji,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(Ei,Jt)},_i=Ei=>{var Jt=See();D(Ei,Jt)};z(oi,Ei=>{c(u)?Ei(Bi):c(f)&&Ei(_i,1)})}var Ke=v(oi,2),ye=_(Ke),ti=_(ye);j(()=>{ye.disabled=c(f),W(ti,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",ye,I),D(et,St)};z(Oe,et=>{c(d)==="local"&&et(Ue)})}var ve=v(Oe,2);{var mt=et=>{var St=Lee(),Qt=Et(St),fi=v(_(Qt),4),oi=_(fi),Bi=v(_(oi)),_i=v(oi,2),Ke=v(_(_i)),ye=v(_i,2),ti=v(_(ye)),Ei=v(ye,2),Jt=v(_(Ei)),Vi=v(Qt,2),Yi=v(_(Vi),2),Ti=v(_(Yi)),wn=_(Ti),cn=v(Yi,2);{var gn=Si=>{var $i=kee(),Ve=Et($i),qt=v(_(Ve)),Fi=_(qt),zi=v(Fi,2),Di=v(Ve,2);{var K=Gt=>{var ci=Aee(),vt=v(_(ci)),dt=_(vt),Y=v(dt,2);j(()=>B1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Gt,ci)};z(Di,Gt=>{c(H)&&Gt(K)})}var De=v(Di,2),Qe=_(De),tt=_(Qe);j(()=>{B1(Fi,c(p)),Qe.disabled=c(C),W(tt,c(C)?"Generating…":"Regenerate keypair")}),U("click",zi,()=>V(c(p))),U("click",Qe,R),D(Si,$i)},hn=Si=>{var $i=Bee(),Ve=_($i),qt=_(Ve);j(()=>{Ve.disabled=c(C),W(qt,c(C)?"Generating…":"Generate keypair")}),U("click",Ve,R),D(Si,$i)};z(cn,Si=>{c(p)?Si(gn):Si(hn,-1)})}var ft=v(cn,2);{var Ut=Si=>{var $i=Gx(),Ve=_($i);j(()=>W(Ve,c(b))),D(Si,$i)};z(ft,Si=>{c(b)&&Si(Ut)})}var Ri=v(Vi,2),qi=v(_(Ri),2),bi=_(qi),Wi=_(bi),ji=v(bi,2);{var Ji=Si=>{var $i=Fee();let Ve;var qt=_($i);j(Fi=>{Ve=kt($i,1,"test-result svelte-17yczfe",null,Ve,Fi),W(qt,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Si,$i)};z(ji,Si=>{c(w)&&Si(Ji)})}j(()=>{ln(Jt,"placeholder",c(a)),W(wn,c(t).identityFile||c(a)),bi.disabled=c(y)||!c(t).host,W(Wi,c(y)?"Testing…":"Test SSH connection")}),Vt(Bi,()=>c(t).host,Si=>c(t).host=Si),Vt(Ke,()=>c(t).port,Si=>c(t).port=Si),Vt(ti,()=>c(t).user,Si=>c(t).user=Si),Vt(Jt,()=>c(t).identityFile,Si=>c(t).identityFile=Si),U("click",bi,T),D(et,St)};z(ve,et=>{c(d)==="ssh"&&et(mt)})}var Mt=v(ve,2);{var st=et=>{var St=Gx(),Qt=_(St);j(()=>W(Qt,c(r))),D(et,St)};z(Mt,et=>{c(r)&&et(st)})}var yt=v(Mt,2);{var Ce=et=>{var St=Iee();D(et,St)};z(yt,et=>{c(s)&&et(Ce)})}var Nt=v(yt,2),si=_(Nt),Xe=_(si);j(()=>{re=kt(be,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),ke=kt(ce,1,"svelte-17yczfe",null,ke,{active:c(d)==="ssh"}),W(xe,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"),si.disabled=c(n),W(Xe,c(n)?"Saving…":"Save")}),U("click",be,()=>{m(d,"local"),c(u)||I()}),U("click",ce,()=>m(d,"ssh")),U("click",si,M),D(o,X),$s()}Ys(["click"]);var Mee=B("<button> </button>"),Ree=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 &amp; Reload</em>.</span>',1),Nee=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Oee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Hee=B('<div class="empty svelte-1yc29ow"><!></div>'),Wee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),zee=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 Vee(o,e){js(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(Pi([])),r=F(!0),a=F(Pi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await hU().catch(()=>[]),ue=KU(),be=new Set,re=[...J,...ue].filter(ce=>n.has(ce.level)).map(ce=>({ts:ce.ts,level:ce.level,msg:ce.msg}));re.sort((ce,ke)=>ce.ts-ke.ts),m(s,re.filter(ce=>{const ke=`${ce.ts}\0${ce.msg}`;return be.has(ke)?!1:(be.add(ke),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=hr("brokerLog",ce=>{n.has(ce.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ce.ts,level:ce.level,msg:ce.msg}],!0),c(r)&&hl().then(p))}),dS().then(ce=>{const ke=ce.managed.log_dest,Pe=Array.isArray(ke)?ke:ke?[ke]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Vp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const ue=new Set(c(a));ue.has(J)?ue.delete(J):ue.add(J),m(a,ue,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Ft(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const ue=new Date(J);return ue.toTimeString().slice(0,8)+"."+String(ue.getMilliseconds()).padStart(3,"0")}var A=zee(),I=_(A),M=_(I);ei(M,20,()=>["D","I","N","W","E"],Hi,(J,ue)=>{var be=Mee();let re;var ce=_(be);j(ke=>{re=kt(be,1,`lvl-btn ${i[ue]??""}`,"svelte-1yc29ow",re,ke),ln(be,"title",`Toggle ${ue??""} messages`),W(ce,t[ue])},[()=>({active:c(a).has(ue)})]),U("click",be,()=>C(ue)),D(J,be)});var R=v(M,4),T=_(R),V=v(R,2),H=v(I,2),X=_(H);{var se=J=>{var ue=Hee(),be=_(ue);{var re=ke=>{var Pe=ws(),xe=Et(Pe);{var Oe=mt=>{var Mt=Ree();D(mt,Mt)},Ue=mt=>{var Mt=Nee();D(mt,Mt)},ve=mt=>{var Mt=Oee();D(mt,Mt)};z(xe,mt=>{c(f)===!1?mt(Oe):c(f)===!0?mt(Ue,1):mt(ve,-1)})}D(ke,Pe)},ce=ke=>{var Pe=oo("No messages match the current filter.");D(ke,Pe)};z(be,ke=>{c(u)?ke(ce,-1):ke(re)})}D(J,ue)},he=J=>{var ue=ws(),be=Et(ue);ei(be,17,()=>c(y),re=>re.ts+re.msg,(re,ce)=>{var ke=Wee(),Pe=_(ke),xe=_(Pe),Oe=v(Pe,2),Ue=_(Oe),ve=v(Oe,2),mt=_(ve);j(Mt=>{W(xe,Mt),kt(Oe,1,`badge ${i[c(ce).level]??""}`,"svelte-1yc29ow"),W(Ue,t[c(ce).level]),W(mt,c(ce).msg)},[()=>w(c(ce).ts)]),D(re,ke)}),D(J,ue)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var jee=B('<div class="err svelte-d31be1"> </div>'),$ee=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>'),Uee=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>'),Gee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Kee=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>`),Zee=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>'),Xee=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>'),Yee=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 Qee(o,e){js(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)})}),ce=await re.json();if(!re.ok||!ce.ok)throw new Error(ce.error??"Bootstrap failed");m(d,ce,!0);const ke=await Pl(),Pe=ke.broker??{};await pp({...ke,broker:{...Pe,dynsec:{adminUsername:ce.adminUsername,adminPassword:ce.adminPassword}}}),await pU().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 fU(),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(),ce=re.broker??{};await pp({...re,broker:{...ce,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var I=Yee(),M=_(I),R=v(_(M),2),T=v(M,2);{var V=re=>{var ce=jee(),ke=_(ce);j(()=>W(ke,c(i))),D(re,ce)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ce=$ee(),ke=v(_(ce),6),Pe=_(ke);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ce)},se=re=>{var ce=Uee(),ke=_(ce),Pe=_(ke);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ce)},he=re=>{var ce=qee(),ke=v(_(ce),2),Pe=v(_(ke)),xe=v(ke,2),Oe=v(_(xe)),Ue=v(xe,2),ve=v(_(Ue)),mt=v(Ue,2),Mt=_(mt),st=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(st,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Vt(Pe,()=>c(s),yt=>m(s,yt)),Vt(Oe,()=>c(r),yt=>m(r,yt)),Vt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ce)},J=re=>{var ce=Kee(),ke=v(_(ce),2),Pe=v(_(ke),3),xe=_(Pe),Oe=v(ke,4),Ue=_(Oe),ve=_(Ue),mt=v(Ue,2),Mt=v(Oe,2);{var st=yt=>{var Ce=Gee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(st)})}j(()=>{W(xe,c(d).confFilePath),Ue.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",Ue,w),U("click",mt,()=>{m(t,"done")}),D(re,ce)},ue=re=>{var ce=Zee(),ke=v(_(ce),4),Pe=_(ke);U("click",Pe,function(...xe){var Oe;(Oe=e.onDone)==null||Oe.apply(this,xe)}),D(re,ce)},be=re=>{var ce=Xee(),ke=v(_(ce),2),Pe=v(_(ke)),xe=v(ke,2),Oe=v(_(xe)),Ue=v(xe,2),ve=_(Ue),mt=v(ve,2),Mt=_(mt);j(()=>{mt.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Vt(Pe,()=>c(g),st=>m(g,st)),Vt(Oe,()=>c(p),st=>m(p,st)),U("click",ve,()=>m(t,"intro")),U("click",mt,A),D(re,ce)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(ue,4):c(t)==="manual"&&re(be,5)})}U("click",R,()=>m(t,"manual")),D(o,I),$s()}Ys(["click"]);var Jee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),ete=B('<div class="error-banner svelte-zuhcpo"> </div>'),tte=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>'),ite=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),nte=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>'),ste=B('<div class="error-inline svelte-zuhcpo"> </div>'),ote=B('<button class="diag-btn svelte-zuhcpo"> </button>'),eA=B('<p class="diag-issue svelte-zuhcpo"> </p>'),rte=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),ate=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),lte=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),cte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),dte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),ute=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>'),hte=B('<div style="margin-top: 20px;"><!></div>'),fte=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),gte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),pte=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 xte(o,e){js(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(Pi(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 Pb(),!0),m(g,"")}catch(Xe){m(g,Xe.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Xe=setInterval(C,1e4);return()=>clearInterval(Xe)});async function b(){m(r,!0),m(a,null);try{m(a,await xU(),!0)}catch(Xe){m(a,{ok:!1,dynSecPath:"",issues:[Xe.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 gU(),await C()}catch(Xe){m(s,Xe.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Xe){var St;if(!((St=c(f))!=null&&St.sys))return"—";const et=c(f).sys[Xe];return et?String(et.val??"—"):"—"}function A(Xe){if(Xe==="—")return Xe;const et=Xe.match(/^(\d+)/),St=et?parseInt(et[1]):NaN;if(isNaN(St))return Xe;const Qt=Math.floor(St/86400),fi=Math.floor(St%86400/3600),oi=Math.floor(St%3600/60),Bi=St%60,_i=Ke=>String(Ke).padStart(2,"0");return Qt>0?`${Qt}d ${_i(fi)}:${_i(oi)}:${_i(Bi)}`:`${_i(fi)}:${_i(oi)}:${_i(Bi)}`}function I(Xe){if(Xe==="—")return Xe;const et=parseInt(Xe);return isNaN(et)?Xe:et<1024?`${et} B`:et<1048576?`${(et/1024).toFixed(1)} KB`:et<1073741824?`${(et/1048576).toFixed(1)} MB`:`${(et/1073741824).toFixed(1)} GB`}var M=pte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var ue=v(he,2);let be;var re=v(ue,2);let ce;var ke=v(re,2);let Pe;var xe=v(ke,2);let Oe;var Ue=v(T,2);{var ve=Xe=>{var et=gte(),St=_(et);{var Qt=Bi=>{var _i=Jee();D(Bi,_i)},fi=Bi=>{var _i=ete(),Ke=_(_i);j(()=>W(Ke,c(g))),D(Bi,_i)},oi=Bi=>{var _i=fte(),Ke=Et(_i),ye=_(Ke),ti=_(ye),Ei=v(_(ti),4),Jt=_(Ei),Vi=v(ti,2);{var Yi=Wi=>{var ji=tte(),Ji=_(ji);let Si;var $i=v(Ji,4);let Ve;var qt=_($i);{var Fi=Qe=>{var tt=oo("plugin active");D(Qe,tt)},zi=Qe=>{var tt=oo("connected — plugin not responding");D(Qe,tt)},Di=Qe=>{var tt=oo("disconnected");D(Qe,tt)};z(qt,Qe=>{c(f).dynsec.dynsecReady?Qe(Fi):c(f).dynsec.connected?Qe(zi,1):Qe(Di,-1)})}var K=v($i,2),De=_(K);j(()=>{Si=kt(Ji,1,"dot svelte-zuhcpo",null,Si,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),Ve=kt($i,1,"conn-detail svelte-zuhcpo",null,Ve,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(De,c(n)?"…":"deactivate")}),U("click",K,y),D(Wi,ji)},Ti=Wi=>{var ji=nte(),Ji=v(_(ji),6);{var Si=$i=>{var Ve=ite();U("click",Ve,()=>m(t,!0)),D($i,Ve)};z(Ji,$i=>{c(t)||$i(Si)})}D(Wi,ji)};z(Vi,Wi=>{c(f).dynsec.configured?Wi(Yi):Wi(Ti,-1)})}var wn=v(Vi,2);{var cn=Wi=>{var ji=ste(),Ji=_(ji);j(()=>W(Ji,c(s))),D(Wi,ji)};z(wn,Wi=>{c(s)&&Wi(cn)})}var gn=v(ye,2);{var hn=Wi=>{var ji=dte(),Ji=_(ji);{var Si=Fi=>{var zi=ote(),Di=_(zi);j(()=>{zi.disabled=c(r),W(Di,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",zi,b),D(Fi,zi)},$i=Fi=>{var zi=lte(),Di=Et(zi);let K;var De=_(Di);{var Qe=vt=>{var dt=eA(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(vt,dt)},tt=vt=>{var dt=ate(),Y=Et(dt),Te=v(_(Y)),lt=_(Te),we=v(Y,2),di=v(_(we)),Lt=_(di),te=v(we,2),Ye=v(_(te)),Bt=_(Ye),It=v(te,2),Dt=v(_(It)),Be=_(Dt),je=v(It,2);ei(je,17,()=>c(a).issues,Hi,(hi,Xt)=>{var pe=eA(),Ge=_(pe);j(()=>W(Ge,`⚠ ${c(Xt)??""}`)),D(hi,pe)});var Kt=v(je,2);{var ri=hi=>{var Xt=rte();D(hi,Xt)};z(Kt,hi=>{c(a).ok&&hi(ri)})}j(()=>{W(lt,c(a).dynSecPath),kt(di,1,hg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W(Lt,c(a).adminClientExists?"✓ yes":"✗ no"),kt(Ye,1,hg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Bt,c(a).hasAdminRole?"✓ yes":"✗ no"),kt(Dt,1,hg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Be,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(vt,dt)};z(De,vt=>{c(a).error?vt(Qe):vt(tt,-1)})}var Gt=v(Di,2),ci=_(Gt);j(()=>{K=kt(Di,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Gt.disabled=c(r),W(ci,c(r)?"Running…":"Re-run")}),U("click",Gt,b),D(Fi,zi)};z(Ji,Fi=>{c(a)?Fi($i,-1):Fi(Si)})}var Ve=v(Ji,2);{var qt=Fi=>{var zi=cte();U("click",zi,()=>m(t,!0)),D(Fi,zi)};z(Ve,Fi=>{c(t)||Fi(qt)})}D(Wi,ji)};z(gn,Wi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Wi(hn)})}var ft=v(gn,2);{var Ut=Wi=>{var ji=ute(),Ji=_(ji),Si=v(_(Ji)),$i=_(Si),Ve=v(Si,3),qt=_(Ve),Fi=v(Ve,3),zi=_(Fi),Di=v(Fi,3),K=_(Di),De=v(Di,3),Qe=_(De),tt=v(De,3),Gt=_(tt);j((ci,vt,dt,Y,Te,lt,we,di,Lt,te,Ye,Bt)=>{W($i,ci),W(qt,vt),W(zi,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${lt??""} rcv · ${we??""} sent · ${di??""} stored`),W(Qe,`${Lt??""} retained · ${te??""} subscriptions`),W(Gt,`${Ye??""} in · ${Bt??""} 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(Wi,ji)},Ri=Ft(()=>Object.keys(c(f).sys).length>0);z(ft,Wi=>{c(Ri)&&Wi(Ut)})}var qi=v(Ke,2);{var bi=Wi=>{var ji=hte(),Ji=_(ji);Qee(Ji,{onDone:()=>{m(t,!1),C()}}),D(Wi,ji)};z(qi,Wi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Wi(bi)})}j(()=>W(Jt,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(Bi,_i)};z(St,Bi=>{c(p)?Bi(Qt):c(g)?Bi(fi,1):c(f)&&Bi(oi,2)})}D(Xe,et)},mt=Xe=>{{let et=Ft(()=>{var St;return((St=c(f))==null?void 0:St.dynsec.dynsecReady)??!1});RJ(Xe,{get dynsecReady(){return c(et)}})}},Mt=Xe=>{iee(Xe,{})},st=Xe=>{XJ(Xe,{})},yt=Xe=>{yee(Xe,{})},Ce=Xe=>{Tee(Xe,{})},Nt=Xe=>{Vee(Xe,{})};z(Ue,Xe=>{c(u)==="status"?Xe(ve):c(u)==="users"?Xe(mt,1):c(u)==="brokerconfig"?Xe(Mt,2):c(u)==="listeners"?Xe(st,3):c(u)==="certs"?Xe(yt,4):c(u)==="ssh"?Xe(Ce,5):c(u)==="logs"&&Xe(Nt,6)})}var si=v(R,2);gs(Yc(si,{}),Xe=>i=Xe,()=>i),j(()=>{H=kt(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=kt(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=kt(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),be=kt(ue,1,"svelte-zuhcpo",null,be,{active:c(u)==="listeners"}),ce=kt(re,1,"svelte-zuhcpo",null,ce,{active:c(u)==="certs"}),Pe=kt(ke,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),Oe=kt(xe,1,"svelte-zuhcpo",null,Oe,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",ue,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",ke,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var mte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),vte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),_te=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),bte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),Cte=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>'),Ete=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),yte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),wte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),Ste=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>'),Dte=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>'),Ate=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),kte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Bte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Lte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Ite=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>'),Pte=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>'),Tte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Mte=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),Rte=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),Nte=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>'),Ote=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Hte=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>'),Wte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zte=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>'),Vte=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>'),jte=B('<div class="login-error svelte-1n46o8q"> </div>'),$te=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>'),Ute=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>'),Gte=B("<!> <!> <!> <!>",1);function Kte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Xe=location.hash.slice(1);return t.includes(Xe)?Xe:"scripts"}let n=F(Pi(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);T$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await N$(c(C)),m(C,""),m(p,!1)}catch(Xe){m(b,Xe.message??"Login failed",!0)}finally{m(y,!1)}}async function I(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await O$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Pi([])),se=F(0),he=F(!1),J=F(Pi([]));const ue=Ft(()=>c(J).filter(Xe=>Xe.online).length),be=Ft(()=>c(J).length===0?"none":c(ue)===c(J).length?"all":c(ue)>0?"some":"offline");let re=F(!1),ce=F(!1);async function ke(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let Xe;try{Xe=(await e0()).startedAt}catch{}try{await xF()}catch{}const et=Date.now()+6e4;for(;Date.now()<et;){await new Promise(St=>setTimeout(St,250));try{const St=await e0();if(Xe===void 0||St.startedAt!==Xe){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const Xe=await $$();c(s)&&m(s,{...c(s),latestVersion:Xe.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var St,Qt;if(!await c(M).show(`Update to v${(St=c(s))==null?void 0:St.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const Xe=(Qt=c(s))==null?void 0:Qt.startedAt;try{await j$()}catch{}const et=Date.now()+18e4;for(;Date.now()<et;){await new Promise(fi=>setTimeout(fi,1e3));try{const fi=await e0();if(Xe===void 0||fi.startedAt!==Xe){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function Oe(Xe){m(n,Xe,!0),location.hash=Xe}Xs(async()=>{location.hash||(location.hash=c(n));const Xe=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Xe);try{const Ke=await R$();m(f,Ke.mode,!0),m(g,Ke.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function et(){var Ke,ye,ti;try{m(s,await e0(),!0)}catch{}try{const[Ei,Jt]=await Promise.all([_F(),Pl()]);m(X,Array.isArray(Jt.pinnedPackages)?Jt.pinnedPackages:[],!0),m(se,Object.keys(Ei).filter(Yi=>!c(X).includes(Yi)).length,!0);const Vi=c(he);m(he,((Ke=Jt.broker)==null?void 0:Ke.enabled)===!0),Vi&&!c(he)&&c(n)==="security"&&Oe("scripts")}catch{}!((ye=c(s))!=null&&ye.matterEnabled)&&c(n)==="matter"&&Oe("scripts"),!((ti=c(s))!=null&&ti.dbEnabled)&&c(n)==="db"&&Oe("scripts")}et();const St=setInterval(et,5e3),Qt=hr("mqtt:status",Ke=>{Ke.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ke.ready===!1),m(V,Ke.ready===!0))}),fi=hr("matter:deviceList",Ke=>{Array.isArray(Ke.devices)&&m(J,Ke.devices.map(ye=>({nodeId:String(ye.nodeId),online:!!ye.online})),!0)}),oi=hr("matter:deviceStatus",Ke=>{if(Ke.nodeId===void 0)return;const ye=String(Ke.nodeId),ti=!!Ke.online;m(J,c(J).map(Ei=>Ei.nodeId===ye?{...Ei,online:ti}:Ei),!0)}),Bi=kF();m(re,Bi.some(Ke=>Ke.level==="error"),!0),m(ce,!c(re)&&Bi.some(Ke=>Ke.level==="warn"),!0);const _i=hS(Ke=>{Ke.level==="error"?(m(re,!0),m(ce,!1)):Ke.level==="warn"&&!c(re)&&m(ce,!0)});return()=>{window.removeEventListener("hashchange",Xe),clearInterval(St),Qt(),fi(),oi(),_i()}});var Ue=Gte();xs("click",s6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(Ue);{var mt=Xe=>{var et=Vte(),St=_(et),Qt=v(_(St),2);let fi;var oi=v(Qt,2);let Bi;var _i=v(_(oi),2);{var Ke=N=>{var $=mte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(_i,N=>{c(se)>0&&N(Ke)})}var ye=v(oi,2);let ti;var Ei=v(_(ye),2);{var Jt=N=>{var $=vte();D(N,$)},Vi=N=>{var $=_te();D(N,$)},Yi=N=>{var $=bte();D(N,$)};z(Ei,N=>{c(H)?N(Jt):c(T)?N(Vi,1):c(V)&&N(Yi,2)})}var Ti=v(ye,2);{var wn=N=>{var $=Cte();let oe;j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>Oe("security")),D(N,$)};z(Ti,N=>{c(he)&&N(wn)})}var cn=v(Ti,2);{var gn=N=>{var $=Ste();let oe;var ne=v(_($),2);{var ie=Le=>{var _e=Ete();D(Le,_e)},ae=Le=>{var _e=yte();D(Le,_e)},Je=Le=>{var _e=wte();D(Le,_e)};z(ne,Le=>{c(be)==="all"?Le(ie):c(be)==="some"?Le(ae,1):c(be)==="offline"&&Le(Je,2)})}j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>Oe("matter")),D(N,$)};z(cn,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(gn)})}var hn=v(cn,2);{var ft=N=>{var $=Dte();let oe;j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>Oe("db")),D(N,$)};z(hn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Ut=v(hn,2);let Ri;var qi=v(_(Ut),2);{var bi=N=>{var $=Ate();D(N,$)},Wi=N=>{var $=kte();D(N,$)};z(qi,N=>{c(re)?N(bi):c(ce)&&N(Wi,1)})}var ji=v(Ut,4),Ji=v(_(ji),2),Si=_(Ji),$i=_(Si);$i.nodeValue="v1.12.9 ";var Ve=v($i);{var qt=N=>{var $=Bte();D(N,$)};z(Ve,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(qt)})}var Fi=v(Si,2);{var zi=N=>{var $=Pte(),oe=_($),ne=v(_(oe));ne.textContent="v1.12.9";var ie=v(ne,2);{var ae=le=>{var $e=Fte(),Pt=v(Et($e)),Ee=_(Pt);j(()=>W(Ee,`v${c(s).latestVersion??""}`)),D(le,$e)},Je=le=>{var $e=Lte();D(le,$e)};z(ie,le=>{var $e;($e=c(s))!=null&&$e.latestVersion?le(ae):le(Je,-1)})}var Le=v(oe,2),_e=_(Le);{var Ze=le=>{var $e=Ite(),Pt=v(_($e));j(()=>W(Pt,` Update to v${c(s).latestVersion??""}`)),U("click",$e,xe),D(le,$e)};z(_e,le=>{var $e;($e=c(s))!=null&&$e.latestVersion&&le(Ze)})}var Me=v(_e,2),ct=_(Me);let Zt;var Z=v(ct);j(()=>{Me.disabled=c(d),Zt=kt(ct,0,"svelte-1n46o8q",null,Zt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,le=>le.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Fi,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(zi)})}var Di=v(Ji,2),K=_(Di),De=v(K,2);{var Qe=N=>{var $=Wte(),oe=_($);{var ne=_e=>{var Ze=Nte(),Me=_(Ze);{var ct=ut=>{const fe=Ft(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),ze=Ft(()=>Math.floor(c(fe)/86400)),Ct=Ft(()=>Math.floor(c(fe)%86400/3600)),Wt=Ft(()=>Math.floor(c(fe)%3600/60));var bt=Tte(),gi=v(Et(bt)),Ai=_(gi);j(()=>W(Ai,`${c(ze)>0?c(ze)+"d ":""}${c(Ct)>0||c(ze)>0?c(Ct)+"h ":""}${c(Wt)??""}m`)),D(ut,bt)};z(Me,ut=>{c(s).startedAt&&ut(ct)})}var Zt=v(Me,3),Z=_(Zt),le=v(Zt,3),$e=_(le),Pt=v(le,3),Ee=_(Pt),He=v(Pt,2);{var wt=ut=>{var fe=Mte(),ze=v(Et(fe)),Ct=_(ze),Wt=v(ze,3),bt=_(Wt);j(()=>{W(Ct,c(s).matterNodes??0),W(bt,c(s).matterEndpoints??0)}),D(ut,fe)};z(He,ut=>{c(s).matterEnabled&&ut(wt)})}var gt=v(He,2);{var Ie=ut=>{var fe=Rte(),ze=v(Et(fe)),Ct=_(ze),Wt=v(ze,3),bt=_(Wt);j(()=>{W(Ct,c(s).dbDocs??"—"),W(bt,c(s).dbViews??"—")}),D(ut,fe)};z(gt,ut=>{c(s).dbEnabled&&ut(Ie)})}var ge=v(gt,3),Re=_(ge),We=v(ge,3),it=_(We),at=v(We,3),Ne=_(at);j(()=>{W(Z,c(s).scripts),W($e,c(s).topics),W(Ee,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W(it,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(Ne,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ze)},ie=_e=>{var Ze=Ote();D(_e,Ze)};z(oe,_e=>{c(s)?_e(ne):_e(ie,-1)})}var ae=v(oe,2),Je=_(ae);{var Le=_e=>{var Ze=Hte();U("click",Ze,()=>{m(r,!1),ke()}),D(_e,Ze)};z(Je,_e=>{var Ze;(Ze=c(s))!=null&&Ze.docker||_e(Le)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(De,N=>{c(r)&&N(Qe)})}var tt=v(Di,2);let Gt;var ci=v(tt,2);{var vt=N=>{var $=zte();U("click",$,I),D(N,$)};z(ci,N=>{c(f)==="password"&&N(vt)})}var dt=v(St,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let lt;var we=_(Te);{let N=Ft(()=>c(n)==="scripts");lZ(we,{get active(){return c(N)}})}var di=v(Te,2);let Lt;var te=_(di);tJ(te,{});var Ye=v(di,2);let Bt;var It=_(Ye);RQ(It,{});var Dt=v(Ye,2);let Be;var je=_(Dt);eQ(je,{});var Kt=v(Dt,2);let ri;var hi=_(Kt);xte(hi,{});var Xt=v(Kt,2);let pe;var Ge=_(Xt);nY(Ge,{});var ot=v(Xt,2);let rt;var jt=_(ot);ZZ(jt,{});var Ot=v(ot,2);let Ci;var P=_(Ot);JZ(P,{}),j(()=>{fi=kt(Qt,1,"svelte-1n46o8q",null,fi,{active:c(n)==="scripts"}),Bi=kt(oi,1,"svelte-1n46o8q",null,Bi,{active:c(n)==="packages"}),ti=kt(ye,1,"svelte-1n46o8q",null,ti,{active:c(n)==="mqtt"}),Ri=kt(Ut,1,"svelte-1n46o8q",null,Ri,{active:c(n)==="logs"}),Gt=kt(tt,1,"nav-settings svelte-1n46o8q",null,Gt,{active:c(n)==="config"}),lt=kt(Te,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:c(n)!=="scripts"}),Lt=kt(di,1,"page-wrap svelte-1n46o8q",null,Lt,{hidden:c(n)!=="packages"}),Bt=kt(Ye,1,"page-wrap svelte-1n46o8q",null,Bt,{hidden:c(n)!=="mqtt"}),Be=kt(Dt,1,"page-wrap svelte-1n46o8q",null,Be,{hidden:c(n)!=="matter"}),ri=kt(Kt,1,"page-wrap svelte-1n46o8q",null,ri,{hidden:c(n)!=="security"}),pe=kt(Xt,1,"page-wrap svelte-1n46o8q",null,pe,{hidden:c(n)!=="db"}),rt=kt(ot,1,"page-wrap svelte-1n46o8q",null,rt,{hidden:c(n)!=="config"}),Ci=kt(Ot,1,"page-wrap svelte-1n46o8q",null,Ci,{hidden:c(n)!=="logs"})}),U("click",Qt,()=>Oe("scripts")),U("click",oi,()=>Oe("packages")),U("click",ye,()=>Oe("mqtt")),U("click",Ut,()=>{Oe("logs"),m(re,!1),m(ce,!1)}),U("click",Si,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",tt,()=>Oe("config")),D(Xe,et)};z(ve,Xe=>{c(w)&&!c(p)&&Xe(mt)})}var Mt=v(ve,2);{var st=Xe=>{var et=$te(),St=_(et),Qt=v(_(St),4),fi=v(_(Qt),2),oi=v(Qt,2);{var Bi=ye=>{var ti=jte(),Ei=_(ti);j(()=>W(Ei,c(b))),D(ye,ti)};z(oi,ye=>{c(b)&&ye(Bi)})}var _i=v(oi,2),Ke=_(_i);j(()=>{fi.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ke,c(y)?"Signing in…":"Sign in")}),xs("submit",St,ye=>{ye.preventDefault(),A()}),Vt(fi,()=>c(C),ye=>m(C,ye)),D(Xe,et)};z(Mt,Xe=>{c(p)&&Xe(st)})}var yt=v(Mt,2);{var Ce=Xe=>{var et=Ute();D(Xe,et)};z(yt,Xe=>{c(R)&&Xe(Ce)})}var Nt=v(yt,2);{var si=Xe=>{var et=qte();D(Xe,et)};z(Nt,Xe=>{c(u)&&Xe(si)})}D(o,Ue),$s()}Ys(["click"]);QI(Kte,{target:document.getElementById("app")});export{N6 as t};
232
+ `).map(Ei=>Ei.trim()).filter(Boolean);ti.length>0?Ke.include_dir=ti.length===1?ti[0]:ti:delete Ke.include_dir,ye("max_connections",c(b)),ye("max_inflight_messages",c(y)),ye("max_queued_messages",c(w)),ye("max_packet_size",c(A)),ye("message_size_limit",c(I)),ye("max_keepalive",c(M)),ye("persistent_client_expiration",c(R)),ye("retain_available",c(T)),ye("set_tcp_nodelay",c(V)),ye("connection_messages",c(H)),c(ue).size>0?Ke.log_dest=c(ue).size===1?[...c(ue)][0]:[...c(ue)]:delete Ke.log_dest,c(be).size>0?Ke.log_type=c(be).size===1?[...c(be)][0]:[...c(be)]:delete Ke.log_type,await SF({listeners:c(t).listeners,managed:Ke,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ke){m(s,Ke.message??"Save failed",!0)}finally{m(n,!1)}}}async function Oe(){m(a,!0),m(d,"");try{const Ke=await DF();m(d,Ke.stderr||Ke.stdout||"Reloaded",!0)}catch(Ke){m(d,"Error: "+(Ke.message??"reload failed"))}finally{m(a,!1)}}var Ue=tee(),ve=_(Ue),mt=v(_(ve),2),Mt=_(mt),st=_(Mt),yt=v(Mt,2),Ce=_(yt),Nt=v(ve,2);{var si=Ke=>{var ye=Q2(),ti=_(ye);j(()=>W(ti,c(i))),D(Ke,ye)};z(Nt,Ke=>{c(i)&&Ke(si)})}var Xe=v(Nt,2);{var et=Ke=>{var ye=Q2(),ti=_(ye);j(()=>W(ti,c(s))),D(Ke,ye)};z(Xe,Ke=>{c(s)&&Ke(et)})}var St=v(Xe,2);{var Qt=Ke=>{var ye=YJ();D(Ke,ye)};z(St,Ke=>{c(r)&&Ke(Qt)})}var fi=v(St,2);{var oi=Ke=>{var ye=QJ(),ti=_(ye);j(()=>W(ti,c(d))),D(Ke,ye)};z(fi,Ke=>{c(d)&&Ke(oi)})}var Bi=v(fi,2);{var _i=Ke=>{var ye=eee(),ti=Et(ye),Ei=v(_(ti),2),Jt=_(Ei),Vi=_(Jt),Yi=v(_(Vi),2),Ti=_(Yi);Ti.value=Ti.__value="";var wn=v(Ti);wn.value=wn.__value="true";var cn=v(wn);cn.value=cn.__value="false";var gn=v(Jt,2),hn=_(gn),ft=v(_(hn),2),Ut=v(gn,2),Ri=_(Ut),qi=v(_(Ri),2),bi=v(Ei,2),Wi=_(bi),ji=v(_(Wi),2);ln(ji,"rows",3);var Ji=v(ti,2),Si=v(_(Ji),2),$i=v(_(Si),2);ei($i,21,()=>X,Hi,(Ee,He)=>{var wt=YC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(He)??""}`)},[()=>c(ue).has(c(He))]),U("change",gt,()=>{m(ue,re(c(ue),c(He)),!0)}),D(Ee,wt)});var Ve=v(Si,2),qt=v(_(Ve),2),Fi=_(qt),zi=v(_(Fi),2);ei(zi,17,()=>se,Hi,(Ee,He)=>{var wt=YC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(He)??""}`)},[()=>c(be).has(c(He))]),U("change",gt,()=>{m(be,re(c(be),c(He)),!0)}),D(Ee,wt)});var Di=v(Fi,2),K=v(_(Di),2);ei(K,17,()=>he,Hi,(Ee,He)=>{var wt=YC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(He)??""}`)},[()=>c(be).has(c(He))]),U("change",gt,()=>{m(be,re(c(be),c(He)),!0)}),D(Ee,wt)});var De=v(Di,2),Qe=_(De);ei(Qe,17,()=>J,Hi,(Ee,He)=>{var wt=JJ(),gt=_(wt),Ie=v(gt,4),ge=_(Ie);j(Re=>{Zo(gt,Re),W(ge,c(He))},[()=>c(be).has(c(He))]),U("change",gt,()=>{m(be,re(c(be),c(He)),!0)}),D(Ee,wt)});var tt=v(Ji,2),Gt=v(_(tt),2),ci=_(Gt),vt=_(ci),dt=v(_(vt),2),Y=v(ci,2),Te=_(Y),lt=v(_(Te),2),we=v(Y,2),di=_(we),Lt=v(_(di),2),te=v(we,2),Ye=_(te),Bt=v(_(Ye),2),It=v(tt,2),Dt=v(_(It),2),Be=_(Dt),je=_(Be),Kt=v(_(je),2),ri=v(Be,2),hi=_(ri),Xt=v(_(hi),2),pe=v(It,2),Ge=v(_(pe),2),ot=_(Ge),rt=_(ot),jt=v(_(rt),2),Ot=v(ot,2),Ci=_(Ot),P=v(_(Ci),2),N=_(P);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ne=v(pe,2),ie=v(_(ne),2),ae=_(ie),Je=_(ae),Le=v(_(Je),2),_e=_(Le);_e.value=_e.__value="";var Ze=v(_e);Ze.value=Ze.__value="true";var Me=v(Ze);Me.value=Me.__value="false";var ct=v(ae,2),Zt=_(ct),Z=v(_(Zt),2),le=_(Z);le.value=le.__value="";var $e=v(le);$e.value=$e.__value="true";var Pt=v($e);Pt.value=Pt.__value="false",Fs(Yi,()=>c(f),Ee=>m(f,Ee)),Vt(ft,()=>c(g),Ee=>m(g,Ee)),Vt(qi,()=>c(p),Ee=>m(p,Ee)),Vt(ji,()=>c(C),Ee=>m(C,Ee)),Vt(dt,()=>c(b),Ee=>m(b,Ee)),Vt(lt,()=>c(M),Ee=>m(M,Ee)),Vt(Lt,()=>c(y),Ee=>m(y,Ee)),Vt(Bt,()=>c(w),Ee=>m(w,Ee)),Vt(Kt,()=>c(A),Ee=>m(A,Ee)),Vt(Xt,()=>c(I),Ee=>m(I,Ee)),Vt(jt,()=>c(R),Ee=>m(R,Ee)),Fs(P,()=>c(T),Ee=>m(T,Ee)),Fs(Le,()=>c(V),Ee=>m(V,Ee)),Fs(Z,()=>c(H),Ee=>m(H,Ee)),D(Ke,ye)};z(Bi,Ke=>{c(t)&&Ke(_i)})}j(()=>{Mt.disabled=c(n),W(st,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,Oe),D(o,Ue),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),nee=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>'),see=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>'),oee=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),ree=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>'),aee=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>'),lee=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>'),J2=B('<button class="btn-primary svelte-9auejo"> </button>'),cee=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>'),dee=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),uee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),hee=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),fee=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>'),gee=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),pee=B('<span class="file-name mono small svelte-9auejo"> </span>'),xee=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),mee=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>'),QC=B("<option></option>"),vee=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>'),_ee=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),bee=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),Cee=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>'),Eee=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 yee(o,e){js(e,!0);let t=F(null),i=F(Pi([])),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),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),ue=F(""),be=F(""),re=F(!1),ce=F(!1),ke=F(""),Pe=F(!1),xe=F(""),Oe=F(""),Ue=F(!1),ve=F(""),mt=F(Pi([])),Mt=F(Pi([])),st=F(!1),yt=F("pem"),Ce=F(""),Nt=F(!1),si=F(""),Xe=F(""),et=F(Pi([])),St=F(!1),Qt=F("");async function fi(){try{const[Be,je]=await Promise.allSettled([NU(),WU()]);Be.status==="fulfilled"&&m(t,Be.value.server,!0),je.status==="fulfilled"&&m(i,je.value.certs,!0),m(n,"")}catch(Be){m(n,Be.message,!0)}}Xs(()=>{fi()});async function oi(){m(g,""),m(f,!0),m(p,null);try{const Be=c(d).split(",").map(Kt=>Kt.trim()).filter(Boolean),je=await OU({cn:c(a),san:Be,days:c(u)});m(p,{fingerprint:je.fingerprint,expires:je.expires},!0),await fi()}catch(Be){m(g,Be.message,!0)}finally{m(f,!1)}}async function Bi(){m(A,""),m(w,!0),m(I,"");try{const Be=c(y).split(",").map(Kt=>Kt.trim()).filter(Boolean),je=await HU({cn:c(b),san:Be});m(I,je.csrPem,!0)}catch(Be){m(A,Be.message,!0)}finally{m(w,!1)}}async function _i(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await qC({cert:c(M)}),m(V,!0),await fi()}catch(Be){m(T,Be.message,!0)}finally{m(R,!1)}}function Ke(){navigator.clipboard.writeText(c(I)).catch(()=>{})}function ye(Be){var ri;const je=(ri=Be.target.files)==null?void 0:ri[0];if(!je)return;m(ue,je.name,!0);const Kt=new FileReader;Kt.onload=()=>{const hi=Kt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(hi))),!0)},Kt.readAsArrayBuffer(je)}async function ti(){m(ke,""),m(ce,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await qC({p12base64:c(J),passphrase:c(be)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await qC({cert:c(se),key:c(he)||void 0})}m(H,!1),await fi()}catch(Be){m(ke,Be.message,!0)}finally{m(ce,!1)}}function Ei(Be){let je;return Kt=>{const ri=Kt.target.value;clearTimeout(je),je=setTimeout(async()=>{if(!ri.startsWith("/")||ri.length<2){Be([]);return}try{Be((await jU(ri)).suggestions)}catch{Be([])}},280)}}const Jt=Ei(Be=>{m(mt,Be,!0)}),Vi=Ei(Be=>{m(Mt,Be,!0)}),Yi=Ei(Be=>{m(et,Be,!0)});async function Ti(){m(ve,""),m(Ue,!0);try{await $U({certPath:c(xe),keyPath:c(Oe)}),m(Pe,!1),await fi()}catch(Be){m(ve,Be.message,!0)}finally{m(Ue,!1)}}async function wn(){m(si,""),m(Nt,!0);try{await zU(c(Ce)),m(Ce,""),m(st,!1),await fi()}catch(Be){m(si,Be.message,!0)}finally{m(Nt,!1)}}async function cn(){m(Qt,""),m(St,!0);try{await UU(c(Xe)),m(Xe,""),m(st,!1),await fi()}catch(Be){m(Qt,Be.message,!0)}finally{m(St,!1)}}async function gn(Be){if(confirm("Remove this trusted CA cert?"))try{await VU(Be),await fi()}catch(je){m(s,je.message,!0)}}function hn(Be){const je=new Date(Be).getTime()-Date.now();return je<0?"expired":je<30*864e5?"expiring":""}function ft(Be){return new Date(Be).toLocaleDateString()}var Ut=Eee(),Ri=Et(Ut),qi=_(Ri),bi=_(qi),Wi=v(qi,2);{var ji=Be=>{var je=nl(),Kt=_(je);j(()=>W(Kt,c(n))),D(Be,je)};z(Wi,Be=>{c(n)&&Be(ji)})}var Ji=v(Wi,2);{var Si=Be=>{var je=nl(),Kt=_(je);j(()=>W(Kt,c(s))),D(Be,je)};z(Ji,Be=>{c(s)&&Be(Si)})}var $i=v(Ji,2),Ve=_($i),qt=v(_(Ve),2),Fi=v(qt,2),zi=v(Fi,2),Di=v(zi,2),K=v(Ve,2);{var De=Be=>{var je=nee(),Kt=_(je),ri=v(_(Kt)),hi=_(ri),Xt=v(ri,3),pe=_(Xt),Ge=v(Xt,3),ot=_(Ge);j((rt,jt)=>{W(hi,c(t).cn),W(pe,c(t).fingerprint),kt(Ge,1,rt,"svelte-9auejo"),W(ot,jt)},[()=>hg(hn(c(t).expires)),()=>ft(c(t).expires)]),D(Be,je)},Qe=Be=>{var je=see();D(Be,je)};z(K,Be=>{c(t)?Be(De):Be(Qe,-1)})}var tt=v($i,2),Gt=_(tt),ci=v(_(Gt),2),vt=v(Gt,2);{var dt=Be=>{var je=oee();D(Be,je)},Y=Be=>{var je=aee(),Kt=v(_(je));ei(Kt,21,()=>c(i),Hi,(ri,hi)=>{var Xt=ree(),pe=_(Xt),Ge=_(pe),ot=v(pe),rt=_(ot),jt=v(ot),Ot=_(jt),Ci=v(jt),P=_(Ci);j((N,$,oe)=>{W(Ge,c(hi).cn),W(rt,`${N??""}…`),kt(jt,1,$,"svelte-9auejo"),W(Ot,oe)},[()=>c(hi).fingerprint.slice(0,29),()=>hg(hn(c(hi).expires)),()=>ft(c(hi).expires)]),U("click",P,()=>gn(c(hi).fingerprint)),D(ri,Xt)}),D(Be,je)};z(vt,Be=>{c(i).length===0?Be(dt):Be(Y,-1)})}var Te=v(Ri,2);{var lt=Be=>{var je=cee(),Kt=_(je),ri=v(_(Kt),2),hi=v(_(ri)),Xt=v(ri,2),pe=v(_(Xt)),Ge=v(Xt,2),ot=v(_(Ge)),rt=v(Ge,2);{var jt=ne=>{var ie=nl(),ae=_(ie);j(()=>W(ae,c(g))),D(ne,ie)};z(rt,ne=>{c(g)&&ne(jt)})}var Ot=v(rt,2);{var Ci=ne=>{var ie=lee(),ae=v(_(ie),2),Je=v(_(ae)),Le=_(Je),_e=v(Je,2),Ze=_(_e);j(Me=>{W(Le,c(p).fingerprint),W(Ze,Me)},[()=>ft(c(p).expires)]),D(ne,ie)};z(Ot,ne=>{c(p)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2);{var oe=ne=>{var ie=J2(),ae=_(ie);j(()=>{ie.disabled=c(f),W(ae,c(f)?"Generating…":"Generate")}),U("click",ie,oi),D(ne,ie)};z($,ne=>{c(p)||ne(oe)})}Vt(hi,()=>c(a),ne=>m(a,ne)),Vt(pe,()=>c(d),ne=>m(d,ne)),Vt(ot,()=>c(u),ne=>m(u,ne)),U("click",N,()=>m(r,!1)),D(Be,je)};z(Te,Be=>{c(r)&&Be(lt)})}var we=v(Te,2);{var di=Be=>{var je=fee(),Kt=_(je),ri=v(_(Kt),2);{var hi=pe=>{var Ge=dee(),ot=Et(Ge),rt=v(_(ot)),jt=v(ot,2),Ot=v(_(jt)),Ci=v(jt,4);{var P=ie=>{var ae=nl(),Je=_(ae);j(()=>W(Je,c(A))),D(ie,ae)};z(Ci,ie=>{c(A)&&ie(P)})}var N=v(Ci,2),$=_(N),oe=v($,2),ne=_(oe);j(()=>{oe.disabled=c(w),W(ne,c(w)?"Generating…":"Generate key + CSR")}),Vt(rt,()=>c(b),ie=>m(b,ie)),Vt(Ot,()=>c(y),ie=>m(y,ie)),U("click",$,()=>m(C,!1)),U("click",oe,Bi),D(pe,Ge)},Xt=pe=>{var Ge=hee(),ot=v(Et(Ge),2),rt=v(_(ot)),jt=v(ot,2),Ot=_(jt),Ci=v(Ot,2),P=v(jt,4),N=v(_(P)),$=v(P,2);{var oe=Ze=>{var Me=nl(),ct=_(Me);j(()=>W(ct,c(T))),D(Ze,Me)};z($,Ze=>{c(T)&&Ze(oe)})}var ne=v($,2);{var ie=Ze=>{var Me=uee();D(Ze,Me)};z(ne,Ze=>{c(V)&&Ze(ie)})}var ae=v(ne,2),Je=_(ae),Le=v(Je,2);{var _e=Ze=>{var Me=J2(),ct=_(Me);j(Zt=>{Me.disabled=Zt,W(ct,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,_i),D(Ze,Me)};z(Le,Ze=>{c(V)||Ze(_e)})}j(Ze=>{B1(rt,c(I)),ln(Ci,"href",`data:application/pkcs10;charset=utf-8,${Ze??""}`)},[()=>encodeURIComponent(c(I))]),U("click",Ot,Ke),Vt(N,()=>c(M),Ze=>m(M,Ze)),U("click",Je,()=>m(C,!1)),D(pe,Ge)};z(ri,pe=>{c(I)?pe(Xt,-1):pe(hi)})}D(Be,je)};z(we,Be=>{c(C)&&Be(di)})}var Lt=v(we,2);{var te=Be=>{var je=mee(),Kt=_(je),ri=v(_(Kt),2),hi=_(ri);let Xt;var pe=v(hi,2);let Ge;var ot=v(ri,2);{var rt=ne=>{var ie=gee(),ae=Et(ie),Je=v(_(ae)),Le=v(ae,2),_e=v(_(Le));Vt(Je,()=>c(se),Ze=>m(se,Ze)),Vt(_e,()=>c(he),Ze=>m(he,Ze)),D(ne,ie)},jt=ne=>{var ie=xee(),ae=Et(ie),Je=v(_(ae)),Le=_(Je),_e=v(Le,2);{var Ze=$e=>{var Pt=pee(),Ee=_(Pt);j(()=>W(Ee,c(ue))),D($e,Pt)};z(_e,$e=>{c(ue)&&$e(Ze)})}var Me=v(ae,2),ct=v(_(Me)),Zt=_(ct),Z=v(Zt,2),le=_(Z);j(()=>{ln(Zt,"type",c(re)?"text":"password"),W(le,c(re)?"Hide":"Show")}),U("change",Le,ye),Vt(Zt,()=>c(be),$e=>m(be,$e)),U("click",Z,()=>m(re,!c(re))),D(ne,ie)};z(ot,ne=>{c(X)==="pem"?ne(rt):ne(jt,-1)})}var Ot=v(ot,2);{var Ci=ne=>{var ie=nl(),ae=_(ie);j(()=>W(ae,c(ke))),D(ne,ie)};z(Ot,ne=>{c(ke)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{Xt=kt(hi,1,"svelte-9auejo",null,Xt,{active:c(X)==="pem"}),Ge=kt(pe,1,"svelte-9auejo",null,Ge,{active:c(X)==="p12"}),$.disabled=c(ce),W(oe,c(ce)?"Importing…":"Import")}),U("click",hi,()=>m(X,"pem")),U("click",pe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ti),D(Be,je)};z(Lt,Be=>{c(H)&&Be(te)})}var Ye=v(Lt,2);{var Bt=Be=>{var je=vee(),Kt=_(je),ri=v(_(Kt),4),hi=v(_(ri)),Xt=v(hi,2);ei(Xt,21,()=>c(mt),Hi,($,oe)=>{var ne=QC(),ie={};j(()=>{ie!==(ie=c(oe))&&(ne.value=(ne.__value=c(oe))??"")}),D($,ne)});var pe=v(ri,2),Ge=v(_(pe)),ot=v(Ge,2);ei(ot,21,()=>c(Mt),Hi,($,oe)=>{var ne=QC(),ie={};j(()=>{ie!==(ie=c(oe))&&(ne.value=(ne.__value=c(oe))??"")}),D($,ne)});var rt=v(pe,2);{var jt=$=>{var oe=nl(),ne=_(oe);j(()=>W(ne,c(ve))),D($,oe)};z(rt,$=>{c(ve)&&$(jt)})}var Ot=v(rt,2),Ci=_(Ot),P=v(Ci,2),N=_(P);j($=>{P.disabled=$,W(N,c(Ue)?"Installing…":"Install")},[()=>c(Ue)||!c(xe).trim()||!c(Oe).trim()]),U("input",hi,Jt),Vt(hi,()=>c(xe),$=>m(xe,$)),U("input",Ge,Vi),Vt(Ge,()=>c(Oe),$=>m(Oe,$)),U("click",Ci,()=>m(Pe,!1)),U("click",P,Ti),D(Be,je)};z(Ye,Be=>{c(Pe)&&Be(Bt)})}var It=v(Ye,2);{var Dt=Be=>{var je=Cee(),Kt=_(je),ri=v(_(Kt),2),hi=_(ri);let Xt;var pe=v(hi,2);let Ge;var ot=v(ri,2);{var rt=Ot=>{var Ci=_ee(),P=Et(Ci),N=v(_(P)),$=v(P,2);{var oe=Le=>{var _e=nl(),Ze=_(_e);j(()=>W(Ze,c(si))),D(Le,_e)};z($,Le=>{c(si)&&Le(oe)})}var ne=v($,2),ie=_(ne),ae=v(ie,2),Je=_(ae);j(Le=>{ae.disabled=Le,W(Je,c(Nt)?"Adding…":"Add CA cert")},[()=>c(Nt)||!c(Ce).trim()]),Vt(N,()=>c(Ce),Le=>m(Ce,Le)),U("click",ie,()=>m(st,!1)),U("click",ae,wn),D(Ot,Ci)},jt=Ot=>{var Ci=bee(),P=v(Et(Ci),2),N=v(_(P)),$=v(N,2);ei($,21,()=>c(et),Hi,(_e,Ze)=>{var Me=QC(),ct={};j(()=>{ct!==(ct=c(Ze))&&(Me.value=(Me.__value=c(Ze))??"")}),D(_e,Me)});var oe=v(P,2);{var ne=_e=>{var Ze=nl(),Me=_(Ze);j(()=>W(Me,c(Qt))),D(_e,Ze)};z(oe,_e=>{c(Qt)&&_e(ne)})}var ie=v(oe,2),ae=_(ie),Je=v(ae,2),Le=_(Je);j(_e=>{Je.disabled=_e,W(Le,c(St)?"Adding…":"Add CA cert")},[()=>c(St)||!c(Xe).trim()]),U("input",N,Yi),Vt(N,()=>c(Xe),_e=>m(Xe,_e)),U("click",ae,()=>m(st,!1)),U("click",Je,cn),D(Ot,Ci)};z(ot,Ot=>{c(yt)==="pem"?Ot(rt):Ot(jt,-1)})}j(()=>{Xt=kt(hi,1,"svelte-9auejo",null,Xt,{active:c(yt)==="pem"}),Ge=kt(pe,1,"svelte-9auejo",null,Ge,{active:c(yt)==="path"})}),U("click",hi,()=>m(yt,"pem")),U("click",pe,()=>m(yt,"path")),D(Be,je)};z(It,Be=>{c(st)&&Be(Dt)})}U("click",bi,fi),U("click",qt,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Fi,()=>{m(C,!0),m(A,""),m(I,""),m(M,""),m(V,!1),m(T,"")}),U("click",zi,()=>{m(H,!0),m(ke,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(ue,""),m(be,""),m(re,!1)}),U("click",Di,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(Oe,""),m(mt,[],!0),m(Mt,[],!0)}),U("click",ci,()=>{m(st,!0),m(si,""),m(Ce,""),m(yt,"pem"),m(Qt,""),m(Xe,""),m(et,[],!0)}),D(o,Ut),$s()}Ys(["click","change","input"]);var Gx=B('<div class="err svelte-17yczfe"> </div>'),wee=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>'),See=B('<div class="checking svelte-17yczfe">Checking…</div>'),Dee=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>'),Aee=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>'),kee=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),Bee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Fee=B("<span> </span>"),Lee=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),Iee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Pee=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 Tee(o,e){js(e,!0);let t=F(Pi({})),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(Pi({}));Xs(async()=>{try{const[et,St,Qt]=await Promise.all([Pl(),Pb(),fetch("/she/broker/ssh/pubkey").then(oi=>oi.json()).catch(()=>({publicKey:null}))]);m(A,et,!0),St.sshKeyDefault&&m(a,St.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)),Qt.publicKey&&m(p,Qt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&I()}catch(et){m(i,et.message,!0)}});async function I(){m(f,!0),m(g,"");try{m(u,await dU(),!0)}catch(et){m(g,et.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const et=c(A).broker??{},St=c(d)==="local"?{...c(t),host:""}:c(t),Qt={...c(A),broker:{...et,ssh:St}};await pp(Qt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(et){m(r,et.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const et=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),St=await et.json();if(!et.ok)throw new Error(St.error??et.statusText);m(p,St.publicKey,!0)}catch(et){m(b,et.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const et=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),St=await et.json();if(!et.ok)throw new Error(St.error??et.statusText);m(w,St.ok?"✓ Connection successful":"✗ "+(St.error??"Failed"),!0)}catch(et){m(w,"✗ "+et.message)}finally{m(y,!1)}}function V(et){navigator.clipboard.writeText(et).catch(()=>{})}const H=Ft(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Pee(),se=_(X);{var he=et=>{var St=Gx(),Qt=_(St);j(()=>W(Qt,c(i))),D(et,St)};z(se,et=>{c(i)&&et(he)})}var J=v(se,2),ue=v(_(J),2),be=_(ue);let re;var ce=v(be,2);let ke;var Pe=v(ue,2),xe=_(Pe),Oe=v(J,2);{var Ue=et=>{var St=Dee(),Qt=v(_(St),4);{var fi=Ei=>{var Jt=Gx(),Vi=_(Jt);j(()=>W(Vi,c(g))),D(Ei,Jt)};z(Qt,Ei=>{c(g)&&Ei(fi)})}var oi=v(Qt,2);{var Bi=Ei=>{var Jt=wee(),Vi=_(Jt),Yi=_(Vi);let Ti;var wn=_(Yi),cn=v(Yi,4);let gn;var hn=_(cn),ft=v(Vi,2),Ut=_(ft);let Ri;var qi=_(Ut),bi=v(Ut,4);let Wi;var ji=_(bi);j(()=>{Ti=kt(Yi,1,"check-icon svelte-17yczfe",null,Ti,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(wn,c(u).mosquittoCtrl?"✓":"✗"),gn=kt(cn,1,"check-note svelte-17yczfe",null,gn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(hn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Ri=kt(Ut,1,"check-icon svelte-17yczfe",null,Ri,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(qi,c(u).mosquitto?"✓":"✗"),Wi=kt(bi,1,"check-note svelte-17yczfe",null,Wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(ji,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(Ei,Jt)},_i=Ei=>{var Jt=See();D(Ei,Jt)};z(oi,Ei=>{c(u)?Ei(Bi):c(f)&&Ei(_i,1)})}var Ke=v(oi,2),ye=_(Ke),ti=_(ye);j(()=>{ye.disabled=c(f),W(ti,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",ye,I),D(et,St)};z(Oe,et=>{c(d)==="local"&&et(Ue)})}var ve=v(Oe,2);{var mt=et=>{var St=Lee(),Qt=Et(St),fi=v(_(Qt),4),oi=_(fi),Bi=v(_(oi)),_i=v(oi,2),Ke=v(_(_i)),ye=v(_i,2),ti=v(_(ye)),Ei=v(ye,2),Jt=v(_(Ei)),Vi=v(Qt,2),Yi=v(_(Vi),2),Ti=v(_(Yi)),wn=_(Ti),cn=v(Yi,2);{var gn=Si=>{var $i=kee(),Ve=Et($i),qt=v(_(Ve)),Fi=_(qt),zi=v(Fi,2),Di=v(Ve,2);{var K=Gt=>{var ci=Aee(),vt=v(_(ci)),dt=_(vt),Y=v(dt,2);j(()=>B1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Gt,ci)};z(Di,Gt=>{c(H)&&Gt(K)})}var De=v(Di,2),Qe=_(De),tt=_(Qe);j(()=>{B1(Fi,c(p)),Qe.disabled=c(C),W(tt,c(C)?"Generating…":"Regenerate keypair")}),U("click",zi,()=>V(c(p))),U("click",Qe,R),D(Si,$i)},hn=Si=>{var $i=Bee(),Ve=_($i),qt=_(Ve);j(()=>{Ve.disabled=c(C),W(qt,c(C)?"Generating…":"Generate keypair")}),U("click",Ve,R),D(Si,$i)};z(cn,Si=>{c(p)?Si(gn):Si(hn,-1)})}var ft=v(cn,2);{var Ut=Si=>{var $i=Gx(),Ve=_($i);j(()=>W(Ve,c(b))),D(Si,$i)};z(ft,Si=>{c(b)&&Si(Ut)})}var Ri=v(Vi,2),qi=v(_(Ri),2),bi=_(qi),Wi=_(bi),ji=v(bi,2);{var Ji=Si=>{var $i=Fee();let Ve;var qt=_($i);j(Fi=>{Ve=kt($i,1,"test-result svelte-17yczfe",null,Ve,Fi),W(qt,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Si,$i)};z(ji,Si=>{c(w)&&Si(Ji)})}j(()=>{ln(Jt,"placeholder",c(a)),W(wn,c(t).identityFile||c(a)),bi.disabled=c(y)||!c(t).host,W(Wi,c(y)?"Testing…":"Test SSH connection")}),Vt(Bi,()=>c(t).host,Si=>c(t).host=Si),Vt(Ke,()=>c(t).port,Si=>c(t).port=Si),Vt(ti,()=>c(t).user,Si=>c(t).user=Si),Vt(Jt,()=>c(t).identityFile,Si=>c(t).identityFile=Si),U("click",bi,T),D(et,St)};z(ve,et=>{c(d)==="ssh"&&et(mt)})}var Mt=v(ve,2);{var st=et=>{var St=Gx(),Qt=_(St);j(()=>W(Qt,c(r))),D(et,St)};z(Mt,et=>{c(r)&&et(st)})}var yt=v(Mt,2);{var Ce=et=>{var St=Iee();D(et,St)};z(yt,et=>{c(s)&&et(Ce)})}var Nt=v(yt,2),si=_(Nt),Xe=_(si);j(()=>{re=kt(be,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),ke=kt(ce,1,"svelte-17yczfe",null,ke,{active:c(d)==="ssh"}),W(xe,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"),si.disabled=c(n),W(Xe,c(n)?"Saving…":"Save")}),U("click",be,()=>{m(d,"local"),c(u)||I()}),U("click",ce,()=>m(d,"ssh")),U("click",si,M),D(o,X),$s()}Ys(["click"]);var Mee=B("<button> </button>"),Ree=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 &amp; Reload</em>.</span>',1),Nee=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Oee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Hee=B('<div class="empty svelte-1yc29ow"><!></div>'),Wee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),zee=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 Vee(o,e){js(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(Pi([])),r=F(!0),a=F(Pi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await hU().catch(()=>[]),ue=KU(),be=new Set,re=[...J,...ue].filter(ce=>n.has(ce.level)).map(ce=>({ts:ce.ts,level:ce.level,msg:ce.msg}));re.sort((ce,ke)=>ce.ts-ke.ts),m(s,re.filter(ce=>{const ke=`${ce.ts}\0${ce.msg}`;return be.has(ke)?!1:(be.add(ke),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=hr("brokerLog",ce=>{n.has(ce.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ce.ts,level:ce.level,msg:ce.msg}],!0),c(r)&&hl().then(p))}),dS().then(ce=>{const ke=ce.managed.log_dest,Pe=Array.isArray(ke)?ke:ke?[ke]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Vp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const ue=new Set(c(a));ue.has(J)?ue.delete(J):ue.add(J),m(a,ue,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Ft(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const ue=new Date(J);return ue.toTimeString().slice(0,8)+"."+String(ue.getMilliseconds()).padStart(3,"0")}var A=zee(),I=_(A),M=_(I);ei(M,20,()=>["D","I","N","W","E"],Hi,(J,ue)=>{var be=Mee();let re;var ce=_(be);j(ke=>{re=kt(be,1,`lvl-btn ${i[ue]??""}`,"svelte-1yc29ow",re,ke),ln(be,"title",`Toggle ${ue??""} messages`),W(ce,t[ue])},[()=>({active:c(a).has(ue)})]),U("click",be,()=>C(ue)),D(J,be)});var R=v(M,4),T=_(R),V=v(R,2),H=v(I,2),X=_(H);{var se=J=>{var ue=Hee(),be=_(ue);{var re=ke=>{var Pe=ws(),xe=Et(Pe);{var Oe=mt=>{var Mt=Ree();D(mt,Mt)},Ue=mt=>{var Mt=Nee();D(mt,Mt)},ve=mt=>{var Mt=Oee();D(mt,Mt)};z(xe,mt=>{c(f)===!1?mt(Oe):c(f)===!0?mt(Ue,1):mt(ve,-1)})}D(ke,Pe)},ce=ke=>{var Pe=oo("No messages match the current filter.");D(ke,Pe)};z(be,ke=>{c(u)?ke(ce,-1):ke(re)})}D(J,ue)},he=J=>{var ue=ws(),be=Et(ue);ei(be,17,()=>c(y),re=>re.ts+re.msg,(re,ce)=>{var ke=Wee(),Pe=_(ke),xe=_(Pe),Oe=v(Pe,2),Ue=_(Oe),ve=v(Oe,2),mt=_(ve);j(Mt=>{W(xe,Mt),kt(Oe,1,`badge ${i[c(ce).level]??""}`,"svelte-1yc29ow"),W(Ue,t[c(ce).level]),W(mt,c(ce).msg)},[()=>w(c(ce).ts)]),D(re,ke)}),D(J,ue)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var jee=B('<div class="err svelte-d31be1"> </div>'),$ee=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>'),Uee=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>'),Gee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Kee=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>`),Zee=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>'),Xee=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>'),Yee=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 Qee(o,e){js(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)})}),ce=await re.json();if(!re.ok||!ce.ok)throw new Error(ce.error??"Bootstrap failed");m(d,ce,!0);const ke=await Pl(),Pe=ke.broker??{};await pp({...ke,broker:{...Pe,dynsec:{adminUsername:ce.adminUsername,adminPassword:ce.adminPassword}}}),await pU().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 fU(),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(),ce=re.broker??{};await pp({...re,broker:{...ce,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var I=Yee(),M=_(I),R=v(_(M),2),T=v(M,2);{var V=re=>{var ce=jee(),ke=_(ce);j(()=>W(ke,c(i))),D(re,ce)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ce=$ee(),ke=v(_(ce),6),Pe=_(ke);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ce)},se=re=>{var ce=Uee(),ke=_(ce),Pe=_(ke);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ce)},he=re=>{var ce=qee(),ke=v(_(ce),2),Pe=v(_(ke)),xe=v(ke,2),Oe=v(_(xe)),Ue=v(xe,2),ve=v(_(Ue)),mt=v(Ue,2),Mt=_(mt),st=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(st,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Vt(Pe,()=>c(s),yt=>m(s,yt)),Vt(Oe,()=>c(r),yt=>m(r,yt)),Vt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ce)},J=re=>{var ce=Kee(),ke=v(_(ce),2),Pe=v(_(ke),3),xe=_(Pe),Oe=v(ke,4),Ue=_(Oe),ve=_(Ue),mt=v(Ue,2),Mt=v(Oe,2);{var st=yt=>{var Ce=Gee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(st)})}j(()=>{W(xe,c(d).confFilePath),Ue.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",Ue,w),U("click",mt,()=>{m(t,"done")}),D(re,ce)},ue=re=>{var ce=Zee(),ke=v(_(ce),4),Pe=_(ke);U("click",Pe,function(...xe){var Oe;(Oe=e.onDone)==null||Oe.apply(this,xe)}),D(re,ce)},be=re=>{var ce=Xee(),ke=v(_(ce),2),Pe=v(_(ke)),xe=v(ke,2),Oe=v(_(xe)),Ue=v(xe,2),ve=_(Ue),mt=v(ve,2),Mt=_(mt);j(()=>{mt.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Vt(Pe,()=>c(g),st=>m(g,st)),Vt(Oe,()=>c(p),st=>m(p,st)),U("click",ve,()=>m(t,"intro")),U("click",mt,A),D(re,ce)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(ue,4):c(t)==="manual"&&re(be,5)})}U("click",R,()=>m(t,"manual")),D(o,I),$s()}Ys(["click"]);var Jee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),ete=B('<div class="error-banner svelte-zuhcpo"> </div>'),tte=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>'),ite=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),nte=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>'),ste=B('<div class="error-inline svelte-zuhcpo"> </div>'),ote=B('<button class="diag-btn svelte-zuhcpo"> </button>'),eA=B('<p class="diag-issue svelte-zuhcpo"> </p>'),rte=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),ate=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),lte=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),cte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),dte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),ute=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>'),hte=B('<div style="margin-top: 20px;"><!></div>'),fte=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),gte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),pte=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 xte(o,e){js(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(Pi(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 Pb(),!0),m(g,"")}catch(Xe){m(g,Xe.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Xe=setInterval(C,1e4);return()=>clearInterval(Xe)});async function b(){m(r,!0),m(a,null);try{m(a,await xU(),!0)}catch(Xe){m(a,{ok:!1,dynSecPath:"",issues:[Xe.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 gU(),await C()}catch(Xe){m(s,Xe.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Xe){var St;if(!((St=c(f))!=null&&St.sys))return"—";const et=c(f).sys[Xe];return et?String(et.val??"—"):"—"}function A(Xe){if(Xe==="—")return Xe;const et=Xe.match(/^(\d+)/),St=et?parseInt(et[1]):NaN;if(isNaN(St))return Xe;const Qt=Math.floor(St/86400),fi=Math.floor(St%86400/3600),oi=Math.floor(St%3600/60),Bi=St%60,_i=Ke=>String(Ke).padStart(2,"0");return Qt>0?`${Qt}d ${_i(fi)}:${_i(oi)}:${_i(Bi)}`:`${_i(fi)}:${_i(oi)}:${_i(Bi)}`}function I(Xe){if(Xe==="—")return Xe;const et=parseInt(Xe);return isNaN(et)?Xe:et<1024?`${et} B`:et<1048576?`${(et/1024).toFixed(1)} KB`:et<1073741824?`${(et/1048576).toFixed(1)} MB`:`${(et/1073741824).toFixed(1)} GB`}var M=pte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var ue=v(he,2);let be;var re=v(ue,2);let ce;var ke=v(re,2);let Pe;var xe=v(ke,2);let Oe;var Ue=v(T,2);{var ve=Xe=>{var et=gte(),St=_(et);{var Qt=Bi=>{var _i=Jee();D(Bi,_i)},fi=Bi=>{var _i=ete(),Ke=_(_i);j(()=>W(Ke,c(g))),D(Bi,_i)},oi=Bi=>{var _i=fte(),Ke=Et(_i),ye=_(Ke),ti=_(ye),Ei=v(_(ti),4),Jt=_(Ei),Vi=v(ti,2);{var Yi=Wi=>{var ji=tte(),Ji=_(ji);let Si;var $i=v(Ji,4);let Ve;var qt=_($i);{var Fi=Qe=>{var tt=oo("plugin active");D(Qe,tt)},zi=Qe=>{var tt=oo("connected — plugin not responding");D(Qe,tt)},Di=Qe=>{var tt=oo("disconnected");D(Qe,tt)};z(qt,Qe=>{c(f).dynsec.dynsecReady?Qe(Fi):c(f).dynsec.connected?Qe(zi,1):Qe(Di,-1)})}var K=v($i,2),De=_(K);j(()=>{Si=kt(Ji,1,"dot svelte-zuhcpo",null,Si,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),Ve=kt($i,1,"conn-detail svelte-zuhcpo",null,Ve,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(De,c(n)?"…":"deactivate")}),U("click",K,y),D(Wi,ji)},Ti=Wi=>{var ji=nte(),Ji=v(_(ji),6);{var Si=$i=>{var Ve=ite();U("click",Ve,()=>m(t,!0)),D($i,Ve)};z(Ji,$i=>{c(t)||$i(Si)})}D(Wi,ji)};z(Vi,Wi=>{c(f).dynsec.configured?Wi(Yi):Wi(Ti,-1)})}var wn=v(Vi,2);{var cn=Wi=>{var ji=ste(),Ji=_(ji);j(()=>W(Ji,c(s))),D(Wi,ji)};z(wn,Wi=>{c(s)&&Wi(cn)})}var gn=v(ye,2);{var hn=Wi=>{var ji=dte(),Ji=_(ji);{var Si=Fi=>{var zi=ote(),Di=_(zi);j(()=>{zi.disabled=c(r),W(Di,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",zi,b),D(Fi,zi)},$i=Fi=>{var zi=lte(),Di=Et(zi);let K;var De=_(Di);{var Qe=vt=>{var dt=eA(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(vt,dt)},tt=vt=>{var dt=ate(),Y=Et(dt),Te=v(_(Y)),lt=_(Te),we=v(Y,2),di=v(_(we)),Lt=_(di),te=v(we,2),Ye=v(_(te)),Bt=_(Ye),It=v(te,2),Dt=v(_(It)),Be=_(Dt),je=v(It,2);ei(je,17,()=>c(a).issues,Hi,(hi,Xt)=>{var pe=eA(),Ge=_(pe);j(()=>W(Ge,`⚠ ${c(Xt)??""}`)),D(hi,pe)});var Kt=v(je,2);{var ri=hi=>{var Xt=rte();D(hi,Xt)};z(Kt,hi=>{c(a).ok&&hi(ri)})}j(()=>{W(lt,c(a).dynSecPath),kt(di,1,hg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W(Lt,c(a).adminClientExists?"✓ yes":"✗ no"),kt(Ye,1,hg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Bt,c(a).hasAdminRole?"✓ yes":"✗ no"),kt(Dt,1,hg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Be,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(vt,dt)};z(De,vt=>{c(a).error?vt(Qe):vt(tt,-1)})}var Gt=v(Di,2),ci=_(Gt);j(()=>{K=kt(Di,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Gt.disabled=c(r),W(ci,c(r)?"Running…":"Re-run")}),U("click",Gt,b),D(Fi,zi)};z(Ji,Fi=>{c(a)?Fi($i,-1):Fi(Si)})}var Ve=v(Ji,2);{var qt=Fi=>{var zi=cte();U("click",zi,()=>m(t,!0)),D(Fi,zi)};z(Ve,Fi=>{c(t)||Fi(qt)})}D(Wi,ji)};z(gn,Wi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Wi(hn)})}var ft=v(gn,2);{var Ut=Wi=>{var ji=ute(),Ji=_(ji),Si=v(_(Ji)),$i=_(Si),Ve=v(Si,3),qt=_(Ve),Fi=v(Ve,3),zi=_(Fi),Di=v(Fi,3),K=_(Di),De=v(Di,3),Qe=_(De),tt=v(De,3),Gt=_(tt);j((ci,vt,dt,Y,Te,lt,we,di,Lt,te,Ye,Bt)=>{W($i,ci),W(qt,vt),W(zi,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${lt??""} rcv · ${we??""} sent · ${di??""} stored`),W(Qe,`${Lt??""} retained · ${te??""} subscriptions`),W(Gt,`${Ye??""} in · ${Bt??""} 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(Wi,ji)},Ri=Ft(()=>Object.keys(c(f).sys).length>0);z(ft,Wi=>{c(Ri)&&Wi(Ut)})}var qi=v(Ke,2);{var bi=Wi=>{var ji=hte(),Ji=_(ji);Qee(Ji,{onDone:()=>{m(t,!1),C()}}),D(Wi,ji)};z(qi,Wi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Wi(bi)})}j(()=>W(Jt,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(Bi,_i)};z(St,Bi=>{c(p)?Bi(Qt):c(g)?Bi(fi,1):c(f)&&Bi(oi,2)})}D(Xe,et)},mt=Xe=>{{let et=Ft(()=>{var St;return((St=c(f))==null?void 0:St.dynsec.dynsecReady)??!1});RJ(Xe,{get dynsecReady(){return c(et)}})}},Mt=Xe=>{iee(Xe,{})},st=Xe=>{XJ(Xe,{})},yt=Xe=>{yee(Xe,{})},Ce=Xe=>{Tee(Xe,{})},Nt=Xe=>{Vee(Xe,{})};z(Ue,Xe=>{c(u)==="status"?Xe(ve):c(u)==="users"?Xe(mt,1):c(u)==="brokerconfig"?Xe(Mt,2):c(u)==="listeners"?Xe(st,3):c(u)==="certs"?Xe(yt,4):c(u)==="ssh"?Xe(Ce,5):c(u)==="logs"&&Xe(Nt,6)})}var si=v(R,2);gs(Yc(si,{}),Xe=>i=Xe,()=>i),j(()=>{H=kt(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=kt(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=kt(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),be=kt(ue,1,"svelte-zuhcpo",null,be,{active:c(u)==="listeners"}),ce=kt(re,1,"svelte-zuhcpo",null,ce,{active:c(u)==="certs"}),Pe=kt(ke,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),Oe=kt(xe,1,"svelte-zuhcpo",null,Oe,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",ue,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",ke,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var mte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),vte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),_te=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),bte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),Cte=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>'),Ete=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),yte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),wte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),Ste=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>'),Dte=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>'),Ate=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),kte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Bte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Lte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Ite=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>'),Pte=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>'),Tte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Mte=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),Rte=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),Nte=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>'),Ote=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Hte=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>'),Wte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zte=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>'),Vte=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>'),jte=B('<div class="login-error svelte-1n46o8q"> </div>'),$te=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>'),Ute=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>'),Gte=B("<!> <!> <!> <!>",1);function Kte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Xe=location.hash.slice(1);return t.includes(Xe)?Xe:"scripts"}let n=F(Pi(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);T$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await N$(c(C)),m(C,""),m(p,!1)}catch(Xe){m(b,Xe.message??"Login failed",!0)}finally{m(y,!1)}}async function I(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await O$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Pi([])),se=F(0),he=F(!1),J=F(Pi([]));const ue=Ft(()=>c(J).filter(Xe=>Xe.online).length),be=Ft(()=>c(J).length===0?"none":c(ue)===c(J).length?"all":c(ue)>0?"some":"offline");let re=F(!1),ce=F(!1);async function ke(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let Xe;try{Xe=(await e0()).startedAt}catch{}try{await xF()}catch{}const et=Date.now()+6e4;for(;Date.now()<et;){await new Promise(St=>setTimeout(St,250));try{const St=await e0();if(Xe===void 0||St.startedAt!==Xe){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const Xe=await $$();c(s)&&m(s,{...c(s),latestVersion:Xe.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var St,Qt;if(!await c(M).show(`Update to v${(St=c(s))==null?void 0:St.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const Xe=(Qt=c(s))==null?void 0:Qt.startedAt;try{await j$()}catch{}const et=Date.now()+18e4;for(;Date.now()<et;){await new Promise(fi=>setTimeout(fi,1e3));try{const fi=await e0();if(Xe===void 0||fi.startedAt!==Xe){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function Oe(Xe){m(n,Xe,!0),location.hash=Xe}Xs(async()=>{location.hash||(location.hash=c(n));const Xe=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Xe);try{const Ke=await R$();m(f,Ke.mode,!0),m(g,Ke.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function et(){var Ke,ye,ti;try{m(s,await e0(),!0)}catch{}try{const[Ei,Jt]=await Promise.all([_F(),Pl()]);m(X,Array.isArray(Jt.pinnedPackages)?Jt.pinnedPackages:[],!0),m(se,Object.keys(Ei).filter(Yi=>!c(X).includes(Yi)).length,!0);const Vi=c(he);m(he,((Ke=Jt.broker)==null?void 0:Ke.enabled)===!0),Vi&&!c(he)&&c(n)==="security"&&Oe("scripts")}catch{}!((ye=c(s))!=null&&ye.matterEnabled)&&c(n)==="matter"&&Oe("scripts"),!((ti=c(s))!=null&&ti.dbEnabled)&&c(n)==="db"&&Oe("scripts")}et();const St=setInterval(et,5e3),Qt=hr("mqtt:status",Ke=>{Ke.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ke.ready===!1),m(V,Ke.ready===!0))}),fi=hr("matter:deviceList",Ke=>{Array.isArray(Ke.devices)&&m(J,Ke.devices.map(ye=>({nodeId:String(ye.nodeId),online:!!ye.online})),!0)}),oi=hr("matter:deviceStatus",Ke=>{if(Ke.nodeId===void 0)return;const ye=String(Ke.nodeId),ti=!!Ke.online;m(J,c(J).map(Ei=>Ei.nodeId===ye?{...Ei,online:ti}:Ei),!0)}),Bi=kF();m(re,Bi.some(Ke=>Ke.level==="error"),!0),m(ce,!c(re)&&Bi.some(Ke=>Ke.level==="warn"),!0);const _i=hS(Ke=>{Ke.level==="error"?(m(re,!0),m(ce,!1)):Ke.level==="warn"&&!c(re)&&m(ce,!0)});return()=>{window.removeEventListener("hashchange",Xe),clearInterval(St),Qt(),fi(),oi(),_i()}});var Ue=Gte();xs("click",s6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(Ue);{var mt=Xe=>{var et=Vte(),St=_(et),Qt=v(_(St),2);let fi;var oi=v(Qt,2);let Bi;var _i=v(_(oi),2);{var Ke=N=>{var $=mte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(_i,N=>{c(se)>0&&N(Ke)})}var ye=v(oi,2);let ti;var Ei=v(_(ye),2);{var Jt=N=>{var $=vte();D(N,$)},Vi=N=>{var $=_te();D(N,$)},Yi=N=>{var $=bte();D(N,$)};z(Ei,N=>{c(H)?N(Jt):c(T)?N(Vi,1):c(V)&&N(Yi,2)})}var Ti=v(ye,2);{var wn=N=>{var $=Cte();let oe;j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>Oe("security")),D(N,$)};z(Ti,N=>{c(he)&&N(wn)})}var cn=v(Ti,2);{var gn=N=>{var $=Ste();let oe;var ne=v(_($),2);{var ie=Le=>{var _e=Ete();D(Le,_e)},ae=Le=>{var _e=yte();D(Le,_e)},Je=Le=>{var _e=wte();D(Le,_e)};z(ne,Le=>{c(be)==="all"?Le(ie):c(be)==="some"?Le(ae,1):c(be)==="offline"&&Le(Je,2)})}j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>Oe("matter")),D(N,$)};z(cn,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(gn)})}var hn=v(cn,2);{var ft=N=>{var $=Dte();let oe;j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>Oe("db")),D(N,$)};z(hn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Ut=v(hn,2);let Ri;var qi=v(_(Ut),2);{var bi=N=>{var $=Ate();D(N,$)},Wi=N=>{var $=kte();D(N,$)};z(qi,N=>{c(re)?N(bi):c(ce)&&N(Wi,1)})}var ji=v(Ut,4),Ji=v(_(ji),2),Si=_(Ji),$i=_(Si);$i.nodeValue="v1.12.11 ";var Ve=v($i);{var qt=N=>{var $=Bte();D(N,$)};z(Ve,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(qt)})}var Fi=v(Si,2);{var zi=N=>{var $=Pte(),oe=_($),ne=v(_(oe));ne.textContent="v1.12.11";var ie=v(ne,2);{var ae=le=>{var $e=Fte(),Pt=v(Et($e)),Ee=_(Pt);j(()=>W(Ee,`v${c(s).latestVersion??""}`)),D(le,$e)},Je=le=>{var $e=Lte();D(le,$e)};z(ie,le=>{var $e;($e=c(s))!=null&&$e.latestVersion?le(ae):le(Je,-1)})}var Le=v(oe,2),_e=_(Le);{var Ze=le=>{var $e=Ite(),Pt=v(_($e));j(()=>W(Pt,` Update to v${c(s).latestVersion??""}`)),U("click",$e,xe),D(le,$e)};z(_e,le=>{var $e;($e=c(s))!=null&&$e.latestVersion&&le(Ze)})}var Me=v(_e,2),ct=_(Me);let Zt;var Z=v(ct);j(()=>{Me.disabled=c(d),Zt=kt(ct,0,"svelte-1n46o8q",null,Zt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,le=>le.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Fi,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(zi)})}var Di=v(Ji,2),K=_(Di),De=v(K,2);{var Qe=N=>{var $=Wte(),oe=_($);{var ne=_e=>{var Ze=Nte(),Me=_(Ze);{var ct=ut=>{const fe=Ft(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),ze=Ft(()=>Math.floor(c(fe)/86400)),Ct=Ft(()=>Math.floor(c(fe)%86400/3600)),Wt=Ft(()=>Math.floor(c(fe)%3600/60));var bt=Tte(),gi=v(Et(bt)),Ai=_(gi);j(()=>W(Ai,`${c(ze)>0?c(ze)+"d ":""}${c(Ct)>0||c(ze)>0?c(Ct)+"h ":""}${c(Wt)??""}m`)),D(ut,bt)};z(Me,ut=>{c(s).startedAt&&ut(ct)})}var Zt=v(Me,3),Z=_(Zt),le=v(Zt,3),$e=_(le),Pt=v(le,3),Ee=_(Pt),He=v(Pt,2);{var wt=ut=>{var fe=Mte(),ze=v(Et(fe)),Ct=_(ze),Wt=v(ze,3),bt=_(Wt);j(()=>{W(Ct,c(s).matterNodes??0),W(bt,c(s).matterEndpoints??0)}),D(ut,fe)};z(He,ut=>{c(s).matterEnabled&&ut(wt)})}var gt=v(He,2);{var Ie=ut=>{var fe=Rte(),ze=v(Et(fe)),Ct=_(ze),Wt=v(ze,3),bt=_(Wt);j(()=>{W(Ct,c(s).dbDocs??"—"),W(bt,c(s).dbViews??"—")}),D(ut,fe)};z(gt,ut=>{c(s).dbEnabled&&ut(Ie)})}var ge=v(gt,3),Re=_(ge),We=v(ge,3),it=_(We),at=v(We,3),Ne=_(at);j(()=>{W(Z,c(s).scripts),W($e,c(s).topics),W(Ee,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W(it,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(Ne,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ze)},ie=_e=>{var Ze=Ote();D(_e,Ze)};z(oe,_e=>{c(s)?_e(ne):_e(ie,-1)})}var ae=v(oe,2),Je=_(ae);{var Le=_e=>{var Ze=Hte();U("click",Ze,()=>{m(r,!1),ke()}),D(_e,Ze)};z(Je,_e=>{var Ze;(Ze=c(s))!=null&&Ze.docker||_e(Le)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(De,N=>{c(r)&&N(Qe)})}var tt=v(Di,2);let Gt;var ci=v(tt,2);{var vt=N=>{var $=zte();U("click",$,I),D(N,$)};z(ci,N=>{c(f)==="password"&&N(vt)})}var dt=v(St,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let lt;var we=_(Te);{let N=Ft(()=>c(n)==="scripts");lZ(we,{get active(){return c(N)}})}var di=v(Te,2);let Lt;var te=_(di);tJ(te,{});var Ye=v(di,2);let Bt;var It=_(Ye);RQ(It,{});var Dt=v(Ye,2);let Be;var je=_(Dt);eQ(je,{});var Kt=v(Dt,2);let ri;var hi=_(Kt);xte(hi,{});var Xt=v(Kt,2);let pe;var Ge=_(Xt);nY(Ge,{});var ot=v(Xt,2);let rt;var jt=_(ot);ZZ(jt,{});var Ot=v(ot,2);let Ci;var P=_(Ot);JZ(P,{}),j(()=>{fi=kt(Qt,1,"svelte-1n46o8q",null,fi,{active:c(n)==="scripts"}),Bi=kt(oi,1,"svelte-1n46o8q",null,Bi,{active:c(n)==="packages"}),ti=kt(ye,1,"svelte-1n46o8q",null,ti,{active:c(n)==="mqtt"}),Ri=kt(Ut,1,"svelte-1n46o8q",null,Ri,{active:c(n)==="logs"}),Gt=kt(tt,1,"nav-settings svelte-1n46o8q",null,Gt,{active:c(n)==="config"}),lt=kt(Te,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:c(n)!=="scripts"}),Lt=kt(di,1,"page-wrap svelte-1n46o8q",null,Lt,{hidden:c(n)!=="packages"}),Bt=kt(Ye,1,"page-wrap svelte-1n46o8q",null,Bt,{hidden:c(n)!=="mqtt"}),Be=kt(Dt,1,"page-wrap svelte-1n46o8q",null,Be,{hidden:c(n)!=="matter"}),ri=kt(Kt,1,"page-wrap svelte-1n46o8q",null,ri,{hidden:c(n)!=="security"}),pe=kt(Xt,1,"page-wrap svelte-1n46o8q",null,pe,{hidden:c(n)!=="db"}),rt=kt(ot,1,"page-wrap svelte-1n46o8q",null,rt,{hidden:c(n)!=="config"}),Ci=kt(Ot,1,"page-wrap svelte-1n46o8q",null,Ci,{hidden:c(n)!=="logs"})}),U("click",Qt,()=>Oe("scripts")),U("click",oi,()=>Oe("packages")),U("click",ye,()=>Oe("mqtt")),U("click",Ut,()=>{Oe("logs"),m(re,!1),m(ce,!1)}),U("click",Si,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",tt,()=>Oe("config")),D(Xe,et)};z(ve,Xe=>{c(w)&&!c(p)&&Xe(mt)})}var Mt=v(ve,2);{var st=Xe=>{var et=$te(),St=_(et),Qt=v(_(St),4),fi=v(_(Qt),2),oi=v(Qt,2);{var Bi=ye=>{var ti=jte(),Ei=_(ti);j(()=>W(Ei,c(b))),D(ye,ti)};z(oi,ye=>{c(b)&&ye(Bi)})}var _i=v(oi,2),Ke=_(_i);j(()=>{fi.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ke,c(y)?"Signing in…":"Sign in")}),xs("submit",St,ye=>{ye.preventDefault(),A()}),Vt(fi,()=>c(C),ye=>m(C,ye)),D(Xe,et)};z(Mt,Xe=>{c(p)&&Xe(st)})}var yt=v(Mt,2);{var Ce=Xe=>{var et=Ute();D(Xe,et)};z(yt,Xe=>{c(R)&&Xe(Ce)})}var Nt=v(yt,2);{var si=Xe=>{var et=qte();D(Xe,et)};z(Nt,Xe=>{c(u)&&Xe(si)})}D(o,Ue),$s()}Ys(["click"]);QI(Kte,{target:document.getElementById("app")});export{N6 as t};