@matterbridge/frontend 3.5.2 → 3.5.3-dev-20260711-453683c

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,5 +1,5 @@
1
1
  import{a as e}from"./rolldown-runtime.js";import{c as t}from"./vendor_emotion.js";import{c as n,d as r,l as i,o as a,p as o,s,u as c}from"./vendor_node_modules.js";import{$ as l,A as u,At as d,B as f,Bt as p,C as m,Ct as h,D as g,Dt as _,E as v,Et as y,F as b,Ft as x,G as S,Gt as C,H as w,Ht as T,I as E,It as D,J as O,K as k,Kt as A,L as j,Lt as M,M as N,Mt as ee,N as te,Nt as P,O as ne,Ot as F,P as re,Pt as I,Q as ie,R as ae,Rt as L,S as oe,St as se,T as ce,Tt as le,U as ue,Ut as de,V as fe,Vt as pe,W as me,Wt as he,X as ge,Y as _e,Z as ve,_ as ye,_t as R,a as be,at as xe,b as Se,bt as z,c as Ce,ct as we,d as Te,dt as Ee,et as De,f as Oe,ft as B,g as ke,gt as V,h as Ae,ht as je,i as Me,it as Ne,j as Pe,jt as Fe,k as Ie,kt as Le,l as Re,lt as ze,m as Be,mt as Ve,n as He,nt as Ue,o as We,ot as Ge,p as Ke,pt as H,q as qe,r as Je,rt as Ye,s as Xe,st as Ze,t as Qe,tt as $e,u as et,ut as tt,v as nt,vt as rt,w as it,wt as at,x as ot,xt as U,y as st,yt as ct,z as lt,zt as W}from"./vendor_mui.js";import{c as ut,g as dt,i as ft,o as pt,s as mt,t as ht,v as gt,y as _t}from"./vendor_mdi.js";import{n as vt,t as yt}from"./vendor_notistack.js";import{a as bt,c as xt,i as St,l as Ct,n as wt,o as Tt,r as Et,s as Dt,t as Ot}from"./vendor_rjsf.js";import{t as kt}from"./vendor_qrcode.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var G=e(t(),1),At=e(o(),1),K={enableMobile:`enableMobile`,devicesFilterPlugins:`devicesFilterPlugins`,devicesFilterDevices:`devicesFilterDevices`,devicesViewMode:`devicesViewMode`,frontendVersion:`frontendVersion`,matterbridgeVersion:`matterbridgeVersion`,homePageMode:`homePageMode`,logFilterLevel:`logFilterLevel`,logFilterSearch:`logFilterSearch`,logAutoScroll:`logAutoScroll`,logLength:`logLength`,frontendTheme:`frontendTheme`,homePagePlugins:`homePagePlugins`,virtualMode:`virtualMode`,installAutoExit:`installAutoExit`,searchPluginsTotal:`searchPluginsTotal`,searchPluginsMeta:`searchPluginsMeta`,searchPluginsVersions:`searchPluginsVersions`},jt={Devices_table_order_by:`Devices_table_order_by`,Devices_table_order:`Devices_table_order`,Devices_column_visibility:`Devices_column_visibility`,Plugins_table_order_by:`Plugins_table_order_by`,Plugins_table_order:`Plugins_table_order`,Plugins_column_visibility:`Plugins_column_visibility`,"Registered devices_table_order_by":`Registered devices_table_order_by`,"Registered devices_table_order":`Registered devices_table_order`,"Registered devices_column_visibility":`Registered devices_column_visibility`,Clusters_table_order_by:`Clusters_table_order_by`,Clusters_table_order:`Clusters_table_order`,Clusters_column_visibility:`Clusters_column_visibility`};function Mt(){Object.values(K).forEach(e=>{localStorage.removeItem(e)}),Object.values(jt).forEach(e=>{localStorage.removeItem(e)})}var q=!1,Nt=()=>{q=!q},J=localStorage.getItem(K.enableMobile)!==`false`,Pt=()=>{J=!0,localStorage.setItem(K.enableMobile,`true`)},Ft=()=>{J=!1,localStorage.setItem(K.enableMobile,`false`)},It=void 0,Lt=e=>{It=e},Rt=!1,zt=e=>{Rt=e},Bt=`/`,Vt=e=>{Bt=e},Y=A();function Ht(e){return(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 296.2 296.2`,...e,children:[(0,Y.jsxs)(`defs`,{children:[(0,Y.jsxs)(`linearGradient`,{id:`lg1`,x1:`16.6`,y1:`16.6`,x2:`279.6`,y2:`279.6`,gradientUnits:`userSpaceOnUse`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#00b48d`}),(0,Y.jsx)(`stop`,{offset:`.1`,stopColor:`#3faa77`}),(0,Y.jsx)(`stop`,{offset:`.3`,stopColor:`#234148`}),(0,Y.jsx)(`stop`,{offset:`.7`,stopColor:`#203b44`}),(0,Y.jsx)(`stop`,{offset:`.9`,stopColor:`#ad2e6e`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#c81b74`})]}),(0,Y.jsxs)(`linearGradient`,{id:`lg2`,x1:`31.1`,y1:`31.1`,x2:`265.1`,y2:`265.1`,gradientUnits:`userSpaceOnUse`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#00b48d`}),(0,Y.jsx)(`stop`,{offset:`.2`,stopColor:`#285251`}),(0,Y.jsx)(`stop`,{offset:`.4`,stopColor:`#234148`}),(0,Y.jsx)(`stop`,{offset:`.8`,stopColor:`#203b44`}),(0,Y.jsx)(`stop`,{offset:`.9`,stopColor:`#a8316c`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#c81b74`})]}),(0,Y.jsxs)(`linearGradient`,{id:`lg3`,x1:`116.2`,y1:`143.9`,x2:`139.8`,y2:`143.9`,gradientUnits:`userSpaceOnUse`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#8bc751`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#0db14b`})]}),(0,Y.jsx)(`linearGradient`,{id:`lg4`,x1:`136.1`,y1:`100.8`,x2:`159.6`,y2:`100.8`,xlinkHref:`#lg3`}),(0,Y.jsx)(`linearGradient`,{id:`lg5`,x1:`155.3`,y1:`143.9`,x2:`178.9`,y2:`143.9`,xlinkHref:`#lg3`}),(0,Y.jsxs)(`linearGradient`,{id:`lg6`,x1:`46.8`,y1:`25.7`,x2:`89.6`,y2:`74.8`,gradientUnits:`userSpaceOnUse`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#b1d34a`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#50b848`})]})]}),(0,Y.jsx)(`rect`,{width:`296.2`,height:`296.2`,rx:`56.7`,ry:`56.7`,style:{fill:`url(#lg1)`}}),(0,Y.jsx)(`rect`,{x:`16.3`,y:`16.3`,width:`263.6`,height:`263.6`,rx:`50.5`,ry:`50.5`,style:{fill:`url(#lg2)`}}),(0,Y.jsx)(`circle`,{cx:`128`,cy:`143.9`,r:`11.8`,style:{fill:`url(#lg3)`}}),(0,Y.jsx)(`circle`,{cx:`147.8`,cy:`100.8`,r:`11.8`,style:{fill:`url(#lg4)`}}),(0,Y.jsx)(`path`,{d:`m244.6 114.5.4-.5L160 33a17 17 0 0 0-24.7-.5l-86.4 83.3a15 15 0 0 0 9.2 26.9h19.3v-4.7l-13.7-12.7v-.1l83.7-80.8 84.2 81-13.9 12.8v4.5h19.5a15 15 0 0 0 7.4-28.1Z`,style:{fill:`url(#lg3)`}}),(0,Y.jsx)(`circle`,{cx:`167.1`,cy:`143.9`,r:`11.8`,style:{fill:`url(#lg5)`}}),(0,Y.jsx)(`path`,{fill:`#fff`,d:`M219 89.3V35.5a10.5 10.5 0 1 0-21 0v33.7l21 20Z`}),(0,Y.jsx)(`path`,{d:`M91.4 73.3H83a37 37 0 0 0-14.5-28.4L65 50.2c.1 0 12.6 9 11.7 25.4-5.3-.4-11.2-1.9-16.3-5.3-11.8-7.8-16-23.7-11.9-46 8.7 1.5 34 7 43 22.8 4.1 7.3 4.1 16.1 0 26.2Z`,style:{fill:`url(#lg6)`}}),(0,Y.jsx)(`path`,{d:`M65.9 80a49.6 49.6 0 0 0 17.8 2.2l16.6-16c1.6-8.3.5-15.7-3.3-22.4C84.6 22 47.8 17.5 46.2 17.4l-3-.4-.6 3c-3.8 18.4-5.9 50.6 23.2 60ZM48.4 24.4c8.7 1.5 34 7 43 22.8 4.1 7.3 4.1 16.1 0 26.2H83a37 37 0 0 0-14.5-28.4l-3.7 5.3c.1 0 12.6 9 11.7 25.4-5.3-.4-11.2-1.9-16.3-5.3-11.9-7.8-16-23.7-11.9-46Z`,fill:`#1e5857`}),(0,Y.jsx)(`path`,{fill:`#fff`,d:`M250.5 90.5a17.4 17.4 0 1 1 0-34.8 17.4 17.4 0 0 1 0 34.8Zm0-22.7a5.4 5.4 0 0 0 0 10.7 5.3 5.3 0 0 0 0-10.7ZM258.8 148.2a15.9 15.9 0 0 0-9.6 28.5c-.8 4.2-5.4 4.6-5.4 4.6h-26v-43l13.6-13-1.8-2-82.2-79-81.2 78.3-2.5 2.6 13.7 13v42.9H53a21.5 21.5 0 1 0 11.7 15h12.6v18.8c0 7.8 6.4 14.1 14.1 14.1h29.3v14.8H64a10.6 10.6 0 0 0-17.7 8 10.6 10.6 0 0 0 17.6 8h157.6a16.3 16.3 0 1 0 0-16h-84.8V229h66.8c7.8 0 14.2-6.3 14.2-14.1v-19.2h27.6c14.3 0 17.8-12.8 18.5-16.6a15.9 15.9 0 0 0-5-30.9ZM43.7 210.8a10.3 10.3 0 1 1 0-20.6 10.3 10.3 0 0 1 0 20.6Zm192 36a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm-77-34.8h-22v-34h22v34Zm8.4-79.8c2.7 0 5.2 1 7.2 2.5v-10.4L188 137s2.6 1.3 4.6 1.3h6.7v68c0 3.2-2.6 5.7-5.7 5.7h-19v-34h1.4a7.5 7.5 0 0 0 0-15H120a7.5 7.5 0 0 0 0 15h.7v34h-19.3a5.7 5.7 0 0 1-5.7-5.6v-68.1h6.7c2 0 4.6-1.3 4.6-1.3l13.7-12.7v10.4a11.7 11.7 0 0 1 16 1.6v-13a14.9 14.9 0 0 0-25-10.8s-.1.2-.1.2l-.5.5-6.9 7H92.5l55-53.2 55.1 53.2h-11.8l-7-7c0-.2-.2-.3-.4-.5l-.2-.2a14.8 14.8 0 0 0-25 10.9v12.9c2.2-2.5 5.3-4.1 8.9-4.1Zm91.7 36.7a4.9 4.9 0 1 1 0-9.7 4.9 4.9 0 0 1 0 9.7Z`})]})}var Ut=(0,G.createContext)(null),Wt=(0,G.createContext)(null),X=(0,G.createContext)(null);function Gt({children:e}){let[t,n]=(0,G.useState)([]),[r,i]=(0,G.useState)(localStorage.getItem(K.logFilterLevel)??`info`),[a,o]=(0,G.useState)(localStorage.getItem(K.logFilterSearch)??`*`),[s,c]=(0,G.useState)(!1),[l,u]=(0,G.useState)(1),{showSnackbarMessage:d,closeSnackbarMessage:f,closeSnackbar:p,showInstallProgress:m,hideInstallProgress:h,exitInstallProgressSuccess:g,exitInstallProgressError:_,addInstallProgress:v}=(0,G.useContext)(Ut),y=(0,G.useRef)([]),b=(0,G.useRef)(null),x=(0,G.useRef)(1),S=(0,G.useRef)(Math.floor(Math.random()*999e3)+1e3),C=(0,G.useRef)(null),w=(0,G.useRef)(null),T=(0,G.useRef)(null),E=(0,G.useRef)(r),D=(0,G.useRef)(a),O=(0,G.useRef)(0),k=(0,G.useRef)(null),A=(0,G.useRef)(Number(localStorage.getItem(K.logLength)??200)),j=(0,G.useRef)(localStorage.getItem(K.logAutoScroll)!==`false`),M=(0,G.useMemo)(()=>window.location.href.replace(/^http/,`ws`),[]);(0,G.useEffect)(()=>(q&&console.log(`WebSocket messages started counter interval`),k.current=setInterval(()=>{O.current>0&&(q&&console.log(`WebSocket messages received in the last 10 seconds: ${O.current*(60/10)} messages/minute`),O.current=0)},10*1e3),()=>{q&&console.log(`WebSocket messages stopped counter interval`),k.current&&clearInterval(k.current),k.current=null}),[]),(0,G.useEffect)(()=>{E.current=r},[r]),(0,G.useEffect)(()=>{D.current=a},[a]);let N=(0,G.useCallback)(()=>Math.floor(Math.random()*999e3)+1e3,[]),ee=(0,G.useCallback)((e,t)=>{q&&console.log(`WebSocket filterLogMessages called with level "${e}" and search "${t}"...`),n(n=>n.filter(n=>!([`debug`,`info`,`notice`,`warn`,`error`,`fatal`].includes(n.level)&&(e===`info`&&n.level===`debug`||e===`notice`&&(n.level===`debug`||n.level===`info`)||e===`warn`&&(n.level===`debug`||n.level===`info`||n.level===`notice`)||e===`error`&&(n.level===`debug`||n.level===`info`||n.level===`notice`||n.level===`warn`)||e===`fatal`&&(n.level===`debug`||n.level===`info`||n.level===`notice`||n.level===`warn`||n.level===`error`))||t!==`*`&&t!==``&&!t.startsWith(`/`)&&!t.endsWith(`/`)&&!n.message.toLowerCase().includes(t.toLowerCase())&&!n.name.toLowerCase().includes(t.toLowerCase())||t.startsWith(`/`)&&t.endsWith(`/`)&&(()=>{try{let e=new RegExp(t.slice(1,-1),`i`);return!e.test(n.message)&&!e.test(n.name)}catch(e){return console.error(`WebSocket log search invalid regex filter "${t}":`,e),!1}})())))},[]),te=(0,G.useCallback)(e=>{if(b.current&&b.current.readyState===WebSocket.OPEN)try{q&&console.log(`WebSocket sending message with id ${e.id}:`,e),e.id===void 0&&(e.id=S.current);let t=JSON.stringify(e);b.current.send(t),q&&console.log(`WebSocket sent message:`,e)}catch(e){q&&console.error(`WebSocket error sending message: ${String(e)}`)}else q&&console.error(`WebSocket message not sent, WebSocket not connected:`,e)},[]),P=(0,G.useCallback)((e,t)=>{n(n=>[...n,{level:e,time:``,name:``,message:t}])},[]),ne=(0,G.useCallback)((e,t)=>{q&&console.log(`WebSocket addListener id ${t}:`,e),(t==null||Number.isNaN(t)||t===0)&&console.error(`WebSocket addListener called without id, listener not added:`,e),y.current=[...y.current,{listener:e,id:t}],q&&console.log(`WebSocket addListener total listeners:`,y.current.length)},[]),F=(0,G.useCallback)(e=>{q&&console.log(`WebSocket removeListener:`,e),y.current=y.current.filter(t=>t.listener!==e),q&&console.log(`WebSocket removeListener total listeners:`,y.current.length)},[]),re=(0,G.useCallback)(()=>{M===``||M==null||(P(`WebSocket`,`Connecting ${It?`with password`:``} to WebSocket: ${M}`),q&&console.log(`WebSocket connecting to: ${M}${It?`?password=[redacted]`:``}`),b.current=new WebSocket(M+(It?`?password=${encodeURIComponent(It)}`:``)),b.current.onmessage=e=>{s||c(!0),O.current+=1;try{let t=JSON.parse(e.data);if(t.id===void 0||t.src===void 0||t.dst===void 0){q&&console.error(`WebSocket undefined message id/src/dst:`,t);return}if(t.src!==`Matterbridge`||t.dst!==`Frontend`){q&&console.error(`WebSocket invalid message src/dst:`,t);return}if(t.error){q&&console.error(`WebSocket error message response:`,t);return}if(t.id===S.current&&t.method===`pong`&&t.response===`pong`){q&&console.log(`WebSocket pong response message id ${t.id}:`,t),w.current&&clearTimeout(w.current),w.current=null;return}else if(t.method===`snackbar`&&t.response&&t.response.message){q&&console.log(`WebSocket message id ${t.id} method ${t.method}:`,t),d(t.response.message,t.response.timeout,t.response.severity);return}else if(t.method===`close_snackbar`&&t.response&&t.response.message){q&&console.log(`WebSocket message id ${t.id} method ${t.method}:`,t),f(t.response.message);return}else if(t.method===`log`){if(!t.response||!t.response.level||!t.response.time||!t.response.name||!t.response.message||(t.response.level===`spawn`&&(t.response.name===`Matterbridge:spawn-init`?m(t.response.message,``,``):t.response.name===`Matterbridge:spawn-exit-success`?g():t.response.name===`Matterbridge:spawn-exit-error`?_():v(t.response.message+`
