iobroker.tr-064 5.2.0 → 5.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/admin/custom/.vite/manifest.json +7 -7
- package/admin/custom/assets/Components-B0WiJjgm.js +1 -0
- package/admin/custom/assets/PersonAddresses-Zuk1Gbzv.js +4 -0
- package/admin/custom/customComponents.js +1 -1
- package/admin/custom/i18n/de.json +4 -1
- package/admin/custom/i18n/en.json +4 -1
- package/admin/custom/i18n/es.json +4 -1
- package/admin/custom/i18n/fr.json +4 -1
- package/admin/custom/i18n/it.json +4 -1
- package/admin/custom/i18n/nl.json +4 -1
- package/admin/custom/i18n/pl.json +4 -1
- package/admin/custom/i18n/pt.json +4 -1
- package/admin/custom/i18n/ru.json +4 -1
- package/admin/custom/i18n/uk.json +4 -1
- package/admin/custom/i18n/zh-cn.json +4 -1
- package/admin/custom/mf-manifest.json +1 -1
- package/admin/dm-widgets/.vite/manifest.json +2 -2
- package/admin/dm-widgets/assets/Components-D7dlXwfS.js +4 -0
- package/admin/dm-widgets/assets/translations-DD1c0Wnf.js +1 -0
- package/admin/dm-widgets/customDevices.js +1 -1
- package/admin/dm-widgets/mf-manifest.json +1 -1
- package/admin/i18n/de.json +1 -1
- package/admin/i18n/en.json +1 -1
- package/admin/i18n/es.json +1 -1
- package/admin/i18n/fr.json +1 -1
- package/admin/i18n/it.json +1 -1
- package/admin/i18n/nl.json +1 -1
- package/admin/i18n/pl.json +1 -1
- package/admin/i18n/pt.json +1 -1
- package/admin/i18n/ru.json +1 -1
- package/admin/i18n/uk.json +1 -1
- package/admin/i18n/zh-cn.json +1 -1
- package/admin/jsonConfig.json +6 -2
- package/io-package.json +27 -27
- package/package.json +1 -1
- package/widgets/tr-064/.vite/manifest.json +15 -15
- package/widgets/tr-064/assets/Generic-TRWFbzuc.js +1 -0
- package/widgets/tr-064/assets/{PresenceSelect-aqA9gP3R.js → PresenceSelect-GSoLwxIO.js} +1 -1
- package/widgets/tr-064/assets/{Tr064FritzBox-DYI1xQht.js → Tr064FritzBox-DmpfGQa3.js} +1 -1
- package/widgets/tr-064/assets/{Tr064Mesh-BOifuPq4.js → Tr064Mesh-C5J7u8x-.js} +1 -1
- package/widgets/tr-064/assets/{Tr064Person-Dh3sNGqw.js → Tr064Person-BCR6CDF7.js} +1 -1
- package/widgets/tr-064/assets/{Tr064Presence-B4AW5nzP.js → Tr064Presence-CEQzI_rf.js} +1 -1
- package/widgets/tr-064/customWidgets.js +1 -1
- package/widgets/tr-064/mf-manifest.json +1 -1
- package/admin/custom/assets/Components-DnyXLngv.js +0 -1
- package/admin/custom/assets/MeshTopology-DdxCvD6W.js +0 -4
- package/admin/dm-widgets/assets/Components-BjwJD5XF.js +0 -4
- package/admin/dm-widgets/assets/translations-BZhya0jA.js +0 -1
- package/widgets/tr-064/assets/Generic-Cl0kKUW7.js +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,s as a}from"./react-pcwjPi4V.js";import{a as o,i as s,n as c,o as l,r as u,t as d}from"./_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__loadShare__shared-4SQSrCDF.js";var f=u==null?void 0:u.alpha;function p(e,t){try{return f(e,t)}catch{return`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}}function m(e){e.stopPropagation()}var h=(e,t)=>`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${t}" viewBox="0 0 ${e} ${t}"><rect x="1" y="1" width="${e-2}" height="${t-2}" rx="3" fill="none" stroke="currentColor" stroke-width="2"/></svg>`)}`,g=[{value:`1x1`,label:`1×1`,icon:h(18,18)},{value:`2x1`,label:`2×1`,icon:h(32,18)},{value:`2x0.5`,label:`2×½`,icon:h(32,12)},{value:`2x2`,label:`2×2`,icon:h(32,32)}],_=`28px`;function v(e){return`max(0px, calc(${_} - ${e}))`}function y(e,t){switch(t){case`2x0.5`:return l.getStyleWide(e);case`2x1`:return l.getStyleWideTall(e);case`2x2`:{let t=l.getStyleHuge;return t?t(e):{...l.getStyleCompact(e),gridColumn:`span 2`,gridRow:`span 2`}}default:return l.getStyleCompact(e)}}var{Alert:b,Box:x,Button:S,Checkbox:ee,CircularProgress:C,Dialog:te,DialogActions:ne,DialogContent:re,DialogTitle:ie,Divider:ae,FormControlLabel:oe,IconButton:se,SvgIcon:ce,Table:w,TableBody:T,TableCell:E,TableContainer:le,TableHead:D,TableRow:ue,TextField:de,ThemeProvider:fe,ToggleButton:pe,ToggleButtonGroup:me,Tooltip:he,Typography:O,alpha:k,createTheme:ge,styled:_e,useMediaQuery:ve,useTheme:ye}=r(`@mui/material`),{AccountTree:be,AcUnit:xe,Blinds:Se,Close:Ce,Computer:we,DeveloperBoard:Te,DevicesOther:Ee,Doorbell:De,Edit:Oe,Lan:ke,Lightbulb:Ae,Lock:je,Monitor:Me,Phone:Ne,PhoneInTalk:Pe,Power:Fe,Print:Ie,Refresh:Le,Router:Re,Sensors:ze,Smartphone:Be,SmartToy:Ve,Speaker:He,SportsEsports:Ue,Storage:We,TableRows:Ge,Tablet:Ke,Thermostat:qe,TouchApp:Je,Tv:Ye,Videocam:Xe,Watch:Ze}=r(`@mui/icons-material`);function Qe(e){if(!e)return`other`;if(e.band)return e.band;let t=(e.interface||``).toUpperCase();return/(^|:)2(G|,4|\.4)/.test(t)?`2.4`:/(^|:)5G/.test(t)?`5`:/(^|:)6G/.test(t)?`6`:(e.type||``).toUpperCase()===`LAN`||t.startsWith(`LAN`)||t.startsWith(`ETH`)?`LAN`:`other`}function $e(e){return!!e&&(e.state||``).toUpperCase()===`CONNECTED`}function et(e,t){return e?!$e(e)&&$e(t)?t:e:t}function tt(e){return e.configured||e.name||e.mac||e.uid}function nt(e,t){return!!e.node.configured==!!t.node.configured?e.connected===t.connected?tt(e.node).localeCompare(tt(t.node)):e.connected?-1:1:e.node.configured?-1:1}function rt(e){return{...e,from:e.to,to:e.from,curDown:e.curUp,curUp:e.curDown,maxDown:e.maxUp,maxUp:e.maxDown,rcpiFrom:e.rcpiTo,rcpiTo:e.rcpiFrom,rsniFrom:e.rsniTo,rsniTo:e.rsniFrom}}function it(e){return(e==null?void 0:e.rcpiTo)??(e==null?void 0:e.rcpiFrom)}function at(e){return e>=-60?4:e>=-70?3:e>=-80?2:1}function ot(e,t){let n=(e==null?void 0:e.nodes)||[],r=(e==null?void 0:e.links)||[],i=new Map;n.forEach(e=>i.set(e.uid,e));let a=e=>{var t;let n=(t=i.get(e))==null?void 0:t.role;return!!n&&n!==`client`},o=new Map,s=new Map;for(let e of r)i.has(e.from)&&i.has(e.to)&&e.from!==e.to&&(a(e.from)&&a(e.to)?o.set(e.to,et(o.get(e.to),e)):a(e.from)?s.set(e.to,et(s.get(e.to),e)):a(e.to)&&s.set(e.from,et(s.get(e.from),rt(e))));let c=n.filter(e=>e.role!==`client`);c.forEach(e=>e.role===`master`&&o.delete(e.uid));let l=new Map;c.forEach(e=>l.set(e.uid,{node:e,uplink:o.get(e.uid),clients:[],children:[]}));let u=0,d=[],f=[];for(let e of n){var p;if(e.role!==`client`)continue;u++;let n=s.get(e.uid),r=$e(n);if(t.onlyConfigured&&!e.configured||!r&&!t.showDisconnected&&!e.configured)continue;let i={node:e,link:n,connected:r},a=n?l.get(n.from):void 0;a?a.clients.push(i):d.push(i);let o=n?Qe(n):``;f.push({uid:e.uid,name:tt(e),hostName:e.name,vendor:e.vendor,randomMac:e.randomMac,configured:!!e.configured,accessPoint:(a==null||(p=a.node)==null?void 0:p.name)||``,kind:o,type:(n==null?void 0:n.type)||``,connected:r,curDown:n==null?void 0:n.curDown,curUp:n==null?void 0:n.curUp,rcpi:it(n),position:e.position,deviceClass:e.deviceClass,lastConnected:r||n==null?void 0:n.lastConnected,mac:e.mac,ip:e.ip})}l.forEach(e=>e.clients.sort(nt)),d.sort(nt),f.sort((e,t)=>e.configured===t.configured?e.connected===t.connected?e.name.localeCompare(t.name):e.connected?-1:1:e.configured?-1:1);let m=[...c].sort((e,t)=>{let n=e=>e.role===`master`?0:e.role===`slave`?1:2;return n(e)-n(t)||e.name.localeCompare(t.name)}),h=new Set,g=[],_=e=>{h.add(e.node.uid);for(let n of m){var t;let r=l.get(n.uid);!h.has(n.uid)&&((t=r.uplink)==null?void 0:t.from)===e.node.uid&&(e.children.push(r),_(r))}};for(let e of m){let t=l.get(e.uid),n=t.uplink&&l.get(t.uplink.from);!h.has(e.uid)&&(!n||e.role===`master`)&&(g.push(t),_(t))}for(let e of m)if(!h.has(e.uid)){let t=l.get(e.uid);g.push(t),_(t)}return{roots:g,unassigned:d,rows:f,total:u}}function st(e,t){return t&&ct(e)?56:40}function ct(e){return e.clients.some(e=>e.connected&&it(e.link)!==void 0)}function lt(e){return e<=8?1:e<=20?2:e<=48?3:4}function ut(e,t,n){let r=Math.ceil(e/t);return 60+(e?r*(n+6)-6+10:0)}function dt(e,t=!1){let n=[],r=[],i=new Map,a=e=>{let n=e.clients.length,r=lt(n);return{w:Math.max(240,r*340+(r-1)*6+20),h:ut(n,r,st(e,t)),columns:r}},o=e=>{let t=a(e).w,n=e.children.reduce((e,t)=>e+o(t),0),r=Math.max(t,n+32*Math.max(0,e.children.length-1));return i.set(e,r),r},s=0,c=(e,o,l)=>{let u=a(e),d=i.get(e),f={view:e,x:o+(d-u.w)/2,y:l,w:u.w,h:u.h,columns:u.columns,chipW:340,chipH:st(e,t)};n.push(f),s=Math.max(s,l+u.h);let p=o+(d-(e.children.reduce((e,t)=>e+i.get(t),0)+32*Math.max(0,e.children.length-1)))/2;for(let t of e.children){let e=c(t,p,l+u.h+76);if(t.uplink){let n=f.x+f.w/2,i=f.y+f.h,a=e.x+e.w/2,o=e.y,s=i+(o-i)/2;r.push({link:t.uplink,d:`M ${n} ${i} V ${s} H ${a} V ${o}`,labelX:a+6,labelY:o-10})}p+=i.get(t)+32}return f},l=16;for(let t of e)o(t),c(t,l,16),l+=i.get(t)+64;return{kind:`tree`,cards:n,edges:r,width:Math.max(l-64+16,0),height:s+16}}function ft(e,t,n=!1){let r=[],i=[],a=8,o=(e,s)=>{let c=8+s*22,l=Math.max(232,t-8-c),u=l-20,d=e.clients.length,f=Math.max(1,Math.min(d||1,Math.floor((u+6)/218))),p=Math.min(420,(u-(f-1)*6)/f),m=st(e,n),h={view:e,x:c,y:a,w:l,h:ut(d,f,m),columns:f,chipW:p,chipH:m};r.push(h),a+=h.h+30;let g=h.x+11,_=h.y+h.h;for(let t of e.children){let e=o(t,s+1);if(t.uplink){let n=e.y+24;i.push({link:t.uplink,d:`M ${g} ${_} V ${n} H ${e.x}`,labelX:e.x+4,labelY:e.y-8}),_=n}}return h};for(let t of e)o(t,0);return{kind:`stack`,cards:r,edges:i,width:t,height:Math.max(a-30+8,0)}}function pt(e,t,n=!1){let r=dt(e,n);return r.width<=t?r:ft(e,t,n)}function A(e,t,n=!1){return Math.max(3,Math.floor(e/(t*(n?.62:.56))))}function j(e,t){return e.length>t?`${e.substring(0,Math.max(1,t-1))}…`:e}function M(e){if(!e)return`–`;let t=e/1e3;return t>=10?Math.round(t).toString():t.toFixed(1)}var mt=a((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),N=a(((e,t)=>{t.exports=mt()}))(),ht={COMPUTER:we,STORAGE:We,SMARTPHONE:Be,TABLET:Ke,GAMING_DEVICE:Ue,SET_TOP_BOX:Ye,PRINTER:Ie,NETWORK_SWITCH:ke,SPEAKER:He,ROBOT:Ve,PHONE:Ne,IP_PHONE:Pe,CIRCUIT_BOARD:Te,CAMERA:Xe,DOOR_LOCK:je,DOOR_BELL:De,SHUTTER:Se,AIR_CONDITIONER:xe,LAMP:Ae,THERMOSTAT:qe,BUTTON:Je,SOCKET:Fe,SENSOR:ze,MONITOR:Me,SMART_WATCH:Ze,ROUTER:Re};function gt(e){return e&&ht[e]||Ee}function _t(e){let t=gt(e.deviceClass);return(0,N.jsx)(t,{x:e.x,y:e.y,width:e.size,height:e.size,sx:{width:e.size,height:e.size,color:e.color}})}function P(e){"@babel/helpers - typeof";return P=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},P(e)}function vt(e,t){if(P(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(P(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function yt(e){var t=vt(e,`string`);return P(t)==`symbol`?t:t+``}function F(e,t,n){return(t=yt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bt=`not alive`,xt=`not connected`,St=`not supported`,I=`timeout`;async function Ct(e,t,n=2e4){try{let r=await e.getState(`system.adapter.${t}.alive`);if(!(r!=null&&r.val))return{error:bt,nodes:[],links:[]};let i,a=new Promise(e=>{i=setTimeout(()=>e(I),n)}),o=e.sendTo(t,`mesh`,{}),s=await Promise.race([o,a]);return clearTimeout(i),s===`timeout`||!s||typeof s!=`object`?{error:I,nodes:[],links:[]}:{error:s.error,ts:s.ts,nodes:Array.isArray(s.nodes)?s.nodes:[],links:Array.isArray(s.links)?s.links:[],canRename:!!s.canRename}}catch(e){return{error:(e==null?void 0:e.message)||String(e),nodes:[],links:[]}}}async function wt(e,t,n,r,i=2e4){try{let a=await e.getState(`system.adapter.${t}.alive`);if(!(a!=null&&a.val))return bt;let o,s=new Promise(e=>{o=setTimeout(()=>e(I),i)}),c=e.sendTo(t,`setHostName`,{mac:n,name:r}),l=await Promise.race([c,s]);return clearTimeout(o),l===`timeout`||!l||typeof l!=`object`?I:l.error||void 0}catch(e){return(e==null?void 0:e.message)||String(e)}}var Tt=class{constructor(e){F(this,`options`,void 0),F(this,`timer`,null),F(this,`running`,!1),F(this,`stopped`,!0),F(this,`current`,{data:null,loading:!1,error:null}),this.options=e}get state(){return this.current}start(){this.stop(),this.stopped=!1,this.refresh();let e=this.options.interval??30;e>0&&(this.timer=setInterval(()=>void this.refresh(),e*1e3))}stop(){this.stopped=!0,this.timer&&=(clearInterval(this.timer),null)}async refresh(){if(this.running||this.stopped)return;this.running=!0,this.update({loading:!0});let e=await Ct(this.options.socket,this.options.instanceId,this.options.timeout);this.running=!1,!this.stopped&&(e.error?e.error===`not alive`?this.update({data:null,loading:!1,error:e.error}):this.update({loading:!1,error:e.error}):this.update({data:e,loading:!1,error:null}))}async rename(e,t){let n=await wt(this.options.socket,this.options.instanceId,e,t,this.options.timeout);return!n&&!this.stopped&&await this.refresh(),n}update(e){this.current={...this.current,...e},this.stopped||this.options.onChange(this.current)}},L={2.4:`#f59e0b`,5:`#3b82f6`,6:`#8b5cf6`,LAN:`#10b981`,other:`#9ca3af`},Et=13,Dt=26,Ot=16,kt=63,At=600,jt=63,Mt=760,Nt=480;function Pt(e){let t={onlyConfigured:!1,showDisconnected:!1,showVendor:!0,viewMode:`graph`};try{let n=JSON.parse(window.localStorage.getItem(e)||`{}`);t.onlyConfigured=!!n.onlyConfigured,t.showDisconnected=!!n.showDisconnected,t.showVendor=n.showVendor!==!1,t.viewMode=n.viewMode===`table`?`table`:`graph`}catch{}return t}function Ft(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function R(e,t){return e.vendor||(e.randomMac?t(`tr064_randomMac`):``)}function z(e){switch(e){case`2.4`:case`5`:case`6`:return`${e} GHz`;case`LAN`:return`LAN`;default:return``}}function It(e,t){switch(e){case bt:return{severity:`info`,text:t(`tr064_startInstance`)};case xt:return{severity:`warning`,text:t(`tr064_notConnected`)};case St:return{severity:`warning`,text:t(`tr064_notSupported`)};case I:return{severity:`warning`,text:t(`tr064_timeout`)};default:return{severity:`warning`,text:t(`tr064_error`,e)}}}function Lt(e){return e.connected&&(e.curDown||e.curUp)?`↓ ${M(e.curDown)} / ↑ ${M(e.curUp)}`:``}var Rt=`#ef4444`;function zt(e,t,n){return at(t)===1||n===`too_far`?Rt:L[e||`other`]}function Bt(e){let t=at(e.rcpi);return(0,N.jsx)(`g`,{transform:`translate(${e.x}, ${e.y})`,children:[0,1,2,3].map(n=>{let r=3+n*2.5;return(0,N.jsx)(`rect`,{x:n*3.3,y:-r,width:2.4,height:r,rx:.8,fill:e.color,opacity:n<t?1:.22},n)})})}function Vt(e){return e===void 0?``:`${e} dBm`}function Ht(e,t){return e?t(`tr064_lastSeen`,new Date(e).toLocaleString()):``}function Ut(e,t,n){let r=[];return((e==null?void 0:e.rcpiTo)!==void 0||(e==null?void 0:e.rcpiFrom)!==void 0)&&r.push(n(`tr064_signalTooltip`,e.rcpiTo===void 0?`–`:String(e.rcpiTo),e.rcpiFrom===void 0?`–`:String(e.rcpiFrom))),((e==null?void 0:e.rsniTo)!==void 0||(e==null?void 0:e.rsniFrom)!==void 0)&&r.push(n(`tr064_noiseTooltip`,e.rsniTo===void 0?`–`:String(e.rsniTo),e.rsniFrom===void 0?`–`:String(e.rsniFrom))),(t===`too_far`||t===`too_close`)&&r.push(n(`tr064_position_${t}`)),r}function Wt(e){return(0,N.jsx)(x,{component:`span`,sx:{display:`inline-block`,flexShrink:0,width:10,height:10,borderRadius:`2px`,backgroundColor:L[e.kind]}})}function Gt(){return(0,N.jsx)(x,{sx:{display:`flex`,gap:1.5,alignItems:`center`,flexWrap:`wrap`},children:[`2.4`,`5`,`6`,`LAN`].map(e=>(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:.5},children:[(0,N.jsx)(Wt,{kind:e}),(0,N.jsx)(O,{variant:`caption`,children:z(e)})]},e))})}function Kt(e,t,n,r){var i;let a=Qe(e.link),o=((i=e.link.state)==null?void 0:i.toUpperCase())===`CONNECTED`,s=[z(a)||e.link.type,o&&e.link.curDown?`${M(e.link.curDown)} Mbit/s`:``].filter(Boolean).join(` · `),c=[`${e.link.interface||e.link.type} - ${r(o?`tr064_connected`:`tr064_disconnected`)}`,e.link.curDown||e.link.curUp?r(`tr064_rateTooltip`,M(e.link.curDown),M(e.link.curUp)):``,...Ut(e.link,void 0,r),o?``:Ht(e.link.lastConnected,r)].filter(Boolean);return(0,N.jsxs)(`g`,{children:[(0,N.jsx)(`title`,{children:c.join(`
|
|
2
|
+
`)}),(0,N.jsx)(`path`,{d:e.d,fill:`none`,stroke:L[a],strokeWidth:2.5,strokeDasharray:o?void 0:`6 4`}),(0,N.jsx)(`text`,{x:e.labelX,y:e.labelY,fontSize:11,fill:n.palette.text.secondary,children:s})]},`edge-${t}`)}function qt(e,t,n,r){let i=t.palette,a=e.view.node,o=a?a.name||a.mac:n(`tr064_notAssigned`),s=a?n(`tr064_role_${a.role}`):``,c=a!=null&&a.model&&a.model!==a.name?a.model:``,l=a&&r.showVendor?R(a,n):``,u=[c||l,(a==null?void 0:a.ip)||``,s].filter(Boolean).join(` · `),d=a&&a.role!==`master`&&a.mac&&r.onRename?a.uid:``,f=e.view.clients.length,p=f===1?n(`tr064_oneDevice`):f?n(`tr064_devices`,f):``,m=A(e.w-20-(p?p.length*6.2+8:0),14,!0),h=A(e.w-20,11);return(0,N.jsxs)(`g`,{transform:`translate(${e.x}, ${e.y})`,children:[(0,N.jsx)(`title`,{children:[o,a==null?void 0:a.model,a?R(a,n):``,a==null?void 0:a.mac,a==null?void 0:a.ip,d?n(`tr064_clickToRename`):``].filter(Boolean).join(`
|
|
3
|
+
`)}),(0,N.jsx)(`rect`,{width:e.w,height:e.h,rx:8,fill:i.background.paper,stroke:(a==null?void 0:a.role)===`master`?i.primary.main:i.divider,strokeWidth:(a==null?void 0:a.role)===`master`?2:1,strokeDasharray:a?void 0:`5 4`}),(0,N.jsx)(`text`,{x:10,y:24,fontSize:14,fontWeight:600,fill:i.text.primary,style:d?{cursor:`pointer`}:void 0,onClick:d?()=>r.onRename(d):void 0,children:j(o,m)}),(0,N.jsx)(`text`,{x:10,y:42,fontSize:11,fill:i.text.secondary,children:j(u,h)}),(0,N.jsx)(`text`,{x:e.w-10,y:24,fontSize:11,textAnchor:`end`,fill:i.text.secondary,children:p}),e.view.clients.map((t,a)=>{var o;let s=a%e.columns,c=Math.floor(a/e.columns),l=10+s*(e.chipW+6),u=60+c*(e.chipH+6),d=Qe(t.link),f=!!t.node.configured,p=t.node.configured||t.node.name||t.node.mac,m=r.showVendor?R(t.node,n):``,h=e.chipH>=56&&!!m,g=t.connected?it(t.link):void 0,_=Math.max(z(d)?34:0,g===void 0?0:kt),v=e.chipW-47-_-6,y=g===void 0?e.chipW-47-8:v,b=t.node.ip?`IP: ${t.node.ip}`:``,x=!h&&b&&m?b.length*5.7+10:0,S=g===void 0?``:zt(d,g,t.node.position),ee=[f?n(`tr064_configuredAs`,t.node.configured):``,t.node.name,R(t.node,n),t.node.mac,t.node.ip,t.link?t.link.interface||t.link.type:``,t.connected?n(`tr064_connected`):n(`tr064_disconnected`),t.link&&(t.link.curDown||t.link.curUp)?n(`tr064_rateTooltip`,M(t.link.curDown),M(t.link.curUp)):``,...t.connected?Ut(t.link,t.node.position,n):[],t.connected?``:Ht((o=t.link)==null?void 0:o.lastConnected,n),r.onRename?n(`tr064_clickToRename`):``].filter(Boolean);return(0,N.jsxs)(`g`,{transform:`translate(${l}, ${u})`,opacity:t.connected?1:f?.85:.6,style:r.onRename?{cursor:`pointer`}:void 0,onClick:r.onRename?()=>r.onRename(t.node.uid):void 0,children:[(0,N.jsx)(`title`,{children:ee.join(`
|
|
4
|
+
`)}),(0,N.jsx)(`rect`,{width:e.chipW,height:e.chipH,rx:7,fill:i.action.hover,stroke:f?i.primary.main:i.divider,strokeWidth:f?2:1,strokeDasharray:t.connected?void 0:`4 3`}),(0,N.jsx)(`path`,{d:`M 7 0.5 H 7 A 6.5 6.5 0 0 0 0.5 7 V ${e.chipH-7} A 6.5 6.5 0 0 0 7 ${e.chipH-.5} V 0.5 Z`,fill:L[d]}),(0,N.jsx)(`rect`,{x:Et,y:(e.chipH-Dt)/2,width:Dt,height:Dt,rx:6,fill:k(L[d],.14)}),(0,N.jsx)(_t,{deviceClass:t.node.deviceClass,x:18,y:(e.chipH-Ot)/2,size:Ot,color:L[d]}),(0,N.jsx)(`text`,{x:47,y:h?19:17,fontSize:12.5,fontWeight:f?700:600,fill:f?i.primary.main:i.text.primary,children:j(p,A(v,12.5,!0))}),m?(0,N.jsx)(`text`,{x:47,y:h?34:31,fontSize:10,fontStyle:`italic`,opacity:.75,fill:i.text.secondary,children:j(m,A(y-x,10))}):null,b?(0,N.jsx)(`text`,{x:x?47+y:47,y:h?48:31,fontSize:10,textAnchor:x?`end`:`start`,fill:i.text.secondary,children:j(b,A(y,10))}):null,(0,N.jsx)(`text`,{x:e.chipW-8,y:h?19:16,fontSize:10,textAnchor:`end`,fill:i.text.secondary,children:z(d)}),g===void 0?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Bt,{rcpi:g,x:e.chipW-8-kt,y:h?41:34,color:S}),(0,N.jsx)(`text`,{x:e.chipW-8,y:h?41:34,fontSize:10.5,textAnchor:`end`,fill:S,children:Vt(g)})]})]},t.node.uid)})]},`card-${(a==null?void 0:a.uid)||`unassigned`}`)}function Jt(e){let{tree:t,width:n,t:r,theme:i,showVendor:a,onRename:o}=e,s=n>=Mt,c=n>=Nt,l=c?void 0:{px:1};return(0,N.jsxs)(w,{size:`small`,stickyHeader:!0,children:[(0,N.jsx)(D,{children:(0,N.jsxs)(ue,{children:[(0,N.jsx)(E,{sx:l,children:r(`tr064_device`)}),c?(0,N.jsx)(E,{children:r(`tr064_accessPoint`)}):null,(0,N.jsx)(E,{sx:l,children:r(`tr064_connection`)}),c?(0,N.jsx)(E,{children:r(`tr064_state`)}):null,c?(0,N.jsx)(E,{children:r(`tr064_signal`)}):null,c?(0,N.jsx)(E,{children:r(`tr064_rate`)}):null,s?(0,N.jsx)(E,{children:r(`tr064_mac`)}):null,s?(0,N.jsx)(E,{children:r(`tr064_ip`)}):null,o?(0,N.jsx)(E,{sx:{width:40}}):null]})}),(0,N.jsx)(T,{children:t.rows.map(e=>(0,N.jsxs)(ue,{sx:{opacity:e.connected?1:.6},children:[(0,N.jsxs)(E,{sx:{...l,fontWeight:e.configured?700:400,color:e.configured?i.palette.primary.main:void 0,overflowWrap:`anywhere`},title:e.configured&&e.hostName!==e.name?e.hostName:void 0,children:[(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:.75},children:[(0,N.jsx)(x,{component:gt(e.deviceClass),sx:{fontSize:17,flex:`0 0 auto`,color:e.kind?L[e.kind]:`text.secondary`}}),(0,N.jsx)(`span`,{children:e.name})]}),a&&R(e,r)?(0,N.jsx)(O,{variant:`caption`,component:`div`,color:`text.secondary`,sx:{fontStyle:`italic`,opacity:.7,fontWeight:400},children:R(e,r)}):null,c?null:(0,N.jsx)(O,{variant:`caption`,component:`div`,color:`text.secondary`,sx:{fontWeight:400},children:[e.accessPoint||r(`tr064_notAssigned`),e.connected?``:r(`tr064_disconnected`)].filter(Boolean).join(` · `)})]}),c?(0,N.jsx)(E,{children:e.accessPoint||r(`tr064_notAssigned`)}):null,(0,N.jsx)(E,{sx:{...l,whiteSpace:`nowrap`},children:e.kind?(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:.75},children:[(0,N.jsx)(Wt,{kind:e.kind}),z(e.kind)||e.type]}):null}),c?(0,N.jsxs)(E,{children:[e.connected?r(`tr064_connected`):r(`tr064_disconnected`),!e.connected&&e.lastConnected?(0,N.jsx)(O,{variant:`caption`,component:`div`,color:`text.secondary`,children:Ht(e.lastConnected,r)}):null]}):null,c?(0,N.jsxs)(E,{sx:{whiteSpace:`nowrap`},children:[e.connected&&e.rcpi!==void 0?(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:.75},children:[(0,N.jsx)(x,{component:`svg`,viewBox:`0 0 13 11`,sx:{width:13,height:11,flex:`0 0 auto`},children:(0,N.jsx)(Bt,{rcpi:e.rcpi,x:0,y:11,color:zt(e.kind,e.rcpi,e.position)})}),Vt(e.rcpi)]}):null,e.connected&&(e.position===`too_far`||e.position===`too_close`)?(0,N.jsx)(O,{variant:`caption`,component:`div`,color:e.position===`too_far`?`warning.main`:`text.secondary`,children:r(`tr064_position_${e.position}`)}):null]}):null,c?(0,N.jsx)(E,{sx:{whiteSpace:`nowrap`},children:Lt(e)}):null,s?(0,N.jsx)(E,{sx:{fontFamily:`monospace`},children:e.mac}):null,s?(0,N.jsx)(E,{children:e.ip||``}):null,o?(0,N.jsx)(E,{sx:{...l,width:40},children:(0,N.jsx)(se,{size:`small`,title:r(`tr064_rename`),onClick:()=>o(e.uid),children:(0,N.jsx)(Oe,{fontSize:`small`})})}):null]},e.uid))})]})}function Yt(t){let{node:n,t:r,onClose:i,onRename:a}=t,[o,s]=e(n.name||``),[c,l]=e(!1),[u,d]=e(null),f=o.trim()&&o.trim()!==n.name,p=()=>{f&&!c&&(l(!0),d(null),a(n.mac,o.trim()).then(e=>{l(!1),e?d(e):i()}))};return(0,N.jsxs)(te,{open:!0,fullWidth:!0,maxWidth:`sm`,onClose:c?void 0:i,children:[(0,N.jsx)(ie,{children:r(`tr064_renameTitle`)}),(0,N.jsxs)(re,{children:[(0,N.jsx)(O,{variant:`body2`,color:`text.secondary`,sx:{mb:2},children:[n.mac,R(n,r),n.ip].filter(Boolean).join(` · `)}),(0,N.jsx)(de,{fullWidth:!0,autoFocus:!0,variant:`standard`,label:r(`tr064_newName`),value:o,disabled:c,error:!!u,slotProps:{htmlInput:{maxLength:jt}},onChange:e=>s(e.target.value),onKeyUp:e=>{e.key===`Enter`&&p()}}),(0,N.jsx)(b,{severity:`info`,sx:{mt:2},children:r(`tr064_renameHint`)}),u?(0,N.jsx)(b,{severity:`error`,sx:{mt:1},children:r(`tr064_renameFailed`,u)}):null]}),(0,N.jsxs)(ne,{children:[(0,N.jsx)(S,{variant:`contained`,disabled:c||!f,startIcon:c?(0,N.jsx)(C,{size:16}):(0,N.jsx)(Oe,{}),onClick:p,children:r(`tr064_rename`)}),(0,N.jsx)(S,{variant:`contained`,color:`inherit`,disabled:c,startIcon:(0,N.jsx)(Ce,{}),onClick:i,children:r(`tr064_cancel`)})]})]})}function Xt(r){let{data:a,loading:o,error:s,onRefresh:c,onRename:l,t:u,compact:d,height:f}=r,p=r.storageKey||`tr064.meshTopology`,m=ye(),h=i(()=>r.themeType&&r.themeType!==m.palette.mode?ge({palette:{mode:r.themeType}}):m,[m,r.themeType]),[g,_]=e(()=>Pt(p)),v=e=>{let t={...g,...e};_(t),Ft(p,t)},[y,te]=e(null),ne=y?((a==null?void 0:a.nodes)||[]).find(e=>e.uid===y):void 0,re=l&&a!=null&&a.canRename?e=>te(e):void 0,ie=t(null),[ae,ce]=e(0);n(()=>{let e=ie.current;if(!e||(ce(Math.floor(e.getBoundingClientRect().width)),typeof ResizeObserver>`u`))return;let t=new ResizeObserver(e=>{var t;let n=Math.floor(((t=e[0])==null?void 0:t.contentRect.width)||0);ce(e=>e===n?e:n)});return t.observe(e),()=>t.disconnect()},[]);let w=i(()=>a?ot(a,{onlyConfigured:g.onlyConfigured,showDisconnected:g.showDisconnected}):null,[a,g.onlyConfigured,g.showDisconnected]),T=Math.max(0,ae-2),E=i(()=>{if(!w||!T)return null;let e=[...w.roots];return w.unassigned.length&&e.push({clients:w.unassigned,children:[]}),pt(e,T,g.showVendor)},[w,T,g.showVendor]),D=!!d||ae>0&&ae<At,ue=f!=null&&f!==``,de={overflow:`auto`,minHeight:0,border:`1px solid ${h.palette.divider}`,borderRadius:1,...ue?{flex:`1 1 auto`}:{maxHeight:`75vh`}},he=(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,columnGap:D?.5:1,rowGap:.5,mb:1,flex:`0 0 auto`},children:[D?(0,N.jsx)(se,{size:`small`,title:u(`tr064_refresh`),disabled:o,onClick:()=>c(),children:o?(0,N.jsx)(C,{size:18}):(0,N.jsx)(Le,{fontSize:`small`})}):(0,N.jsx)(S,{variant:`outlined`,size:`small`,startIcon:o?(0,N.jsx)(C,{size:16}):(0,N.jsx)(Le,{}),disabled:o,onClick:()=>c(),children:u(`tr064_refresh`)}),[{key:`onlyConfigured`,label:u(`tr064_onlyConfigured`)},{key:`showDisconnected`,label:u(`tr064_showDisconnected`)},{key:`showVendor`,label:u(`tr064_showVendor`)}].map(e=>(0,N.jsx)(oe,{sx:D?{mr:.5,ml:0}:void 0,control:(0,N.jsx)(ee,{size:`small`,sx:D?{p:.5}:void 0,checked:g[e.key],onChange:t=>v({[e.key]:t.target.checked})}),label:(0,N.jsx)(O,{variant:D?`body2`:`body1`,children:e.label})},e.key)),(0,N.jsxs)(me,{size:`small`,exclusive:!0,value:g.viewMode,onChange:(e,t)=>t&&v({viewMode:t}),children:[(0,N.jsx)(pe,{value:`graph`,title:u(`tr064_graph`),sx:D?{p:.5}:void 0,children:(0,N.jsx)(be,{fontSize:`small`})}),(0,N.jsx)(pe,{value:`table`,title:u(`tr064_table`),sx:D?{p:.5}:void 0,children:(0,N.jsx)(Ge,{fontSize:`small`})})]}),(0,N.jsx)(x,{sx:{flexGrow:1}}),(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,columnGap:1.5,rowGap:.5},children:[(0,N.jsx)(Gt,{}),a!=null&&a.ts?(0,N.jsx)(O,{variant:`caption`,color:`text.secondary`,children:u(`tr064_updated`,new Date(a.ts).toLocaleTimeString())}):null]})]}),k;if(s&&(s===`not alive`||!a)){let e=It(s,u);k=(0,N.jsx)(b,{severity:e.severity,children:e.text})}else if(!a||!w)k=(0,N.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:1,p:2},children:[(0,N.jsx)(C,{size:20}),(0,N.jsx)(O,{children:u(`tr064_loading`)})]});else{let e=s?It(s,u):null;k=(0,N.jsxs)(N.Fragment,{children:[e?(0,N.jsx)(b,{severity:e.severity,sx:{mb:1,flex:`0 0 auto`},children:e.text}):null,!w.roots.length&&!w.unassigned.length?(0,N.jsx)(b,{severity:`info`,children:u(`tr064_noData`)}):g.viewMode===`table`?(0,N.jsx)(le,{sx:de,children:(0,N.jsx)(Jt,{tree:w,width:T,t:u,theme:h,showVendor:g.showVendor,onRename:re})}):(0,N.jsx)(x,{sx:{...de,backgroundColor:h.palette.background.default},children:E?(0,N.jsxs)(`svg`,{width:E.width,height:E.height,style:{display:`block`,fontFamily:h.typography.fontFamily},children:[E.edges.map((e,t)=>Kt(e,t,h,u)),E.cards.map(e=>qt(e,h,u,{showVendor:g.showVendor,onRename:re}))]}):null})]})}let _e=(0,N.jsxs)(x,{ref:ie,sx:{width:`100%`,minWidth:0,display:`flex`,flexDirection:`column`,...ue?{height:f}:{}},children:[he,k,ne&&l?(0,N.jsx)(Yt,{node:ne,t:u,onClose:()=>te(null),onRename:l}):null]});return h===m?_e:(0,N.jsx)(fe,{theme:h,children:_e})}var Zt={connection:`info.connection`,model:`states.boxModel`,firmware:`states.boxFirmware`,accessType:`states.wanAccessType`,linkStatus:`states.wanLinkStatus`,provider:`states.wanProvider`,externalIP:`states.externalIP`,receiveRate:`states.wanReceiveRate`,sendRate:`states.wanSendRate`,downstreamMax:`states.wanDownstreamMax`,upstreamMax:`states.wanUpstreamMax`,wlan:`states.wlan`,wlan24:`states.wlan24`,wlan50:`states.wlan50`,wlan52:`states.wlan52`,wlan60:`states.wlan60`,wlanGuest:`states.wlanGuest`,abNewMessages:`states.abNewMessages`,missedCalls:`calllists.missed.count`,ringing:`callmonitor.ringing`},Qt=Object.keys(Zt),$t=[{key:`wlan24`,label:`2.4`},{key:`wlan50`,label:`5`},{key:`wlan52`,label:`5 (2)`},{key:`wlan60`,label:`6`},{key:`wlanGuest`,label:``,guest:!0}],en=`tr-064.0`;function B(e){let t=String(e??``).trim().replace(/^system\.adapter\./,``);return/^\d+$/.test(t)?`tr-064.${t}`:/^[-\w]+\.\d+$/.test(t)?t:en}function V(e,t){let n=e[t];return n!=null&&n!==``}function H(e,t){let n=Number(e[t]);return Number.isFinite(n)?n:0}function U(e,t){return V(e,t)?String(e[t]):``}function W(e,t){let n=e[t];return n===!0||n===`true`||n===1||n===`1`}function tn(e,t,n){let r=e.toFixed(t);return n?r.replace(`.`,`,`):r}function nn(e,t,n){if(!Number.isFinite(e)||e<=0)return{value:`0`,unit:`Mbit/s`};let r,i;e<1e6?(r=e/1e3,i=`kbit/s`):e<1e9?(r=e/1e6,i=`Mbit/s`):(r=e/1e9,i=`Gbit/s`);let a=r<10?1:+(r<100&&i!==`kbit/s`);i===`Gbit/s`&&(a=r<10?2:1),n&&Math.abs(r-Math.round(r))<.05&&(a=0);let o=tn(r,a,t);return n&&a&&(o=o.replace(/([.,]\d*?)0+$/,`$1`).replace(/[.,]$/,``)),{value:o,unit:i}}function rn(e){let t=e.match(/^\d+\.(\d+)\.(\d+)/);return t?`FRITZ!OS ${Number(t[1])}.${t[2]}`:e}function an(e,t){return!t||t<=0||!e||e<=0?0:Math.min(100,Math.max(0,e/t*100))}var on=u==null?void 0:u.Box;function G(e,t){return(s==null?void 0:s[e])||function({sx:e}){return(0,N.jsx)(on,{component:`span`,sx:{lineHeight:1,display:`inline-flex`,...e},children:t})}}var sn=G(`RouterOutlined`,`⌂`),cn=G(`RingVolume`,`☎`),ln=G(`SouthRounded`,`↓`),un=G(`NorthRounded`,`↑`),dn=G(`Wifi`,`≋`),fn=G(`WifiOff`,`≋`),pn=G(`Voicemail`,`✉`),mn=G(`PhoneMissed`,`☏`),hn=G(`Public`,`◍`),gn=G(`Hub`,`⌘`),_n=G(`Close`,`✕`),vn=G(`ChevronRight`,`›`),yn=G(`Person`,`☺`),bn=G(`Login`,`→`),xn=G(`Logout`,`←`),Sn=G(`History`,`↺`),Cn=G(`Refresh`,`↻`),wn=G(`Smartphone`,`▯`),K=u==null?void 0:u.Box,q=u==null?void 0:u.Typography,Tn=u==null?void 0:u.Tooltip,En=u==null?void 0:u.Dialog,Dn=u==null?void 0:u.DialogTitle,On=u==null?void 0:u.DialogContent,kn=u==null?void 0:u.DialogActions,An=u==null?void 0:u.Button,jn=u==null?void 0:u.IconButton,J=o==null?void 0:o.I18n,Mn={online:`fritzdm_online`,noInternet:`fritzdm_noInternet`,connecting:`fritzdm_connecting`,unreachable:`fritzdm_unreachable`,unknown:``},Nn=[`Up`,`Down`,`Initializing`,`Unavailable`],Pn=[`Fiber`,`Cable`],Fn=`tr064.devices.meshTopology`;function In(e,...t){return J.t(e,...t)}var Ln=class e extends l{constructor(t){super(t),F(this,`subscriptions`,[]),F(this,`meshLoader`,null),F(this,`openMesh`,()=>{var e,t;this.state.meshOpen||((e=(t=this.props).onOpenWidgetDialog)==null||e.call(t,this.dialogId),this.setState({meshOpen:!0},()=>this.startMesh()))}),F(this,`closeMesh`,()=>{var e,t;this.stopMesh(),this.setState({meshOpen:!1}),(e=(t=this.props).onCloseWidgetDialog)==null||e.call(t)}),F(this,`onTileKeyDown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.openMesh())}),F(this,`askReset`,e=>{e.stopPropagation(),this.setState({resetOpen:!0})}),F(this,`closeReset`,()=>{this.setState({resetOpen:!1})}),F(this,`resetMissed`,e=>{e.stopPropagation(),this.setState({resetOpen:!1}),this.props.stateContext.getSocket().setState(`${this.instance}.${Zt.missedCalls}`,0,!1).catch(()=>{})}),this.state={...this.state,values:{},meshOpen:t.openDialogId===e.dialogIdOf(t),mesh:{data:null,loading:!1,error:null},resetOpen:!1}}static getConfigSchema(){return{name:`fritzdm_widgetName`,schema:{type:`panel`,items:{size:{type:`select`,label:`wm_Size`,options:g,default:`2x1`,format:`radio`,horizontal:!0,noTranslation:!0},instance:{type:`instance`,adapter:`tr-064`,label:`fritzdm_instance`,default:`tr-064.0`,sm:12,md:6},name:{type:`text`,label:`fritzdm_name`,sm:12,md:6},showExternalIp:{type:`checkbox`,label:`fritzdm_showExternalIp`,default:!0,sm:12}}}}}static dialogIdOf(e){return`${e.widget.id}_mesh`}get dialogId(){return e.dialogIdOf(this.props)}get instance(){return B(this.props.settings.instance)}componentDidMount(){var e;(e=super.componentDidMount)==null||e.call(this),this.subscribe(),this.state.meshOpen&&this.startMesh()}componentDidUpdate(e,t,n){var r;if((r=super.componentDidUpdate)==null||r.call(this,e,t,n),B(e.settings.instance)!==this.instance&&(this.unsubscribe(),this.setState({values:{},mesh:{data:null,loading:!1,error:null},resetOpen:!1},()=>{this.subscribe(),this.state.meshOpen&&this.startMesh()})),e.openDialogId!==this.props.openDialogId){let t=this.props.openDialogId===this.dialogId;t&&!this.state.meshOpen?this.setState({meshOpen:!0},()=>this.startMesh()):!t&&e.openDialogId===this.dialogId&&this.state.meshOpen&&(this.stopMesh(),this.setState({meshOpen:!1}))}}componentWillUnmount(){var e;(e=super.componentWillUnmount)==null||e.call(this),this.unsubscribe(),this.stopMesh()}subscribe(){let e=this.props.stateContext;for(let t of Qt){let n=`${this.instance}.${Zt[t]}`,r=(e,n)=>this.onValue(t,n);e.getState(n,r),this.subscriptions.push({id:n,handler:r})}}unsubscribe(){let e=this.props.stateContext;for(let{id:t,handler:n}of this.subscriptions)e.removeState(t,n);this.subscriptions=[]}onValue(e,t){let n=t?t.val:null;this.setState(t=>t.values[e]===n?null:{values:{...t.values,[e]:n},indicators:e===`connection`&&t.indicators?{...t.indicators,connected:n===null?null:!!n}:t.indicators})}startMesh(){this.stopMesh();let e=new Tt({socket:this.props.stateContext.getSocket(),instanceId:this.instance,onChange:t=>{this.meshLoader===e&&this.setState({mesh:t})}});this.meshLoader=e,e.start()}stopMesh(){var e;(e=this.meshLoader)==null||e.stop(),this.meshLoader=null}isTileActive(){return W(this.state.values,`ringing`)}hasTileAction(){return!0}onTileClick(){this.openMesh()}renderTileIcon(){return this.renderIcon(`1em`)}get values(){return this.state.values}get displayName(){var e;return((e=this.props.settings)==null?void 0:e.name)||this.state.name||U(this.values,`model`)||`FRITZ!Box`}get floatComma(){return!!this.props.stateContext.isFloatComma}get status(){let e=this.values,t=e.connection;if(t===!1||t===`false`)return`unreachable`;let n=U(e,`linkStatus`);return n===`Up`?`online`:n===`Initializing`?`connecting`:n===`Down`||n===`Unavailable`?`noInternet`:W(e,`connection`)?`online`:`unknown`}statusColor(e){switch(this.status){case`online`:return e.palette.success.main;case`connecting`:return e.palette.warning.main;case`noInternet`:case`unreachable`:return e.palette.error.main;default:return e.palette.text.disabled}}get statusText(){let e=Mn[this.status];return e?J.t(e):`…`}get accessType(){let e=U(this.values,`accessType`);return Pn.includes(e)?J.t(`fritzdm_access_${e}`):e}get linkStatus(){let e=U(this.values,`linkStatus`);return Nn.includes(e)?J.t(`fritzdm_link_${e}`):e}get modelLine(){let e=U(this.values,`model`),t=U(this.values,`firmware`);return[e&&e!==this.displayName?e:``,t?rn(t):``].filter(Boolean).join(` · `)}accent(e){return this.getAccentColor()||e.palette.primary.main}rate(e){return this.status===`unreachable`||!V(this.values,e)?{value:`–`,unit:``}:nn(H(this.values,e)*8,this.floatComma)}rateText(e){let t=this.rate(e);return t.unit?`${t.value} ${t.unit}`:t.value}get hasRates(){return V(this.values,`receiveRate`)||V(this.values,`sendRate`)}get staleSx(){return this.status===`unreachable`?{opacity:.45}:{}}get showIp(){return this.props.settings.showExternalIp!==!1&&V(this.values,`externalIP`)}renderIcon(e){let t=W(this.values,`ringing`),n=this.status===`unreachable`;return(0,N.jsx)(K,{component:`span`,sx:r=>({display:`inline-flex`,flexShrink:0,fontSize:e,lineHeight:1,color:t?r.palette.warning.main:n?r.palette.text.disabled:this.accent(r),transition:`color 0.25s ease`,"& .MuiSvgIcon-root":{fontSize:`inherit`},...t?{animation:`fritzdmRing 1.2s ease-in-out infinite`,"@keyframes fritzdmRing":{"0%, 50%, 100%":{transform:`rotate(0deg)`},"10%, 30%":{transform:`rotate(-12deg)`},"20%, 40%":{transform:`rotate(12deg)`}}}:{}}),children:t?(0,N.jsx)(cn,{sx:{fontSize:`inherit`}}):(0,N.jsx)(sn,{sx:{fontSize:`inherit`}})})}renderStatus(e,t){let n=t&&this.status!==`unreachable`?this.accessType:``;return(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:`0.4em`,minWidth:0,fontSize:e,lineHeight:1.35},children:[(0,N.jsx)(K,{component:`span`,sx:e=>({width:`0.6em`,height:`0.6em`,flexShrink:0,borderRadius:`50%`,backgroundColor:this.statusColor(e),boxShadow:`0 0 0 0.18em ${p(this.statusColor(e),.2)}`})}),(0,N.jsxs)(K,{component:`span`,sx:{overflow:`hidden`,whiteSpace:`nowrap`,textOverflow:`ellipsis`,fontWeight:600,color:`text.secondary`},children:[(0,N.jsx)(K,{component:`span`,sx:e=>({color:this.status===`online`?`text.primary`:this.statusColor(e)}),children:this.statusText}),n?(0,N.jsx)(K,{component:`span`,children:` · ${n}`}):null]})]})}renderRateValue(e,t,n){let r=this.rate(e),i=e===`receiveRate`?ln:un;return(0,N.jsxs)(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`baseline`,gap:`0.2em`,fontSize:t,lineHeight:1.15,whiteSpace:`nowrap`,fontVariantNumeric:`tabular-nums`,color:n!=null&&n.muted?`text.secondary`:`text.primary`},children:[(0,N.jsx)(i,{sx:{fontSize:`0.8em`,alignSelf:`center`,color:n!=null&&n.muted?`text.secondary`:`text.disabled`}}),(0,N.jsx)(K,{component:`span`,sx:{fontWeight:700},children:r.value}),(n==null?void 0:n.unit)===!1||!r.unit?null:(0,N.jsx)(K,{component:`span`,sx:{fontSize:`max(9px, 0.62em)`,fontWeight:500,color:`text.secondary`},children:r.unit})]})}renderUsageBar(e,t){let n=H(this.values,t),r=an(H(this.values,e)*8,n),i=n>0?nn(n,this.floatComma,!0):null;return(0,N.jsx)(K,{title:i?J.t(`fritzdm_maxRate`,`${i.value} ${i.unit}`):void 0,sx:{height:4,borderRadius:2,overflow:`hidden`,backgroundColor:`rgba(127,127,127,0.22)`},children:(0,N.jsx)(K,{sx:t=>({width:`${n>0?Math.max(r,r>0?2:0):0}%`,height:`100%`,borderRadius:`inherit`,backgroundColor:e===`receiveRate`?this.accent(t):p(this.accent(t),.6),transition:`width 0.6s ease`})})})}renderRates(e,t){if(!this.hasRates)return null;let n=(n,r,i)=>{let a=H(this.values,r),o=a>0?nn(a,this.floatComma,!0):null;return(0,N.jsxs)(K,{sx:{flex:`1 1 0`,minWidth:0,display:`flex`,flexDirection:`column`,gap:`4px`},children:[t?(0,N.jsx)(q,{variant:`caption`,noWrap:!0,sx:{color:`text.secondary`,lineHeight:1.2,fontSize:`0.7rem`},children:i}):null,this.renderRateValue(n,e),a>0?this.renderUsageBar(n,r):null,t&&o?(0,N.jsx)(q,{variant:`caption`,noWrap:!0,sx:{color:`text.secondary`,lineHeight:1.2,fontSize:`0.65rem`},children:J.t(`fritzdm_maxRate`,`${o.value} ${o.unit}`)}):null]})};return(0,N.jsxs)(K,{sx:{display:`flex`,gap:`max(12px, 4cqi)`,minWidth:0,...this.staleSx},children:[n(`receiveRate`,`downstreamMax`,J.t(`fritzdm_download`)),n(`sendRate`,`upstreamMax`,J.t(`fritzdm_upload`))]})}static renderPill(e,t,n){let r=(0,N.jsx)(K,{component:`span`,role:n.onClick?`button`:void 0,tabIndex:n.onClick?0:void 0,onClick:n.onClick,onKeyDown:n.onClick?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.onClick(e))}:void 0,sx:e=>{var t;let r=(t=n.color)==null?void 0:t.call(n,e);return{display:`inline-flex`,alignItems:`center`,gap:`3px`,flexShrink:0,height:`1.7em`,px:`0.55em`,borderRadius:`0.85em`,fontSize:`inherit`,fontWeight:n.strong?700:600,lineHeight:1,whiteSpace:`nowrap`,color:n.off?e.palette.text.disabled:r||e.palette.text.secondary,backgroundColor:n.off?`transparent`:r?p(r,e.palette.mode===`dark`?.2:.12):p(e.palette.text.primary,.07),border:n.off?`1px dashed ${p(e.palette.text.primary,.22)}`:`1px solid transparent`,textDecoration:n.off?`line-through`:`none`,"& .MuiSvgIcon-root":{fontSize:`1.15em`},...n.onClick?{cursor:`pointer`,outline:`none`,"&:hover":{filter:`brightness(1.15)`},"&:focus-visible":{boxShadow:`0 0 0 2px ${p(e.palette.text.primary,.4)}`}}:{}}},children:t},e);return n.title?(0,N.jsx)(Tn,{title:n.title,slotProps:{popper:{sx:{pointerEvents:`none`}}},children:r},e):r}renderWlan(t,n){let r=this.values,i=$t.filter(e=>V(r,e.key));if(!i.length&&!V(r,`wlan`))return null;let a=J.t(`fritzdm_on`),o=J.t(`fritzdm_off`),s=i.length?i.some(e=>W(r,e.key)):W(r,`wlan`),c=e=>e.palette.success.main,l=i.length?i.map(t=>{let n=W(r,t.key),i=t.guest?J.t(`fritzdm_guest`):this.floatComma?t.label.replace(`.`,`,`):t.label,s=t.guest?J.t(`fritzdm_guestWlan`):`${i} GHz`;return e.renderPill(t.key,i,{color:n?c:void 0,off:!n,title:`${s}: ${n?a:o}`})}):[e.renderPill(`wlan`,`${J.t(`fritzdm_wlan`)}`,{color:s?c:void 0,off:!s,title:`${J.t(`fritzdm_wlan`)}: ${s?a:o}`})];return(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:`4px`,fontSize:t,minWidth:0,flexWrap:`nowrap`,overflow:`hidden`,...this.staleSx},children:[(0,N.jsx)(K,{component:`span`,title:J.t(`fritzdm_wlan`),sx:{display:`inline-flex`,color:s?`text.secondary`:`text.disabled`,mr:`1px`},children:s?(0,N.jsx)(dn,{sx:{fontSize:`1.35em`}}):(0,N.jsx)(fn,{sx:{fontSize:`1.35em`}})}),n?(0,N.jsx)(K,{component:`span`,sx:{color:`text.secondary`,fontWeight:600,mr:`2px`},children:J.t(`fritzdm_wlan`)}):null,l]})}renderPhone(t,n,r){let i=this.values,a=[],o=e=>e.palette.warning.main,s=e=>e.palette.error.main,c=(e,t)=>r===`auto`?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(K,{component:`span`,sx:{"@container (min-width: 400px)":{display:`none`}},children:e}),(0,N.jsx)(K,{component:`span`,sx:{display:`none`,"@container (min-width: 400px)":{display:`inline`}},children:t})]}):(0,N.jsx)(N.Fragment,{children:e});if(W(i,`ringing`)&&a.push(e.renderPill(`ringing`,(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(cn,{}),r===`auto`?J.t(`fritzdm_ringing`):null]}),{color:o,title:J.t(`fritzdm_ringing`),strong:!0})),V(i,`abNewMessages`)){let t=H(i,`abNewMessages`);if(t||n){let n=t===1?J.t(`fritzdm_oneNewMessage`):t?J.t(`fritzdm_newMessages`,t):J.t(`fritzdm_noNewMessages`);a.push(e.renderPill(`ab`,(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(pn,{}),c(t,n)]}),{color:t?o:void 0,title:n}))}}if(V(i,`missedCalls`)){let t=H(i,`missedCalls`);if(t||n){let n=t===1?J.t(`fritzdm_oneMissedCall`):t?J.t(`fritzdm_missedCalls`,t):J.t(`fritzdm_noMissedCalls`);a.push(e.renderPill(`missed`,(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(mn,{}),c(t,n)]}),{color:t?s:void 0,title:t?`${n} - ${J.t(`fritzdm_resetHint`)}`:n,onClick:t?this.askReset:void 0}))}}return a.length?(0,N.jsx)(K,{sx:{display:`flex`,alignItems:`center`,gap:`4px`,fontSize:t,minWidth:0,flexWrap:`nowrap`,overflow:`hidden`,...this.staleSx},children:a}):null}renderIp(e){return this.showIp?(0,N.jsxs)(K,{title:J.t(`fritzdm_externalIp`),sx:{display:`inline-flex`,alignItems:`center`,gap:`0.3em`,minWidth:0,fontSize:e,color:`text.secondary`,...this.staleSx},children:[(0,N.jsx)(hn,{sx:{fontSize:`1.2em`,flexShrink:0}}),(0,N.jsx)(K,{component:`span`,sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontVariantNumeric:`tabular-nums`,letterSpacing:`0.01em`},children:U(this.values,`externalIP`)})]}):null}renderName(e,t){return(0,N.jsx)(q,{ref:this.nameRef,variant:`body2`,sx:n=>({fontWeight:600,lineHeight:1.3,overflow:`hidden`,whiteSpace:`nowrap`,fontSize:e,...c(n)?{textTransform:`uppercase`,letterSpacing:`0.08em`,fontSize:t}:{}}),children:this.displayName})}renderTileIndicators(){return(0,N.jsx)(`div`,{onClick:m,onKeyDown:m,style:{display:`contents`},children:this.renderIndicators(this.renderSettingsButton())})}renderFrame(e,t,n){let r=this.isTileActive();return(0,N.jsxs)(K,{id:String(this.props.widget.id),className:this.getWidgetClass(),sx:t=>y(t,e),children:[e===`2x1`?(0,N.jsx)(K,{sx:{width:`calc(50% - 6px)`,aspectRatio:`1`}}):null,(0,N.jsxs)(K,{role:`button`,tabIndex:0,"aria-label":`${this.displayName} - ${J.t(`fritzdm_showMesh`)}`,onClick:this.openMesh,onKeyDown:this.onTileKeyDown,sx:n=>({boxSizing:`border-box`,position:e===`2x1`?`absolute`:`relative`,...e===`2x1`?{inset:0}:{},width:`100%`,overflow:`hidden`,userSelect:`none`,cursor:`pointer`,textAlign:`left`,color:`text.primary`,outline:`none`,...d(n,r,this.getAccentColor(),!0,this.getInactiveColor()),"&:focus-visible":{boxShadow:`0 0 0 2px ${this.accent(n)} inset`},...t(n)}),children:[n,this.renderTileIndicators()]}),this.state.meshOpen||this.state.resetOpen?(0,N.jsxs)(`span`,{style:{display:`contents`},onClick:m,onPointerDown:m,onMouseDown:m,onTouchStart:m,onKeyDown:m,children:[this.state.meshOpen?this.renderMeshDialog():null,this.state.resetOpen?this.renderResetDialog():null]}):null]})}renderResetDialog(){let e=H(this.values,`missedCalls`);return(0,N.jsxs)(En,{open:!0,onClose:this.closeReset,maxWidth:`xs`,fullWidth:!0,"aria-labelledby":`${this.dialogId}-reset-title`,children:[(0,N.jsxs)(Dn,{id:`${this.dialogId}-reset-title`,component:`div`,sx:{display:`flex`,alignItems:`center`,gap:1.5,py:1.5},children:[(0,N.jsx)(mn,{sx:e=>({color:e.palette.error.main,flexShrink:0})}),(0,N.jsx)(q,{component:`h2`,sx:{fontSize:`1.05rem`,fontWeight:600,lineHeight:1.3},children:J.t(`fritzdm_resetMissedTitle`)})]}),(0,N.jsx)(On,{children:(0,N.jsx)(q,{variant:`body2`,children:J.t(`fritzdm_resetMissedText`,e)})}),(0,N.jsxs)(kn,{children:[(0,N.jsx)(An,{variant:`contained`,color:`primary`,autoFocus:!0,onClick:this.resetMissed,children:J.t(`fritzdm_reset`)}),(0,N.jsx)(An,{variant:`contained`,color:`inherit`,startIcon:(0,N.jsx)(_n,{}),onClick:this.closeReset,children:J.t(`fritzdm_cancel`)})]})]})}renderMeshDialog(){let{data:e,loading:t,error:n}=this.state.mesh;return(0,N.jsxs)(En,{open:!0,onClose:this.closeMesh,maxWidth:!1,"aria-labelledby":`${this.dialogId}-title`,slotProps:{paper:{sx:{width:`min(1200px, calc(100vw - 32px))`,height:n&&!e?`auto`:`min(880px, calc(100dvh - 32px))`,maxWidth:`none`,maxHeight:`none`,m:2,display:`flex`,flexDirection:`column`,"@media (max-width: 599.95px)":{width:`100%`,height:`100%`,m:0,borderRadius:0}}}},children:[(0,N.jsxs)(Dn,{id:`${this.dialogId}-title`,component:`div`,sx:{display:`flex`,alignItems:`center`,gap:1.5,pr:1,py:1.5},children:[(0,N.jsx)(gn,{sx:e=>({color:this.accent(e),fontSize:28,flexShrink:0})}),(0,N.jsxs)(K,{sx:{flex:1,minWidth:0},children:[(0,N.jsx)(q,{component:`h2`,noWrap:!0,sx:{fontSize:`1.05rem`,fontWeight:600,lineHeight:1.3},children:J.t(`fritzdm_meshTitle`)}),(0,N.jsx)(q,{component:`div`,variant:`caption`,noWrap:!0,sx:{color:`text.secondary`,display:`block`},children:[this.displayName,this.instance].join(` · `)})]}),(0,N.jsx)(jn,{onClick:this.closeMesh,title:J.t(`fritzdm_close`),"aria-label":J.t(`fritzdm_close`),children:(0,N.jsx)(_n,{})})]}),(0,N.jsx)(On,{sx:{flex:`1 1 auto`,minHeight:0,display:`flex`,flexDirection:`column`,pt:0,px:{xs:1.5,sm:3},pb:{xs:1.5,sm:2.5}},children:(0,N.jsx)(Xt,{data:e,loading:t,error:n,onRefresh:()=>{var e;(e=this.meshLoader)==null||e.refresh()},onRename:async(e,t)=>this.meshLoader?this.meshLoader.rename(e,t):`not alive`,t:In,height:`100%`,storageKey:Fn})})]})}renderCompact(){let e=e=>c(e)?`max(12px, 8cqi)`:`max(14px, 9cqi)`;return this.renderFrame(`1x1`,t=>({display:`flex`,flexDirection:`column`,justifyContent:`space-between`,aspectRatio:`1`,padding:e(t)}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(K,{sx:t=>({display:`flex`,alignItems:`flex-start`,minHeight:0,mt:v(e(t))}),children:this.renderIcon(`max(34px, 25cqi)`)}),(0,N.jsxs)(K,{sx:{minWidth:0},children:[this.hasRates?this.renderRateValue(`receiveRate`,`max(1rem, 11.5cqi)`,{muted:this.status!==`online`}):null,this.renderName(`max(0.8rem, 8.5cqi)`,`max(0.68rem, 6.8cqi)`),this.renderStatus(`max(0.66rem, 6.6cqi)`,!0)]})]}))}renderWide(){return this.renderFrame(`2x0.5`,e=>({display:`flex`,alignItems:`center`,gap:`max(10px, 3cqi)`,height:80,padding:c(e)?`8px 12px`:`8px 14px`}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(K,{sx:{alignSelf:`flex-end`,display:`flex`},children:this.renderIcon(`34px`)}),(0,N.jsxs)(K,{sx:{flex:1,minWidth:0,display:`flex`,flexDirection:`column`,gap:`3px`},children:[(0,N.jsx)(K,{sx:{pr:`26px`,minWidth:0},children:this.renderName(`0.85rem`,`0.72rem`)}),(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:1,minWidth:0},children:[(0,N.jsx)(K,{sx:{flex:`1 1 auto`,minWidth:0},children:this.renderStatus(`0.72rem`,!0)}),this.hasRates?(0,N.jsxs)(K,{title:`${J.t(`fritzdm_download`)}: ${this.rateText(`receiveRate`)}, ${J.t(`fritzdm_upload`)}: ${this.rateText(`sendRate`)}`,sx:{display:`flex`,gap:`8px`,flexShrink:0,...this.staleSx},children:[this.renderRateValue(`receiveRate`,`0.8rem`),this.renderRateValue(`sendRate`,`0.8rem`,{unit:!1})]}):null]}),(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:1,minWidth:0,overflow:`hidden`,height:18},children:[this.renderWlan(`0.66rem`,!1),(0,N.jsx)(K,{sx:{flex:`1 1 auto`,minWidth:0,display:`flex`,"@container (max-width: 340px)":{display:`none`}},children:this.renderIp(`0.68rem`)}),(0,N.jsx)(K,{sx:{ml:`auto`,flexShrink:0},children:this.renderPhone(`0.66rem`,!1,`count`)})]})]})]}))}renderWideTall(){let e=e=>c(e)?`max(12px, 3.5cqi)`:`max(14px, 4cqi)`;return this.renderFrame(`2x1`,t=>({display:`flex`,flexDirection:`column`,justifyContent:`space-between`,gap:`6px`,height:`100%`,padding:e(t)}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(K,{sx:t=>({display:`flex`,alignItems:`center`,gap:`max(10px, 3cqi)`,minWidth:0,mt:v(e(t))}),children:[this.renderIcon(`max(30px, 9cqi)`),(0,N.jsxs)(K,{sx:{flex:1,minWidth:0},children:[(0,N.jsx)(K,{sx:{pr:`26px`,minWidth:0},children:this.renderName(`max(0.875rem, 4.4cqi)`,`max(0.72rem, 3.5cqi)`)}),(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:1,minWidth:0},children:[(0,N.jsx)(K,{sx:{flex:`0 0 auto`,maxWidth:`100%`,minWidth:0},children:this.renderStatus(`max(0.7rem, 3.3cqi)`,!0)}),(0,N.jsx)(K,{sx:{flex:`0 1 auto`,minWidth:0,display:`flex`,ml:`auto`},children:this.renderIp(`max(0.68rem, 3.2cqi)`)})]})]})]}),this.renderRates(`max(0.95rem, 5cqi)`,!1),(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,minWidth:0},children:[(0,N.jsx)(K,{sx:{flex:`1 1 auto`,minWidth:0,display:`flex`},children:this.renderWlan(`max(0.66rem, 3cqi)`,!1)}),(0,N.jsx)(K,{sx:{flexShrink:0},children:this.renderPhone(`max(0.66rem, 3cqi)`,!1,`count`)})]})]}))}renderHuge(){let e=this.modelLine,t=this.status,n=[t===`unreachable`?``:this.accessType,t===`unreachable`?``:this.linkStatus,t===`unreachable`?``:U(this.values,`provider`)].filter(Boolean).join(` · `),r=e=>(0,N.jsx)(q,{variant:`caption`,noWrap:!0,sx:{color:`text.secondary`,fontSize:`max(0.68rem, 2.6cqi)`,lineHeight:1.2,width:`28%`,flexShrink:0},children:e}),i=this.renderIp(`max(0.75rem, 2.9cqi)`),a=this.renderWlan(`max(0.68rem, 2.7cqi)`,!1),o=this.renderPhone(`max(0.68rem, 2.7cqi)`,!0,`auto`),s=(e,t,n)=>n?(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:1,minWidth:0,minHeight:`1.6em`},children:[r(t),(0,N.jsx)(K,{sx:{flex:1,minWidth:0,display:`flex`},children:n})]},e):null,l=e=>c(e)?`max(14px, 4.5cqi)`:`max(16px, 5cqi)`;return this.renderFrame(`2x2`,e=>({display:`flex`,flexDirection:`column`,gap:`max(8px, 2.8cqi)`,aspectRatio:`1`,padding:l(e)}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(K,{sx:e=>({display:`flex`,alignItems:`center`,gap:`max(10px, 3cqi)`,minWidth:0,pr:`26px`,mt:v(l(e))}),children:[this.renderIcon(`max(36px, 11cqi)`),(0,N.jsxs)(K,{sx:{flex:1,minWidth:0},children:[this.renderName(`max(0.95rem, 5cqi)`,`max(0.78rem, 3.8cqi)`),e?(0,N.jsx)(q,{variant:`caption`,noWrap:!0,component:`div`,sx:{color:`text.secondary`,lineHeight:1.3,fontSize:`max(0.7rem, 3cqi)`},children:e}):null]})]}),(0,N.jsxs)(K,{sx:{display:`flex`,alignItems:`center`,gap:1,minWidth:0},children:[(0,N.jsx)(K,{sx:{flexShrink:0},children:this.renderStatus(`max(0.78rem, 3.3cqi)`,!1)}),n?(0,N.jsx)(q,{variant:`caption`,noWrap:!0,sx:{color:`text.secondary`,fontSize:`max(0.7rem, 2.9cqi)`,minWidth:0},children:n}):null]}),this.renderRates(`max(1.05rem, 5.6cqi)`,!0),(0,N.jsxs)(K,{sx:{display:`flex`,flexDirection:`column`,gap:`max(4px, 1.4cqi)`,minWidth:0},children:[s(`ip`,J.t(`fritzdm_externalIp`),i),s(`wlan`,J.t(`fritzdm_wlan`),a),s(`phone`,J.t(`fritzdm_phone`),o)]}),(0,N.jsxs)(K,{sx:e=>({mt:`auto`,pt:`max(6px, 1.8cqi)`,borderTop:`1px solid ${p(e.palette.text.primary,.1)}`,display:`flex`,alignItems:`center`,gap:.75,color:`text.secondary`,fontSize:`max(0.72rem, 2.9cqi)`,fontWeight:600,"& .MuiSvgIcon-root":{fontSize:`1.3em`}}),children:[(0,N.jsx)(gn,{}),(0,N.jsx)(K,{component:`span`,sx:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:J.t(`tr064_meshTopology`)}),(0,N.jsx)(vn,{})]})]}))}},Y={present:`present`,lastArrival:`lastArrival`,lastDeparture:`lastDeparture`,presentSince:`presentSince`,absentSince:`absentSince`,presentToday:`presentToday`,absentToday:`absentToday`,devices:`devices`,history:`history`},Rn=/^(history|sql|influxdb)\.\d+$/;function zn(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;return t.en||Object.values(t)[0]||``}return``}async function Bn(e,t){let n=`${t}.presence.persons.`;try{let t=await e.getObjectViewSystem(`channel`,n,`${n}香`)||{};return Object.keys(t).filter(e=>e.length>n.length&&!e.substring(n.length).includes(`.`)).map(e=>{var r;let i=t[e],a=(i==null?void 0:i.native)||{};return{id:e,name:a.person||zn(i==null||(r=i.common)==null?void 0:r.name)||e.substring(n.length),group:a.group||``}}).sort((e,t)=>e.name.localeCompare(t.name))}catch(e){return console.warn(`Cannot read the persons of ${t}: ${String(e)}`),[]}}function Vn(e,t){let n=(t||``).trim();if(!n)return;let r=n.toLowerCase();return e.find(e=>e.name===n)||e.find(e=>e.name.toLowerCase()===r)}function Hn(e){if(typeof e!=`string`||!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>e&&typeof e.ts==`number`).map(e=>({ts:e.ts,present:!!e.present})).sort((e,t)=>t.ts-e.ts):[]}catch{return[]}}function Un(e){var t;let n=e==null||(t=e.common)==null?void 0:t.custom;if(n)return Object.keys(n).find(e=>{var t;return Rn.test(e)&&((t=n[e])==null?void 0:t.enabled)})}async function Wn(e,t,n={}){let r=Math.max(1,n.count||20),i=Math.max(1,n.days||7),a=`${t}.${Y.present}`;try{let t=e.getHistory?Un(await e.getObject(a)):void 0;if(t&&e.getHistory){let n=Date.now(),o=await e.getHistory(a,{instance:t,start:n-i*24*36e5,end:n,aggregate:`none`,ack:!0,from:!1,q:!1,addId:!1,returnNewestEntries:!0,count:r*4}),s=Array.isArray(o)?o:[],c=[];if(s.filter(e=>e&&typeof e.ts==`number`&&e.val!==null&&e.val!==void 0).sort((e,t)=>e.ts-t.ts).forEach(e=>{let t=e.val===!0||e.val===`true`||e.val===1||e.val===`1`;(!c.length||c[c.length-1].present!==t)&&c.push({ts:e.ts,present:t})}),c.length)return{events:c.reverse().slice(0,r),source:`history`,instance:t}}}catch(e){console.warn(`Cannot read the history of ${a}: ${String(e)}`)}try{let n=await e.getState(`${t}.${Y.history}`),i=Hn(n==null?void 0:n.val).slice(0,r);return{events:i,source:i.length?`adapter`:`none`}}catch{return{events:[],source:`none`}}}function Gn(e){return e===`zh-cn`?`zh-CN`:e||`en`}function Kn(e,t){let n=Math.max(0,Math.floor(e/6e4)),r=[[Math.floor(n/1440),`day`],[Math.floor(n%1440/60),`hour`],[n%60,`minute`]],i=r.findIndex(([e])=>e>0);return(i===-1?[r[2]]:r.slice(i,i+2).filter(([e])=>e>0)).map(([e,n])=>{try{return new Intl.NumberFormat(Gn(t),{style:`unit`,unit:n,unitDisplay:n===`day`?`long`:`short`}).format(e)}catch{return`${e} ${n===`day`?`d`:n===`hour`?`h`:`min`}`}}).join(` `)}function qn(e,t){if(!e)return`—`;let n=new Date(e),r=new Date,i=Gn(t),a=n.toLocaleTimeString(i,{hour:`2-digit`,minute:`2-digit`}),o=new Date(r.getFullYear(),r.getMonth(),r.getDate()).getTime();if(e>=o)return a;if(e>=o-864e5)try{return`${new Intl.RelativeTimeFormat(i,{numeric:`auto`}).format(-1,`day`)} ${a}`}catch{}let s=n.getFullYear()===r.getFullYear();return`${n.toLocaleDateString(i,{day:`2-digit`,month:`2-digit`,...s?{}:{year:`numeric`}})} ${a}`}var X=u==null?void 0:u.Box,Z=u==null?void 0:u.Typography,Jn=u==null?void 0:u.Dialog,Yn=u==null?void 0:u.DialogTitle,Xn=u==null?void 0:u.DialogContent,Zn=u==null?void 0:u.IconButton,Qn=u==null?void 0:u.CircularProgress,Q=o==null?void 0:o.I18n,$n=o==null?void 0:o.Icon,er=[Y.present,Y.lastArrival,Y.lastDeparture,Y.presentToday,Y.absentToday,Y.devices,Y.history],tr=50,nr=14,rr=4,ir=3e4,ar=6e4,or={events:[],source:`none`,loading:!1};function sr(e){return e===!0||e===`true`||e===1||e===`1`}function $(e){let t=Number(e);return Number.isFinite(t)?t:0}function cr(e){let t=e.replace(/[^\p{L}\p{N}\s-]/gu,``).split(/[\s-]+/).filter(Boolean);return t.length?((Array.from(t[0])[0]||``)+(t.length>1&&Array.from(t[t.length-1])[0]||``)).toUpperCase():``}function lr(e){return e===`zh-cn`?`zh-CN`:e||`en`}function ur(e,t){let n=lr(t),r=new Date(e),i=new Date().setHours(0,0,0,0),a=new Date(e).setHours(0,0,0,0),o=Math.round((i-a)/864e5);if(o===0||o===1)try{let e=new Intl.RelativeTimeFormat(n,{numeric:`auto`}).format(-o,`day`);return e.charAt(0).toLocaleUpperCase(n)+e.slice(1)}catch{}return r.toLocaleDateString(n,{weekday:`long`,day:`2-digit`,month:`2-digit`,...r.getFullYear()===new Date().getFullYear()?{}:{year:`numeric`}})}var dr={FritzBoxComponent:Ln,PersonComponent:class e extends l{constructor(t){super(t),F(this,`subscriptions`,[]),F(this,`connectionSubscription`,null),F(this,`lookupRun`,0),F(this,`historyRun`,0),F(this,`ticker`,null),F(this,`lastLookup`,0),F(this,`openHistory`,()=>{var e,t;!this.state.historyOpen&&this.canOpenHistory&&((e=(t=this.props).onOpenWidgetDialog)==null||e.call(t,this.dialogId),this.setState({historyOpen:!0},()=>this.loadHistory()))}),F(this,`closeHistory`,()=>{var e,t;this.historyRun++,this.setState({historyOpen:!1}),(e=(t=this.props).onCloseWidgetDialog)==null||e.call(t)}),F(this,`onTileKeyDown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.openHistory())}),this.state={...this.state,person:null,lookup:`loading`,values:{},connected:null,historyOpen:t.openDialogId===e.dialogIdOf(t),history:or,now:Date.now()}}static getConfigSchema(){return{name:`fritzdm_personWidgetName`,schema:{type:`panel`,items:{size:{type:`select`,label:`wm_Size`,options:g,default:`1x1`,format:`radio`,horizontal:!0,noTranslation:!0},colorActive:{type:`color`,label:`fritzdm_colorPresent`,sm:6},color:{type:`color`,label:`fritzdm_colorAbsent`,sm:6},instance:{type:`instance`,adapter:`tr-064`,label:`fritzdm_instance`,default:`tr-064.0`,sm:12,md:6},person:{type:`autocompleteSendTo`,label:`fritzdm_person`,help:`fritzdm_personHelp`,command:`personList`,data:{},instance:"${data.instance}",alsoDependsOn:[`instance`],freeSolo:!0,sm:12,md:6},_appearance:{type:`header`,text:`fritzdm_appearance`,size:5,newLine:!0,sm:12},name:{type:`text`,label:`fritzdm_nameOverride`,help:`fritzdm_nameOverrideHelp`,sm:12,md:6},showName:{type:`checkbox`,label:`fritzdm_showName`,default:!0,sm:12,md:6},photo:{type:`image`,label:`fritzdm_photo`,help:`fritzdm_photoHelp`,base64:!0,crop:!0,maxSize:204800,accept:{"image/*":[]},newLine:!0,sm:12},iconActive:{type:`component`,subType:`iconSelect`,label:`fritzdm_iconPresent`,hidden:`!!data.photo`,sm:6},icon:{type:`component`,subType:`iconSelect`,label:`fritzdm_iconAbsent`,hidden:`!!data.photo`,sm:6},textActive:{type:`text`,label:`fritzdm_textPresent`,placeholder:`fritzdm_present`,sm:6},text:{type:`text`,label:`fritzdm_textAbsent`,placeholder:`fritzdm_absent`,sm:6},dimAbsent:{type:`checkbox`,label:`fritzdm_dimAbsent`,default:!0,sm:12},_display:{type:`header`,text:`fritzdm_display`,size:5,newLine:!0,sm:12},showSince:{type:`checkbox`,label:`fritzdm_showSince`,default:!0,sm:12},showLastChange:{type:`checkbox`,label:`fritzdm_showLastChange`,default:!0,sm:12},showHistory:{type:`checkbox`,label:`fritzdm_showHistory`,default:!0,sm:12}}}}}static dialogIdOf(e){return`${e.widget.id}_history`}get dialogId(){return e.dialogIdOf(this.props)}get instance(){return B(this.props.settings.instance)}get personName(){return(this.props.settings.person||``).trim()}get socket(){return this.props.stateContext.getSocket()}get lang(){return this.props.stateContext.language||Q.getLanguage()||`en`}componentDidMount(){var e;(e=super.componentDidMount)==null||e.call(this),this.subscribeConnection(),this.lookup(),this.ticker=setInterval(()=>{this.setState({now:Date.now()}),this.state.lookup===`notFound`&&Date.now()-this.lastLookup>=ar&&this.lookup()},ir)}componentDidUpdate(e,t,n){var r;(r=super.componentDidUpdate)==null||r.call(this,e,t,n);let i=B(e.settings.instance)!==this.instance;if(i&&(this.unsubscribeConnection(),this.subscribeConnection()),(i||(e.settings.person||``).trim()!==this.personName)&&this.lookup(),e.openDialogId!==this.props.openDialogId){let t=this.props.openDialogId===this.dialogId;t&&!this.state.historyOpen?this.setState({historyOpen:!0},()=>this.loadHistory()):!t&&e.openDialogId===this.dialogId&&this.state.historyOpen&&this.setState({historyOpen:!1})}this.state.historyOpen&&t.values.history!==void 0&&t.values.history!==this.state.values.history&&this.loadHistory(!0)}componentWillUnmount(){var e;(e=super.componentWillUnmount)==null||e.call(this),this.lookupRun++,this.historyRun++,this.unsubscribePerson(),this.unsubscribeConnection(),this.ticker&&=(clearInterval(this.ticker),null)}lookup(){let e=++this.lookupRun;this.lastLookup=Date.now(),this.unsubscribePerson();let t=this.personName;t?(this.state.lookup!==`notFound`&&this.setState({lookup:`loading`}),Bn(this.socket,this.instance).then(n=>{if(e!==this.lookupRun)return;let r=Vn(n,t)||null;this.setState({person:r,lookup:r?`found`:`notFound`,values:{},history:or},()=>{r&&(this.subscribePerson(r),this.state.historyOpen&&this.loadHistory())})})):this.setState({person:null,lookup:`none`,values:{},history:or})}subscribePerson(e){let t=this.props.stateContext;for(let n of er){let r=`${e.id}.${n}`,i=(e,t)=>this.onValue(n,t);t.getState(r,i),this.subscriptions.push({id:r,handler:i})}}unsubscribePerson(){let e=this.props.stateContext;for(let{id:t,handler:n}of this.subscriptions)e.removeState(t,n);this.subscriptions=[]}subscribeConnection(){let e=`${this.instance}.info.connection`,t=(e,t)=>{let n=t?t.val:null,r=n==null?null:sr(n);this.setState(e=>e.connected===r?null:{connected:r,indicators:e.indicators?{...e.indicators,connected:r}:e.indicators})};this.props.stateContext.getState(e,t),this.connectionSubscription={id:e,handler:t}}unsubscribeConnection(){this.connectionSubscription&&=(this.props.stateContext.removeState(this.connectionSubscription.id,this.connectionSubscription.handler),null)}onValue(e,t){let n=t?t.val:null;this.setState(t=>t.values[e]===n?null:{values:{...t.values,[e]:n}})}loadHistory(e){let t=this.state.person,n=++this.historyRun;t?(e||this.setState(e=>({history:{...e.history,loading:!0}})),Wn(this.socket,t.id,{count:tr,days:nr}).then(e=>{n===this.historyRun&&this.setState({history:{...e,loading:!1}})})):this.setState({history:or})}get canOpenHistory(){return this.props.settings.showHistory!==!1&&!!this.state.person}isTileActive(){return this.present===!0}hasTileAction(){return this.canOpenHistory}onTileClick(){this.openHistory()}renderTileIcon(){return this.renderAvatar(`1em`)}get values(){return this.state.values}get present(){let e=this.values.present;return this.state.lookup!==`found`||e==null?null:sr(e)}get displayName(){var e;return this.props.settings.name||((e=this.state.person)==null?void 0:e.name)||this.personName||Q.t(`fritzdm_personWidgetName`)}get statusText(){switch(this.state.lookup){case`none`:return Q.t(`fritzdm_noPerson`);case`notFound`:return Q.t(`fritzdm_personNotFound`);case`loading`:return`…`}let e=this.present;return e===null?`…`:e?this.props.settings.textActive||Q.t(`fritzdm_present`):this.props.settings.text||Q.t(`fritzdm_absent`)}statusColor(e){if(this.state.lookup===`notFound`)return e.palette.warning.main;let t=this.present;return t===null?e.palette.text.disabled:t?this.getAccentColor()||e.palette.success.main:this.getInactiveColor()||e.palette.text.disabled}get since(){let e=this.present;return e===null?0:$(e?this.values.lastArrival:this.values.lastDeparture)}get sinceText(){let e=this.since;return!e||this.props.settings.showSince===!1?``:Q.t(`fritzdm_sinceDuration`,Kn(Math.max(0,this.state.now-e),this.lang))}get showLastChange(){return this.props.settings.showLastChange!==!1&&this.present!==null}get staleSx(){return this.state.connected===!1?{opacity:.55}:{}}get dimmed(){return this.present===!1&&this.props.settings.dimAbsent!==!1}renderAvatar(e,t=!0){let{photo:n,icon:r,iconActive:i}=this.props.settings,a=this.props.stateContext,o=this.present,s=o?i||r:r||i,c=this.dimmed?{filter:`grayscale(1)`,opacity:.55}:{},l=cr(this.displayName),u;return u=n?(0,N.jsx)(`img`,{src:a.getImagePath(n)||n,alt:``,draggable:!1,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`,transition:`filter 0.3s ease, opacity 0.3s ease`,...c}}):s&&$n?(0,N.jsx)(X,{component:`span`,sx:{display:`inline-flex`,width:`62%`,height:`62%`,...c},children:(0,N.jsx)($n,{src:a.getImagePath(s)||s,style:{width:`100%`,height:`100%`,color:`inherit`},styleUTF8:{fontSize:`calc(${e} * 0.5)`,lineHeight:1}})}):l&&this.state.lookup!==`none`?(0,N.jsx)(X,{component:`span`,sx:{fontSize:`calc(${e} * 0.38)`,fontWeight:700,letterSpacing:`0.02em`,lineHeight:1},children:l}):(0,N.jsx)(yn,{sx:{fontSize:`calc(${e} * 0.62)`}}),(0,N.jsxs)(X,{component:`span`,sx:{position:`relative`,display:`inline-flex`,flexShrink:0,width:e,height:e},children:[(0,N.jsx)(X,{component:`span`,sx:t=>{let r=this.statusColor(t);return{width:`100%`,height:`100%`,boxSizing:`border-box`,borderRadius:`50%`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:n?void 0:r,backgroundColor:n?`transparent`:p(r,o?.18:.1),border:`max(2px, calc(${e} * 0.04)) solid ${p(r,o?.75:.35)}`,transition:`all 0.3s ease`}},children:u}),t&&this.state.lookup===`found`?(0,N.jsx)(X,{component:`span`,sx:e=>({position:`absolute`,right:`1%`,bottom:`1%`,width:`26%`,height:`26%`,minWidth:8,minHeight:8,boxSizing:`border-box`,borderRadius:`50%`,backgroundColor:this.statusColor(e),border:`2px solid ${e.palette.background.paper}`})}):null]})}renderName(e,t){return this.props.settings.showName===!1?null:(0,N.jsx)(Z,{ref:this.nameRef,variant:`body2`,sx:n=>({fontWeight:600,lineHeight:1.3,overflow:`hidden`,whiteSpace:`nowrap`,fontSize:e,...c(n)?{textTransform:`uppercase`,letterSpacing:`0.08em`,fontSize:t}:{}}),children:this.displayName})}renderStatus(e,t){let n=t?this.sinceText:``;return(0,N.jsxs)(X,{title:this.state.lookup===`notFound`?this.notFoundText:void 0,sx:{minWidth:0,fontSize:e,lineHeight:1.35,overflow:`hidden`,whiteSpace:`nowrap`,textOverflow:`ellipsis`,color:`text.secondary`,...this.staleSx},children:[(0,N.jsx)(X,{component:`span`,sx:e=>({fontWeight:700,color:this.statusColor(e)}),children:this.statusText}),n?(0,N.jsx)(X,{component:`span`,children:` · ${n}`}):null]})}renderSince(e){let t=this.sinceText;return t?(0,N.jsx)(Z,{component:`div`,noWrap:!0,sx:{fontSize:e,lineHeight:1.3,color:`text.secondary`,...this.staleSx},children:t}):null}get notFoundText(){return Q.t(`fritzdm_personNotFoundIn`,this.personName,this.instance)}renderEvent(e,t,n){let r=$(e===`arrival`?this.values.lastArrival:this.values.lastDeparture),i=Q.t(e===`arrival`?`fritzdm_lastArrival`:`fritzdm_lastDeparture`),a=e===`arrival`?bn:xn,o=qn(r,this.lang);return(0,N.jsxs)(X,{component:`span`,title:r?`${i}: ${new Date(r).toLocaleString(lr(this.lang))}`:i,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.3em`,minWidth:0,fontSize:t,lineHeight:1.3,whiteSpace:`nowrap`,color:`text.secondary`,fontVariantNumeric:`tabular-nums`,...this.staleSx},children:[(0,N.jsx)(a,{sx:t=>({fontSize:`1.15em`,flexShrink:0,color:e===`arrival`?this.getAccentColor()||t.palette.success.main:t.palette.text.disabled})}),n?(0,N.jsx)(X,{component:`span`,children:i}):null,(0,N.jsx)(X,{component:`span`,sx:{fontWeight:600,color:r?`text.primary`:`text.disabled`,overflow:`hidden`,textOverflow:`ellipsis`},children:o})]})}renderEvents(e,t){return this.showLastChange?(0,N.jsxs)(X,{sx:{display:`flex`,alignItems:`center`,gap:`0.9em`,minWidth:0,fontSize:e,overflow:`hidden`},children:[this.renderEvent(`arrival`,`inherit`,t),this.renderEvent(`departure`,`inherit`,t)]}):null}renderToday(e){let t=$(this.values.presentToday),n=$(this.values.absentToday);if(this.state.lookup!==`found`||t+n<=0)return null;let r=t/(t+n)*100,i=Kn(t*6e4,this.lang),a=Kn(n*6e4,this.lang);return(0,N.jsxs)(X,{sx:{display:`flex`,flexDirection:`column`,gap:`4px`,minWidth:0,fontSize:e,...this.staleSx},children:[(0,N.jsxs)(X,{sx:{display:`flex`,justifyContent:`space-between`,gap:1,color:`text.secondary`},children:[(0,N.jsxs)(X,{component:`span`,sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[`${Q.t(`fritzdm_presentToday`)}: `,(0,N.jsx)(X,{component:`span`,sx:{fontWeight:600,color:`text.primary`},children:i})]}),(0,N.jsx)(X,{component:`span`,sx:{whiteSpace:`nowrap`},title:`${Q.t(`fritzdm_absentToday`)}: ${a}`,children:a})]}),(0,N.jsx)(X,{title:`${Q.t(`fritzdm_presentToday`)}: ${i} · ${Q.t(`fritzdm_absentToday`)}: ${a}`,sx:{height:4,borderRadius:2,overflow:`hidden`,backgroundColor:`rgba(127,127,127,0.22)`},children:(0,N.jsx)(X,{sx:e=>({width:`${r}%`,height:`100%`,borderRadius:`inherit`,backgroundColor:this.getAccentColor()||e.palette.success.main,transition:`width 0.6s ease`})})})]})}renderTileHistory(e){if(this.props.settings.showHistory===!1||this.state.lookup!==`found`)return null;let t=Hn(this.values.history).slice(0,rr);return t.length?(0,N.jsx)(X,{sx:{display:`flex`,flexDirection:`column`,gap:`max(2px, 0.8cqi)`,minWidth:0,fontSize:e,...this.staleSx},children:t.map(e=>{let t=e.present?bn:xn;return(0,N.jsxs)(X,{sx:{display:`flex`,alignItems:`center`,gap:`0.45em`,minWidth:0,lineHeight:1.3},children:[(0,N.jsx)(t,{sx:t=>({fontSize:`1.1em`,flexShrink:0,color:e.present?this.getAccentColor()||t.palette.success.main:t.palette.text.disabled})}),(0,N.jsx)(X,{component:`span`,sx:{color:`text.secondary`,flexShrink:0},children:Q.t(e.present?`fritzdm_came`:`fritzdm_left`)}),(0,N.jsx)(X,{component:`span`,sx:{ml:`auto`,fontWeight:600,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`,fontVariantNumeric:`tabular-nums`},children:qn(e.ts,this.lang)})]},`${e.ts}_${e.present}`)})}):null}renderTileIndicators(){return(0,N.jsx)(`div`,{onClick:m,onKeyDown:m,style:{display:`contents`},children:this.renderIndicators(this.renderSettingsButton())})}renderFrame(e,t,n){let r=this.isTileActive(),i=this.canOpenHistory;return(0,N.jsxs)(X,{id:String(this.props.widget.id),className:this.getWidgetClass(),sx:t=>y(t,e),children:[e===`2x1`?(0,N.jsx)(X,{sx:{width:`calc(50% - 6px)`,aspectRatio:`1`}}):null,(0,N.jsxs)(X,{role:i?`button`:void 0,tabIndex:i?0:void 0,"aria-label":i?`${this.displayName} - ${Q.t(`fritzdm_showHistoryOf`)}`:`${this.displayName}: ${this.statusText}`,onClick:i?this.openHistory:void 0,onKeyDown:i?this.onTileKeyDown:void 0,sx:n=>({boxSizing:`border-box`,position:e===`2x1`?`absolute`:`relative`,...e===`2x1`?{inset:0}:{},width:`100%`,overflow:`hidden`,userSelect:`none`,cursor:i?`pointer`:`default`,textAlign:`left`,color:`text.primary`,outline:`none`,...d(n,r,this.getAccentColor()||n.palette.success.main,i,this.getInactiveColor()),"&:focus-visible":{boxShadow:`0 0 0 2px ${this.statusColor(n)} inset`},...t(n)}),children:[n,this.renderTileIndicators()]}),this.state.historyOpen?(0,N.jsx)(`span`,{style:{display:`contents`},onClick:m,onPointerDown:m,onMouseDown:m,onTouchStart:m,onKeyDown:m,children:this.renderHistoryDialog()}):null]})}renderHistoryRow(e,t,n){let r=lr(this.lang),i=e.present?bn:xn,a=Kn(Math.max(0,t-e.ts),this.lang),o=n?Q.t(`fritzdm_sinceDuration`,a):Q.t(e.present?`fritzdm_stayed`:`fritzdm_wasAway`,a);return(0,N.jsxs)(X,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:.75,minWidth:0},children:[(0,N.jsx)(X,{sx:t=>{let n=e.present?this.getAccentColor()||t.palette.success.main:t.palette.text.secondary;return{width:32,height:32,flexShrink:0,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:n,backgroundColor:p(n,.14)}},children:(0,N.jsx)(i,{sx:{fontSize:18}})}),(0,N.jsxs)(X,{sx:{flex:1,minWidth:0},children:[(0,N.jsx)(Z,{noWrap:!0,sx:{fontSize:`0.9rem`,fontWeight:600,lineHeight:1.3},children:Q.t(e.present?`fritzdm_came`:`fritzdm_left`)}),(0,N.jsx)(Z,{noWrap:!0,variant:`caption`,component:`div`,sx:{color:`text.secondary`,fontStyle:n?`italic`:`normal`,lineHeight:1.3},children:o})]}),(0,N.jsx)(Z,{title:new Date(e.ts).toLocaleString(r),sx:{fontSize:`0.9rem`,fontWeight:600,fontVariantNumeric:`tabular-nums`,flexShrink:0},children:new Date(e.ts).toLocaleTimeString(r,{hour:`2-digit`,minute:`2-digit`})})]},`${e.ts}_${e.present}`)}renderHistoryList(){let{events:e,loading:t}=this.state.history;if(t&&!e.length)return(0,N.jsx)(X,{sx:{display:`flex`,justifyContent:`center`,py:4},children:(0,N.jsx)(Qn,{size:28})});if(!e.length)return(0,N.jsx)(Z,{sx:{py:3,textAlign:`center`,color:`text.secondary`,fontSize:`0.9rem`},children:Q.t(`fritzdm_noHistory`)});let n=[];return e.forEach((t,r)=>{let i=ur(t.ts,this.lang),a=r===0?this.state.now:e[r-1].ts,o=r===0&&this.present===t.present,s=this.renderHistoryRow(t,a,o),c=n[n.length-1];(c==null?void 0:c.day)===i?c.rows.push(s):n.push({day:i,rows:[s]})}),(0,N.jsx)(X,{sx:{opacity:t?.6:1,transition:`opacity 0.2s ease`},children:n.map(e=>(0,N.jsxs)(X,{sx:{mb:1.5},children:[(0,N.jsx)(Z,{component:`div`,sx:e=>({py:.5,fontSize:`0.75rem`,fontWeight:700,letterSpacing:`0.04em`,textTransform:`uppercase`,color:`text.secondary`,borderBottom:`1px solid ${p(e.palette.text.primary,.08)}`}),children:e.day}),e.rows]},e.day))})}renderHistoryDialog(){let{source:e,instance:t,events:n}=this.state.history,r=String(this.values.devices??``).trim(),i=e===`history`?Q.t(`fritzdm_historyFrom`,t||`history`):e===`adapter`?Q.t(`fritzdm_historyFromAdapter`):``;return(0,N.jsxs)(Jn,{open:!0,onClose:this.closeHistory,maxWidth:`xs`,fullWidth:!0,"aria-labelledby":`${this.dialogId}-title`,slotProps:{paper:{sx:{maxHeight:`min(760px, calc(100dvh - 32px))`,"@media (max-width: 599.95px)":{m:1,width:`calc(100% - 16px)`}}}},children:[(0,N.jsxs)(Yn,{id:`${this.dialogId}-title`,component:`div`,sx:{display:`flex`,alignItems:`center`,gap:1.5,pr:1,py:1.5},children:[this.renderAvatar(`44px`),(0,N.jsxs)(X,{sx:{flex:1,minWidth:0},children:[(0,N.jsx)(Z,{component:`h2`,noWrap:!0,sx:{fontSize:`1.05rem`,fontWeight:600,lineHeight:1.3},children:this.displayName}),this.renderStatus(`0.8rem`,!0)]}),(0,N.jsx)(Zn,{onClick:()=>this.loadHistory(),title:Q.t(`fritzdm_refresh`),"aria-label":Q.t(`fritzdm_refresh`),disabled:this.state.history.loading,children:(0,N.jsx)(Cn,{})}),(0,N.jsx)(Zn,{onClick:this.closeHistory,title:Q.t(`fritzdm_close`),"aria-label":Q.t(`fritzdm_close`),children:(0,N.jsx)(_n,{})})]}),(0,N.jsxs)(Xn,{sx:{pt:0,display:`flex`,flexDirection:`column`,gap:1.5},children:[this.renderToday(`0.8rem`),r&&this.present?(0,N.jsxs)(X,{sx:{display:`flex`,alignItems:`center`,gap:.75,color:`text.secondary`,fontSize:`0.8rem`,minWidth:0},children:[(0,N.jsx)(wn,{sx:{fontSize:`1.2em`,flexShrink:0}}),(0,N.jsx)(X,{component:`span`,sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},title:r,children:r})]}):null,(0,N.jsxs)(X,{sx:{display:`flex`,alignItems:`center`,gap:.75,mt:.5},children:[(0,N.jsx)(Sn,{sx:{fontSize:18,color:`text.secondary`}}),(0,N.jsx)(Z,{sx:{fontSize:`0.85rem`,fontWeight:700},children:Q.t(`fritzdm_historyTitle`)})]}),(0,N.jsx)(X,{sx:{minHeight:0},children:this.renderHistoryList()}),i&&n.length?(0,N.jsx)(Z,{variant:`caption`,sx:{color:`text.disabled`,textAlign:`right`},children:i}):null]})]})}renderCompact(){let e=e=>c(e)?`max(12px, 8cqi)`:`max(14px, 9cqi)`;return this.renderFrame(`1x1`,t=>({display:`flex`,flexDirection:`column`,justifyContent:`space-between`,aspectRatio:`1`,padding:e(t)}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(X,{sx:t=>({display:`flex`,alignItems:`flex-start`,minHeight:0,mt:v(e(t))}),children:this.renderAvatar(`max(40px, 32cqi)`)}),(0,N.jsxs)(X,{sx:{minWidth:0},children:[this.renderName(`max(0.85rem, 9cqi)`,`max(0.68rem, 6.8cqi)`),this.renderStatus(`max(0.7rem, 7.2cqi)`,!1),this.renderSince(`max(0.62rem, 6.2cqi)`)]})]}))}renderWide(){let e=this.renderEvents(`0.68rem`,!1);return this.renderFrame(`2x0.5`,e=>({display:`flex`,alignItems:`center`,gap:`max(10px, 3cqi)`,height:80,padding:c(e)?`8px 12px`:`8px 14px`}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(X,{sx:{alignSelf:`flex-end`,display:`flex`},children:this.renderAvatar(`44px`)}),(0,N.jsxs)(X,{sx:{flex:1,minWidth:0,display:`flex`,flexDirection:`column`,gap:`2px`},children:[(0,N.jsx)(X,{sx:{pr:`26px`,minWidth:0},children:this.renderName(`0.9rem`,`0.74rem`)}),this.renderStatus(`0.74rem`,!0),e]})]}))}renderWideTall(){let e=e=>c(e)?`max(12px, 3.5cqi)`:`max(14px, 4cqi)`;return this.renderFrame(`2x1`,t=>({display:`flex`,flexDirection:`column`,justifyContent:`space-between`,gap:`6px`,height:`100%`,padding:e(t)}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(X,{sx:t=>({display:`flex`,alignItems:`center`,gap:`max(12px, 3.5cqi)`,minWidth:0,flex:1,mt:v(e(t))}),children:[this.renderAvatar(`max(52px, 19cqi)`),(0,N.jsxs)(X,{sx:{flex:1,minWidth:0,pr:`20px`},children:[this.renderName(`max(0.95rem, 5.4cqi)`,`max(0.76rem, 3.8cqi)`),this.renderStatus(`max(0.78rem, 3.9cqi)`,!1),this.renderSince(`max(0.7rem, 3.3cqi)`)]})]}),this.renderEvents(`max(0.68rem, 3.1cqi)`,!0)]}))}renderHuge(){let e=this.canOpenHistory,t=this.renderTileHistory(`max(0.72rem, 2.9cqi)`),n=e=>c(e)?`max(14px, 4.5cqi)`:`max(16px, 5cqi)`;return this.renderFrame(`2x2`,e=>({display:`flex`,flexDirection:`column`,gap:`max(8px, 2.6cqi)`,aspectRatio:`1`,padding:n(e)}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(X,{sx:e=>({display:`flex`,alignItems:`center`,gap:`max(12px, 3.5cqi)`,minWidth:0,pr:`26px`,mt:v(n(e))}),children:[this.renderAvatar(`max(60px, 22cqi)`),(0,N.jsxs)(X,{sx:{flex:1,minWidth:0},children:[this.renderName(`max(1rem, 5.6cqi)`,`max(0.8rem, 4cqi)`),this.renderStatus(`max(0.82rem, 3.8cqi)`,!1),this.renderSince(`max(0.74rem, 3.2cqi)`)]})]}),this.renderEvents(`max(0.72rem, 3cqi)`,!0),this.renderToday(`max(0.68rem, 2.7cqi)`),t,e?(0,N.jsxs)(X,{sx:e=>({mt:`auto`,pt:`max(6px, 1.8cqi)`,borderTop:`1px solid ${p(e.palette.text.primary,.1)}`,display:`flex`,alignItems:`center`,gap:.75,color:`text.secondary`,fontSize:`max(0.72rem, 2.9cqi)`,fontWeight:600,"& .MuiSvgIcon-root":{fontSize:`1.3em`}}),children:[(0,N.jsx)(Sn,{}),(0,N.jsx)(X,{component:`span`,sx:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:Q.t(`fritzdm_historyTitle`)}),(0,N.jsx)(vn,{})]}):null]}))}}};export{dr as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={en:{tr064_meshTopology:`Mesh topology`,tr064_refresh:`Refresh`,tr064_onlyConfigured:`Only configured devices`,tr064_showDisconnected:`Show disconnected devices`,tr064_graph:`Graph`,tr064_table:`Table`,tr064_updated:`Updated: %s`,tr064_startInstance:`Start the instance to see the mesh topology`,tr064_notConnected:`The instance is not connected to the FRITZ!Box yet`,tr064_notSupported:`The FRITZ!Box does not deliver a mesh topology`,tr064_timeout:`The instance did not answer`,tr064_error:`Error: %s`,tr064_loading:`Reading the mesh topology...`,tr064_noData:`No devices found`,tr064_notAssigned:`Not assigned`,tr064_device:`Device`,tr064_accessPoint:`Access point`,tr064_connection:`Connection`,tr064_state:`State`,tr064_rate:`Rate (Mbit/s)`,tr064_signal:`Signal`,tr064_signalTooltip:`Signal: %s dBm at the device / %s dBm at the access point`,tr064_noiseTooltip:`Signal to noise: %s dB / %s dB`,tr064_position_too_far:`Too far away from the access point`,tr064_position_too_close:`Very close to the access point`,tr064_lastSeen:`Last connected: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`connected`,tr064_disconnected:`disconnected`,tr064_rateTooltip:`Current: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s devices`,tr064_oneDevice:`1 device`,tr064_configuredAs:`Configured as "%s"`,tr064_role_master:`Mesh master`,tr064_role_slave:`Mesh repeater`,tr064_role_switch:`Switch`,tr064_role_client:`Device`,tr064_showVendor:`Show manufacturer`,tr064_randomMac:`randomized MAC address`,tr064_rename:`Rename`,tr064_renameTitle:`Rename device`,tr064_newName:`Name in the FRITZ!Box`,tr064_renameHint:`The FRITZ!Box uses this name everywhere. As long as the option "Use the configured names" is switched off, the objects below "devices" are renamed with it.`,tr064_renameFailed:`The FRITZ!Box did not rename the device: %s`,tr064_clickToRename:`Click to rename`,tr064_cancel:`Cancel`,tr064_addressesPlaceholder:`MAC or IP - type a name, MAC or IP of a device`,tr064_usedBy:`used by %s`,tr064_invalidAddress:`Neither a MAC nor an IP address`},de:{tr064_meshTopology:`Mesh-Topologie`,tr064_refresh:`Aktualisieren`,tr064_onlyConfigured:`Nur konfigurierte Geräte`,tr064_showDisconnected:`Getrennte Geräte anzeigen`,tr064_graph:`Grafik`,tr064_table:`Tabelle`,tr064_updated:`Aktualisiert: %s`,tr064_startInstance:`Starte die Instanz, um die Mesh-Topologie zu sehen`,tr064_notConnected:`Die Instanz ist noch nicht mit der FRITZ!Box verbunden`,tr064_notSupported:`Die FRITZ!Box liefert keine Mesh-Topologie`,tr064_timeout:`Die Instanz hat nicht geantwortet`,tr064_error:`Fehler: %s`,tr064_loading:`Mesh-Topologie wird gelesen...`,tr064_noData:`Keine Geräte gefunden`,tr064_notAssigned:`Nicht zugeordnet`,tr064_device:`Gerät`,tr064_accessPoint:`Zugangspunkt`,tr064_connection:`Verbindung`,tr064_state:`Zustand`,tr064_rate:`Rate (Mbit/s)`,tr064_signal:`Signal`,tr064_signalTooltip:`Signal: %s dBm am Gerät / %s dBm am Zugangspunkt`,tr064_noiseTooltip:`Störabstand: %s dB / %s dB`,tr064_position_too_far:`Zu weit vom Zugangspunkt entfernt`,tr064_position_too_close:`Sehr nah am Zugangspunkt`,tr064_lastSeen:`Zuletzt verbunden: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`verbunden`,tr064_disconnected:`getrennt`,tr064_rateTooltip:`Aktuell: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s Geräte`,tr064_oneDevice:`1 Gerät`,tr064_configuredAs:`Konfiguriert als "%s"`,tr064_role_master:`Mesh Master`,tr064_role_slave:`Mesh Repeater`,tr064_role_switch:`Switch`,tr064_role_client:`Gerät`,tr064_showVendor:`Hersteller anzeigen`,tr064_randomMac:`zufällige MAC-Adresse`,tr064_rename:`Umbenennen`,tr064_renameTitle:`Gerät umbenennen`,tr064_newName:`Name in der FRITZ!Box`,tr064_renameHint:`Die FRITZ!Box verwendet diesen Namen überall. Solange die Option "Konfigurierte Namen verwenden" ausgeschaltet ist, werden die Objekte unter "devices" mit umbenannt.`,tr064_renameFailed:`Die FRITZ!Box hat das Gerät nicht umbenannt: %s`,tr064_clickToRename:`Zum Umbenennen anklicken`,tr064_cancel:`Abbrechen`,tr064_addressesPlaceholder:`MAC oder IP - Name, MAC oder IP eines Geräts eingeben`,tr064_usedBy:`bereits bei %s`,tr064_invalidAddress:`Weder eine MAC- noch eine IP-Adresse`},ru:{tr064_meshTopology:`Топология mesh-сети`,tr064_refresh:`Обновить`,tr064_onlyConfigured:`Только настроенные устройства`,tr064_showDisconnected:`Показывать отключённые устройства`,tr064_graph:`Схема`,tr064_table:`Таблица`,tr064_updated:`Обновлено: %s`,tr064_startInstance:`Запустите экземпляр, чтобы увидеть топологию mesh-сети`,tr064_notConnected:`Экземпляр ещё не подключён к FRITZ!Box`,tr064_notSupported:`FRITZ!Box не предоставляет топологию mesh-сети`,tr064_timeout:`Экземпляр не ответил`,tr064_error:`Ошибка: %s`,tr064_loading:`Чтение топологии mesh-сети...`,tr064_noData:`Устройства не найдены`,tr064_notAssigned:`Не назначено`,tr064_device:`Устройство`,tr064_accessPoint:`Точка доступа`,tr064_connection:`Подключение`,tr064_state:`Состояние`,tr064_rate:`Скорость (Мбит/с)`,tr064_signal:`Сигнал`,tr064_signalTooltip:`Сигнал: %s дБм на устройстве / %s дБм на точке доступа`,tr064_noiseTooltip:`Отношение сигнал/шум: %s дБ / %s дБ`,tr064_position_too_far:`Слишком далеко от точки доступа`,tr064_position_too_close:`Очень близко к точке доступа`,tr064_lastSeen:`Последнее соединение: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`подключено`,tr064_disconnected:`отключено`,tr064_rateTooltip:`Сейчас: ↓ %s / ↑ %s Мбит/с`,tr064_devices:`Устройств: %s`,tr064_oneDevice:`1 устройство`,tr064_configuredAs:`Настроено как "%s"`,tr064_role_master:`Mesh-мастер`,tr064_role_slave:`Mesh-репитер`,tr064_role_switch:`Коммутатор`,tr064_role_client:`Устройство`,tr064_showVendor:`Показывать производителя`,tr064_randomMac:`случайный MAC-адрес`,tr064_rename:`Переименовать`,tr064_renameTitle:`Переименовать устройство`,tr064_newName:`Имя в FRITZ!Box`,tr064_renameHint:`FRITZ!Box использует это имя везде. Пока опция «Использовать настроенные имена» выключена, объекты в «devices» переименовываются вместе с ним.`,tr064_renameFailed:`FRITZ!Box не переименовал устройство: %s`,tr064_clickToRename:`Нажмите, чтобы переименовать`,tr064_cancel:`Отмена`,tr064_addressesPlaceholder:`MAC или IP - введите имя, MAC или IP устройства`,tr064_usedBy:`уже у %s`,tr064_invalidAddress:`Не MAC- и не IP-адрес`},pt:{tr064_meshTopology:`Topologia mesh`,tr064_refresh:`Atualizar`,tr064_onlyConfigured:`Apenas dispositivos configurados`,tr064_showDisconnected:`Mostrar dispositivos desconectados`,tr064_graph:`Gráfico`,tr064_table:`Tabela`,tr064_updated:`Atualizado: %s`,tr064_startInstance:`Inicie a instância para ver a topologia mesh`,tr064_notConnected:`A instância ainda não está conectada ao FRITZ!Box`,tr064_notSupported:`O FRITZ!Box não fornece uma topologia mesh`,tr064_timeout:`A instância não respondeu`,tr064_error:`Erro: %s`,tr064_loading:`Lendo a topologia mesh...`,tr064_noData:`Nenhum dispositivo encontrado`,tr064_notAssigned:`Não atribuído`,tr064_device:`Dispositivo`,tr064_accessPoint:`Ponto de acesso`,tr064_connection:`Conexão`,tr064_state:`Estado`,tr064_rate:`Taxa (Mbit/s)`,tr064_signal:`Sinal`,tr064_signalTooltip:`Sinal: %s dBm no dispositivo / %s dBm no ponto de acesso`,tr064_noiseTooltip:`Relação sinal/ruído: %s dB / %s dB`,tr064_position_too_far:`Demasiado longe do ponto de acesso`,tr064_position_too_close:`Muito perto do ponto de acesso`,tr064_lastSeen:`Última ligação: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`conectado`,tr064_disconnected:`desconectado`,tr064_rateTooltip:`Atual: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s dispositivos`,tr064_oneDevice:`1 dispositivo`,tr064_configuredAs:`Configurado como "%s"`,tr064_role_master:`Mesh master`,tr064_role_slave:`Repetidor mesh`,tr064_role_switch:`Switch`,tr064_role_client:`Dispositivo`,tr064_showVendor:`Mostrar o fabricante`,tr064_randomMac:`endereço MAC aleatório`,tr064_rename:`Renomear`,tr064_renameTitle:`Renomear dispositivo`,tr064_newName:`Nome na FRITZ!Box`,tr064_renameHint:`A FRITZ!Box usa este nome em todo o lado. Enquanto a opção "Usar os nomes configurados" estiver desligada, os objetos em "devices" são renomeados junto.`,tr064_renameFailed:`A FRITZ!Box não renomeou o dispositivo: %s`,tr064_clickToRename:`Clique para renomear`,tr064_cancel:`Cancelar`,tr064_addressesPlaceholder:`MAC ou IP - digite o nome, o MAC ou o IP de um dispositivo`,tr064_usedBy:`usado por %s`,tr064_invalidAddress:`Nem um endereço MAC nem um endereço IP`},nl:{tr064_meshTopology:`Mesh-topologie`,tr064_refresh:`Vernieuwen`,tr064_onlyConfigured:`Alleen geconfigureerde apparaten`,tr064_showDisconnected:`Losgekoppelde apparaten tonen`,tr064_graph:`Grafiek`,tr064_table:`Tabel`,tr064_updated:`Bijgewerkt: %s`,tr064_startInstance:`Start de instantie om de mesh-topologie te zien`,tr064_notConnected:`De instantie is nog niet met de FRITZ!Box verbonden`,tr064_notSupported:`De FRITZ!Box levert geen mesh-topologie`,tr064_timeout:`De instantie heeft niet geantwoord`,tr064_error:`Fout: %s`,tr064_loading:`Mesh-topologie wordt gelezen...`,tr064_noData:`Geen apparaten gevonden`,tr064_notAssigned:`Niet toegewezen`,tr064_device:`Apparaat`,tr064_accessPoint:`Toegangspunt`,tr064_connection:`Verbinding`,tr064_state:`Status`,tr064_rate:`Snelheid (Mbit/s)`,tr064_signal:`Signaal`,tr064_signalTooltip:`Signaal: %s dBm bij het apparaat / %s dBm bij het toegangspunt`,tr064_noiseTooltip:`Signaal-ruisverhouding: %s dB / %s dB`,tr064_position_too_far:`Te ver van het toegangspunt`,tr064_position_too_close:`Heel dicht bij het toegangspunt`,tr064_lastSeen:`Laatst verbonden: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`verbonden`,tr064_disconnected:`losgekoppeld`,tr064_rateTooltip:`Huidig: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s apparaten`,tr064_oneDevice:`1 apparaat`,tr064_configuredAs:`Geconfigureerd als "%s"`,tr064_role_master:`Mesh-master`,tr064_role_slave:`Mesh-repeater`,tr064_role_switch:`Switch`,tr064_role_client:`Apparaat`,tr064_showVendor:`Fabrikant tonen`,tr064_randomMac:`willekeurig MAC-adres`,tr064_rename:`Hernoemen`,tr064_renameTitle:`Apparaat hernoemen`,tr064_newName:`Naam in de FRITZ!Box`,tr064_renameHint:`De FRITZ!Box gebruikt deze naam overal. Zolang de optie "Geconfigureerde namen gebruiken" uit staat, worden de objecten onder "devices" mee hernoemd.`,tr064_renameFailed:`De FRITZ!Box heeft het apparaat niet hernoemd: %s`,tr064_clickToRename:`Klik om te hernoemen`,tr064_cancel:`Annuleren`,tr064_addressesPlaceholder:`MAC of IP - typ een naam, MAC of IP van een apparaat`,tr064_usedBy:`gebruikt door %s`,tr064_invalidAddress:`Geen MAC- en geen IP-adres`},fr:{tr064_meshTopology:`Topologie mesh`,tr064_refresh:`Actualiser`,tr064_onlyConfigured:`Uniquement les appareils configurés`,tr064_showDisconnected:`Afficher les appareils déconnectés`,tr064_graph:`Graphique`,tr064_table:`Tableau`,tr064_updated:`Mis à jour : %s`,tr064_startInstance:`Démarrez l'instance pour voir la topologie mesh`,tr064_notConnected:`L'instance n'est pas encore connectée à la FRITZ!Box`,tr064_notSupported:`La FRITZ!Box ne fournit pas de topologie mesh`,tr064_timeout:`L'instance n'a pas répondu`,tr064_error:`Erreur : %s`,tr064_loading:`Lecture de la topologie mesh...`,tr064_noData:`Aucun appareil trouvé`,tr064_notAssigned:`Non attribué`,tr064_device:`Appareil`,tr064_accessPoint:`Point d'accès`,tr064_connection:`Connexion`,tr064_state:`État`,tr064_rate:`Débit (Mbit/s)`,tr064_signal:`Signal`,tr064_signalTooltip:`Signal : %s dBm sur l'appareil / %s dBm sur le point d'accès`,tr064_noiseTooltip:`Rapport signal/bruit : %s dB / %s dB`,tr064_position_too_far:`Trop loin du point d'accès`,tr064_position_too_close:`Très près du point d'accès`,tr064_lastSeen:`Dernière connexion : %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`connecté`,tr064_disconnected:`déconnecté`,tr064_rateTooltip:`Actuel : ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s appareils`,tr064_oneDevice:`1 appareil`,tr064_configuredAs:`Configuré comme « %s »`,tr064_role_master:`Maître mesh`,tr064_role_slave:`Répéteur mesh`,tr064_role_switch:`Switch`,tr064_role_client:`Appareil`,tr064_showVendor:`Afficher le fabricant`,tr064_randomMac:`adresse MAC aléatoire`,tr064_rename:`Renommer`,tr064_renameTitle:`Renommer l'appareil`,tr064_newName:`Nom dans la FRITZ!Box`,tr064_renameHint:`La FRITZ!Box utilise ce nom partout. Tant que l'option « Utiliser les noms configurés » est désactivée, les objets sous « devices » sont renommés également.`,tr064_renameFailed:`La FRITZ!Box n'a pas renommé l'appareil : %s`,tr064_clickToRename:`Cliquer pour renommer`,tr064_cancel:`Annuler`,tr064_addressesPlaceholder:`MAC ou IP - saisissez le nom, la MAC ou l'IP d'un appareil`,tr064_usedBy:`utilisé par %s`,tr064_invalidAddress:`Ni une adresse MAC ni une adresse IP`},it:{tr064_meshTopology:`Topologia mesh`,tr064_refresh:`Aggiorna`,tr064_onlyConfigured:`Solo dispositivi configurati`,tr064_showDisconnected:`Mostra dispositivi disconnessi`,tr064_graph:`Grafico`,tr064_table:`Tabella`,tr064_updated:`Aggiornato: %s`,tr064_startInstance:`Avvia l'istanza per vedere la topologia mesh`,tr064_notConnected:`L'istanza non è ancora connessa al FRITZ!Box`,tr064_notSupported:`Il FRITZ!Box non fornisce una topologia mesh`,tr064_timeout:`L'istanza non ha risposto`,tr064_error:`Errore: %s`,tr064_loading:`Lettura della topologia mesh...`,tr064_noData:`Nessun dispositivo trovato`,tr064_notAssigned:`Non assegnato`,tr064_device:`Dispositivo`,tr064_accessPoint:`Punto di accesso`,tr064_connection:`Connessione`,tr064_state:`Stato`,tr064_rate:`Velocità (Mbit/s)`,tr064_signal:`Segnale`,tr064_signalTooltip:`Segnale: %s dBm sul dispositivo / %s dBm sul punto di accesso`,tr064_noiseTooltip:`Rapporto segnale/rumore: %s dB / %s dB`,tr064_position_too_far:`Troppo lontano dal punto di accesso`,tr064_position_too_close:`Molto vicino al punto di accesso`,tr064_lastSeen:`Ultima connessione: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`connesso`,tr064_disconnected:`disconnesso`,tr064_rateTooltip:`Attuale: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s dispositivi`,tr064_oneDevice:`1 dispositivo`,tr064_configuredAs:`Configurato come "%s"`,tr064_role_master:`Mesh master`,tr064_role_slave:`Ripetitore mesh`,tr064_role_switch:`Switch`,tr064_role_client:`Dispositivo`,tr064_showVendor:`Mostra il produttore`,tr064_randomMac:`indirizzo MAC casuale`,tr064_rename:`Rinomina`,tr064_renameTitle:`Rinomina dispositivo`,tr064_newName:`Nome nel FRITZ!Box`,tr064_renameHint:`Il FRITZ!Box usa questo nome ovunque. Finché l'opzione "Usa i nomi configurati" è disattivata, gli oggetti sotto "devices" vengono rinominati insieme.`,tr064_renameFailed:`Il FRITZ!Box non ha rinominato il dispositivo: %s`,tr064_clickToRename:`Clicca per rinominare`,tr064_cancel:`Annulla`,tr064_addressesPlaceholder:`MAC o IP - digitare nome, MAC o IP di un dispositivo`,tr064_usedBy:`usato da %s`,tr064_invalidAddress:`Né un indirizzo MAC né un indirizzo IP`},es:{tr064_meshTopology:`Topología mesh`,tr064_refresh:`Actualizar`,tr064_onlyConfigured:`Solo dispositivos configurados`,tr064_showDisconnected:`Mostrar dispositivos desconectados`,tr064_graph:`Gráfico`,tr064_table:`Tabla`,tr064_updated:`Actualizado: %s`,tr064_startInstance:`Inicie la instancia para ver la topología mesh`,tr064_notConnected:`La instancia aún no está conectada al FRITZ!Box`,tr064_notSupported:`El FRITZ!Box no proporciona una topología mesh`,tr064_timeout:`La instancia no respondió`,tr064_error:`Error: %s`,tr064_loading:`Leyendo la topología mesh...`,tr064_noData:`No se encontraron dispositivos`,tr064_notAssigned:`Sin asignar`,tr064_device:`Dispositivo`,tr064_accessPoint:`Punto de acceso`,tr064_connection:`Conexión`,tr064_state:`Estado`,tr064_rate:`Velocidad (Mbit/s)`,tr064_signal:`Señal`,tr064_signalTooltip:`Señal: %s dBm en el dispositivo / %s dBm en el punto de acceso`,tr064_noiseTooltip:`Relación señal/ruido: %s dB / %s dB`,tr064_position_too_far:`Demasiado lejos del punto de acceso`,tr064_position_too_close:`Muy cerca del punto de acceso`,tr064_lastSeen:`Última conexión: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`conectado`,tr064_disconnected:`desconectado`,tr064_rateTooltip:`Actual: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s dispositivos`,tr064_oneDevice:`1 dispositivo`,tr064_configuredAs:`Configurado como "%s"`,tr064_role_master:`Maestro mesh`,tr064_role_slave:`Repetidor mesh`,tr064_role_switch:`Switch`,tr064_role_client:`Dispositivo`,tr064_showVendor:`Mostrar el fabricante`,tr064_randomMac:`dirección MAC aleatoria`,tr064_rename:`Renombrar`,tr064_renameTitle:`Renombrar dispositivo`,tr064_newName:`Nombre en el FRITZ!Box`,tr064_renameHint:`El FRITZ!Box usa este nombre en todas partes. Mientras la opción "Usar los nombres configurados" esté desactivada, los objetos bajo "devices" se renombran también.`,tr064_renameFailed:`El FRITZ!Box no renombró el dispositivo: %s`,tr064_clickToRename:`Haz clic para renombrar`,tr064_cancel:`Cancelar`,tr064_addressesPlaceholder:`MAC o IP - escriba el nombre, la MAC o la IP de un dispositivo`,tr064_usedBy:`usado por %s`,tr064_invalidAddress:`No es una dirección MAC ni IP`},pl:{tr064_meshTopology:`Topologia mesh`,tr064_refresh:`Odśwież`,tr064_onlyConfigured:`Tylko skonfigurowane urządzenia`,tr064_showDisconnected:`Pokaż odłączone urządzenia`,tr064_graph:`Wykres`,tr064_table:`Tabela`,tr064_updated:`Zaktualizowano: %s`,tr064_startInstance:`Uruchom instancję, aby zobaczyć topologię mesh`,tr064_notConnected:`Instancja nie jest jeszcze połączona z FRITZ!Box`,tr064_notSupported:`FRITZ!Box nie udostępnia topologii mesh`,tr064_timeout:`Instancja nie odpowiedziała`,tr064_error:`Błąd: %s`,tr064_loading:`Odczytywanie topologii mesh...`,tr064_noData:`Nie znaleziono urządzeń`,tr064_notAssigned:`Nieprzypisane`,tr064_device:`Urządzenie`,tr064_accessPoint:`Punkt dostępowy`,tr064_connection:`Połączenie`,tr064_state:`Stan`,tr064_rate:`Prędkość (Mbit/s)`,tr064_signal:`Sygnał`,tr064_signalTooltip:`Sygnał: %s dBm przy urządzeniu / %s dBm przy punkcie dostępowym`,tr064_noiseTooltip:`Stosunek sygnału do szumu: %s dB / %s dB`,tr064_position_too_far:`Zbyt daleko od punktu dostępowego`,tr064_position_too_close:`Bardzo blisko punktu dostępowego`,tr064_lastSeen:`Ostatnio połączone: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`połączone`,tr064_disconnected:`odłączone`,tr064_rateTooltip:`Obecnie: ↓ %s / ↑ %s Mbit/s`,tr064_devices:`Urządzenia: %s`,tr064_oneDevice:`1 urządzenie`,tr064_configuredAs:`Skonfigurowane jako „%s”`,tr064_role_master:`Mesh master`,tr064_role_slave:`Wzmacniacz mesh`,tr064_role_switch:`Przełącznik`,tr064_role_client:`Urządzenie`,tr064_showVendor:`Pokaż producenta`,tr064_randomMac:`losowy adres MAC`,tr064_rename:`Zmień nazwę`,tr064_renameTitle:`Zmień nazwę urządzenia`,tr064_newName:`Nazwa w FRITZ!Box`,tr064_renameHint:`FRITZ!Box używa tej nazwy wszędzie. Dopóki opcja „Używaj skonfigurowanych nazw” jest wyłączona, obiekty w „devices” są zmieniane razem z nią.`,tr064_renameFailed:`FRITZ!Box nie zmienił nazwy urządzenia: %s`,tr064_clickToRename:`Kliknij, aby zmienić nazwę`,tr064_cancel:`Anuluj`,tr064_addressesPlaceholder:`MAC lub IP - wpisz nazwę, MAC lub IP urządzenia`,tr064_usedBy:`używany przez %s`,tr064_invalidAddress:`Ani adres MAC, ani adres IP`},uk:{tr064_meshTopology:`Топологія mesh-мережі`,tr064_refresh:`Оновити`,tr064_onlyConfigured:`Лише налаштовані пристрої`,tr064_showDisconnected:`Показувати відключені пристрої`,tr064_graph:`Схема`,tr064_table:`Таблиця`,tr064_updated:`Оновлено: %s`,tr064_startInstance:`Запустіть екземпляр, щоб побачити топологію mesh-мережі`,tr064_notConnected:`Екземпляр ще не підключено до FRITZ!Box`,tr064_notSupported:`FRITZ!Box не надає топологію mesh-мережі`,tr064_timeout:`Екземпляр не відповів`,tr064_error:`Помилка: %s`,tr064_loading:`Читання топології mesh-мережі...`,tr064_noData:`Пристроїв не знайдено`,tr064_notAssigned:`Не призначено`,tr064_device:`Пристрій`,tr064_accessPoint:`Точка доступу`,tr064_connection:`Підключення`,tr064_state:`Стан`,tr064_rate:`Швидкість (Мбіт/с)`,tr064_signal:`Сигнал`,tr064_signalTooltip:`Сигнал: %s дБм на пристрої / %s дБм на точці доступу`,tr064_noiseTooltip:`Відношення сигнал/шум: %s дБ / %s дБ`,tr064_position_too_far:`Надто далеко від точки доступу`,tr064_position_too_close:`Дуже близько до точки доступу`,tr064_lastSeen:`Останнє з’єднання: %s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`підключено`,tr064_disconnected:`відключено`,tr064_rateTooltip:`Зараз: ↓ %s / ↑ %s Мбіт/с`,tr064_devices:`Пристроїв: %s`,tr064_oneDevice:`1 пристрій`,tr064_configuredAs:`Налаштовано як "%s"`,tr064_role_master:`Mesh-майстер`,tr064_role_slave:`Mesh-репітер`,tr064_role_switch:`Комутатор`,tr064_role_client:`Пристрій`,tr064_showVendor:`Показувати виробника`,tr064_randomMac:`випадкова MAC-адреса`,tr064_rename:`Перейменувати`,tr064_renameTitle:`Перейменувати пристрій`,tr064_newName:`Ім'я у FRITZ!Box`,tr064_renameHint:`FRITZ!Box використовує це ім'я всюди. Поки опція «Використовувати налаштовані імена» вимкнена, об'єкти в «devices» перейменовуються разом із ним.`,tr064_renameFailed:`FRITZ!Box не перейменував пристрій: %s`,tr064_clickToRename:`Натисніть, щоб перейменувати`,tr064_cancel:`Скасувати`,tr064_addressesPlaceholder:`MAC або IP - введіть ім'я, MAC або IP пристрою`,tr064_usedBy:`вже у %s`,tr064_invalidAddress:`Не MAC- і не IP-адреса`},"zh-cn":{tr064_meshTopology:`Mesh 拓扑`,tr064_refresh:`刷新`,tr064_onlyConfigured:`仅已配置的设备`,tr064_showDisconnected:`显示已断开的设备`,tr064_graph:`图形`,tr064_table:`表格`,tr064_updated:`更新时间:%s`,tr064_startInstance:`启动实例以查看 Mesh 拓扑`,tr064_notConnected:`实例尚未连接到 FRITZ!Box`,tr064_notSupported:`FRITZ!Box 未提供 Mesh 拓扑`,tr064_timeout:`实例没有响应`,tr064_error:`错误:%s`,tr064_loading:`正在读取 Mesh 拓扑...`,tr064_noData:`未找到设备`,tr064_notAssigned:`未分配`,tr064_device:`设备`,tr064_accessPoint:`接入点`,tr064_connection:`连接`,tr064_state:`状态`,tr064_rate:`速率 (Mbit/s)`,tr064_signal:`信号`,tr064_signalTooltip:`信号:设备端 %s dBm / 接入点端 %s dBm`,tr064_noiseTooltip:`信噪比:%s dB / %s dB`,tr064_position_too_far:`距离接入点太远`,tr064_position_too_close:`离接入点非常近`,tr064_lastSeen:`上次连接:%s`,tr064_mac:`MAC`,tr064_ip:`IP`,tr064_connected:`已连接`,tr064_disconnected:`已断开`,tr064_rateTooltip:`当前:↓ %s / ↑ %s Mbit/s`,tr064_devices:`%s 台设备`,tr064_oneDevice:`1 台设备`,tr064_configuredAs:`配置为“%s”`,tr064_role_master:`Mesh 主设备`,tr064_role_slave:`Mesh 中继器`,tr064_role_switch:`交换机`,tr064_role_client:`设备`,tr064_showVendor:`显示制造商`,tr064_randomMac:`随机 MAC 地址`,tr064_rename:`重命名`,tr064_renameTitle:`重命名设备`,tr064_newName:`FRITZ!Box 中的名称`,tr064_renameHint:`FRITZ!Box 在所有位置使用此名称。只要"使用已配置的名称"选项未启用,"devices"下的对象也会一并重命名。`,tr064_renameFailed:`FRITZ!Box 未能重命名设备:%s`,tr064_clickToRename:`点击以重命名`,tr064_cancel:`取消`,tr064_addressesPlaceholder:`MAC 或 IP - 输入设备的名称、MAC 或 IP`,tr064_usedBy:`已被 %s 使用`,tr064_invalidAddress:`既不是 MAC 地址也不是 IP 地址`}},t={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`tr-064 instance`,fritzdm_name:`Name`,fritzdm_showExternalIp:`Show the external IP address`,fritzdm_online:`Online`,fritzdm_noInternet:`No internet`,fritzdm_connecting:`Connecting…`,fritzdm_unreachable:`Not reachable`,fritzdm_download:`Download`,fritzdm_upload:`Upload`,fritzdm_maxRate:`max. %s`,fritzdm_externalIp:`External IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Guest`,fritzdm_guestWlan:`Guest WLAN`,fritzdm_on:`on`,fritzdm_off:`off`,fritzdm_newMessages:`%s new messages`,fritzdm_oneNewMessage:`1 new message`,fritzdm_noNewMessages:`No new messages`,fritzdm_missedCalls:`%s missed calls`,fritzdm_oneMissedCall:`1 missed call`,fritzdm_noMissedCalls:`No missed calls`,fritzdm_resetHint:`Click to reset`,fritzdm_resetMissedTitle:`Reset missed calls?`,fritzdm_resetMissedText:`The counter is set to 0. It is the counter of the adapter (currently %s), not a value of the FRITZ!Box: it counts every missed call since the installation. The call lists themselves stay unchanged.`,fritzdm_reset:`Reset`,fritzdm_cancel:`Cancel`,fritzdm_ringing:`Ringing`,fritzdm_phone:`Phone`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Close`,fritzdm_showMesh:`Show the mesh topology`,fritzdm_link_Up:`connected`,fritzdm_link_Down:`disconnected`,fritzdm_link_Initializing:`connecting`,fritzdm_link_Unavailable:`unavailable`,fritzdm_access_Fiber:`Fiber`,fritzdm_access_Cable:`Cable`,fritzdm_personWidgetName:`Person (presence)`,fritzdm_person:`Person`,fritzdm_personHelp:`Name as configured in the tab "Persons" of the tr-064 instance`,fritzdm_colorPresent:`Color present`,fritzdm_colorAbsent:`Color away`,fritzdm_appearance:`Appearance`,fritzdm_display:`Content`,fritzdm_nameOverride:`Displayed name`,fritzdm_nameOverrideHelp:`Empty: the name of the person`,fritzdm_showName:`Show the name`,fritzdm_photo:`Photo`,fritzdm_photoHelp:`Takes precedence over the icons`,fritzdm_iconPresent:`Icon present`,fritzdm_iconAbsent:`Icon away`,fritzdm_textPresent:`Text present`,fritzdm_textAbsent:`Text away`,fritzdm_dimAbsent:`Gray out photo and icon while away`,fritzdm_showSince:`Show since when`,fritzdm_showLastChange:`Show the last coming and going`,fritzdm_showHistory:`Show the history (click on the tile)`,fritzdm_present:`Present`,fritzdm_absent:`Away`,fritzdm_noPerson:`No person selected`,fritzdm_personNotFound:`Person not found`,fritzdm_personNotFoundIn:`Person "%s" not found in %s`,fritzdm_sinceDuration:`for %s`,fritzdm_lastArrival:`Came`,fritzdm_lastDeparture:`Left`,fritzdm_came:`Came`,fritzdm_left:`Left`,fritzdm_stayed:`Present for %s`,fritzdm_wasAway:`Away for %s`,fritzdm_presentToday:`Present today`,fritzdm_absentToday:`Away today`,fritzdm_historyTitle:`Comings and goings`,fritzdm_showHistoryOf:`Show the comings and goings`,fritzdm_noHistory:`No comings and goings recorded yet`,fritzdm_historyFrom:`From %s`,fritzdm_historyFromAdapter:`Recorded by the adapter`,fritzdm_refresh:`Refresh`},n={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`tr-064-Instanz`,fritzdm_name:`Name`,fritzdm_showExternalIp:`Externe IP-Adresse anzeigen`,fritzdm_online:`Online`,fritzdm_noInternet:`Kein Internet`,fritzdm_connecting:`Verbindet…`,fritzdm_unreachable:`Nicht erreichbar`,fritzdm_download:`Download`,fritzdm_upload:`Upload`,fritzdm_maxRate:`max. %s`,fritzdm_externalIp:`Externe IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Gast`,fritzdm_guestWlan:`Gast-WLAN`,fritzdm_on:`an`,fritzdm_off:`aus`,fritzdm_newMessages:`%s neue Nachrichten`,fritzdm_oneNewMessage:`1 neue Nachricht`,fritzdm_noNewMessages:`Keine neuen Nachrichten`,fritzdm_missedCalls:`%s verpasste Anrufe`,fritzdm_oneMissedCall:`1 verpasster Anruf`,fritzdm_noMissedCalls:`Keine verpassten Anrufe`,fritzdm_resetHint:`Zum Zurücksetzen anklicken`,fritzdm_resetMissedTitle:`Verpasste Anrufe zurücksetzen?`,fritzdm_resetMissedText:`Der Zähler wird auf 0 gesetzt. Es ist der Zähler des Adapters (zurzeit %s), kein Wert der FRITZ!Box: er zählt jeden verpassten Anruf seit der Installation. Die Anruflisten selbst bleiben unverändert.`,fritzdm_reset:`Zurücksetzen`,fritzdm_cancel:`Abbrechen`,fritzdm_ringing:`Es klingelt`,fritzdm_phone:`Telefon`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Schließen`,fritzdm_showMesh:`Mesh-Topologie anzeigen`,fritzdm_link_Up:`verbunden`,fritzdm_link_Down:`getrennt`,fritzdm_link_Initializing:`verbindet`,fritzdm_link_Unavailable:`nicht verfügbar`,fritzdm_access_Fiber:`Glasfaser`,fritzdm_access_Cable:`Kabel`,fritzdm_personWidgetName:`Person (Anwesenheit)`,fritzdm_person:`Person`,fritzdm_personHelp:`Name wie im Reiter "Personen" der tr-064-Instanz konfiguriert`,fritzdm_colorPresent:`Farbe anwesend`,fritzdm_colorAbsent:`Farbe abwesend`,fritzdm_appearance:`Darstellung`,fritzdm_display:`Inhalt`,fritzdm_nameOverride:`Angezeigter Name`,fritzdm_nameOverrideHelp:`Leer: der Name der Person`,fritzdm_showName:`Namen anzeigen`,fritzdm_photo:`Foto`,fritzdm_photoHelp:`Hat Vorrang vor den Symbolen`,fritzdm_iconPresent:`Symbol anwesend`,fritzdm_iconAbsent:`Symbol abwesend`,fritzdm_textPresent:`Text anwesend`,fritzdm_textAbsent:`Text abwesend`,fritzdm_dimAbsent:`Foto und Symbol bei Abwesenheit ausgrauen`,fritzdm_showSince:`Seit wann anzeigen`,fritzdm_showLastChange:`Letztes Kommen und Gehen anzeigen`,fritzdm_showHistory:`Verlauf anzeigen (Klick auf die Kachel)`,fritzdm_present:`Anwesend`,fritzdm_absent:`Abwesend`,fritzdm_noPerson:`Keine Person gewählt`,fritzdm_personNotFound:`Person nicht gefunden`,fritzdm_personNotFoundIn:`Person "%s" in %s nicht gefunden`,fritzdm_sinceDuration:`seit %s`,fritzdm_lastArrival:`Gekommen`,fritzdm_lastDeparture:`Gegangen`,fritzdm_came:`Gekommen`,fritzdm_left:`Gegangen`,fritzdm_stayed:`%s anwesend`,fritzdm_wasAway:`%s abwesend`,fritzdm_presentToday:`Heute anwesend`,fritzdm_absentToday:`Heute abwesend`,fritzdm_historyTitle:`Kommen und Gehen`,fritzdm_showHistoryOf:`Kommen und Gehen anzeigen`,fritzdm_noHistory:`Noch kein Kommen und Gehen aufgezeichnet`,fritzdm_historyFrom:`Aus %s`,fritzdm_historyFromAdapter:`Vom Adapter aufgezeichnet`,fritzdm_refresh:`Aktualisieren`},r={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Экземпляр tr-064`,fritzdm_name:`Имя`,fritzdm_showExternalIp:`Показывать внешний IP-адрес`,fritzdm_online:`Онлайн`,fritzdm_noInternet:`Нет интернета`,fritzdm_connecting:`Подключение…`,fritzdm_unreachable:`Недоступен`,fritzdm_download:`Загрузка`,fritzdm_upload:`Отдача`,fritzdm_maxRate:`макс. %s`,fritzdm_externalIp:`Внешний IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Гость`,fritzdm_guestWlan:`Гостевой WLAN`,fritzdm_on:`вкл.`,fritzdm_off:`выкл.`,fritzdm_newMessages:`Новых сообщений: %s`,fritzdm_oneNewMessage:`1 новое сообщение`,fritzdm_noNewMessages:`Нет новых сообщений`,fritzdm_missedCalls:`Пропущенных вызовов: %s`,fritzdm_oneMissedCall:`1 пропущенный вызов`,fritzdm_noMissedCalls:`Нет пропущенных вызовов`,fritzdm_resetHint:`Нажмите, чтобы сбросить`,fritzdm_resetMissedTitle:`Сбросить пропущенные звонки?`,fritzdm_resetMissedText:`Счётчик будет установлен в 0. Это счётчик адаптера (сейчас %s), а не значение FRITZ!Box: он считает каждый пропущенный звонок с момента установки. Сами списки звонков не меняются.`,fritzdm_reset:`Сбросить`,fritzdm_cancel:`Отмена`,fritzdm_ringing:`Входящий звонок`,fritzdm_phone:`Телефон`,fritzdm_internet:`Интернет`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Закрыть`,fritzdm_showMesh:`Показать mesh-топологию`,fritzdm_link_Up:`подключено`,fritzdm_link_Down:`отключено`,fritzdm_link_Initializing:`подключение`,fritzdm_link_Unavailable:`недоступно`,fritzdm_access_Fiber:`Оптоволокно`,fritzdm_access_Cable:`Кабель`,fritzdm_personWidgetName:`Человек (присутствие)`,fritzdm_person:`Человек`,fritzdm_personHelp:`Имя, как указано на вкладке «Люди» экземпляра tr-064`,fritzdm_colorPresent:`Цвет «дома»`,fritzdm_colorAbsent:`Цвет «нет дома»`,fritzdm_appearance:`Внешний вид`,fritzdm_display:`Содержимое`,fritzdm_nameOverride:`Отображаемое имя`,fritzdm_nameOverrideHelp:`Пусто: имя человека`,fritzdm_showName:`Показывать имя`,fritzdm_photo:`Фото`,fritzdm_photoHelp:`Имеет приоритет над значками`,fritzdm_iconPresent:`Значок «дома»`,fritzdm_iconAbsent:`Значок «нет дома»`,fritzdm_textPresent:`Текст «дома»`,fritzdm_textAbsent:`Текст «нет дома»`,fritzdm_dimAbsent:`Затемнять фото и значок, когда нет дома`,fritzdm_showSince:`Показывать, с какого времени`,fritzdm_showLastChange:`Показывать последний приход и уход`,fritzdm_showHistory:`Показывать историю (нажатие на плитку)`,fritzdm_present:`Дома`,fritzdm_absent:`Нет дома`,fritzdm_noPerson:`Человек не выбран`,fritzdm_personNotFound:`Человек не найден`,fritzdm_personNotFoundIn:`Человек «%s» не найден в %s`,fritzdm_sinceDuration:`уже %s`,fritzdm_lastArrival:`Пришёл`,fritzdm_lastDeparture:`Ушёл`,fritzdm_came:`Пришёл`,fritzdm_left:`Ушёл`,fritzdm_stayed:`Был дома %s`,fritzdm_wasAway:`Не было дома %s`,fritzdm_presentToday:`Сегодня дома`,fritzdm_absentToday:`Сегодня не дома`,fritzdm_historyTitle:`Приходы и уходы`,fritzdm_showHistoryOf:`Показать приходы и уходы`,fritzdm_noHistory:`Приходы и уходы ещё не записаны`,fritzdm_historyFrom:`Из %s`,fritzdm_historyFromAdapter:`Записано адаптером`,fritzdm_refresh:`Обновить`},i={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Instância tr-064`,fritzdm_name:`Nome`,fritzdm_showExternalIp:`Mostrar o endereço IP externo`,fritzdm_online:`Online`,fritzdm_noInternet:`Sem internet`,fritzdm_connecting:`Conectando…`,fritzdm_unreachable:`Inacessível`,fritzdm_download:`Download`,fritzdm_upload:`Upload`,fritzdm_maxRate:`máx. %s`,fritzdm_externalIp:`IP externo`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Convidados`,fritzdm_guestWlan:`WLAN de convidados`,fritzdm_on:`ligado`,fritzdm_off:`desligado`,fritzdm_newMessages:`%s mensagens novas`,fritzdm_oneNewMessage:`1 mensagem nova`,fritzdm_noNewMessages:`Nenhuma mensagem nova`,fritzdm_missedCalls:`%s chamadas perdidas`,fritzdm_oneMissedCall:`1 chamada perdida`,fritzdm_noMissedCalls:`Nenhuma chamada perdida`,fritzdm_resetHint:`Clique para repor`,fritzdm_resetMissedTitle:`Repor as chamadas perdidas?`,fritzdm_resetMissedText:`O contador é colocado a 0. É o contador do adaptador (atualmente %s), não um valor do FRITZ!Box: conta todas as chamadas perdidas desde a instalação. As listas de chamadas permanecem inalteradas.`,fritzdm_reset:`Repor`,fritzdm_cancel:`Cancelar`,fritzdm_ringing:`Tocando`,fritzdm_phone:`Telefone`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Fechar`,fritzdm_showMesh:`Mostrar a topologia mesh`,fritzdm_link_Up:`conectado`,fritzdm_link_Down:`desconectado`,fritzdm_link_Initializing:`conectando`,fritzdm_link_Unavailable:`indisponível`,fritzdm_access_Fiber:`Fibra`,fritzdm_access_Cable:`Cabo`,fritzdm_personWidgetName:`Pessoa (presença)`,fritzdm_person:`Pessoa`,fritzdm_personHelp:`Nome conforme configurado na aba "Pessoas" da instância tr-064`,fritzdm_colorPresent:`Cor presente`,fritzdm_colorAbsent:`Cor ausente`,fritzdm_appearance:`Aparência`,fritzdm_display:`Conteúdo`,fritzdm_nameOverride:`Nome exibido`,fritzdm_nameOverrideHelp:`Vazio: o nome da pessoa`,fritzdm_showName:`Mostrar o nome`,fritzdm_photo:`Foto`,fritzdm_photoHelp:`Tem prioridade sobre os ícones`,fritzdm_iconPresent:`Ícone presente`,fritzdm_iconAbsent:`Ícone ausente`,fritzdm_textPresent:`Texto presente`,fritzdm_textAbsent:`Texto ausente`,fritzdm_dimAbsent:`Acinzentar foto e ícone quando ausente`,fritzdm_showSince:`Mostrar desde quando`,fritzdm_showLastChange:`Mostrar a última chegada e saída`,fritzdm_showHistory:`Mostrar o histórico (clique no bloco)`,fritzdm_present:`Presente`,fritzdm_absent:`Ausente`,fritzdm_noPerson:`Nenhuma pessoa selecionada`,fritzdm_personNotFound:`Pessoa não encontrada`,fritzdm_personNotFoundIn:`Pessoa "%s" não encontrada em %s`,fritzdm_sinceDuration:`há %s`,fritzdm_lastArrival:`Chegou`,fritzdm_lastDeparture:`Saiu`,fritzdm_came:`Chegou`,fritzdm_left:`Saiu`,fritzdm_stayed:`Presente durante %s`,fritzdm_wasAway:`Ausente durante %s`,fritzdm_presentToday:`Presente hoje`,fritzdm_absentToday:`Ausente hoje`,fritzdm_historyTitle:`Chegadas e saídas`,fritzdm_showHistoryOf:`Mostrar chegadas e saídas`,fritzdm_noHistory:`Ainda não há chegadas e saídas registadas`,fritzdm_historyFrom:`De %s`,fritzdm_historyFromAdapter:`Registado pelo adaptador`,fritzdm_refresh:`Atualizar`},a={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`tr-064-instantie`,fritzdm_name:`Naam`,fritzdm_showExternalIp:`Extern IP-adres tonen`,fritzdm_online:`Online`,fritzdm_noInternet:`Geen internet`,fritzdm_connecting:`Verbinden…`,fritzdm_unreachable:`Niet bereikbaar`,fritzdm_download:`Download`,fritzdm_upload:`Upload`,fritzdm_maxRate:`max. %s`,fritzdm_externalIp:`Extern IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Gast`,fritzdm_guestWlan:`Gast-WLAN`,fritzdm_on:`aan`,fritzdm_off:`uit`,fritzdm_newMessages:`%s nieuwe berichten`,fritzdm_oneNewMessage:`1 nieuw bericht`,fritzdm_noNewMessages:`Geen nieuwe berichten`,fritzdm_missedCalls:`%s gemiste oproepen`,fritzdm_oneMissedCall:`1 gemiste oproep`,fritzdm_noMissedCalls:`Geen gemiste oproepen`,fritzdm_resetHint:`Klik om te resetten`,fritzdm_resetMissedTitle:`Gemiste oproepen resetten?`,fritzdm_resetMissedText:`De teller wordt op 0 gezet. Het is de teller van de adapter (nu %s), geen waarde van de FRITZ!Box: hij telt elke gemiste oproep sinds de installatie. De oproeplijsten zelf blijven ongewijzigd.`,fritzdm_reset:`Resetten`,fritzdm_cancel:`Annuleren`,fritzdm_ringing:`Gaat over`,fritzdm_phone:`Telefoon`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Sluiten`,fritzdm_showMesh:`Mesh-topologie tonen`,fritzdm_link_Up:`verbonden`,fritzdm_link_Down:`verbroken`,fritzdm_link_Initializing:`verbinden`,fritzdm_link_Unavailable:`niet beschikbaar`,fritzdm_access_Fiber:`Glasvezel`,fritzdm_access_Cable:`Kabel`,fritzdm_personWidgetName:`Persoon (aanwezigheid)`,fritzdm_person:`Persoon`,fritzdm_personHelp:`Naam zoals ingesteld op het tabblad "Personen" van de tr-064-instantie`,fritzdm_colorPresent:`Kleur aanwezig`,fritzdm_colorAbsent:`Kleur afwezig`,fritzdm_appearance:`Weergave`,fritzdm_display:`Inhoud`,fritzdm_nameOverride:`Weergegeven naam`,fritzdm_nameOverrideHelp:`Leeg: de naam van de persoon`,fritzdm_showName:`Naam tonen`,fritzdm_photo:`Foto`,fritzdm_photoHelp:`Heeft voorrang op de pictogrammen`,fritzdm_iconPresent:`Pictogram aanwezig`,fritzdm_iconAbsent:`Pictogram afwezig`,fritzdm_textPresent:`Tekst aanwezig`,fritzdm_textAbsent:`Tekst afwezig`,fritzdm_dimAbsent:`Foto en pictogram grijs bij afwezigheid`,fritzdm_showSince:`Tonen sinds wanneer`,fritzdm_showLastChange:`Laatste komen en gaan tonen`,fritzdm_showHistory:`Geschiedenis tonen (klik op de tegel)`,fritzdm_present:`Aanwezig`,fritzdm_absent:`Afwezig`,fritzdm_noPerson:`Geen persoon gekozen`,fritzdm_personNotFound:`Persoon niet gevonden`,fritzdm_personNotFoundIn:`Persoon "%s" niet gevonden in %s`,fritzdm_sinceDuration:`sinds %s`,fritzdm_lastArrival:`Gekomen`,fritzdm_lastDeparture:`Vertrokken`,fritzdm_came:`Gekomen`,fritzdm_left:`Vertrokken`,fritzdm_stayed:`%s aanwezig`,fritzdm_wasAway:`%s afwezig`,fritzdm_presentToday:`Vandaag aanwezig`,fritzdm_absentToday:`Vandaag afwezig`,fritzdm_historyTitle:`Komen en gaan`,fritzdm_showHistoryOf:`Komen en gaan tonen`,fritzdm_noHistory:`Nog geen komen en gaan vastgelegd`,fritzdm_historyFrom:`Uit %s`,fritzdm_historyFromAdapter:`Vastgelegd door de adapter`,fritzdm_refresh:`Vernieuwen`},o={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Instance tr-064`,fritzdm_name:`Nom`,fritzdm_showExternalIp:`Afficher l'adresse IP externe`,fritzdm_online:`En ligne`,fritzdm_noInternet:`Pas d'Internet`,fritzdm_connecting:`Connexion…`,fritzdm_unreachable:`Injoignable`,fritzdm_download:`Réception`,fritzdm_upload:`Envoi`,fritzdm_maxRate:`max. %s`,fritzdm_externalIp:`IP externe`,fritzdm_wlan:`Wi-Fi`,fritzdm_guest:`Invités`,fritzdm_guestWlan:`Wi-Fi invités`,fritzdm_on:`activé`,fritzdm_off:`désactivé`,fritzdm_newMessages:`%s nouveaux messages`,fritzdm_oneNewMessage:`1 nouveau message`,fritzdm_noNewMessages:`Aucun nouveau message`,fritzdm_missedCalls:`%s appels manqués`,fritzdm_oneMissedCall:`1 appel manqué`,fritzdm_noMissedCalls:`Aucun appel manqué`,fritzdm_resetHint:`Cliquez pour réinitialiser`,fritzdm_resetMissedTitle:`Réinitialiser les appels manqués ?`,fritzdm_resetMissedText:`Le compteur est remis à 0. C'est le compteur de l'adaptateur (actuellement %s), pas une valeur de la FRITZ!Box : il compte chaque appel manqué depuis l'installation. Les listes d'appels restent inchangées.`,fritzdm_reset:`Réinitialiser`,fritzdm_cancel:`Annuler`,fritzdm_ringing:`Sonnerie`,fritzdm_phone:`Téléphone`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Fermer`,fritzdm_showMesh:`Afficher la topologie mesh`,fritzdm_link_Up:`connecté`,fritzdm_link_Down:`déconnecté`,fritzdm_link_Initializing:`connexion`,fritzdm_link_Unavailable:`indisponible`,fritzdm_access_Fiber:`Fibre`,fritzdm_access_Cable:`Câble`,fritzdm_personWidgetName:`Personne (présence)`,fritzdm_person:`Personne`,fritzdm_personHelp:`Nom tel que configuré dans l'onglet « Personnes » de l'instance tr-064`,fritzdm_colorPresent:`Couleur présent`,fritzdm_colorAbsent:`Couleur absent`,fritzdm_appearance:`Apparence`,fritzdm_display:`Contenu`,fritzdm_nameOverride:`Nom affiché`,fritzdm_nameOverrideHelp:`Vide : le nom de la personne`,fritzdm_showName:`Afficher le nom`,fritzdm_photo:`Photo`,fritzdm_photoHelp:`Prioritaire sur les icônes`,fritzdm_iconPresent:`Icône présent`,fritzdm_iconAbsent:`Icône absent`,fritzdm_textPresent:`Texte présent`,fritzdm_textAbsent:`Texte absent`,fritzdm_dimAbsent:`Griser la photo et l'icône en cas d'absence`,fritzdm_showSince:`Afficher depuis quand`,fritzdm_showLastChange:`Afficher la dernière arrivée et le dernier départ`,fritzdm_showHistory:`Afficher l'historique (clic sur la tuile)`,fritzdm_present:`Présent`,fritzdm_absent:`Absent`,fritzdm_noPerson:`Aucune personne choisie`,fritzdm_personNotFound:`Personne introuvable`,fritzdm_personNotFoundIn:`Personne « %s » introuvable dans %s`,fritzdm_sinceDuration:`depuis %s`,fritzdm_lastArrival:`Arrivée`,fritzdm_lastDeparture:`Départ`,fritzdm_came:`Arrivée`,fritzdm_left:`Départ`,fritzdm_stayed:`Présent pendant %s`,fritzdm_wasAway:`Absent pendant %s`,fritzdm_presentToday:`Présent aujourd'hui`,fritzdm_absentToday:`Absent aujourd'hui`,fritzdm_historyTitle:`Arrivées et départs`,fritzdm_showHistoryOf:`Afficher les arrivées et départs`,fritzdm_noHistory:`Aucune arrivée ni aucun départ enregistré`,fritzdm_historyFrom:`Depuis %s`,fritzdm_historyFromAdapter:`Enregistré par l'adaptateur`,fritzdm_refresh:`Actualiser`},s={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Istanza tr-064`,fritzdm_name:`Nome`,fritzdm_showExternalIp:`Mostra l'indirizzo IP esterno`,fritzdm_online:`Online`,fritzdm_noInternet:`Senza Internet`,fritzdm_connecting:`Connessione…`,fritzdm_unreachable:`Non raggiungibile`,fritzdm_download:`Download`,fritzdm_upload:`Upload`,fritzdm_maxRate:`max. %s`,fritzdm_externalIp:`IP esterno`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Ospiti`,fritzdm_guestWlan:`WLAN ospiti`,fritzdm_on:`attivo`,fritzdm_off:`disattivo`,fritzdm_newMessages:`%s nuovi messaggi`,fritzdm_oneNewMessage:`1 nuovo messaggio`,fritzdm_noNewMessages:`Nessun nuovo messaggio`,fritzdm_missedCalls:`%s chiamate perse`,fritzdm_oneMissedCall:`1 chiamata persa`,fritzdm_noMissedCalls:`Nessuna chiamata persa`,fritzdm_resetHint:`Fare clic per azzerare`,fritzdm_resetMissedTitle:`Azzerare le chiamate perse?`,fritzdm_resetMissedText:`Il contatore viene impostato a 0. È il contatore dell'adattatore (attualmente %s), non un valore del FRITZ!Box: conta ogni chiamata persa dall'installazione. Gli elenchi delle chiamate restano invariati.`,fritzdm_reset:`Azzera`,fritzdm_cancel:`Annulla`,fritzdm_ringing:`Squilla`,fritzdm_phone:`Telefono`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Chiudi`,fritzdm_showMesh:`Mostra la topologia mesh`,fritzdm_link_Up:`connesso`,fritzdm_link_Down:`disconnesso`,fritzdm_link_Initializing:`in connessione`,fritzdm_link_Unavailable:`non disponibile`,fritzdm_access_Fiber:`Fibra`,fritzdm_access_Cable:`Cavo`,fritzdm_personWidgetName:`Persona (presenza)`,fritzdm_person:`Persona`,fritzdm_personHelp:`Nome come configurato nella scheda "Persone" dell'istanza tr-064`,fritzdm_colorPresent:`Colore presente`,fritzdm_colorAbsent:`Colore assente`,fritzdm_appearance:`Aspetto`,fritzdm_display:`Contenuto`,fritzdm_nameOverride:`Nome visualizzato`,fritzdm_nameOverrideHelp:`Vuoto: il nome della persona`,fritzdm_showName:`Mostra il nome`,fritzdm_photo:`Foto`,fritzdm_photoHelp:`Ha la precedenza sulle icone`,fritzdm_iconPresent:`Icona presente`,fritzdm_iconAbsent:`Icona assente`,fritzdm_textPresent:`Testo presente`,fritzdm_textAbsent:`Testo assente`,fritzdm_dimAbsent:`Rendi grigi foto e icona quando assente`,fritzdm_showSince:`Mostra da quando`,fritzdm_showLastChange:`Mostra l'ultimo arrivo e l'ultima uscita`,fritzdm_showHistory:`Mostra la cronologia (clic sul riquadro)`,fritzdm_present:`Presente`,fritzdm_absent:`Assente`,fritzdm_noPerson:`Nessuna persona selezionata`,fritzdm_personNotFound:`Persona non trovata`,fritzdm_personNotFoundIn:`Persona "%s" non trovata in %s`,fritzdm_sinceDuration:`da %s`,fritzdm_lastArrival:`Arrivato`,fritzdm_lastDeparture:`Uscito`,fritzdm_came:`Arrivato`,fritzdm_left:`Uscito`,fritzdm_stayed:`Presente per %s`,fritzdm_wasAway:`Assente per %s`,fritzdm_presentToday:`Presente oggi`,fritzdm_absentToday:`Assente oggi`,fritzdm_historyTitle:`Arrivi e uscite`,fritzdm_showHistoryOf:`Mostra arrivi e uscite`,fritzdm_noHistory:`Nessun arrivo o uscita ancora registrati`,fritzdm_historyFrom:`Da %s`,fritzdm_historyFromAdapter:`Registrato dall'adattatore`,fritzdm_refresh:`Aggiorna`},c={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Instancia tr-064`,fritzdm_name:`Nombre`,fritzdm_showExternalIp:`Mostrar la dirección IP externa`,fritzdm_online:`En línea`,fritzdm_noInternet:`Sin Internet`,fritzdm_connecting:`Conectando…`,fritzdm_unreachable:`No accesible`,fritzdm_download:`Descarga`,fritzdm_upload:`Subida`,fritzdm_maxRate:`máx. %s`,fritzdm_externalIp:`IP externa`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Invitados`,fritzdm_guestWlan:`WLAN de invitados`,fritzdm_on:`activada`,fritzdm_off:`desactivada`,fritzdm_newMessages:`%s mensajes nuevos`,fritzdm_oneNewMessage:`1 mensaje nuevo`,fritzdm_noNewMessages:`No hay mensajes nuevos`,fritzdm_missedCalls:`%s llamadas perdidas`,fritzdm_oneMissedCall:`1 llamada perdida`,fritzdm_noMissedCalls:`No hay llamadas perdidas`,fritzdm_resetHint:`Haga clic para restablecer`,fritzdm_resetMissedTitle:`¿Restablecer las llamadas perdidas?`,fritzdm_resetMissedText:`El contador se pone a 0. Es el contador del adaptador (actualmente %s), no un valor del FRITZ!Box: cuenta todas las llamadas perdidas desde la instalación. Las listas de llamadas no se modifican.`,fritzdm_reset:`Restablecer`,fritzdm_cancel:`Cancelar`,fritzdm_ringing:`Sonando`,fritzdm_phone:`Teléfono`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Cerrar`,fritzdm_showMesh:`Mostrar la topología mesh`,fritzdm_link_Up:`conectado`,fritzdm_link_Down:`desconectado`,fritzdm_link_Initializing:`conectando`,fritzdm_link_Unavailable:`no disponible`,fritzdm_access_Fiber:`Fibra`,fritzdm_access_Cable:`Cable`,fritzdm_personWidgetName:`Persona (presencia)`,fritzdm_person:`Persona`,fritzdm_personHelp:`Nombre tal como está configurado en la pestaña "Personas" de la instancia tr-064`,fritzdm_colorPresent:`Color presente`,fritzdm_colorAbsent:`Color ausente`,fritzdm_appearance:`Apariencia`,fritzdm_display:`Contenido`,fritzdm_nameOverride:`Nombre mostrado`,fritzdm_nameOverrideHelp:`Vacío: el nombre de la persona`,fritzdm_showName:`Mostrar el nombre`,fritzdm_photo:`Foto`,fritzdm_photoHelp:`Tiene prioridad sobre los iconos`,fritzdm_iconPresent:`Icono presente`,fritzdm_iconAbsent:`Icono ausente`,fritzdm_textPresent:`Texto presente`,fritzdm_textAbsent:`Texto ausente`,fritzdm_dimAbsent:`Atenuar foto e icono en ausencia`,fritzdm_showSince:`Mostrar desde cuándo`,fritzdm_showLastChange:`Mostrar la última llegada y salida`,fritzdm_showHistory:`Mostrar el historial (clic en el mosaico)`,fritzdm_present:`Presente`,fritzdm_absent:`Ausente`,fritzdm_noPerson:`Ninguna persona seleccionada`,fritzdm_personNotFound:`Persona no encontrada`,fritzdm_personNotFoundIn:`Persona "%s" no encontrada en %s`,fritzdm_sinceDuration:`desde hace %s`,fritzdm_lastArrival:`Llegó`,fritzdm_lastDeparture:`Se fue`,fritzdm_came:`Llegó`,fritzdm_left:`Se fue`,fritzdm_stayed:`Presente durante %s`,fritzdm_wasAway:`Ausente durante %s`,fritzdm_presentToday:`Presente hoy`,fritzdm_absentToday:`Ausente hoy`,fritzdm_historyTitle:`Llegadas y salidas`,fritzdm_showHistoryOf:`Mostrar llegadas y salidas`,fritzdm_noHistory:`Aún no se han registrado llegadas ni salidas`,fritzdm_historyFrom:`De %s`,fritzdm_historyFromAdapter:`Registrado por el adaptador`,fritzdm_refresh:`Actualizar`},l={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Instancja tr-064`,fritzdm_name:`Nazwa`,fritzdm_showExternalIp:`Pokaż zewnętrzny adres IP`,fritzdm_online:`Online`,fritzdm_noInternet:`Brak internetu`,fritzdm_connecting:`Łączenie…`,fritzdm_unreachable:`Nieosiągalny`,fritzdm_download:`Pobieranie`,fritzdm_upload:`Wysyłanie`,fritzdm_maxRate:`maks. %s`,fritzdm_externalIp:`Zewnętrzny IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Goście`,fritzdm_guestWlan:`WLAN dla gości`,fritzdm_on:`wł.`,fritzdm_off:`wył.`,fritzdm_newMessages:`Nowe wiadomości: %s`,fritzdm_oneNewMessage:`1 nowa wiadomość`,fritzdm_noNewMessages:`Brak nowych wiadomości`,fritzdm_missedCalls:`Nieodebrane połączenia: %s`,fritzdm_oneMissedCall:`1 nieodebrane połączenie`,fritzdm_noMissedCalls:`Brak nieodebranych połączeń`,fritzdm_resetHint:`Kliknij, aby wyzerować`,fritzdm_resetMissedTitle:`Wyzerować nieodebrane połączenia?`,fritzdm_resetMissedText:`Licznik zostanie ustawiony na 0. Jest to licznik adaptera (obecnie %s), a nie wartość z FRITZ!Box: liczy każde nieodebrane połączenie od instalacji. Same listy połączeń pozostają bez zmian.`,fritzdm_reset:`Wyzeruj`,fritzdm_cancel:`Anuluj`,fritzdm_ringing:`Dzwoni`,fritzdm_phone:`Telefon`,fritzdm_internet:`Internet`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Zamknij`,fritzdm_showMesh:`Pokaż topologię mesh`,fritzdm_link_Up:`połączono`,fritzdm_link_Down:`rozłączono`,fritzdm_link_Initializing:`łączenie`,fritzdm_link_Unavailable:`niedostępne`,fritzdm_access_Fiber:`Światłowód`,fritzdm_access_Cable:`Kabel`,fritzdm_personWidgetName:`Osoba (obecność)`,fritzdm_person:`Osoba`,fritzdm_personHelp:`Nazwa skonfigurowana w zakładce „Osoby” instancji tr-064`,fritzdm_colorPresent:`Kolor obecny`,fritzdm_colorAbsent:`Kolor nieobecny`,fritzdm_appearance:`Wygląd`,fritzdm_display:`Zawartość`,fritzdm_nameOverride:`Wyświetlana nazwa`,fritzdm_nameOverrideHelp:`Puste: nazwa osoby`,fritzdm_showName:`Pokaż nazwę`,fritzdm_photo:`Zdjęcie`,fritzdm_photoHelp:`Ma pierwszeństwo przed ikonami`,fritzdm_iconPresent:`Ikona obecny`,fritzdm_iconAbsent:`Ikona nieobecny`,fritzdm_textPresent:`Tekst obecny`,fritzdm_textAbsent:`Tekst nieobecny`,fritzdm_dimAbsent:`Wyszarz zdjęcie i ikonę podczas nieobecności`,fritzdm_showSince:`Pokaż od kiedy`,fritzdm_showLastChange:`Pokaż ostatnie przyjście i wyjście`,fritzdm_showHistory:`Pokaż historię (kliknięcie kafelka)`,fritzdm_present:`Obecny`,fritzdm_absent:`Nieobecny`,fritzdm_noPerson:`Nie wybrano osoby`,fritzdm_personNotFound:`Nie znaleziono osoby`,fritzdm_personNotFoundIn:`Nie znaleziono osoby „%s” w %s`,fritzdm_sinceDuration:`od %s`,fritzdm_lastArrival:`Przyszedł`,fritzdm_lastDeparture:`Wyszedł`,fritzdm_came:`Przyszedł`,fritzdm_left:`Wyszedł`,fritzdm_stayed:`Obecny przez %s`,fritzdm_wasAway:`Nieobecny przez %s`,fritzdm_presentToday:`Obecny dzisiaj`,fritzdm_absentToday:`Nieobecny dzisiaj`,fritzdm_historyTitle:`Przyjścia i wyjścia`,fritzdm_showHistoryOf:`Pokaż przyjścia i wyjścia`,fritzdm_noHistory:`Nie zarejestrowano jeszcze przyjść i wyjść`,fritzdm_historyFrom:`Z %s`,fritzdm_historyFromAdapter:`Zarejestrowane przez adapter`,fritzdm_refresh:`Odśwież`},u={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`Екземпляр tr-064`,fritzdm_name:`Назва`,fritzdm_showExternalIp:`Показувати зовнішню IP-адресу`,fritzdm_online:`Онлайн`,fritzdm_noInternet:`Немає інтернету`,fritzdm_connecting:`Підключення…`,fritzdm_unreachable:`Недоступний`,fritzdm_download:`Завантаження`,fritzdm_upload:`Вивантаження`,fritzdm_maxRate:`макс. %s`,fritzdm_externalIp:`Зовнішня IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`Гості`,fritzdm_guestWlan:`Гостьовий WLAN`,fritzdm_on:`увімк.`,fritzdm_off:`вимк.`,fritzdm_newMessages:`Нових повідомлень: %s`,fritzdm_oneNewMessage:`1 нове повідомлення`,fritzdm_noNewMessages:`Немає нових повідомлень`,fritzdm_missedCalls:`Пропущених дзвінків: %s`,fritzdm_oneMissedCall:`1 пропущений дзвінок`,fritzdm_noMissedCalls:`Немає пропущених дзвінків`,fritzdm_resetHint:`Натисніть, щоб скинути`,fritzdm_resetMissedTitle:`Скинути пропущені дзвінки?`,fritzdm_resetMissedText:`Лічильник буде встановлено на 0. Це лічильник адаптера (зараз %s), а не значення FRITZ!Box: він рахує кожен пропущений дзвінок від моменту встановлення. Самі списки дзвінків залишаються без змін.`,fritzdm_reset:`Скинути`,fritzdm_cancel:`Скасувати`,fritzdm_ringing:`Вхідний дзвінок`,fritzdm_phone:`Телефон`,fritzdm_internet:`Інтернет`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`Закрити`,fritzdm_showMesh:`Показати mesh-топологію`,fritzdm_link_Up:`підключено`,fritzdm_link_Down:`відключено`,fritzdm_link_Initializing:`підключення`,fritzdm_link_Unavailable:`недоступно`,fritzdm_access_Fiber:`Оптоволокно`,fritzdm_access_Cable:`Кабель`,fritzdm_personWidgetName:`Особа (присутність)`,fritzdm_person:`Особа`,fritzdm_personHelp:`Ім'я, як налаштовано на вкладці «Особи» екземпляра tr-064`,fritzdm_colorPresent:`Колір «вдома»`,fritzdm_colorAbsent:`Колір «немає вдома»`,fritzdm_appearance:`Зовнішній вигляд`,fritzdm_display:`Вміст`,fritzdm_nameOverride:`Показане ім'я`,fritzdm_nameOverrideHelp:`Порожньо: ім'я особи`,fritzdm_showName:`Показувати ім'я`,fritzdm_photo:`Фото`,fritzdm_photoHelp:`Має пріоритет над значками`,fritzdm_iconPresent:`Значок «вдома»`,fritzdm_iconAbsent:`Значок «немає вдома»`,fritzdm_textPresent:`Текст «вдома»`,fritzdm_textAbsent:`Текст «немає вдома»`,fritzdm_dimAbsent:`Затемнювати фото і значок, коли немає вдома`,fritzdm_showSince:`Показувати, з якого часу`,fritzdm_showLastChange:`Показувати останній прихід і відхід`,fritzdm_showHistory:`Показувати історію (натискання на плитку)`,fritzdm_present:`Вдома`,fritzdm_absent:`Немає вдома`,fritzdm_noPerson:`Особу не вибрано`,fritzdm_personNotFound:`Особу не знайдено`,fritzdm_personNotFoundIn:`Особу «%s» не знайдено в %s`,fritzdm_sinceDuration:`уже %s`,fritzdm_lastArrival:`Прийшов`,fritzdm_lastDeparture:`Пішов`,fritzdm_came:`Прийшов`,fritzdm_left:`Пішов`,fritzdm_stayed:`Був вдома %s`,fritzdm_wasAway:`Не було вдома %s`,fritzdm_presentToday:`Сьогодні вдома`,fritzdm_absentToday:`Сьогодні не вдома`,fritzdm_historyTitle:`Приходи та відходи`,fritzdm_showHistoryOf:`Показати приходи та відходи`,fritzdm_noHistory:`Приходи та відходи ще не записані`,fritzdm_historyFrom:`З %s`,fritzdm_historyFromAdapter:`Записано адаптером`,fritzdm_refresh:`Оновити`},d={fritzdm_widgetName:`FRITZ!Box`,fritzdm_instance:`tr-064 实例`,fritzdm_name:`名称`,fritzdm_showExternalIp:`显示外部 IP 地址`,fritzdm_online:`在线`,fritzdm_noInternet:`无互联网`,fritzdm_connecting:`正在连接…`,fritzdm_unreachable:`无法访问`,fritzdm_download:`下载`,fritzdm_upload:`上传`,fritzdm_maxRate:`最大 %s`,fritzdm_externalIp:`外部 IP`,fritzdm_wlan:`WLAN`,fritzdm_guest:`访客`,fritzdm_guestWlan:`访客 WLAN`,fritzdm_on:`开`,fritzdm_off:`关`,fritzdm_newMessages:`%s 条新留言`,fritzdm_oneNewMessage:`1 条新留言`,fritzdm_noNewMessages:`没有新留言`,fritzdm_missedCalls:`%s 个未接来电`,fritzdm_oneMissedCall:`1 个未接来电`,fritzdm_noMissedCalls:`没有未接来电`,fritzdm_resetHint:`点击以重置`,fritzdm_resetMissedTitle:`重置未接来电?`,fritzdm_resetMissedText:`计数器将被设为 0。这是适配器的计数器(当前为 %s),而不是 FRITZ!Box 的数值:它统计自安装以来的每一次未接来电。通话列表本身保持不变。`,fritzdm_reset:`重置`,fritzdm_cancel:`取消`,fritzdm_ringing:`来电响铃`,fritzdm_phone:`电话`,fritzdm_internet:`互联网`,fritzdm_meshTitle:`FRITZ!Box – Mesh`,fritzdm_close:`关闭`,fritzdm_showMesh:`显示 Mesh 拓扑`,fritzdm_link_Up:`已连接`,fritzdm_link_Down:`已断开`,fritzdm_link_Initializing:`正在连接`,fritzdm_link_Unavailable:`不可用`,fritzdm_access_Fiber:`光纤`,fritzdm_access_Cable:`有线电视`,fritzdm_personWidgetName:`人员(在家状态)`,fritzdm_person:`人员`,fritzdm_personHelp:`在 tr-064 实例的“人员”选项卡中配置的名称`,fritzdm_colorPresent:`在家颜色`,fritzdm_colorAbsent:`离开颜色`,fritzdm_appearance:`外观`,fritzdm_display:`内容`,fritzdm_nameOverride:`显示名称`,fritzdm_nameOverrideHelp:`留空:使用人员名称`,fritzdm_showName:`显示名称`,fritzdm_photo:`照片`,fritzdm_photoHelp:`优先于图标`,fritzdm_iconPresent:`在家图标`,fritzdm_iconAbsent:`离开图标`,fritzdm_textPresent:`在家文字`,fritzdm_textAbsent:`离开文字`,fritzdm_dimAbsent:`离开时照片和图标显示为灰色`,fritzdm_showSince:`显示持续时间`,fritzdm_showLastChange:`显示最近一次到达和离开`,fritzdm_showHistory:`显示历史记录(点击磁贴)`,fritzdm_present:`在家`,fritzdm_absent:`离开`,fritzdm_noPerson:`未选择人员`,fritzdm_personNotFound:`未找到人员`,fritzdm_personNotFoundIn:`未找到人员“%s”(%s)`,fritzdm_sinceDuration:`已 %s`,fritzdm_lastArrival:`到达`,fritzdm_lastDeparture:`离开`,fritzdm_came:`到达`,fritzdm_left:`离开`,fritzdm_stayed:`在家 %s`,fritzdm_wasAway:`离开 %s`,fritzdm_presentToday:`今天在家`,fritzdm_absentToday:`今天离开`,fritzdm_historyTitle:`到达与离开`,fritzdm_showHistoryOf:`显示到达与离开`,fritzdm_noHistory:`尚无到达与离开记录`,fritzdm_historyFrom:`来自 %s`,fritzdm_historyFromAdapter:`由适配器记录`,fritzdm_refresh:`刷新`},f={en:{...e.en,...t},de:{...e.de,...n},ru:{...e.ru,...r},pt:{...e.pt,...i},nl:{...e.nl,...a},fr:{...e.fr,...o},it:{...e.it,...s},es:{...e.es,...c},pl:{...e.pl,...l},uk:{...e.uk,...u},"zh-cn":{...e[`zh-cn`],...d}};export{f as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./assets/vite-preload-helper-BbbETgeG.js";import{t}from"./assets/dist-BkS8HKl2.js";import{t as n}from"./assets/helpers-ClFTp7rx.js";var r={},i=new Set,a=new Map;function o(e,t){let n=a.get(e);return n||(n=Promise.resolve().then(t).catch(t=>{throw a.delete(e),t}),a.set(e,n)),n}async function s(e){if(typeof document>`u`)return;let t=r[e]||[];await Promise.all(t.map(e=>{let t=new URL(e,import.meta.url).href;return i.has(t)||(i.add(t),document.querySelector(`link[rel="stylesheet"][href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var c={"./Components":async()=>{await s(`./Components`),await Promise.all([]);let t=await o(`./Components`,()=>e(()=>import(`./assets/Components-BjwJD5XF.js`),[],import.meta.url)),n=t&&t.__mf_remote_dependency_pending;n&&typeof n.then==`function`&&await n;let r={};return Object.assign(r,t),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r},"./translations":async()=>{await s(`./translations`),await Promise.all([]);let t=await o(`./translations`,()=>e(()=>import(`./assets/translations-BZhya0jA.js`),[],import.meta.url)),n=t&&t.__mf_remote_dependency_pending;n&&typeof n.then==`function`&&await n;let r={};return Object.assign(r,t),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r}};typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var l=`__mf_init__virtual:mf:__mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__mf_v__runtimeInit__mf_v__.js__`,u=globalThis[l];if(!u){let e,t,n=new Promise((n,r)=>{e=n,t=r});u=globalThis[l]={initPromise:n,initResolve:e,initReject:t}}var d=u.initResolve,f=`__mf_module_cache__`;globalThis[f]||={share:{},remote:{}},globalThis[f].share||={},globalThis[f].remote||={};var p=globalThis[f];for(let e of Object.keys(p.share))if(e.startsWith(`default:`)){let t=e.slice(8);p.share[t]===void 0&&(p.share[t]=p.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;p.share[t]===void 0&&(p.share[t]=p.share[e])}var m={},h=Array.isArray(`default`)?`default`:[`default`],g=`default`,_=`DevicesWidgetTr064Set`,v=[[`@iobroker/dm-widgets`]],y,b;async function x(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}var S=Symbol(`mf.originalSharedProvider`),C={emit:e=>e},w=e=>Array.isArray(e.scope)?e.scope:[e.scope||`default`],T=(e,t)=>{if(t!==`version-first`)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=Object.assign({},r,{[S]:r});return n},E=(e,t)=>{if(!t)return;let n=Object.entries(e||{}),r=n.find(([,e])=>e===t);if(r)return{version:r[0],provider:t,registered:!0};if(typeof t.version==`string`&&t.version)return{version:t.version,provider:t,registered:!1};let i=n.filter(([,e])=>e===t||!!(t.from&&(e==null?void 0:e.from)===t.from));if(i.length===1)return{version:i[0][0],provider:t,registered:!1}},D=(e,t,r,i)=>{var a;if(!e||!r)return;let o=Object.fromEntries(Object.entries(e).filter(([,e])=>{var t;return(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));if(Object.keys(o).length===0)return;let s=w(r),c=T(o,i),l={};for(let e of s)l[e||`default`]={[t]:c};let u=(a=n.getRegisteredShare(l,t,{...r,scope:s,strategy:i},C))==null?void 0:a.shared;return(u==null?void 0:u[S])||u},O=(e,t,n,r)=>{var i;let a=e=>k(e,n),o=Object.fromEntries(Object.entries(e||{}).filter(([,e])=>{var t;return!a(e)&&(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));n!=null&&n.version&&((i=n.shareConfig)==null?void 0:i.import)!==!1&&(o[n.version]||(o[n.version]=n));let s=D(o,t,n,r);return a(s)?void 0:s},k=(e,t)=>e===t||!!(t!=null&&t.from&&(e==null?void 0:e.from)===t.from),A=(e,t,n,r,i,a,o,s,c)=>{var l,u;if(c!==`version-first`||!s)return;let d=t==null||(l=t.options)==null||(l=l.shared)==null?void 0:l[i],f=Array.isArray(d)?d.find(e=>(e==null?void 0:e.version)===a):void 0,p=((s==null?void 0:s.from)===(t==null||(u=t.options)==null?void 0:u.name)?s:void 0)||(k(f,s)?f:t?void 0:s);if(p)return e.some(e=>{var i,a;return e!==t&&(e==null||(i=e.options)==null?void 0:i.name)===(o==null?void 0:o.from)&&(e==null||(a=e.shareScopeMap)==null?void 0:a[r])===n})?p:void 0},ee=(e,t,n,r,i,a,o,s,c)=>{let l=a.registered?A(e,t,n,r,i,a.version,a.provider,s,c):void 0,u=l||o;if(u&&(!a.registered||k(u,s)))return{provider:u,scopeRootProvider:l}};async function te(){return y||=x(()=>e(()=>import(`./assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BLwubH36.js`),[],import.meta.url)).catch(e=>{throw y=void 0,e}),y}async function j(){return c}async function M(e={},n=[],r={}){var i,a;let o=(e,t,n,r)=>{let i=(Array.isArray(r)?r[0]:r)||`default`,a=t||!n?e:e+`@`+n,o={canonical:i+`:`+a};return i==="default"&&(o.aliases=[a]),o},s=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},c=Symbol.for(`module-federation.shared-cache-listeners`),l=Symbol.for(`module-federation.shared-cache-owners`),f=e=>{let t=e[l];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,l,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},y=(e,t)=>{var n;return(n=e[l])==null?void 0:n[t.canonical]},S=e=>{let t=[e,e==null?void 0:e.default];for(let e of t)if(e&&typeof e==`object`){for(let t of[`__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE`,`__TEST_INTERNALS`,`__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`]){let n=e[t];if(n&&typeof n==`object`)return{internals:n}}if(typeof e.useState==`function`)return{hook:e.useState}}},C=(e,t)=>{if(e===t)return!0;let n=S(e),r=S(t);if(!n||!r)return!1;let i=n.internals,a=r.internals;return i!==void 0||a!==void 0?i!==void 0&&i===a:typeof n.hook==`function`&&n.hook===r.hook},w=(e,t,n,r)=>{var i;let a=s(e,t);if(a!==void 0&&C(a,n))return n;e[t.canonical]=n;let o=t.aliases||[];for(let t of o)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let u=e[l];r===void 0?u&&delete u[t.canonical]:f(e)[t.canonical]=r;let d=(i=e[c])==null?void 0:i[t.canonical];if(d)for(let e of d)e(n);return n},T=Symbol.for(`module-federation.tree-shaking-shared-cache`),A=e=>{let t=e[T];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,T,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},j=(e,t,n,r)=>{if(!Array.isArray(n))return r;let i=[...new Set(n)].sort(),a=A(e),o=a[t.canonical]||=[],s=o.find(e=>e.providedExports.length===i.length&&e.providedExports.every((e,t)=>e===i[t]));return s?s.value=r:o.push({providedExports:i,value:r}),r},M=Symbol.for(`module-federation.tree-shaking-shared-selection-cache`),N=e=>{let t=e[M];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,M,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},P=(e,t,n)=>{var r;let i=s(e,t);return i===void 0?(r=e[M])==null||(r=r[t.canonical])==null?void 0:r[n]:i},F=(e,t,n,r)=>{let i=N(e),a=i[t.canonical]||=Object.create(null);return a[n]=r,r},I=((i=globalThis.__FEDERATION__)==null?void 0:i.__INSTANCES__)||[],L=(a=n.find(e=>e==null?void 0:e.from))==null?void 0:a.from,ne=I.find(t=>{var n,r;return(t==null||(n=t.options)==null?void 0:n.name)===L&&(t==null||(r=t.shareScopeMap)==null?void 0:r.default)===e})||I.find(t=>{var n,r;return(t==null||(n=t.options)==null?void 0:n.name)!==_&&(t==null||(r=t.shareScopeMap)==null?void 0:r.default)===e}),R=Object.create(null),re=e=>{let t=Object.create(null);for(let[n,r]of Object.entries(e||{}))t[n]=Object.assign(Object.create(null),r);return t},ie=(e,t)=>{var n;for(let[i,a]of Object.entries(((n=q.shareScopeMap)==null?void 0:n[e])||{}))for(let[e,n]of Object.entries(a||{})){var r;if(!n||n.get===((r=B[i])==null?void 0:r.get))continue;let a=t[i]||={};a[e]===void 0&&(a[e]=n)}},ae=(e,t)=>{ie(e,t);let n=!ne&&Object.values(t||{}).some(e=>Object.values(e||{}).some(V)),r=n?re(t):t;return R[e]={host:t,runtime:r,isWebpackScope:n},r},oe=()=>{let e=Object.values(R).filter(({isWebpackScope:e})=>e);if(e.length!==0)for(let{host:t,runtime:n}of e)for(let[e,r]of Object.entries(t||{})){let t=n[e]||=Object.create(null);for(let[e,n]of Object.entries(r||{}))t[e]=n}},z=Object.create(null);for(let[t,n]of Object.entries(e)){let e=z[t]=Object.create(null);for(let[t,r]of Object.entries(n))e[t]=Object.assign({},r)}let{usedShared:B,usedRemotes:se}=await te();function V(e){if(typeof(e==null?void 0:e.get)!=`function`)return!1;let t=Function.prototype.toString.call(e.get);return t.includes(`__webpack_require__`)||/\.\s*e\s*\([^)]*\)\s*\.then\s*\(/.test(t)}let ce=Object.values(z).some(e=>Object.values(e||{}).some(V)),le=e=>{let t=e.split(`/`);return e.startsWith(`@`)?t.slice(0,2).join(`/`):t[0]},H=(t,n,r,i)=>{if(typeof O!=`function`)return;let a=le(t),o=!i||a===t?[[t,n]]:[[t,n],[a,B[a]]];for(let[n,i]of o){if(!i)continue;let a=O(r?n===t?r:z[n]:z[n]??e[n],n,i,`version-first`);if(a)return a}},ue=(e,t,n)=>{let r=H(e,t,n,!0);return r&&V(r)&&!r.lib&&!r.loaded?r:void 0};var U=m[g];if(U||=m[g]={from:_},n.indexOf(U)>=0)return;n.push(U);let de=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},fe=[],pe=globalThis.window===void 0?await Promise.all([]):[],W=`__mf_vite_runtime_share_load_id__`,me=0,G=new Map,K=new Map,q=t({name:_,remotes:se,shared:B,plugins:[he(),ge(),...fe,...pe],shareStrategy:`version-first`});q.initShareScopeMap(`default`,ae(`default`,e));function he(){return{name:`vite-share-pin-lifecycle-plugin`,resolveShare(e){var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=n===void 0?void 0:K.get(n);if(!r)return e;let i=e.resolver;return e.resolver=(...e)=>(r.pinned.reapply(),i(...e)),r.pinned.reveal(),e}}}function ge(){return{name:`vite-real-name-snapshot-plugin`,afterLoadSnapshot(e){let t=e&&e.remoteSnapshot,n=t&&t.globalName,r=t&&t.version;if(!n||!r||!t.remoteEntry)return e;let i=globalThis.__FEDERATION__&&globalThis.__FEDERATION__.moduleInfo,a=n+`:`+r;return i&&!i[a]&&(i[a]=t),e}}}let _e=q.sharedHandler.hooks.lifecycle.resolveShare;if(!q.__mfKeepAdoptedProviders){var J,ve;q.__mfKeepAdoptedProviders=!0,(J=q.sharedHandler)==null||(J=J.hooks)==null||(J=J.lifecycle)==null||(J=J.afterRegisterShare)==null||(ve=J.on)==null||ve.call(J,e=>{var t,n,r;let{shared:i,previousShared:a,registeredShared:o}=e||{};if((i==null||(t=i.shareConfig)==null?void 0:t.import)!==!1||o!==i||!a||((n=a.shareConfig)==null?void 0:n.import)===!1)return;let s=(r=q.shareScopeMap)==null||(r=r[e.scope])==null?void 0:r[e.pkgName];s&&s[i.version]===i&&(s[i.version]=a)})}let Y=new WeakMap;_e.on(e=>{var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=e.resolver;return typeof r==`function`&&(e.resolver=(...t)=>{var i;let a=r(...t);if((a==null||(i=a.shared)==null||(i=i.shareConfig)==null?void 0:i.import)===!1&&typeof D==`function`&&B[e.pkgName]){var o,s;let t=D((o=e.shareScopeMap)==null||(o=o[e.scope])==null?void 0:o[e.pkgName],e.pkgName,B[e.pkgName],`version-first`);t&&((s=t.shareConfig)==null?void 0:s.import)!==!1&&(a={shared:t,useTreesShaking:a.useTreesShaking})}let c=a==null?void 0:a.shared;return c&&(typeof c==`object`||typeof c==`function`)&&!Y.has(c)&&Y.set(c,{from:c.from}),n!==void 0&&c&&G.set(n,c),a}),e});let ye=(e,t,n,r)=>{if(!e||e[t]!==n)return;let i=Object.assign({},r,{version:r.version??t,scope:r.scope??(n==null?void 0:n.scope)??[`default`],strategy:`loaded-first`}),a=r.from;e[t]=i;let o=()=>n===void 0?e[t]===void 0:e[t]===n;return{provider:i,reveal(){return e[t]===i&&(n===void 0?delete e[t]:e[t]=n,!0)},reapply(){return o()?(e[t]=i,!0):!1},release(s,c=!0){return r.from=a,e[t]===i?c?s?(i.from=a,s&&i.lib&&(i.loaded=!0),r.strategy===void 0?delete i.strategy:i.strategy=r.strategy,!0):(n===void 0?delete e[t]:e[t]=n,!1):(n===void 0?delete e[t]:e[t]=n,!0):!c&&o()}}},be=e=>Object.entries(e||{}).map(([e,t])=>({provider:t,version:e,from:t.from,registered:!0})),xe=(e,t)=>{if(t===void 0)return;let n;for(let r of e){let e=r.provider,i=e.treeShaking||e;if(r.loadedFactory===t||e.lib===t||i.lib===t){if(n)return;n=r}}return n},Se=async(e,t,n)=>{let r=++me;K.set(r,{pinned:n});try{let n=await q.loadShare(e,{customShareInfo:{shareConfig:t,[W]:r}});return{factory:n===!1?void 0:n,selectedProvider:G.get(r)}}finally{G.delete(r),K.delete(r)}},Ce=async(e,t,n,r,i,a,o=!0)=>{let s=a.from,c=ye(n,r,i,a);if(!c)return;let l;try{l=await Se(e,t,c)}catch(e){throw c.release(!1),e}let u=l==null?void 0:l.factory;if(u===void 0){c.release(!1);return}let d=be(n),f=c.provider.treeShaking||c.provider,p=c.provider.lib===u||f.lib===u;if(!o&&p){let e=d.findIndex(e=>e.provider===c.provider);e!==-1&&d.splice(e,1)}!o&&!d.some(e=>e.provider===a)&&d.push({provider:a,version:r,from:s,registered:!1,loadedFactory:p?u:void 0});let m=!o&&l.selectedProvider===c.provider&&p?a:l.selectedProvider;if(m&&!d.some(e=>e.provider===m)){let e=Y.get(m),t=typeof m.version==`string`&&m.version?m.version:r;d.push({provider:m,version:t,from:e?e.from:m.from,registered:(n==null?void 0:n[t])===m,loadedFactory:u})}let h=d.find(e=>e.provider===m)??xe(d,u);if(!c.release(!0,(h==null?void 0:h.provider)===c.provider)||!h)return;let g=Y.get(h.provider);h.from=h.provider===a?s:g?g.from:h.provider.from,g&&(h.provider.from=g.from);let _=typeof u==`function`?u():u,v=await Promise.resolve(_);if(!(h.registered&&(n==null?void 0:n[h.version])!==h.provider))return{provider:h.provider,selection:h,resolved:v}},X=new Set,we=new Map,Te=async(t,n,r)=>{var i;let a=!!((i=n.shareConfig)!=null&&i.singleton);if(!a&&n.canLiveRebind!==!1)try{var c,l;let i=O(r,t,n,`version-first`),u=E(r,i);if(!u||((c=n.shareConfig)==null?void 0:c.import)===!1&&k(i,n)||(i==null||(l=i.shareConfig)==null?void 0:l.import)===!1)return;let{version:d}=u;if(!a&&d!==n.version||!i.lib&&!i.loading&&!(i.loaded&&typeof i.get==`function`))return;let f=o(t,a,n.version,n.scope);if(s(p.share,f)!==void 0)return;let m=e[t],h=m==null?void 0:m[d];if(u.registered&&!k(h,i))return;let g,_=i.lib;if(!_&&V(i)||(!_&&i.loading&&(_=await i.loading),!_&&i.loaded&&typeof i.get==`function`&&(_=await i.get()),!_))return;let v=typeof _==`function`?_():_,y=await Promise.resolve(v),b=u.registered?h:i;g={provider:b,selection:{provider:b,version:d,from:i.from,registered:u.registered},resolved:y};let x=g==null?void 0:g.provider,S=g==null?void 0:g.selection;if(!S)return;let C=g==null?void 0:g.resolved;if(C===void 0||s(p.share,f)!==void 0||S.registered&&(m==null?void 0:m[S.version])!==x)return;w(p.share,f,de(C),S.from),X.add(x)}catch(e){console.error(`[Module Federation] Failed to bridge materialized shared module "`+t+`"`,e)}},Ee=async(t,n,r,i,a)=>{try{var c,l,u,d;let f=o(t,(c=n.shareConfig)==null?void 0:c.singleton,n.version,n.scope),m=s(p.share,f),h=y(p.share,f),g=O(r,t,n,`version-first`),v=g||D(r,t,n,`version-first`)||n,b=E(r,v);if(!b)return;let x=k(v,n),{version:S}=b;if(!((l=n.shareConfig)!=null&&l.singleton)&&S!==n.version)return;let C=i==null?void 0:i[S],T=ee(I,ne,e,`default`,t,b,g,C,`version-first`);if(!T&&!x)return;let{provider:A,scopeRootProvider:te}=T||{provider:v,scopeRootProvider:void 0};if(n.canLiveRebind===!1||((u=n.shareConfig)==null?void 0:u.import)===!1&&k(A,n)||(A==null||(d=A.shareConfig)==null?void 0:d.import)===!1||m!==void 0&&h!==_)return;let j=e[t],M=j==null?void 0:j[S];if(b.registered&&!te&&!k(M,A))return;let N=await Ce(t,n.shareConfig,j,S,M,A,b.registered&&!x),P=N==null?void 0:N.provider,F=N==null?void 0:N.selection;if(!F||k(P,n)||a&&(a.version!==F.version||!k({from:F.from},a.provider))||X.has(P))return;let L=N==null?void 0:N.resolved;if(L===void 0)return;let R=s(p.share,f),re=y(p.share,f);if(R!==void 0&&re!==_||F.registered&&(j==null?void 0:j[F.version])!==P)return;a||we.set(t,{version:F.version,provider:{from:F.from}}),X.add(P);let ie=de(L);w(p.share,f,ie,F.from)}catch(e){console.error(`[Module Federation] Failed to bridge external shared module "`+t+`"`,e)}};for(let e of v)await Promise.all(e.map(async e=>{let t=B[e];t&&t.materialize!==!1&&!t.treeShaking&&await Te(e,t,z[e])}));for(let[e,t]of Object.entries(B)){var De;if(t.treeShaking)continue;let n=o(e,(De=t.shareConfig)==null?void 0:De.singleton,t.version,t.scope);if(s(p.share,n)!==void 0)continue;let r=o(e,!0,t.version,t.scope),i=s(p.share,r);i!==void 0&&w(p.share,n,i,y(p.share,r))}let Oe=[`@iobroker/dm-widgets`],ke=[[`@iobroker/dm-widgets`]],Z=new Map(Oe.map((e,t)=>[e,t])),Ae={},Q=Oe.filter(e=>{var t;return B[e]&&(B[e].materialize!==!1||((t=B[e].shareConfig)==null?void 0:t.import)===!1&&!B[e].lazy)});p.providerInit||=new Map;let je=(e,t)=>{let n=p.providerInit.get(e);if(n)return n;let r=Promise.resolve().then(t);return p.providerInit.set(e,r),r.catch(()=>p.providerInit.delete(e)),r};var Me=async e=>{let t=new Set(e);for(let e of ke)await Promise.all(e.filter(e=>t.has(e)).map(async e=>{var t,n,r;let i=B[e],a=o(e,(t=i.shareConfig)==null?void 0:t.singleton,i.version,i.scope);if(((n=i.shareConfig)==null?void 0:n.import)===!1||i.treeShaking||s(p.share,a)!==void 0)return;let c=o(e,!0,i.version,i.scope),l=s(p.share,c);if(l!==void 0){w(p.share,a,l,y(p.share,c));return}let u=typeof H==`function`?H(e,i):void 0;if(u){var d,f;let t=u.lib;if(!t&&u.loading&&(t=await u.loading),!t&&u.loaded&&typeof u.get==`function`&&(t=await u.get()),t){let e=typeof t==`function`?t():t,n=await Promise.resolve(e);w(p.share,a,(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(n),u.from);return}if(typeof V==`function`&&V(u)&&((d=i.shareConfig)!=null&&d.singleton||((f=E(z[e],u))==null?void 0:f.version)===i.version))return}let m=a.canonical,h=await je(m,async()=>{let e=await i.get(),t=typeof e==`function`?e():e;return Promise.resolve(t)});for(let t of((r=q.options.shared)==null?void 0:r[e])||[])t.get===i.get&&(t.eager=!0);let g=(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(h),v=g===h?{...h}:g;v.__esModule!==!0&&Object.defineProperty(v,"__esModule",{value:!0,enumerable:!1}),w(p.share,a,v,_)}))};let $=e=>{var t,n;let r=B[e];if(!r.treeShaking&&((t=r.shareConfig)==null?void 0:t.import)!==!1)return!1;let i=o(e,(n=r.shareConfig)==null?void 0:n.singleton,r.version,r.scope);return r.treeShaking?P(p.share,i,_)===void 0&&s(p.share,i)===void 0:s(p.share,i)===void 0},Ne=e=>{var t,n;let r=B[e],i=o(e,(t=r.shareConfig)==null?void 0:t.singleton,r.version,r.scope);return(r.treeShaking?P(p.share,i,_)??s(p.share,i):s(p.share,i))===void 0?r.treeShaking||((n=r.shareConfig)==null?void 0:n.import)===!1?!0:typeof O==`function`&&!!O(z[e],e,r,`version-first`):!1},Pe=e=>{let t=!0;for(;t;){t=!1;for(let n of Q){let r=Z.get(n);e.has(r)||(Ae[r]||[]).some(t=>e.has(t))&&(e.add(r),t=!0)}}return e},Fe=Pe(new Set(Q.filter(Ne).map(e=>Z.get(e)))),Ie=Q.filter(e=>!Fe.has(Z.get(e)));var Le=Q.filter(e=>Fe.has(Z.get(e)));await Me(Ie);try{await x(async()=>{await Promise.all(await q.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:n}))})}catch(e){console.error(`[Module Federation]`,e)}oe();let Re=async()=>{for(let t of v)await Promise.all(t.map(async t=>{let n=B[t];n&&n.materialize!==!1&&!n.treeShaking&&await Ee(t,n,e[t],z[t],void 0)}))};ce?b=Re:await Re();try{var ze;let e=(ze=globalThis.__FEDERATION__)==null?void 0:ze.__SHARE__,t=Object.create(null);if(e)for(let[,n]of Object.entries(e))for(let e of h){let r=n==null?void 0:n[e];if(r)for(let[e,n]of Object.entries(r)){let r=B==null?void 0:B[e],i=z[e],a=we.get(e);if(!r||!i||!a||r.treeShaking)continue;let o=t[e]||(t[e]=Object.create(null));for(let[e,t]of Object.entries(n)){if(!t.lib||a.version!==e||!k(t,a.provider))continue;let n=i[e];(t===n||n!=null&&n.from&&t.from===n.from)&&(t===r||r.from&&t.from===r.from||o[e]===void 0&&(o[e]=t))}}}for(let e of v)await Promise.all(e.map(async e=>{let n=t[e];n&&await Ee(e,B[e],n,z[e],we.get(e))}))}catch(e){console.error(`[Module Federation] Failed to bridge external shared modules`,e)}let Be=async()=>{},Ve=async(t,n)=>{var r,i;let a=o(t,(r=n.shareConfig)==null?void 0:r.singleton,n.version,n.scope),c=n.treeShaking?P(p.share,a,_):s(p.share,a);if(((i=n.shareConfig)==null?void 0:i.import)!==!1||c!==void 0||ue(t,n,z[t]))return;let l=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},u=e==null?void 0:e[t],d=D(u,t,n,`version-first`)||n,f=E(u,d);if(!f)return;let m=e=>{var t;return e===n||(e==null||(t=e.shareConfig)==null?void 0:t.import)===!1};if(m(d))return;let{version:h}=f,g=u==null?void 0:u[h],v=await Ce(t,n.shareConfig,u,h,g,d,f.registered),y=v==null?void 0:v.selection,b=v==null?void 0:v.provider,x=v==null?void 0:v.resolved;if(!y||m(b)||x===void 0||(n.treeShaking?P(p.share,a,_):s(p.share,a))!==void 0||y.registered&&(u==null?void 0:u[y.version])!==b)return;let S=l(x);if(n.treeShaking){let e=n.treeShaking.providedExports??n.treeShaking.usedExports??[];j(p.share,a,e,S),F(p.share,a,_,S)}else w(p.share,a,S,y.from)},He=[],Ue=new Set;for(let e of Le){let t=B[e],n=Z.get(e);if($(e))try{var We;t.treeShaking?await Be(e,t):((We=t.shareConfig)==null?void 0:We.import)===!1&&await Ve(e,t)}catch(t){console.error(`[Module Federation] Failed to resolve runtime-only shared module "${e}"`,t)}$(e)&&Ue.add(n)}Pe(Ue),He.push(...Le.filter(e=>!Ue.has(Z.get(e)))),await Me(He);let Ge=new Map;return u.loadLazyShares=async t=>{let n=new Set(t);for(let t of v)await Promise.all(t.filter(e=>n.has(e)).map(t=>{let n=B[t];if(!n||!n.lazy||!$(t))return;let r=Ge.get(t);return r||(r=Ee(t,n,e[t],z[t],void 0).then(()=>$(t)?Ve(t,n):void 0),r.catch(()=>Ge.delete(t)),Ge.set(t,r)),r}))},d(q),q}async function N(e){let t=await j();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return b&&await b(),p.pendingShareLoads&&await Promise.all(p.pendingShareLoads),t[e]().then(e=>()=>e)}export{N as get,M as init};
|
|
1
|
+
import{t as e}from"./assets/vite-preload-helper-BbbETgeG.js";import{t}from"./assets/dist-BkS8HKl2.js";import{t as n}from"./assets/helpers-ClFTp7rx.js";var r={},i=new Set,a=new Map;function o(e,t){let n=a.get(e);return n||(n=Promise.resolve().then(t).catch(t=>{throw a.delete(e),t}),a.set(e,n)),n}async function s(e){if(typeof document>`u`)return;let t=r[e]||[];await Promise.all(t.map(e=>{let t=new URL(e,import.meta.url).href;return i.has(t)||(i.add(t),document.querySelector(`link[rel="stylesheet"][href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var c={"./Components":async()=>{await s(`./Components`),await Promise.all([]);let t=await o(`./Components`,()=>e(()=>import(`./assets/Components-D7dlXwfS.js`),[],import.meta.url)),n=t&&t.__mf_remote_dependency_pending;n&&typeof n.then==`function`&&await n;let r={};return Object.assign(r,t),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r},"./translations":async()=>{await s(`./translations`),await Promise.all([]);let t=await o(`./translations`,()=>e(()=>import(`./assets/translations-DD1c0Wnf.js`),[],import.meta.url)),n=t&&t.__mf_remote_dependency_pending;n&&typeof n.then==`function`&&await n;let r={};return Object.assign(r,t),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r}};typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var l=`__mf_init__virtual:mf:__mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__mf_v__runtimeInit__mf_v__.js__`,u=globalThis[l];if(!u){let e,t,n=new Promise((n,r)=>{e=n,t=r});u=globalThis[l]={initPromise:n,initResolve:e,initReject:t}}var d=u.initResolve,f=`__mf_module_cache__`;globalThis[f]||={share:{},remote:{}},globalThis[f].share||={},globalThis[f].remote||={};var p=globalThis[f];for(let e of Object.keys(p.share))if(e.startsWith(`default:`)){let t=e.slice(8);p.share[t]===void 0&&(p.share[t]=p.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;p.share[t]===void 0&&(p.share[t]=p.share[e])}var m={},h=Array.isArray(`default`)?`default`:[`default`],g=`default`,_=`DevicesWidgetTr064Set`,v=[[`@iobroker/dm-widgets`]],y,b;async function x(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}var S=Symbol(`mf.originalSharedProvider`),C={emit:e=>e},w=e=>Array.isArray(e.scope)?e.scope:[e.scope||`default`],T=(e,t)=>{if(t!==`version-first`)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=Object.assign({},r,{[S]:r});return n},E=(e,t)=>{if(!t)return;let n=Object.entries(e||{}),r=n.find(([,e])=>e===t);if(r)return{version:r[0],provider:t,registered:!0};if(typeof t.version==`string`&&t.version)return{version:t.version,provider:t,registered:!1};let i=n.filter(([,e])=>e===t||!!(t.from&&(e==null?void 0:e.from)===t.from));if(i.length===1)return{version:i[0][0],provider:t,registered:!1}},D=(e,t,r,i)=>{var a;if(!e||!r)return;let o=Object.fromEntries(Object.entries(e).filter(([,e])=>{var t;return(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));if(Object.keys(o).length===0)return;let s=w(r),c=T(o,i),l={};for(let e of s)l[e||`default`]={[t]:c};let u=(a=n.getRegisteredShare(l,t,{...r,scope:s,strategy:i},C))==null?void 0:a.shared;return(u==null?void 0:u[S])||u},O=(e,t,n,r)=>{var i;let a=e=>k(e,n),o=Object.fromEntries(Object.entries(e||{}).filter(([,e])=>{var t;return!a(e)&&(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));n!=null&&n.version&&((i=n.shareConfig)==null?void 0:i.import)!==!1&&(o[n.version]||(o[n.version]=n));let s=D(o,t,n,r);return a(s)?void 0:s},k=(e,t)=>e===t||!!(t!=null&&t.from&&(e==null?void 0:e.from)===t.from),A=(e,t,n,r,i,a,o,s,c)=>{var l,u;if(c!==`version-first`||!s)return;let d=t==null||(l=t.options)==null||(l=l.shared)==null?void 0:l[i],f=Array.isArray(d)?d.find(e=>(e==null?void 0:e.version)===a):void 0,p=((s==null?void 0:s.from)===(t==null||(u=t.options)==null?void 0:u.name)?s:void 0)||(k(f,s)?f:t?void 0:s);if(p)return e.some(e=>{var i,a;return e!==t&&(e==null||(i=e.options)==null?void 0:i.name)===(o==null?void 0:o.from)&&(e==null||(a=e.shareScopeMap)==null?void 0:a[r])===n})?p:void 0},ee=(e,t,n,r,i,a,o,s,c)=>{let l=a.registered?A(e,t,n,r,i,a.version,a.provider,s,c):void 0,u=l||o;if(u&&(!a.registered||k(u,s)))return{provider:u,scopeRootProvider:l}};async function te(){return y||=x(()=>e(()=>import(`./assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BLwubH36.js`),[],import.meta.url)).catch(e=>{throw y=void 0,e}),y}async function j(){return c}async function M(e={},n=[],r={}){var i,a;let o=(e,t,n,r)=>{let i=(Array.isArray(r)?r[0]:r)||`default`,a=t||!n?e:e+`@`+n,o={canonical:i+`:`+a};return i==="default"&&(o.aliases=[a]),o},s=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},c=Symbol.for(`module-federation.shared-cache-listeners`),l=Symbol.for(`module-federation.shared-cache-owners`),f=e=>{let t=e[l];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,l,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},y=(e,t)=>{var n;return(n=e[l])==null?void 0:n[t.canonical]},S=e=>{let t=[e,e==null?void 0:e.default];for(let e of t)if(e&&typeof e==`object`){for(let t of[`__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE`,`__TEST_INTERNALS`,`__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`]){let n=e[t];if(n&&typeof n==`object`)return{internals:n}}if(typeof e.useState==`function`)return{hook:e.useState}}},C=(e,t)=>{if(e===t)return!0;let n=S(e),r=S(t);if(!n||!r)return!1;let i=n.internals,a=r.internals;return i!==void 0||a!==void 0?i!==void 0&&i===a:typeof n.hook==`function`&&n.hook===r.hook},w=(e,t,n,r)=>{var i;let a=s(e,t);if(a!==void 0&&C(a,n))return n;e[t.canonical]=n;let o=t.aliases||[];for(let t of o)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let u=e[l];r===void 0?u&&delete u[t.canonical]:f(e)[t.canonical]=r;let d=(i=e[c])==null?void 0:i[t.canonical];if(d)for(let e of d)e(n);return n},T=Symbol.for(`module-federation.tree-shaking-shared-cache`),A=e=>{let t=e[T];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,T,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},j=(e,t,n,r)=>{if(!Array.isArray(n))return r;let i=[...new Set(n)].sort(),a=A(e),o=a[t.canonical]||=[],s=o.find(e=>e.providedExports.length===i.length&&e.providedExports.every((e,t)=>e===i[t]));return s?s.value=r:o.push({providedExports:i,value:r}),r},M=Symbol.for(`module-federation.tree-shaking-shared-selection-cache`),N=e=>{let t=e[M];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,M,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},P=(e,t,n)=>{var r;let i=s(e,t);return i===void 0?(r=e[M])==null||(r=r[t.canonical])==null?void 0:r[n]:i},F=(e,t,n,r)=>{let i=N(e),a=i[t.canonical]||=Object.create(null);return a[n]=r,r},I=((i=globalThis.__FEDERATION__)==null?void 0:i.__INSTANCES__)||[],L=(a=n.find(e=>e==null?void 0:e.from))==null?void 0:a.from,ne=I.find(t=>{var n,r;return(t==null||(n=t.options)==null?void 0:n.name)===L&&(t==null||(r=t.shareScopeMap)==null?void 0:r.default)===e})||I.find(t=>{var n,r;return(t==null||(n=t.options)==null?void 0:n.name)!==_&&(t==null||(r=t.shareScopeMap)==null?void 0:r.default)===e}),R=Object.create(null),re=e=>{let t=Object.create(null);for(let[n,r]of Object.entries(e||{}))t[n]=Object.assign(Object.create(null),r);return t},ie=(e,t)=>{var n;for(let[i,a]of Object.entries(((n=q.shareScopeMap)==null?void 0:n[e])||{}))for(let[e,n]of Object.entries(a||{})){var r;if(!n||n.get===((r=B[i])==null?void 0:r.get))continue;let a=t[i]||={};a[e]===void 0&&(a[e]=n)}},ae=(e,t)=>{ie(e,t);let n=!ne&&Object.values(t||{}).some(e=>Object.values(e||{}).some(V)),r=n?re(t):t;return R[e]={host:t,runtime:r,isWebpackScope:n},r},oe=()=>{let e=Object.values(R).filter(({isWebpackScope:e})=>e);if(e.length!==0)for(let{host:t,runtime:n}of e)for(let[e,r]of Object.entries(t||{})){let t=n[e]||=Object.create(null);for(let[e,n]of Object.entries(r||{}))t[e]=n}},z=Object.create(null);for(let[t,n]of Object.entries(e)){let e=z[t]=Object.create(null);for(let[t,r]of Object.entries(n))e[t]=Object.assign({},r)}let{usedShared:B,usedRemotes:se}=await te();function V(e){if(typeof(e==null?void 0:e.get)!=`function`)return!1;let t=Function.prototype.toString.call(e.get);return t.includes(`__webpack_require__`)||/\.\s*e\s*\([^)]*\)\s*\.then\s*\(/.test(t)}let ce=Object.values(z).some(e=>Object.values(e||{}).some(V)),le=e=>{let t=e.split(`/`);return e.startsWith(`@`)?t.slice(0,2).join(`/`):t[0]},H=(t,n,r,i)=>{if(typeof O!=`function`)return;let a=le(t),o=!i||a===t?[[t,n]]:[[t,n],[a,B[a]]];for(let[n,i]of o){if(!i)continue;let a=O(r?n===t?r:z[n]:z[n]??e[n],n,i,`version-first`);if(a)return a}},ue=(e,t,n)=>{let r=H(e,t,n,!0);return r&&V(r)&&!r.lib&&!r.loaded?r:void 0};var U=m[g];if(U||=m[g]={from:_},n.indexOf(U)>=0)return;n.push(U);let de=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},fe=[],pe=globalThis.window===void 0?await Promise.all([]):[],W=`__mf_vite_runtime_share_load_id__`,me=0,G=new Map,K=new Map,q=t({name:_,remotes:se,shared:B,plugins:[he(),ge(),...fe,...pe],shareStrategy:`version-first`});q.initShareScopeMap(`default`,ae(`default`,e));function he(){return{name:`vite-share-pin-lifecycle-plugin`,resolveShare(e){var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=n===void 0?void 0:K.get(n);if(!r)return e;let i=e.resolver;return e.resolver=(...e)=>(r.pinned.reapply(),i(...e)),r.pinned.reveal(),e}}}function ge(){return{name:`vite-real-name-snapshot-plugin`,afterLoadSnapshot(e){let t=e&&e.remoteSnapshot,n=t&&t.globalName,r=t&&t.version;if(!n||!r||!t.remoteEntry)return e;let i=globalThis.__FEDERATION__&&globalThis.__FEDERATION__.moduleInfo,a=n+`:`+r;return i&&!i[a]&&(i[a]=t),e}}}let _e=q.sharedHandler.hooks.lifecycle.resolveShare;if(!q.__mfKeepAdoptedProviders){var J,ve;q.__mfKeepAdoptedProviders=!0,(J=q.sharedHandler)==null||(J=J.hooks)==null||(J=J.lifecycle)==null||(J=J.afterRegisterShare)==null||(ve=J.on)==null||ve.call(J,e=>{var t,n,r;let{shared:i,previousShared:a,registeredShared:o}=e||{};if((i==null||(t=i.shareConfig)==null?void 0:t.import)!==!1||o!==i||!a||((n=a.shareConfig)==null?void 0:n.import)===!1)return;let s=(r=q.shareScopeMap)==null||(r=r[e.scope])==null?void 0:r[e.pkgName];s&&s[i.version]===i&&(s[i.version]=a)})}let Y=new WeakMap;_e.on(e=>{var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=e.resolver;return typeof r==`function`&&(e.resolver=(...t)=>{var i;let a=r(...t);if((a==null||(i=a.shared)==null||(i=i.shareConfig)==null?void 0:i.import)===!1&&typeof D==`function`&&B[e.pkgName]){var o,s;let t=D((o=e.shareScopeMap)==null||(o=o[e.scope])==null?void 0:o[e.pkgName],e.pkgName,B[e.pkgName],`version-first`);t&&((s=t.shareConfig)==null?void 0:s.import)!==!1&&(a={shared:t,useTreesShaking:a.useTreesShaking})}let c=a==null?void 0:a.shared;return c&&(typeof c==`object`||typeof c==`function`)&&!Y.has(c)&&Y.set(c,{from:c.from}),n!==void 0&&c&&G.set(n,c),a}),e});let ye=(e,t,n,r)=>{if(!e||e[t]!==n)return;let i=Object.assign({},r,{version:r.version??t,scope:r.scope??(n==null?void 0:n.scope)??[`default`],strategy:`loaded-first`}),a=r.from;e[t]=i;let o=()=>n===void 0?e[t]===void 0:e[t]===n;return{provider:i,reveal(){return e[t]===i&&(n===void 0?delete e[t]:e[t]=n,!0)},reapply(){return o()?(e[t]=i,!0):!1},release(s,c=!0){return r.from=a,e[t]===i?c?s?(i.from=a,s&&i.lib&&(i.loaded=!0),r.strategy===void 0?delete i.strategy:i.strategy=r.strategy,!0):(n===void 0?delete e[t]:e[t]=n,!1):(n===void 0?delete e[t]:e[t]=n,!0):!c&&o()}}},be=e=>Object.entries(e||{}).map(([e,t])=>({provider:t,version:e,from:t.from,registered:!0})),xe=(e,t)=>{if(t===void 0)return;let n;for(let r of e){let e=r.provider,i=e.treeShaking||e;if(r.loadedFactory===t||e.lib===t||i.lib===t){if(n)return;n=r}}return n},Se=async(e,t,n)=>{let r=++me;K.set(r,{pinned:n});try{let n=await q.loadShare(e,{customShareInfo:{shareConfig:t,[W]:r}});return{factory:n===!1?void 0:n,selectedProvider:G.get(r)}}finally{G.delete(r),K.delete(r)}},Ce=async(e,t,n,r,i,a,o=!0)=>{let s=a.from,c=ye(n,r,i,a);if(!c)return;let l;try{l=await Se(e,t,c)}catch(e){throw c.release(!1),e}let u=l==null?void 0:l.factory;if(u===void 0){c.release(!1);return}let d=be(n),f=c.provider.treeShaking||c.provider,p=c.provider.lib===u||f.lib===u;if(!o&&p){let e=d.findIndex(e=>e.provider===c.provider);e!==-1&&d.splice(e,1)}!o&&!d.some(e=>e.provider===a)&&d.push({provider:a,version:r,from:s,registered:!1,loadedFactory:p?u:void 0});let m=!o&&l.selectedProvider===c.provider&&p?a:l.selectedProvider;if(m&&!d.some(e=>e.provider===m)){let e=Y.get(m),t=typeof m.version==`string`&&m.version?m.version:r;d.push({provider:m,version:t,from:e?e.from:m.from,registered:(n==null?void 0:n[t])===m,loadedFactory:u})}let h=d.find(e=>e.provider===m)??xe(d,u);if(!c.release(!0,(h==null?void 0:h.provider)===c.provider)||!h)return;let g=Y.get(h.provider);h.from=h.provider===a?s:g?g.from:h.provider.from,g&&(h.provider.from=g.from);let _=typeof u==`function`?u():u,v=await Promise.resolve(_);if(!(h.registered&&(n==null?void 0:n[h.version])!==h.provider))return{provider:h.provider,selection:h,resolved:v}},X=new Set,we=new Map,Te=async(t,n,r)=>{var i;let a=!!((i=n.shareConfig)!=null&&i.singleton);if(!a&&n.canLiveRebind!==!1)try{var c,l;let i=O(r,t,n,`version-first`),u=E(r,i);if(!u||((c=n.shareConfig)==null?void 0:c.import)===!1&&k(i,n)||(i==null||(l=i.shareConfig)==null?void 0:l.import)===!1)return;let{version:d}=u;if(!a&&d!==n.version||!i.lib&&!i.loading&&!(i.loaded&&typeof i.get==`function`))return;let f=o(t,a,n.version,n.scope);if(s(p.share,f)!==void 0)return;let m=e[t],h=m==null?void 0:m[d];if(u.registered&&!k(h,i))return;let g,_=i.lib;if(!_&&V(i)||(!_&&i.loading&&(_=await i.loading),!_&&i.loaded&&typeof i.get==`function`&&(_=await i.get()),!_))return;let v=typeof _==`function`?_():_,y=await Promise.resolve(v),b=u.registered?h:i;g={provider:b,selection:{provider:b,version:d,from:i.from,registered:u.registered},resolved:y};let x=g==null?void 0:g.provider,S=g==null?void 0:g.selection;if(!S)return;let C=g==null?void 0:g.resolved;if(C===void 0||s(p.share,f)!==void 0||S.registered&&(m==null?void 0:m[S.version])!==x)return;w(p.share,f,de(C),S.from),X.add(x)}catch(e){console.error(`[Module Federation] Failed to bridge materialized shared module "`+t+`"`,e)}},Ee=async(t,n,r,i,a)=>{try{var c,l,u,d;let f=o(t,(c=n.shareConfig)==null?void 0:c.singleton,n.version,n.scope),m=s(p.share,f),h=y(p.share,f),g=O(r,t,n,`version-first`),v=g||D(r,t,n,`version-first`)||n,b=E(r,v);if(!b)return;let x=k(v,n),{version:S}=b;if(!((l=n.shareConfig)!=null&&l.singleton)&&S!==n.version)return;let C=i==null?void 0:i[S],T=ee(I,ne,e,`default`,t,b,g,C,`version-first`);if(!T&&!x)return;let{provider:A,scopeRootProvider:te}=T||{provider:v,scopeRootProvider:void 0};if(n.canLiveRebind===!1||((u=n.shareConfig)==null?void 0:u.import)===!1&&k(A,n)||(A==null||(d=A.shareConfig)==null?void 0:d.import)===!1||m!==void 0&&h!==_)return;let j=e[t],M=j==null?void 0:j[S];if(b.registered&&!te&&!k(M,A))return;let N=await Ce(t,n.shareConfig,j,S,M,A,b.registered&&!x),P=N==null?void 0:N.provider,F=N==null?void 0:N.selection;if(!F||k(P,n)||a&&(a.version!==F.version||!k({from:F.from},a.provider))||X.has(P))return;let L=N==null?void 0:N.resolved;if(L===void 0)return;let R=s(p.share,f),re=y(p.share,f);if(R!==void 0&&re!==_||F.registered&&(j==null?void 0:j[F.version])!==P)return;a||we.set(t,{version:F.version,provider:{from:F.from}}),X.add(P);let ie=de(L);w(p.share,f,ie,F.from)}catch(e){console.error(`[Module Federation] Failed to bridge external shared module "`+t+`"`,e)}};for(let e of v)await Promise.all(e.map(async e=>{let t=B[e];t&&t.materialize!==!1&&!t.treeShaking&&await Te(e,t,z[e])}));for(let[e,t]of Object.entries(B)){var De;if(t.treeShaking)continue;let n=o(e,(De=t.shareConfig)==null?void 0:De.singleton,t.version,t.scope);if(s(p.share,n)!==void 0)continue;let r=o(e,!0,t.version,t.scope),i=s(p.share,r);i!==void 0&&w(p.share,n,i,y(p.share,r))}let Oe=[`@iobroker/dm-widgets`],ke=[[`@iobroker/dm-widgets`]],Z=new Map(Oe.map((e,t)=>[e,t])),Ae={},Q=Oe.filter(e=>{var t;return B[e]&&(B[e].materialize!==!1||((t=B[e].shareConfig)==null?void 0:t.import)===!1&&!B[e].lazy)});p.providerInit||=new Map;let je=(e,t)=>{let n=p.providerInit.get(e);if(n)return n;let r=Promise.resolve().then(t);return p.providerInit.set(e,r),r.catch(()=>p.providerInit.delete(e)),r};var Me=async e=>{let t=new Set(e);for(let e of ke)await Promise.all(e.filter(e=>t.has(e)).map(async e=>{var t,n,r;let i=B[e],a=o(e,(t=i.shareConfig)==null?void 0:t.singleton,i.version,i.scope);if(((n=i.shareConfig)==null?void 0:n.import)===!1||i.treeShaking||s(p.share,a)!==void 0)return;let c=o(e,!0,i.version,i.scope),l=s(p.share,c);if(l!==void 0){w(p.share,a,l,y(p.share,c));return}let u=typeof H==`function`?H(e,i):void 0;if(u){var d,f;let t=u.lib;if(!t&&u.loading&&(t=await u.loading),!t&&u.loaded&&typeof u.get==`function`&&(t=await u.get()),t){let e=typeof t==`function`?t():t,n=await Promise.resolve(e);w(p.share,a,(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(n),u.from);return}if(typeof V==`function`&&V(u)&&((d=i.shareConfig)!=null&&d.singleton||((f=E(z[e],u))==null?void 0:f.version)===i.version))return}let m=a.canonical,h=await je(m,async()=>{let e=await i.get(),t=typeof e==`function`?e():e;return Promise.resolve(t)});for(let t of((r=q.options.shared)==null?void 0:r[e])||[])t.get===i.get&&(t.eager=!0);let g=(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(h),v=g===h?{...h}:g;v.__esModule!==!0&&Object.defineProperty(v,"__esModule",{value:!0,enumerable:!1}),w(p.share,a,v,_)}))};let $=e=>{var t,n;let r=B[e];if(!r.treeShaking&&((t=r.shareConfig)==null?void 0:t.import)!==!1)return!1;let i=o(e,(n=r.shareConfig)==null?void 0:n.singleton,r.version,r.scope);return r.treeShaking?P(p.share,i,_)===void 0&&s(p.share,i)===void 0:s(p.share,i)===void 0},Ne=e=>{var t,n;let r=B[e],i=o(e,(t=r.shareConfig)==null?void 0:t.singleton,r.version,r.scope);return(r.treeShaking?P(p.share,i,_)??s(p.share,i):s(p.share,i))===void 0?r.treeShaking||((n=r.shareConfig)==null?void 0:n.import)===!1?!0:typeof O==`function`&&!!O(z[e],e,r,`version-first`):!1},Pe=e=>{let t=!0;for(;t;){t=!1;for(let n of Q){let r=Z.get(n);e.has(r)||(Ae[r]||[]).some(t=>e.has(t))&&(e.add(r),t=!0)}}return e},Fe=Pe(new Set(Q.filter(Ne).map(e=>Z.get(e)))),Ie=Q.filter(e=>!Fe.has(Z.get(e)));var Le=Q.filter(e=>Fe.has(Z.get(e)));await Me(Ie);try{await x(async()=>{await Promise.all(await q.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:n}))})}catch(e){console.error(`[Module Federation]`,e)}oe();let Re=async()=>{for(let t of v)await Promise.all(t.map(async t=>{let n=B[t];n&&n.materialize!==!1&&!n.treeShaking&&await Ee(t,n,e[t],z[t],void 0)}))};ce?b=Re:await Re();try{var ze;let e=(ze=globalThis.__FEDERATION__)==null?void 0:ze.__SHARE__,t=Object.create(null);if(e)for(let[,n]of Object.entries(e))for(let e of h){let r=n==null?void 0:n[e];if(r)for(let[e,n]of Object.entries(r)){let r=B==null?void 0:B[e],i=z[e],a=we.get(e);if(!r||!i||!a||r.treeShaking)continue;let o=t[e]||(t[e]=Object.create(null));for(let[e,t]of Object.entries(n)){if(!t.lib||a.version!==e||!k(t,a.provider))continue;let n=i[e];(t===n||n!=null&&n.from&&t.from===n.from)&&(t===r||r.from&&t.from===r.from||o[e]===void 0&&(o[e]=t))}}}for(let e of v)await Promise.all(e.map(async e=>{let n=t[e];n&&await Ee(e,B[e],n,z[e],we.get(e))}))}catch(e){console.error(`[Module Federation] Failed to bridge external shared modules`,e)}let Be=async()=>{},Ve=async(t,n)=>{var r,i;let a=o(t,(r=n.shareConfig)==null?void 0:r.singleton,n.version,n.scope),c=n.treeShaking?P(p.share,a,_):s(p.share,a);if(((i=n.shareConfig)==null?void 0:i.import)!==!1||c!==void 0||ue(t,n,z[t]))return;let l=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},u=e==null?void 0:e[t],d=D(u,t,n,`version-first`)||n,f=E(u,d);if(!f)return;let m=e=>{var t;return e===n||(e==null||(t=e.shareConfig)==null?void 0:t.import)===!1};if(m(d))return;let{version:h}=f,g=u==null?void 0:u[h],v=await Ce(t,n.shareConfig,u,h,g,d,f.registered),y=v==null?void 0:v.selection,b=v==null?void 0:v.provider,x=v==null?void 0:v.resolved;if(!y||m(b)||x===void 0||(n.treeShaking?P(p.share,a,_):s(p.share,a))!==void 0||y.registered&&(u==null?void 0:u[y.version])!==b)return;let S=l(x);if(n.treeShaking){let e=n.treeShaking.providedExports??n.treeShaking.usedExports??[];j(p.share,a,e,S),F(p.share,a,_,S)}else w(p.share,a,S,y.from)},He=[],Ue=new Set;for(let e of Le){let t=B[e],n=Z.get(e);if($(e))try{var We;t.treeShaking?await Be(e,t):((We=t.shareConfig)==null?void 0:We.import)===!1&&await Ve(e,t)}catch(t){console.error(`[Module Federation] Failed to resolve runtime-only shared module "${e}"`,t)}$(e)&&Ue.add(n)}Pe(Ue),He.push(...Le.filter(e=>!Ue.has(Z.get(e)))),await Me(He);let Ge=new Map;return u.loadLazyShares=async t=>{let n=new Set(t);for(let t of v)await Promise.all(t.filter(e=>n.has(e)).map(t=>{let n=B[t];if(!n||!n.lazy||!$(t))return;let r=Ge.get(t);return r||(r=Ee(t,n,e[t],z[t],void 0).then(()=>$(t)?Ve(t,n):void 0),r.catch(()=>Ge.delete(t)),Ge.set(t,r)),r}))},d(q),q}async function N(e){let t=await j();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return b&&await b(),p.pendingShareLoads&&await Promise.all(p.pendingShareLoads),t[e]().then(e=>()=>e)}export{N as get,M as init};
|
|
2
2
|
if (typeof document !== 'undefined' && document.head) {
|
|
3
3
|
try {
|
|
4
4
|
for (const __mfWarmupPath of ["assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BLwubH36.js","assets/vite-preload-helper-BbbETgeG.js","assets/dist-BkS8HKl2.js","assets/utils-D1AcFl0O.js"]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"DevicesWidgetTr064Set","name":"DevicesWidgetTr064Set","metaData":{"name":"DevicesWidgetTr064Set","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"DevicesWidgetTr064Set"},"remoteEntry":{"name":"customDevices.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"DevicesWidgetTr064Set","pluginVersion":"1.23.4","publicPath":"auto"},"shared":[{"id":"DevicesWidgetTr064Set:@iobroker/dm-widgets","name":"@iobroker/dm-widgets","version":"2.0.1","singleton":true,"requiredVersion":"*","assets":{"js":{"async":["assets/_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__prebuild___mf_0_iobroker_mf_1_dm_mf_2_widgets__prebuild__-CiYX8DhF.js"],"sync":[]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[{"id":"DevicesWidgetTr064Set:Components","name":"Components","assets":{"js":{"async":["assets/_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__loadShare__shared-4SQSrCDF.js"],"sync":["assets/vite-preload-helper-BbbETgeG.js","assets/dist-BkS8HKl2.js","assets/helpers-ClFTp7rx.js","assets/utils-D1AcFl0O.js","assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BLwubH36.js","assets/Components-
|
|
1
|
+
{"id":"DevicesWidgetTr064Set","name":"DevicesWidgetTr064Set","metaData":{"name":"DevicesWidgetTr064Set","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"DevicesWidgetTr064Set"},"remoteEntry":{"name":"customDevices.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"DevicesWidgetTr064Set","pluginVersion":"1.23.4","publicPath":"auto"},"shared":[{"id":"DevicesWidgetTr064Set:@iobroker/dm-widgets","name":"@iobroker/dm-widgets","version":"2.0.1","singleton":true,"requiredVersion":"*","assets":{"js":{"async":["assets/_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__prebuild___mf_0_iobroker_mf_1_dm_mf_2_widgets__prebuild__-CiYX8DhF.js"],"sync":[]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[{"id":"DevicesWidgetTr064Set:Components","name":"Components","assets":{"js":{"async":["assets/_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__loadShare__shared-4SQSrCDF.js"],"sync":["assets/vite-preload-helper-BbbETgeG.js","assets/dist-BkS8HKl2.js","assets/helpers-ClFTp7rx.js","assets/utils-D1AcFl0O.js","assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BLwubH36.js","assets/Components-D7dlXwfS.js","assets/react-pcwjPi4V.js"]},"css":{"async":[],"sync":[]}},"path":"./Components"},{"id":"DevicesWidgetTr064Set:translations","name":"translations","assets":{"js":{"async":[],"sync":["assets/vite-preload-helper-BbbETgeG.js","assets/dist-BkS8HKl2.js","assets/helpers-ClFTp7rx.js","assets/utils-D1AcFl0O.js","assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BLwubH36.js","assets/translations-DD1c0Wnf.js"]},"css":{"async":[],"sync":[]}},"path":"./translations"}]}
|
package/admin/i18n/de.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Benutzer",
|
|
38
38
|
"Watch devices": "Verbundene Geräte überwachen (Anwesenheit)",
|
|
39
39
|
"Write unchanged values too": "Unveränderte Werte auch schreiben",
|
|
40
|
-
"hint_persons": "Jede Person bekommt die Objekte unter \"presence.persons\": anwesend, zuletzt gekommen und gegangen, anwesend/abwesend seit, die Summen des Tages und das letzte Kommen und Gehen. Eine Person ist anwesend, wenn eines ihrer Geräte aktiv ist -
|
|
40
|
+
"hint_persons": "Jede Person bekommt die Objekte unter \"presence.persons\": anwesend, zuletzt gekommen und gegangen, anwesend/abwesend seit, die Summen des Tages und das letzte Kommen und Gehen. Eine Person ist anwesend, wenn eines ihrer Geräte aktiv ist - ihre Geräte in der Spalte \"MAC / IP\" nach Name, MAC oder IP aus den Geräten der FRITZ!Box auswählen oder eine MAC- oder IP-Adresse eintippen (eine IP-Adresse funktioniert nur, wenn das Gerät von der FRITZ!Box immer dieselbe Adresse bekommt). Personen mit derselben Gruppe werden unter \"presence.groups\" zusammengefasst",
|
|
41
41
|
"hint_phonebooksByNumber": "Steht eine Nummer in mehreren Telefonbüchern, wird der Name aus dem Telefonbuch genommen, das der eigenen Nummer des Anrufs zugeordnet ist. Die eigene Nummer (die letzten Ziffern genügen) und den Namen des Telefonbuchs in der FRITZ!Box eintragen",
|
|
42
42
|
"hint_severalMacs": "Gerät mit mehreren MAC-Adressen (z. B. ein Smartphone mit privater WLAN-Adresse, die sich von WLAN zu WLAN unterscheidet): alle Adressen durch Kommas getrennt eintragen. Das Gerät ist anwesend, wenn eine davon aktiv ist",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/en.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "User",
|
|
38
38
|
"Watch devices": "Monitor connected devices (Presence)",
|
|
39
39
|
"Write unchanged values too": "Write unchanged values too",
|
|
40
|
-
"hint_persons": "Every person gets the objects below \"presence.persons\": present, last arrival and departure, present/absent since, the sums of today and the last comings and goings. A person is present if one of its devices is active -
|
|
40
|
+
"hint_persons": "Every person gets the objects below \"presence.persons\": present, last arrival and departure, present/absent since, the sums of today and the last comings and goings. A person is present if one of its devices is active - choose its devices in the column \"MAC / IP\" by name, MAC or IP from the devices of the FRITZ!Box, or type a MAC or IP address (an IP address only works if the device always gets the same address from the FRITZ!Box). Persons with the same group are summarized below \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "If a number is in several phone books, the name is taken from the phone book which is assigned to the own number of the call. Enter the own number (the last digits are enough) and the name of the phone book in the FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "A device with several MAC addresses (e.g. a smartphone with a private Wi-Fi address, which differs from Wi-Fi to Wi-Fi): enter all addresses separated by commas. The device is present if one of them is active",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/es.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Usuario",
|
|
38
38
|
"Watch devices": "Ver dispositivos conectados (Presencia)",
|
|
39
39
|
"Write unchanged values too": "Escribir también valores sin cambios",
|
|
40
|
-
"hint_persons": "Cada persona recibe los objetos
|
|
40
|
+
"hint_persons": "Cada persona recibe los objetos bajo \"presence.persons\": presente, última llegada y salida, presente/ausente desde, las sumas de hoy y las últimas llegadas y salidas. Una persona está presente si uno de sus dispositivos está activo: elija sus dispositivos en la columna \"MAC / IP\" por nombre, MAC o IP entre los dispositivos del FRITZ!Box, o escriba una dirección MAC o IP (una dirección IP solo funciona si el dispositivo recibe siempre la misma dirección del FRITZ!Box). Las personas del mismo grupo se resumen bajo \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Si un número está en varias agendas, el nombre se toma de la agenda asignada al número propio de la llamada. Introduzca el número propio (bastan los últimos dígitos) y el nombre de la agenda en la FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "Dispositivo con varias direcciones MAC (p. ej. un smartphone con dirección Wi-Fi privada, distinta en cada red Wi-Fi): introduzca todas las direcciones separadas por comas. El dispositivo está presente si una de ellas está activa",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/fr.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Utilisateur",
|
|
38
38
|
"Watch devices": "Regarder les appareils connectés (Présence)",
|
|
39
39
|
"Write unchanged values too": "Écrire aussi les valeurs inchangées",
|
|
40
|
-
"hint_persons": "Chaque personne reçoit les objets sous \"presence.persons\" :
|
|
40
|
+
"hint_persons": "Chaque personne reçoit les objets sous \"presence.persons\" : présent, dernière arrivée et dernier départ, présent/absent depuis, les sommes du jour et les dernières arrivées et départs. Une personne est présente si l'un de ses appareils est actif - choisissez ses appareils dans la colonne \"MAC / IP\" par nom, MAC ou IP parmi les appareils de la FRITZ!Box, ou saisissez une adresse MAC ou IP (une adresse IP ne fonctionne que si l'appareil reçoit toujours la même adresse de la FRITZ!Box). Les personnes du même groupe sont regroupées sous \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Si un numéro figure dans plusieurs annuaires, le nom est pris dans l'annuaire attribué au numéro propre de l'appel. Saisissez le numéro propre (les derniers chiffres suffisent) et le nom de l'annuaire dans la FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "Appareil avec plusieurs adresses MAC (par ex. un smartphone avec une adresse Wi-Fi privée, différente pour chaque réseau Wi-Fi) : saisissez toutes les adresses séparées par des virgules. L'appareil est présent si l'une d'elles est active",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/it.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Utente",
|
|
38
38
|
"Watch devices": "Guarda i dispositivi collegati (Presenza)",
|
|
39
39
|
"Write unchanged values too": "Scrivi anche i valori invariati",
|
|
40
|
-
"hint_persons": "Ogni persona riceve gli oggetti sotto \"presence.persons\": presente, ultimo arrivo e ultima partenza, presente/assente da, le somme
|
|
40
|
+
"hint_persons": "Ogni persona riceve gli oggetti sotto \"presence.persons\": presente, ultimo arrivo e ultima partenza, presente/assente da, le somme di oggi e gli ultimi arrivi e partenze. Una persona è presente se uno dei suoi dispositivi è attivo: scegliere i suoi dispositivi nella colonna \"MAC / IP\" per nome, MAC o IP tra i dispositivi del FRITZ!Box, oppure digitare un indirizzo MAC o IP (un indirizzo IP funziona solo se il dispositivo riceve sempre lo stesso indirizzo dal FRITZ!Box). Le persone dello stesso gruppo sono riepilogate sotto \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Se un numero è in più rubriche, il nome viene preso dalla rubrica assegnata al numero proprio della chiamata. Inserire il numero proprio (bastano le ultime cifre) e il nome della rubrica nella FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "Dispositivo con più indirizzi MAC (ad es. uno smartphone con indirizzo Wi-Fi privato, diverso per ogni rete Wi-Fi): inserire tutti gli indirizzi separati da virgole. Il dispositivo è presente se uno di essi è attivo",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/nl.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Gebruiker",
|
|
38
38
|
"Watch devices": "Bekijk aangesloten apparaten (aanwezigheid)",
|
|
39
39
|
"Write unchanged values too": "Ook ongewijzigde waarden schrijven",
|
|
40
|
-
"hint_persons": "Elke persoon krijgt de objecten onder \"presence.persons\": aanwezig,
|
|
40
|
+
"hint_persons": "Elke persoon krijgt de objecten onder \"presence.persons\": aanwezig, laatste aankomst en vertrek, aanwezig/afwezig sinds, de sommen van vandaag en het laatste komen en gaan. Een persoon is aanwezig als een van zijn apparaten actief is - kies zijn apparaten in de kolom \"MAC / IP\" op naam, MAC of IP uit de apparaten van de FRITZ!Box, of typ een MAC- of IP-adres (een IP-adres werkt alleen als het apparaat altijd hetzelfde adres van de FRITZ!Box krijgt). Personen met dezelfde groep worden samengevat onder \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Staat een nummer in meerdere telefoonboeken, dan wordt de naam genomen uit het telefoonboek dat aan het eigen nummer van de oproep is toegewezen. Voer het eigen nummer (de laatste cijfers volstaan) en de naam van het telefoonboek in de FRITZ!Box in",
|
|
42
42
|
"hint_severalMacs": "Apparaat met meerdere MAC-adressen (bijv. een smartphone met een privé wifi-adres, dat per wifi-netwerk verschilt): voer alle adressen gescheiden door komma's in. Het apparaat is aanwezig als een van de adressen actief is",
|
|
43
43
|
"ip": "IK P",
|
package/admin/i18n/pl.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Użytkownik",
|
|
38
38
|
"Watch devices": "Oglądaj podłączone urządzenia (obecność)",
|
|
39
39
|
"Write unchanged values too": "Zapisuj także niezmienione wartości",
|
|
40
|
-
"hint_persons": "Każda osoba otrzymuje obiekty w \"presence.persons\": obecna, ostatnie przyjście i wyjście, obecna/nieobecna od, sumy dnia oraz ostatnie przyjścia i wyjścia. Osoba jest obecna,
|
|
40
|
+
"hint_persons": "Każda osoba otrzymuje obiekty w \"presence.persons\": obecna, ostatnie przyjście i wyjście, obecna/nieobecna od, sumy dnia oraz ostatnie przyjścia i wyjścia. Osoba jest obecna, gdy jedno z jej urządzeń jest aktywne - wybierz jej urządzenia w kolumnie \"MAC / IP\" po nazwie, MAC lub IP spośród urządzeń FRITZ!Box albo wpisz adres MAC lub IP (adres IP działa tylko wtedy, gdy urządzenie zawsze dostaje od FRITZ!Box ten sam adres). Osoby z tej samej grupy są podsumowane w \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Jeśli numer znajduje się w kilku książkach telefonicznych, nazwa jest brana z książki przypisanej do własnego numeru połączenia. Wpisz własny numer (wystarczą ostatnie cyfry) i nazwę książki telefonicznej w FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "Urządzenie z kilkoma adresami MAC (np. smartfon z prywatnym adresem Wi-Fi, innym dla każdej sieci Wi-Fi): wpisz wszystkie adresy oddzielone przecinkami. Urządzenie jest obecne, jeśli jeden z nich jest aktywny",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/pt.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Do utilizador",
|
|
38
38
|
"Watch devices": "Assista dispositivos conectados (Presença)",
|
|
39
39
|
"Write unchanged values too": "Gravar também valores inalterados",
|
|
40
|
-
"hint_persons": "Cada pessoa recebe os objetos em \"presence.persons\": presente, última chegada e saída, presente/ausente desde, as somas do dia e as últimas chegadas e saídas. Uma pessoa está presente se um dos seus dispositivos estiver ativo -
|
|
40
|
+
"hint_persons": "Cada pessoa recebe os objetos em \"presence.persons\": presente, última chegada e saída, presente/ausente desde, as somas do dia e as últimas chegadas e saídas. Uma pessoa está presente se um dos seus dispositivos estiver ativo - escolha os seus dispositivos na coluna \"MAC / IP\" por nome, MAC ou IP entre os dispositivos do FRITZ!Box, ou digite um endereço MAC ou IP (um endereço IP só funciona se o dispositivo receber sempre o mesmo endereço do FRITZ!Box). Pessoas do mesmo grupo são resumidas em \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Se um número estiver em várias listas telefónicas, o nome é obtido da lista atribuída ao número próprio da chamada. Introduza o número próprio (os últimos dígitos bastam) e o nome da lista telefónica na FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "Dispositivo com vários endereços MAC (por exemplo, um smartphone com endereço Wi-Fi privado, que muda de uma rede Wi-Fi para outra): insira todos os endereços separados por vírgulas. O dispositivo está presente se um deles estiver ativo",
|
|
43
43
|
"ip": "IP",
|
package/admin/i18n/ru.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"User": "Пользователь",
|
|
38
38
|
"Watch devices": "Мониторить устройства",
|
|
39
39
|
"Write unchanged values too": "Записывать и неизменённые значения",
|
|
40
|
-
"hint_persons": "Каждый человек получает объекты в \"presence.persons\": присутствует, последний приход и уход, присутствует/отсутствует с, суммы за день и последние приходы и уходы. Человек присутствует, если
|
|
40
|
+
"hint_persons": "Каждый человек получает объекты в \"presence.persons\": присутствует, последний приход и уход, присутствует/отсутствует с, суммы за день и последние приходы и уходы. Человек присутствует, если одно из его устройств активно - выберите его устройства в столбце \"MAC / IP\" по имени, MAC или IP из устройств FRITZ!Box или введите MAC- или IP-адрес (IP-адрес работает, только если устройство всегда получает от FRITZ!Box один и тот же адрес). Люди одной группы объединяются в \"presence.groups\"",
|
|
41
41
|
"hint_phonebooksByNumber": "Если номер есть в нескольких телефонных книгах, имя берётся из книги, назначенной собственному номеру вызова. Введите собственный номер (достаточно последних цифр) и название телефонной книги в FRITZ!Box",
|
|
42
42
|
"hint_severalMacs": "Устройство с несколькими MAC-адресами (например, смартфон с частным адресом Wi-Fi, который отличается для каждой сети Wi-Fi): введите все адреса через запятую. Устройство присутствует, если активен один из них",
|
|
43
43
|
"ip": "IP",
|