2
- `)),[`debug`,`info`,`notice`,`warn`,`error`,`fatal`].includes(t.response.level)&&(E.current===`info`&&t.response.level===`debug`||E.current===`notice`&&(t.response.level===`debug`||t.response.level===`info`)||E.current===`warn`&&(t.response.level===`debug`||t.response.level===`info`||t.response.level===`notice`)||E.current===`error`&&(t.response.level===`debug`||t.response.level===`info`||t.response.level===`notice`||t.response.level===`warn`)||E.current===`fatal`&&(t.response.level===`debug`||t.response.level===`info`||t.response.level===`notice`||t.response.level===`warn`||t.response.level===`error`)))||D.current!==`*`&&D.current!==``&&!D.current.startsWith(`/`)&&!D.current.endsWith(`/`)&&!t.response.message.toLowerCase().includes(D.current.toLowerCase())&&!t.response.name.toLowerCase().includes(D.current.toLowerCase())||D.current.startsWith(`/`)&&D.current.endsWith(`/`)&&(()=>{try{let e=new RegExp(D.current.slice(1,-1),`i`);return!e.test(t.response.message)&&!e.test(t.response.name)}catch(e){return console.error(`WebSocket log search invalid regex filter "${D.current}":`,e),!1}})()||t.response.name===`Commissioning`&&t.response.message.includes(`is uncommissioned`))return;n(e=>{let n=[...e,{level:t.response.level,time:t.response.time,name:t.response.name,message:t.response.message}];return q&&console.log(`WebSocket new log message added (${n.length}/${A.current}):`,n[n.length-1]),n.length>A.current+A.current*10/100?(q&&console.log(`WebSocket sliced log messages to the last ${A.current} entries`),n.slice(n.length-A.current)):n})}else{if(q&&console.log(`WebSocket received message id ${t.id} method ${t.method}:`,t),t.id===0)y.current.forEach(e=>e.listener(t));else{let e=y.current.find(e=>e.id===t.id);e?e.listener(t):console.warn(`WebSocket no listener found for message id ${t.id}:`,t)}return}}catch(e){console.error(`WebSocket error parsing message: ${String(e)}`,e instanceof Error?e.stack:null)}},b.current.onopen=()=>{q&&console.log(`WebSocket: Connected to WebSocket: ${M}`),P(`WebSocket`,`Connected to WebSocket: ${M}`),c(!0),p(),x.current=1,u(1),T.current=setTimeout(()=>{C.current=setInterval(()=>{te({id:S.current,method:`ping`,src:`Frontend`,dst:`Matterbridge`,params:{}}),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{q&&console.error(`WebSocketUse: No pong response received from WebSocket: ${M}`),P(`WebSocket`,`No pong response received from WebSocket: ${M}`),c(!1)},1e3*50)},1e3*60)},1e3*300)},b.current.onclose=()=>{q&&console.error(`WebSocket: Disconnected from WebSocket ${Rt?`with Ingress`:``}: ${M}`),P(`WebSocket`,`Disconnected from WebSocket: ${M}`),c(!1),p(),h(),T.current&&clearTimeout(T.current),w.current&&clearTimeout(w.current),C.current&&clearInterval(C.current),P(`WebSocket`,`Reconnecting (attempt ${x.current} of 100) to WebSocket${Rt?` (Ingress)`:``}: ${M}`),Rt?setTimeout(I,5e3):x.current===1?I():x.current<100?setTimeout(I,1e3*x.current):P(`WebSocket`,`Reconnect attempts exceeded limit of 100 retries, refresh the page to reconnect to: ${M}`),x.current+=1,u(x.current)},b.current.onerror=e=>{q&&console.error(`WebSocket: WebSocket error connecting to ${M}:`,e),P(`WebSocket`,`WebSocket error connecting to ${M}`)})},[M]),I=(0,G.useCallback)(()=>{q&&console.log(`WebSocket attemptReconnect ${x.current}/100 to:`,M),re()},[re]);(0,G.useEffect)(()=>(re(),()=>{b.current&&b.current.readyState===WebSocket.OPEN&&b.current.close()}),[re]);let ie=(0,G.useMemo)(()=>({messages:t,logLength:A,logAutoScroll:j,logFilterLevel:r,logFilterSearch:a,setMessages:n,setLogFilterLevel:i,setLogFilterSearch:o,filterLogMessages:ee}),[t,A,j,r,a,n,i,o,ee]),ae=(0,G.useMemo)(()=>({logLength:A,logAutoScroll:j,logFilterLevel:r,logFilterSearch:a,setMessages:n,setLogFilterLevel:i,setLogFilterSearch:o,filterLogMessages:ee,online:s,retry:l,getUniqueId:N,addListener:ne,removeListener:F,sendMessage:te,logMessage:P}),[A,j,n,i,o,s,l,ne,F,te,P]);return(0,Y.jsx)(Wt.Provider,{value:ie,children:(0,Y.jsx)(X.Provider,{value:ae,children:e})})}function Kt(){let{retry:e}=(0,G.useContext)(X);return(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,width:`100vw`,height:`100vh`,justifyContent:`center`,alignItems:`center`,fontSize:`20px`,color:`var(--main-text-color)`,backgroundColor:`var(--main-bg-color)`},children:[(0,Y.jsx)(Ht,{style:{height:`128px`,width:`128px`,margin:`10px`,marginBottom:`20px`}}),e<100?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(de,{style:{color:`var(--primary-color)`}}),(0,Y.jsx)(`div`,{style:{marginTop:`20px`,color:`var(--primary-color)`,textAlign:`center`},children:(0,Y.jsxs)(`span`,{children:[`Reconnecting to Matterbridge `,`(attempt `+e+`)`,`...`]})})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{style:{marginTop:`20px`,color:`var(--primary-color)`,textAlign:`center`},children:[(0,Y.jsx)(`span`,{children:`Unable to connect to Matterbridge after multiple attempts.`}),(0,Y.jsx)(`br`,{}),(0,Y.jsx)(`span`,{children:`Please check your network connection.`}),(0,Y.jsx)(`br`,{})]}),(0,Y.jsx)(L,{variant:`contained`,color:`primary`,onClick:()=>{window.location.reload()},style:{marginTop:`20px`},children:`Refresh the Page`})]})]})}var Z=ht();function Q({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,flex:`0 0 auto`,width:`100%`,overflow:`hidden`,margin:`0px`,padding:`0px`,gap:`0px`,backgroundColor:`var(--div-bg-color)`,boxShadow:`5px 5px 10px var(--div-shadow-color)`,border:`1px solid var(--table-border-color)`,borderRadius:`var(--div-border-radius)`,boxSizing:`border-box`,...t},children:e})}function qt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`row`,justifyContent:`space-between`,width:`100%`,height:`30px`,borderBottom:`1px solid var(--table-border-color)`,color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color)`,margin:`0px`,padding:`0px`,boxSizing:`border-box`,...t},children:e})}function Jt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color)`,fontSize:`16px`,fontWeight:`bold`,margin:`0px`,padding:`5px 10px`,...t},children:e})}function Yt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`row`,justifyContent:`space-between`,width:`100%`,height:`30px`,color:`var(--footer-text-color)`,backgroundColor:`var(--footer-bg-color)`,margin:`0px`,padding:`0px`,boxSizing:`border-box`,...t},children:e})}function Xt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{color:`var(--footer-text-color)`,backgroundColor:`var(--footer-bg-color)`,fontSize:`14px`,fontWeight:`bold`,margin:`0px`,padding:`5px 10px`,...t},children:e})}function Zt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{color:`var(--div-text-color)`,backgroundColor:`var(--div-bg-color)`,fontSize:`14px`,fontWeight:`normal`,margin:`0px`,padding:`5px 10px`,...t},children:e})}function Qt({children:e,style:t,onDragOver:n,onDragLeave:r,onDrop:i}){return(0,Y.jsx)(`div`,{style:{flex:`0 0 auto`,display:`flex`,flexDirection:`row`,overflow:`hidden`,alignItems:`start`,justifyContent:`space-between`,margin:`0px`,padding:`10px`,gap:`20px`,...t},onDragOver:n,onDragLeave:r,onDrop:i,children:e})}function $t({children:e,style:t,close:n}){return(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,margin:`0px`,padding:`0px`,paddingRight:`10px`,gap:`10px`,...t},children:[e,!1]})}var en={display:`flex`,gap:`2px`,justifyContent:`space-evenly`,width:`100%`,height:`40px`},tn={margin:`0`,padding:`0`,fontSize:`36px`,fontWeight:`medium`,color:`var(--primary-color)`},nn={margin:`0`,padding:`0`,fontSize:`20px`,fontWeight:`medium`,color:`var(--div-text-color)`,textAlign:`center`},rn={margin:`0`,padding:`0`,paddingBottom:`2px`,fontSize:`16px`,fontWeight:`medium`,color:`var(--div-text-color)`,textAlign:`center`},an={display:`flex`,gap:`2px`,justifyContent:`center`,width:`100%`,height:`18px`,margin:`0`,padding:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`normal`},on={margin:`0`,padding:`0`,fontSize:`12px`,fontWeight:`normal`,color:`var(--div-text-color)`},sn={display:`flex`,justifyContent:`center`,width:`100%`,height:`52px`,margin:`0`,padding:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`normal`},cn={margin:`0`,padding:`0`,fontSize:`14px`,fontWeight:`bold`,color:`var(--div-text-color)`},ln={display:`flex`,gap:`4px`,justifyContent:`center`,width:`100%`,height:`15px`,margin:`0`,padding:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`normal`},un={margin:`0`,padding:`0px 4px`,borderRadius:`5px`,textAlign:`center`,fontSize:`12px`,fontWeight:`normal`,color:`var(--secondary-color)`},dn=[256,257,268,269],fn=[266,267],pn=[259,260,261,271,272],mn=[256,257,268,269,266,267,259,260,261,272];function $({icon:e,iconColor:t,cluster:n,value:r,unit:i,prefix:a}){return q&&console.log(`Render cluster "${n.clusterName}.${n.attributeName}" value(${typeof r}-${Number.isNaN(r)}) "${r}" unit "${i}"`),a??=!1,(0,Y.jsxs)(W,{sx:en,children:[e&&(0,G.cloneElement)(e,{key:`${n.clusterId}-${n.attributeId}-icon`,sx:{...tn,color:t??`var(--primary-color)`}}),(0,Y.jsxs)(W,{sx:{...en,gap:`4px`,alignContent:`center`,alignItems:`end`,justifyContent:`center`},children:[i&&a&&(0,Y.jsx)(p,{sx:rn,children:i},`${n.clusterId}-${n.attributeId}-unit-prefix`),(0,Y.jsx)(p,{sx:nn,children:r==null||typeof r==`number`&&Number.isNaN(r)||r===`NaN`?`---`:r},`${n.clusterId}-${n.attributeId}-value`),i&&!a&&(0,Y.jsx)(p,{sx:rn,children:i},`${n.clusterId}-${n.attributeId}-unit-suffix`)]},`${n.clusterId}-${n.attributeId}-valueunitbox`)]},`${n.clusterId}-${n.attributeId}-box`)}function hn({device:e,endpoint:t,id:n,deviceType:r,clusters:i}){let a=[`Unknown`,`Good`,`Fair`,`Moderate`,`Poor`,`VeryPoor`,`Ext.Poor`],o=``;q&&console.log(`Device "${e.name}" endpoint "${t}" id "${n}" deviceType "0x${r.toString(16).padStart(4,`0`)}" clusters (${i?.length})`);let s=i.find(e=>e.clusterName===`Descriptor`&&e.attributeName===`tagList`)?.attributeLocalValue;if(s){let e=``;s.map(t=>{t.label&&(e+=t.label+` `)}),o=e.trim()}if(r===17&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`batVoltage`).map(e=>o=`${e.attributeLocalValue??0} mV`),mn.includes(r)&&i.filter(e=>e.clusterName===`LevelControl`&&e.attributeName===`currentLevel`).map(e=>o=`Level ${e.attributeValue}`),r===514&&i.filter(e=>e.clusterName===`WindowCovering`&&e.attributeName===`currentPositionLiftPercent100ths`).map(e=>o=`Position ${e.attributeLocalValue/100}%`),r===769&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`occupiedHeatingSetpoint`).map(e=>o=`Heat ${e.attributeLocalValue/100}°C `),r===769&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`occupiedCoolingSetpoint`).map(e=>o+=`Cool ${e.attributeLocalValue/100}°C`),r===118&&i.filter(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`coState`).map(e=>o=e.attributeLocalValue===0?`No CO detected`:`CO alarm!`),r===1296&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`voltage`).map(e=>o=`${e.attributeLocalValue/1e3} V, `),r===1296&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`activeCurrent`).map(e=>o+=`${e.attributeLocalValue/1e3} A, `),r===1296&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`activePower`).map(e=>o+=`${e.attributeLocalValue/1e3} W`),r===39){let e=i.find(e=>e.clusterName===`ModeSelect`&&e.attributeName===`currentMode`)?.attributeLocalValue;o=(i.find(e=>e.clusterName===`ModeSelect`&&e.attributeName===`supportedModes`)?.attributeLocalValue)?.find(t=>t.mode===e)?.label||`Unknown`}if(r===116){let e=i.find(e=>e.clusterName===`RvcRunMode`&&e.attributeName===`currentMode`)?.attributeLocalValue;o=(i.find(e=>e.clusterName===`RvcRunMode`&&e.attributeName===`supportedModes`)?.attributeLocalValue)?.find(t=>t.mode===e)?.label||`Unknown`}return(0,Y.jsxs)(Q,{style:{margin:`0px`,padding:`5px`,width:`150px`,height:`150px`,borderColor:`var(--div-bg-color)`,borderRadius:`5px`,justifyContent:`space-between`},children:[r===19&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:e.attributeLocalValue===!0?(0,Y.jsx)(j,{}):(0,Y.jsx)(E,{}),iconColor:e.attributeLocalValue===!0?`green`:`red`,cluster:e,value:e.attributeLocalValue===!0?`Online`:`Offline`},`${e.clusterId}-${e.attributeId}`)),r===17&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`batPercentRemaining`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ge,{}),cluster:e,value:e.attributeLocalValue/2,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===17&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`wiredCurrentType`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)($e,{}),cluster:e,value:e.attributeLocalValue===0?`AC`:`DC`},`${e.clusterId}-${e.attributeId}`)),r===1293&&i.filter(e=>e.clusterName===`DeviceEnergyManagement`&&e.attributeName===`esaState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Offline`:`Online`},`${e.clusterId}-${e.attributeId}`)),dn.includes(r)&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ge,{}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),fn.includes(r)&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5C6.66,13.5 6,12.83 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),pn.includes(r)&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M8 6V18H16V6H8M14 10H10V8H14V10M19.4 1.6C19 1.2 18.5 1 18 1H6C5.5 1 5 1.2 4.6 1.6C4.2 2 4 2.5 4 3V21C4 21.5 4.2 22 4.6 22.4C5 22.8 5.5 23 6 23H18C18.5 23 19 22.8 19.4 22.4C19.8 22 20 21.5 20 21V3C20 2.5 19.8 2 19.4 1.6M18 21H6V3H18V21Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),r===115&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===124&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===117&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===123&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(S,{}),cluster:e,value:`Oven`},`${e.clusterId}-${e.attributeId}`)),r===112&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ve,{}),cluster:e,value:`Fridge`},`${e.clusterId}-${e.attributeId}`)),r===113&&i.filter(e=>e.clusterName===`TemperatureControl`&&e.attributeName===`selectedTemperatureLevel`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue,unit:`mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===121&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(S,{}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===122&&i.filter(e=>e.clusterName===`FanControl`&&e.attributeName===`fanMode`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue,unit:`mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===120&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Cooktop`},`${e.clusterId}-${e.attributeId}`)),r===119&&i.filter(e=>e.clusterName===`TemperatureControl`&&e.attributeName===`selectedTemperatureLevel`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue,unit:`mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===514&&i.filter(e=>e.clusterName===`WindowCovering`&&e.attributeName===`currentPositionLiftPercent100ths`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(xe,{}),cluster:e,value:e.attributeLocalValue/100,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===769&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`localTemperature`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:(e.attributeLocalValue??0)/100,unit:`°C`},`${e.clusterId}-${e.attributeId}`)),r===10&&i.filter(e=>e.clusterName===`DoorLock`&&e.attributeName===`lockState`).map(e=>(0,Y.jsx)($,{icon:e.attributeValue===`1`?(0,Y.jsx)(O,{}):(0,Y.jsx)(qe,{}),cluster:e,value:e.attributeValue===`1`?`Locked`:`Unlocked`},`${e.clusterId}-${e.attributeId}`)),r===43&&i.filter(e=>e.clusterName===`FanControl`&&e.attributeName===`percentCurrent`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ze,{}),cluster:e,value:e.attributeValue,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===15&&i.filter(e=>e.clusterName===`Switch`&&e.attributeName===`currentPosition`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M13 5C15.21 5 17 6.79 17 9C17 10.5 16.2 11.77 15 12.46V11.24C15.61 10.69 16 9.89 16 9C16 7.34 14.66 6 13 6S10 7.34 10 9C10 9.89 10.39 10.69 11 11.24V12.46C9.8 11.77 9 10.5 9 9C9 6.79 10.79 5 13 5M20 20.5C19.97 21.32 19.32 21.97 18.5 22H13C12.62 22 12.26 21.85 12 21.57L8 17.37L8.74 16.6C8.93 16.39 9.2 16.28 9.5 16.28H9.7L12 18V9C12 8.45 12.45 8 13 8S14 8.45 14 9V13.47L15.21 13.6L19.15 15.79C19.68 16.03 20 16.56 20 17.14V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.11 2.9 14 4 14H8V12L4 12L4 4H20L20 12H18V14H20V13.96L20.04 14C21.13 14 22 13.09 22 12V4C22 2.9 21.11 2 20 2Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeValue,unit:`pos`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===39&&i.filter(e=>e.clusterName===`ModeSelect`&&e.attributeName===`currentMode`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ne,{}),cluster:e,value:e.attributeValue,unit:`Mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===771&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ye,{}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),r===45&&i.filter(e=>e.clusterName===`FanControl`&&e.attributeName===`percentCurrent`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ie,{}),cluster:e,value:e.attributeValue,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===114&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`localTemperature`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ie,{}),cluster:e,value:(e.attributeLocalValue??0)/100,unit:`°C`},`${e.clusterId}-${e.attributeId}`)),r===67&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ae,{}),cluster:e,value:e.attributeLocalValue===!0?`Leak`:`No leak`},`${e.clusterId}-${e.attributeId}`)),r===65&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(we,{}),cluster:e,value:e.attributeLocalValue===!0?`Freeze`:`No freeze`},`${e.clusterId}-${e.attributeId}`)),r===68&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(lt,{}),cluster:e,value:e.attributeLocalValue===!0?`Rain`:`No rain`},`${e.clusterId}-${e.attributeId}`)),r===116&&i.filter(e=>e.clusterName===`RvcRunMode`&&e.attributeName===`currentMode`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeValue,unit:`Run mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===1292&&i.filter(e=>e.clusterName===`EnergyEvse`&&e.attributeName===`state`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Free`:`In use`},`${e.clusterId}-${e.attributeId}`)),r===1295&&i.filter(e=>e.clusterName===`WaterHeaterManagement`&&e.attributeName===`tankPercentage`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Tank `+(e.attributeLocalValue??0)+`%`},`${e.clusterId}-${e.attributeId}`)),r===777&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`featureMap`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12.75 7.08C13.57 7.2 14.32 7.5 14.95 8L12.75 10.19V7.08M11.25 7.08V10.19L9.05 8C9.68 7.5 10.43 7.2 11.25 7.08M8 9.05L10.19 11.25H7.08C7.2 10.43 7.5 9.68 8 9.05M7.08 12.75H10.19L8 14.95C7.5 14.32 7.2 13.57 7.08 12.75M11.25 16.92C10.43 16.8 9.68 16.5 9.05 16L11.25 13.81V16.92M12 13C11.45 13 11 12.55 11 12S11.45 11 12 11 13 11.45 13 12 12.55 13 12 13M12.75 16.92V13.81L14.95 16C14.32 16.5 13.57 16.8 12.75 16.92M16 14.95L13.81 12.75H16.92C16.8 13.57 16.5 14.32 16 14.95M13.81 11.25L16 9.05C16.5 9.69 16.8 10.44 16.92 11.25H13.81Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`HeatPump`},`${e.clusterId}-${e.attributeId}`)),r===23&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`featureMap`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M4,2H20A2,2 0 0,1 22,4V14A2,2 0 0,1 20,16H15V20H18V22H13V16H11V22H6V20H9V16H4A2,2 0 0,1 2,14V4A2,2 0 0,1 4,2M4,4V8H11V4H4M4,14H11V10H4V14M20,14V10H13V14H20M20,4H13V8H20V4Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Solar`},`${e.clusterId}-${e.attributeId}`)),r===24&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`featureMap`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12 20L5 20V12H2L12 3L14.78 5.5H14V7.17C12.84 7.58 12 8.7 12 10V20M15 9H16V7.5H20V9H21C21.55 9 22 9.45 22 10V21C22 21.55 21.55 22 21 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9M16 11V14H20V11H16Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Inverter`},`${e.clusterId}-${e.attributeId}`)),r===118&&i.find(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`featureMap`&&e.attributeLocalValue.smokeAlarm===!0)&&i.filter(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`smokeState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`No smoke`:`Smoke!`},`${e.clusterId}-${e.attributeId}`)),r===118&&i.find(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`featureMap`&&e.attributeLocalValue.smokeAlarm===!1)&&i.filter(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`coState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`No Co`:`Co!`},`${e.clusterId}-${e.attributeId}`)),r===66&&i.filter(e=>e.clusterName===`ValveConfigurationAndControl`&&e.attributeName===`currentState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(me,{}),cluster:e,value:e.attributeLocalValue===0?`Closed`:`Opened`},`${e.clusterId}-${e.attributeId}`)),r===44&&i.filter(e=>e.clusterName===`AirQuality`&&e.attributeName===`airQuality`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:a[e.attributeLocalValue??0]},`${e.clusterId}-${e.attributeId}`)),r===770&&i.filter(e=>e.clusterName===`TemperatureMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(f,{}),cluster:e,value:e.attributeLocalValue/100,unit:`°C`},`${e.clusterId}-${e.attributeId}`)),r===775&&i.filter(e=>e.clusterName===`RelativeHumidityMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue/100,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===774&&i.filter(e=>e.clusterName===`FlowMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(l,{}),cluster:e,value:e.attributeLocalValue,unit:`l/h`},`${e.clusterId}-${e.attributeId}`)),r===773&&i.filter(e=>e.clusterName===`PressureMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(De,{}),cluster:e,value:e.attributeLocalValue,unit:`hPa`},`${e.clusterId}-${e.attributeId}`)),r===21&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:e.attributeValue===`true`?(0,Y.jsx)(Ue,{}):(0,Y.jsx)(k,{}),cluster:e,value:e.attributeValue===`true`?`Closed`:`Opened`},`${e.clusterId}-${e.attributeId}`)),r===263&&i.filter(e=>e.clusterName===`OccupancySensing`&&e.attributeName===`occupancy`).map(e=>(0,Y.jsx)($,{icon:e.attributeValue===`{ occupied: true }`?(0,Y.jsx)(w,{}):(0,Y.jsx)(fe,{}),cluster:e,value:e.attributeValue===`{ occupied: true }`?`Occupied`:`Unocc.`},`${e.clusterId}-${e.attributeId}`)),r===262&&i.filter(e=>e.clusterName===`IlluminanceMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(_e,{}),cluster:e,value:Math.round(10**(e.attributeLocalValue/1e4)),unit:`lx`},`${e.clusterId}-${e.attributeId}`)),r===1296&&i.filter(e=>e.clusterName===`ElectricalEnergyMeasurement`&&e.attributeName===`cumulativeEnergyImported`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ue,{}),cluster:e,value:Math.round(e.attributeLocalValue?.energy/1e6),unit:`kwh`},`${e.clusterId}-${e.attributeId}`)),(0,Y.jsx)(W,{sx:an,children:(0,Y.jsx)(p,{sx:on,children:o})}),(0,Y.jsx)(W,{sx:sn,children:(0,Y.jsx)(p,{sx:cn,children:e.name})}),(0,Y.jsxs)(W,{sx:ln,children:[q&&(0,Y.jsx)(p,{sx:un,children:t}),(0,Y.jsx)(p,{sx:un,children:n}),q&&(0,Y.jsxs)(p,{sx:un,children:[`0x`,r.toString(16).padStart(4,`0`)]})]})]})}function gn({filterPlugins:e,filterDevices:t}){let{online:n,sendMessage:r,addListener:i,removeListener:a,getUniqueId:o}=(0,G.useContext)(X),[s,c]=(0,G.useState)([]),[l,u]=(0,G.useState)({}),[d,f]=(0,G.useState)({}),[p,m]=(0,G.useState)({}),h=(0,G.useRef)(o()),g=(0,G.useCallback)(e=>{q&&console.log(`DevicesIcons received state_update "${e.response.cluster}.${e.response.attribute}" for "${e.response.id}:${e.response.number}": "${e.response.value}"`,e.response);let t=s.find(t=>t.pluginName===e.response.plugin&&t.serial===e.response.serialNumber);if(!t){q&&console.warn(`DevicesIcons updater device of plugin "${e.response.plugin}" serial "${e.response.serialNumber}" number "${e.response.number}" id "${e.response.id}" not found in devices(${s.length})`);return}let n=p[t.serial]?.find(t=>t.endpoint===e.response.number.toString()&&t.clusterName===e.response.cluster&&t.attributeName===e.response.attribute);if(!n){q&&console.warn(`DevicesIcons updater device "${t.name}" serial "${t.serial}" cluster "${e.response.cluster}" attribute "${e.response.attribute}" not found in clusters(${p[t.serial]?.length})`);return}n.attributeValue=String(e.response.value),n.attributeLocalValue=e.response.value,m({...p}),q&&console.log(`DevicesIcons updated "${n.clusterName}.${n.attributeName}" for device "${t.name}" serial "${t.serial}" to "${n.attributeValue}"`)},[p,s]),_=(0,G.useCallback)(e=>{if(q&&console.log(`DevicesIcons received for device "${e.response.deviceName}" serial "${e.response.serialNumber}" deviceTypes (${e.response.deviceTypes.length}) "${e.response.deviceTypes.join(`,`)}" clusters (${e.response.clusters.length}):`,e.response),e.response.clusters.length===0)return;let t=e.response.serialNumber;l[t]=[],d[t]=e.response.deviceTypes,p[t]=[];for(let n of e.response.clusters)l[t].find(e=>e.endpoint===n.endpoint)||l[t].push({endpoint:n.endpoint,id:n.id,deviceTypes:n.deviceTypes}),![`FixedLabel`,`Identify`,`Groups`,`PowerTopology`].includes(n.clusterName)&&p[t].push(n);u({...l}),f({...d}),m({...p}),q&&console.log(`DevicesIcons endpoints for "${t}":`,l[t]),q&&console.log(`DevicesIcons deviceTypes for "${t}":`,d[t]),q&&console.log(`DevicesIcons clusters for "${t}":`,p[t])},[p,d,l]);(0,G.useEffect)(()=>{let e=e=>{if(q&&console.log(`DevicesIcons received WebSocket Message:`,e),e.method===`refresh_required`)q&&console.log(`DevicesIcons received refresh_required: changed=${e.response.changed} and sending api requests`),r({id:h.current,sender:`DevicesIcons`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}});else if(e.method===`state_update`&&e.response)g(e);else if(e.method===`/api/devices`&&e.response){q&&console.log(`DevicesIcons received ${e.response.length} devices:`,e.response),c(e.response),u({}),f({}),m({});for(let t of e.response)q&&console.log(`DevicesIcons sending /api/clusters`),r({id:h.current,sender:`DevicesIcons`,method:`/api/clusters`,src:`Frontend`,dst:`Matterbridge`,params:{plugin:t.pluginName,endpoint:t.endpoint||0,serialNumber:t.serial}})}else e.method===`/api/clusters`&&e.response&&_(e)};return i(e,h.current),q&&console.log(`DevicesIcons WebSocket effect mounted`),()=>{a(e),q&&console.log(`DevicesIcons WebSocket effect unmounted`)}},[s]),(0,G.useEffect)(()=>(q&&console.log(`DevicesIcons useEffect online mounting`),n&&(q&&console.log(`DevicesIcons useEffect online sending api requests`),r({id:h.current,sender:`DevicesIcons`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}})),q&&console.log(`DevicesIcons useEffect online mounted`),()=>{q&&console.log(`DevicesIcons useEffect online unmounted`)}),[n,r]);let v=(0,G.memo)(hn),y=e?.trim().toLowerCase(),b=y&&y!==`all plugins`;return q&&console.log(`DevicesIcons rendering...`),(0,Y.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,paddingBottom:`5px`,gap:`20px`,width:`100%`,overflow:`auto`},children:s.filter(e=>b&&e.pluginName.toLowerCase()!==y?!1:t===``?!0:e.name.toLowerCase().includes(t.toLowerCase())||e.serial.toLowerCase().includes(t.toLowerCase())).map(e=>l[e.serial]&&l[e.serial].map(t=>t.deviceTypes.map(n=>(0,Y.jsx)(v,{device:e,endpoint:t.endpoint,id:t.id,deviceType:n,clusters:p[e.serial].filter(e=>e.endpoint===t.endpoint)},`${e.pluginName}-${e.uniqueId}-${t.endpoint}-${t.id}-${n.toString()}`))))})}var _n=(0,G.memo)(gn);function vn(e){return e?e.scrollWidth>e.clientWidth:!1}function yn({title:e,children:t}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)(!1);return(0,Y.jsx)(H,{title:e,open:r,disableHoverListener:!0,disableFocusListener:!0,disableTouchListener:!0,slotProps:{tooltip:{sx:{fontSize:`14px`,fontWeight:`normal`,color:`#ffffff`,backgroundColor:`var(--primary-color)`}}},children:(0,Y.jsx)(`span`,{ref:n,onMouseEnter:()=>{i(vn(n.current))},onMouseLeave:()=>{i(!1)},style:{display:`inline-block`,maxWidth:`100%`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t})})}function bn(e,t,n){let r=e?.[n],i=t?.[n];return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`boolean`&&typeof i==`boolean`?r===i?0:r?1:-1:typeof r==`number`&&typeof i==`number`?r-i:String(r).localeCompare(String(i))}function xn({name:e,title:t,columns:n,rows:r,getRowKey:i,footerLeft:a,footerRight:o,onRowClick:s}){let c=(0,G.useRef)(new WeakMap),l=(0,G.useRef)(1),u=t=>{if(typeof i==`string`&&t&&t[i]!=null)return t[i];if(typeof i==`function`){let e=i(t);if(e!=null)return e}let r=n?.[0]?.id;if(r&&t&&t[r]!=null)return t[r];console.warn(`MbfTable(${e}): using fallback stable row key; consider providing getRowKey prop for better React performance`);let a=c.current.get(t);return a||(a=`rk_${l.current++}`,c.current.set(t,a)),a},[f,p]=(0,G.useState)(localStorage.getItem(`${e}_table_order_by`)||null),[m,h]=(0,G.useState)(localStorage.getItem(`${e}_table_order`)||null),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(()=>{try{let t=localStorage.getItem(`${e}_column_visibility`);if(t)return JSON.parse(t)}catch{}return{}}),b=(0,G.useMemo)(()=>{let e={};for(let t of n)t.hidden||(e[t.id]=t.required?!0:v[t.id]!==!1);return e},[n,v]),S=(0,G.useMemo)(()=>{if(!f||!m)return r;let e=n.find(e=>e.id===f);if(!e||e.noSort)return r;let t=r.map((e,t)=>({el:e,index:t}));return t.sort((t,n)=>{let r;return r=typeof e.comparator==`function`?e.comparator(t.el,n.el):bn(t.el,n.el,f),r===0?t.index-n.index:m===`asc`?r:-r}),t.map(e=>e.el)},[r,f,m,n]),C=t=>{if(f!==t||!f){p(t),h(`asc`),localStorage.setItem(`${e}_table_order_by`,t),localStorage.setItem(`${e}_table_order`,`asc`);return}if(m===`asc`){h(`desc`),localStorage.setItem(`${e}_table_order`,`desc`);return}p(null),h(null),localStorage.removeItem(`${e}_table_order_by`),localStorage.removeItem(`${e}_table_order`)},w=()=>{_(!g)},E=t=>{y(r=>{let i=n.find(e=>e.id===t);if(i&&i.required)return r;let a=b[t]!==!1,o={...r};a?o[t]=!1:delete o[t];try{localStorage.setItem(`${e}_column_visibility`,JSON.stringify(o))}catch{}return o})},O=()=>{y({});try{localStorage.removeItem(`${e}_column_visibility`)}catch{}_(!1)},[k,A]=(0,G.useState)(!1);return k?null:(q&&console.log(`Rendering table ${e}${f&&m?` ordered by ${f}:${m}`:``}`),(0,Y.jsxs)(`div`,{style:{flex:`1 1 auto`,display:`flex`,flexDirection:`column`,margin:`0`,padding:`0`,gap:`0`,width:`100%`,height:`100%`,overflow:`hidden`},children:[(0,Y.jsxs)(D,{open:g,onClose:(e,t)=>{t===`backdropClick`||t===`escapeKeyDown`||w()},disableEscapeKeyDown:!0,disableRestoreFocus:!0,children:[(0,Y.jsx)(P,{gap:`20px`,children:(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`20px`},children:[(0,Y.jsx)(`img`,{src:`matterbridge.svg`,alt:`Matterbridge Logo`,style:{height:`32px`,width:`32px`}}),(0,Y.jsx)(`h4`,{style:{margin:0},children:`Configure ${e} columns`})]})}),(0,Y.jsx)(I,{children:(0,Y.jsx)(Le,{children:n.filter(e=>!e.hidden).map(e=>(0,Y.jsx)(d,{control:(0,Y.jsx)(M,{disabled:!!e.required,checked:e.required?!0:b[e.id]!==!1,onChange:()=>E(e.id)}),label:e.label},e.id))})}),(0,Y.jsxs)(x,{children:[(0,Y.jsx)(L,{onClick:O,children:`Reset`}),(0,Y.jsx)(L,{variant:`contained`,onClick:e=>{if(e?.currentTarget&&typeof e.currentTarget.blur==`function`)try{e.currentTarget.blur()}catch{}let t=document.activeElement;if(t&&t instanceof HTMLElement&&typeof t.blur==`function`)try{t.blur()}catch{}w()},children:`Close`})]})]}),(0,Y.jsxs)(qt,{style:{height:`30px`,minHeight:`30px`,justifyContent:`space-between`,borderBottom:`none`},children:[(0,Y.jsx)(Jt,{children:e}),t&&(0,Y.jsx)(Jt,{children:t}),(0,Y.jsx)($t,{close:()=>A(!0),children:(0,Y.jsx)(T,{size:`small`,sx:{color:`var(--header-text-color)`,margin:`0px`,padding:`0px`},onClick:e=>{if(e?.currentTarget?.blur)try{e.currentTarget.blur()}catch{}w()},"aria-label":`Configure Columns`,children:(0,Y.jsx)(H,{title:`Configure ${e} columns`,children:(0,Y.jsx)(Z.Icon,{path:pt,size:`20px`,color:`var(--header-text-color)`})})})})]}),(0,Y.jsx)(Qt,{style:{flex:`1 1 auto`,display:`flex`,flexDirection:`column`,minHeight:0,width:`100%`,overflow:`auto`,margin:`0px`,padding:`0px`,gap:`0`},children:(0,Y.jsxs)(`table`,{"aria-label":`${e} table`,style:{width:`100%`,borderCollapse:`collapse`},children:[(0,Y.jsx)(`thead`,{style:{position:`sticky`,top:0,zIndex:10,border:`none`,color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color`},children:(0,Y.jsx)(`tr`,{style:{height:`30px`,minHeight:`30px`},children:n.map(e=>{if(e.hidden||!e.required&&b[e.id]===!1)return null;let t=!e.noSort,n=t&&f===e.id&&!!m;return(0,Y.jsxs)(`th`,{onClick:t?()=>C(e.id):void 0,style:{margin:`0`,padding:`5px 10px`,position:`sticky`,top:0,minWidth:e.minWidth,maxWidth:e.maxWidth,textAlign:e.align||`left`,cursor:t?`pointer`:`default`,border:`none`,color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color)`,whiteSpace:e.maxWidth?`nowrap`:void 0,overflow:e.maxWidth?`hidden`:void 0,textOverflow:e.maxWidth?`ellipsis`:void 0},"aria-sort":t?n?m===`asc`?`ascending`:`descending`:`none`:void 0,children:[e.label,n&&(0,Y.jsxs)(`span`,{style:{marginLeft:6},children:[m===`asc`&&(0,Y.jsx)(Z.Icon,{path:`M19 17H22L18 21L14 17H17V3H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z`,size:`15px`}),m===`desc`&&(0,Y.jsx)(Z.Icon,{path:`M19 7H22L18 3L14 7H17V21H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z`,size:`15px`})]})]},e.id)})})}),(0,Y.jsx)(`tbody`,{children:S.map((e,t)=>{let r=u(e);return(0,Y.jsx)(`tr`,{className:t%2==0?`table-content-even`:`table-content-odd`,onClick:s?t=>s(e,r,t):void 0,style:{height:`30px`,minHeight:`30px`,border:`none`,borderCollapse:`collapse`,cursor:s?`pointer`:void 0},children:n.map(t=>{if(t.hidden||!t.required&&b[t.id]===!1)return null;let n=e[t.id],i=typeof t.render==`function`?t.render(n,r,e,t):typeof n==`boolean`?(0,Y.jsx)(M,{checked:n,disabled:!0,size:`small`,sx:{m:0,p:0,color:`var(--table-text-color)`,"&.Mui-disabled":{color:`var(--table-text-color)`,opacity:.7}}}):t.format&&typeof n==`number`?t.format(n):n==null?null:String(n),a=t.tooltip&&t.maxWidth!==void 0&&t.maxWidth!==null&&n!=null&&i!==null?(0,Y.jsx)(yn,{title:String(n),children:i}):i;return(0,Y.jsx)(`td`,{style:{border:`none`,borderCollapse:`collapse`,textAlign:t.align||`left`,padding:`5px 10px`,margin:`0`,maxWidth:t.maxWidth,whiteSpace:t.maxWidth?`nowrap`:void 0,overflow:t.maxWidth?`hidden`:void 0,textOverflow:t.maxWidth?`ellipsis`:void 0},children:a},t.id)})},r)})})]})}),(a||o)&&(0,Y.jsxs)(Yt,{style:{height:`30px`,minHeight:`30px`,justifyContent:`space-between`,border:`none`},children:[(0,Y.jsx)(Xt,{style:{fontSize:`14px`,fontWeight:`normal`,color:`var(--secondary-color)`},children:a}),(0,Y.jsx)(Xt,{style:{fontSize:`14px`,fontWeight:`normal`,color:`var(--secondary-color)`},children:o})]})]}))}function Sn(e){return(0,G.memo)(e)}var Cn=Sn(xn),wn=[{label:`Plugin name`,id:`pluginName`,required:!0},{label:`Device type`,id:`type`},{label:`Endpoint`,id:`endpoint`,align:`right`},{label:`Name`,id:`name`,required:!0},{label:`Serial number`,id:`serial`},{label:`Unique ID`,id:`uniqueId`},{label:`Url`,id:`configUrl`},{label:`Config`,id:`configButton`,noSort:!0,render:(e,t,n,r)=>n.configUrl?(0,Y.jsx)(T,{onClick:()=>window.open(n.configUrl,`_blank`),"aria-label":`Open Config`,sx:{margin:0,padding:0},children:(0,Y.jsx)(b,{fontSize:`small`})}):null},{label:`Cluster`,id:`cluster`}],Tn=[{label:`Endpoint`,id:`endpoint`,required:!0},{label:`Id`,id:`id`},{label:`Device Types`,id:`deviceTypes`,render:(e,t,n,r)=>Array.isArray(e)?(0,Y.jsx)(Y.Fragment,{children:e.map(e=>`0x${e.toString(16).padStart(4,`0`)}`).join(`, `)}):(0,Y.jsx)(Y.Fragment,{children:e})},{label:`Cluster Name`,id:`clusterName`,required:!0},{label:`Cluster ID`,id:`clusterId`},{label:`Attribute Name`,id:`attributeName`,required:!0},{label:`Attribute ID`,id:`attributeId`},{label:`Attribute Value`,id:`attributeValue`,required:!0,maxWidth:350,tooltip:!0}],En=e=>`${e.pluginName}::${e.uniqueId}`,Dn=e=>`${e.endpoint}::${e.clusterName}::${e.attributeName}`;function On({filterPlugins:e,filterDevices:t}){let{online:n,sendMessage:r,addListener:i,removeListener:a,getUniqueId:o}=(0,G.useContext)(X),[s,c]=(0,G.useState)([]),[l,u]=(0,G.useState)(s),[d,f]=(0,G.useState)([]),[p,m]=(0,G.useState)(0),[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(null),[x,S]=(0,G.useState)(null),C=(0,G.useRef)(o()),w=(0,G.useRef)(l),T=(0,G.useCallback)(e=>{q&&console.log(`DevicesTable received state_update "${e.response.cluster}.${e.response.attribute}" for "${e.response.id}:${e.response.number}": "${e.response.value}"`,e.response);let t=w.current.find(t=>t.pluginName===e.response.plugin&&t.uniqueId===e.response.uniqueId);if(!t){q&&console.warn(`DevicesTable updater device of plugin "${e.response.plugin}" serial "${e.response.serialNumber}" not found in filteredDevicesRef.current`);return}if(h&&_&&t.pluginName===h&&t.uniqueId===x&&e.response.number.toString()===_){let n=d.find(t=>t.endpoint===e.response.number.toString()&&t.clusterName===e.response.cluster&&t.attributeName===e.response.attribute);if(!n){q&&console.warn(`DevicesTable updater cluster ${e.response.cluster}.${e.response.attribute} for device "${t.name}" serial "${t.serial}" not found in clusters`);return}n.attributeValue=typeof e.response.value==`object`?JSON.stringify(e.response.value,void 0,1).replaceAll(`"`,``):String(e.response.value),n.attributeLocalValue=e.response.value,f([...d]),q&&console.log(`DevicesTable updated attribute ${n.clusterName}.${n.attributeName} for device "${t.name}" serial "${t.serial}" to "${n.attributeValue}"`)}},[d,_,h,x]);return(0,G.useEffect)(()=>{let e=e=>{if(q&&console.log(`DevicesTable received WebSocket Message:`,e),e.method===`refresh_required`&&e.response.changed===`devices`)q&&console.log(`DevicesTable received refresh_required: changed=${e.response.changed} and sending /api/devices request`),r({id:C.current,sender:`DevicesTable`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}});else if(e.method===`state_update`&&e.response)T(e);else if(e.method===`/api/devices`)q&&console.log(`DevicesTable received ${e.response.length} devices:`,e.response),c(e.response);else if(e.method===`/api/clusters`){q&&console.log(`DevicesTable received ${e.response.clusters.length} clusters for plugin ${e.response.plugin}:`,e.response),f(e.response.clusters);let t={};for(let n of e.response.clusters)q&&console.log(`Cluster:`,n.endpoint),t[n.endpoint]?t[n.endpoint]++:t[n.endpoint]=1;m(Object.keys(t).length)}};return i(e,C.current),q&&console.log(`DevicesTable added WebSocket listener`),()=>{a(e),q&&console.log(`DevicesTable removed WebSocket listener`)}},[r,i,a,T]),(0,G.useEffect)(()=>{n&&(q&&console.log(`DevicesTable sending api requests with id `,C.current),r({id:C.current,sender:`DevicesTable`,method:`/api/settings`,src:`Frontend`,dst:`Matterbridge`,params:{}}),r({id:C.current,sender:`DevicesTable`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}}),r({id:C.current,sender:`DevicesTable`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}}))},[n,r]),(0,G.useEffect)(()=>{h&&_&&x&&(q&&console.log(`DevicesTable sending /api/clusters`),r({id:C.current,sender:`DevicesTable`,method:`/api/clusters`,src:`Frontend`,dst:`Matterbridge`,params:{plugin:h,endpoint:Number(_),uniqueId:x}}))},[h,_,x,r]),(0,G.useEffect)(()=>{let n=e?.trim().toLowerCase(),r=n&&n!==`all plugins`,i=s;r&&(i=i.filter(e=>e.pluginName.toLowerCase()===n)),t!==``&&(i=i.filter(e=>e.name.toLowerCase().includes(t.toLowerCase())||e.serial.toLowerCase().includes(t.toLowerCase()))),u(i),w.current=i},[s,e,t]),q&&console.log(`DevicesTable rendering...`),n?(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,margin:`0px`,padding:`0px`,gap:`20px`,width:`100%`,overflow:`hidden`},children:[(0,Y.jsx)(Q,{style:{margin:`0px`,padding:`0px`,gap:`0px`,width:`100%`,maxHeight:h&&_?`30%`:`100%`,flex:`1 1 auto`,overflow:`hidden`},children:(0,Y.jsx)(Cn,{name:`Registered devices`,getRowKey:En,onRowClick:e=>{if(e.uniqueId===x){S(null),g(null),v(null),b(null);return}q&&console.log(`DevicesTable handleDeviceClick: selected device "${e.name}" with uniqueId "${e.uniqueId}", plugin "${e.pluginName}", endpoint "${e.endpoint}"`),S(e.uniqueId),g(e.pluginName),v(e.endpoint?e.endpoint.toString():null),b(e.name)},rows:l,columns:wn,footerLeft:`Total devices: ${l.length.toString()}`})}),h&&_&&(0,Y.jsx)(Q,{style:{margin:`0px`,padding:`0px`,gap:`0px`,width:`100%`,height:`70%`,maxHeight:`70%`,flex:`1 1 auto`,overflow:`hidden`},children:(0,Y.jsx)(Cn,{name:`Clusters`,title:y||``,getRowKey:Dn,rows:d,columns:Tn,footerLeft:`Total child endpoints: ${p-1}`})})]}):(0,Y.jsx)(Kt,{})}var kn=(0,G.memo)(On);function An({children:e,style:t,name:n}){let{setCurrentPage:r}=(0,G.useContext)(Ut);return r(n),q&&console.log(`MbfPage: current page set to ${n}`),(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`,margin:`0px`,padding:`0px`,gap:`20px`,...t},children:e})}function jn(){let{online:e,sendMessage:t,addListener:n,removeListener:r,getUniqueId:i}=(0,G.useContext)(X),[a,o]=(0,G.useState)([`All plugins`]),[s,c]=(0,G.useState)(`All plugins`),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`icon`),m=(0,G.useRef)(i());(0,G.useEffect)(()=>{let e=localStorage.getItem(K.devicesFilterPlugins);e&&c(e)},[]),(0,G.useEffect)(()=>{let e=localStorage.getItem(K.devicesFilterDevices);e&&u(e)},[]),(0,G.useEffect)(()=>{let e=localStorage.getItem(K.devicesViewMode);e&&f(e)},[]),(0,G.useEffect)(()=>{let e=e=>{q&&e.id&&console.log(`Devices received WebSocket Message:`,e),e.method===`refresh_required`&&e.response.changed===`plugins`&&!e.response.lock?(q&&console.log(`Devices received refresh_required for plugins lock=${e.response.lock}, sending /api/plugins request with id ${m.current}`),t({id:m.current,sender:`Devices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}})):e.method===`/api/plugins`&&e.id===m.current&&e.response&&(q&&console.log(`Devices received ${e.response.length} plugins:`,e.response),o([`All plugins`,...e.response.map(e=>e.name)]))};return n(e,m.current),q&&console.log(`Devices added WebSocket listener`),()=>{r(e),q&&console.log(`Devices removed WebSocket listener`)}},[t,n,r]),(0,G.useEffect)(()=>{e&&(q&&console.log(`Devices sending /api/plugins request with id `,m.current),t({id:m.current,sender:`Devices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}}))},[e,t]);let h=e=>{let t=e.target.value;c(t),localStorage.setItem(K.devicesFilterPlugins,t)},g=e=>{u(e.target.value),localStorage.setItem(K.devicesFilterDevices,e.target.value)},_=()=>{u(``),localStorage.removeItem(K.devicesFilterDevices)},v=e=>{f(e),localStorage.setItem(K.devicesViewMode,e)};return q&&console.log(`Devices rendering...`),e?(0,Y.jsxs)(An,{name:`Devices`,children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,flexWrap:`wrap`,justifyContent:`space-between`,padding:0,margin:0,gap:`20px`,width:`100%`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,flexWrap:`wrap`,justifyContent:`space-between`,padding:0,margin:0,gap:`20px`},children:[(0,Y.jsxs)(W,{sx:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`10px`},children:[(0,Y.jsx)(p,{sx:{fontSize:`16px`,fontWeight:`normal`,color:`var(--div-text-color)`,marginLeft:`5px`,whiteSpace:`nowrap`},children:`Plugin:`}),(0,Y.jsx)(H,{title:`Filter devices by plugin`,children:(0,Y.jsx)(R,{variant:`outlined`,value:s,onChange:h,sx:{width:`260px`,backgroundColor:`var(--main-bg-color)`,"& .MuiOutlinedInput-root":{backgroundColor:`var(--main-bg-color)`},"& .MuiSelect-select":{backgroundColor:`var(--main-bg-color)`},"& .MuiSelect-icon":{color:`var(--main-label-color)`}},input:(0,Y.jsx)(rt,{sx:{backgroundColor:`var(--main-bg-color)`}}),children:a.map(e=>(0,Y.jsx)(V,{value:e,children:e},e))})})]}),(0,Y.jsxs)(W,{sx:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`10px`},children:[(0,Y.jsx)(p,{sx:{fontSize:`16px`,fontWeight:`normal`,color:`var(--div-text-color)`,marginLeft:`5px`,whiteSpace:`nowrap`},children:`Filter by:`}),(0,Y.jsx)(H,{title:`Filter devices by name or serial number`,children:(0,Y.jsx)(B,{variant:`outlined`,value:l,onChange:g,placeholder:`Enter the device name or serial`,sx:{width:`260px`,"& .MuiOutlinedInput-root":{backgroundColor:`var(--main-bg-color)`}},slotProps:{input:{endAdornment:l?(0,Y.jsx)(y,{position:`end`,children:(0,Y.jsx)(T,{"aria-label":`Clear device filter`,size:`small`,onClick:_,edge:`end`,children:(0,Y.jsx)(Ee,{sx:{fontSize:18,color:`var(--main-label-color)`}})})}):null}}})})]})]}),(0,Y.jsxs)(W,{sx:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`10px`},children:[(0,Y.jsx)(p,{sx:{fontSize:`16px`,fontWeight:`normal`,color:`var(--div-text-color)`,marginLeft:`5px`,whiteSpace:`nowrap`},children:`View mode:`}),(0,Y.jsx)(T,{onClick:()=>v(`table`),"aria-label":`Table View`,disabled:d===`table`,children:(0,Y.jsx)(H,{title:`Table View`,children:(0,Y.jsx)(tt,{style:{color:d===`table`?`var(--main-icon-color)`:`var(--primary-color)`}})})}),(0,Y.jsx)(T,{onClick:()=>v(`icon`),"aria-label":`Icon View`,disabled:d===`icon`,children:(0,Y.jsx)(H,{title:`Icon View (beta)`,children:(0,Y.jsx)(ze,{style:{color:d===`icon`?`var(--main-icon-color)`:`var(--primary-color)`}})})})]})]}),d===`table`&&(0,Y.jsx)(kn,{filterPlugins:s,filterDevices:l}),d===`icon`&&(0,Y.jsx)(_n,{filterPlugins:s,filterDevices:l})]}):(0,Y.jsx)(Kt,{})}var Mn=(0,G.memo)(jn);function Nn({version:e}){let{online:t}=(0,G.useContext)(X);return q&&console.log(`HomeBrowserRefresh rendering...`),t?(0,Y.jsxs)(Q,{children:[(0,Y.jsx)(qt,{children:(0,Y.jsx)(Jt,{children:`Frontend Update`})}),(0,Y.jsxs)(Qt,{style:{flexDirection:`row`,flexWrap:`wrap`,justifyContent:`space-between`,alignItems:`center`},children:[(0,Y.jsxs)(`h4`,{style:{margin:0},children:[`The frontend has been updated to version `,e,`. You are viewing an outdated web UI. Please refresh the page now.`]}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(L,{onClick:()=>window.location.reload(),endIcon:(0,Y.jsx)(re,{}),style:{marginLeft:`10px`,color:`var(--main-button-color)`,backgroundColor:`var(--main-button-bg-color)`,height:`30px`},children:`Refresh`})})]})]}):(0,Y.jsx)(Kt,{})}var Pn=(0,G.memo)(Nn);function Fn(e){if(q&&console.log(`getQRColor (id: ${e?.id}) received matter:`,e??`undefined`),e===void 0||!e.online||!e.qrPairingCode&&!e.manualPairingCode&&!e.fabricInformations&&!e.sessionInformations)return`red`;if(!e.commissioned&&e.qrPairingCode&&e.manualPairingCode)return`var(--primary-color)`;let t=0,n=0;for(let r of e.sessionInformations??[])r.fabric&&r.isPeerActive&&t++,r.numberOfActiveSubscriptions>0&&(n+=r.numberOfActiveSubscriptions);return e.commissioned&&e.fabricInformations&&e.sessionInformations&&(t===0||n===0)?`var(--secondary-color)`:`var(--div-text-color)`}var In=e=>`${e.pluginName}::${e.serial}`;function Ln({storeId:e,setStoreId:t}){let{online:n,sendMessage:r,addListener:i,removeListener:a,getUniqueId:o}=(0,G.useContext)(X),{mobile:s}=(0,G.useContext)(Ut),[c,l]=(0,G.useState)(!1),[u,d]=(0,G.useState)(!0),[f,p]=(0,G.useState)(null),[m,h]=(0,G.useState)([]),[g,_]=(0,G.useState)([]),[v,y]=(0,G.useState)([]),[S,C]=(0,G.useState)([]),[w,E]=(0,G.useState)(null),[O,k]=(0,G.useState)(`inactive`),A=(0,G.useRef)(o()),j=[{label:`Plugin`,id:`pluginName`},{label:`Name`,id:`name`,required:!0},{label:`Serial`,id:`serial`},{label:`Availability`,id:`availability`,render:(e,t,n,r)=>n.reachable===!0?`Online`:n.reachable===!1?(0,Y.jsx)(`span`,{style:{color:`red`},children:`Offline`}):``,comparator:(e,t)=>(e.reachable===!0?1:e.reachable===!1?0:-1)-(t.reachable===!0?1:t.reachable===!1?0:-1)},{label:`Power`,id:`powerSource`,render:(e,t,n,r)=>n.powerSource===`ac`||n.powerSource===`dc`?(0,Y.jsx)($e,{fontSize:`small`,sx:{color:`var(--primary-color)`}}):n.powerSource===`ok`?n.batteryLevel?(0,Y.jsx)(H,{title:`Battery level: ${n.batteryLevel}%`,children:(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`green`}})}):(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`gray`}}):n.powerSource===`warning`?n.batteryLevel?(0,Y.jsx)(H,{title:`Battery level: ${n.batteryLevel}%`,children:(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`yellow`}})}):(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`yellow`}}):n.powerSource===`critical`?n.batteryLevel?(0,Y.jsx)(H,{title:`Battery level: ${n.batteryLevel}%`,children:(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`red`}})}):(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`red`}}):(0,Y.jsx)(`span`,{})},{label:`Actions`,id:`selected`,required:!0,render:(n,r,i,a)=>(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`},children:[i.matter===void 0?(0,Y.jsx)(`div`,{style:{width:`20px`,height:`20px`}}):(0,Y.jsx)(H,{title:`Show the QRCode or the fabrics`,slotProps:{popper:{modifiers:[{name:`offset`,options:{offset:[30,15]}}]}},children:(0,Y.jsx)(T,{onClick:()=>t(e===i.matter?.id?f?.matterbridgeInformation.bridgeMode===`bridge`?`Matterbridge`:null:i.matter?.id||null),"aria-label":`Show the QRCode`,sx:{margin:0,padding:0,color:Fn(i.matter)},children:(0,Y.jsx)(te,{fontSize:`small`})})}),i.configUrl?(0,Y.jsx)(H,{title:`Open the configuration page`,slotProps:{popper:{modifiers:[{name:`offset`,options:{offset:[30,15]}}]}},children:(0,Y.jsx)(T,{onClick:()=>P(i),"aria-label":`Open config url`,sx:{margin:0,padding:0},children:(0,Y.jsx)(b,{fontSize:`small`})})}):(0,Y.jsx)(`div`,{style:{width:`20px`,height:`20px`}}),i.selected===void 0?(0,Y.jsx)(`div`,{style:{width:`20px`,height:`20px`}}):(0,Y.jsx)(H,{title:`Select/unselect the device`,slotProps:{popper:{modifiers:[{name:`offset`,options:{offset:[30,15]}}]}},children:(0,Y.jsx)(M,{checked:i.selected,onChange:e=>ee(e,i),sx:{margin:`0`,marginLeft:`8px`,padding:`0`},size:`small`})})]})}],N=(0,G.useCallback)(e=>{e.selected=void 0;let t=m.find(t=>t.name===e.pluginName);if(!t)return console.error(`HomeDevices isSelected: plugin ${e.pluginName} not found for device ${e.name} `),e.selected;let n=t.schemaJson?.properties?.whiteList?.selectFrom,r=t.configJson.postfix;return r===``&&(r=void 0),t.hasWhiteList===!0&&t.hasBlackList===!0&&n&&(e.selected=!0,n===`serial`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&t.configJson.whiteList.includes(r?e.serial.replace(`-`+r,``):e.serial)&&(e.selected=!0),n===`serial`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&!t.configJson.whiteList.includes(r?e.serial.replace(`-`+r,``):e.serial)&&(e.selected=!1),n===`serial`&&t.configJson.blackList&&t.configJson.blackList.length>0&&t.configJson.blackList.includes(r?e.serial.replace(`-`+r,``):e.serial)&&(e.selected=!1),n===`name`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&t.configJson.whiteList.includes(e.name)&&(e.selected=!0),n===`name`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&!t.configJson.whiteList.includes(e.name)&&(e.selected=!1),n===`name`&&t.configJson.blackList&&t.configJson.blackList.length>0&&t.configJson.blackList.includes(e.name)&&(e.selected=!1)),e.selected},[m]);(0,G.useEffect)(()=>{let e=e=>{if(q&&console.log(`HomeDevices received WebSocket Message:`,e),e.method===`refresh_required`&&e.response.changed!==`matter`?e.response.changed===`plugins`&&e.response.lock?q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} lock=${e.response.lock} skipping /api/plugins request`):(q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} and sending /api/plugins request`),r({id:A.current,sender:`HomeDevices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}})):e.method===`refresh_required`&&e.response.changed===`matter`?(q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} and setting matter id ${e.response.matter?.id}`),C(t=>{let n=t.findIndex(t=>t.name.replaceAll(` `,``)===e.response.matter?.id);if(n<0)return q&&console.debug(`HomeDevices: matter id ${e.response.matter?.id} not found`),t;let r=[...t];return r[n]={...r[n],matter:e.response.matter},q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} and set matter id ${e.response.matter?.id}`),r})):e.method===`restart_required`?(q&&console.log(`HomeDevices received restart_required`),l(!0)):e.method===`restart_not_required`?(q&&console.log(`HomeDevices received restart_not_required`),l(!1)):e.method===`matterbridge_status_update`?(q&&console.log(`HomeDevices received matterbridge_status_update: ${e.response.status}`),k(e.response.status)):e.method===`state_update`&&e.response.plugin&&e.response.serialNumber&&e.response.cluster.includes(`BasicInformation`)&&e.response.attribute===`reachable`&&(q&&console.log(`HomeDevices updating device reachability for plugin ${e.response.plugin} serial ${e.response.serialNumber} value ${e.response.value}`),_(t=>{let n=t.findIndex(t=>t.pluginName===e.response.plugin&&t.serial===e.response.serialNumber);return n<0?(q&&console.warn(`HomeDevices: device to update not found for plugin ${e.response.plugin} serial ${e.response.serialNumber}`),t):(t[n]={...t[n],reachable:e.response.value},[...t])})),e.id===A.current&&e.method===`/api/settings`)q&&console.log(`HomeDevices (id: ${e.id}) received settings:`,e.response),p(e.response),l(e.response.matterbridgeInformation.restartRequired||e.response.matterbridgeInformation.fixedRestartRequired),k(e.response.matterbridgeInformation.bridgeStatus);else if(e.id===A.current&&e.method===`/api/plugins`){if(q&&console.log(`HomeDevices (id: ${e.id}) received ${e.response?.length} plugins:`,e.response),e.response){let t=!0;for(let n of e.response)n.enabled&&(n.loaded!==!0||n.started!==!0||n.error===!0)&&(t=!1);if(!t)return;q&&console.log(`HomeDevices reset plugins, devices and selectDevices`),d(!1),h(e.response),_([]),y([]),r({id:A.current,sender:`HomeDevices`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}}),q&&console.log(`HomeDevices sent /api/devices`);for(let t of e.response)t.enabled&&t.loaded===!0&&t.started===!0&&t.error!==!0&&(r({id:A.current,sender:`HomeDevices`,method:`/api/select/devices`,src:`Frontend`,dst:`Matterbridge`,params:{plugin:t.name}}),q&&console.log(`HomeDevices sent /api/select/devices for plugin: ${t.name}`))}}else if(e.id===A.current&&e.method===`/api/devices`){if(q&&console.log(`HomeDevices (id: ${e.id}) received ${e.response?.length} devices:`,e.response),e.response){for(let t of e.response)t.selected=N(t);_(e.response)}}else e.id===A.current&&e.method===`/api/select/devices`&&(q&&console.log(`HomeDevices (id: ${e.id}) received ${e.response?.length} selectDevices for plugin ${e.response&&e.response.length>0?e.response[0].pluginName:`without select devices`}:`,e.response),e.response&&e.response.length>0&&y(t=>{let n=t.filter(t=>t.pluginName!==e.response[0].pluginName),r=e.response.map(e=>({...e,selected:N(e)}));return[...n,...r]}))};return i(e,A.current),q&&console.log(`HomeDevices added WebSocket listener id ${A.current}`),()=>{a(e),q&&console.log(`HomeDevices removed WebSocket listener`)}},[m,i,a,r,N]),(0,G.useEffect)(()=>{if(g.length===0&&v.length===0){C([]);return}q&&console.log(`HomeDevices mixing devices (${g.length}) and selectDevices (${v.length})`);let e=[];for(let t of g)e.push(t);for(let t of v)g.find(e=>e.pluginName===t.pluginName&&e.serial.includes(t.serial))||e.push(t);e.length>0&&(C(e),q&&console.log(`HomeDevices mixed ${e.length} devices and selectDevices`))},[m,g,v,C]),(0,G.useEffect)(()=>{n&&(q&&console.log(`HomeDevices sending /api/settings and /api/plugins requests`),r({id:A.current,sender:`HomeDevices`,method:`/api/settings`,src:`Frontend`,dst:`Matterbridge`,params:{}}),r({id:A.current,sender:`HomeDevices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}}))},[n,r]);let ee=(e,t)=>{q&&console.log(`handleCheckboxChange: checkbox changed to ${e.target.checked} for device ${t.name} serial ${t.serial}`),g.findIndex(e=>e.pluginName===t.pluginName&&e.serial===t.serial)<0?(q&&console.warn(`handleCheckboxChange: device ${t.name} serial ${t.serial} not found in devices, trying in mixedDevices`),C(n=>{let r=n.findIndex(e=>e.pluginName===t.pluginName&&e.serial===t.serial);return r<0?(console.error(`handleCheckboxChange: device ${t.name} serial ${t.serial} not found in mixedDevices`),n):(n[r]={...n[r],selected:e.target.checked},[...n])})):_(n=>{let r=n.findIndex(e=>e.pluginName===t.pluginName&&e.serial===t.serial);return r<0?(console.error(`handleCheckboxChange: device ${t.name} serial ${t.serial} not found in devices`),n):(n[r]={...n[r],selected:e.target.checked},[...n])}),e.target.checked?r({id:A.current,sender:`HomeDevices`,method:`/api/command`,src:`Frontend`,dst:`Matterbridge`,params:{command:`selectdevice`,plugin:t.pluginName,serial:t.serial,name:t.name}}):r({id:A.current,sender:`HomeDevices`,method:`/api/command`,src:`Frontend`,dst:`Matterbridge`,params:{command:`unselectdevice`,plugin:t.pluginName,serial:t.serial,name:t.name}})},P=e=>{if(q&&console.log(`handleConfigUrl device:`,e.name,`configUrl:`,e.configUrl),e.configUrl)if(e.configUrl.startsWith(`/plugins/`)||e.configUrl.startsWith(`./plugins/`)){let t=`${Bt}${e.configUrl.replace(/^\.?\//,``)}`,n=t.endsWith(`/`)?t:`${t}/`;console.log(`handleConfigUrl opening plugin frontend for device:`,e.name,`basePath:`,Bt,`configUrl:`,e.configUrl,`computed pluginFrontendPath:`,n),E({name:e.name,path:n})}else window.open(e.configUrl,`_blank`)};return q&&console.log(`HomeDevices rendering...`),n?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Q,{style:{flex:`1 1 auto`},children:(0,Y.jsx)(Cn,{name:`Devices`,getRowKey:In,rows:S,columns:j,footerLeft:u?`Waiting for the plugins to fully load...`:`Registered devices: ${g.length.toString()}/${S.length.toString()}`,footerRight:c?`Restart required`:``})}),(0,Y.jsxs)(D,{open:w!==null,onClose:()=>E(null),slotProps:{paper:{sx:{width:J&&s?`100vw`:`75vw`,height:J&&s?`100vh`:`75vh`,maxWidth:J&&s?`100vw`:`75vw`,maxHeight:J&&s?`100vh`:`75vh`,margin:J&&s?`0px`:void 0,display:`flex`,flexDirection:`column`,overflow:`hidden`,backgroundColor:`var(--div-bg-color)`}}},children:[(0,Y.jsx)(I,{style:{display:`flex`,flex:`1 1 auto`,minHeight:0,padding:`0px`,margin:`0px`,overflow:`hidden`,backgroundColor:`var(--div-bg-color)`},children:w&&(0,Y.jsx)(`iframe`,{title:`${w.name} frontend`,src:w.path,onLoad:e=>{let t=e.currentTarget.contentDocument;if(!t?.head)return;let n=getComputedStyle(document.body),r=n.getPropertyValue(`--primary-color`).trim()||`#0d6efd`,i=n.getPropertyValue(`--div-bg-color`).trim()||`#111111`;t.getElementById(`matterbridge-plugin-scrollbar-style`)?.remove();let a=t.createElement(`style`);a.id=`matterbridge-plugin-scrollbar-style`,a.textContent=`
2
+ `)),[`debug`,`info`,`notice`,`warn`,`error`,`fatal`].includes(t.response.level)&&(E.current===`info`&&t.response.level===`debug`||E.current===`notice`&&(t.response.level===`debug`||t.response.level===`info`)||E.current===`warn`&&(t.response.level===`debug`||t.response.level===`info`||t.response.level===`notice`)||E.current===`error`&&(t.response.level===`debug`||t.response.level===`info`||t.response.level===`notice`||t.response.level===`warn`)||E.current===`fatal`&&(t.response.level===`debug`||t.response.level===`info`||t.response.level===`notice`||t.response.level===`warn`||t.response.level===`error`)))||D.current!==`*`&&D.current!==``&&!D.current.startsWith(`/`)&&!D.current.endsWith(`/`)&&!t.response.message.toLowerCase().includes(D.current.toLowerCase())&&!t.response.name.toLowerCase().includes(D.current.toLowerCase())||D.current.startsWith(`/`)&&D.current.endsWith(`/`)&&(()=>{try{let e=new RegExp(D.current.slice(1,-1),`i`);return!e.test(t.response.message)&&!e.test(t.response.name)}catch(e){return console.error(`WebSocket log search invalid regex filter "${D.current}":`,e),!1}})()||t.response.name===`Commissioning`&&t.response.message.includes(`is uncommissioned`))return;n(e=>{let n=[...e,{level:t.response.level,time:t.response.time,name:t.response.name,message:t.response.message}];return q&&console.log(`WebSocket new log message added (${n.length}/${A.current}):`,n[n.length-1]),n.length>A.current+A.current*10/100?(q&&console.log(`WebSocket sliced log messages to the last ${A.current} entries`),n.slice(n.length-A.current)):n})}else{if(q&&console.log(`WebSocket received message id ${t.id} method ${t.method}:`,t),t.id===0)y.current.forEach(e=>e.listener(t));else{let e=y.current.find(e=>e.id===t.id);e?e.listener(t):console.warn(`WebSocket no listener found for message id ${t.id}:`,t)}return}}catch(e){console.error(`WebSocket error parsing message: ${String(e)}`,e instanceof Error?e.stack:null)}},b.current.onopen=()=>{q&&console.log(`WebSocket: Connected to WebSocket: ${M}`),P(`WebSocket`,`Connected to WebSocket: ${M}`),c(!0),p(),x.current=1,u(1),T.current=setTimeout(()=>{C.current=setInterval(()=>{te({id:S.current,method:`ping`,src:`Frontend`,dst:`Matterbridge`,params:{}}),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{q&&console.error(`WebSocketUse: No pong response received from WebSocket: ${M}`),P(`WebSocket`,`No pong response received from WebSocket: ${M}`),c(!1)},1e3*50)},1e3*60)},1e3*300)},b.current.onclose=()=>{q&&console.error(`WebSocket: Disconnected from WebSocket ${Rt?`with Ingress`:``}: ${M}`),P(`WebSocket`,`Disconnected from WebSocket: ${M}`),c(!1),p(),h(),T.current&&clearTimeout(T.current),w.current&&clearTimeout(w.current),C.current&&clearInterval(C.current),P(`WebSocket`,`Reconnecting (attempt ${x.current} of 100) to WebSocket${Rt?` (Ingress)`:``}: ${M}`),Rt?setTimeout(I,5e3):x.current===1?I():x.current<100?setTimeout(I,1e3*x.current):P(`WebSocket`,`Reconnect attempts exceeded limit of 100 retries, refresh the page to reconnect to: ${M}`),x.current+=1,u(x.current)},b.current.onerror=e=>{q&&console.error(`WebSocket: WebSocket error connecting to ${M}:`,e),P(`WebSocket`,`WebSocket error connecting to ${M}`)})},[M]),I=(0,G.useCallback)(()=>{q&&console.log(`WebSocket attemptReconnect ${x.current}/100 to:`,M),re()},[re]);(0,G.useEffect)(()=>(re(),()=>{b.current&&b.current.readyState===WebSocket.OPEN&&b.current.close()}),[re]);let ie=(0,G.useMemo)(()=>({messages:t,logLength:A,logAutoScroll:j,logFilterLevel:r,logFilterSearch:a,setMessages:n,setLogFilterLevel:i,setLogFilterSearch:o,filterLogMessages:ee}),[t,A,j,r,a,n,i,o,ee]),ae=(0,G.useMemo)(()=>({logLength:A,logAutoScroll:j,logFilterLevel:r,logFilterSearch:a,setMessages:n,setLogFilterLevel:i,setLogFilterSearch:o,filterLogMessages:ee,online:s,retry:l,getUniqueId:N,addListener:ne,removeListener:F,sendMessage:te,logMessage:P}),[A,j,n,i,o,s,l,ne,F,te,P]);return(0,Y.jsx)(Wt.Provider,{value:ie,children:(0,Y.jsx)(X.Provider,{value:ae,children:e})})}function Kt(){let{retry:e}=(0,G.useContext)(X);return(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,width:`100vw`,height:`100vh`,justifyContent:`center`,alignItems:`center`,fontSize:`20px`,color:`var(--main-text-color)`,backgroundColor:`var(--main-bg-color)`},children:[(0,Y.jsx)(Ht,{style:{height:`128px`,width:`128px`,margin:`10px`,marginBottom:`20px`}}),e<100?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(de,{style:{color:`var(--primary-color)`}}),(0,Y.jsx)(`div`,{style:{marginTop:`20px`,color:`var(--primary-color)`,textAlign:`center`},children:(0,Y.jsxs)(`span`,{children:[`Reconnecting to Matterbridge `,`(attempt `+e+`)`,`...`]})})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{style:{marginTop:`20px`,color:`var(--primary-color)`,textAlign:`center`},children:[(0,Y.jsx)(`span`,{children:`Unable to connect to Matterbridge after multiple attempts.`}),(0,Y.jsx)(`br`,{}),(0,Y.jsx)(`span`,{children:`Please check your network connection.`}),(0,Y.jsx)(`br`,{})]}),(0,Y.jsx)(L,{variant:`contained`,color:`primary`,onClick:()=>{window.location.reload()},style:{marginTop:`20px`},children:`Refresh the Page`})]})]})}var Z=ht();function Q({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,flex:`0 0 auto`,width:`100%`,overflow:`hidden`,margin:`0px`,padding:`0px`,gap:`0px`,backgroundColor:`var(--div-bg-color)`,boxShadow:`5px 5px 10px var(--div-shadow-color)`,border:`1px solid var(--table-border-color)`,borderRadius:`var(--div-border-radius)`,boxSizing:`border-box`,...t},children:e})}function qt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`row`,justifyContent:`space-between`,width:`100%`,height:`30px`,borderBottom:`1px solid var(--table-border-color)`,color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color)`,margin:`0px`,padding:`0px`,boxSizing:`border-box`,...t},children:e})}function Jt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color)`,fontSize:`16px`,fontWeight:`bold`,margin:`0px`,padding:`5px 10px`,...t},children:e})}function Yt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`row`,justifyContent:`space-between`,width:`100%`,height:`30px`,color:`var(--footer-text-color)`,backgroundColor:`var(--footer-bg-color)`,margin:`0px`,padding:`0px`,boxSizing:`border-box`,...t},children:e})}function Xt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{color:`var(--footer-text-color)`,backgroundColor:`var(--footer-bg-color)`,fontSize:`14px`,fontWeight:`bold`,margin:`0px`,padding:`5px 10px`,...t},children:e})}function Zt({children:e,style:t}){return(0,Y.jsx)(`div`,{style:{color:`var(--div-text-color)`,backgroundColor:`var(--div-bg-color)`,fontSize:`14px`,fontWeight:`normal`,margin:`0px`,padding:`5px 10px`,...t},children:e})}function Qt({children:e,style:t,onDragOver:n,onDragLeave:r,onDrop:i}){return(0,Y.jsx)(`div`,{style:{flex:`0 0 auto`,display:`flex`,flexDirection:`row`,overflow:`hidden`,alignItems:`start`,justifyContent:`space-between`,margin:`0px`,padding:`10px`,gap:`20px`,...t},onDragOver:n,onDragLeave:r,onDrop:i,children:e})}function $t({children:e,style:t,close:n}){return(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,margin:`0px`,padding:`0px`,paddingRight:`10px`,gap:`10px`,...t},children:[e,!1]})}var en={display:`flex`,gap:`2px`,justifyContent:`space-evenly`,width:`100%`,height:`40px`},tn={margin:`0`,padding:`0`,fontSize:`36px`,fontWeight:`medium`,color:`var(--primary-color)`},nn={margin:`0`,padding:`0`,fontSize:`20px`,fontWeight:`medium`,color:`var(--div-text-color)`,textAlign:`center`},rn={margin:`0`,padding:`0`,paddingBottom:`2px`,fontSize:`16px`,fontWeight:`medium`,color:`var(--div-text-color)`,textAlign:`center`},an={display:`flex`,gap:`2px`,justifyContent:`center`,width:`100%`,height:`18px`,margin:`0`,padding:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`normal`},on={margin:`0`,padding:`0`,fontSize:`12px`,fontWeight:`normal`,color:`var(--div-text-color)`},sn={display:`flex`,justifyContent:`center`,width:`100%`,height:`52px`,margin:`0`,padding:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`normal`},cn={margin:`0`,padding:`0`,fontSize:`14px`,fontWeight:`bold`,color:`var(--div-text-color)`},ln={display:`flex`,gap:`4px`,justifyContent:`center`,width:`100%`,height:`15px`,margin:`0`,padding:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`normal`},un={margin:`0`,padding:`0px 4px`,borderRadius:`5px`,textAlign:`center`,fontSize:`12px`,fontWeight:`normal`,color:`var(--secondary-color)`},dn=[256,257,268,269],fn=[266,267],pn=[259,260,261,271,272],mn=[256,257,268,269,266,267,259,260,261,272];function $({icon:e,iconColor:t,cluster:n,value:r,unit:i,prefix:a}){return q&&console.log(`Render cluster "${n.clusterName}.${n.attributeName}" value(${typeof r}-${Number.isNaN(r)}) "${r}" unit "${i}"`),a??=!1,(0,Y.jsxs)(W,{sx:en,children:[e&&(0,G.cloneElement)(e,{key:`${n.clusterId}-${n.attributeId}-icon`,sx:{...tn,color:t??`var(--primary-color)`}}),(0,Y.jsxs)(W,{sx:{...en,gap:`4px`,alignContent:`center`,alignItems:`end`,justifyContent:`center`},children:[i&&a&&(0,Y.jsx)(p,{sx:rn,children:i},`${n.clusterId}-${n.attributeId}-unit-prefix`),(0,Y.jsx)(p,{sx:nn,children:r==null||typeof r==`number`&&Number.isNaN(r)||r===`NaN`?`---`:r},`${n.clusterId}-${n.attributeId}-value`),i&&!a&&(0,Y.jsx)(p,{sx:rn,children:i},`${n.clusterId}-${n.attributeId}-unit-suffix`)]},`${n.clusterId}-${n.attributeId}-valueunitbox`)]},`${n.clusterId}-${n.attributeId}-box`)}function hn({device:e,endpoint:t,id:n,deviceType:r,clusters:i}){let a=[`Unknown`,`Good`,`Fair`,`Moderate`,`Poor`,`VeryPoor`,`Ext.Poor`],o=``;q&&console.log(`Device "${e.name}" endpoint "${t}" id "${n}" deviceType "0x${r.toString(16).padStart(4,`0`)}" clusters (${i?.length})`);let s=i.find(e=>e.clusterName===`Descriptor`&&e.attributeName===`tagList`)?.attributeLocalValue;if(s){let e=``;s.map(t=>{t.label&&(e+=t.label+` `)}),o=e.trim()}if(r===17&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`batVoltage`).map(e=>o=`${e.attributeLocalValue??0} mV`),mn.includes(r)&&i.filter(e=>e.clusterName===`LevelControl`&&e.attributeName===`currentLevel`).map(e=>o=`Level ${e.attributeValue}`),r===514&&i.filter(e=>e.clusterName===`WindowCovering`&&e.attributeName===`currentPositionLiftPercent100ths`).map(e=>o=`Position ${e.attributeLocalValue/100}%`),r===769&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`occupiedHeatingSetpoint`).map(e=>o=`Heat ${e.attributeLocalValue/100}°C `),r===769&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`occupiedCoolingSetpoint`).map(e=>o+=`Cool ${e.attributeLocalValue/100}°C`),r===118&&i.filter(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`coState`).map(e=>o=e.attributeLocalValue===0?`No CO detected`:`CO alarm!`),r===1296&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`voltage`).map(e=>o=`${e.attributeLocalValue/1e3} V, `),r===1296&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`activeCurrent`).map(e=>o+=`${e.attributeLocalValue/1e3} A, `),r===1296&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`activePower`).map(e=>o+=`${e.attributeLocalValue/1e3} W`),r===39){let e=i.find(e=>e.clusterName===`ModeSelect`&&e.attributeName===`currentMode`)?.attributeLocalValue;o=(i.find(e=>e.clusterName===`ModeSelect`&&e.attributeName===`supportedModes`)?.attributeLocalValue)?.find(t=>t.mode===e)?.label||`Unknown`}if(r===116){let e=i.find(e=>e.clusterName===`RvcRunMode`&&e.attributeName===`currentMode`)?.attributeLocalValue;o=(i.find(e=>e.clusterName===`RvcRunMode`&&e.attributeName===`supportedModes`)?.attributeLocalValue)?.find(t=>t.mode===e)?.label||`Unknown`}return(0,Y.jsxs)(Q,{style:{margin:`0px`,padding:`5px`,width:`150px`,height:`150px`,borderColor:`var(--div-bg-color)`,borderRadius:`5px`,justifyContent:`space-between`},children:[r===19&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:e.attributeLocalValue===!0?(0,Y.jsx)(j,{}):(0,Y.jsx)(E,{}),iconColor:e.attributeLocalValue===!0?`green`:`red`,cluster:e,value:e.attributeLocalValue===!0?`Online`:`Offline`},`${e.clusterId}-${e.attributeId}`)),r===17&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`batPercentRemaining`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ge,{}),cluster:e,value:e.attributeLocalValue/2,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===17&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`wiredCurrentType`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)($e,{}),cluster:e,value:e.attributeLocalValue===0?`AC`:`DC`},`${e.clusterId}-${e.attributeId}`)),r===1293&&i.filter(e=>e.clusterName===`DeviceEnergyManagement`&&e.attributeName===`esaState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Offline`:`Online`},`${e.clusterId}-${e.attributeId}`)),dn.includes(r)&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ge,{}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),fn.includes(r)&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5C6.66,13.5 6,12.83 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),pn.includes(r)&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M8 6V18H16V6H8M14 10H10V8H14V10M19.4 1.6C19 1.2 18.5 1 18 1H6C5.5 1 5 1.2 4.6 1.6C4.2 2 4 2.5 4 3V21C4 21.5 4.2 22 4.6 22.4C5 22.8 5.5 23 6 23H18C18.5 23 19 22.8 19.4 22.4C19.8 22 20 21.5 20 21V3C20 2.5 19.8 2 19.4 1.6M18 21H6V3H18V21Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),r===115&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===124&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===117&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===123&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(S,{}),cluster:e,value:`Oven`},`${e.clusterId}-${e.attributeId}`)),r===112&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ve,{}),cluster:e,value:`Fridge`},`${e.clusterId}-${e.attributeId}`)),r===113&&i.filter(e=>e.clusterName===`TemperatureControl`&&e.attributeName===`selectedTemperatureLevel`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue,unit:`mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===121&&i.filter(e=>e.clusterName===`OperationalState`&&e.attributeName===`operationalState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(S,{}),cluster:e,value:e.attributeLocalValue===0?`Normal`:`Error`},`${e.clusterId}-${e.attributeId}`)),r===122&&i.filter(e=>e.clusterName===`FanControl`&&e.attributeName===`fanMode`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue,unit:`mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===120&&i.filter(e=>e.clusterName===`BridgedDeviceBasicInformation`&&e.attributeName===`reachable`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Cooktop`},`${e.clusterId}-${e.attributeId}`)),r===119&&i.filter(e=>e.clusterName===`TemperatureControl`&&e.attributeName===`selectedTemperatureLevel`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue,unit:`mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===514&&i.filter(e=>e.clusterName===`WindowCovering`&&e.attributeName===`currentPositionLiftPercent100ths`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(xe,{}),cluster:e,value:e.attributeLocalValue/100,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===769&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`localTemperature`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:(e.attributeLocalValue??0)/100,unit:`°C`},`${e.clusterId}-${e.attributeId}`)),r===10&&i.filter(e=>e.clusterName===`DoorLock`&&e.attributeName===`lockState`).map(e=>(0,Y.jsx)($,{icon:e.attributeValue===`1`?(0,Y.jsx)(O,{}):(0,Y.jsx)(qe,{}),cluster:e,value:e.attributeValue===`1`?`Locked`:`Unlocked`},`${e.clusterId}-${e.attributeId}`)),r===43&&i.filter(e=>e.clusterName===`FanControl`&&e.attributeName===`percentCurrent`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ze,{}),cluster:e,value:e.attributeValue,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===15&&i.filter(e=>e.clusterName===`Switch`&&e.attributeName===`currentPosition`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M13 5C15.21 5 17 6.79 17 9C17 10.5 16.2 11.77 15 12.46V11.24C15.61 10.69 16 9.89 16 9C16 7.34 14.66 6 13 6S10 7.34 10 9C10 9.89 10.39 10.69 11 11.24V12.46C9.8 11.77 9 10.5 9 9C9 6.79 10.79 5 13 5M20 20.5C19.97 21.32 19.32 21.97 18.5 22H13C12.62 22 12.26 21.85 12 21.57L8 17.37L8.74 16.6C8.93 16.39 9.2 16.28 9.5 16.28H9.7L12 18V9C12 8.45 12.45 8 13 8S14 8.45 14 9V13.47L15.21 13.6L19.15 15.79C19.68 16.03 20 16.56 20 17.14V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.11 2.9 14 4 14H8V12L4 12L4 4H20L20 12H18V14H20V13.96L20.04 14C21.13 14 22 13.09 22 12V4C22 2.9 21.11 2 20 2Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeValue,unit:`pos`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===39&&i.filter(e=>e.clusterName===`ModeSelect`&&e.attributeName===`currentMode`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ne,{}),cluster:e,value:e.attributeValue,unit:`Mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===771&&i.filter(e=>e.clusterName===`OnOff`&&e.attributeName===`onOff`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Ye,{}),cluster:e,value:e.attributeLocalValue===!0?`On`:`Off`},`${e.clusterId}-${e.attributeId}`)),r===45&&i.filter(e=>e.clusterName===`FanControl`&&e.attributeName===`percentCurrent`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ie,{}),cluster:e,value:e.attributeValue,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===114&&i.filter(e=>e.clusterName===`Thermostat`&&e.attributeName===`localTemperature`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ie,{}),cluster:e,value:(e.attributeLocalValue??0)/100,unit:`°C`},`${e.clusterId}-${e.attributeId}`)),r===67&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ae,{}),cluster:e,value:e.attributeLocalValue===!0?`Leak`:`No leak`},`${e.clusterId}-${e.attributeId}`)),r===65&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(we,{}),cluster:e,value:e.attributeLocalValue===!0?`Freeze`:`No freeze`},`${e.clusterId}-${e.attributeId}`)),r===68&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(lt,{}),cluster:e,value:e.attributeLocalValue===!0?`Rain`:`No rain`},`${e.clusterId}-${e.attributeId}`)),r===116&&i.filter(e=>e.clusterName===`RvcRunMode`&&e.attributeName===`currentMode`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeValue,unit:`Run mode`,prefix:!0},`${e.clusterId}-${e.attributeId}`)),r===1292&&i.filter(e=>e.clusterName===`EnergyEvse`&&e.attributeName===`state`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`Free`:`In use`},`${e.clusterId}-${e.attributeId}`)),r===1295&&i.filter(e=>e.clusterName===`WaterHeaterManagement`&&e.attributeName===`tankPercentage`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Tank `+(e.attributeLocalValue??0)+`%`},`${e.clusterId}-${e.attributeId}`)),r===777&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`featureMap`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12.75 7.08C13.57 7.2 14.32 7.5 14.95 8L12.75 10.19V7.08M11.25 7.08V10.19L9.05 8C9.68 7.5 10.43 7.2 11.25 7.08M8 9.05L10.19 11.25H7.08C7.2 10.43 7.5 9.68 8 9.05M7.08 12.75H10.19L8 14.95C7.5 14.32 7.2 13.57 7.08 12.75M11.25 16.92C10.43 16.8 9.68 16.5 9.05 16L11.25 13.81V16.92M12 13C11.45 13 11 12.55 11 12S11.45 11 12 11 13 11.45 13 12 12.55 13 12 13M12.75 16.92V13.81L14.95 16C14.32 16.5 13.57 16.8 12.75 16.92M16 14.95L13.81 12.75H16.92C16.8 13.57 16.5 14.32 16 14.95M13.81 11.25L16 9.05C16.5 9.69 16.8 10.44 16.92 11.25H13.81Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`HeatPump`},`${e.clusterId}-${e.attributeId}`)),r===23&&i.filter(e=>e.clusterName===`PowerSource`&&e.attributeName===`featureMap`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M4,2H20A2,2 0 0,1 22,4V14A2,2 0 0,1 20,16H15V20H18V22H13V16H11V22H6V20H9V16H4A2,2 0 0,1 2,14V4A2,2 0 0,1 4,2M4,4V8H11V4H4M4,14H11V10H4V14M20,14V10H13V14H20M20,4H13V8H20V4Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Solar`},`${e.clusterId}-${e.attributeId}`)),r===24&&i.filter(e=>e.clusterName===`ElectricalPowerMeasurement`&&e.attributeName===`featureMap`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12 20L5 20V12H2L12 3L14.78 5.5H14V7.17C12.84 7.58 12 8.7 12 10V20M15 9H16V7.5H20V9H21C21.55 9 22 9.45 22 10V21C22 21.55 21.55 22 21 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9M16 11V14H20V11H16Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:`Inverter`},`${e.clusterId}-${e.attributeId}`)),r===118&&i.find(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`featureMap`&&e.attributeLocalValue.smokeAlarm===!0)&&i.filter(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`smokeState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`No smoke`:`Smoke!`},`${e.clusterId}-${e.attributeId}`)),r===118&&i.find(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`featureMap`&&e.attributeLocalValue.smokeAlarm===!1)&&i.filter(e=>e.clusterName===`SmokeCoAlarm`&&e.attributeName===`coState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue===0?`No Co`:`Co!`},`${e.clusterId}-${e.attributeId}`)),r===66&&i.filter(e=>e.clusterName===`ValveConfigurationAndControl`&&e.attributeName===`currentState`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(me,{}),cluster:e,value:e.attributeLocalValue===0?`Closed`:`Opened`},`${e.clusterId}-${e.attributeId}`)),r===44&&i.filter(e=>e.clusterName===`AirQuality`&&e.attributeName===`airQuality`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:a[e.attributeLocalValue??0]},`${e.clusterId}-${e.attributeId}`)),r===770&&i.filter(e=>e.clusterName===`TemperatureMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(f,{}),cluster:e,value:e.attributeLocalValue/100,unit:`°C`},`${e.clusterId}-${e.attributeId}`)),r===775&&i.filter(e=>e.clusterName===`RelativeHumidityMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(Z.Icon,{path:`M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z`,size:`40px`,color:`var(--primary-color)`}),cluster:e,value:e.attributeLocalValue/100,unit:`%`},`${e.clusterId}-${e.attributeId}`)),r===774&&i.filter(e=>e.clusterName===`FlowMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(l,{}),cluster:e,value:e.attributeLocalValue,unit:`l/h`},`${e.clusterId}-${e.attributeId}`)),r===773&&i.filter(e=>e.clusterName===`PressureMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(De,{}),cluster:e,value:e.attributeLocalValue,unit:`hPa`},`${e.clusterId}-${e.attributeId}`)),r===21&&i.filter(e=>e.clusterName===`BooleanState`&&e.attributeName===`stateValue`).map(e=>(0,Y.jsx)($,{icon:e.attributeValue===`true`?(0,Y.jsx)(Ue,{}):(0,Y.jsx)(k,{}),cluster:e,value:e.attributeValue===`true`?`Closed`:`Opened`},`${e.clusterId}-${e.attributeId}`)),r===263&&i.filter(e=>e.clusterName===`OccupancySensing`&&e.attributeName===`occupancy`).map(e=>(0,Y.jsx)($,{icon:e.attributeValue===`{ occupied: true }`?(0,Y.jsx)(w,{}):(0,Y.jsx)(fe,{}),cluster:e,value:e.attributeValue===`{ occupied: true }`?`Occupied`:`Unocc.`},`${e.clusterId}-${e.attributeId}`)),r===262&&i.filter(e=>e.clusterName===`IlluminanceMeasurement`&&e.attributeName===`measuredValue`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(_e,{}),cluster:e,value:Math.round(10**(e.attributeLocalValue/1e4)),unit:`lx`},`${e.clusterId}-${e.attributeId}`)),r===1296&&i.filter(e=>e.clusterName===`ElectricalEnergyMeasurement`&&e.attributeName===`cumulativeEnergyImported`).map(e=>(0,Y.jsx)($,{icon:(0,Y.jsx)(ue,{}),cluster:e,value:Math.round(e.attributeLocalValue?.energy/1e6),unit:`kwh`},`${e.clusterId}-${e.attributeId}`)),(0,Y.jsx)(W,{sx:an,children:(0,Y.jsx)(p,{sx:on,children:o})}),(0,Y.jsx)(W,{sx:sn,children:(0,Y.jsx)(p,{sx:cn,children:e.name})}),(0,Y.jsxs)(W,{sx:ln,children:[q&&(0,Y.jsx)(p,{sx:un,children:t}),(0,Y.jsx)(p,{sx:un,children:n}),q&&(0,Y.jsxs)(p,{sx:un,children:[`0x`,r.toString(16).padStart(4,`0`)]})]})]})}function gn({filterPlugins:e,filterDevices:t}){let{online:n,sendMessage:r,addListener:i,removeListener:a,getUniqueId:o}=(0,G.useContext)(X),[s,c]=(0,G.useState)([]),[l,u]=(0,G.useState)({}),[d,f]=(0,G.useState)({}),[p,m]=(0,G.useState)({}),h=(0,G.useRef)(o()),g=(0,G.useCallback)(e=>{q&&console.log(`DevicesIcons received state_update "${e.response.cluster}.${e.response.attribute}" for "${e.response.id}:${e.response.number}": "${e.response.value}"`,e.response);let t=s.find(t=>t.pluginName===e.response.plugin&&t.serial===e.response.serialNumber);if(!t){q&&console.warn(`DevicesIcons updater device of plugin "${e.response.plugin}" serial "${e.response.serialNumber}" number "${e.response.number}" id "${e.response.id}" not found in devices(${s.length})`);return}let n=p[t.serial]?.find(t=>t.endpoint===e.response.number.toString()&&t.clusterName===e.response.cluster&&t.attributeName===e.response.attribute);if(!n){q&&console.warn(`DevicesIcons updater device "${t.name}" serial "${t.serial}" cluster "${e.response.cluster}" attribute "${e.response.attribute}" not found in clusters(${p[t.serial]?.length})`);return}n.attributeValue=String(e.response.value),n.attributeLocalValue=e.response.value,m({...p}),q&&console.log(`DevicesIcons updated "${n.clusterName}.${n.attributeName}" for device "${t.name}" serial "${t.serial}" to "${n.attributeValue}"`)},[p,s]),_=(0,G.useCallback)(e=>{if(q&&console.log(`DevicesIcons received for device "${e.response.deviceName}" serial "${e.response.serialNumber}" deviceTypes (${e.response.deviceTypes.length}) "${e.response.deviceTypes.join(`,`)}" clusters (${e.response.clusters.length}):`,e.response),e.response.clusters.length===0)return;let t=e.response.serialNumber;l[t]=[],d[t]=e.response.deviceTypes,p[t]=[];for(let n of e.response.clusters)l[t].find(e=>e.endpoint===n.endpoint)||l[t].push({endpoint:n.endpoint,id:n.id,deviceTypes:n.deviceTypes}),![`FixedLabel`,`Identify`,`Groups`,`PowerTopology`].includes(n.clusterName)&&p[t].push(n);u({...l}),f({...d}),m({...p}),q&&console.log(`DevicesIcons endpoints for "${t}":`,l[t]),q&&console.log(`DevicesIcons deviceTypes for "${t}":`,d[t]),q&&console.log(`DevicesIcons clusters for "${t}":`,p[t])},[p,d,l]);(0,G.useEffect)(()=>{let e=e=>{if(q&&console.log(`DevicesIcons received WebSocket Message:`,e),e.method===`refresh_required`)q&&console.log(`DevicesIcons received refresh_required: changed=${e.response.changed} and sending api requests`),r({id:h.current,sender:`DevicesIcons`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}});else if(e.method===`state_update`&&e.response)g(e);else if(e.method===`/api/devices`&&e.response){q&&console.log(`DevicesIcons received ${e.response.length} devices:`,e.response),c(e.response),u({}),f({}),m({});for(let t of e.response)q&&console.log(`DevicesIcons sending /api/clusters`),r({id:h.current,sender:`DevicesIcons`,method:`/api/clusters`,src:`Frontend`,dst:`Matterbridge`,params:{plugin:t.pluginName,endpoint:t.endpoint||0,serialNumber:t.serial}})}else e.method===`/api/clusters`&&e.response&&_(e)};return i(e,h.current),q&&console.log(`DevicesIcons WebSocket effect mounted`),()=>{a(e),q&&console.log(`DevicesIcons WebSocket effect unmounted`)}},[s]),(0,G.useEffect)(()=>(q&&console.log(`DevicesIcons useEffect online mounting`),n&&(q&&console.log(`DevicesIcons useEffect online sending api requests`),r({id:h.current,sender:`DevicesIcons`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}})),q&&console.log(`DevicesIcons useEffect online mounted`),()=>{q&&console.log(`DevicesIcons useEffect online unmounted`)}),[n,r]);let v=(0,G.memo)(hn),y=e?.trim().toLowerCase(),b=y&&y!==`all plugins`;return q&&console.log(`DevicesIcons rendering...`),(0,Y.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,paddingBottom:`5px`,gap:`20px`,width:`100%`,overflow:`auto`},children:s.filter(e=>b&&e.pluginName.toLowerCase()!==y?!1:t===``||e.name.toLowerCase().includes(t.toLowerCase())||e.serial.toLowerCase().includes(t.toLowerCase())).map(e=>l[e.serial]&&l[e.serial].map(t=>t.deviceTypes.map(n=>(0,Y.jsx)(v,{device:e,endpoint:t.endpoint,id:t.id,deviceType:n,clusters:p[e.serial].filter(e=>e.endpoint===t.endpoint)},`${e.pluginName}-${e.uniqueId}-${t.endpoint}-${t.id}-${n.toString()}`))))})}var _n=(0,G.memo)(gn);function vn(e){return e?e.scrollWidth>e.clientWidth:!1}function yn({title:e,children:t}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)(!1);return(0,Y.jsx)(H,{title:e,open:r,disableHoverListener:!0,disableFocusListener:!0,disableTouchListener:!0,slotProps:{tooltip:{sx:{fontSize:`14px`,fontWeight:`normal`,color:`#ffffff`,backgroundColor:`var(--primary-color)`}}},children:(0,Y.jsx)(`span`,{ref:n,onMouseEnter:()=>{i(vn(n.current))},onMouseLeave:()=>{i(!1)},style:{display:`inline-block`,maxWidth:`100%`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t})})}function bn(e,t,n){let r=e?.[n],i=t?.[n];return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`boolean`&&typeof i==`boolean`?r===i?0:r?1:-1:typeof r==`number`&&typeof i==`number`?r-i:String(r).localeCompare(String(i))}function xn({name:e,title:t,columns:n,rows:r,getRowKey:i,footerLeft:a,footerRight:o,onRowClick:s}){let c=(0,G.useRef)(new WeakMap),l=(0,G.useRef)(1),u=t=>{if(typeof i==`string`&&t&&t[i]!=null)return t[i];if(typeof i==`function`){let e=i(t);if(e!=null)return e}let r=n?.[0]?.id;if(r&&t&&t[r]!=null)return t[r];console.warn(`MbfTable(${e}): using fallback stable row key; consider providing getRowKey prop for better React performance`);let a=c.current.get(t);return a||(a=`rk_${l.current++}`,c.current.set(t,a)),a},[f,p]=(0,G.useState)(localStorage.getItem(`${e}_table_order_by`)||null),[m,h]=(0,G.useState)(localStorage.getItem(`${e}_table_order`)||null),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(()=>{try{let t=localStorage.getItem(`${e}_column_visibility`);if(t)return JSON.parse(t)}catch{}return{}}),b=(0,G.useMemo)(()=>{let e={};for(let t of n)t.hidden||(e[t.id]=t.required?!0:v[t.id]!==!1);return e},[n,v]),S=(0,G.useMemo)(()=>{if(!f||!m)return r;let e=n.find(e=>e.id===f);if(!e||e.noSort)return r;let t=r.map((e,t)=>({el:e,index:t}));return t.sort((t,n)=>{let r;return r=typeof e.comparator==`function`?e.comparator(t.el,n.el):bn(t.el,n.el,f),r===0?t.index-n.index:m===`asc`?r:-r}),t.map(e=>e.el)},[r,f,m,n]),C=t=>{if(f!==t||!f){p(t),h(`asc`),localStorage.setItem(`${e}_table_order_by`,t),localStorage.setItem(`${e}_table_order`,`asc`);return}if(m===`asc`){h(`desc`),localStorage.setItem(`${e}_table_order`,`desc`);return}p(null),h(null),localStorage.removeItem(`${e}_table_order_by`),localStorage.removeItem(`${e}_table_order`)},w=()=>{_(!g)},E=t=>{y(r=>{let i=n.find(e=>e.id===t);if(i&&i.required)return r;let a=b[t]!==!1,o={...r};a?o[t]=!1:delete o[t];try{localStorage.setItem(`${e}_column_visibility`,JSON.stringify(o))}catch{}return o})},O=()=>{y({});try{localStorage.removeItem(`${e}_column_visibility`)}catch{}_(!1)},[k,A]=(0,G.useState)(!1);return k?null:(q&&console.log(`Rendering table ${e}${f&&m?` ordered by ${f}:${m}`:``}`),(0,Y.jsxs)(`div`,{style:{flex:`1 1 auto`,display:`flex`,flexDirection:`column`,margin:`0`,padding:`0`,gap:`0`,width:`100%`,height:`100%`,overflow:`hidden`},children:[(0,Y.jsxs)(D,{open:g,onClose:(e,t)=>{t===`backdropClick`||t===`escapeKeyDown`||w()},disableEscapeKeyDown:!0,disableRestoreFocus:!0,children:[(0,Y.jsx)(P,{gap:`20px`,children:(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`20px`},children:[(0,Y.jsx)(`img`,{src:`matterbridge.svg`,alt:`Matterbridge Logo`,style:{height:`32px`,width:`32px`}}),(0,Y.jsx)(`h4`,{style:{margin:0},children:`Configure ${e} columns`})]})}),(0,Y.jsx)(I,{children:(0,Y.jsx)(Le,{children:n.filter(e=>!e.hidden).map(e=>(0,Y.jsx)(d,{control:(0,Y.jsx)(M,{disabled:!!e.required,checked:e.required?!0:b[e.id]!==!1,onChange:()=>E(e.id)}),label:e.label},e.id))})}),(0,Y.jsxs)(x,{children:[(0,Y.jsx)(L,{onClick:O,children:`Reset`}),(0,Y.jsx)(L,{variant:`contained`,onClick:e=>{if(e?.currentTarget&&typeof e.currentTarget.blur==`function`)try{e.currentTarget.blur()}catch{}let t=document.activeElement;if(t&&t instanceof HTMLElement&&typeof t.blur==`function`)try{t.blur()}catch{}w()},children:`Close`})]})]}),(0,Y.jsxs)(qt,{style:{height:`30px`,minHeight:`30px`,justifyContent:`space-between`,borderBottom:`none`},children:[(0,Y.jsx)(Jt,{children:e}),t&&(0,Y.jsx)(Jt,{children:t}),(0,Y.jsx)($t,{close:()=>A(!0),children:(0,Y.jsx)(T,{size:`small`,sx:{color:`var(--header-text-color)`,margin:`0px`,padding:`0px`},onClick:e=>{if(e?.currentTarget?.blur)try{e.currentTarget.blur()}catch{}w()},"aria-label":`Configure Columns`,children:(0,Y.jsx)(H,{title:`Configure ${e} columns`,children:(0,Y.jsx)(Z.Icon,{path:pt,size:`20px`,color:`var(--header-text-color)`})})})})]}),(0,Y.jsx)(Qt,{style:{flex:`1 1 auto`,display:`flex`,flexDirection:`column`,minHeight:0,width:`100%`,overflow:`auto`,margin:`0px`,padding:`0px`,gap:`0`},children:(0,Y.jsxs)(`table`,{"aria-label":`${e} table`,style:{width:`100%`,borderCollapse:`collapse`},children:[(0,Y.jsx)(`thead`,{style:{position:`sticky`,top:0,zIndex:10,border:`none`,color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color`},children:(0,Y.jsx)(`tr`,{style:{height:`30px`,minHeight:`30px`},children:n.map(e=>{if(e.hidden||!e.required&&b[e.id]===!1)return null;let t=!e.noSort,n=t&&f===e.id&&!!m;return(0,Y.jsxs)(`th`,{onClick:t?()=>C(e.id):void 0,style:{margin:`0`,padding:`5px 10px`,position:`sticky`,top:0,minWidth:e.minWidth,maxWidth:e.maxWidth,textAlign:e.align||`left`,cursor:t?`pointer`:`default`,border:`none`,color:`var(--header-text-color)`,backgroundColor:`var(--header-bg-color)`,whiteSpace:e.maxWidth?`nowrap`:void 0,overflow:e.maxWidth?`hidden`:void 0,textOverflow:e.maxWidth?`ellipsis`:void 0},"aria-sort":t?n?m===`asc`?`ascending`:`descending`:`none`:void 0,children:[e.label,n&&(0,Y.jsxs)(`span`,{style:{marginLeft:6},children:[m===`asc`&&(0,Y.jsx)(Z.Icon,{path:`M19 17H22L18 21L14 17H17V3H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z`,size:`15px`}),m===`desc`&&(0,Y.jsx)(Z.Icon,{path:`M19 7H22L18 3L14 7H17V21H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z`,size:`15px`})]})]},e.id)})})}),(0,Y.jsx)(`tbody`,{children:S.map((e,t)=>{let r=u(e);return(0,Y.jsx)(`tr`,{className:t%2==0?`table-content-even`:`table-content-odd`,onClick:s?t=>s(e,r,t):void 0,style:{height:`30px`,minHeight:`30px`,border:`none`,borderCollapse:`collapse`,cursor:s?`pointer`:void 0},children:n.map(t=>{if(t.hidden||!t.required&&b[t.id]===!1)return null;let n=e[t.id],i=typeof t.render==`function`?t.render(n,r,e,t):typeof n==`boolean`?(0,Y.jsx)(M,{checked:n,disabled:!0,size:`small`,sx:{m:0,p:0,color:`var(--table-text-color)`,"&.Mui-disabled":{color:`var(--table-text-color)`,opacity:.7}}}):t.format&&typeof n==`number`?t.format(n):n==null?null:String(n),a=t.tooltip&&t.maxWidth!==void 0&&t.maxWidth!==null&&n!=null&&i!==null?(0,Y.jsx)(yn,{title:String(n),children:i}):i;return(0,Y.jsx)(`td`,{style:{border:`none`,borderCollapse:`collapse`,textAlign:t.align||`left`,padding:`5px 10px`,margin:`0`,maxWidth:t.maxWidth,whiteSpace:t.maxWidth?`nowrap`:void 0,overflow:t.maxWidth?`hidden`:void 0,textOverflow:t.maxWidth?`ellipsis`:void 0},children:a},t.id)})},r)})})]})}),(a||o)&&(0,Y.jsxs)(Yt,{style:{height:`30px`,minHeight:`30px`,justifyContent:`space-between`,border:`none`},children:[(0,Y.jsx)(Xt,{style:{fontSize:`14px`,fontWeight:`normal`,color:`var(--secondary-color)`},children:a}),(0,Y.jsx)(Xt,{style:{fontSize:`14px`,fontWeight:`normal`,color:`var(--secondary-color)`},children:o})]})]}))}function Sn(e){return(0,G.memo)(e)}var Cn=Sn(xn),wn=[{label:`Plugin name`,id:`pluginName`,required:!0},{label:`Device type`,id:`type`},{label:`Endpoint`,id:`endpoint`,align:`right`},{label:`Name`,id:`name`,required:!0},{label:`Serial number`,id:`serial`},{label:`Unique ID`,id:`uniqueId`},{label:`Url`,id:`configUrl`},{label:`Config`,id:`configButton`,noSort:!0,render:(e,t,n,r)=>n.configUrl?(0,Y.jsx)(T,{onClick:()=>window.open(n.configUrl,`_blank`),"aria-label":`Open Config`,sx:{margin:0,padding:0},children:(0,Y.jsx)(b,{fontSize:`small`})}):null},{label:`Cluster`,id:`cluster`}],Tn=[{label:`Endpoint`,id:`endpoint`,required:!0},{label:`Id`,id:`id`},{label:`Device Types`,id:`deviceTypes`,render:(e,t,n,r)=>Array.isArray(e)?(0,Y.jsx)(Y.Fragment,{children:e.map(e=>`0x${e.toString(16).padStart(4,`0`)}`).join(`, `)}):(0,Y.jsx)(Y.Fragment,{children:e})},{label:`Cluster Name`,id:`clusterName`,required:!0},{label:`Cluster ID`,id:`clusterId`},{label:`Attribute Name`,id:`attributeName`,required:!0},{label:`Attribute ID`,id:`attributeId`},{label:`Attribute Value`,id:`attributeValue`,required:!0,maxWidth:350,tooltip:!0}],En=e=>`${e.pluginName}::${e.uniqueId}`,Dn=e=>`${e.endpoint}::${e.clusterName}::${e.attributeName}`;function On({filterPlugins:e,filterDevices:t}){let{online:n,sendMessage:r,addListener:i,removeListener:a,getUniqueId:o}=(0,G.useContext)(X),[s,c]=(0,G.useState)([]),[l,u]=(0,G.useState)(s),[d,f]=(0,G.useState)([]),[p,m]=(0,G.useState)(0),[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(null),[x,S]=(0,G.useState)(null),C=(0,G.useRef)(o()),w=(0,G.useRef)(l),T=(0,G.useCallback)(e=>{q&&console.log(`DevicesTable received state_update "${e.response.cluster}.${e.response.attribute}" for "${e.response.id}:${e.response.number}": "${e.response.value}"`,e.response);let t=w.current.find(t=>t.pluginName===e.response.plugin&&t.uniqueId===e.response.uniqueId);if(!t){q&&console.warn(`DevicesTable updater device of plugin "${e.response.plugin}" serial "${e.response.serialNumber}" not found in filteredDevicesRef.current`);return}if(h&&_&&t.pluginName===h&&t.uniqueId===x&&e.response.number.toString()===_){let n=d.find(t=>t.endpoint===e.response.number.toString()&&t.clusterName===e.response.cluster&&t.attributeName===e.response.attribute);if(!n){q&&console.warn(`DevicesTable updater cluster ${e.response.cluster}.${e.response.attribute} for device "${t.name}" serial "${t.serial}" not found in clusters`);return}n.attributeValue=typeof e.response.value==`object`?JSON.stringify(e.response.value,void 0,1).replaceAll(`"`,``):String(e.response.value),n.attributeLocalValue=e.response.value,f([...d]),q&&console.log(`DevicesTable updated attribute ${n.clusterName}.${n.attributeName} for device "${t.name}" serial "${t.serial}" to "${n.attributeValue}"`)}},[d,_,h,x]);return(0,G.useEffect)(()=>{let e=e=>{if(q&&console.log(`DevicesTable received WebSocket Message:`,e),e.method===`refresh_required`&&e.response.changed===`devices`)q&&console.log(`DevicesTable received refresh_required: changed=${e.response.changed} and sending /api/devices request`),r({id:C.current,sender:`DevicesTable`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}});else if(e.method===`state_update`&&e.response)T(e);else if(e.method===`/api/devices`)q&&console.log(`DevicesTable received ${e.response.length} devices:`,e.response),c(e.response);else if(e.method===`/api/clusters`){q&&console.log(`DevicesTable received ${e.response.clusters.length} clusters for plugin ${e.response.plugin}:`,e.response),f(e.response.clusters);let t={};for(let n of e.response.clusters)q&&console.log(`Cluster:`,n.endpoint),t[n.endpoint]?t[n.endpoint]++:t[n.endpoint]=1;m(Object.keys(t).length)}};return i(e,C.current),q&&console.log(`DevicesTable added WebSocket listener`),()=>{a(e),q&&console.log(`DevicesTable removed WebSocket listener`)}},[r,i,a,T]),(0,G.useEffect)(()=>{n&&(q&&console.log(`DevicesTable sending api requests with id `,C.current),r({id:C.current,sender:`DevicesTable`,method:`/api/settings`,src:`Frontend`,dst:`Matterbridge`,params:{}}),r({id:C.current,sender:`DevicesTable`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}}),r({id:C.current,sender:`DevicesTable`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}}))},[n,r]),(0,G.useEffect)(()=>{h&&_&&x&&(q&&console.log(`DevicesTable sending /api/clusters`),r({id:C.current,sender:`DevicesTable`,method:`/api/clusters`,src:`Frontend`,dst:`Matterbridge`,params:{plugin:h,endpoint:Number(_),uniqueId:x}}))},[h,_,x,r]),(0,G.useEffect)(()=>{let n=e?.trim().toLowerCase(),r=n&&n!==`all plugins`,i=s;r&&(i=i.filter(e=>e.pluginName.toLowerCase()===n)),t!==``&&(i=i.filter(e=>e.name.toLowerCase().includes(t.toLowerCase())||e.serial.toLowerCase().includes(t.toLowerCase()))),u(i),w.current=i},[s,e,t]),q&&console.log(`DevicesTable rendering...`),n?(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,margin:`0px`,padding:`0px`,gap:`20px`,width:`100%`,overflow:`hidden`},children:[(0,Y.jsx)(Q,{style:{margin:`0px`,padding:`0px`,gap:`0px`,width:`100%`,maxHeight:h&&_?`30%`:`100%`,flex:`1 1 auto`,overflow:`hidden`},children:(0,Y.jsx)(Cn,{name:`Registered devices`,getRowKey:En,onRowClick:e=>{if(e.uniqueId===x){S(null),g(null),v(null),b(null);return}q&&console.log(`DevicesTable handleDeviceClick: selected device "${e.name}" with uniqueId "${e.uniqueId}", plugin "${e.pluginName}", endpoint "${e.endpoint}"`),S(e.uniqueId),g(e.pluginName),v(e.endpoint?e.endpoint.toString():null),b(e.name)},rows:l,columns:wn,footerLeft:`Total devices: ${l.length.toString()}`})}),h&&_&&(0,Y.jsx)(Q,{style:{margin:`0px`,padding:`0px`,gap:`0px`,width:`100%`,height:`70%`,maxHeight:`70%`,flex:`1 1 auto`,overflow:`hidden`},children:(0,Y.jsx)(Cn,{name:`Clusters`,title:y||``,getRowKey:Dn,rows:d,columns:Tn,footerLeft:`Total child endpoints: ${p-1}`})})]}):(0,Y.jsx)(Kt,{})}var kn=(0,G.memo)(On);function An({children:e,style:t,name:n}){let{setCurrentPage:r}=(0,G.useContext)(Ut);return r(n),q&&console.log(`MbfPage: current page set to ${n}`),(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`,margin:`0px`,padding:`0px`,gap:`20px`,...t},children:e})}function jn(){let{online:e,sendMessage:t,addListener:n,removeListener:r,getUniqueId:i}=(0,G.useContext)(X),[a,o]=(0,G.useState)([`All plugins`]),[s,c]=(0,G.useState)(`All plugins`),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`icon`),m=(0,G.useRef)(i());(0,G.useEffect)(()=>{let e=localStorage.getItem(K.devicesFilterPlugins);e&&c(e)},[]),(0,G.useEffect)(()=>{let e=localStorage.getItem(K.devicesFilterDevices);e&&u(e)},[]),(0,G.useEffect)(()=>{let e=localStorage.getItem(K.devicesViewMode);e&&f(e)},[]),(0,G.useEffect)(()=>{let e=e=>{q&&e.id&&console.log(`Devices received WebSocket Message:`,e),e.method===`refresh_required`&&e.response.changed===`plugins`&&!e.response.lock?(q&&console.log(`Devices received refresh_required for plugins lock=${e.response.lock}, sending /api/plugins request with id ${m.current}`),t({id:m.current,sender:`Devices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}})):e.method===`/api/plugins`&&e.id===m.current&&e.response&&(q&&console.log(`Devices received ${e.response.length} plugins:`,e.response),o([`All plugins`,...e.response.map(e=>e.name)]))};return n(e,m.current),q&&console.log(`Devices added WebSocket listener`),()=>{r(e),q&&console.log(`Devices removed WebSocket listener`)}},[t,n,r]),(0,G.useEffect)(()=>{e&&(q&&console.log(`Devices sending /api/plugins request with id `,m.current),t({id:m.current,sender:`Devices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}}))},[e,t]);let h=e=>{let t=e.target.value;c(t),localStorage.setItem(K.devicesFilterPlugins,t)},g=e=>{u(e.target.value),localStorage.setItem(K.devicesFilterDevices,e.target.value)},_=()=>{u(``),localStorage.removeItem(K.devicesFilterDevices)},v=e=>{f(e),localStorage.setItem(K.devicesViewMode,e)};return q&&console.log(`Devices rendering...`),e?(0,Y.jsxs)(An,{name:`Devices`,children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,flexWrap:`wrap`,justifyContent:`space-between`,padding:0,margin:0,gap:`20px`,width:`100%`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`,flexWrap:`wrap`,justifyContent:`space-between`,padding:0,margin:0,gap:`20px`},children:[(0,Y.jsxs)(W,{sx:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`10px`},children:[(0,Y.jsx)(p,{sx:{fontSize:`16px`,fontWeight:`normal`,color:`var(--div-text-color)`,marginLeft:`5px`,whiteSpace:`nowrap`},children:`Plugin:`}),(0,Y.jsx)(H,{title:`Filter devices by plugin`,children:(0,Y.jsx)(R,{variant:`outlined`,value:s,onChange:h,sx:{width:`260px`,backgroundColor:`var(--main-bg-color)`,"& .MuiOutlinedInput-root":{backgroundColor:`var(--main-bg-color)`},"& .MuiSelect-select":{backgroundColor:`var(--main-bg-color)`},"& .MuiSelect-icon":{color:`var(--main-label-color)`}},input:(0,Y.jsx)(rt,{sx:{backgroundColor:`var(--main-bg-color)`}}),children:a.map(e=>(0,Y.jsx)(V,{value:e,children:e},e))})})]}),(0,Y.jsxs)(W,{sx:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`10px`},children:[(0,Y.jsx)(p,{sx:{fontSize:`16px`,fontWeight:`normal`,color:`var(--div-text-color)`,marginLeft:`5px`,whiteSpace:`nowrap`},children:`Filter by:`}),(0,Y.jsx)(H,{title:`Filter devices by name or serial number`,children:(0,Y.jsx)(B,{variant:`outlined`,value:l,onChange:g,placeholder:`Enter the device name or serial`,sx:{width:`260px`,"& .MuiOutlinedInput-root":{backgroundColor:`var(--main-bg-color)`}},slotProps:{input:{endAdornment:l?(0,Y.jsx)(y,{position:`end`,children:(0,Y.jsx)(T,{"aria-label":`Clear device filter`,size:`small`,onClick:_,edge:`end`,children:(0,Y.jsx)(Ee,{sx:{fontSize:18,color:`var(--main-label-color)`}})})}):null}}})})]})]}),(0,Y.jsxs)(W,{sx:{display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`10px`},children:[(0,Y.jsx)(p,{sx:{fontSize:`16px`,fontWeight:`normal`,color:`var(--div-text-color)`,marginLeft:`5px`,whiteSpace:`nowrap`},children:`View mode:`}),(0,Y.jsx)(T,{onClick:()=>v(`table`),"aria-label":`Table View`,disabled:d===`table`,children:(0,Y.jsx)(H,{title:`Table View`,children:(0,Y.jsx)(tt,{style:{color:d===`table`?`var(--main-icon-color)`:`var(--primary-color)`}})})}),(0,Y.jsx)(T,{onClick:()=>v(`icon`),"aria-label":`Icon View`,disabled:d===`icon`,children:(0,Y.jsx)(H,{title:`Icon View (beta)`,children:(0,Y.jsx)(ze,{style:{color:d===`icon`?`var(--main-icon-color)`:`var(--primary-color)`}})})})]})]}),d===`table`&&(0,Y.jsx)(kn,{filterPlugins:s,filterDevices:l}),d===`icon`&&(0,Y.jsx)(_n,{filterPlugins:s,filterDevices:l})]}):(0,Y.jsx)(Kt,{})}var Mn=(0,G.memo)(jn);function Nn({version:e}){let{online:t}=(0,G.useContext)(X);return q&&console.log(`HomeBrowserRefresh rendering...`),t?(0,Y.jsxs)(Q,{children:[(0,Y.jsx)(qt,{children:(0,Y.jsx)(Jt,{children:`Frontend Update`})}),(0,Y.jsxs)(Qt,{style:{flexDirection:`row`,flexWrap:`wrap`,justifyContent:`space-between`,alignItems:`center`},children:[(0,Y.jsxs)(`h4`,{style:{margin:0},children:[`The frontend has been updated to version `,e,`. You are viewing an outdated web UI. Please refresh the page now.`]}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(L,{onClick:()=>window.location.reload(),endIcon:(0,Y.jsx)(re,{}),style:{marginLeft:`10px`,color:`var(--main-button-color)`,backgroundColor:`var(--main-button-bg-color)`,height:`30px`},children:`Refresh`})})]})]}):(0,Y.jsx)(Kt,{})}var Pn=(0,G.memo)(Nn);function Fn(e){if(q&&console.log(`getQRColor (id: ${e?.id}) received matter:`,e??`undefined`),e===void 0||!e.online||!e.qrPairingCode&&!e.manualPairingCode&&!e.fabricInformations&&!e.sessionInformations)return`red`;if(!e.commissioned&&e.qrPairingCode&&e.manualPairingCode)return`var(--primary-color)`;let t=0,n=0;for(let r of e.sessionInformations??[])r.fabric&&r.isPeerActive&&t++,r.numberOfActiveSubscriptions>0&&(n+=r.numberOfActiveSubscriptions);return e.commissioned&&e.fabricInformations&&e.sessionInformations&&(t===0||n===0)?`var(--secondary-color)`:`var(--div-text-color)`}var In=e=>`${e.pluginName}::${e.serial}`;function Ln({storeId:e,setStoreId:t}){let{online:n,sendMessage:r,addListener:i,removeListener:a,getUniqueId:o}=(0,G.useContext)(X),{mobile:s}=(0,G.useContext)(Ut),[c,l]=(0,G.useState)(!1),[u,d]=(0,G.useState)(!0),[f,p]=(0,G.useState)(null),[m,h]=(0,G.useState)([]),[g,_]=(0,G.useState)([]),[v,y]=(0,G.useState)([]),[S,C]=(0,G.useState)([]),[w,E]=(0,G.useState)(null),[O,k]=(0,G.useState)(`inactive`),A=(0,G.useRef)(o()),j=[{label:`Plugin`,id:`pluginName`},{label:`Name`,id:`name`,required:!0},{label:`Serial`,id:`serial`},{label:`Availability`,id:`availability`,render:(e,t,n,r)=>n.reachable===!0?`Online`:n.reachable===!1?(0,Y.jsx)(`span`,{style:{color:`red`},children:`Offline`}):``,comparator:(e,t)=>(e.reachable===!0?1:e.reachable===!1?0:-1)-(t.reachable===!0?1:t.reachable===!1?0:-1)},{label:`Power`,id:`powerSource`,render:(e,t,n,r)=>n.powerSource===`ac`||n.powerSource===`dc`?(0,Y.jsx)($e,{fontSize:`small`,sx:{color:`var(--primary-color)`}}):n.powerSource===`ok`?n.batteryLevel?(0,Y.jsx)(H,{title:`Battery level: ${n.batteryLevel}%`,children:(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`green`}})}):(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`gray`}}):n.powerSource===`warning`?n.batteryLevel?(0,Y.jsx)(H,{title:`Battery level: ${n.batteryLevel}%`,children:(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`yellow`}})}):(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`yellow`}}):n.powerSource===`critical`?n.batteryLevel?(0,Y.jsx)(H,{title:`Battery level: ${n.batteryLevel}%`,children:(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`red`}})}):(0,Y.jsx)(Ge,{fontSize:`small`,sx:{color:`red`}}):(0,Y.jsx)(`span`,{})},{label:`Actions`,id:`selected`,required:!0,render:(n,r,i,a)=>(0,Y.jsxs)(`div`,{style:{display:`flex`,flexDirection:`row`},children:[i.matter===void 0?(0,Y.jsx)(`div`,{style:{width:`20px`,height:`20px`}}):(0,Y.jsx)(H,{title:`Show the QRCode or the fabrics`,slotProps:{popper:{modifiers:[{name:`offset`,options:{offset:[30,15]}}]}},children:(0,Y.jsx)(T,{onClick:()=>t(e===i.matter?.id?f?.matterbridgeInformation.bridgeMode===`bridge`?`Matterbridge`:null:i.matter?.id||null),"aria-label":`Show the QRCode`,sx:{margin:0,padding:0,color:Fn(i.matter)},children:(0,Y.jsx)(te,{fontSize:`small`})})}),i.configUrl?(0,Y.jsx)(H,{title:`Open the configuration page`,slotProps:{popper:{modifiers:[{name:`offset`,options:{offset:[30,15]}}]}},children:(0,Y.jsx)(T,{onClick:()=>P(i),"aria-label":`Open config url`,sx:{margin:0,padding:0},children:(0,Y.jsx)(b,{fontSize:`small`})})}):(0,Y.jsx)(`div`,{style:{width:`20px`,height:`20px`}}),i.selected===void 0?(0,Y.jsx)(`div`,{style:{width:`20px`,height:`20px`}}):(0,Y.jsx)(H,{title:`Select/unselect the device`,slotProps:{popper:{modifiers:[{name:`offset`,options:{offset:[30,15]}}]}},children:(0,Y.jsx)(M,{checked:i.selected,onChange:e=>ee(e,i),sx:{margin:`0`,marginLeft:`8px`,padding:`0`},size:`small`})})]})}],N=(0,G.useCallback)(e=>{e.selected=void 0;let t=m.find(t=>t.name===e.pluginName);if(!t)return console.error(`HomeDevices isSelected: plugin ${e.pluginName} not found for device ${e.name} `),e.selected;let n=t.schemaJson?.properties?.whiteList?.selectFrom,r=t.configJson.postfix;return r===``&&(r=void 0),t.hasWhiteList===!0&&t.hasBlackList===!0&&n&&(e.selected=!0,n===`serial`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&t.configJson.whiteList.includes(r?e.serial.replace(`-`+r,``):e.serial)&&(e.selected=!0),n===`serial`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&!t.configJson.whiteList.includes(r?e.serial.replace(`-`+r,``):e.serial)&&(e.selected=!1),n===`serial`&&t.configJson.blackList&&t.configJson.blackList.length>0&&t.configJson.blackList.includes(r?e.serial.replace(`-`+r,``):e.serial)&&(e.selected=!1),n===`name`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&t.configJson.whiteList.includes(e.name)&&(e.selected=!0),n===`name`&&t.configJson.whiteList&&t.configJson.whiteList.length>0&&!t.configJson.whiteList.includes(e.name)&&(e.selected=!1),n===`name`&&t.configJson.blackList&&t.configJson.blackList.length>0&&t.configJson.blackList.includes(e.name)&&(e.selected=!1)),e.selected},[m]);(0,G.useEffect)(()=>{let e=e=>{if(q&&console.log(`HomeDevices received WebSocket Message:`,e),e.method===`refresh_required`&&e.response.changed!==`matter`?e.response.changed===`plugins`&&e.response.lock?q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} lock=${e.response.lock} skipping /api/plugins request`):(q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} and sending /api/plugins request`),r({id:A.current,sender:`HomeDevices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}})):e.method===`refresh_required`&&e.response.changed===`matter`?(q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} and setting matter id ${e.response.matter?.id}`),C(t=>{let n=t.findIndex(t=>t.name.replaceAll(` `,``)===e.response.matter?.id);if(n<0)return q&&console.debug(`HomeDevices: matter id ${e.response.matter?.id} not found`),t;let r=[...t];return r[n]={...r[n],matter:e.response.matter},q&&console.log(`HomeDevices received refresh_required: changed=${e.response.changed} and set matter id ${e.response.matter?.id}`),r})):e.method===`restart_required`?(q&&console.log(`HomeDevices received restart_required`),l(!0)):e.method===`restart_not_required`?(q&&console.log(`HomeDevices received restart_not_required`),l(!1)):e.method===`matterbridge_status_update`?(q&&console.log(`HomeDevices received matterbridge_status_update: ${e.response.status}`),k(e.response.status)):e.method===`state_update`&&e.response.plugin&&e.response.serialNumber&&e.response.cluster.includes(`BasicInformation`)&&e.response.attribute===`reachable`&&(q&&console.log(`HomeDevices updating device reachability for plugin ${e.response.plugin} serial ${e.response.serialNumber} value ${e.response.value}`),_(t=>{let n=t.findIndex(t=>t.pluginName===e.response.plugin&&t.serial===e.response.serialNumber);return n<0?(q&&console.warn(`HomeDevices: device to update not found for plugin ${e.response.plugin} serial ${e.response.serialNumber}`),t):(t[n]={...t[n],reachable:e.response.value},[...t])})),e.id===A.current&&e.method===`/api/settings`)q&&console.log(`HomeDevices (id: ${e.id}) received settings:`,e.response),p(e.response),l(e.response.matterbridgeInformation.restartRequired||e.response.matterbridgeInformation.fixedRestartRequired),k(e.response.matterbridgeInformation.bridgeStatus);else if(e.id===A.current&&e.method===`/api/plugins`){if(q&&console.log(`HomeDevices (id: ${e.id}) received ${e.response?.length} plugins:`,e.response),e.response){let t=!0;for(let n of e.response)n.enabled&&(n.loaded!==!0||n.started!==!0||n.error===!0)&&(t=!1);if(!t)return;q&&console.log(`HomeDevices reset plugins, devices and selectDevices`),d(!1),h(e.response),_([]),y([]),r({id:A.current,sender:`HomeDevices`,method:`/api/devices`,src:`Frontend`,dst:`Matterbridge`,params:{}}),q&&console.log(`HomeDevices sent /api/devices`);for(let t of e.response)t.enabled&&t.loaded===!0&&t.started===!0&&t.error!==!0&&(r({id:A.current,sender:`HomeDevices`,method:`/api/select/devices`,src:`Frontend`,dst:`Matterbridge`,params:{plugin:t.name}}),q&&console.log(`HomeDevices sent /api/select/devices for plugin: ${t.name}`))}}else if(e.id===A.current&&e.method===`/api/devices`){if(q&&console.log(`HomeDevices (id: ${e.id}) received ${e.response?.length} devices:`,e.response),e.response){for(let t of e.response)t.selected=N(t);_(e.response)}}else e.id===A.current&&e.method===`/api/select/devices`&&(q&&console.log(`HomeDevices (id: ${e.id}) received ${e.response?.length} selectDevices for plugin ${e.response&&e.response.length>0?e.response[0].pluginName:`without select devices`}:`,e.response),e.response&&e.response.length>0&&y(t=>{let n=t.filter(t=>t.pluginName!==e.response[0].pluginName),r=e.response.map(e=>({...e,selected:N(e)}));return[...n,...r]}))};return i(e,A.current),q&&console.log(`HomeDevices added WebSocket listener id ${A.current}`),()=>{a(e),q&&console.log(`HomeDevices removed WebSocket listener`)}},[m,i,a,r,N]),(0,G.useEffect)(()=>{if(g.length===0&&v.length===0){C([]);return}q&&console.log(`HomeDevices mixing devices (${g.length}) and selectDevices (${v.length})`);let e=[];for(let t of g)e.push(t);for(let t of v)g.find(e=>e.pluginName===t.pluginName&&e.serial.includes(t.serial))||e.push(t);e.length>0&&(C(e),q&&console.log(`HomeDevices mixed ${e.length} devices and selectDevices`))},[m,g,v,C]),(0,G.useEffect)(()=>{n&&(q&&console.log(`HomeDevices sending /api/settings and /api/plugins requests`),r({id:A.current,sender:`HomeDevices`,method:`/api/settings`,src:`Frontend`,dst:`Matterbridge`,params:{}}),r({id:A.current,sender:`HomeDevices`,method:`/api/plugins`,src:`Frontend`,dst:`Matterbridge`,params:{}}))},[n,r]);let ee=(e,t)=>{q&&console.log(`handleCheckboxChange: checkbox changed to ${e.target.checked} for device ${t.name} serial ${t.serial}`),g.findIndex(e=>e.pluginName===t.pluginName&&e.serial===t.serial)<0?(q&&console.warn(`handleCheckboxChange: device ${t.name} serial ${t.serial} not found in devices, trying in mixedDevices`),C(n=>{let r=n.findIndex(e=>e.pluginName===t.pluginName&&e.serial===t.serial);return r<0?(console.error(`handleCheckboxChange: device ${t.name} serial ${t.serial} not found in mixedDevices`),n):(n[r]={...n[r],selected:e.target.checked},[...n])})):_(n=>{let r=n.findIndex(e=>e.pluginName===t.pluginName&&e.serial===t.serial);return r<0?(console.error(`handleCheckboxChange: device ${t.name} serial ${t.serial} not found in devices`),n):(n[r]={...n[r],selected:e.target.checked},[...n])}),e.target.checked?r({id:A.current,sender:`HomeDevices`,method:`/api/command`,src:`Frontend`,dst:`Matterbridge`,params:{command:`selectdevice`,plugin:t.pluginName,serial:t.serial,name:t.name}}):r({id:A.current,sender:`HomeDevices`,method:`/api/command`,src:`Frontend`,dst:`Matterbridge`,params:{command:`unselectdevice`,plugin:t.pluginName,serial:t.serial,name:t.name}})},P=e=>{if(q&&console.log(`handleConfigUrl device:`,e.name,`configUrl:`,e.configUrl),e.configUrl)if(e.configUrl.startsWith(`/plugins/`)||e.configUrl.startsWith(`./plugins/`)){let t=`${Bt}${e.configUrl.replace(/^\.?\//,``)}`,n=t.endsWith(`/`)?t:`${t}/`;console.log(`handleConfigUrl opening plugin frontend for device:`,e.name,`basePath:`,Bt,`configUrl:`,e.configUrl,`computed pluginFrontendPath:`,n),E({name:e.name,path:n})}else window.open(e.configUrl,`_blank`)};return q&&console.log(`HomeDevices rendering...`),n?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Q,{style:{flex:`1 1 auto`},children:(0,Y.jsx)(Cn,{name:`Devices`,getRowKey:In,rows:S,columns:j,footerLeft:u?`Waiting for the plugins to fully load...`:`Registered devices: ${g.length.toString()}/${S.length.toString()}`,footerRight:c?`Restart required`:``})}),(0,Y.jsxs)(D,{open:w!==null,onClose:()=>E(null),slotProps:{paper:{sx:{width:J&&s?`100vw`:`75vw`,height:J&&s?`100vh`:`75vh`,maxWidth:J&&s?`100vw`:`75vw`,maxHeight:J&&s?`100vh`:`75vh`,margin:J&&s?`0px`:void 0,display:`flex`,flexDirection:`column`,overflow:`hidden`,backgroundColor:`var(--div-bg-color)`}}},children:[(0,Y.jsx)(I,{style:{display:`flex`,flex:`1 1 auto`,minHeight:0,padding:`0px`,margin:`0px`,overflow:`hidden`,backgroundColor:`var(--div-bg-color)`},children:w&&(0,Y.jsx)(`iframe`,{title:`${w.name} frontend`,src:w.path,onLoad:e=>{let t=e.currentTarget.contentDocument;if(!t?.head)return;let n=getComputedStyle(document.body),r=n.getPropertyValue(`--primary-color`).trim()||`#0d6efd`,i=n.getPropertyValue(`--div-bg-color`).trim()||`#111111`;t.getElementById(`matterbridge-plugin-scrollbar-style`)?.remove();let a=t.createElement(`style`);a.id=`matterbridge-plugin-scrollbar-style`,a.textContent=`
3
3
  html,
4
4
  body {
5
5
  background-color: ${i};
@@ -1 +1 @@
1
- import{a as e,t}from"./rolldown-runtime.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),r=t(((e,t)=>{t.exports=n()}));function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}var a=e(r());function o(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function s(e){var t=document.createElement(`style`);return t.setAttribute(`data-emotion`,e.key),e.nonce!==void 0&&t.setAttribute(`nonce`,e.nonce),t.appendChild(document.createTextNode(``)),t.setAttribute(`data-s`,``),t}var c=function(){function e(e){var t=this;this._insertTag=function(e){var n=t.tags.length===0?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling;t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=e.speedy===void 0?!0:e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(s(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=o(t);try{n.insertRule(e,n.cssRules.length)}catch{}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){return e.parentNode?.removeChild(e)}),this.tags=[],this.ctr=0},e}(),l=`-ms-`,u=`-moz-`,d=`-webkit-`,f=`comm`,p=`rule`,m=`decl`,h=`@import`,g=`@keyframes`,_=`@layer`,v=Math.abs,y=String.fromCharCode,b=Object.assign;function x(e,t){return E(e,0)^45?(((t<<2^E(e,0))<<2^E(e,1))<<2^E(e,2))<<2^E(e,3):0}function S(e){return e.trim()}function C(e,t){return(e=t.exec(e))?e[0]:e}function w(e,t,n){return e.replace(t,n)}function T(e,t){return e.indexOf(t)}function E(e,t){return e.charCodeAt(t)|0}function D(e,t,n){return e.slice(t,n)}function O(e){return e.length}function k(e){return e.length}function A(e,t){return t.push(e),e}function j(e,t){return e.map(t).join(``)}var M=1,N=1,P=0,F=0,I=0,L=``;function R(e,t,n,r,i,a,o){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:M,column:N,length:o,return:``}}function z(e,t){return b(R(``,null,null,``,null,null,0),e,{length:-e.length},t)}function ee(){return I}function te(){return I=F>0?E(L,--F):0,N--,I===10&&(N=1,M--),I}function B(){return I=F<P?E(L,F++):0,N++,I===10&&(N=1,M++),I}function V(){return E(L,F)}function H(){return F}function U(e,t){return D(L,e,t)}function W(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ne(e){return M=N=1,P=O(L=e),F=0,[]}function re(e){return L=``,e}function G(e){return S(U(F-1,K(e===91?e+2:e===40?e+1:e)))}function ie(e){for(;(I=V())&&I<33;)B();return W(e)>2||W(I)>3?``:` `}function ae(e,t){for(;--t&&B()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return U(e,H()+(t<6&&V()==32&&B()==32))}function K(e){for(;B();)switch(I){case e:return F;case 34:case 39:e!==34&&e!==39&&K(I);break;case 40:e===41&&K(e);break;case 92:B();break}return F}function oe(e,t){for(;B()&&e+I!==57&&!(e+I===84&&V()===47););return`/*`+U(t,F-1)+`*`+y(e===47?e:B())}function se(e){for(;!W(V());)B();return U(e,F)}function ce(e){return re(q(``,null,null,null,[``],e=ne(e),0,[0],e))}function q(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,b=``,x=i,S=a,C=r,D=b;g;)switch(m=v,v=B()){case 40:if(m!=108&&E(D,d-1)==58){T(D+=w(G(v),`&`,`&\f`),`&\f`)!=-1&&(_=-1);break}case 34:case 39:case 91:D+=G(v);break;case 9:case 10:case 13:case 32:D+=ie(m);break;case 92:D+=ae(H()-1,7);continue;case 47:switch(V()){case 42:case 47:A(ue(oe(B(),H()),t,n),c);break;default:D+=`/`}break;case 123*h:s[l++]=O(D)*_;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:_==-1&&(D=w(D,/\f/g,``)),p>0&&O(D)-d&&A(p>32?de(D+`;`,r,n,d-1):de(w(D,` `,``)+`;`,r,n,d-2),c);break;case 59:D+=`;`;default:if(A(C=le(D,t,n,l,u,i,s,b,x=[],S=[],d),a),v===123)if(u===0)q(D,t,C,C,x,a,d,s,S);else switch(f===99&&E(D,3)===110?100:f){case 100:case 108:case 109:case 115:q(e,C,C,r&&A(le(e,C,C,0,0,i,s,b,i,x=[],d),S),i,S,d,s,r?x:S);break;default:q(D,C,C,C,[``],S,0,s,S)}}l=u=p=0,h=_=1,b=D=``,d=o;break;case 58:d=1+O(D),p=m;default:if(h<1){if(v==123)--h;else if(v==125&&h++==0&&te()==125)continue}switch(D+=y(v),v*h){case 38:_=u>0?1:(D+=`\f`,-1);break;case 44:s[l++]=(O(D)-1)*_,_=1;break;case 64:V()===45&&(D+=G(B())),f=V(),u=d=O(b=D+=se(H())),v++;break;case 45:m===45&&O(D)==2&&(h=0)}}return a}function le(e,t,n,r,i,a,o,s,c,l,u){for(var d=i-1,f=i===0?a:[``],m=k(f),h=0,g=0,_=0;h<r;++h)for(var y=0,b=D(e,d+1,d=v(g=o[h])),x=e;y<m;++y)(x=S(g>0?f[y]+` `+b:w(b,/&\f/g,f[y])))&&(c[_++]=x);return R(e,t,n,i===0?p:s,c,l,u)}function ue(e,t,n){return R(e,t,n,f,y(ee()),D(e,2,-2),0)}function de(e,t,n,r){return R(e,t,n,m,D(e,0,r),D(e,r+1,-1),r)}function J(e,t){for(var n=``,r=k(e),i=0;i<r;i++)n+=t(e[i],i,e,t)||``;return n}function fe(e,t,n,r){switch(e.type){case _:if(e.children.length)break;case h:case m:return e.return=e.return||e.value;case f:return``;case g:return e.return=e.value+`{`+J(e.children,r)+`}`;case p:e.value=e.props.join(`,`)}return O(n=J(e.children,r))?e.return=e.value+`{`+n+`}`:``}function pe(e){var t=k(e);return function(n,r,i,a){for(var o=``,s=0;s<t;s++)o+=e[s](n,r,i,a)||``;return o}}function me(e){return function(t){t.root||(t=t.return)&&e(t)}}function he(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var ge=function(e,t,n){for(var r=0,i=0;r=i,i=V(),r===38&&i===12&&(t[n]=1),!W(i);)B();return U(e,F)},_e=function(e,t){var n=-1,r=44;do switch(W(r)){case 0:r===38&&V()===12&&(t[n]=1),e[n]+=ge(F-1,t,n);break;case 2:e[n]+=G(r);break;case 4:if(r===44){e[++n]=V()===58?`&\f`:``,t[n]=e[n].length;break}default:e[n]+=y(r)}while(r=B());return e},ve=function(e,t){return re(_e(ne(e),t))},ye=new WeakMap,be=function(e){if(!(e.type!==`rule`||!e.parent||e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;n.type!==`rule`;)if(n=n.parent,!n)return;if(!(e.props.length===1&&t.charCodeAt(0)!==58&&!ye.get(n))&&!r){ye.set(e,!0);for(var i=[],a=ve(t,i),o=n.props,s=0,c=0;s<a.length;s++)for(var l=0;l<o.length;l++,c++)e.props[c]=i[s]?a[s].replace(/&\f/g,o[l]):o[l]+` `+a[s]}}},xe=function(e){if(e.type===`decl`){var t=e.value;t.charCodeAt(0)===108&&t.charCodeAt(2)===98&&(e.return=``,e.value=``)}};function Se(e,t){switch(x(e,t)){case 5103:return d+`print-`+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return d+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return d+e+u+e+l+e+e;case 6828:case 4268:return d+e+l+e+e;case 6165:return d+e+l+`flex-`+e+e;case 5187:return d+e+w(e,/(\w+).+(:[^]+)/,d+`box-$1$2`+l+`flex-$1$2`)+e;case 5443:return d+e+l+`flex-item-`+w(e,/flex-|-self/,``)+e;case 4675:return d+e+l+`flex-line-pack`+w(e,/align-content|flex-|-self/,``)+e;case 5548:return d+e+l+w(e,`shrink`,`negative`)+e;case 5292:return d+e+l+w(e,`basis`,`preferred-size`)+e;case 6060:return d+`box-`+w(e,`-grow`,``)+d+e+l+w(e,`grow`,`positive`)+e;case 4554:return d+w(e,/([^-])(transform)/g,`$1`+d+`$2`)+e;case 6187:return w(w(w(e,/(zoom-|grab)/,d+`$1`),/(image-set)/,d+`$1`),e,``)+e;case 5495:case 3959:return w(e,/(image-set\([^]*)/,d+"$1$`$1");case 4968:return w(w(e,/(.+:)(flex-)?(.*)/,d+`box-pack:$3`+l+`flex-pack:$3`),/s.+-b[^;]+/,`justify`)+d+e+e;case 4095:case 3583:case 4068:case 2532:return w(e,/(.+)-inline(.+)/,d+`$1$2`)+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(O(e)-1-t>6)switch(E(e,t+1)){case 109:if(E(e,t+4)!==45)break;case 102:return w(e,/(.+:)(.+)-([^]+)/,`$1`+d+`$2-$3$1`+u+(E(e,t+3)==108?`$3`:`$2-$3`))+e;case 115:return~T(e,`stretch`)?Se(w(e,`stretch`,`fill-available`),t)+e:e}break;case 4949:if(E(e,t+1)!==115)break;case 6444:switch(E(e,O(e)-3-(~T(e,`!important`)&&10))){case 107:return w(e,`:`,`:`+d)+e;case 101:return w(e,/(.+:)([^;!]+)(;|!.+)?/,`$1`+d+(E(e,14)===45?`inline-`:``)+`box$3$1`+d+`$2$3$1`+l+`$2box$3`)+e}break;case 5936:switch(E(e,t+11)){case 114:return d+e+l+w(e,/[svh]\w+-[tblr]{2}/,`tb`)+e;case 108:return d+e+l+w(e,/[svh]\w+-[tblr]{2}/,`tb-rl`)+e;case 45:return d+e+l+w(e,/[svh]\w+-[tblr]{2}/,`lr`)+e}return d+e+l+e+e}return e}var Ce=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case m:e.return=Se(e.value,e.length);break;case g:return J([z(e,{value:w(e.value,`@`,`@`+d)})],r);case p:if(e.length)return j(e.props,function(t){switch(C(t,/(::plac\w+|:read-\w+)/)){case`:read-only`:case`:read-write`:return J([z(e,{props:[w(t,/:(read-\w+)/,`:`+u+`$1`)]})],r);case`::placeholder`:return J([z(e,{props:[w(t,/:(plac\w+)/,`:`+d+`input-$1`)]}),z(e,{props:[w(t,/:(plac\w+)/,`:`+u+`$1`)]}),z(e,{props:[w(t,/:(plac\w+)/,l+`input-$1`)]})],r)}return``})}}],we=function(e){var t=e.key;if(t===`css`){var n=document.querySelectorAll(`style[data-emotion]:not([data-s])`);Array.prototype.forEach.call(n,function(e){e.getAttribute(`data-emotion`).indexOf(` `)!==-1&&(document.head.appendChild(e),e.setAttribute(`data-s`,``))})}var r=e.stylisPlugins||Ce,i={},a,o=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll(`style[data-emotion^="`+t+` "]`),function(e){for(var t=e.getAttribute(`data-emotion`).split(` `),n=1;n<t.length;n++)i[t[n]]=!0;o.push(e)});var s,l=[be,xe],u,d=[fe,me(function(e){u.insert(e)})],f=pe(l.concat(r,d)),p=function(e){return J(ce(e),f)};s=function(e,t,n,r){u=n,p(e?e+`{`+t.styles+`}`:t.styles),r&&(m.inserted[t.name]=!0)};var m={key:t,sheet:new c({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:s};return m.sheet.hydrate(o),m},Te=t((e=>{var t=typeof Symbol==`function`&&Symbol.for,n=t?Symbol.for(`react.element`):60103,r=t?Symbol.for(`react.portal`):60106,i=t?Symbol.for(`react.fragment`):60107,a=t?Symbol.for(`react.strict_mode`):60108,o=t?Symbol.for(`react.profiler`):60114,s=t?Symbol.for(`react.provider`):60109,c=t?Symbol.for(`react.context`):60110,l=t?Symbol.for(`react.async_mode`):60111,u=t?Symbol.for(`react.concurrent_mode`):60111,d=t?Symbol.for(`react.forward_ref`):60112,f=t?Symbol.for(`react.suspense`):60113,p=t?Symbol.for(`react.suspense_list`):60120,m=t?Symbol.for(`react.memo`):60115,h=t?Symbol.for(`react.lazy`):60116,g=t?Symbol.for(`react.block`):60121,_=t?Symbol.for(`react.fundamental`):60117,v=t?Symbol.for(`react.responder`):60118,y=t?Symbol.for(`react.scope`):60119;function b(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:switch(e=e.type,e){case l:case u:case i:case o:case a:case f:return e;default:switch(e&&=e.$$typeof,e){case c:case d:case h:case m:case s:return e;default:return t}}case r:return t}}}function x(e){return b(e)===u}e.AsyncMode=l,e.ConcurrentMode=u,e.ContextConsumer=c,e.ContextProvider=s,e.Element=n,e.ForwardRef=d,e.Fragment=i,e.Lazy=h,e.Memo=m,e.Portal=r,e.Profiler=o,e.StrictMode=a,e.Suspense=f,e.isAsyncMode=function(e){return x(e)||b(e)===l},e.isConcurrentMode=x,e.isContextConsumer=function(e){return b(e)===c},e.isContextProvider=function(e){return b(e)===s},e.isElement=function(e){return typeof e==`object`&&!!e&&e.$$typeof===n},e.isForwardRef=function(e){return b(e)===d},e.isFragment=function(e){return b(e)===i},e.isLazy=function(e){return b(e)===h},e.isMemo=function(e){return b(e)===m},e.isPortal=function(e){return b(e)===r},e.isProfiler=function(e){return b(e)===o},e.isStrictMode=function(e){return b(e)===a},e.isSuspense=function(e){return b(e)===f},e.isValidElementType=function(e){return typeof e==`string`||typeof e==`function`||e===i||e===u||e===o||e===a||e===f||e===p||typeof e==`object`&&!!e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===d||e.$$typeof===_||e.$$typeof===v||e.$$typeof===y||e.$$typeof===g)},e.typeOf=b})),Ee=t(((e,t)=>{t.exports=Te()})),De=t(((e,t)=>{var n=Ee(),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};s[n.ForwardRef]=a,s[n.Memo]=o;function c(e){return n.isMemo(e)?o:s[e.$$typeof]||r}var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;function h(e,t,n){if(typeof t!=`string`){if(m){var r=p(t);r&&r!==m&&h(e,r,n)}var a=u(t);d&&(a=a.concat(d(t)));for(var o=c(e),s=c(t),g=0;g<a.length;++g){var _=a[g];if(!i[_]&&!(n&&n[_])&&!(s&&s[_])&&!(o&&o[_])){var v=f(t,_);try{l(e,_,v)}catch{}}}}return e}t.exports=h}));function Oe(e,t,n){var r=``;return n.split(` `).forEach(function(n){e[n]===void 0?n&&(r+=n+` `):t.push(e[n]+`;`)}),r}var ke=function(e,t,n){var r=e.key+`-`+t.name;n===!1&&e.registered[r]===void 0&&(e.registered[r]=t.styles)},Ae=function(e,t,n){ke(e,t,n);var r=e.key+`-`+t.name;if(e.inserted[t.name]===void 0){var i=t;do e.insert(t===i?`.`+r:``,i,e.sheet,!0),i=i.next;while(i!==void 0)}};function je(e){for(var t=0,n,r=0,i=e.length;i>=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Me={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Ne=/[A-Z]|^ms/g,Pe=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Fe=function(e){return e.charCodeAt(1)===45},Ie=function(e){return e!=null&&typeof e!=`boolean`},Le=he(function(e){return Fe(e)?e:e.replace(Ne,`-$&`).toLowerCase()}),Re=function(e,t){switch(e){case`animation`:case`animationName`:if(typeof t==`string`)return t.replace(Pe,function(e,t,n){return X={name:t,styles:n,next:X},t})}return Me[e]!==1&&!Fe(e)&&typeof t==`number`&&t!==0?t+`px`:t};function Y(e,t,n){if(n==null)return``;var r=n;if(r.__emotion_styles!==void 0)return r;switch(typeof n){case`boolean`:return``;case`object`:var i=n;if(i.anim===1)return X={name:i.name,styles:i.styles,next:X},i.name;var a=n;if(a.styles!==void 0){var o=a.next;if(o!==void 0)for(;o!==void 0;)X={name:o.name,styles:o.styles,next:X},o=o.next;return a.styles+`;`}return ze(e,t,n);case`function`:if(e!==void 0){var s=X,c=n(e);return X=s,Y(e,t,c)}break}var l=n;if(t==null)return l;var u=t[l];return u===void 0?l:u}function ze(e,t,n){var r=``;if(Array.isArray(n))for(var i=0;i<n.length;i++)r+=Y(e,t,n[i])+`;`;else for(var a in n){var o=n[a];if(typeof o!=`object`){var s=o;t!=null&&t[s]!==void 0?r+=a+`{`+t[s]+`}`:Ie(s)&&(r+=Le(a)+`:`+Re(a,s)+`;`)}else if(Array.isArray(o)&&typeof o[0]==`string`&&(t==null||t[o[0]]===void 0))for(var c=0;c<o.length;c++)Ie(o[c])&&(r+=Le(a)+`:`+Re(a,o[c])+`;`);else{var l=Y(e,t,o);switch(a){case`animation`:case`animationName`:r+=Le(a)+`:`+l+`;`;break;default:r+=a+`{`+l+`}`}}}return r}var Be=/label:\s*([^\s;{]+)\s*(;|$)/g,X;function Z(e,t,n){if(e.length===1&&typeof e[0]==`object`&&e[0]!==null&&e[0].styles!==void 0)return e[0];var r=!0,i=``;X=void 0;var a=e[0];a==null||a.raw===void 0?(r=!1,i+=Y(n,t,a)):i+=a[0];for(var o=1;o<e.length;o++)i+=Y(n,t,e[o]),r&&(i+=a[o]);Be.lastIndex=0;for(var s=``,c;(c=Be.exec(i))!==null;)s+=`-`+c[1];return{name:je(i)+s,styles:i,next:X}}var Ve=function(e){return e()},He=a.useInsertionEffect?a.useInsertionEffect:!1,Ue=He||Ve,We=He||a.useLayoutEffect,Ge=a.createContext(typeof HTMLElement<`u`?we({key:`css`}):null);Ge.Provider;var Ke=function(e){return(0,a.forwardRef)(function(t,n){return e(t,(0,a.useContext)(Ge),n)})},Q=a.createContext({}),qe={}.hasOwnProperty,Je=`__EMOTION_TYPE_PLEASE_DO_NOT_USE__`,Ye=function(e,t){var n={};for(var r in t)qe.call(t,r)&&(n[r]=t[r]);return n[Je]=e,n},Xe=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return ke(t,n,r),Ue(function(){return Ae(t,n,r)}),null},Ze=Ke(function(e,t,n){var r=e.css;typeof r==`string`&&t.registered[r]!==void 0&&(r=t.registered[r]);var i=e[Je],o=[r],s=``;typeof e.className==`string`?s=Oe(t.registered,o,e.className):e.className!=null&&(s=e.className+` `);var c=Z(o,void 0,a.useContext(Q));s+=t.key+`-`+c.name;var l={};for(var u in e)qe.call(e,u)&&u!==`css`&&u!==Je&&(l[u]=e[u]);return l.className=s,n&&(l.ref=n),a.createElement(a.Fragment,null,a.createElement(Xe,{cache:t,serialized:c,isStringTag:typeof i==`string`}),a.createElement(i,l))});De();var Qe=function(e,t){var n=arguments;if(t==null||!qe.call(t,`css`))return a.createElement.apply(void 0,n);var r=n.length,i=Array(r);i[0]=Ze,i[1]=Ye(e,t);for(var o=2;o<r;o++)i[o]=n[o];return a.createElement.apply(null,i)};(function(e){var t;t||=e.JSX||={}})(Qe||={});var $e=Ke(function(e,t){var n=e.styles,r=Z([n],void 0,a.useContext(Q)),i=a.useRef();return We(function(){var e=t.key+`-global`,n=new t.sheet.constructor({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),a=!1,o=document.querySelector(`style[data-emotion="`+e+` `+r.name+`"]`);return t.sheet.tags.length&&(n.before=t.sheet.tags[0]),o!==null&&(a=!0,o.setAttribute(`data-emotion`,e),n.hydrate([o])),i.current=[n,a],function(){n.flush()}},[t]),We(function(){var e=i.current,n=e[0];if(e[1]){e[1]=!1;return}r.next!==void 0&&Ae(t,r.next,!0),n.tags.length&&(n.before=n.tags[n.tags.length-1].nextElementSibling,n.flush()),t.insert(``,r,n,!1)},[t,r.name]),null});function et(){return Z([...arguments])}function tt(){var e=et.apply(void 0,arguments),t=`animation-`+e.name;return{name:t,styles:`@keyframes `+t+`{`+e.styles+`}`,anim:1,toString:function(){return`_EMO_`+this.name+`_`+this.styles+`_EMO_`}}}var nt=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,rt=he(function(e){return nt.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),it=function(e){return e!==`theme`},at=function(e){return typeof e==`string`&&e.charCodeAt(0)>96?rt:it},ot=function(e,t,n){var r;if(t){var i=t.shouldForwardProp;r=e.__emotion_forwardProp&&i?function(t){return e.__emotion_forwardProp(t)&&i(t)}:i}return typeof r!=`function`&&n&&(r=e.__emotion_forwardProp),r},st=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return ke(t,n,r),Ue(function(){return Ae(t,n,r)}),null},ct=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,s,c;n!==void 0&&(s=n.label,c=n.target);var l=ot(t,n,r),u=l||at(o),d=!u(`as`);return function(){var f=arguments,p=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(s!==void 0&&p.push(`label:`+s+`;`),f[0]==null||f[0].raw===void 0)p.push.apply(p,f);else{var m=f[0];p.push(m[0]);for(var h=f.length,g=1;g<h;g++)p.push(f[g],m[g])}var _=Ke(function(e,t,n){var r=d&&e.as||o,i=``,s=[],f=e;if(e.theme==null){for(var m in f={},e)f[m]=e[m];f.theme=a.useContext(Q)}typeof e.className==`string`?i=Oe(t.registered,s,e.className):e.className!=null&&(i=e.className+` `);var h=Z(p.concat(s),t.registered,f);i+=t.key+`-`+h.name,c!==void 0&&(i+=` `+c);var g=d&&l===void 0?at(r):u,_={};for(var v in e)d&&v===`as`||g(v)&&(_[v]=e[v]);return _.className=i,n&&(_.ref=n),a.createElement(a.Fragment,null,a.createElement(st,{cache:t,serialized:h,isStringTag:typeof r==`string`}),a.createElement(r,_))});return _.displayName=s===void 0?`Styled(`+(typeof o==`string`?o:o.displayName||o.name||`Component`)+`)`:s,_.defaultProps=t.defaultProps,_.__emotion_real=_,_.__emotion_base=o,_.__emotion_styles=p,_.__emotion_forwardProp=l,Object.defineProperty(_,"toString",{value:function(){return`.`+c}}),_.withComponent=function(t,r){return e(t,i({},n,r,{shouldForwardProp:ot(_,r,!0)})).apply(void 0,p)},_}},lt=`a.abbr.address.area.article.aside.audio.b.base.bdi.bdo.big.blockquote.body.br.button.canvas.caption.cite.code.col.colgroup.data.datalist.dd.del.details.dfn.dialog.div.dl.dt.em.embed.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.iframe.img.input.ins.kbd.keygen.label.legend.li.link.main.map.mark.marquee.menu.menuitem.meta.meter.nav.noscript.object.ol.optgroup.option.output.p.param.picture.pre.progress.q.rp.rt.ruby.s.samp.script.section.select.small.source.span.strong.style.sub.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.title.tr.track.u.ul.var.video.wbr.circle.clipPath.defs.ellipse.foreignObject.g.image.line.linearGradient.mask.path.pattern.polygon.polyline.radialGradient.rect.stop.svg.text.tspan`.split(`.`),$=ct.bind(null);lt.forEach(function(e){$[e]=$(e)});export{Q as a,r as c,tt as i,$e as n,Z as o,et as r,i as s,$ as t};
1
+ import{a as e,t}from"./rolldown-runtime.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),r=t(((e,t)=>{t.exports=n()}));function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}var a=e(r());function o(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function s(e){var t=document.createElement(`style`);return t.setAttribute(`data-emotion`,e.key),e.nonce!==void 0&&t.setAttribute(`nonce`,e.nonce),t.appendChild(document.createTextNode(``)),t.setAttribute(`data-s`,``),t}var c=function(){function e(e){var t=this;this._insertTag=function(e){var n=t.tags.length===0?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling;t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=e.speedy===void 0||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(s(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=o(t);try{n.insertRule(e,n.cssRules.length)}catch{}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){return e.parentNode?.removeChild(e)}),this.tags=[],this.ctr=0},e}(),l=`-ms-`,u=`-moz-`,d=`-webkit-`,f=`comm`,p=`rule`,m=`decl`,h=`@import`,g=`@keyframes`,_=`@layer`,v=Math.abs,y=String.fromCharCode,b=Object.assign;function x(e,t){return E(e,0)^45?(((t<<2^E(e,0))<<2^E(e,1))<<2^E(e,2))<<2^E(e,3):0}function S(e){return e.trim()}function C(e,t){return(e=t.exec(e))?e[0]:e}function w(e,t,n){return e.replace(t,n)}function T(e,t){return e.indexOf(t)}function E(e,t){return e.charCodeAt(t)|0}function D(e,t,n){return e.slice(t,n)}function O(e){return e.length}function k(e){return e.length}function A(e,t){return t.push(e),e}function j(e,t){return e.map(t).join(``)}var M=1,N=1,P=0,F=0,I=0,L=``;function R(e,t,n,r,i,a,o){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:M,column:N,length:o,return:``}}function z(e,t){return b(R(``,null,null,``,null,null,0),e,{length:-e.length},t)}function ee(){return I}function te(){return I=F>0?E(L,--F):0,N--,I===10&&(N=1,M--),I}function B(){return I=F<P?E(L,F++):0,N++,I===10&&(N=1,M++),I}function V(){return E(L,F)}function H(){return F}function U(e,t){return D(L,e,t)}function W(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ne(e){return M=N=1,P=O(L=e),F=0,[]}function re(e){return L=``,e}function G(e){return S(U(F-1,K(e===91?e+2:e===40?e+1:e)))}function ie(e){for(;(I=V())&&I<33;)B();return W(e)>2||W(I)>3?``:` `}function ae(e,t){for(;--t&&B()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return U(e,H()+(t<6&&V()==32&&B()==32))}function K(e){for(;B();)switch(I){case e:return F;case 34:case 39:e!==34&&e!==39&&K(I);break;case 40:e===41&&K(e);break;case 92:B();break}return F}function oe(e,t){for(;B()&&e+I!==57&&!(e+I===84&&V()===47););return`/*`+U(t,F-1)+`*`+y(e===47?e:B())}function se(e){for(;!W(V());)B();return U(e,F)}function ce(e){return re(q(``,null,null,null,[``],e=ne(e),0,[0],e))}function q(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,b=``,x=i,S=a,C=r,D=b;g;)switch(m=v,v=B()){case 40:if(m!=108&&E(D,d-1)==58){T(D+=w(G(v),`&`,`&\f`),`&\f`)!=-1&&(_=-1);break}case 34:case 39:case 91:D+=G(v);break;case 9:case 10:case 13:case 32:D+=ie(m);break;case 92:D+=ae(H()-1,7);continue;case 47:switch(V()){case 42:case 47:A(ue(oe(B(),H()),t,n),c);break;default:D+=`/`}break;case 123*h:s[l++]=O(D)*_;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:_==-1&&(D=w(D,/\f/g,``)),p>0&&O(D)-d&&A(p>32?de(D+`;`,r,n,d-1):de(w(D,` `,``)+`;`,r,n,d-2),c);break;case 59:D+=`;`;default:if(A(C=le(D,t,n,l,u,i,s,b,x=[],S=[],d),a),v===123)if(u===0)q(D,t,C,C,x,a,d,s,S);else switch(f===99&&E(D,3)===110?100:f){case 100:case 108:case 109:case 115:q(e,C,C,r&&A(le(e,C,C,0,0,i,s,b,i,x=[],d),S),i,S,d,s,r?x:S);break;default:q(D,C,C,C,[``],S,0,s,S)}}l=u=p=0,h=_=1,b=D=``,d=o;break;case 58:d=1+O(D),p=m;default:if(h<1){if(v==123)--h;else if(v==125&&h++==0&&te()==125)continue}switch(D+=y(v),v*h){case 38:_=u>0?1:(D+=`\f`,-1);break;case 44:s[l++]=(O(D)-1)*_,_=1;break;case 64:V()===45&&(D+=G(B())),f=V(),u=d=O(b=D+=se(H())),v++;break;case 45:m===45&&O(D)==2&&(h=0)}}return a}function le(e,t,n,r,i,a,o,s,c,l,u){for(var d=i-1,f=i===0?a:[``],m=k(f),h=0,g=0,_=0;h<r;++h)for(var y=0,b=D(e,d+1,d=v(g=o[h])),x=e;y<m;++y)(x=S(g>0?f[y]+` `+b:w(b,/&\f/g,f[y])))&&(c[_++]=x);return R(e,t,n,i===0?p:s,c,l,u)}function ue(e,t,n){return R(e,t,n,f,y(ee()),D(e,2,-2),0)}function de(e,t,n,r){return R(e,t,n,m,D(e,0,r),D(e,r+1,-1),r)}function J(e,t){for(var n=``,r=k(e),i=0;i<r;i++)n+=t(e[i],i,e,t)||``;return n}function fe(e,t,n,r){switch(e.type){case _:if(e.children.length)break;case h:case m:return e.return=e.return||e.value;case f:return``;case g:return e.return=e.value+`{`+J(e.children,r)+`}`;case p:e.value=e.props.join(`,`)}return O(n=J(e.children,r))?e.return=e.value+`{`+n+`}`:``}function pe(e){var t=k(e);return function(n,r,i,a){for(var o=``,s=0;s<t;s++)o+=e[s](n,r,i,a)||``;return o}}function me(e){return function(t){t.root||(t=t.return)&&e(t)}}function he(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var ge=function(e,t,n){for(var r=0,i=0;r=i,i=V(),r===38&&i===12&&(t[n]=1),!W(i);)B();return U(e,F)},_e=function(e,t){var n=-1,r=44;do switch(W(r)){case 0:r===38&&V()===12&&(t[n]=1),e[n]+=ge(F-1,t,n);break;case 2:e[n]+=G(r);break;case 4:if(r===44){e[++n]=V()===58?`&\f`:``,t[n]=e[n].length;break}default:e[n]+=y(r)}while(r=B());return e},ve=function(e,t){return re(_e(ne(e),t))},ye=new WeakMap,be=function(e){if(!(e.type!==`rule`||!e.parent||e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;n.type!==`rule`;)if(n=n.parent,!n)return;if(!(e.props.length===1&&t.charCodeAt(0)!==58&&!ye.get(n))&&!r){ye.set(e,!0);for(var i=[],a=ve(t,i),o=n.props,s=0,c=0;s<a.length;s++)for(var l=0;l<o.length;l++,c++)e.props[c]=i[s]?a[s].replace(/&\f/g,o[l]):o[l]+` `+a[s]}}},xe=function(e){if(e.type===`decl`){var t=e.value;t.charCodeAt(0)===108&&t.charCodeAt(2)===98&&(e.return=``,e.value=``)}};function Se(e,t){switch(x(e,t)){case 5103:return d+`print-`+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return d+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return d+e+u+e+l+e+e;case 6828:case 4268:return d+e+l+e+e;case 6165:return d+e+l+`flex-`+e+e;case 5187:return d+e+w(e,/(\w+).+(:[^]+)/,d+`box-$1$2`+l+`flex-$1$2`)+e;case 5443:return d+e+l+`flex-item-`+w(e,/flex-|-self/,``)+e;case 4675:return d+e+l+`flex-line-pack`+w(e,/align-content|flex-|-self/,``)+e;case 5548:return d+e+l+w(e,`shrink`,`negative`)+e;case 5292:return d+e+l+w(e,`basis`,`preferred-size`)+e;case 6060:return d+`box-`+w(e,`-grow`,``)+d+e+l+w(e,`grow`,`positive`)+e;case 4554:return d+w(e,/([^-])(transform)/g,`$1`+d+`$2`)+e;case 6187:return w(w(w(e,/(zoom-|grab)/,d+`$1`),/(image-set)/,d+`$1`),e,``)+e;case 5495:case 3959:return w(e,/(image-set\([^]*)/,d+"$1$`$1");case 4968:return w(w(e,/(.+:)(flex-)?(.*)/,d+`box-pack:$3`+l+`flex-pack:$3`),/s.+-b[^;]+/,`justify`)+d+e+e;case 4095:case 3583:case 4068:case 2532:return w(e,/(.+)-inline(.+)/,d+`$1$2`)+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(O(e)-1-t>6)switch(E(e,t+1)){case 109:if(E(e,t+4)!==45)break;case 102:return w(e,/(.+:)(.+)-([^]+)/,`$1`+d+`$2-$3$1`+u+(E(e,t+3)==108?`$3`:`$2-$3`))+e;case 115:return~T(e,`stretch`)?Se(w(e,`stretch`,`fill-available`),t)+e:e}break;case 4949:if(E(e,t+1)!==115)break;case 6444:switch(E(e,O(e)-3-(~T(e,`!important`)&&10))){case 107:return w(e,`:`,`:`+d)+e;case 101:return w(e,/(.+:)([^;!]+)(;|!.+)?/,`$1`+d+(E(e,14)===45?`inline-`:``)+`box$3$1`+d+`$2$3$1`+l+`$2box$3`)+e}break;case 5936:switch(E(e,t+11)){case 114:return d+e+l+w(e,/[svh]\w+-[tblr]{2}/,`tb`)+e;case 108:return d+e+l+w(e,/[svh]\w+-[tblr]{2}/,`tb-rl`)+e;case 45:return d+e+l+w(e,/[svh]\w+-[tblr]{2}/,`lr`)+e}return d+e+l+e+e}return e}var Ce=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case m:e.return=Se(e.value,e.length);break;case g:return J([z(e,{value:w(e.value,`@`,`@`+d)})],r);case p:if(e.length)return j(e.props,function(t){switch(C(t,/(::plac\w+|:read-\w+)/)){case`:read-only`:case`:read-write`:return J([z(e,{props:[w(t,/:(read-\w+)/,`:`+u+`$1`)]})],r);case`::placeholder`:return J([z(e,{props:[w(t,/:(plac\w+)/,`:`+d+`input-$1`)]}),z(e,{props:[w(t,/:(plac\w+)/,`:`+u+`$1`)]}),z(e,{props:[w(t,/:(plac\w+)/,l+`input-$1`)]})],r)}return``})}}],we=function(e){var t=e.key;if(t===`css`){var n=document.querySelectorAll(`style[data-emotion]:not([data-s])`);Array.prototype.forEach.call(n,function(e){e.getAttribute(`data-emotion`).indexOf(` `)!==-1&&(document.head.appendChild(e),e.setAttribute(`data-s`,``))})}var r=e.stylisPlugins||Ce,i={},a,o=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll(`style[data-emotion^="`+t+` "]`),function(e){for(var t=e.getAttribute(`data-emotion`).split(` `),n=1;n<t.length;n++)i[t[n]]=!0;o.push(e)});var s,l=[be,xe],u,d=[fe,me(function(e){u.insert(e)})],f=pe(l.concat(r,d)),p=function(e){return J(ce(e),f)};s=function(e,t,n,r){u=n,p(e?e+`{`+t.styles+`}`:t.styles),r&&(m.inserted[t.name]=!0)};var m={key:t,sheet:new c({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:s};return m.sheet.hydrate(o),m},Te=t((e=>{var t=typeof Symbol==`function`&&Symbol.for,n=t?Symbol.for(`react.element`):60103,r=t?Symbol.for(`react.portal`):60106,i=t?Symbol.for(`react.fragment`):60107,a=t?Symbol.for(`react.strict_mode`):60108,o=t?Symbol.for(`react.profiler`):60114,s=t?Symbol.for(`react.provider`):60109,c=t?Symbol.for(`react.context`):60110,l=t?Symbol.for(`react.async_mode`):60111,u=t?Symbol.for(`react.concurrent_mode`):60111,d=t?Symbol.for(`react.forward_ref`):60112,f=t?Symbol.for(`react.suspense`):60113,p=t?Symbol.for(`react.suspense_list`):60120,m=t?Symbol.for(`react.memo`):60115,h=t?Symbol.for(`react.lazy`):60116,g=t?Symbol.for(`react.block`):60121,_=t?Symbol.for(`react.fundamental`):60117,v=t?Symbol.for(`react.responder`):60118,y=t?Symbol.for(`react.scope`):60119;function b(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:switch(e=e.type,e){case l:case u:case i:case o:case a:case f:return e;default:switch(e&&=e.$$typeof,e){case c:case d:case h:case m:case s:return e;default:return t}}case r:return t}}}function x(e){return b(e)===u}e.AsyncMode=l,e.ConcurrentMode=u,e.ContextConsumer=c,e.ContextProvider=s,e.Element=n,e.ForwardRef=d,e.Fragment=i,e.Lazy=h,e.Memo=m,e.Portal=r,e.Profiler=o,e.StrictMode=a,e.Suspense=f,e.isAsyncMode=function(e){return x(e)||b(e)===l},e.isConcurrentMode=x,e.isContextConsumer=function(e){return b(e)===c},e.isContextProvider=function(e){return b(e)===s},e.isElement=function(e){return typeof e==`object`&&!!e&&e.$$typeof===n},e.isForwardRef=function(e){return b(e)===d},e.isFragment=function(e){return b(e)===i},e.isLazy=function(e){return b(e)===h},e.isMemo=function(e){return b(e)===m},e.isPortal=function(e){return b(e)===r},e.isProfiler=function(e){return b(e)===o},e.isStrictMode=function(e){return b(e)===a},e.isSuspense=function(e){return b(e)===f},e.isValidElementType=function(e){return typeof e==`string`||typeof e==`function`||e===i||e===u||e===o||e===a||e===f||e===p||typeof e==`object`&&!!e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===d||e.$$typeof===_||e.$$typeof===v||e.$$typeof===y||e.$$typeof===g)},e.typeOf=b})),Ee=t(((e,t)=>{t.exports=Te()})),De=t(((e,t)=>{var n=Ee(),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};s[n.ForwardRef]=a,s[n.Memo]=o;function c(e){return n.isMemo(e)?o:s[e.$$typeof]||r}var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;function h(e,t,n){if(typeof t!=`string`){if(m){var r=p(t);r&&r!==m&&h(e,r,n)}var a=u(t);d&&(a=a.concat(d(t)));for(var o=c(e),s=c(t),g=0;g<a.length;++g){var _=a[g];if(!i[_]&&!(n&&n[_])&&!(s&&s[_])&&!(o&&o[_])){var v=f(t,_);try{l(e,_,v)}catch{}}}}return e}t.exports=h}));function Oe(e,t,n){var r=``;return n.split(` `).forEach(function(n){e[n]===void 0?n&&(r+=n+` `):t.push(e[n]+`;`)}),r}var ke=function(e,t,n){var r=e.key+`-`+t.name;n===!1&&e.registered[r]===void 0&&(e.registered[r]=t.styles)},Ae=function(e,t,n){ke(e,t,n);var r=e.key+`-`+t.name;if(e.inserted[t.name]===void 0){var i=t;do e.insert(t===i?`.`+r:``,i,e.sheet,!0),i=i.next;while(i!==void 0)}};function je(e){for(var t=0,n,r=0,i=e.length;i>=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Me={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Ne=/[A-Z]|^ms/g,Pe=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Fe=function(e){return e.charCodeAt(1)===45},Ie=function(e){return e!=null&&typeof e!=`boolean`},Le=he(function(e){return Fe(e)?e:e.replace(Ne,`-$&`).toLowerCase()}),Re=function(e,t){switch(e){case`animation`:case`animationName`:if(typeof t==`string`)return t.replace(Pe,function(e,t,n){return X={name:t,styles:n,next:X},t})}return Me[e]!==1&&!Fe(e)&&typeof t==`number`&&t!==0?t+`px`:t};function Y(e,t,n){if(n==null)return``;var r=n;if(r.__emotion_styles!==void 0)return r;switch(typeof n){case`boolean`:return``;case`object`:var i=n;if(i.anim===1)return X={name:i.name,styles:i.styles,next:X},i.name;var a=n;if(a.styles!==void 0){var o=a.next;if(o!==void 0)for(;o!==void 0;)X={name:o.name,styles:o.styles,next:X},o=o.next;return a.styles+`;`}return ze(e,t,n);case`function`:if(e!==void 0){var s=X,c=n(e);return X=s,Y(e,t,c)}break}var l=n;if(t==null)return l;var u=t[l];return u===void 0?l:u}function ze(e,t,n){var r=``;if(Array.isArray(n))for(var i=0;i<n.length;i++)r+=Y(e,t,n[i])+`;`;else for(var a in n){var o=n[a];if(typeof o!=`object`){var s=o;t!=null&&t[s]!==void 0?r+=a+`{`+t[s]+`}`:Ie(s)&&(r+=Le(a)+`:`+Re(a,s)+`;`)}else if(Array.isArray(o)&&typeof o[0]==`string`&&(t==null||t[o[0]]===void 0))for(var c=0;c<o.length;c++)Ie(o[c])&&(r+=Le(a)+`:`+Re(a,o[c])+`;`);else{var l=Y(e,t,o);switch(a){case`animation`:case`animationName`:r+=Le(a)+`:`+l+`;`;break;default:r+=a+`{`+l+`}`}}}return r}var Be=/label:\s*([^\s;{]+)\s*(;|$)/g,X;function Z(e,t,n){if(e.length===1&&typeof e[0]==`object`&&e[0]!==null&&e[0].styles!==void 0)return e[0];var r=!0,i=``;X=void 0;var a=e[0];a==null||a.raw===void 0?(r=!1,i+=Y(n,t,a)):i+=a[0];for(var o=1;o<e.length;o++)i+=Y(n,t,e[o]),r&&(i+=a[o]);Be.lastIndex=0;for(var s=``,c;(c=Be.exec(i))!==null;)s+=`-`+c[1];return{name:je(i)+s,styles:i,next:X}}var Ve=function(e){return e()},He=a.useInsertionEffect?a.useInsertionEffect:!1,Ue=He||Ve,We=He||a.useLayoutEffect,Ge=a.createContext(typeof HTMLElement<`u`?we({key:`css`}):null);Ge.Provider;var Ke=function(e){return(0,a.forwardRef)(function(t,n){return e(t,(0,a.useContext)(Ge),n)})},Q=a.createContext({}),qe={}.hasOwnProperty,Je=`__EMOTION_TYPE_PLEASE_DO_NOT_USE__`,Ye=function(e,t){var n={};for(var r in t)qe.call(t,r)&&(n[r]=t[r]);return n[Je]=e,n},Xe=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return ke(t,n,r),Ue(function(){return Ae(t,n,r)}),null},Ze=Ke(function(e,t,n){var r=e.css;typeof r==`string`&&t.registered[r]!==void 0&&(r=t.registered[r]);var i=e[Je],o=[r],s=``;typeof e.className==`string`?s=Oe(t.registered,o,e.className):e.className!=null&&(s=e.className+` `);var c=Z(o,void 0,a.useContext(Q));s+=t.key+`-`+c.name;var l={};for(var u in e)qe.call(e,u)&&u!==`css`&&u!==Je&&(l[u]=e[u]);return l.className=s,n&&(l.ref=n),a.createElement(a.Fragment,null,a.createElement(Xe,{cache:t,serialized:c,isStringTag:typeof i==`string`}),a.createElement(i,l))});De();var Qe=function(e,t){var n=arguments;if(t==null||!qe.call(t,`css`))return a.createElement.apply(void 0,n);var r=n.length,i=Array(r);i[0]=Ze,i[1]=Ye(e,t);for(var o=2;o<r;o++)i[o]=n[o];return a.createElement.apply(null,i)};(function(e){var t;t||=e.JSX||={}})(Qe||={});var $e=Ke(function(e,t){var n=e.styles,r=Z([n],void 0,a.useContext(Q)),i=a.useRef();return We(function(){var e=t.key+`-global`,n=new t.sheet.constructor({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),a=!1,o=document.querySelector(`style[data-emotion="`+e+` `+r.name+`"]`);return t.sheet.tags.length&&(n.before=t.sheet.tags[0]),o!==null&&(a=!0,o.setAttribute(`data-emotion`,e),n.hydrate([o])),i.current=[n,a],function(){n.flush()}},[t]),We(function(){var e=i.current,n=e[0];if(e[1]){e[1]=!1;return}r.next!==void 0&&Ae(t,r.next,!0),n.tags.length&&(n.before=n.tags[n.tags.length-1].nextElementSibling,n.flush()),t.insert(``,r,n,!1)},[t,r.name]),null});function et(){return Z([...arguments])}function tt(){var e=et.apply(void 0,arguments),t=`animation-`+e.name;return{name:t,styles:`@keyframes `+t+`{`+e.styles+`}`,anim:1,toString:function(){return`_EMO_`+this.name+`_`+this.styles+`_EMO_`}}}var nt=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,rt=he(function(e){return nt.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),it=function(e){return e!==`theme`},at=function(e){return typeof e==`string`&&e.charCodeAt(0)>96?rt:it},ot=function(e,t,n){var r;if(t){var i=t.shouldForwardProp;r=e.__emotion_forwardProp&&i?function(t){return e.__emotion_forwardProp(t)&&i(t)}:i}return typeof r!=`function`&&n&&(r=e.__emotion_forwardProp),r},st=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return ke(t,n,r),Ue(function(){return Ae(t,n,r)}),null},ct=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,s,c;n!==void 0&&(s=n.label,c=n.target);var l=ot(t,n,r),u=l||at(o),d=!u(`as`);return function(){var f=arguments,p=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(s!==void 0&&p.push(`label:`+s+`;`),f[0]==null||f[0].raw===void 0)p.push.apply(p,f);else{var m=f[0];p.push(m[0]);for(var h=f.length,g=1;g<h;g++)p.push(f[g],m[g])}var _=Ke(function(e,t,n){var r=d&&e.as||o,i=``,s=[],f=e;if(e.theme==null){for(var m in f={},e)f[m]=e[m];f.theme=a.useContext(Q)}typeof e.className==`string`?i=Oe(t.registered,s,e.className):e.className!=null&&(i=e.className+` `);var h=Z(p.concat(s),t.registered,f);i+=t.key+`-`+h.name,c!==void 0&&(i+=` `+c);var g=d&&l===void 0?at(r):u,_={};for(var v in e)d&&v===`as`||g(v)&&(_[v]=e[v]);return _.className=i,n&&(_.ref=n),a.createElement(a.Fragment,null,a.createElement(st,{cache:t,serialized:h,isStringTag:typeof r==`string`}),a.createElement(r,_))});return _.displayName=s===void 0?`Styled(`+(typeof o==`string`?o:o.displayName||o.name||`Component`)+`)`:s,_.defaultProps=t.defaultProps,_.__emotion_real=_,_.__emotion_base=o,_.__emotion_styles=p,_.__emotion_forwardProp=l,Object.defineProperty(_,"toString",{value:function(){return`.`+c}}),_.withComponent=function(t,r){return e(t,i({},n,r,{shouldForwardProp:ot(_,r,!0)})).apply(void 0,p)},_}},lt=`a.abbr.address.area.article.aside.audio.b.base.bdi.bdo.big.blockquote.body.br.button.canvas.caption.cite.code.col.colgroup.data.datalist.dd.del.details.dfn.dialog.div.dl.dt.em.embed.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.iframe.img.input.ins.kbd.keygen.label.legend.li.link.main.map.mark.marquee.menu.menuitem.meta.meter.nav.noscript.object.ol.optgroup.option.output.p.param.picture.pre.progress.q.rp.rt.ruby.s.samp.script.section.select.small.source.span.strong.style.sub.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.title.tr.track.u.ul.var.video.wbr.circle.clipPath.defs.ellipse.foreignObject.g.image.line.linearGradient.mask.path.pattern.polygon.polyline.radialGradient.rect.stop.svg.text.tspan`.split(`.`),$=ct.bind(null);lt.forEach(function(e){$[e]=$(e)});export{Q as a,r as c,tt as i,$e as n,Z as o,et as r,i as s,$ as t};