diff --git a/README.md b/README.md index 503fc368..ac4e03e9 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,11 @@ You can debug view charts locally with: --> ## Changelog +### **WORK IN PROGRESS** + +- (@GermanBluefox) Correcting locale for x-axis +- (@GermanBluefox) Correcting widget + ### 2.0.3 (2025-01-08) - (@GermanBluefox) Corrected the convert functionality diff --git a/admin/assets/index-BM_eVAc7.js b/admin/assets/index-VBHizqvZ.js similarity index 84% rename from admin/assets/index-BM_eVAc7.js rename to admin/assets/index-VBHizqvZ.js index e98a4557..8c25e00c 100644 --- a/admin/assets/index-BM_eVAc7.js +++ b/admin/assets/index-VBHizqvZ.js @@ -1,4 +1,4 @@ -var kJ=Object.defineProperty;var cP=t=>{throw TypeError(t)};var EJ=(t,e,r)=>e in t?kJ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var TJ=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var X=(t,e,r)=>EJ(t,typeof e!="symbol"?e+"":e,r),OJ=(t,e,r)=>e.has(t)||cP("Cannot "+r);var dP=(t,e,r)=>(OJ(t,e,"read from private field"),r?r.call(t):e.get(t)),uP=(t,e,r)=>e.has(t)?cP("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var $nr=TJ((br,wr)=>{function DJ(t,e){for(var r=0;rn[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();var xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function so(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var pb={exports:{}},Tp={},hb={exports:{}},Mt={};/** +var kJ=Object.defineProperty;var cP=t=>{throw TypeError(t)};var EJ=(t,e,r)=>e in t?kJ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var TJ=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var X=(t,e,r)=>EJ(t,typeof e!="symbol"?e+"":e,r),OJ=(t,e,r)=>e.has(t)||cP("Cannot "+r);var dP=(t,e,r)=>(OJ(t,e,"read from private field"),r?r.call(t):e.get(t)),uP=(t,e,r)=>e.has(t)?cP("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var knr=TJ((br,wr)=>{function DJ(t,e){for(var r=0;rn[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();var xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function so(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var pb={exports:{}},Tp={},hb={exports:{}},Mt={};/** * @license React * react.production.min.js * @@ -194,7 +194,7 @@ theme.breakpoints = createBreakpoints(theme.breakpoints || {}); theme.transitions = createTransitions(theme.transitions || {}); export default theme;`}function gE(t={},...e){const{breakpoints:r,mixins:n={},spacing:o,palette:a={},transitions:i={},typography:s={},shape:l,...d}=t;if(t.vars)throw new Error(Ni(20));const h=kT(a),u=yy(t);let f=On(u,{mixins:hQ(u.breakpoints,n),palette:h,shadows:yQ.slice(),typography:w7(h,s),transitions:xQ(i),zIndex:{...SQ}});return f=On(f,d),f=e.reduce((g,y)=>On(g,y),f),f.unstable_sxConfig={...$f,...d==null?void 0:d.unstable_sxConfig},f.unstable_sx=function(y){return Is({sx:y,theme:this})},f.toRuntimeSource=x7,f}function vE(t){let e;return t<1?e=5.11916*t**2:e=4.5*Math.log(t+1)+2,Math.round(e*10)/1e3}const $Q=[...Array(25)].map((t,e)=>{if(e===0)return"none";const r=vE(e);return`linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`});function S7(t){return{inputPlaceholder:t==="dark"?.5:.42,inputUnderline:t==="dark"?.7:.42,switchTrackDisabled:t==="dark"?.2:.12,switchTrack:t==="dark"?.3:.38}}function C7(t){return t==="dark"?$Q:[]}function kQ(t){const{palette:e={mode:"light"},opacity:r,overlays:n,...o}=t,a=kT(e);return{palette:a,opacity:{...S7(a.mode),...r},overlays:n||C7(a.mode),...o}}function EQ(t){var e;return!!t[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!t[0].match(/sxConfig$/)||t[0]==="palette"&&!!((e=t[1])!=null&&e.match(/(mode|contrastThreshold|tonalOffset)/))}const TQ=t=>[...[...Array(25)].map((e,r)=>`--${t?`${t}-`:""}overlays-${r}`),`--${t?`${t}-`:""}palette-AppBar-darkBg`,`--${t?`${t}-`:""}palette-AppBar-darkColor`],OQ=t=>(e,r)=>{const n=t.rootSelector||":root",o=t.colorSchemeSelector;let a=o;if(o==="class"&&(a=".%s"),o==="data"&&(a="[data-%s]"),o!=null&&o.startsWith("data-")&&!o.includes("%s")&&(a=`[${o}="%s"]`),t.defaultColorScheme===e){if(e==="dark"){const i={};return TQ(t.cssVarPrefix).forEach(s=>{i[s]=r[s],delete r[s]}),a==="media"?{[n]:r,"@media (prefers-color-scheme: dark)":{[n]:i}}:a?{[a.replace("%s",e)]:i,[`${n}, ${a.replace("%s",e)}`]:r}:{[n]:{...r,...i}}}if(a&&a!=="media")return`${n}, ${a.replace("%s",String(e))}`}else if(e){if(a==="media")return{[`@media (prefers-color-scheme: ${String(e)})`]:{[n]:r}};if(a)return a.replace("%s",String(e))}return n};function DQ(t,e){e.forEach(r=>{t[r]||(t[r]={})})}function se(t,e,r){!t[e]&&r&&(t[e]=r)}function rh(t){return typeof t!="string"||!t.startsWith("hsl")?t:s7(t)}function wi(t,e){`${e}Channel`in t||(t[`${e}Channel`]=th(rh(t[e]),`MUI: Can't create \`palette.${e}Channel\` because \`palette.${e}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color(). -To suppress this warning, you need to explicitly provide the \`palette.${e}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function AQ(t){return typeof t=="number"?`${t}px`:typeof t=="string"||typeof t=="function"||Array.isArray(t)?t:"8px"}const Fa=t=>{try{return t()}catch{}},IQ=(t="mui")=>zZ(t);function Tb(t,e,r,n){if(!e)return;e=e===!0?{}:e;const o=n==="dark"?"dark":"light";if(!r){t[n]=kQ({...e,palette:{mode:o,...e==null?void 0:e.palette}});return}const{palette:a,...i}=gE({...r,palette:{mode:o,...e==null?void 0:e.palette}});return t[n]={...e,palette:a,opacity:{...S7(o),...e==null?void 0:e.opacity},overlays:(e==null?void 0:e.overlays)||C7(o)},i}function MQ(t={},...e){const{colorSchemes:r={light:!0},defaultColorScheme:n,disableCssColorScheme:o=!1,cssVarPrefix:a="mui",shouldSkipGeneratingVar:i=EQ,colorSchemeSelector:s=r.light&&r.dark?"media":void 0,rootSelector:l=":root",...d}=t,h=Object.keys(r)[0],u=n||(r.light&&h!=="light"?"light":h),f=IQ(a),{[u]:g,light:y,dark:b,...x}=r,S={...x};let T=g;if((u==="dark"&&!("dark"in r)||u==="light"&&!("light"in r))&&(T=!0),!T)throw new Error(Ni(21,u));const E=Tb(S,T,d,u);y&&!S.light&&Tb(S,y,void 0,"light"),b&&!S.dark&&Tb(S,b,void 0,"dark");let $={defaultColorScheme:u,...E,cssVarPrefix:a,colorSchemeSelector:s,rootSelector:l,getCssVar:f,colorSchemes:S,font:{...pQ(E.typography),...E.font},spacing:AQ(d.spacing)};Object.keys($.colorSchemes).forEach(j=>{const I=$.colorSchemes[j].palette,z=W=>{const L=W.split("-"),F=L[1],H=L[2];return f(W,I[F][H])};if(I.mode==="light"&&(se(I.common,"background","#fff"),se(I.common,"onBackground","#000")),I.mode==="dark"&&(se(I.common,"background","#000"),se(I.common,"onBackground","#fff")),DQ(I,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),I.mode==="light"){se(I.Alert,"errorColor",ar(I.error.light,.6)),se(I.Alert,"infoColor",ar(I.info.light,.6)),se(I.Alert,"successColor",ar(I.success.light,.6)),se(I.Alert,"warningColor",ar(I.warning.light,.6)),se(I.Alert,"errorFilledBg",z("palette-error-main")),se(I.Alert,"infoFilledBg",z("palette-info-main")),se(I.Alert,"successFilledBg",z("palette-success-main")),se(I.Alert,"warningFilledBg",z("palette-warning-main")),se(I.Alert,"errorFilledColor",Fa(()=>I.getContrastText(I.error.main))),se(I.Alert,"infoFilledColor",Fa(()=>I.getContrastText(I.info.main))),se(I.Alert,"successFilledColor",Fa(()=>I.getContrastText(I.success.main))),se(I.Alert,"warningFilledColor",Fa(()=>I.getContrastText(I.warning.main))),se(I.Alert,"errorStandardBg",ir(I.error.light,.9)),se(I.Alert,"infoStandardBg",ir(I.info.light,.9)),se(I.Alert,"successStandardBg",ir(I.success.light,.9)),se(I.Alert,"warningStandardBg",ir(I.warning.light,.9)),se(I.Alert,"errorIconColor",z("palette-error-main")),se(I.Alert,"infoIconColor",z("palette-info-main")),se(I.Alert,"successIconColor",z("palette-success-main")),se(I.Alert,"warningIconColor",z("palette-warning-main")),se(I.AppBar,"defaultBg",z("palette-grey-100")),se(I.Avatar,"defaultBg",z("palette-grey-400")),se(I.Button,"inheritContainedBg",z("palette-grey-300")),se(I.Button,"inheritContainedHoverBg",z("palette-grey-A100")),se(I.Chip,"defaultBorder",z("palette-grey-400")),se(I.Chip,"defaultAvatarColor",z("palette-grey-700")),se(I.Chip,"defaultIconColor",z("palette-grey-700")),se(I.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),se(I.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),se(I.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),se(I.LinearProgress,"primaryBg",ir(I.primary.main,.62)),se(I.LinearProgress,"secondaryBg",ir(I.secondary.main,.62)),se(I.LinearProgress,"errorBg",ir(I.error.main,.62)),se(I.LinearProgress,"infoBg",ir(I.info.main,.62)),se(I.LinearProgress,"successBg",ir(I.success.main,.62)),se(I.LinearProgress,"warningBg",ir(I.warning.main,.62)),se(I.Skeleton,"bg",`rgba(${z("palette-text-primaryChannel")} / 0.11)`),se(I.Slider,"primaryTrack",ir(I.primary.main,.62)),se(I.Slider,"secondaryTrack",ir(I.secondary.main,.62)),se(I.Slider,"errorTrack",ir(I.error.main,.62)),se(I.Slider,"infoTrack",ir(I.info.main,.62)),se(I.Slider,"successTrack",ir(I.success.main,.62)),se(I.Slider,"warningTrack",ir(I.warning.main,.62));const W=rg(I.background.default,.8);se(I.SnackbarContent,"bg",W),se(I.SnackbarContent,"color",Fa(()=>I.getContrastText(W))),se(I.SpeedDialAction,"fabHoverBg",rg(I.background.paper,.15)),se(I.StepConnector,"border",z("palette-grey-400")),se(I.StepContent,"border",z("palette-grey-400")),se(I.Switch,"defaultColor",z("palette-common-white")),se(I.Switch,"defaultDisabledColor",z("palette-grey-100")),se(I.Switch,"primaryDisabledColor",ir(I.primary.main,.62)),se(I.Switch,"secondaryDisabledColor",ir(I.secondary.main,.62)),se(I.Switch,"errorDisabledColor",ir(I.error.main,.62)),se(I.Switch,"infoDisabledColor",ir(I.info.main,.62)),se(I.Switch,"successDisabledColor",ir(I.success.main,.62)),se(I.Switch,"warningDisabledColor",ir(I.warning.main,.62)),se(I.TableCell,"border",ir(tg(I.divider,1),.88)),se(I.Tooltip,"bg",tg(I.grey[700],.92))}if(I.mode==="dark"){se(I.Alert,"errorColor",ir(I.error.light,.6)),se(I.Alert,"infoColor",ir(I.info.light,.6)),se(I.Alert,"successColor",ir(I.success.light,.6)),se(I.Alert,"warningColor",ir(I.warning.light,.6)),se(I.Alert,"errorFilledBg",z("palette-error-dark")),se(I.Alert,"infoFilledBg",z("palette-info-dark")),se(I.Alert,"successFilledBg",z("palette-success-dark")),se(I.Alert,"warningFilledBg",z("palette-warning-dark")),se(I.Alert,"errorFilledColor",Fa(()=>I.getContrastText(I.error.dark))),se(I.Alert,"infoFilledColor",Fa(()=>I.getContrastText(I.info.dark))),se(I.Alert,"successFilledColor",Fa(()=>I.getContrastText(I.success.dark))),se(I.Alert,"warningFilledColor",Fa(()=>I.getContrastText(I.warning.dark))),se(I.Alert,"errorStandardBg",ar(I.error.light,.9)),se(I.Alert,"infoStandardBg",ar(I.info.light,.9)),se(I.Alert,"successStandardBg",ar(I.success.light,.9)),se(I.Alert,"warningStandardBg",ar(I.warning.light,.9)),se(I.Alert,"errorIconColor",z("palette-error-main")),se(I.Alert,"infoIconColor",z("palette-info-main")),se(I.Alert,"successIconColor",z("palette-success-main")),se(I.Alert,"warningIconColor",z("palette-warning-main")),se(I.AppBar,"defaultBg",z("palette-grey-900")),se(I.AppBar,"darkBg",z("palette-background-paper")),se(I.AppBar,"darkColor",z("palette-text-primary")),se(I.Avatar,"defaultBg",z("palette-grey-600")),se(I.Button,"inheritContainedBg",z("palette-grey-800")),se(I.Button,"inheritContainedHoverBg",z("palette-grey-700")),se(I.Chip,"defaultBorder",z("palette-grey-700")),se(I.Chip,"defaultAvatarColor",z("palette-grey-300")),se(I.Chip,"defaultIconColor",z("palette-grey-300")),se(I.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),se(I.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),se(I.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),se(I.LinearProgress,"primaryBg",ar(I.primary.main,.5)),se(I.LinearProgress,"secondaryBg",ar(I.secondary.main,.5)),se(I.LinearProgress,"errorBg",ar(I.error.main,.5)),se(I.LinearProgress,"infoBg",ar(I.info.main,.5)),se(I.LinearProgress,"successBg",ar(I.success.main,.5)),se(I.LinearProgress,"warningBg",ar(I.warning.main,.5)),se(I.Skeleton,"bg",`rgba(${z("palette-text-primaryChannel")} / 0.13)`),se(I.Slider,"primaryTrack",ar(I.primary.main,.5)),se(I.Slider,"secondaryTrack",ar(I.secondary.main,.5)),se(I.Slider,"errorTrack",ar(I.error.main,.5)),se(I.Slider,"infoTrack",ar(I.info.main,.5)),se(I.Slider,"successTrack",ar(I.success.main,.5)),se(I.Slider,"warningTrack",ar(I.warning.main,.5));const W=rg(I.background.default,.98);se(I.SnackbarContent,"bg",W),se(I.SnackbarContent,"color",Fa(()=>I.getContrastText(W))),se(I.SpeedDialAction,"fabHoverBg",rg(I.background.paper,.15)),se(I.StepConnector,"border",z("palette-grey-600")),se(I.StepContent,"border",z("palette-grey-600")),se(I.Switch,"defaultColor",z("palette-grey-300")),se(I.Switch,"defaultDisabledColor",z("palette-grey-600")),se(I.Switch,"primaryDisabledColor",ar(I.primary.main,.55)),se(I.Switch,"secondaryDisabledColor",ar(I.secondary.main,.55)),se(I.Switch,"errorDisabledColor",ar(I.error.main,.55)),se(I.Switch,"infoDisabledColor",ar(I.info.main,.55)),se(I.Switch,"successDisabledColor",ar(I.success.main,.55)),se(I.Switch,"warningDisabledColor",ar(I.warning.main,.55)),se(I.TableCell,"border",ar(tg(I.divider,1),.68)),se(I.Tooltip,"bg",tg(I.grey[700],.92))}wi(I.background,"default"),wi(I.background,"paper"),wi(I.common,"background"),wi(I.common,"onBackground"),wi(I,"divider"),Object.keys(I).forEach(W=>{const L=I[W];W!=="tonalOffset"&&L&&typeof L=="object"&&(L.main&&se(I[W],"mainChannel",th(rh(L.main))),L.light&&se(I[W],"lightChannel",th(rh(L.light))),L.dark&&se(I[W],"darkChannel",th(rh(L.dark))),L.contrastText&&se(I[W],"contrastTextChannel",th(rh(L.contrastText))),W==="text"&&(wi(I[W],"primary"),wi(I[W],"secondary")),W==="action"&&(L.active&&wi(I[W],"active"),L.selected&&wi(I[W],"selected")))})}),$=e.reduce((j,I)=>On(j,I),$);const k={prefix:a,disableCssColorScheme:o,shouldSkipGeneratingVar:i,getSelector:OQ($)},{vars:O,generateThemeVars:M,generateStyleSheets:R}=WZ($,k);return $.vars=O,Object.entries($.colorSchemes[$.defaultColorScheme]).forEach(([j,I])=>{$[j]=I}),$.generateThemeVars=M,$.generateStyleSheets=R,$.generateSpacing=function(){return Q9(d.spacing,_T(this))},$.getColorSchemeSelector=HZ(s),$.spacing=$.generateSpacing(),$.shouldSkipGeneratingVar=i,$.unstable_sxConfig={...$f,...d==null?void 0:d.unstable_sxConfig},$.unstable_sx=function(I){return Is({sx:I,theme:this})},$.toRuntimeSource=x7,$}function sN(t,e,r){t.colorSchemes&&r&&(t.colorSchemes[e]={...r!==!0&&r,palette:kT({...r===!0?{}:r.palette,mode:e})})}function Xh(t={},...e){const{palette:r,cssVariables:n=!1,colorSchemes:o=r?void 0:{light:!0},defaultColorScheme:a=r==null?void 0:r.mode,...i}=t,s=a||"light",l=o==null?void 0:o[s],d={...o,...r?{[s]:{...typeof l!="boolean"&&l,palette:r}}:void 0};if(n===!1){if(!("colorSchemes"in t))return gE(t,...e);let h=r;"palette"in t||d[s]&&(d[s]!==!0?h=d[s].palette:s==="dark"&&(h={mode:"dark"}));const u=gE({...t,palette:h},...e);return u.defaultColorScheme=s,u.colorSchemes=d,u.palette.mode==="light"&&(u.colorSchemes.light={...d.light!==!0&&d.light,palette:u.palette},sN(u,"dark",d.dark)),u.palette.mode==="dark"&&(u.colorSchemes.dark={...d.dark!==!0&&d.dark,palette:u.palette},sN(u,"light",d.light)),u}return!r&&!("light"in d)&&s==="light"&&(d.light=!0),MQ({...i,colorSchemes:d,defaultColorScheme:s,...typeof n!="boolean"&&n},...e)}const ET=Xh();function ai(){const t=kf(ET);return t[Ca]||t}function $y(t){return t!=="ownerState"&&t!=="theme"&&t!=="sx"&&t!=="as"}const on=t=>$y(t)&&t!=="classes",de=o7({themeId:Ca,defaultTheme:ET,rootShouldForwardProp:on});function lN({theme:t,...e}){const r=Ca in t?t[Ca]:void 0;return w.jsx(v7,{...e,themeId:r?Ca:void 0,theme:r||t})}const ng={attribute:"data-mui-color-scheme",colorSchemeStorageKey:"mui-color-scheme",defaultLightColorScheme:"light",defaultDarkColorScheme:"dark",modeStorageKey:"mui-mode"},{CssVarsProvider:PQ,useColorScheme:Enr,getInitColorSchemeScript:Tnr}=LZ({themeId:Ca,theme:()=>Xh({cssVariables:!0}),colorSchemeStorageKey:ng.colorSchemeStorageKey,modeStorageKey:ng.modeStorageKey,defaultColorScheme:{light:ng.defaultLightColorScheme,dark:ng.defaultDarkColorScheme},resolveTheme:t=>{const e={...t,typography:w7(t.palette,t.typography)};return e.unstable_sx=function(n){return Is({sx:n,theme:this})},e}}),NQ=PQ;function yE({theme:t,...e}){return typeof t=="function"?w.jsx(lN,{theme:t,...e}):"colorSchemes"in(Ca in t?t[Ca]:t)?w.jsx(NQ,{theme:t,...e}):w.jsx(lN,{theme:t,...e})}function _E(t,e){return _E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},_E(t,e)}function ky(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,_E(t,e)}function De(){return De=Object.assign?Object.assign.bind():function(t){for(var e=1;e"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Qn(1));return r(TT)(t,e)}if(typeof t!="function")throw new Error(Qn(2));var o=t,a=e,i=[],s=i,l=!1;function d(){s===i&&(s=i.slice())}function h(){if(l)throw new Error(Qn(3));return a}function u(b){if(typeof b!="function")throw new Error(Qn(4));if(l)throw new Error(Qn(5));var x=!0;return d(),s.push(b),function(){if(x){if(l)throw new Error(Qn(6));x=!1,d();var T=s.indexOf(b);s.splice(T,1),i=null}}}function f(b){if(!jQ(b))throw new Error(Qn(7));if(typeof b.type>"u")throw new Error(Qn(8));if(l)throw new Error(Qn(9));try{l=!0,a=o(a,b)}finally{l=!1}for(var x=i=s,S=0;S{try{return t()}catch{}},IQ=(t="mui")=>zZ(t);function Tb(t,e,r,n){if(!e)return;e=e===!0?{}:e;const o=n==="dark"?"dark":"light";if(!r){t[n]=kQ({...e,palette:{mode:o,...e==null?void 0:e.palette}});return}const{palette:a,...i}=gE({...r,palette:{mode:o,...e==null?void 0:e.palette}});return t[n]={...e,palette:a,opacity:{...S7(o),...e==null?void 0:e.opacity},overlays:(e==null?void 0:e.overlays)||C7(o)},i}function MQ(t={},...e){const{colorSchemes:r={light:!0},defaultColorScheme:n,disableCssColorScheme:o=!1,cssVarPrefix:a="mui",shouldSkipGeneratingVar:i=EQ,colorSchemeSelector:s=r.light&&r.dark?"media":void 0,rootSelector:l=":root",...d}=t,h=Object.keys(r)[0],u=n||(r.light&&h!=="light"?"light":h),f=IQ(a),{[u]:g,light:y,dark:b,...x}=r,S={...x};let T=g;if((u==="dark"&&!("dark"in r)||u==="light"&&!("light"in r))&&(T=!0),!T)throw new Error(Ni(21,u));const E=Tb(S,T,d,u);y&&!S.light&&Tb(S,y,void 0,"light"),b&&!S.dark&&Tb(S,b,void 0,"dark");let $={defaultColorScheme:u,...E,cssVarPrefix:a,colorSchemeSelector:s,rootSelector:l,getCssVar:f,colorSchemes:S,font:{...pQ(E.typography),...E.font},spacing:AQ(d.spacing)};Object.keys($.colorSchemes).forEach(j=>{const I=$.colorSchemes[j].palette,z=W=>{const L=W.split("-"),F=L[1],H=L[2];return f(W,I[F][H])};if(I.mode==="light"&&(se(I.common,"background","#fff"),se(I.common,"onBackground","#000")),I.mode==="dark"&&(se(I.common,"background","#000"),se(I.common,"onBackground","#fff")),DQ(I,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),I.mode==="light"){se(I.Alert,"errorColor",ar(I.error.light,.6)),se(I.Alert,"infoColor",ar(I.info.light,.6)),se(I.Alert,"successColor",ar(I.success.light,.6)),se(I.Alert,"warningColor",ar(I.warning.light,.6)),se(I.Alert,"errorFilledBg",z("palette-error-main")),se(I.Alert,"infoFilledBg",z("palette-info-main")),se(I.Alert,"successFilledBg",z("palette-success-main")),se(I.Alert,"warningFilledBg",z("palette-warning-main")),se(I.Alert,"errorFilledColor",Fa(()=>I.getContrastText(I.error.main))),se(I.Alert,"infoFilledColor",Fa(()=>I.getContrastText(I.info.main))),se(I.Alert,"successFilledColor",Fa(()=>I.getContrastText(I.success.main))),se(I.Alert,"warningFilledColor",Fa(()=>I.getContrastText(I.warning.main))),se(I.Alert,"errorStandardBg",ir(I.error.light,.9)),se(I.Alert,"infoStandardBg",ir(I.info.light,.9)),se(I.Alert,"successStandardBg",ir(I.success.light,.9)),se(I.Alert,"warningStandardBg",ir(I.warning.light,.9)),se(I.Alert,"errorIconColor",z("palette-error-main")),se(I.Alert,"infoIconColor",z("palette-info-main")),se(I.Alert,"successIconColor",z("palette-success-main")),se(I.Alert,"warningIconColor",z("palette-warning-main")),se(I.AppBar,"defaultBg",z("palette-grey-100")),se(I.Avatar,"defaultBg",z("palette-grey-400")),se(I.Button,"inheritContainedBg",z("palette-grey-300")),se(I.Button,"inheritContainedHoverBg",z("palette-grey-A100")),se(I.Chip,"defaultBorder",z("palette-grey-400")),se(I.Chip,"defaultAvatarColor",z("palette-grey-700")),se(I.Chip,"defaultIconColor",z("palette-grey-700")),se(I.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),se(I.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),se(I.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),se(I.LinearProgress,"primaryBg",ir(I.primary.main,.62)),se(I.LinearProgress,"secondaryBg",ir(I.secondary.main,.62)),se(I.LinearProgress,"errorBg",ir(I.error.main,.62)),se(I.LinearProgress,"infoBg",ir(I.info.main,.62)),se(I.LinearProgress,"successBg",ir(I.success.main,.62)),se(I.LinearProgress,"warningBg",ir(I.warning.main,.62)),se(I.Skeleton,"bg",`rgba(${z("palette-text-primaryChannel")} / 0.11)`),se(I.Slider,"primaryTrack",ir(I.primary.main,.62)),se(I.Slider,"secondaryTrack",ir(I.secondary.main,.62)),se(I.Slider,"errorTrack",ir(I.error.main,.62)),se(I.Slider,"infoTrack",ir(I.info.main,.62)),se(I.Slider,"successTrack",ir(I.success.main,.62)),se(I.Slider,"warningTrack",ir(I.warning.main,.62));const W=rg(I.background.default,.8);se(I.SnackbarContent,"bg",W),se(I.SnackbarContent,"color",Fa(()=>I.getContrastText(W))),se(I.SpeedDialAction,"fabHoverBg",rg(I.background.paper,.15)),se(I.StepConnector,"border",z("palette-grey-400")),se(I.StepContent,"border",z("palette-grey-400")),se(I.Switch,"defaultColor",z("palette-common-white")),se(I.Switch,"defaultDisabledColor",z("palette-grey-100")),se(I.Switch,"primaryDisabledColor",ir(I.primary.main,.62)),se(I.Switch,"secondaryDisabledColor",ir(I.secondary.main,.62)),se(I.Switch,"errorDisabledColor",ir(I.error.main,.62)),se(I.Switch,"infoDisabledColor",ir(I.info.main,.62)),se(I.Switch,"successDisabledColor",ir(I.success.main,.62)),se(I.Switch,"warningDisabledColor",ir(I.warning.main,.62)),se(I.TableCell,"border",ir(tg(I.divider,1),.88)),se(I.Tooltip,"bg",tg(I.grey[700],.92))}if(I.mode==="dark"){se(I.Alert,"errorColor",ir(I.error.light,.6)),se(I.Alert,"infoColor",ir(I.info.light,.6)),se(I.Alert,"successColor",ir(I.success.light,.6)),se(I.Alert,"warningColor",ir(I.warning.light,.6)),se(I.Alert,"errorFilledBg",z("palette-error-dark")),se(I.Alert,"infoFilledBg",z("palette-info-dark")),se(I.Alert,"successFilledBg",z("palette-success-dark")),se(I.Alert,"warningFilledBg",z("palette-warning-dark")),se(I.Alert,"errorFilledColor",Fa(()=>I.getContrastText(I.error.dark))),se(I.Alert,"infoFilledColor",Fa(()=>I.getContrastText(I.info.dark))),se(I.Alert,"successFilledColor",Fa(()=>I.getContrastText(I.success.dark))),se(I.Alert,"warningFilledColor",Fa(()=>I.getContrastText(I.warning.dark))),se(I.Alert,"errorStandardBg",ar(I.error.light,.9)),se(I.Alert,"infoStandardBg",ar(I.info.light,.9)),se(I.Alert,"successStandardBg",ar(I.success.light,.9)),se(I.Alert,"warningStandardBg",ar(I.warning.light,.9)),se(I.Alert,"errorIconColor",z("palette-error-main")),se(I.Alert,"infoIconColor",z("palette-info-main")),se(I.Alert,"successIconColor",z("palette-success-main")),se(I.Alert,"warningIconColor",z("palette-warning-main")),se(I.AppBar,"defaultBg",z("palette-grey-900")),se(I.AppBar,"darkBg",z("palette-background-paper")),se(I.AppBar,"darkColor",z("palette-text-primary")),se(I.Avatar,"defaultBg",z("palette-grey-600")),se(I.Button,"inheritContainedBg",z("palette-grey-800")),se(I.Button,"inheritContainedHoverBg",z("palette-grey-700")),se(I.Chip,"defaultBorder",z("palette-grey-700")),se(I.Chip,"defaultAvatarColor",z("palette-grey-300")),se(I.Chip,"defaultIconColor",z("palette-grey-300")),se(I.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),se(I.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),se(I.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),se(I.LinearProgress,"primaryBg",ar(I.primary.main,.5)),se(I.LinearProgress,"secondaryBg",ar(I.secondary.main,.5)),se(I.LinearProgress,"errorBg",ar(I.error.main,.5)),se(I.LinearProgress,"infoBg",ar(I.info.main,.5)),se(I.LinearProgress,"successBg",ar(I.success.main,.5)),se(I.LinearProgress,"warningBg",ar(I.warning.main,.5)),se(I.Skeleton,"bg",`rgba(${z("palette-text-primaryChannel")} / 0.13)`),se(I.Slider,"primaryTrack",ar(I.primary.main,.5)),se(I.Slider,"secondaryTrack",ar(I.secondary.main,.5)),se(I.Slider,"errorTrack",ar(I.error.main,.5)),se(I.Slider,"infoTrack",ar(I.info.main,.5)),se(I.Slider,"successTrack",ar(I.success.main,.5)),se(I.Slider,"warningTrack",ar(I.warning.main,.5));const W=rg(I.background.default,.98);se(I.SnackbarContent,"bg",W),se(I.SnackbarContent,"color",Fa(()=>I.getContrastText(W))),se(I.SpeedDialAction,"fabHoverBg",rg(I.background.paper,.15)),se(I.StepConnector,"border",z("palette-grey-600")),se(I.StepContent,"border",z("palette-grey-600")),se(I.Switch,"defaultColor",z("palette-grey-300")),se(I.Switch,"defaultDisabledColor",z("palette-grey-600")),se(I.Switch,"primaryDisabledColor",ar(I.primary.main,.55)),se(I.Switch,"secondaryDisabledColor",ar(I.secondary.main,.55)),se(I.Switch,"errorDisabledColor",ar(I.error.main,.55)),se(I.Switch,"infoDisabledColor",ar(I.info.main,.55)),se(I.Switch,"successDisabledColor",ar(I.success.main,.55)),se(I.Switch,"warningDisabledColor",ar(I.warning.main,.55)),se(I.TableCell,"border",ar(tg(I.divider,1),.68)),se(I.Tooltip,"bg",tg(I.grey[700],.92))}wi(I.background,"default"),wi(I.background,"paper"),wi(I.common,"background"),wi(I.common,"onBackground"),wi(I,"divider"),Object.keys(I).forEach(W=>{const L=I[W];W!=="tonalOffset"&&L&&typeof L=="object"&&(L.main&&se(I[W],"mainChannel",th(rh(L.main))),L.light&&se(I[W],"lightChannel",th(rh(L.light))),L.dark&&se(I[W],"darkChannel",th(rh(L.dark))),L.contrastText&&se(I[W],"contrastTextChannel",th(rh(L.contrastText))),W==="text"&&(wi(I[W],"primary"),wi(I[W],"secondary")),W==="action"&&(L.active&&wi(I[W],"active"),L.selected&&wi(I[W],"selected")))})}),$=e.reduce((j,I)=>On(j,I),$);const k={prefix:a,disableCssColorScheme:o,shouldSkipGeneratingVar:i,getSelector:OQ($)},{vars:O,generateThemeVars:M,generateStyleSheets:R}=WZ($,k);return $.vars=O,Object.entries($.colorSchemes[$.defaultColorScheme]).forEach(([j,I])=>{$[j]=I}),$.generateThemeVars=M,$.generateStyleSheets=R,$.generateSpacing=function(){return Q9(d.spacing,_T(this))},$.getColorSchemeSelector=HZ(s),$.spacing=$.generateSpacing(),$.shouldSkipGeneratingVar=i,$.unstable_sxConfig={...$f,...d==null?void 0:d.unstable_sxConfig},$.unstable_sx=function(I){return Is({sx:I,theme:this})},$.toRuntimeSource=x7,$}function sN(t,e,r){t.colorSchemes&&r&&(t.colorSchemes[e]={...r!==!0&&r,palette:kT({...r===!0?{}:r.palette,mode:e})})}function Xh(t={},...e){const{palette:r,cssVariables:n=!1,colorSchemes:o=r?void 0:{light:!0},defaultColorScheme:a=r==null?void 0:r.mode,...i}=t,s=a||"light",l=o==null?void 0:o[s],d={...o,...r?{[s]:{...typeof l!="boolean"&&l,palette:r}}:void 0};if(n===!1){if(!("colorSchemes"in t))return gE(t,...e);let h=r;"palette"in t||d[s]&&(d[s]!==!0?h=d[s].palette:s==="dark"&&(h={mode:"dark"}));const u=gE({...t,palette:h},...e);return u.defaultColorScheme=s,u.colorSchemes=d,u.palette.mode==="light"&&(u.colorSchemes.light={...d.light!==!0&&d.light,palette:u.palette},sN(u,"dark",d.dark)),u.palette.mode==="dark"&&(u.colorSchemes.dark={...d.dark!==!0&&d.dark,palette:u.palette},sN(u,"light",d.light)),u}return!r&&!("light"in d)&&s==="light"&&(d.light=!0),MQ({...i,colorSchemes:d,defaultColorScheme:s,...typeof n!="boolean"&&n},...e)}const ET=Xh();function ai(){const t=kf(ET);return t[Ca]||t}function $y(t){return t!=="ownerState"&&t!=="theme"&&t!=="sx"&&t!=="as"}const on=t=>$y(t)&&t!=="classes",de=o7({themeId:Ca,defaultTheme:ET,rootShouldForwardProp:on});function lN({theme:t,...e}){const r=Ca in t?t[Ca]:void 0;return w.jsx(v7,{...e,themeId:r?Ca:void 0,theme:r||t})}const ng={attribute:"data-mui-color-scheme",colorSchemeStorageKey:"mui-color-scheme",defaultLightColorScheme:"light",defaultDarkColorScheme:"dark",modeStorageKey:"mui-mode"},{CssVarsProvider:PQ,useColorScheme:Tnr,getInitColorSchemeScript:Onr}=LZ({themeId:Ca,theme:()=>Xh({cssVariables:!0}),colorSchemeStorageKey:ng.colorSchemeStorageKey,modeStorageKey:ng.modeStorageKey,defaultColorScheme:{light:ng.defaultLightColorScheme,dark:ng.defaultDarkColorScheme},resolveTheme:t=>{const e={...t,typography:w7(t.palette,t.typography)};return e.unstable_sx=function(n){return Is({sx:n,theme:this})},e}}),NQ=PQ;function yE({theme:t,...e}){return typeof t=="function"?w.jsx(lN,{theme:t,...e}):"colorSchemes"in(Ca in t?t[Ca]:t)?w.jsx(NQ,{theme:t,...e}):w.jsx(lN,{theme:t,...e})}function _E(t,e){return _E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},_E(t,e)}function ky(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,_E(t,e)}function De(){return De=Object.assign?Object.assign.bind():function(t){for(var e=1;e"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Qn(1));return r(TT)(t,e)}if(typeof t!="function")throw new Error(Qn(2));var o=t,a=e,i=[],s=i,l=!1;function d(){s===i&&(s=i.slice())}function h(){if(l)throw new Error(Qn(3));return a}function u(b){if(typeof b!="function")throw new Error(Qn(4));if(l)throw new Error(Qn(5));var x=!0;return d(),s.push(b),function(){if(x){if(l)throw new Error(Qn(6));x=!1,d();var T=s.indexOf(b);s.splice(T,1),i=null}}}function f(b){if(!jQ(b))throw new Error(Qn(7));if(typeof b.type>"u")throw new Error(Qn(8));if(l)throw new Error(Qn(9));try{l=!0,a=o(a,b)}finally{l=!1}for(var x=i=s,S=0;SHy(r,e))}function hme(t,e){if(t.type!=="transaction"||!e||!e.length)return!1;const r=t.transaction;return r?Hy(r,e):!1}function fme(t,e){if(!e||!e.length)return!1;const r=Pv(t);return r?Hy(r,e):!1}function mme(t,e){if(!e||!e.length)return!0;const r=Pv(t);return r?Hy(r,e):!0}function gme(t){const e=[];t.message&&e.push(t.message);let r;try{r=t.exception.values[t.exception.values.length-1]}catch{}return r&&r.value&&(e.push(r.value),r.type&&e.push(`${r.type}: ${r.value}`)),e}function vme(t){try{return t.exception.values[0].type==="SentryError"}catch{}return!1}function yme(t=[]){for(let e=t.length-1;e>=0;e--){const r=t[e];if(r&&r.filename!==""&&r.filename!=="[native code]")return r.filename||null}return null}function Pv(t){try{let e;try{e=t.exception.values[0].stacktrace.frames}catch{}return e?yme(e):null}catch{return lr&&$t.error(`Cannot extract url for event ${vs(t)}`),null}}function _me(t){return t.type||!t.exception||!t.exception.values||t.exception.values.length===0?!1:!t.message&&!t.exception.values.some(e=>e.stacktrace||e.type&&e.type!=="Error"||e.value)}function bme(t,e,r=250,n,o,a,i){if(!a.exception||!a.exception.values||!i||!Pl(i.originalException,Error))return;const s=a.exception.values.length>0?a.exception.values[a.exception.values.length-1]:void 0;s&&(a.exception.values=wme(ZE(t,e,o,i.originalException,n,a.exception.values,s,0),r))}function ZE(t,e,r,n,o,a,i,s){if(a.length>=r+1)return a;let l=[...a];if(Pl(n[o],Error)){D5(i,s);const d=t(e,n[o]),h=l.length;A5(d,o,h,s),l=ZE(t,e,r,n[o],o,[d,...l],d,h)}return Array.isArray(n.errors)&&n.errors.forEach((d,h)=>{if(Pl(d,Error)){D5(i,s);const u=t(e,d),f=l.length;A5(u,`errors[${h}]`,f,s),l=ZE(t,e,r,d,o,[u,...l],u,f)}}),l}function D5(t,e){t.mechanism=t.mechanism||{type:"generic",handled:!0},t.mechanism={...t.mechanism,...t.type==="AggregateError"&&{is_exception_group:!0},exception_id:e}}function A5(t,e,r,n){t.mechanism=t.mechanism||{type:"generic",handled:!0},t.mechanism={...t.mechanism,type:"chained",source:e,exception_id:r,parent_id:n}}function wme(t,e){return t.map(r=>(r.value&&(r.value=tu(r.value,e)),r))}function s1(t){if(!t)return{};const e=t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const r=e[6]||"",n=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:r,hash:n,relative:e[5]+r+n}}function xme(t){const e="console";Gl(e,t),Xl(e,Sme)}function Sme(){"console"in Yt&&UE.forEach(function(t){t in Yt.console&&Co(Yt.console,t,function(e){return Iv[t]=e,function(...r){ka("console",{args:r,level:t});const o=Iv[t];o&&o.apply(Yt.console,r)}})})}function Cme(t){return t==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(t)?t:"log"}const $me="Dedupe",kme=()=>{let t;return{name:$me,processEvent(e){if(e.type)return e;try{if(Eme(e,t))return lr&&$t.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return t=e}}},NH=kme;function Eme(t,e){return e?!!(Tme(t,e)||Ome(t,e)):!1}function Tme(t,e){const r=t.message,n=e.message;return!(!r&&!n||r&&!n||!r&&n||r!==n||!jH(t,e)||!RH(t,e))}function Ome(t,e){const r=I5(e),n=I5(t);return!(!r||!n||r.type!==n.type||r.value!==n.value||!jH(t,e)||!RH(t,e))}function RH(t,e){let r=n5(t),n=n5(e);if(!r&&!n)return!0;if(r&&!n||!r&&n||(r=r,n=n,n.length!==r.length))return!1;for(let o=0;o=400&&t<500?"warning":t>=500?"error":void 0}const QE=Yt;function zH(){if(!("fetch"in QE))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function e2(t){return t&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}function Dme(){if(typeof EdgeRuntime=="string")return!0;if(!zH())return!1;if(e2(QE.fetch))return!0;let t=!1;const e=QE.document;if(e&&typeof e.createElement=="function")try{const r=e.createElement("iframe");r.hidden=!0,e.head.appendChild(r),r.contentWindow&&r.contentWindow.fetch&&(t=e2(r.contentWindow.fetch)),e.head.removeChild(r)}catch(r){Vl&&$t.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return t}function Ame(t,e){const r="fetch";Gl(r,t),Xl(r,()=>Ime(void 0,e))}function Ime(t,e=!1){e&&!Dme()||Co(Yt,"fetch",function(r){return function(...n){const o=new Error,{method:a,url:i}=Mme(n),s={args:n,fetchData:{method:a,url:i},startTimestamp:Pi()*1e3,virtualError:o};return ka("fetch",{...s}),r.apply(Yt,n).then(async l=>(ka("fetch",{...s,endTimestamp:Pi()*1e3,response:l}),l),l=>{throw ka("fetch",{...s,endTimestamp:Pi()*1e3,error:l}),_O(l)&&l.stack===void 0&&(l.stack=o.stack,Nl(l,"framesToPop",1)),l})}})}function t2(t,e){return!!t&&typeof t=="object"&&!!t[e]}function M5(t){return typeof t=="string"?t:t?t2(t,"url")?t.url:t.toString?t.toString():"":""}function Mme(t){if(t.length===0)return{method:"GET",url:""};if(t.length===2){const[r,n]=t;return{url:M5(r),method:t2(n,"method")?String(n.method).toUpperCase():"GET"}}const e=t[0];return{url:M5(e),method:t2(e,"method")?String(e.method).toUpperCase():"GET"}}function Pme(){return"npm"}const Sg=Yt;function Nme(){const t=Sg.chrome,e=t&&t.app&&t.app.runtime,r="history"in Sg&&!!Sg.history.pushState&&!!Sg.history.replaceState;return!e&&r}const cr=Yt;let r2=0;function FH(){return r2>0}function Rme(){r2++,setTimeout(()=>{r2--})}function Su(t,e={}){function r(o){return typeof o=="function"}if(!r(t))return t;try{const o=t.__sentry_wrapped__;if(o)return typeof o=="function"?o:t;if(SO(t))return t}catch{return t}const n=function(...o){try{const a=o.map(i=>Su(i,e));return t.apply(this,a)}catch(a){throw Rme(),khe(i=>{i.addEventProcessor(s=>(e.mechanism&&(qE(s,void 0),bu(s,e.mechanism)),s.extra={...s.extra,arguments:o},s)),Ife(a)}),a}};try{for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o])}catch{}bH(n,t),Nl(t,"__sentry_wrapped__",n);try{Object.getOwnPropertyDescriptor(n,"name").configurable&&Object.defineProperty(n,"name",{get(){return t.name}})}catch{}return n}const Pf=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function TO(t,e){const r=OO(t,e),n={type:Bme(e),value:Wme(e)};return r.length&&(n.stacktrace={frames:r}),n.type===void 0&&n.value===""&&(n.value="Unrecoverable error caught"),n}function jme(t,e,r,n){const o=Dn(),a=o&&o.getOptions().normalizeDepth,i=Gme(e),s={__serialized__:EH(e,a)};if(i)return{exception:{values:[TO(t,i)]},extra:s};const l={exception:{values:[{type:By(e)?e.constructor.name:n?"UnhandledRejection":"Error",value:Vme(e,{isUnhandledRejection:n})}]},extra:s};if(r){const d=OO(t,r);d.length&&(l.exception.values[0].stacktrace={frames:d})}return l}function l1(t,e){return{exception:{values:[TO(t,e)]}}}function OO(t,e){const r=e.stacktrace||e.stack||"",n=zme(e),o=Fme(e);try{return t(r,n,o)}catch{}return[]}const Lme=/Minified React error #\d+;/i;function zme(t){return t&&Lme.test(t.message)?1:0}function Fme(t){return typeof t.framesToPop=="number"?t.framesToPop:0}function BH(t){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?t instanceof WebAssembly.Exception:!1}function Bme(t){const e=t&&t.name;return!e&&BH(t)?t.message&&Array.isArray(t.message)&&t.message.length==2?t.message[0]:"WebAssembly.Exception":e}function Wme(t){const e=t&&t.message;return e?e.error&&typeof e.error.message=="string"?e.error.message:BH(t)&&Array.isArray(t.message)&&t.message.length==2?t.message[1]:e:"No error message"}function Hme(t,e,r,n){const o=r&&r.syntheticException||void 0,a=DO(t,e,o,n);return bu(a),a.level="error",r&&r.event_id&&(a.event_id=r.event_id),Rl(a)}function Ume(t,e,r="info",n,o){const a=n&&n.syntheticException||void 0,i=n2(t,e,a,o);return i.level=r,n&&n.event_id&&(i.event_id=n.event_id),Rl(i)}function DO(t,e,r,n,o){let a;if(vH(e)&&e.error)return l1(t,e.error);if(a5(e)||rhe(e)){const i=e;if("stack"in e)a=l1(t,e);else{const s=i.name||(a5(i)?"DOMError":"DOMException"),l=i.message?`${s}: ${i.message}`:s;a=n2(t,l,r,n),qE(a,l)}return"code"in i&&(a.tags={...a.tags,"DOMException.code":`${i.code}`}),a}return _O(e)?l1(t,e):_u(e)||By(e)?(a=jme(t,e,r,o),bu(a,{synthetic:!0}),a):(a=n2(t,e,r,n),qE(a,`${e}`),bu(a,{synthetic:!0}),a)}function n2(t,e,r,n){const o={};if(n&&r){const a=OO(t,r);a.length&&(o.exception={values:[{value:e,stacktrace:{frames:a}}]}),bu(o,{synthetic:!0})}if(bO(e)){const{__sentry_template_string__:a,__sentry_template_values__:i}=e;return o.logentry={message:a,params:i},o}return o.message=e,o}function Vme(t,{isUnhandledRejection:e}){const r=uhe(t),n=e?"promise rejection":"exception";return vH(t)?`Event \`ErrorEvent\` captured as ${n} with message \`${t.message}\``:By(t)?`Event \`${qme(t)}\` (type=${t.type}) captured as ${n}`:`Object captured as ${n} with keys: ${r}`}function qme(t){try{const e=Object.getPrototypeOf(t);return e?e.constructor.name:void 0}catch{}}function Gme(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const r=t[e];if(r instanceof Error)return r}}function Xme(t,{metadata:e,tunnel:r,dsn:n}){const o={event_id:t.event_id,sent_at:new Date().toISOString(),...e&&e.sdk&&{sdk:{name:e.sdk.name,version:e.sdk.version}},...!!r&&!!n&&{dsn:Vy(n)}},a=Jme(t);return Mf(o,[a])}function Jme(t){return[{type:"user_report"},t]}class Yme extends Wfe{constructor(e){const r={parentSpanIsAlwaysRootSpan:!0,...e},n=cr.SENTRY_SDK_SOURCE||Pme();tme(r,"browser",["browser"],n),super(r),r.sendClientReports&&cr.document&&cr.document.addEventListener("visibilitychange",()=>{cr.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(e,r){return Hme(this._options.stackParser,e,r,this._options.attachStacktrace)}eventFromMessage(e,r="info",n){return Ume(this._options.stackParser,e,r,n,this._options.attachStacktrace)}captureUserFeedback(e){if(!this._isEnabled()){Pf&&$t.warn("SDK not enabled, will not capture user feedback.");return}const r=Xme(e,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(r)}_prepareEvent(e,r,n){return e.platform=e.platform||"javascript",super._prepareEvent(e,r,n)}}const Kme=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Fn=Yt,Zme=1e3;let P5,o2,a2;function Qme(t){const e="dom";Gl(e,t),Xl(e,ege)}function ege(){if(!Fn.document)return;const t=ka.bind(null,"dom"),e=N5(t,!0);Fn.document.addEventListener("click",e,!1),Fn.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(r=>{const o=Fn[r],a=o&&o.prototype;!a||!a.hasOwnProperty||!a.hasOwnProperty("addEventListener")||(Co(a,"addEventListener",function(i){return function(s,l,d){if(s==="click"||s=="keypress")try{const h=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},u=h[s]=h[s]||{refCount:0};if(!u.handler){const f=N5(t);u.handler=f,i.call(this,s,f,d)}u.refCount++}catch{}return i.call(this,s,l,d)}}),Co(a,"removeEventListener",function(i){return function(s,l,d){if(s==="click"||s=="keypress")try{const h=this.__sentry_instrumentation_handlers__||{},u=h[s];u&&(u.refCount--,u.refCount<=0&&(i.call(this,s,u.handler,d),u.handler=void 0,delete h[s]),Object.keys(h).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return i.call(this,s,l,d)}}))})}function tge(t){if(t.type!==o2)return!1;try{if(!t.target||t.target._sentryId!==a2)return!1}catch{}return!0}function rge(t,e){return t!=="keypress"?!1:!e||!e.tagName?!0:!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable)}function N5(t,e=!1){return r=>{if(!r||r._sentryCaptured)return;const n=nge(r);if(rge(r.type,n))return;Nl(r,"_sentryCaptured",!0),n&&!n._sentryId&&Nl(n,"_sentryId",Qo());const o=r.type==="keypress"?"input":r.type;tge(r)||(t({event:r,name:o,global:e}),o2=r.type,a2=n?n._sentryId:void 0),clearTimeout(P5),P5=Fn.setTimeout(()=>{a2=void 0,o2=void 0},Zme)}}function nge(t){try{return t.target}catch{return null}}let Cg;function WH(t){const e="history";Gl(e,t),Xl(e,oge)}function oge(){if(!Nme())return;const t=Fn.onpopstate;Fn.onpopstate=function(...r){const n=Fn.location.href,o=Cg;if(Cg=n,ka("history",{from:o,to:n}),t)try{return t.apply(this,r)}catch{}};function e(r){return function(...n){const o=n.length>2?n[2]:void 0;if(o){const a=Cg,i=String(o);Cg=i,ka("history",{from:a,to:i})}return r.apply(this,n)}}Co(Fn.history,"pushState",e),Co(Fn.history,"replaceState",e)}const tv={};function age(t){const e=tv[t];if(e)return e;let r=Fn[t];if(e2(r))return tv[t]=r.bind(Fn);const n=Fn.document;if(n&&typeof n.createElement=="function")try{const o=n.createElement("iframe");o.hidden=!0,n.head.appendChild(o);const a=o.contentWindow;a&&a[t]&&(r=a[t]),n.head.removeChild(o)}catch(o){Kme&&$t.warn(`Could not create sandbox iframe for ${t} check, bailing to window.${t}: `,o)}return r&&(tv[t]=r.bind(Fn))}function R5(t){tv[t]=void 0}const lh="__sentry_xhr_v3__";function ige(t){const e="xhr";Gl(e,t),Xl(e,sge)}function sge(){if(!Fn.XMLHttpRequest)return;const t=XMLHttpRequest.prototype;t.open=new Proxy(t.open,{apply(e,r,n){const o=new Error,a=Pi()*1e3,i=Mi(n[0])?n[0].toUpperCase():void 0,s=lge(n[1]);if(!i||!s)return e.apply(r,n);r[lh]={method:i,url:s,request_headers:{}},i==="POST"&&s.match(/sentry_key/)&&(r.__sentry_own_request__=!0);const l=()=>{const d=r[lh];if(d&&r.readyState===4){try{d.status_code=r.status}catch{}const h={endTimestamp:Pi()*1e3,startTimestamp:a,xhr:r,virtualError:o};ka("xhr",h)}};return"onreadystatechange"in r&&typeof r.onreadystatechange=="function"?r.onreadystatechange=new Proxy(r.onreadystatechange,{apply(d,h,u){return l(),d.apply(h,u)}}):r.addEventListener("readystatechange",l),r.setRequestHeader=new Proxy(r.setRequestHeader,{apply(d,h,u){const[f,g]=u,y=h[lh];return y&&Mi(f)&&Mi(g)&&(y.request_headers[f.toLowerCase()]=g),d.apply(h,u)}}),e.apply(r,n)}}),t.send=new Proxy(t.send,{apply(e,r,n){const o=r[lh];if(!o)return e.apply(r,n);n[0]!==void 0&&(o.body=n[0]);const a={startTimestamp:Pi()*1e3,xhr:r};return ka("xhr",a),e.apply(r,n)}})}function lge(t){if(Mi(t))return t;try{return t.toString()}catch{}}function cge(t,e=age("fetch")){let r=0,n=0;function o(a){const i=a.body.length;r+=i,n++;const s={body:a.body,method:"POST",referrerPolicy:"origin",headers:t.headers,keepalive:r<=6e4&&n<15,...t.fetchOptions};if(!e)return R5("fetch"),Mv("No fetch implementation available");try{return e(t.url,s).then(l=>(r-=i,n--,{statusCode:l.status,headers:{"x-sentry-rate-limits":l.headers.get("X-Sentry-Rate-Limits"),"retry-after":l.headers.get("Retry-After")}}))}catch(l){return R5("fetch"),r-=i,n--,Mv(l)}}return eme(t,o)}const dge=30,uge=50;function i2(t,e,r,n){const o={filename:t,function:e===""?Ml:e,in_app:!0};return r!==void 0&&(o.lineno=r),n!==void 0&&(o.colno=n),o}const pge=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,hge=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,fge=/\((\S*)(?::(\d+))(?::(\d+))\)/,mge=t=>{const e=pge.exec(t);if(e){const[,n,o,a]=e;return i2(n,Ml,+o,+a)}const r=hge.exec(t);if(r){if(r[2]&&r[2].indexOf("eval")===0){const i=fge.exec(r[2]);i&&(r[2]=i[1],r[3]=i[2],r[4]=i[3])}const[o,a]=HH(r[1]||Ml,r[2]);return i2(a,o,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},gge=[dge,mge],vge=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,yge=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,_ge=t=>{const e=vge.exec(t);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const a=yge.exec(e[3]);a&&(e[1]=e[1]||"eval",e[3]=a[1],e[4]=a[2],e[5]="")}let n=e[3],o=e[1]||Ml;return[o,n]=HH(o,n),i2(n,o,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},bge=[uge,_ge],wge=[gge,bge],xge=mH(...wge),HH=(t,e)=>{const r=t.indexOf("safari-extension")!==-1,n=t.indexOf("safari-web-extension")!==-1;return r||n?[t.indexOf("@")!==-1?t.split("@")[0]:Ml,r?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]},$g=1024,Sge="Breadcrumbs",Cge=(t={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...t};return{name:Sge,setup(r){e.console&&xme(Tge(r)),e.dom&&Qme(Ege(r,e.dom)),e.xhr&&ige(Oge(r)),e.fetch&&Ame(Dge(r)),e.history&&WH(Age(r)),e.sentry&&r.on("beforeSendEvent",kge(r))}}},$ge=Cge;function kge(t){return function(r){Dn()===t&&Ll({category:`sentry.${r.type==="transaction"?"transaction":"event"}`,event_id:r.event_id,level:r.level,message:vs(r)},{event:r})}}function Ege(t,e){return function(n){if(Dn()!==t)return;let o,a,i=typeof e=="object"?e.serializeAttribute:void 0,s=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;s&&s>$g&&(Pf&&$t.warn(`\`dom.maxStringLength\` cannot exceed ${$g}, but a value of ${s} was configured. Sentry will use ${$g} instead.`),s=$g),typeof i=="string"&&(i=[i]);try{const d=n.event,h=Ige(d)?d.target:d;o=_H(h,{keyAttrs:i,maxStringLength:s}),a=che(h)}catch{o=""}if(o.length===0)return;const l={category:`ui.${n.name}`,message:o};a&&(l.data={"ui.component_name":a}),Ll(l,{event:n.event,name:n.name,global:n.global})}}function Tge(t){return function(r){if(Dn()!==t)return;const n={category:"console",data:{arguments:r.args,logger:"console"},level:Cme(r.level),message:i5(r.args," ")};if(r.level==="assert")if(r.args[0]===!1)n.message=`Assertion failed: ${i5(r.args.slice(1)," ")||"console.assert"}`,n.data.arguments=r.args.slice(1);else return;Ll(n,{input:r.args,level:r.level})}}function Oge(t){return function(r){if(Dn()!==t)return;const{startTimestamp:n,endTimestamp:o}=r,a=r.xhr[lh];if(!n||!o||!a)return;const{method:i,url:s,status_code:l,body:d}=a,h={method:i,url:s,status_code:l},u={xhr:r.xhr,input:d,startTimestamp:n,endTimestamp:o},f=LH(l);Ll({category:"xhr",data:h,type:"http",level:f},u)}}function Dge(t){return function(r){if(Dn()!==t)return;const{startTimestamp:n,endTimestamp:o}=r;if(o&&!(r.fetchData.url.match(/sentry_key/)&&r.fetchData.method==="POST"))if(r.error){const a=r.fetchData,i={data:r.error,input:r.args,startTimestamp:n,endTimestamp:o};Ll({category:"fetch",data:a,level:"error",type:"http"},i)}else{const a=r.response,i={...r.fetchData,status_code:a&&a.status},s={input:r.args,response:a,startTimestamp:n,endTimestamp:o},l=LH(i.status_code);Ll({category:"fetch",data:i,type:"http",level:l},s)}}}function Age(t){return function(r){if(Dn()!==t)return;let n=r.from,o=r.to;const a=s1(cr.location.href);let i=n?s1(n):void 0;const s=s1(o);(!i||!i.path)&&(i=a),a.protocol===s.protocol&&a.host===s.host&&(o=s.relative),a.protocol===i.protocol&&a.host===i.host&&(n=i.relative),Ll({category:"navigation",data:{from:n,to:o}})}}function Ige(t){return!!t&&!!t.target}const Mge=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Pge="BrowserApiErrors",Nge=(t={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...t};return{name:Pge,setupOnce(){e.setTimeout&&Co(cr,"setTimeout",j5),e.setInterval&&Co(cr,"setInterval",j5),e.requestAnimationFrame&&Co(cr,"requestAnimationFrame",jge),e.XMLHttpRequest&&"XMLHttpRequest"in cr&&Co(XMLHttpRequest.prototype,"send",Lge);const r=e.eventTarget;r&&(Array.isArray(r)?r:Mge).forEach(zge)}}},Rge=Nge;function j5(t){return function(...e){const r=e[0];return e[0]=Su(r,{mechanism:{data:{function:Ns(t)},handled:!1,type:"instrument"}}),t.apply(this,e)}}function jge(t){return function(e){return t.apply(this,[Su(e,{mechanism:{data:{function:"requestAnimationFrame",handler:Ns(t)},handled:!1,type:"instrument"}})])}}function Lge(t){return function(...e){const r=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(o=>{o in r&&typeof r[o]=="function"&&Co(r,o,function(a){const i={mechanism:{data:{function:o,handler:Ns(a)},handled:!1,type:"instrument"}},s=SO(a);return s&&(i.mechanism.data.handler=Ns(s)),Su(a,i)})}),t.apply(this,e)}}function zge(t){const r=cr[t],n=r&&r.prototype;!n||!n.hasOwnProperty||!n.hasOwnProperty("addEventListener")||(Co(n,"addEventListener",function(o){return function(a,i,s){try{Fge(i)&&(i.handleEvent=Su(i.handleEvent,{mechanism:{data:{function:"handleEvent",handler:Ns(i),target:t},handled:!1,type:"instrument"}}))}catch{}return o.apply(this,[a,Su(i,{mechanism:{data:{function:"addEventListener",handler:Ns(i),target:t},handled:!1,type:"instrument"}}),s])}}),Co(n,"removeEventListener",function(o){return function(a,i,s){try{const l=i.__sentry_wrapped__;l&&o.call(this,a,l,s)}catch{}return o.call(this,a,i,s)}}))}function Fge(t){return typeof t.handleEvent=="function"}const Bge=()=>({name:"BrowserSession",setupOnce(){if(typeof cr.document>"u"){Pf&&$t.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}x5({ignoreDuration:!0}),S5(),WH(({from:t,to:e})=>{t!==void 0&&t!==e&&(x5({ignoreDuration:!0}),S5())})}}),Wge="GlobalHandlers",Hge=(t={})=>{const e={onerror:!0,onunhandledrejection:!0,...t};return{name:Wge,setupOnce(){Error.stackTraceLimit=50},setup(r){e.onerror&&(Vge(r),L5("onerror")),e.onunhandledrejection&&(qge(r),L5("onunhandledrejection"))}}},Uge=Hge;function Vge(t){Zpe(e=>{const{stackParser:r,attachStacktrace:n}=UH();if(Dn()!==t||FH())return;const{msg:o,url:a,line:i,column:s,error:l}=e,d=Jge(DO(r,l||o,void 0,n,!1),a,i,s);d.level="error",OH(d,{originalException:l,mechanism:{handled:!1,type:"onerror"}})})}function qge(t){ehe(e=>{const{stackParser:r,attachStacktrace:n}=UH();if(Dn()!==t||FH())return;const o=Gge(e),a=wO(o)?Xge(o):DO(r,o,void 0,n,!0);a.level="error",OH(a,{originalException:o,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function Gge(t){if(wO(t))return t;try{if("reason"in t)return t.reason;if("detail"in t&&"reason"in t.detail)return t.detail.reason}catch{}return t}function Xge(t){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(t)}`}]}}}function Jge(t,e,r,n){const o=t.exception=t.exception||{},a=o.values=o.values||[],i=a[0]=a[0]||{},s=i.stacktrace=i.stacktrace||{},l=s.frames=s.frames||[],d=n,h=r,u=Mi(e)&&e.length>0?e:lhe();return l.length===0&&l.push({colno:d,filename:u,function:Ml,in_app:!0,lineno:h}),t}function L5(t){Pf&&$t.log(`Global Handler attached: ${t}`)}function UH(){const t=Dn();return t&&t.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}const Yge=()=>({name:"HttpContext",preprocessEvent(t){if(!cr.navigator&&!cr.location&&!cr.document)return;const e=t.request&&t.request.url||cr.location&&cr.location.href,{referrer:r}=cr.document||{},{userAgent:n}=cr.navigator||{},o={...t.request&&t.request.headers,...r&&{Referer:r},...n&&{"User-Agent":n}},a={...t.request,...e&&{url:e},headers:o};t.request=a}}),Kge="cause",Zge=5,Qge="LinkedErrors",eve=(t={})=>{const e=t.limit||Zge,r=t.key||Kge;return{name:Qge,preprocessEvent(n,o,a){const i=a.getOptions();bme(TO,i.stackParser,i.maxValueLength,r,e,n,o)}}},tve=eve;function rve(t){const e=[cme(),ame(),Rge(),$ge(),Uge(),tve(),NH(),Yge()];return t.autoSessionTracking!==!1&&e.push(Bge()),e}function nve(t={}){const e={defaultIntegrations:rve(t),release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:cr.SENTRY_RELEASE&&cr.SENTRY_RELEASE.id?cr.SENTRY_RELEASE.id:void 0,autoSessionTracking:!0,sendClientReports:!0};return t.defaultIntegrations==null&&delete t.defaultIntegrations,{...e,...t}}function ove(){const t=typeof cr.window<"u"&&cr;if(!t)return!1;const e=t.chrome?"chrome":"browser",r=t[e],n=r&&r.runtime&&r.runtime.id,o=cr.location&&cr.location.href||"",a=["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"],i=!!n&&cr===cr.top&&a.some(l=>o.startsWith(`${l}//`)),s=typeof t.nw<"u";return!!n&&!i&&!s}function ave(t={}){const e=nve(t);if(!e.skipBrowserExtensionCheck&&ove()){ql(()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")});return}Pf&&(zH()||$t.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill."));const r={...e,stackParser:Ype(e.stackParser||xge),integrations:zfe(e),transport:e.transport||cge};return Vfe(Yme,r)}const ive=Ge([w.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),w.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime"),Nv=Ge(w.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),sve=Ge(w.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),z5=Ge(w.jsx("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown"),lve=Ge(w.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),cve=Ge(w.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 11h-3v3.75c0 1.24-1.01 2.25-2.25 2.25S8.5 17.99 8.5 16.75s1.01-2.25 2.25-2.25c.46 0 .89.14 1.25.38V11h4zm-3-4V3.5L18.5 9z"}),"AudioFile"),dve=Ge([w.jsx("path",{d:"M16.5 12h-9c-.55 0-1 .45-1 1v1h11v-1c0-.55-.45-1-1-1M7.25 8.5h4v2h-4zm5.5 0h4v2h-4z"},"0"),w.jsx("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-1 15h-1.5v-1.5h-11V17H5v-3.83c0-.66.25-1.26.65-1.72V9c0-1.1.9-2 2-2H11c.37 0 .72.12 1 .32.28-.2.63-.32 1-.32h3.35c1.1 0 2 .9 2 2v2.45c.4.46.65 1.06.65 1.72z"},"1")],"BedroomParent"),uve=Ge(w.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2"}),"Bookmark"),pve=Ge(w.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"}),"BookmarkBorder"),hve=Ge(w.jsx("path",{d:"M22 24H2v-4h20zM13.06 5.19l3.75 3.75L7.75 18H4v-3.75zm4.82 2.68-3.75-3.75 1.83-1.83c.39-.39 1.02-.39 1.41 0l2.34 2.34c.39.39.39 1.02 0 1.41z"}),"BorderColor"),VH=Ge(w.jsx("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness6"),fve=Ge(w.jsx("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build"),mve=Ge(w.jsx("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday"),Nf=Ge(w.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel"),Ea=Ge(w.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),Ar=Ge(w.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),AO=Ge(w.jsx("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code"),gve=Ge(w.jsx("path",{d:"m13.7826 15.1719 2.1213-2.1213 5.9963 5.9962-2.1213 2.1213zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49c-1.17-1.17-3.07-1.17-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21"}),"Construction"),vve=Ge(w.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy"),qH=Ge(w.jsx("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z"}),"CreateNewFolder"),yve=Ge(w.jsx("path",{d:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject"),Ta=Ge(w.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),IO=Ge(w.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description"),rv=Ge(w.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit"),_ve=Ge(w.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error"),bve=Ge(w.jsx("path",{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3"}),"FindInPage"),wve=Ge(w.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen"),xve=Ge(w.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z"}),"FolderSpecial"),Sve=Ge(w.jsx("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-4.05 16.5-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13z"}),"FontDownload"),Cve=Ge(w.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),GH=Ge(w.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help"),$ve=Ge(w.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image"),kve=Ge(w.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),XH=Ge(w.jsx("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"}),"InsertDriveFile"),Eve=Ge(w.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),JH=Ge(w.jsx("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link"),Tve=Ge(w.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),Ove=Ge(w.jsx("path",{d:"M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"}),"ListAlt"),Dve=Ge(w.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-5 14h-2V9h-2V7h4z"}),"LooksOne"),Ave=Ge(w.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),Ive=Ge(w.jsx("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3z"}),"MusicNote"),YH=Ge(w.jsx("path",{d:"M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonOutlined"),Mve=Ge(w.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.89-2-2-2m0 16H5V7h14zm-5.5-6c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5.67-1.5 1.5-1.5 1.5.67 1.5 1.5M12 9c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5"}),"Preview"),Rv=Ge(w.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),MO=Ge(w.jsx("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh"),KH=Ge(w.jsx("path",{d:"m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7m-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1s1.8.3 2.5 1zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2M8 18H6v-2h2zm3.5 0h-2v-2h2zm3.5 0h-2v-2h2z"}),"Router"),s2=Ge(w.jsx("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save"),Pve=Ge(w.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),Nve=Ge(w.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search"),l2=Ge(w.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),F5=Ge(w.jsx("path",{d:"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69s.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69"}),"SettingsApplications"),Rve=Ge(w.jsx("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"}),"ShowChart"),jve=Ge(w.jsx("path",{d:"M14 17H4v2h10zm6-8H4v2h16zM4 15h16v-2H4zM4 5v2h16V5z"}),"Subject"),ZH=Ge(w.jsx("path",{d:"M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m3.61 6.34c1.07 0 1.93.86 1.93 1.93s-.86 1.93-1.93 1.93-1.93-.86-1.93-1.93c-.01-1.07.86-1.93 1.93-1.93m-6-1.58c1.3 0 2.36 1.06 2.36 2.36s-1.06 2.36-2.36 2.36-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36m0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68M11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09"}),"SupervisedUserCircle"),Lve=Ge(w.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),zve=Ge(w.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Fve=Ge(w.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),Bve=Ge(w.jsx("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam"),Wve=Ge(w.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),Hve=Ge(w.jsx("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule"),ch=Ge(w.jsx("path",{d:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi"),kg=Ge(w.jsx("path",{d:"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0"}),"WifiOff");function Uve(){console.log(` +Url: ${Pv(t)}`),!0)}function pme(t,e){return t.type||!e||!e.length?!1:gme(t).some(r=>Hy(r,e))}function hme(t,e){if(t.type!=="transaction"||!e||!e.length)return!1;const r=t.transaction;return r?Hy(r,e):!1}function fme(t,e){if(!e||!e.length)return!1;const r=Pv(t);return r?Hy(r,e):!1}function mme(t,e){if(!e||!e.length)return!0;const r=Pv(t);return r?Hy(r,e):!0}function gme(t){const e=[];t.message&&e.push(t.message);let r;try{r=t.exception.values[t.exception.values.length-1]}catch{}return r&&r.value&&(e.push(r.value),r.type&&e.push(`${r.type}: ${r.value}`)),e}function vme(t){try{return t.exception.values[0].type==="SentryError"}catch{}return!1}function yme(t=[]){for(let e=t.length-1;e>=0;e--){const r=t[e];if(r&&r.filename!==""&&r.filename!=="[native code]")return r.filename||null}return null}function Pv(t){try{let e;try{e=t.exception.values[0].stacktrace.frames}catch{}return e?yme(e):null}catch{return lr&&$t.error(`Cannot extract url for event ${vs(t)}`),null}}function _me(t){return t.type||!t.exception||!t.exception.values||t.exception.values.length===0?!1:!t.message&&!t.exception.values.some(e=>e.stacktrace||e.type&&e.type!=="Error"||e.value)}function bme(t,e,r=250,n,o,a,i){if(!a.exception||!a.exception.values||!i||!Pl(i.originalException,Error))return;const s=a.exception.values.length>0?a.exception.values[a.exception.values.length-1]:void 0;s&&(a.exception.values=wme(ZE(t,e,o,i.originalException,n,a.exception.values,s,0),r))}function ZE(t,e,r,n,o,a,i,s){if(a.length>=r+1)return a;let l=[...a];if(Pl(n[o],Error)){D5(i,s);const d=t(e,n[o]),h=l.length;A5(d,o,h,s),l=ZE(t,e,r,n[o],o,[d,...l],d,h)}return Array.isArray(n.errors)&&n.errors.forEach((d,h)=>{if(Pl(d,Error)){D5(i,s);const u=t(e,d),f=l.length;A5(u,`errors[${h}]`,f,s),l=ZE(t,e,r,d,o,[u,...l],u,f)}}),l}function D5(t,e){t.mechanism=t.mechanism||{type:"generic",handled:!0},t.mechanism={...t.mechanism,...t.type==="AggregateError"&&{is_exception_group:!0},exception_id:e}}function A5(t,e,r,n){t.mechanism=t.mechanism||{type:"generic",handled:!0},t.mechanism={...t.mechanism,type:"chained",source:e,exception_id:r,parent_id:n}}function wme(t,e){return t.map(r=>(r.value&&(r.value=tu(r.value,e)),r))}function s1(t){if(!t)return{};const e=t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const r=e[6]||"",n=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:r,hash:n,relative:e[5]+r+n}}function xme(t){const e="console";Gl(e,t),Xl(e,Sme)}function Sme(){"console"in Yt&&UE.forEach(function(t){t in Yt.console&&Co(Yt.console,t,function(e){return Iv[t]=e,function(...r){ka("console",{args:r,level:t});const o=Iv[t];o&&o.apply(Yt.console,r)}})})}function Cme(t){return t==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(t)?t:"log"}const $me="Dedupe",kme=()=>{let t;return{name:$me,processEvent(e){if(e.type)return e;try{if(Eme(e,t))return lr&&$t.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return t=e}}},NH=kme;function Eme(t,e){return e?!!(Tme(t,e)||Ome(t,e)):!1}function Tme(t,e){const r=t.message,n=e.message;return!(!r&&!n||r&&!n||!r&&n||r!==n||!jH(t,e)||!RH(t,e))}function Ome(t,e){const r=I5(e),n=I5(t);return!(!r||!n||r.type!==n.type||r.value!==n.value||!jH(t,e)||!RH(t,e))}function RH(t,e){let r=n5(t),n=n5(e);if(!r&&!n)return!0;if(r&&!n||!r&&n||(r=r,n=n,n.length!==r.length))return!1;for(let o=0;o=400&&t<500?"warning":t>=500?"error":void 0}const QE=Yt;function zH(){if(!("fetch"in QE))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function e2(t){return t&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}function Dme(){if(typeof EdgeRuntime=="string")return!0;if(!zH())return!1;if(e2(QE.fetch))return!0;let t=!1;const e=QE.document;if(e&&typeof e.createElement=="function")try{const r=e.createElement("iframe");r.hidden=!0,e.head.appendChild(r),r.contentWindow&&r.contentWindow.fetch&&(t=e2(r.contentWindow.fetch)),e.head.removeChild(r)}catch(r){Vl&&$t.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return t}function Ame(t,e){const r="fetch";Gl(r,t),Xl(r,()=>Ime(void 0,e))}function Ime(t,e=!1){e&&!Dme()||Co(Yt,"fetch",function(r){return function(...n){const o=new Error,{method:a,url:i}=Mme(n),s={args:n,fetchData:{method:a,url:i},startTimestamp:Pi()*1e3,virtualError:o};return ka("fetch",{...s}),r.apply(Yt,n).then(async l=>(ka("fetch",{...s,endTimestamp:Pi()*1e3,response:l}),l),l=>{throw ka("fetch",{...s,endTimestamp:Pi()*1e3,error:l}),_O(l)&&l.stack===void 0&&(l.stack=o.stack,Nl(l,"framesToPop",1)),l})}})}function t2(t,e){return!!t&&typeof t=="object"&&!!t[e]}function M5(t){return typeof t=="string"?t:t?t2(t,"url")?t.url:t.toString?t.toString():"":""}function Mme(t){if(t.length===0)return{method:"GET",url:""};if(t.length===2){const[r,n]=t;return{url:M5(r),method:t2(n,"method")?String(n.method).toUpperCase():"GET"}}const e=t[0];return{url:M5(e),method:t2(e,"method")?String(e.method).toUpperCase():"GET"}}function Pme(){return"npm"}const Sg=Yt;function Nme(){const t=Sg.chrome,e=t&&t.app&&t.app.runtime,r="history"in Sg&&!!Sg.history.pushState&&!!Sg.history.replaceState;return!e&&r}const cr=Yt;let r2=0;function FH(){return r2>0}function Rme(){r2++,setTimeout(()=>{r2--})}function Su(t,e={}){function r(o){return typeof o=="function"}if(!r(t))return t;try{const o=t.__sentry_wrapped__;if(o)return typeof o=="function"?o:t;if(SO(t))return t}catch{return t}const n=function(...o){try{const a=o.map(i=>Su(i,e));return t.apply(this,a)}catch(a){throw Rme(),khe(i=>{i.addEventProcessor(s=>(e.mechanism&&(qE(s,void 0),bu(s,e.mechanism)),s.extra={...s.extra,arguments:o},s)),Ife(a)}),a}};try{for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o])}catch{}bH(n,t),Nl(t,"__sentry_wrapped__",n);try{Object.getOwnPropertyDescriptor(n,"name").configurable&&Object.defineProperty(n,"name",{get(){return t.name}})}catch{}return n}const Pf=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function TO(t,e){const r=OO(t,e),n={type:Bme(e),value:Wme(e)};return r.length&&(n.stacktrace={frames:r}),n.type===void 0&&n.value===""&&(n.value="Unrecoverable error caught"),n}function jme(t,e,r,n){const o=Dn(),a=o&&o.getOptions().normalizeDepth,i=Gme(e),s={__serialized__:EH(e,a)};if(i)return{exception:{values:[TO(t,i)]},extra:s};const l={exception:{values:[{type:By(e)?e.constructor.name:n?"UnhandledRejection":"Error",value:Vme(e,{isUnhandledRejection:n})}]},extra:s};if(r){const d=OO(t,r);d.length&&(l.exception.values[0].stacktrace={frames:d})}return l}function l1(t,e){return{exception:{values:[TO(t,e)]}}}function OO(t,e){const r=e.stacktrace||e.stack||"",n=zme(e),o=Fme(e);try{return t(r,n,o)}catch{}return[]}const Lme=/Minified React error #\d+;/i;function zme(t){return t&&Lme.test(t.message)?1:0}function Fme(t){return typeof t.framesToPop=="number"?t.framesToPop:0}function BH(t){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?t instanceof WebAssembly.Exception:!1}function Bme(t){const e=t&&t.name;return!e&&BH(t)?t.message&&Array.isArray(t.message)&&t.message.length==2?t.message[0]:"WebAssembly.Exception":e}function Wme(t){const e=t&&t.message;return e?e.error&&typeof e.error.message=="string"?e.error.message:BH(t)&&Array.isArray(t.message)&&t.message.length==2?t.message[1]:e:"No error message"}function Hme(t,e,r,n){const o=r&&r.syntheticException||void 0,a=DO(t,e,o,n);return bu(a),a.level="error",r&&r.event_id&&(a.event_id=r.event_id),Rl(a)}function Ume(t,e,r="info",n,o){const a=n&&n.syntheticException||void 0,i=n2(t,e,a,o);return i.level=r,n&&n.event_id&&(i.event_id=n.event_id),Rl(i)}function DO(t,e,r,n,o){let a;if(vH(e)&&e.error)return l1(t,e.error);if(a5(e)||rhe(e)){const i=e;if("stack"in e)a=l1(t,e);else{const s=i.name||(a5(i)?"DOMError":"DOMException"),l=i.message?`${s}: ${i.message}`:s;a=n2(t,l,r,n),qE(a,l)}return"code"in i&&(a.tags={...a.tags,"DOMException.code":`${i.code}`}),a}return _O(e)?l1(t,e):_u(e)||By(e)?(a=jme(t,e,r,o),bu(a,{synthetic:!0}),a):(a=n2(t,e,r,n),qE(a,`${e}`),bu(a,{synthetic:!0}),a)}function n2(t,e,r,n){const o={};if(n&&r){const a=OO(t,r);a.length&&(o.exception={values:[{value:e,stacktrace:{frames:a}}]}),bu(o,{synthetic:!0})}if(bO(e)){const{__sentry_template_string__:a,__sentry_template_values__:i}=e;return o.logentry={message:a,params:i},o}return o.message=e,o}function Vme(t,{isUnhandledRejection:e}){const r=uhe(t),n=e?"promise rejection":"exception";return vH(t)?`Event \`ErrorEvent\` captured as ${n} with message \`${t.message}\``:By(t)?`Event \`${qme(t)}\` (type=${t.type}) captured as ${n}`:`Object captured as ${n} with keys: ${r}`}function qme(t){try{const e=Object.getPrototypeOf(t);return e?e.constructor.name:void 0}catch{}}function Gme(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const r=t[e];if(r instanceof Error)return r}}function Xme(t,{metadata:e,tunnel:r,dsn:n}){const o={event_id:t.event_id,sent_at:new Date().toISOString(),...e&&e.sdk&&{sdk:{name:e.sdk.name,version:e.sdk.version}},...!!r&&!!n&&{dsn:Vy(n)}},a=Jme(t);return Mf(o,[a])}function Jme(t){return[{type:"user_report"},t]}class Yme extends Wfe{constructor(e){const r={parentSpanIsAlwaysRootSpan:!0,...e},n=cr.SENTRY_SDK_SOURCE||Pme();tme(r,"browser",["browser"],n),super(r),r.sendClientReports&&cr.document&&cr.document.addEventListener("visibilitychange",()=>{cr.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(e,r){return Hme(this._options.stackParser,e,r,this._options.attachStacktrace)}eventFromMessage(e,r="info",n){return Ume(this._options.stackParser,e,r,n,this._options.attachStacktrace)}captureUserFeedback(e){if(!this._isEnabled()){Pf&&$t.warn("SDK not enabled, will not capture user feedback.");return}const r=Xme(e,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(r)}_prepareEvent(e,r,n){return e.platform=e.platform||"javascript",super._prepareEvent(e,r,n)}}const Kme=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Fn=Yt,Zme=1e3;let P5,o2,a2;function Qme(t){const e="dom";Gl(e,t),Xl(e,ege)}function ege(){if(!Fn.document)return;const t=ka.bind(null,"dom"),e=N5(t,!0);Fn.document.addEventListener("click",e,!1),Fn.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(r=>{const o=Fn[r],a=o&&o.prototype;!a||!a.hasOwnProperty||!a.hasOwnProperty("addEventListener")||(Co(a,"addEventListener",function(i){return function(s,l,d){if(s==="click"||s=="keypress")try{const h=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},u=h[s]=h[s]||{refCount:0};if(!u.handler){const f=N5(t);u.handler=f,i.call(this,s,f,d)}u.refCount++}catch{}return i.call(this,s,l,d)}}),Co(a,"removeEventListener",function(i){return function(s,l,d){if(s==="click"||s=="keypress")try{const h=this.__sentry_instrumentation_handlers__||{},u=h[s];u&&(u.refCount--,u.refCount<=0&&(i.call(this,s,u.handler,d),u.handler=void 0,delete h[s]),Object.keys(h).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return i.call(this,s,l,d)}}))})}function tge(t){if(t.type!==o2)return!1;try{if(!t.target||t.target._sentryId!==a2)return!1}catch{}return!0}function rge(t,e){return t!=="keypress"?!1:!e||!e.tagName?!0:!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable)}function N5(t,e=!1){return r=>{if(!r||r._sentryCaptured)return;const n=nge(r);if(rge(r.type,n))return;Nl(r,"_sentryCaptured",!0),n&&!n._sentryId&&Nl(n,"_sentryId",Qo());const o=r.type==="keypress"?"input":r.type;tge(r)||(t({event:r,name:o,global:e}),o2=r.type,a2=n?n._sentryId:void 0),clearTimeout(P5),P5=Fn.setTimeout(()=>{a2=void 0,o2=void 0},Zme)}}function nge(t){try{return t.target}catch{return null}}let Cg;function WH(t){const e="history";Gl(e,t),Xl(e,oge)}function oge(){if(!Nme())return;const t=Fn.onpopstate;Fn.onpopstate=function(...r){const n=Fn.location.href,o=Cg;if(Cg=n,ka("history",{from:o,to:n}),t)try{return t.apply(this,r)}catch{}};function e(r){return function(...n){const o=n.length>2?n[2]:void 0;if(o){const a=Cg,i=String(o);Cg=i,ka("history",{from:a,to:i})}return r.apply(this,n)}}Co(Fn.history,"pushState",e),Co(Fn.history,"replaceState",e)}const tv={};function age(t){const e=tv[t];if(e)return e;let r=Fn[t];if(e2(r))return tv[t]=r.bind(Fn);const n=Fn.document;if(n&&typeof n.createElement=="function")try{const o=n.createElement("iframe");o.hidden=!0,n.head.appendChild(o);const a=o.contentWindow;a&&a[t]&&(r=a[t]),n.head.removeChild(o)}catch(o){Kme&&$t.warn(`Could not create sandbox iframe for ${t} check, bailing to window.${t}: `,o)}return r&&(tv[t]=r.bind(Fn))}function R5(t){tv[t]=void 0}const lh="__sentry_xhr_v3__";function ige(t){const e="xhr";Gl(e,t),Xl(e,sge)}function sge(){if(!Fn.XMLHttpRequest)return;const t=XMLHttpRequest.prototype;t.open=new Proxy(t.open,{apply(e,r,n){const o=new Error,a=Pi()*1e3,i=Mi(n[0])?n[0].toUpperCase():void 0,s=lge(n[1]);if(!i||!s)return e.apply(r,n);r[lh]={method:i,url:s,request_headers:{}},i==="POST"&&s.match(/sentry_key/)&&(r.__sentry_own_request__=!0);const l=()=>{const d=r[lh];if(d&&r.readyState===4){try{d.status_code=r.status}catch{}const h={endTimestamp:Pi()*1e3,startTimestamp:a,xhr:r,virtualError:o};ka("xhr",h)}};return"onreadystatechange"in r&&typeof r.onreadystatechange=="function"?r.onreadystatechange=new Proxy(r.onreadystatechange,{apply(d,h,u){return l(),d.apply(h,u)}}):r.addEventListener("readystatechange",l),r.setRequestHeader=new Proxy(r.setRequestHeader,{apply(d,h,u){const[f,g]=u,y=h[lh];return y&&Mi(f)&&Mi(g)&&(y.request_headers[f.toLowerCase()]=g),d.apply(h,u)}}),e.apply(r,n)}}),t.send=new Proxy(t.send,{apply(e,r,n){const o=r[lh];if(!o)return e.apply(r,n);n[0]!==void 0&&(o.body=n[0]);const a={startTimestamp:Pi()*1e3,xhr:r};return ka("xhr",a),e.apply(r,n)}})}function lge(t){if(Mi(t))return t;try{return t.toString()}catch{}}function cge(t,e=age("fetch")){let r=0,n=0;function o(a){const i=a.body.length;r+=i,n++;const s={body:a.body,method:"POST",referrerPolicy:"origin",headers:t.headers,keepalive:r<=6e4&&n<15,...t.fetchOptions};if(!e)return R5("fetch"),Mv("No fetch implementation available");try{return e(t.url,s).then(l=>(r-=i,n--,{statusCode:l.status,headers:{"x-sentry-rate-limits":l.headers.get("X-Sentry-Rate-Limits"),"retry-after":l.headers.get("Retry-After")}}))}catch(l){return R5("fetch"),r-=i,n--,Mv(l)}}return eme(t,o)}const dge=30,uge=50;function i2(t,e,r,n){const o={filename:t,function:e===""?Ml:e,in_app:!0};return r!==void 0&&(o.lineno=r),n!==void 0&&(o.colno=n),o}const pge=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,hge=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,fge=/\((\S*)(?::(\d+))(?::(\d+))\)/,mge=t=>{const e=pge.exec(t);if(e){const[,n,o,a]=e;return i2(n,Ml,+o,+a)}const r=hge.exec(t);if(r){if(r[2]&&r[2].indexOf("eval")===0){const i=fge.exec(r[2]);i&&(r[2]=i[1],r[3]=i[2],r[4]=i[3])}const[o,a]=HH(r[1]||Ml,r[2]);return i2(a,o,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},gge=[dge,mge],vge=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,yge=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,_ge=t=>{const e=vge.exec(t);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const a=yge.exec(e[3]);a&&(e[1]=e[1]||"eval",e[3]=a[1],e[4]=a[2],e[5]="")}let n=e[3],o=e[1]||Ml;return[o,n]=HH(o,n),i2(n,o,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},bge=[uge,_ge],wge=[gge,bge],xge=mH(...wge),HH=(t,e)=>{const r=t.indexOf("safari-extension")!==-1,n=t.indexOf("safari-web-extension")!==-1;return r||n?[t.indexOf("@")!==-1?t.split("@")[0]:Ml,r?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]},$g=1024,Sge="Breadcrumbs",Cge=(t={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...t};return{name:Sge,setup(r){e.console&&xme(Tge(r)),e.dom&&Qme(Ege(r,e.dom)),e.xhr&&ige(Oge(r)),e.fetch&&Ame(Dge(r)),e.history&&WH(Age(r)),e.sentry&&r.on("beforeSendEvent",kge(r))}}},$ge=Cge;function kge(t){return function(r){Dn()===t&&Ll({category:`sentry.${r.type==="transaction"?"transaction":"event"}`,event_id:r.event_id,level:r.level,message:vs(r)},{event:r})}}function Ege(t,e){return function(n){if(Dn()!==t)return;let o,a,i=typeof e=="object"?e.serializeAttribute:void 0,s=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;s&&s>$g&&(Pf&&$t.warn(`\`dom.maxStringLength\` cannot exceed ${$g}, but a value of ${s} was configured. Sentry will use ${$g} instead.`),s=$g),typeof i=="string"&&(i=[i]);try{const d=n.event,h=Ige(d)?d.target:d;o=_H(h,{keyAttrs:i,maxStringLength:s}),a=che(h)}catch{o=""}if(o.length===0)return;const l={category:`ui.${n.name}`,message:o};a&&(l.data={"ui.component_name":a}),Ll(l,{event:n.event,name:n.name,global:n.global})}}function Tge(t){return function(r){if(Dn()!==t)return;const n={category:"console",data:{arguments:r.args,logger:"console"},level:Cme(r.level),message:i5(r.args," ")};if(r.level==="assert")if(r.args[0]===!1)n.message=`Assertion failed: ${i5(r.args.slice(1)," ")||"console.assert"}`,n.data.arguments=r.args.slice(1);else return;Ll(n,{input:r.args,level:r.level})}}function Oge(t){return function(r){if(Dn()!==t)return;const{startTimestamp:n,endTimestamp:o}=r,a=r.xhr[lh];if(!n||!o||!a)return;const{method:i,url:s,status_code:l,body:d}=a,h={method:i,url:s,status_code:l},u={xhr:r.xhr,input:d,startTimestamp:n,endTimestamp:o},f=LH(l);Ll({category:"xhr",data:h,type:"http",level:f},u)}}function Dge(t){return function(r){if(Dn()!==t)return;const{startTimestamp:n,endTimestamp:o}=r;if(o&&!(r.fetchData.url.match(/sentry_key/)&&r.fetchData.method==="POST"))if(r.error){const a=r.fetchData,i={data:r.error,input:r.args,startTimestamp:n,endTimestamp:o};Ll({category:"fetch",data:a,level:"error",type:"http"},i)}else{const a=r.response,i={...r.fetchData,status_code:a&&a.status},s={input:r.args,response:a,startTimestamp:n,endTimestamp:o},l=LH(i.status_code);Ll({category:"fetch",data:i,type:"http",level:l},s)}}}function Age(t){return function(r){if(Dn()!==t)return;let n=r.from,o=r.to;const a=s1(cr.location.href);let i=n?s1(n):void 0;const s=s1(o);(!i||!i.path)&&(i=a),a.protocol===s.protocol&&a.host===s.host&&(o=s.relative),a.protocol===i.protocol&&a.host===i.host&&(n=i.relative),Ll({category:"navigation",data:{from:n,to:o}})}}function Ige(t){return!!t&&!!t.target}const Mge=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Pge="BrowserApiErrors",Nge=(t={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...t};return{name:Pge,setupOnce(){e.setTimeout&&Co(cr,"setTimeout",j5),e.setInterval&&Co(cr,"setInterval",j5),e.requestAnimationFrame&&Co(cr,"requestAnimationFrame",jge),e.XMLHttpRequest&&"XMLHttpRequest"in cr&&Co(XMLHttpRequest.prototype,"send",Lge);const r=e.eventTarget;r&&(Array.isArray(r)?r:Mge).forEach(zge)}}},Rge=Nge;function j5(t){return function(...e){const r=e[0];return e[0]=Su(r,{mechanism:{data:{function:Ns(t)},handled:!1,type:"instrument"}}),t.apply(this,e)}}function jge(t){return function(e){return t.apply(this,[Su(e,{mechanism:{data:{function:"requestAnimationFrame",handler:Ns(t)},handled:!1,type:"instrument"}})])}}function Lge(t){return function(...e){const r=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(o=>{o in r&&typeof r[o]=="function"&&Co(r,o,function(a){const i={mechanism:{data:{function:o,handler:Ns(a)},handled:!1,type:"instrument"}},s=SO(a);return s&&(i.mechanism.data.handler=Ns(s)),Su(a,i)})}),t.apply(this,e)}}function zge(t){const r=cr[t],n=r&&r.prototype;!n||!n.hasOwnProperty||!n.hasOwnProperty("addEventListener")||(Co(n,"addEventListener",function(o){return function(a,i,s){try{Fge(i)&&(i.handleEvent=Su(i.handleEvent,{mechanism:{data:{function:"handleEvent",handler:Ns(i),target:t},handled:!1,type:"instrument"}}))}catch{}return o.apply(this,[a,Su(i,{mechanism:{data:{function:"addEventListener",handler:Ns(i),target:t},handled:!1,type:"instrument"}}),s])}}),Co(n,"removeEventListener",function(o){return function(a,i,s){try{const l=i.__sentry_wrapped__;l&&o.call(this,a,l,s)}catch{}return o.call(this,a,i,s)}}))}function Fge(t){return typeof t.handleEvent=="function"}const Bge=()=>({name:"BrowserSession",setupOnce(){if(typeof cr.document>"u"){Pf&&$t.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}x5({ignoreDuration:!0}),S5(),WH(({from:t,to:e})=>{t!==void 0&&t!==e&&(x5({ignoreDuration:!0}),S5())})}}),Wge="GlobalHandlers",Hge=(t={})=>{const e={onerror:!0,onunhandledrejection:!0,...t};return{name:Wge,setupOnce(){Error.stackTraceLimit=50},setup(r){e.onerror&&(Vge(r),L5("onerror")),e.onunhandledrejection&&(qge(r),L5("onunhandledrejection"))}}},Uge=Hge;function Vge(t){Zpe(e=>{const{stackParser:r,attachStacktrace:n}=UH();if(Dn()!==t||FH())return;const{msg:o,url:a,line:i,column:s,error:l}=e,d=Jge(DO(r,l||o,void 0,n,!1),a,i,s);d.level="error",OH(d,{originalException:l,mechanism:{handled:!1,type:"onerror"}})})}function qge(t){ehe(e=>{const{stackParser:r,attachStacktrace:n}=UH();if(Dn()!==t||FH())return;const o=Gge(e),a=wO(o)?Xge(o):DO(r,o,void 0,n,!0);a.level="error",OH(a,{originalException:o,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function Gge(t){if(wO(t))return t;try{if("reason"in t)return t.reason;if("detail"in t&&"reason"in t.detail)return t.detail.reason}catch{}return t}function Xge(t){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(t)}`}]}}}function Jge(t,e,r,n){const o=t.exception=t.exception||{},a=o.values=o.values||[],i=a[0]=a[0]||{},s=i.stacktrace=i.stacktrace||{},l=s.frames=s.frames||[],d=n,h=r,u=Mi(e)&&e.length>0?e:lhe();return l.length===0&&l.push({colno:d,filename:u,function:Ml,in_app:!0,lineno:h}),t}function L5(t){Pf&&$t.log(`Global Handler attached: ${t}`)}function UH(){const t=Dn();return t&&t.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}const Yge=()=>({name:"HttpContext",preprocessEvent(t){if(!cr.navigator&&!cr.location&&!cr.document)return;const e=t.request&&t.request.url||cr.location&&cr.location.href,{referrer:r}=cr.document||{},{userAgent:n}=cr.navigator||{},o={...t.request&&t.request.headers,...r&&{Referer:r},...n&&{"User-Agent":n}},a={...t.request,...e&&{url:e},headers:o};t.request=a}}),Kge="cause",Zge=5,Qge="LinkedErrors",eve=(t={})=>{const e=t.limit||Zge,r=t.key||Kge;return{name:Qge,preprocessEvent(n,o,a){const i=a.getOptions();bme(TO,i.stackParser,i.maxValueLength,r,e,n,o)}}},tve=eve;function rve(t){const e=[cme(),ame(),Rge(),$ge(),Uge(),tve(),NH(),Yge()];return t.autoSessionTracking!==!1&&e.push(Bge()),e}function nve(t={}){const e={defaultIntegrations:rve(t),release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:cr.SENTRY_RELEASE&&cr.SENTRY_RELEASE.id?cr.SENTRY_RELEASE.id:void 0,autoSessionTracking:!0,sendClientReports:!0};return t.defaultIntegrations==null&&delete t.defaultIntegrations,{...e,...t}}function ove(){const t=typeof cr.window<"u"&&cr;if(!t)return!1;const e=t.chrome?"chrome":"browser",r=t[e],n=r&&r.runtime&&r.runtime.id,o=cr.location&&cr.location.href||"",a=["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"],i=!!n&&cr===cr.top&&a.some(l=>o.startsWith(`${l}//`)),s=typeof t.nw<"u";return!!n&&!i&&!s}function ave(t={}){const e=nve(t);if(!e.skipBrowserExtensionCheck&&ove()){ql(()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")});return}Pf&&(zH()||$t.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill."));const r={...e,stackParser:Ype(e.stackParser||xge),integrations:zfe(e),transport:e.transport||cge};return Vfe(Yme,r)}const ive=Ge([w.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),w.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime"),Nv=Ge(w.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),sve=Ge(w.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),z5=Ge(w.jsx("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown"),lve=Ge(w.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),cve=Ge(w.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 11h-3v3.75c0 1.24-1.01 2.25-2.25 2.25S8.5 17.99 8.5 16.75s1.01-2.25 2.25-2.25c.46 0 .89.14 1.25.38V11h4zm-3-4V3.5L18.5 9z"}),"AudioFile"),dve=Ge([w.jsx("path",{d:"M16.5 12h-9c-.55 0-1 .45-1 1v1h11v-1c0-.55-.45-1-1-1M7.25 8.5h4v2h-4zm5.5 0h4v2h-4z"},"0"),w.jsx("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-1 15h-1.5v-1.5h-11V17H5v-3.83c0-.66.25-1.26.65-1.72V9c0-1.1.9-2 2-2H11c.37 0 .72.12 1 .32.28-.2.63-.32 1-.32h3.35c1.1 0 2 .9 2 2v2.45c.4.46.65 1.06.65 1.72z"},"1")],"BedroomParent"),uve=Ge(w.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2"}),"Bookmark"),pve=Ge(w.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"}),"BookmarkBorder"),hve=Ge(w.jsx("path",{d:"M22 24H2v-4h20zM13.06 5.19l3.75 3.75L7.75 18H4v-3.75zm4.82 2.68-3.75-3.75 1.83-1.83c.39-.39 1.02-.39 1.41 0l2.34 2.34c.39.39.39 1.02 0 1.41z"}),"BorderColor"),VH=Ge(w.jsx("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness6"),fve=Ge(w.jsx("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build"),mve=Ge(w.jsx("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday"),Nf=Ge(w.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel"),Ea=Ge(w.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),Ar=Ge(w.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),AO=Ge(w.jsx("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code"),gve=Ge(w.jsx("path",{d:"m13.7826 15.1719 2.1213-2.1213 5.9963 5.9962-2.1213 2.1213zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49c-1.17-1.17-3.07-1.17-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21"}),"Construction"),vve=Ge(w.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy"),qH=Ge(w.jsx("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z"}),"CreateNewFolder"),yve=Ge(w.jsx("path",{d:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject"),Ta=Ge(w.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),IO=Ge(w.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description"),rv=Ge(w.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit"),_ve=Ge(w.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error"),bve=Ge(w.jsx("path",{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3"}),"FindInPage"),wve=Ge(w.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen"),xve=Ge(w.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z"}),"FolderSpecial"),Sve=Ge(w.jsx("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-4.05 16.5-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13z"}),"FontDownload"),Cve=Ge(w.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),GH=Ge(w.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help"),$ve=Ge(w.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image"),kve=Ge(w.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),XH=Ge(w.jsx("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"}),"InsertDriveFile"),Eve=Ge(w.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),JH=Ge(w.jsx("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link"),Tve=Ge(w.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),Ove=Ge(w.jsx("path",{d:"M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"}),"ListAlt"),Dve=Ge(w.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-5 14h-2V9h-2V7h4z"}),"LooksOne"),Ave=Ge(w.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),Ive=Ge(w.jsx("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3z"}),"MusicNote"),YH=Ge(w.jsx("path",{d:"M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonOutlined"),Mve=Ge(w.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.89-2-2-2m0 16H5V7h14zm-5.5-6c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5.67-1.5 1.5-1.5 1.5.67 1.5 1.5M12 9c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5"}),"Preview"),Rv=Ge(w.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),MO=Ge(w.jsx("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh"),KH=Ge(w.jsx("path",{d:"m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7m-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1s1.8.3 2.5 1zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2M8 18H6v-2h2zm3.5 0h-2v-2h2zm3.5 0h-2v-2h2z"}),"Router"),s2=Ge(w.jsx("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save"),Pve=Ge(w.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),Nve=Ge(w.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search"),l2=Ge(w.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),F5=Ge(w.jsx("path",{d:"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69s.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69"}),"SettingsApplications"),Rve=Ge(w.jsx("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"}),"ShowChart"),jve=Ge(w.jsx("path",{d:"M14 17H4v2h10zm6-8H4v2h16zM4 15h16v-2H4zM4 5v2h16V5z"}),"Subject"),ZH=Ge(w.jsx("path",{d:"M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m3.61 6.34c1.07 0 1.93.86 1.93 1.93s-.86 1.93-1.93 1.93-1.93-.86-1.93-1.93c-.01-1.07.86-1.93 1.93-1.93m-6-1.58c1.3 0 2.36 1.06 2.36 2.36s-1.06 2.36-2.36 2.36-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36m0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68M11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09"}),"SupervisedUserCircle"),Lve=Ge(w.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),zve=Ge(w.jsx("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2"}),"Timeline"),Fve=Ge(w.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Bve=Ge(w.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),Wve=Ge(w.jsx("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam"),Hve=Ge(w.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),Uve=Ge(w.jsx("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule"),ch=Ge(w.jsx("path",{d:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi"),kg=Ge(w.jsx("path",{d:"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0"}),"WifiOff");function Vve(){console.log(` ██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ ██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗ ██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝ ██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗ ██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ -`),console.log("Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters"),console.log("Help us to create open source project with reactJS!"),console.log("See you :)")}const Vve=` +`),console.log("Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters"),console.log("Help us to create open source project with reactJS!"),console.log("See you :)")}const qve=` /** * Copyright 2018-2024 Denis Haev (bluefox) * @@ -651,10 +651,10 @@ Url: ${Pv(t)}`),!0)}function pme(t,e){return t.type||!e||!e.length?!1:gme(t).som .logo-animate-color-outside-blue { animation: logo-color-outside-blue 1.5s; } -`;function QH(t){A.useEffect(()=>{if(!window.document.getElementById("loader-iobroker-component")){const n=window.document.createElement("style");n.setAttribute("id","loader-iobroker-component"),n.innerHTML=Vve,window.document.head.appendChild(n)}},[]);const e=t.size||234,r=t.themeName||t.theme||t.themeType||"light";return m.createElement("div",{className:`logo-back logo-background-${r}`,style:{backgroundImage:t.backgroundImage&&t.backgroundImage!=="@@loginBackgroundImage@@"?t.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:t.backgroundColor&&t.backgroundColor!=="@@loginBackgroundColor@@"?t.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:m.createElement(m.Fragment,null,m.createElement("div",{className:"logo-div",style:{width:e,height:e}},m.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"37%"}}),m.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"57%"}}),m.createElement("div",{className:`logo-border logo-background-${r} logo-animate-wait`,style:{borderWidth:e*.132}}),m.createElement("div",{className:`logo-i logo-animate-color-inside-${r}`}),m.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{top:"18%"}}),m.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{bottom:"18%"}})),m.createElement("div",{className:`logo-animate-grow logo-animate-grow-${r}`,style:{width:e+11,height:e+11}})))}class Ph extends A.Component{constructor(r){super(r);X(this,"onHashChangedBound");this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let r=window.location.hash;r=r.replace(/^#/,"");const n=r.split("/").map(o=>{try{return o?decodeURIComponent(o):""}catch{return console.error(`Router: Cannot decode ${o}`),o}});return{tab:n[0]||"",dialog:n[1]||"",id:n[2]||"",arg:n[3]||""}}static doNavigate(r,n,o,a){let i="";const s=Ph.getLocation();a!==void 0&&!o&&(o=s.id),o&&!n&&(n=s.dialog),(n&&!r||r===null)&&(r=s.tab),r&&(i=`#${r}`,n&&(i+=`/${n}`,o&&(i+=`/${o}`,a!==void 0&&(i+=`/${a}`)))),window.location.hash!==i&&(window.location.hash=i)}}function qve(){const t=document.getSelection();if(!(t!=null&&t.rangeCount))return()=>{};let e=document.activeElement;const r=[];for(let n=0;n{t.type==="Caret"&&t.removeAllRanges(),t.rangeCount||r.forEach(n=>t.addRange(n)),e&&e.focus()}}const B5={"text/plain":"Text","text/html":"Url",default:"Text"},Gve="Copy to clipboard: #{key}, Enter";function Xve(t){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return t.replace(/#{\s*key\s*}/g,e)}function Jve(t,e){let r,n,o,a,i=!1;e=e||{};const s=e.debug||!1;try{if(r=qve(),n=document.createRange(),o=document.getSelection(),a=document.createElement("span"),a.textContent=t,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top="0px",a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.userSelect="text",a.addEventListener("copy",d=>{var h,u,f,g;if(d.stopPropagation(),e!=null&&e.format)if(d.preventDefault(),typeof d.clipboardData>"u"){s&&console.warn("unable to use e.clipboardData"),s&&console.warn("trying IE specific stuff"),(h=window.clipboardData)==null||h.clearData();const y=B5[e.format]||B5.default;(u=window.clipboardData)==null||u.setData(y,t)}else(f=d.clipboardData)==null||f.clearData(),(g=d.clipboardData)==null||g.setData(e.format,t)}),document.body.appendChild(a),n.selectNodeContents(a),o==null||o.addRange(n),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");i=!0}catch(l){s&&console.error("unable to copy using execCommand: ",l),s&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),i=!0}catch(d){s&&console.error("unable to copy using clipboardData: ",d),s&&console.error("falling back to prompt");const h=Xve("message"in e?e.message||"":Gve);window.prompt(h,t)}}finally{o&&(n&&typeof o.removeRange=="function"?o.removeRange(n):o.removeAllRanges()),a&&document.body.removeChild(a),r&&r()}return i}const tr=class tr{static setLanguage(e){e&&(tr.lang=e)}static extendTranslations(e,r){if(e.prefix){const n=e;if(typeof n.prefix=="string"){const o=n.prefix;delete n.prefix,Object.keys(n).forEach(a=>{const i=a,s={},l=n[i];Object.keys(l).forEach(d=>{d&&l&&(d.startsWith(o)?s[d]=l[d]:s[`${o}${d}`]=l[d])}),e[i]=s})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!r)e.en&&e.de&&e.ru?Object.keys(e).forEach(n=>{const o=n;tr.translations[o]=tr.translations[o]||{};const a=tr.translations[o];Object.assign(a,e[o])}):Object.keys(e).forEach(n=>{const o=e[n];Object.keys(o).forEach(a=>{const i=a,s=tr.translations[i];s?s[n]?s[n]!==o[i]&&console.warn(`Translation for word "${n}" in "${i}" was ignored: existing = "${s[n]}", new = ${o[i]}`):s[n]=o[i]:console.warn(`Used unknown language: ${i}`)})});else{tr.translations[r]||console.warn(`Used unknown language: ${r}`),tr.translations[r]=tr.translations[r]||{};const n=tr.translations[r];n&&Object.keys(e).forEach(o=>{n[o]?n[o]!==e[o]&&console.warn(`Translation for word "${o}" in "${r}" was ignored: existing = "${n[o]}", new = ${e[o]}`):n[o]=e[o]})}}catch(n){console.error(`Cannot apply translations: ${n}`)}}static setTranslations(e){e&&(tr.translations=e)}static getLanguage(){return tr.lang}static t(e,...r){const n=tr.translations[tr.lang];if(n){const o=n[e];if(o)e=o;else if(tr.unknownTranslations.includes(e)||(tr.unknownTranslations.push(e),!tr._disableWarning&&console.log(`Translate: ${e}`)),tr.lang!=="en"&&tr.translations.en){const a=tr.translations.en[e];a&&(e=a)}}for(const o of r)e=e.replace("%s",o);return e}static i18nShow(e){const r={};e?typeof e=="string"?(tr.unknownTranslations.forEach(n=>{n.startsWith(e)&&(r[n]=n.replace(e,""))}),console.log(JSON.stringify(r,null,2))):typeof e=="object"&&(tr.unknownTranslations.forEach(n=>{e.test(n)&&(r[n]=n)}),console.log(JSON.stringify(r,null,2))):(tr.unknownTranslations.forEach(n=>r[n]=n),console.log(JSON.stringify(r,null,2)))}static disableWarning(e){tr._disableWarning=!!e}};X(tr,"translations",{}),X(tr,"unknownTranslations",[]),X(tr,"lang",window.sysLang||"en"),X(tr,"_disableWarning",!1);let P=tr;window.i18nShow=P.i18nShow;window.i18nDisableWarning=P.disableWarning;const Wa="material",Yve=["Su","Mo","Tu","We","Th","Fr","Sa"],Kve=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],c1={0:"0x00 - good",1:"0x01 - general problem",2:"0x02 - no connection problem",16:"0x10 - substitute value from controller",32:"0x20 - substitute initial value",64:"0x40 - substitute value from device or instance",128:"0x80 - substitute value from sensor",17:"0x11 - general problem by instance",65:"0x41 - general problem by device",129:"0x81 - general problem by sensor",18:"0x12 - instance not connected",66:"0x42 - device not connected",130:"0x82 - sensor not connected",68:"0x44 - device reports error",132:"0x84 - sensor reports error"},W5={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"},sr=class sr{static CapitalWords(e){return(e||"").split(/[\s_]/).filter(r=>r).map(r=>r?r[0].toUpperCase()+r.substring(1).toLowerCase():"").join(" ")}static formatSeconds(e){const r=Math.floor(e/86400);e%=3600*24;const n=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const o=Math.floor(e/60).toString().padStart(2,"0");e%=60;const a=Math.floor(e).toString().padStart(2,"0");let i="";return r&&(i+=`${r} ${P.t("ra_daysShortText")} `),i+=`${n}:${o}:${a}`,i}static getObjectName(e,r,n,o,a){var l;const i=e[r];let s;if(typeof n=="string"&&!o&&(o={language:n},n=null),o=o||{},o.language||(o.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),n!=null&&n.name){const d=n.name;typeof d=="object"?s=o.language&&d[o.language]||d.en:s=d}else if(a&&((l=i==null?void 0:i.common)!=null&&l.desc)){const d=i.common.desc;typeof d=="object"?s=o.language&&d[o.language]||d.en||d.de||d.ru||"":s=d,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}else if(!a&&(i!=null&&i.common)){const d=i.common.name||i.common.desc;d&&typeof d=="object"?s=o.language&&d[o.language]||d.en||d.de||d.ru||"":s=d,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}else{const d=r.lastIndexOf(".");s=r.substring(d+1).replace(/[_.]/g," "),s=sr.CapitalWords(s)}return(s==null?void 0:s.trim())||""}static getObjectNameFromObj(e,r,n,o,a){var l,d;const i=e;let s=e&&e._id||"";if(typeof r=="string"&&!n&&(n={language:r},r=null),n=n||{},r!=null&&r.name){const h=r.name;typeof h=="object"?s=n.language&&h[n.language]||h.en:s=h}else if(o&&((l=i==null?void 0:i.common)!=null&&l.desc)){const h=i.common.desc;typeof h=="object"?s=n.language&&h[n.language]||h.en:s=h,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}else if(!o&&((d=i==null?void 0:i.common)!=null&&d.name)){let h=i.common.name;!h&&i.common.desc&&(h=i.common.desc),typeof h=="object"?s=n.language&&h[n.language]||h.en:s=h,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}return a?s:s.trim()}static getSettingsOrder(e,r,n){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let a;if(o!=null&&o.custom){a=o.custom[Wa];const i=n.user||"admin";if(a&&a[i]){if(r){if(a[i].subOrder&&a[i].subOrder[r])return JSON.parse(JSON.stringify(a[i].subOrder[r]))}else if(a[i].order)return JSON.parse(JSON.stringify(a[i].order))}}return null}static getSettingsCustomURLs(e,r,n){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let a;if(o!=null&&o.custom){a=o.custom[Wa];const i=n.user||"admin";if(a&&a[i]){if(r){if(a[i].subURLs&&a[i].subURLs[r])return JSON.parse(JSON.stringify(a[i].subURLs[r]))}else if(a[i].URLs)return JSON.parse(JSON.stringify(a[i].URLs))}}return null}static reorder(e,r,n){const o=Array.from(e),[a]=o.splice(r,1);return o.splice(n,0,a),o}static getSettings(e,r,n){let o;const a=(e==null?void 0:e._id)||(r==null?void 0:r.id);let i;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?i=e.common:i=e,i!=null&&i.custom?(o=i.custom,o=o[Wa]&&o[Wa][r.user||"admin"]?JSON.parse(JSON.stringify(o[Wa][r.user||"admin"])):{enabled:!0}):o={enabled:n===void 0?!0:n,useCustom:!1},Object.prototype.hasOwnProperty.call(o,"enabled")||(o.enabled=n===void 0?!0:n),r&&(!o.name&&r.name&&(o.name=r.name),!o.icon&&r.icon&&(o.icon=r.icon),!o.color&&r.color&&(o.color=r.color)),i&&(!o.color&&i.color&&(o.color=i.color),!o.icon&&i.icon&&(o.icon=i.icon),!o.name&&i.name&&(o.name=i.name)),typeof o.name=="object"&&(o.name=r.language&&o.name[r.language]||o.name.en,o.name=(o.name||"").toString().replace(/_/g," "),o.name===o.name.toUpperCase()&&(o.name=o.name[0]+o.name.substring(1).toLowerCase())),!o.name&&a){const s=a.lastIndexOf(".");o.name=a.substring(s+1).replace(/[_.]/g," "),o.name=(o.name||"").toString().replace(/_/g," "),o.name=sr.CapitalWords(o.name)}return o}static setSettings(e,r,n){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[Wa]=e.common.custom[Wa]||{},e.common.custom[Wa][n.user||"admin"]=r;const o=e.common.custom[Wa][n.user||"admin"];return o.useCommon&&(o.color!==void 0&&(e.common.color=o.color,delete o.color),o.icon!==void 0&&(e.common.icon=o.icon,delete o.icon),o.name!==void 0&&(typeof e.common.name!="object"&&n.language?e.common.name={[n.language]:o.name}:typeof e.common.name=="object"&&n.language&&(e.common.name[n.language]=o.name),delete o.name)),!0}return!1}static getIcon(e,r){return e!=null&&e.icon?e.icon.length<=2?m.createElement("span",{style:r||{}},e.icon):e.icon.startsWith("data:image")?m.createElement("img",{alt:e.name,src:e.icon,style:r||{}}):m.createElement("img",{alt:e.name,src:(e.prefix||"")+e.icon,style:r}):null}static getObjectIcon(e,r){var n;if(typeof e=="object"&&(r=e,e=r==null?void 0:r._id),(n=r==null?void 0:r.common)!=null&&n.icon){let o=r.common.icon;if(typeof o=="string"&&o.length<=2||o.startsWith("data:image"))return o;const a=e.split(".");return a[0]==="system"?o=`adapter/${a[2]}${o.startsWith("/")?"":"/"}${o}`:o=`adapter/${a[0]}${o.startsWith("/")?"":"/"}${o}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?o=`../../${o}`:window.location.pathname.match(/material\/[.\d]+/)?o=`../../${o}`:window.location.pathname.match(/material\//)&&(o=`../${o}`),o}return null}static splitCamelCase(e){return e?sr.CapitalWords(e):""}static isUseBright(e,r){if(!e)return r===void 0?!0:r;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let n,o,a;const i=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(i&&i.length===4)n=parseInt(i[1],10),o=parseInt(i[2],10),a=parseInt(i[3],10);else{if(e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length===8)e=e.substring(0,6);else if(e.length!==6)return!1;n=parseInt(e.slice(0,2),16),o=parseInt(e.slice(2,4),16),a=parseInt(e.slice(4,6),16)}return n*.299+o*.587+a*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const r=Math.floor(e/3600),n=Math.floor(e%3600/60).toString().padStart(2,"0"),o=(e%60).toString().padStart(2,"0");return r?`${r}:${n}:${o}`:`${n}:${o}`}static getWindDirection(e){return e>=0&&e<11.25?"N":e>=11.25&&e<33.75?"NNE":e>=33.75&&e<56.25?"NE":e>=56.25&&e<78.75?"ENE":e>=78.75&&e<101.25?"E":e>=101.25&&e<123.75?"ESE":e>=123.75&&e<146.25?"SE":e>=146.25&&e<168.75?"SSE":e>=168.75&&e<191.25?"S":e>=191.25&&e<213.75?"SSW":e>=213.75&&e<236.25?"SW":e>=236.25&&e<258.75?"WSW":e>=258.75&&e<281.25?"W":e>=281.25&&e<303.75?"WNW":e>=303.75&&e<326.25?"NW":e>=326.25&&e<348.75?"NNW":"N"}static padding(e){return typeof e=="string"?e.length<2?`0${e}`:e:e<10?`0${e}`:e.toString()}static setDataFormat(e){e&&(sr.dateFormat=e.toUpperCase().split(/[.-/]/),sr.dateFormat.splice(sr.dateFormat.indexOf("YYYY"),1))}static date2string(e){if(typeof e=="string"){if(e=e.trim(),!e)return"";if(e.match(/^[\w\s]+$/))return e;const n=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(n){const o=[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10)],a=o.find(i=>i>31);if(a!==void 0){o.splice(o.indexOf(a),1);const i=o.find(s=>s>12);i?(o.splice(o.indexOf(i),1),e=new Date(a,o[0]-1,i)):sr.dateFormat[0][0]==="M"&&sr.dateFormat[1][0]==="D"?(e=new Date(a,o[0]-1,o[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(a,o[1]-1,o[0]))):sr.dateFormat[0][0]==="D"&&sr.dateFormat[1][0]==="M"?(e=new Date(a,o[1]-1,o[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(a,o[0]-1,o[1]))):e=new Date(e)}else e=new Date(e)}else e=new Date(e)}else e=new Date(e);let r=P.t(`ra_dow_${Yve[e.getDay()]}`).replace("ra_dow_","");return r+=`. ${e.getDate()} ${P.t(`ra_month_${Kve[e.getMonth()]}`).replace("ra_month_","")}`,r}static renderTextWithA(e){let r=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(r){const n=[];let o=1;do{const a=e.substring(0,r.index);if(e=e.substring((r.index||0)+r[0].length),a&&n.push(m.createElement("span",{key:`a${o++}`},a)),r[0].startsWith(""))n.push(m.createElement("b",{key:`a${o++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith(""))n.push(m.createElement("i",{key:`a${o++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!r&&e&&n.push(m.createElement("span",{key:`a${o++}`},e))}while(r);return n}return e}static getSmartName(e,r,n,o){var i,s;if(!r){if(!o)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const l=e;return(i=l==null?void 0:l.common)!=null&&i.custom&&l.common.custom[n]?l.common.custom[n].smartName:void 0}if(!o)return e[r].common.smartName;const a=e[r];return(s=a==null?void 0:a.common)!=null&&s.custom&&a.common.custom[n]&&a.common.custom[n].smartName||null}static getSmartNameFromObj(e,r,n){var a,i;if(!n)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const o=(i=(a=e==null?void 0:e.common)==null?void 0:a.custom)==null?void 0:i[r];return o?o.smartName:void 0}static enableSmartName(e,r,n){n?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName={}):e.common.smartName={}}static removeSmartName(e,r,n){n?e.common&&e.common.custom&&e.common.custom[r]&&(e.common.custom[r]=null):e.common.smartName=null}static updateSmartName(e,r,n,o,a,i){const s=P.getLanguage();if(typeof e.common.smartName=="string"){const l=e.common.smartName;e.common.smartName={},e.common.smartName[s]=l}if(e.native&&e.native.byON){delete e.native.byON;let l=e.common.smartName;l&&typeof l!="object"&&(l={en:l,[s]:l}),e.common.smartName=l}if(o!==void 0&&(i?(e.common.custom=e.common.custom||{},e.common.custom[a]=e.common.custom[a]||{},e.common.custom[a].smartName=e.common.custom[a].smartName||{},o?e.common.custom[a].smartName.smartType=o:delete e.common.custom[a].smartName.smartType):(e.common.smartName=e.common.smartName||{},o?e.common.smartName.smartType=o:delete e.common.smartName.smartType)),n!==void 0&&(i?(e.common.custom=e.common.custom||{},e.common.custom[a]=e.common.custom[a]||{},e.common.custom[a].smartName=e.common.custom[a].smartName||{},e.common.custom[a].smartName.byON=n):(e.common.smartName=e.common.smartName||{},e.common.smartName.byON=n)),r!==void 0){let l;if(i?(e.common.custom=e.common.custom||{},e.common.custom[a]=e.common.custom[a]||{},e.common.custom[a].smartName=e.common.custom[a].smartName||{},l=e.common.custom[a].smartName):(e.common.smartName=e.common.smartName||{},l=e.common.smartName),l[s]=r,l&&(!l[s]||l[s]===e.common.name&&(!e.common.role||e.common.role.includes("button")))){delete l[s];let d=!0;for(const h in l)if(Object.prototype.hasOwnProperty.call(l,h)){d=!1;break}if(d)if(i&&e.common.custom&&e.common.custom[a])e.common.custom[a].smartName.byON===void 0?delete e.common.custom[a]:(delete e.common.custom[a].en,delete e.common.custom[a].de,delete e.common.custom[a].ru,delete e.common.custom[a].nl,delete e.common.custom[a].pl,delete e.common.custom[a].it,delete e.common.custom[a].fr,delete e.common.custom[a].pt,delete e.common.custom[a].es,delete e.common.custom[a].uk,delete e.common.custom[a]["zh-cn"]);else if(e.common.smartName&&e.common.smartName.byON!==void 0){const h=e.common.smartName;delete h.en,delete h.de,delete h.ru,delete h.nl,delete h.pl,delete h.it,delete h.fr,delete h.pt,delete h.es,delete h.uk,delete h["zh-cn"]}else e.common.smartName=null}}}static disableSmartName(e,r,n){n?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=!1):e.common.smartName=!1}static copyToClipboard(e,r){return r&&(r.stopPropagation(),r.preventDefault()),Jve(e)}static getFileExtension(e){const r=(e||"").lastIndexOf(".");return r!==-1?e.substring(r+1).toLowerCase():null}static formatBytes(e){if(Math.abs(e)<1024)return`${e} B`;const r=["KB","MB","GB"];let n=-1;do e/=1024,++n;while(Math.abs(e)>=1024&&n186?`#000000${n||""}`:`#FFFFFF${n||""}`;const s=(255-o).toString(16),l=(255-a).toString(16),d=(255-i).toString(16);return`#${s.padStart(2,"0")}${l.padStart(2,"0")}${d.padStart(2,"0")}${n||""}`}static color2rgb(e){if(e==null||e===""||typeof e!="string")return!1;if(e.startsWith("rgba")){const r=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);r&&(e=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else if(e.startsWith("rgb")){const r=e.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);r&&(e=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else e.startsWith("#")&&(e=e.slice(1));return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length!==6&&e.length!==8?(console.warn(`Cannot invert color: ${e}`),!1):[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}static rgb2lab(e){let r=e[0]/255,n=e[1]/255,o=e[2]/255;r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=(r*.4124+n*.3576+o*.1805)/.95047,i=r*.2126+n*.7152+o*.0722,s=(r*.0193+n*.1192+o*.9505)/1.08883;return a=a>.008856?a**.33333333:7.787*a+.137931,i=i>.008856?i**.33333333:7.787*i+.137931,s=s>.008856?s**.33333333:7.787*s+.137931,[116*i-16,500*(a-i),200*(i-s)]}static colorDistance(e,r){const n=sr.color2rgb(e),o=sr.color2rgb(r);if(!n||!o)return 0;const a=sr.rgb2lab(n),i=sr.rgb2lab(o),s=a[0]-i[0],l=a[1]-i[1],d=a[2]-i[2],h=Math.sqrt(a[1]*a[1]+a[2]*a[2]),u=Math.sqrt(i[1]*i[1]+i[2]*i[2]),f=h-u;let g=l*l+d*d-f*f;g=g<0?0:Math.sqrt(g);const y=1+.045*h,b=1+.015*h,x=s,S=f/y,T=g/b,E=x*x+S*S+T*T;return E<0?0:E}static _toVal(e){let r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e))for(let o=0;o{if(n=n.trim(),n){const o=n.split("="),a=decodeURIComponent(o[0]).trim();if(o.length>1){const i=decodeURIComponent(o[1]);if(i==="true")r[a]=!0;else if(i==="false")r[a]=!1;else{const s=parseFloat(i);s.toString()===i?r[a]=s:r[a]=i}}else r[a]=!0}}),r}static getParentId(e){const r=(e||"").toString().split(".");return r.length>1?(r.pop(),r.join(".")):null}static formatDate(e,r){if(!e)return"";let n;const o=(e.getMonth()+1).toString().padStart(2,"0"),a=e.getDate().toString().padStart(2,"0");return r==="MM/DD/YYYY"?n=`${o}/${a}/${e.getFullYear()}`:n=`${e.getFullYear()}-${o}-${a}`,n+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,n}static formatTime(e){if(e){e=Math.round(e);const r=Math.floor(e/(3600*24)),n=Math.floor(e%(3600*24)/3600),o=Math.floor(e%3600/60),a=e%60;return r?`${r}.${n.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`:n?`${n}:${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`:`0:${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(e){const r=e.match(/\d+\.\)\s/);return r&&(e=e.replace(r[0],r[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,r){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),r==="this"?window.location.href=e:window.open(e,r||"_blank")}static MDgetTitle(e){var a;const r=sr.MDextractHeader(e),n=r.header;let o=r.body;if(!n.title){o=o.replace(/{[^}]*}/g,""),o=o.trim();const i=o.replace(/\r/g,"").split(` +`;function QH(t){A.useEffect(()=>{if(!window.document.getElementById("loader-iobroker-component")){const n=window.document.createElement("style");n.setAttribute("id","loader-iobroker-component"),n.innerHTML=qve,window.document.head.appendChild(n)}},[]);const e=t.size||234,r=t.themeName||t.theme||t.themeType||"light";return m.createElement("div",{className:`logo-back logo-background-${r}`,style:{backgroundImage:t.backgroundImage&&t.backgroundImage!=="@@loginBackgroundImage@@"?t.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:t.backgroundColor&&t.backgroundColor!=="@@loginBackgroundColor@@"?t.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:m.createElement(m.Fragment,null,m.createElement("div",{className:"logo-div",style:{width:e,height:e}},m.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"37%"}}),m.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"57%"}}),m.createElement("div",{className:`logo-border logo-background-${r} logo-animate-wait`,style:{borderWidth:e*.132}}),m.createElement("div",{className:`logo-i logo-animate-color-inside-${r}`}),m.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{top:"18%"}}),m.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{bottom:"18%"}})),m.createElement("div",{className:`logo-animate-grow logo-animate-grow-${r}`,style:{width:e+11,height:e+11}})))}class Ph extends A.Component{constructor(r){super(r);X(this,"onHashChangedBound");this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let r=window.location.hash;r=r.replace(/^#/,"");const n=r.split("/").map(o=>{try{return o?decodeURIComponent(o):""}catch{return console.error(`Router: Cannot decode ${o}`),o}});return{tab:n[0]||"",dialog:n[1]||"",id:n[2]||"",arg:n[3]||""}}static doNavigate(r,n,o,a){let i="";const s=Ph.getLocation();a!==void 0&&!o&&(o=s.id),o&&!n&&(n=s.dialog),(n&&!r||r===null)&&(r=s.tab),r&&(i=`#${r}`,n&&(i+=`/${n}`,o&&(i+=`/${o}`,a!==void 0&&(i+=`/${a}`)))),window.location.hash!==i&&(window.location.hash=i)}}function Gve(){const t=document.getSelection();if(!(t!=null&&t.rangeCount))return()=>{};let e=document.activeElement;const r=[];for(let n=0;n{t.type==="Caret"&&t.removeAllRanges(),t.rangeCount||r.forEach(n=>t.addRange(n)),e&&e.focus()}}const B5={"text/plain":"Text","text/html":"Url",default:"Text"},Xve="Copy to clipboard: #{key}, Enter";function Jve(t){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return t.replace(/#{\s*key\s*}/g,e)}function Yve(t,e){let r,n,o,a,i=!1;e=e||{};const s=e.debug||!1;try{if(r=Gve(),n=document.createRange(),o=document.getSelection(),a=document.createElement("span"),a.textContent=t,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top="0px",a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.userSelect="text",a.addEventListener("copy",d=>{var h,u,f,g;if(d.stopPropagation(),e!=null&&e.format)if(d.preventDefault(),typeof d.clipboardData>"u"){s&&console.warn("unable to use e.clipboardData"),s&&console.warn("trying IE specific stuff"),(h=window.clipboardData)==null||h.clearData();const y=B5[e.format]||B5.default;(u=window.clipboardData)==null||u.setData(y,t)}else(f=d.clipboardData)==null||f.clearData(),(g=d.clipboardData)==null||g.setData(e.format,t)}),document.body.appendChild(a),n.selectNodeContents(a),o==null||o.addRange(n),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");i=!0}catch(l){s&&console.error("unable to copy using execCommand: ",l),s&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),i=!0}catch(d){s&&console.error("unable to copy using clipboardData: ",d),s&&console.error("falling back to prompt");const h=Jve("message"in e?e.message||"":Xve);window.prompt(h,t)}}finally{o&&(n&&typeof o.removeRange=="function"?o.removeRange(n):o.removeAllRanges()),a&&document.body.removeChild(a),r&&r()}return i}const tr=class tr{static setLanguage(e){e&&(tr.lang=e)}static extendTranslations(e,r){if(e.prefix){const n=e;if(typeof n.prefix=="string"){const o=n.prefix;delete n.prefix,Object.keys(n).forEach(a=>{const i=a,s={},l=n[i];Object.keys(l).forEach(d=>{d&&l&&(d.startsWith(o)?s[d]=l[d]:s[`${o}${d}`]=l[d])}),e[i]=s})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!r)e.en&&e.de&&e.ru?Object.keys(e).forEach(n=>{const o=n;tr.translations[o]=tr.translations[o]||{};const a=tr.translations[o];Object.assign(a,e[o])}):Object.keys(e).forEach(n=>{const o=e[n];Object.keys(o).forEach(a=>{const i=a,s=tr.translations[i];s?s[n]?s[n]!==o[i]&&console.warn(`Translation for word "${n}" in "${i}" was ignored: existing = "${s[n]}", new = ${o[i]}`):s[n]=o[i]:console.warn(`Used unknown language: ${i}`)})});else{tr.translations[r]||console.warn(`Used unknown language: ${r}`),tr.translations[r]=tr.translations[r]||{};const n=tr.translations[r];n&&Object.keys(e).forEach(o=>{n[o]?n[o]!==e[o]&&console.warn(`Translation for word "${o}" in "${r}" was ignored: existing = "${n[o]}", new = ${e[o]}`):n[o]=e[o]})}}catch(n){console.error(`Cannot apply translations: ${n}`)}}static setTranslations(e){e&&(tr.translations=e)}static getLanguage(){return tr.lang}static t(e,...r){const n=tr.translations[tr.lang];if(n){const o=n[e];if(o)e=o;else if(tr.unknownTranslations.includes(e)||(tr.unknownTranslations.push(e),!tr._disableWarning&&console.log(`Translate: ${e}`)),tr.lang!=="en"&&tr.translations.en){const a=tr.translations.en[e];a&&(e=a)}}for(const o of r)e=e.replace("%s",o);return e}static i18nShow(e){const r={};e?typeof e=="string"?(tr.unknownTranslations.forEach(n=>{n.startsWith(e)&&(r[n]=n.replace(e,""))}),console.log(JSON.stringify(r,null,2))):typeof e=="object"&&(tr.unknownTranslations.forEach(n=>{e.test(n)&&(r[n]=n)}),console.log(JSON.stringify(r,null,2))):(tr.unknownTranslations.forEach(n=>r[n]=n),console.log(JSON.stringify(r,null,2)))}static disableWarning(e){tr._disableWarning=!!e}};X(tr,"translations",{}),X(tr,"unknownTranslations",[]),X(tr,"lang",window.sysLang||"en"),X(tr,"_disableWarning",!1);let P=tr;window.i18nShow=P.i18nShow;window.i18nDisableWarning=P.disableWarning;const Wa="material",Kve=["Su","Mo","Tu","We","Th","Fr","Sa"],Zve=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],c1={0:"0x00 - good",1:"0x01 - general problem",2:"0x02 - no connection problem",16:"0x10 - substitute value from controller",32:"0x20 - substitute initial value",64:"0x40 - substitute value from device or instance",128:"0x80 - substitute value from sensor",17:"0x11 - general problem by instance",65:"0x41 - general problem by device",129:"0x81 - general problem by sensor",18:"0x12 - instance not connected",66:"0x42 - device not connected",130:"0x82 - sensor not connected",68:"0x44 - device reports error",132:"0x84 - sensor reports error"},W5={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"},sr=class sr{static CapitalWords(e){return(e||"").split(/[\s_]/).filter(r=>r).map(r=>r?r[0].toUpperCase()+r.substring(1).toLowerCase():"").join(" ")}static formatSeconds(e){const r=Math.floor(e/86400);e%=3600*24;const n=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const o=Math.floor(e/60).toString().padStart(2,"0");e%=60;const a=Math.floor(e).toString().padStart(2,"0");let i="";return r&&(i+=`${r} ${P.t("ra_daysShortText")} `),i+=`${n}:${o}:${a}`,i}static getObjectName(e,r,n,o,a){var l;const i=e[r];let s;if(typeof n=="string"&&!o&&(o={language:n},n=null),o=o||{},o.language||(o.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),n!=null&&n.name){const d=n.name;typeof d=="object"?s=o.language&&d[o.language]||d.en:s=d}else if(a&&((l=i==null?void 0:i.common)!=null&&l.desc)){const d=i.common.desc;typeof d=="object"?s=o.language&&d[o.language]||d.en||d.de||d.ru||"":s=d,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}else if(!a&&(i!=null&&i.common)){const d=i.common.name||i.common.desc;d&&typeof d=="object"?s=o.language&&d[o.language]||d.en||d.de||d.ru||"":s=d,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}else{const d=r.lastIndexOf(".");s=r.substring(d+1).replace(/[_.]/g," "),s=sr.CapitalWords(s)}return(s==null?void 0:s.trim())||""}static getObjectNameFromObj(e,r,n,o,a){var l,d;const i=e;let s=e&&e._id||"";if(typeof r=="string"&&!n&&(n={language:r},r=null),n=n||{},r!=null&&r.name){const h=r.name;typeof h=="object"?s=n.language&&h[n.language]||h.en:s=h}else if(o&&((l=i==null?void 0:i.common)!=null&&l.desc)){const h=i.common.desc;typeof h=="object"?s=n.language&&h[n.language]||h.en:s=h,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}else if(!o&&((d=i==null?void 0:i.common)!=null&&d.name)){let h=i.common.name;!h&&i.common.desc&&(h=i.common.desc),typeof h=="object"?s=n.language&&h[n.language]||h.en:s=h,s=(s||"").toString().replace(/[_.]/g," "),s===s.toUpperCase()&&(s=s[0]+s.substring(1).toLowerCase())}return a?s:s.trim()}static getSettingsOrder(e,r,n){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let a;if(o!=null&&o.custom){a=o.custom[Wa];const i=n.user||"admin";if(a&&a[i]){if(r){if(a[i].subOrder&&a[i].subOrder[r])return JSON.parse(JSON.stringify(a[i].subOrder[r]))}else if(a[i].order)return JSON.parse(JSON.stringify(a[i].order))}}return null}static getSettingsCustomURLs(e,r,n){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let a;if(o!=null&&o.custom){a=o.custom[Wa];const i=n.user||"admin";if(a&&a[i]){if(r){if(a[i].subURLs&&a[i].subURLs[r])return JSON.parse(JSON.stringify(a[i].subURLs[r]))}else if(a[i].URLs)return JSON.parse(JSON.stringify(a[i].URLs))}}return null}static reorder(e,r,n){const o=Array.from(e),[a]=o.splice(r,1);return o.splice(n,0,a),o}static getSettings(e,r,n){let o;const a=(e==null?void 0:e._id)||(r==null?void 0:r.id);let i;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?i=e.common:i=e,i!=null&&i.custom?(o=i.custom,o=o[Wa]&&o[Wa][r.user||"admin"]?JSON.parse(JSON.stringify(o[Wa][r.user||"admin"])):{enabled:!0}):o={enabled:n===void 0?!0:n,useCustom:!1},Object.prototype.hasOwnProperty.call(o,"enabled")||(o.enabled=n===void 0?!0:n),r&&(!o.name&&r.name&&(o.name=r.name),!o.icon&&r.icon&&(o.icon=r.icon),!o.color&&r.color&&(o.color=r.color)),i&&(!o.color&&i.color&&(o.color=i.color),!o.icon&&i.icon&&(o.icon=i.icon),!o.name&&i.name&&(o.name=i.name)),typeof o.name=="object"&&(o.name=r.language&&o.name[r.language]||o.name.en,o.name=(o.name||"").toString().replace(/_/g," "),o.name===o.name.toUpperCase()&&(o.name=o.name[0]+o.name.substring(1).toLowerCase())),!o.name&&a){const s=a.lastIndexOf(".");o.name=a.substring(s+1).replace(/[_.]/g," "),o.name=(o.name||"").toString().replace(/_/g," "),o.name=sr.CapitalWords(o.name)}return o}static setSettings(e,r,n){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[Wa]=e.common.custom[Wa]||{},e.common.custom[Wa][n.user||"admin"]=r;const o=e.common.custom[Wa][n.user||"admin"];return o.useCommon&&(o.color!==void 0&&(e.common.color=o.color,delete o.color),o.icon!==void 0&&(e.common.icon=o.icon,delete o.icon),o.name!==void 0&&(typeof e.common.name!="object"&&n.language?e.common.name={[n.language]:o.name}:typeof e.common.name=="object"&&n.language&&(e.common.name[n.language]=o.name),delete o.name)),!0}return!1}static getIcon(e,r){return e!=null&&e.icon?e.icon.length<=2?m.createElement("span",{style:r||{}},e.icon):e.icon.startsWith("data:image")?m.createElement("img",{alt:e.name,src:e.icon,style:r||{}}):m.createElement("img",{alt:e.name,src:(e.prefix||"")+e.icon,style:r}):null}static getObjectIcon(e,r){var n;if(typeof e=="object"&&(r=e,e=r==null?void 0:r._id),(n=r==null?void 0:r.common)!=null&&n.icon){let o=r.common.icon;if(typeof o=="string"&&o.length<=2||o.startsWith("data:image"))return o;const a=e.split(".");return a[0]==="system"?o=`adapter/${a[2]}${o.startsWith("/")?"":"/"}${o}`:o=`adapter/${a[0]}${o.startsWith("/")?"":"/"}${o}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?o=`../../${o}`:window.location.pathname.match(/material\/[.\d]+/)?o=`../../${o}`:window.location.pathname.match(/material\//)&&(o=`../${o}`),o}return null}static splitCamelCase(e){return e?sr.CapitalWords(e):""}static isUseBright(e,r){if(!e)return r===void 0?!0:r;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let n,o,a;const i=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(i&&i.length===4)n=parseInt(i[1],10),o=parseInt(i[2],10),a=parseInt(i[3],10);else{if(e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length===8)e=e.substring(0,6);else if(e.length!==6)return!1;n=parseInt(e.slice(0,2),16),o=parseInt(e.slice(2,4),16),a=parseInt(e.slice(4,6),16)}return n*.299+o*.587+a*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const r=Math.floor(e/3600),n=Math.floor(e%3600/60).toString().padStart(2,"0"),o=(e%60).toString().padStart(2,"0");return r?`${r}:${n}:${o}`:`${n}:${o}`}static getWindDirection(e){return e>=0&&e<11.25?"N":e>=11.25&&e<33.75?"NNE":e>=33.75&&e<56.25?"NE":e>=56.25&&e<78.75?"ENE":e>=78.75&&e<101.25?"E":e>=101.25&&e<123.75?"ESE":e>=123.75&&e<146.25?"SE":e>=146.25&&e<168.75?"SSE":e>=168.75&&e<191.25?"S":e>=191.25&&e<213.75?"SSW":e>=213.75&&e<236.25?"SW":e>=236.25&&e<258.75?"WSW":e>=258.75&&e<281.25?"W":e>=281.25&&e<303.75?"WNW":e>=303.75&&e<326.25?"NW":e>=326.25&&e<348.75?"NNW":"N"}static padding(e){return typeof e=="string"?e.length<2?`0${e}`:e:e<10?`0${e}`:e.toString()}static setDataFormat(e){e&&(sr.dateFormat=e.toUpperCase().split(/[.-/]/),sr.dateFormat.splice(sr.dateFormat.indexOf("YYYY"),1))}static date2string(e){if(typeof e=="string"){if(e=e.trim(),!e)return"";if(e.match(/^[\w\s]+$/))return e;const n=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(n){const o=[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10)],a=o.find(i=>i>31);if(a!==void 0){o.splice(o.indexOf(a),1);const i=o.find(s=>s>12);i?(o.splice(o.indexOf(i),1),e=new Date(a,o[0]-1,i)):sr.dateFormat[0][0]==="M"&&sr.dateFormat[1][0]==="D"?(e=new Date(a,o[0]-1,o[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(a,o[1]-1,o[0]))):sr.dateFormat[0][0]==="D"&&sr.dateFormat[1][0]==="M"?(e=new Date(a,o[1]-1,o[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(a,o[0]-1,o[1]))):e=new Date(e)}else e=new Date(e)}else e=new Date(e)}else e=new Date(e);let r=P.t(`ra_dow_${Kve[e.getDay()]}`).replace("ra_dow_","");return r+=`. ${e.getDate()} ${P.t(`ra_month_${Zve[e.getMonth()]}`).replace("ra_month_","")}`,r}static renderTextWithA(e){let r=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(r){const n=[];let o=1;do{const a=e.substring(0,r.index);if(e=e.substring((r.index||0)+r[0].length),a&&n.push(m.createElement("span",{key:`a${o++}`},a)),r[0].startsWith(""))n.push(m.createElement("b",{key:`a${o++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith(""))n.push(m.createElement("i",{key:`a${o++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!r&&e&&n.push(m.createElement("span",{key:`a${o++}`},e))}while(r);return n}return e}static getSmartName(e,r,n,o){var i,s;if(!r){if(!o)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const l=e;return(i=l==null?void 0:l.common)!=null&&i.custom&&l.common.custom[n]?l.common.custom[n].smartName:void 0}if(!o)return e[r].common.smartName;const a=e[r];return(s=a==null?void 0:a.common)!=null&&s.custom&&a.common.custom[n]&&a.common.custom[n].smartName||null}static getSmartNameFromObj(e,r,n){var a,i;if(!n)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const o=(i=(a=e==null?void 0:e.common)==null?void 0:a.custom)==null?void 0:i[r];return o?o.smartName:void 0}static enableSmartName(e,r,n){n?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName={}):e.common.smartName={}}static removeSmartName(e,r,n){n?e.common&&e.common.custom&&e.common.custom[r]&&(e.common.custom[r]=null):e.common.smartName=null}static updateSmartName(e,r,n,o,a,i){const s=P.getLanguage();if(typeof e.common.smartName=="string"){const l=e.common.smartName;e.common.smartName={},e.common.smartName[s]=l}if(e.native&&e.native.byON){delete e.native.byON;let l=e.common.smartName;l&&typeof l!="object"&&(l={en:l,[s]:l}),e.common.smartName=l}if(o!==void 0&&(i?(e.common.custom=e.common.custom||{},e.common.custom[a]=e.common.custom[a]||{},e.common.custom[a].smartName=e.common.custom[a].smartName||{},o?e.common.custom[a].smartName.smartType=o:delete e.common.custom[a].smartName.smartType):(e.common.smartName=e.common.smartName||{},o?e.common.smartName.smartType=o:delete e.common.smartName.smartType)),n!==void 0&&(i?(e.common.custom=e.common.custom||{},e.common.custom[a]=e.common.custom[a]||{},e.common.custom[a].smartName=e.common.custom[a].smartName||{},e.common.custom[a].smartName.byON=n):(e.common.smartName=e.common.smartName||{},e.common.smartName.byON=n)),r!==void 0){let l;if(i?(e.common.custom=e.common.custom||{},e.common.custom[a]=e.common.custom[a]||{},e.common.custom[a].smartName=e.common.custom[a].smartName||{},l=e.common.custom[a].smartName):(e.common.smartName=e.common.smartName||{},l=e.common.smartName),l[s]=r,l&&(!l[s]||l[s]===e.common.name&&(!e.common.role||e.common.role.includes("button")))){delete l[s];let d=!0;for(const h in l)if(Object.prototype.hasOwnProperty.call(l,h)){d=!1;break}if(d)if(i&&e.common.custom&&e.common.custom[a])e.common.custom[a].smartName.byON===void 0?delete e.common.custom[a]:(delete e.common.custom[a].en,delete e.common.custom[a].de,delete e.common.custom[a].ru,delete e.common.custom[a].nl,delete e.common.custom[a].pl,delete e.common.custom[a].it,delete e.common.custom[a].fr,delete e.common.custom[a].pt,delete e.common.custom[a].es,delete e.common.custom[a].uk,delete e.common.custom[a]["zh-cn"]);else if(e.common.smartName&&e.common.smartName.byON!==void 0){const h=e.common.smartName;delete h.en,delete h.de,delete h.ru,delete h.nl,delete h.pl,delete h.it,delete h.fr,delete h.pt,delete h.es,delete h.uk,delete h["zh-cn"]}else e.common.smartName=null}}}static disableSmartName(e,r,n){n?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=!1):e.common.smartName=!1}static copyToClipboard(e,r){return r&&(r.stopPropagation(),r.preventDefault()),Yve(e)}static getFileExtension(e){const r=(e||"").lastIndexOf(".");return r!==-1?e.substring(r+1).toLowerCase():null}static formatBytes(e){if(Math.abs(e)<1024)return`${e} B`;const r=["KB","MB","GB"];let n=-1;do e/=1024,++n;while(Math.abs(e)>=1024&&n186?`#000000${n||""}`:`#FFFFFF${n||""}`;const s=(255-o).toString(16),l=(255-a).toString(16),d=(255-i).toString(16);return`#${s.padStart(2,"0")}${l.padStart(2,"0")}${d.padStart(2,"0")}${n||""}`}static color2rgb(e){if(e==null||e===""||typeof e!="string")return!1;if(e.startsWith("rgba")){const r=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);r&&(e=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else if(e.startsWith("rgb")){const r=e.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);r&&(e=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else e.startsWith("#")&&(e=e.slice(1));return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length!==6&&e.length!==8?(console.warn(`Cannot invert color: ${e}`),!1):[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}static rgb2lab(e){let r=e[0]/255,n=e[1]/255,o=e[2]/255;r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=(r*.4124+n*.3576+o*.1805)/.95047,i=r*.2126+n*.7152+o*.0722,s=(r*.0193+n*.1192+o*.9505)/1.08883;return a=a>.008856?a**.33333333:7.787*a+.137931,i=i>.008856?i**.33333333:7.787*i+.137931,s=s>.008856?s**.33333333:7.787*s+.137931,[116*i-16,500*(a-i),200*(i-s)]}static colorDistance(e,r){const n=sr.color2rgb(e),o=sr.color2rgb(r);if(!n||!o)return 0;const a=sr.rgb2lab(n),i=sr.rgb2lab(o),s=a[0]-i[0],l=a[1]-i[1],d=a[2]-i[2],h=Math.sqrt(a[1]*a[1]+a[2]*a[2]),u=Math.sqrt(i[1]*i[1]+i[2]*i[2]),f=h-u;let g=l*l+d*d-f*f;g=g<0?0:Math.sqrt(g);const y=1+.045*h,b=1+.015*h,x=s,S=f/y,T=g/b,E=x*x+S*S+T*T;return E<0?0:E}static _toVal(e){let r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e))for(let o=0;o{if(n=n.trim(),n){const o=n.split("="),a=decodeURIComponent(o[0]).trim();if(o.length>1){const i=decodeURIComponent(o[1]);if(i==="true")r[a]=!0;else if(i==="false")r[a]=!1;else{const s=parseFloat(i);s.toString()===i?r[a]=s:r[a]=i}}else r[a]=!0}}),r}static getParentId(e){const r=(e||"").toString().split(".");return r.length>1?(r.pop(),r.join(".")):null}static formatDate(e,r){if(!e)return"";let n;const o=(e.getMonth()+1).toString().padStart(2,"0"),a=e.getDate().toString().padStart(2,"0");return r==="MM/DD/YYYY"?n=`${o}/${a}/${e.getFullYear()}`:n=`${e.getFullYear()}-${o}-${a}`,n+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,n}static formatTime(e){if(e){e=Math.round(e);const r=Math.floor(e/(3600*24)),n=Math.floor(e%(3600*24)/3600),o=Math.floor(e%3600/60),a=e%60;return r?`${r}.${n.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`:n?`${n}:${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`:`0:${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(e){const r=e.match(/\d+\.\)\s/);return r&&(e=e.replace(r[0],r[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,r){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),r==="this"?window.location.href=e:window.open(e,r||"_blank")}static MDgetTitle(e){var a;const r=sr.MDextractHeader(e),n=r.header;let o=r.body;if(!n.title){o=o.replace(/{[^}]*}/g,""),o=o.trim();const i=o.replace(/\r/g,"").split(` `);for(let s=0;s{if(!i.trim())return;const s=i.indexOf(":");if(s!==-1){const l=i.substring(0,s).trim();let d=i.substring(s+1).trim();d=d.replace(/^['"]|['"]$/g,""),d==="true"?r[l]=!0:d==="false"?r[l]=!1:parseFloat(d).toString()===r[l]?r[l]=parseFloat(d):r[l]=d}else r[i.trim()]=!0}),e=e.substring(n+7))}return{header:r,body:e}}static MDremoveDocsify(e){const r=e.match(/{docsify-[^}]*}/g);return r&&r.forEach(n=>e=e.replace(n,"")),e}static generateFile(e,r){const n=document.createElement("a");n.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(r,null,2))}`),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}static quality2text(e){const r=e&4294901760,n=c1[e];let o;return n?o=[n]:e&1?o=[c1[1],`0x${(e&65534).toString(16)}`]:e&2?o=[c1[2],`0x${(e&65533).toString(16)}`]:o=[`0x${e.toString(16)}`],r&&o.push(`0x${(r>>16).toString(16).toUpperCase()}`),o}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var o;const r=(o=e==null?void 0:e.common)==null?void 0:o.states;let n;if(r)if(typeof r=="string"&&r[0]==="{")try{n=JSON.parse(r)}catch{console.error(`Cannot parse states: ${r}`),n=null}else if(typeof r=="string"){const a=r.split(";");n={};for(let i=0;in[i]=a):(e==null?void 0:e.common.type)==="string"?r.forEach(a=>n[a]=a):(e==null?void 0:e.common.type)==="boolean"&&(n.false=r[0],n.true=r[1])):typeof r=="object"&&(n=r);return n||null}static async getSvg(e){const n=await(await fetch(e)).blob();return new Promise(o=>{const a=new FileReader;a.onload=()=>{var i;return o(((i=a.result)==null?void 0:i.toString())||"")},a.readAsDataURL(n)})}static detectMimeType(e){const r=Object.keys(W5).find(n=>e.startsWith(n));return r?W5[r]:null}static isStableRepository(e){return!!(typeof e=="string"&&e.toLowerCase().startsWith("stable")||e&&typeof e!="string"&&e.find(r=>r.toLowerCase().startsWith("stable")))}static isStringInteger(e){return typeof e=="number"?Math.round(e)===e:parseInt(e,10).toString()===e}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getStyle(e,...r){const n={};for(let o=0;o{if(typeof r[o][a]=="function")n[a]=r[o][a](e);else if(typeof r[o][a]=="object"){const i=r[o][a];n[a]={},Object.keys(i).forEach(s=>{typeof i[s]=="function"?n[a][s]=i(e):(i[s]||i[s]===0)&&(n[a][s]=i[s])})}else(r[o][a]||r[o][a]===0)&&(n[a]=r[o][a])});return n}};X(sr,"namespace",Wa),X(sr,"INSTANCES","instances"),X(sr,"dateFormat",["DD","MM"]),X(sr,"FORBIDDEN_CHARS",/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu);let ue=sr;const d1={buttonIcon:{marginRight:8}};class Zve extends m.Component{constructor(r){super(r);X(this,"isIFrame");const n=r.newReact===void 0?!0:r.newReact;if(r.isIFrame!==void 0)this.isIFrame=r.isIFrame;else try{this.isIFrame=!n&&window.self!==window.top}catch{this.isIFrame=!n}}render(){const r=this.props.noTextOnButtons,n={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},o={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(o.minHeight=48),this.props.error&&(n.border="1px solid red"),m.createElement(af,{style:o},m.createElement(ro,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:n},m.createElement(s2,{style:r?void 0:d1.buttonIcon}),!r&&P.t("ra_Save")),m.createElement(ro,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...n,marginLeft:10}},m.createElement(s2,{style:r?void 0:d1.buttonIcon}),r?"+":P.t("ra_Save and close"),r&&m.createElement(Ar,null)),m.createElement("div",{style:{flexGrow:1}}),m.createElement(ro,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:n},m.createElement(Ar,{style:r?void 0:d1.buttonIcon}),!r&&P.t("ra_Close")))}}const H5={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class PO extends A.Component{constructor(e){if(super(e),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let r=!1;this.props.suppressQuestionMinutes&&(r=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,r?Date.now()>r&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),r=!1):r=!1),this.state={suppress:r}}handleOk(){this.state.suppress&&(window._localStorage||window.localStorage).setItem(this.props.dialogName,Date.now()+(this.props.suppressQuestionMinutes||2)*6e4),this.props.onClose&&this.props.onClose(!0)}handleCancel(){this.props.onClose&&this.props.onClose(!1)}render(){return typeof this.state.suppress=="number"?(setTimeout(()=>this.props.onClose&&this.props.onClose(!0),100),null):m.createElement(or,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(e,r)=>{r!=="backdropClick"&&r!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},m.createElement(_r,{id:"ar_confirmation_dialog_title"},this.props.title||P.t("ra_Are you sure?")),m.createElement(Wr,null,m.createElement(Ds,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?m.createElement("br",null):null,this.props.suppressQuestionMinutes?m.createElement(St,{sx:{"& .FormControlLabel-label":H5.suppress,"&.FormControlLabel-root":H5.suppressRoot},control:m.createElement(yr,{id:`ar_dialog_confirm_suppress_${this.props.dialogName||""}`,checked:!!this.state.suppress,onChange:()=>this.setState({suppress:!this.state.suppress})}),label:this.props.suppressText||P.t("ra_Suppress question for next %s minutes",(this.props.suppressQuestionMinutes||2).toString())}):null)),m.createElement(pr,null,m.createElement(tt,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:m.createElement(Ar,null)},this.props.cancel||P.t("ra_Cancel"))))}}class eU extends A.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return m.createElement(or,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},m.createElement(_r,{id:"ar_alert_dialog_title"},this.props.title||P.t("ra_Error")),m.createElement(Wr,null,m.createElement(Ds,{id:"ar_alert_dialog_description"},this.props.text||P.t("ra_Unknown error!"))),m.createElement(pr,null,m.createElement(tt,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:m.createElement(Ea,null)},P.t("ra_Ok"))))}}const Qve="Append",eye="Cancel",tye="Categories",rye="Checked",nye="Delete",oye="Close",aye="Commercial",iye="Configure",sye="Connected",lye="Copied",cye="Create",dye="Crop",uye="Delete",pye="Delete",hye="Discard",fye="Disconnected",mye="Error",gye="Filter",vye="Friday",yye="Latitude",_ye="Expires in",bye="Longitude",wye="Message",xye="Monday",Sye="Name",Cye="Objects",$ye="Ok",kye="Product",Eye="Repeat",Tye="Replace",Oye="Root",Dye="Saturday",Aye="Save",Iye="Selected",Mye="States",Pye="Sunday",Nye="Thursday",Rye="Timestamp",jye="Tuesday",Lye="Update",zye="Valid till",Fye="Value",Bye="Version",Wye="Wednesday",Hye="Width",Uye="Yes",Vye="different",qye="Everyone can read object",Gye="Everyone can read state",Xye="Everyone can write object",Jye="Everyone can write state",Yye="Group can read object",Kye="Group can read state",Zye="Group can write object",Qye="Group can write state",e_e="Owner can read object",t_e="Owner can read state",r_e="Owner can write object",n_e="Owner can write state",o_e="Buttons",a_e="Changed from",i_e="close",s_e="Create boolean state",l_e="Create channel",c_e="Create device",d_e="Create number state",u_e="Create state",p_e="Create string state",h_e="days",f_e="Fr",m_e="Mo",g_e="Sa",v_e="Su",y_e="Th",__e="Tu",b_e="We",w_e="Expert mode",x_e="All files",S_e="Audio",C_e="Code/JSON",$_e="Images",k_e="Text",E_e="Video",T_e="Settings",O_e="without",D_e="Function",A_e="ID",I_e="Name",M_e="Role",P_e="Room",N_e="Type",R_e="Invalid settings",j_e="Last change",L_e="locally",z_e="Apr",F_e="Aug",B_e="Dec",W_e="Feb",H_e="Jan",U_e="Jul",V_e="Jun",q_e="Mai",G_e="Mar",X_e="Nov",J_e="Oct",Y_e="Sep",K_e="Apr",Z_e="Aug",Q_e="Dec",e0e="Feb",t0e="Jan",r0e="Jul",n0e="Jun",o0e="Mai",a0e="Mar",i0e="Nov",s0e="Oct",l0e="Sep",c0e="none",d0e="Object changed by",u0e="Object last changed at",p0e="Settings from other adapter %s",h0e="Quality code",f0e="repeat",m0e='To select folder, just hold the key "shift" by clicking the folder.',g0e="State changed by",v0e="Object changed from",y0e="Timestamp",_0e="Acknowledged",b0e="Comment",w0e="Copy the state value",x0e="Custom settings",S0e="Delete object",C0e="Edit object",$0e="Edit the state value",k0e="From",E0e="Last changed",T0e="Quality",O0e="Time stamp",D0e="User",A0e="Value",I0e="Value",M0e="Warning: The CRON job will run every minute during the specified period!",P0e="Warning: The CRON job will run every second during the specified period!",N0e="CRON",R0e="Date",j0e="Dates",L0e="Day",z0e="Day of week",F0e="Every",B0e="every N days",W0e="every Nth day of the week",H0e="every N day of week",U0e="every N hours",V0e="every N minutes",q0e="every N months",G0e="every N seconds",X0e="every day",J0e="every day of the week",Y0e="every day of the week",K0e="every hour",Z0e="every minute",Q0e="every month",ebe="every second",tbe="From",rbe="Hours",nbe="Interval",obe="Interval between",abe="Invalid CRON",ibe="Minutes",sbe="months",lbe="Once",cbe="Period",dbe="Seconds",ube="Simple",pbe="Specific time",hbe="specific dates",fbe="specific day(s) of the week",mbe="specific day of weeks",gbe="specific hours",vbe="specific minutes",ybe="specific months",_be="specific seconds",bbe="Time",wbe="To",xbe="Wizard",Sbe="all",Cbe="Astro day",$be="Astro night",kbe="Dawn",Ebe="Dusk",Tbe="Golden hour",Obe="Golden hour end",Dbe="Nadir",Abe="Nautical dawn",Ibe="Nautical dusk",Mbe="Night",Pbe="Night end",Nbe="Solar noon",Rbe="Sunrise",jbe="Sunrise end",Lbe="Sunset",zbe="Sunset start",Fbe="at",Bbe="at %s",Wbe="every day",Hbe="every hour",Ube="every minute",Vbe="every month",qbe="every %s day",Gbe="every %s hours",Xbe="every %s minutes",Jbe="every %s months",Ybe="every %s weeks",Kbe="every %s years",Zbe="every week",Qbe="every year",e1e="from %s to %s",t1e="never",r1e="on %s of %s",n1e="on %s and %s of",o1e="on every date of",a1e="%s",i1e="%s and %s",s1e="on %s",l1e="on %s and %s",c1e="on weekends",d1e="on working days",u1e="will ne be not executed any more, because start is in the past",p1e="on %s",h1e="from %s",f1e="Execute from to",m1e="to %s",g1e="every",v1e="Specific time",y1e="from",_1e="From-to",b1e="Interval time",w1e="invert",x1e="none",S1e="on",C1e="Period",$1e="Daily",k1e="Dates",E1e="Day",T1e="Every",O1e="Every day",D1e="Every month",A1e="Every week",I1e="Every year",M1e="Hours",P1e="Minutes",N1e="month",R1e="Monthly",j1e="Once",L1e="Specific months",z1e="Week",F1e="Weekdays",B1e="Weekend",W1e="Weekly",H1e="Workdays",U1e="Year",V1e="Yearly",q1e="Specific time",G1e="Time",X1e="to",J1e="Valid",Y1e="from",K1e="to",Z1e="Whole day",Q1e="every month",ewe={"ra_%s links from aliases":"%s links from aliases","ra_%s object(s) processed":"%s object(s) processed","ra_%s was imported":"%s was imported","ra_Accept license":"Accept license","ra_Add new child object to selected parent":"Add new child object to selected parent","ra_Add objects tree from JSON file":"Add objects tree from JSON file","ra_Add row":"Add row","ra_Advanced options":"Advanced options","ra_All items are filtered out":"All items are filtered out","ra_All objects":"All objects",ra_Append:Qve,"ra_Append %s entries or replace existing?":"Append %s entries or replace existing?","ra_Append or replace?":"Append or replace?","ra_Are you sure?":"Are you sure?","ra_Auto (no custom columns)":"Auto (no custom columns)","ra_Back to %s":"Back to %s","ra_Background image":"Background image",ra_Cancel:eye,"ra_Cannot add items with set filter":"Cannot add items with set filter","ra_Cannot decode license":"Cannot decode license","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Cannot determine position: System settings are empty and GPS detection is disabled in browser",'ra_Cannot find "%s"':'Cannot find "%s"','ra_Cannot read "%s"':'Cannot read "%s"',"ra_Cannot read licenses: %s":"Cannot read licenses: %s","ra_Cannot retrieve options, as instance is offline":"Cannot retrieve options, as instance is offline","ra_Cannot update attribute, because not found in the object":"Cannot update attribute, because not found in the object","ra_Cannot upload":"Cannot upload",ra_Categories:tye,"ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel → State":"Channel → State","ra_Check license":"Check license",ra_Checked:rye,ra_Clear:nye,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Clone current row":"Clone current row",ra_Close:oye,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:aye,ra_Configure:iye,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:sye,ra_Copied:lye,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:cye,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:dye,"ra_Define CRON...":"Define CRON...","ra_Define functions":"Define functions","ra_Define rooms":"Define rooms","ra_Define schedule":"Define schedule","ra_Define schedule...":"Define schedule...",ra_Del:uye,ra_Delete:pye,"ra_Delete (no confirm for 5 mins)":"Delete (no confirm for 5 mins)","ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State",ra_Discard:hye,ra_Disconnected:fye,"ra_Do not export values of states":"Do not export values of states","ra_Do not use let's encrypt":"Do not use let's encrypt","ra_Double click to reset table layout":"Double click to reset table layout","ra_Drag 'n' drop some files here, or click to select files":"Drag 'n' drop some files here, or click to select files","ra_Drop file here":"Drop file here","ra_Drop the files here...":"Drop the file here...","ra_Duplicate name":"Duplicate name","ra_Edit ACL":"Edit ACL","ra_Edit alias":"Edit alias","ra_Edit custom config":"Edit custom config","ra_Edit function":"Edit function","ra_Edit object field":"Edit object field","ra_Edit role":"Edit role","ra_Edit room":"Edit room","ra_Edit value":"Edit value",ra_Error:mye,"ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Export data to %s file":"Export data to %s file","ra_Failed to open JSON File":"Failed to open JSON File","ra_Fallback custom certificates":"Fallback custom certificates","ra_File is too big. Max %sk allowed. Try use SVG.":"File is too big. Max %sk allowed. Try use SVG.",ra_Filter:gye,"ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder → Channel → State":"Folder → Channel → State","ra_Folder → Device → Channel → State":"Folder → Device → Channel → State","ra_Folder → State":"Folder → State","ra_Folders always first":"Folders always first",ra_Friday:vye,"ra_Good luck":"Good luck","ra_Hide empty folders":"Hide empty folders","ra_If no file will be created in the folder, it will disappear after the browser closed":"If no file will be created in the folder, it will disappear after the browser closed","ra_Import data from %s file":"Import data from %s file","ra_Import from %s":"Import from %s","ra_Instance %s is alive":"Instance %s is alive","ra_Instance %s is not alive":"Instance %s is not alive","ra_Instance is not alive":"Instance is not alive","ra_Invalid CRON":"Invalid CRON","ra_Invalid JSON":"Invalid JSON","ra_Invalid answer from server":"Invalid answer from server","ra_Invalid parent folder!":"Invalid parent folder!","ra_Invalid structure":"Invalid structure","ra_JSON editor":"JSON editor","ra_Last change":"Last change",ra_Latitude:yye,"ra_License %s":"License %s","ra_License agreement":"License agreement","ra_License does not exist":"License does not exist",ra_tooltip_expire:_ye,"ra_License expired on %s":"License expired on %s",'ra_License for other product "%s"':'License for other product "%s"',"ra_License is for version %s, but required version is %s.":"License is for version %s, but required version is %s.","ra_License must be converted":"License must be converted to newer version. You can do it in your iobroker.net profile.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"License not found in the license manager. Do you want to update licenses from iobroker.net?","ra_Listen on all IPs":"Listen on all IPs","ra_Load configuration from file":"Load configuration from file",ra_Longitude:bye,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:wye,ra_Monday:xye,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:Sye,"ra_No data found in file":"No data found in file","ra_No one license found in license manager":"No one license found in license manager","ra_No response from the backend":"No response from the backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Non-experts may create new objects only in "0_userdata.0" or "alias.0".',"ra_Not a number":"Not a number",ra_Objects:Cye,ra_Ok:$ye,"ra_On weekdays":"On weekdays","ra_Only following structures of objects are available:":"Only following structures of objects are available:","ra_Only selected":"Only selected","ra_Owner group":"Owner group","ra_Owner user":"Owner user","ra_Passwords are not equal!":"Passwords are not equal!","ra_Place your files here or click here to open the browse dialog":"Place your files here or click here to open the browse dialog","ra_Please confirm":"Please confirm","ra_Please create license":"Please create license","ra_Please enter the license":"Please enter the license","ra_Please select file...":"Please select file...","ra_Please select object ID...":"Please select object ID...","ra_Port could be used by %s":"Port could be used by %s","ra_Port is already used by %s":"Port is already used by %s","ra_Private certificate":"Private certificate",ra_Product:kye,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Repeat:Eye,ra_Replace:Tye,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:Oye,ra_Saturday:Dye,ra_Save:Aye,"ra_Save and close":"Save and close","ra_Save configuration to file":"Save configuration to file","ra_Save objects tree as JSON file":"Save objects tree as JSON file","ra_Select all":"Select all","ra_Select color":"Select color","ra_Select predefined icon":"Select predefined icon","ra_Select type of export":"Select type of export",ra_Selected:Iye,"ra_Selected %s object(s)":"Selected %s object(s)","ra_Serial number (UUID)":"Serial number (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serial number (UUID) "%s" in license is for other device.',"ra_Show all folders":"Show all folders","ra_Show lines between rows":"Show lines between rows","ra_Show/Hide object descriptions":"Show/Hide object descriptions","ra_Show/hide filter input":"Show/hide filter input","ra_Some data are not stored. Discard?":"Some data are not stored. Discard?",ra_States:Mye,"ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:Pye,"ra_Suppress question for next %s minutes":"Suppress question for next %s minutes","ra_System language":"System language","ra_Take browser position":"Take position from browser","ra_Take position from system settings":"Take position from system settings",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").',"ra_The page you are looking for was not found":"The page you are looking for was not found","ra_The schedule will be executed every minute. Are you sure?":"The schedule will be executed every minute. Are you sure?","ra_The schedule will be executed every second. Are you sure?":"The schedule will be executed every second. Are you sure?",ra_Thursday:Nye,ra_Timestamp:Rye,"ra_Toggle expert mode":"Toggle expert mode","ra_Toggle the states view":"Toggle the states view","ra_Toggle view mode":"Toggle view mode","ra_Too big":"Too big","ra_Too small":"Too small","ra_Transparent dialog":"Transparent dialog",ra_Tuesday:jye,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:Lye,"ra_Upload file":"Upload file","ra_Use all available let's encrypt certificates":"Use all available let's encrypt certificates","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use iobroker.acme adapter for letsencrypt certificates","ra_Use system settings for position":"Use system settings for position","ra_Used system settings":"Used system settings","ra_User files":"User files",ra_ValidTill:zye,ra_Value:Fye,ra_Version:Bye,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:Wye,ra_Width:Hye,ra_Yes:Uye,"ra_You can export all objects or just the selected branch.":"You can export all objects or just the selected branch.","ra_You can filter entries by entering here some text":"You can filter entries by entering here some text",ra___different__:Vye,ra_aclEveryone_read_object:qye,ra_aclEveryone_read_state:Gye,ra_aclEveryone_write_object:Xye,ra_aclEveryone_write_state:Jye,ra_aclGroup_read_object:Yye,ra_aclGroup_read_state:Kye,ra_aclGroup_write_object:Zye,ra_aclGroup_write_state:Qye,ra_aclOwner_read_object:e_e,ra_aclOwner_read_state:t_e,ra_aclOwner_write_object:r_e,ra_aclOwner_write_state:n_e,ra_buttons:o_e,ra_changedFrom:a_e,ra_close:i_e,ra_create_boolean_state:s_e,ra_create_channel:l_e,ra_create_device:c_e,ra_create_number_state:d_e,ra_create_state:u_e,ra_create_string_state:p_e,ra_daysShortText:h_e,ra_dow_Fr:f_e,ra_dow_Mo:m_e,ra_dow_Sa:g_e,ra_dow_Su:v_e,ra_dow_Th:y_e,ra_dow_Tu:__e,ra_dow_We:b_e,ra_expertMode:w_e,ra_fileType_all:x_e,ra_fileType_audio:S_e,ra_fileType_code:C_e,ra_fileType_images:$_e,ra_fileType_txt:k_e,ra_fileType_video:E_e,"ra_fileType_video,":"Video",ra_filter_customs:T_e,ra_filter_customs_without:O_e,ra_filter_func:D_e,ra_filter_id:A_e,ra_filter_name:I_e,ra_filter_role:M_e,ra_filter_room:P_e,ra_filter_type:N_e,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:R_e,ra_lastChange:j_e,ra_locally:L_e,ra_month_Apr:z_e,ra_month_Aug:F_e,ra_month_Dec:B_e,ra_month_Feb:W_e,ra_month_Jan:H_e,ra_month_Jul:U_e,ra_month_Jun:V_e,ra_month_Mai:q_e,ra_month_Mar:G_e,ra_month_Nov:X_e,ra_month_Oct:J_e,ra_month_Sep:Y_e,ra_months_Apr:K_e,ra_months_Aug:Z_e,ra_months_Dec:Q_e,ra_months_Feb:e0e,ra_months_Jan:t0e,ra_months_Jul:r0e,ra_months_Jun:n0e,ra_months_Mai:o0e,ra_months_Mar:a0e,ra_months_Nov:i0e,ra_months_Oct:s0e,ra_months_Sep:l0e,ra_none:c0e,ra_object_changed_by:d0e,ra_object_changed_by_user:u0e,ra_otherConfig:p0e,ra_qualityCode:h0e,ra_repeat:f0e,ra_select_folder_hint:m0e,ra_state_changed_by:g0e,ra_state_changed_from:v0e,ra_timestamp:y0e,ra_tooltip_ack:_0e,ra_tooltip_comment:b0e,ra_tooltip_copyState:w0e,ra_tooltip_customConfig:x0e,ra_tooltip_deleteObject:S0e,ra_tooltip_editObject:C0e,ra_tooltip_editState:$0e,ra_tooltip_from:k0e,ra_tooltip_lc:E0e,ra_tooltip_quality:T0e,ra_tooltip_ts:O0e,ra_tooltip_user:D0e,ra_tooltip_value:A0e,"ra_use seconds":"use seconds",ra_val:I0e,"ra_via internet":"via internet",ra_warning_every_minute:M0e,ra_warning_every_second:P0e,sc_cron:N0e,sc_date:R0e,sc_dates:j0e,sc_dow:L0e,sc_dows:z0e,sc_every:F0e,sc_everyN_dates:B0e,sc_everyN_dow:W0e,sc_everyN_dows:H0e,sc_everyN_hours:U0e,sc_everyN_minutes:V0e,sc_everyN_months:q0e,sc_everyN_seconds:G0e,sc_every_dates:X0e,sc_every_dow:J0e,sc_every_dows:Y0e,sc_every_hours:K0e,sc_every_minutes:Z0e,sc_every_months:Q0e,sc_every_seconds:ebe,sc_from:tbe,sc_hours:rbe,sc_interval:nbe,sc_intervalBetween:obe,sc_invalid_cron:abe,sc_minutes:ibe,sc_months:sbe,sc_once:lbe,sc_period:cbe,sc_seconds:dbe,sc_simple:ube,sc_specific:pbe,sc_specific_dates:hbe,sc_specific_dow:fbe,sc_specific_dows:mbe,sc_specific_hours:gbe,sc_specific_minutes:vbe,sc_specific_months:ybe,sc_specific_seconds:_be,sc_time:bbe,sc_to:wbe,sc_wizard:xbe,sch_all:Sbe,sch_astroDay:Cbe,sch_astroNight:$be,sch_astro_dawn:kbe,sch_astro_dusk:Ebe,sch_astro_goldenHour:Tbe,sch_astro_goldenHourEnd:Obe,sch_astro_nadir:Dbe,sch_astro_nauticalDawn:Abe,sch_astro_nauticalDusk:Ibe,sch_astro_night:Mbe,sch_astro_nightEnd:Pbe,sch_astro_solarNoon:Nbe,sch_astro_sunrise:Rbe,sch_astro_sunriseEnd:jbe,sch_astro_sunset:Lbe,sch_astro_sunsetStart:zbe,sch_at:Fbe,sch_desc_atTime:Bbe,sch_desc_everyDay:Wbe,sch_desc_everyHour:Hbe,sch_desc_everyMinute:Ube,sch_desc_everyMonth:Vbe,sch_desc_everyNDay:qbe,sch_desc_everyNHours:Gbe,sch_desc_everyNMinutes:Xbe,sch_desc_everyNMonths:Jbe,sch_desc_everyNWeeks:Ybe,sch_desc_everyNYears:Kbe,sch_desc_everyWeek:Zbe,sch_desc_everyYear:Qbe,sch_desc_intervalFromTo:e1e,sch_desc_never:t1e,sch_desc_onDate:r1e,sch_desc_onDates:n1e,sch_desc_onEveryDate:o1e,sch_desc_onMonth:a1e,sch_desc_onMonths:i1e,sch_desc_onWeekday:s1e,sch_desc_onWeekdays:l1e,sch_desc_onWeekends:c1e,sch_desc_onWorkdays:d1e,sch_desc_onceInPast:u1e,sch_desc_once_on:p1e,sch_desc_validFrom:h1e,sch_desc_validFromTo:f1e,sch_desc_validTo:m1e,sch_every:g1e,sch_exactTime:v1e,sch_from:y1e,sch_fromTo:_1e,sch_intervalTime:b1e,sch_invert:w1e,sch_no_one:x1e,sch_on:S1e,sch_period:C1e,sch_periodDaily:$1e,sch_periodDates:k1e,sch_periodDay:E1e,sch_periodEvery:T1e,sch_periodEveryDay:O1e,sch_periodEveryMonth:D1e,sch_periodEveryWeek:A1e,sch_periodEveryYear:I1e,sch_periodHours:M1e,sch_periodMinutes:P1e,sch_periodMonth:N1e,sch_periodMonthly:R1e,sch_periodOnce:j1e,sch_periodSpecificMonths:L1e,sch_periodWeek:z1e,sch_periodWeekdays:F1e,sch_periodWeekend:B1e,sch_periodWeekly:W1e,sch_periodWorkdays:H1e,sch_periodYear:U1e,sch_periodYearly:V1e,sch_specificTime:q1e,sch_time:G1e,sch_to:X1e,sch_valid:J1e,sch_validFrom:Y1e,sch_validTo:K1e,sch_wholeDay:Z1e,sch_yearEveryMonth:Q1e},twe="Anhängen",rwe="Abbrechen",nwe="Kategorien",owe="Geprüft",awe="Löschen",iwe="Schließen",swe="Kommerziell",lwe="Konfigurieren",cwe="Verbunden",dwe="Kopiert",uwe="Erstellen",pwe="Ernte",hwe="Entf",fwe="Löschen",mwe="Verwerfen",gwe="Getrennt",vwe="Fehler",ywe="Filter",_we="Freitag",bwe="Breite",wwe="Längengrad",xwe="Meldung",Swe="Montag",Cwe="Name",$we="Objekte",kwe="OK",Ewe="Produkt",Twe="Wiederholen",Owe="Ersetzen",Dwe="Anfang",Awe="Samstag",Iwe="Speichern",Mwe="Ausgewählt",Pwe="Zustände",Nwe="Sonntag",Rwe="Donnerstag",jwe="Zeitstempel",Lwe="Dienstag",zwe="Aktualisieren",Fwe="Gültig bis",Bwe="Wert",Wwe="Ausführung",Hwe="Mittwoch",Uwe="Breite",Vwe="Ja",qwe="unterschiedlich",Gwe="Jeder kann Objekt lesen",Xwe="Jeder kann Zustand lesen",Jwe="Jeder kann ein Objekt schreiben",Ywe="Jeder kann Zustand schreiben",Kwe="Gruppe kann Objekt lesen",Zwe="Gruppe kann Status lesen",Qwe="Gruppe kann Objekt schreiben",exe="Gruppe kann Status schreiben",txe="Besitzer kann Objekt lesen",rxe="Besitzer kann Zustand lesen",nxe="Besitzer kann Objekt schreiben",oxe="Besitzer kann Zustand schreiben",axe="Tasten",ixe="Geändert von",sxe="Schließen",lxe="Booleschen Zustand erstellen",cxe="Kanal erstellen",dxe="Gerät erstellen",uxe="Nummern-Zustand erstellen",pxe="Zustand erstellen",hxe="String-Zustand erstellen",fxe="T.",mxe="Fr",gxe="Mo",vxe="Sa",yxe="So",_xe="Do",bxe="Di",wxe="Mi",xxe="Expertenmodus",Sxe="Alle Dateien",Cxe="Audio",$xe="Code/JSON",kxe="Bilder",Exe="Text",Txe="Video",Oxe="Einstellungen",Dxe="ohne",Axe="Funktion",Ixe="ID",Mxe="Name",Pxe="Rolle",Nxe="Raum",Rxe="Typ",jxe="Ungültige Einstellungen",Lxe="Letzte Änderung",zxe="örtlich",Fxe="Apr",Bxe="Aug",Wxe="Dez",Hxe="Feb",Uxe="Jan",Vxe="Jul",qxe="Jun",Gxe="Mai",Xxe="Mär",Jxe="Nov",Yxe="Okt",Kxe="Sep",Zxe="Apr",Qxe="Aug",eSe="Dez",tSe="Feb",rSe="Jan",nSe="Jul",oSe="Jun",aSe="Mai",iSe="Mär",sSe="Nov",lSe="Okt",cSe="Sep",dSe="kein",uSe="Objekt geändert von",pSe="Objekt zuletzt geändert um",hSe="Einstellungen von anderen Adaptern %s",fSe="Qualitätscode",mSe="wiederholen",gSe='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',vSe="Zustand geändert durch",ySe="Objekt geändert von",_Se="Zeitstempel",bSe="Bestätigt",wSe="Kommentar",xSe="Statuswert kopieren",SSe="Benutzerdefinierte Einstellungen",CSe="Objekt löschen",$Se="Objekt bearbeiten",kSe="Statuswert bearbeiten",ESe="Von",TSe="Zuletzt geändert",OSe="Qualität",DSe="Zeitstempel",ASe="Benutzer",ISe="Wert",MSe="Wert",PSe="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",NSe="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",RSe="CRON",jSe="Datum",LSe="Tage",zSe="Tag",FSe="Wochentage",BSe="Jeden",WSe="alle N Tage",HSe="jeden x-ten Tag der Woche",USe="alle N Wochentage",VSe="alle N Stunden",qSe="alle N Minuten",GSe="alle N Monate",XSe="alle N Sekunden",JSe="jeden Tag",YSe="jeden Tag der Woche",KSe="jeden Tag der Woche",ZSe="jede Stunde",QSe="jede Minute",eCe="jeden Monat",tCe="jede Sekunde",rCe="Von",nCe="Stunden",oCe="Intervall",aCe="Intervall zwischen",iCe="Ungültiger CRON",sCe="Minuten",lCe="Monate",cCe="Einmal",dCe="Zeitraum",uCe="Sekunden",pCe="Einfach",hCe="Bestimmte Zeit",fCe="bestimmte Tage",mCe="bestimmte(r) Tag(e) der Woche",gCe="bestimmten Wochentag",vCe="bestimmte Stunden",yCe="bestimmte Minuten",_Ce="bestimmte Monate",bCe="bestimmte Sekunden",wCe="Zeit",xCe="Bis",SCe="Wizard",CCe="alle",$Ce="Astronomischer Tag",kCe="Astronomische Nacht",ECe="Morgendämmerung",TCe="Abenddämmerung",OCe="Goldene Stunde",DCe="Goldene Stundenende",ACe="Nadir",ICe="Nautische Morgendämmerung",MCe="Nautische Abenddämmerung",PCe="Nacht",NCe="Nachtende",RCe="Sonnenmittag",jCe="Sonnenaufgang",LCe="Sonnenaufgangende",zCe="Sonnenuntergang",FCe="Sonnenuntergangstart",BCe="am",WCe="um %s",HCe="jeden Tag",UCe="jede Stunde",VCe="jede Minute",qCe="jeden Monat",GCe="jeden %s Tag",XCe="alle %s Stunden",JCe="alle %s Minuten",YCe="alle %s Monate",KCe="alle %s Wochen",ZCe="alle %s Jahre",QCe="jede Woche",e$e="jedes Jahr",t$e="von %s bis %s",r$e="noch nie",n$e="am %s von %s",o$e="am %s und %s von",a$e="an jedem Datum von",i$e="%s",s$e="%s und %s",l$e="auf %s",c$e="auf %s und %s",d$e="an Wochenenden",u$e="an Werktagen",p$e="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",h$e="auf %s",f$e="von %s",m$e="Ausführen von bis",g$e="bis %s",v$e="jeden",y$e="Bestimmte Zeit",_$e="von",b$e="Von bis",w$e="Zeitintervall",x$e="umkehren",S$e="keiner",C$e="am",$$e="Zeitraum",k$e="Täglich",E$e="Daten",T$e="Tag",O$e="Jeden",D$e="Jeden Tag",A$e="Jeden Monat",I$e="Jede Woche",M$e="Jedes Jahr",P$e="Stunden",N$e="Minuten",R$e="Monat",j$e="Monatlich",L$e="Einmal",z$e="Bestimmte Monate",F$e="Woche",B$e="Wochentage",W$e="Wochenende",H$e="Wöchentlich",U$e="Arbeitstage",V$e="Jahr",q$e="Jährlich",G$e="Bestimmte Zeit",X$e="Zeit",J$e="zu",Y$e="Gültigkeit",K$e="von",Z$e="bis",Q$e="Ganzer Tag",eke="jeden Monat",tke={"ra_%s links from aliases":"%s Links von Aliasen","ra_%s object(s) processed":"%s Objekt(e) verarbeitet","ra_%s was imported":"%s wurde importiert","ra_Accept license":"Lizenz akzeptieren","ra_Add new child object to selected parent":"Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzufügen","ra_Add row":"Zeile hinzufügen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente sind herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:twe,"ra_Append %s entries or replace existing?":"%s Einträge anhängen oder vorhandene ersetzen?","ra_Append or replace?":"Anhängen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zurück zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:rwe,"ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter können nicht hinzugefügt werden","ra_Cannot decode license":"Lizenz kann nicht entschlüsselt werden","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert",'ra_Cannot find "%s"':'Kann "%s" nicht finden','ra_Cannot read "%s"':'"%s" kann nicht gelesen werden',"ra_Cannot read licenses: %s":"Lizenzen können nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen können nicht abgerufen werden, da die Instanz offline ist","ra_Cannot update attribute, because not found in the object":"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde","ra_Cannot upload":"Kann nicht hochladen",ra_Categories:nwe,"ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema ändern","ra_Changed from":"Geändert von","ra_Channel → State":"Kanal → Zustand","ra_Check license":"Lizenz prüfen",ra_Checked:owe,ra_Clear:awe,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:iwe,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:swe,ra_Configure:lwe,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:cwe,ra_Copied:dwe,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:uwe,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:pwe,"ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"Räume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:hwe,ra_Delete:fwe,"ra_Delete (no confirm for 5 mins)":"Löschen (keine Bestätigung für 5 Minuten)","ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand",ra_Discard:mwe,ra_Disconnected:gwe,"ra_Do not export values of states":"Keine Zustandswerte exportieren","ra_Do not use let's encrypt":"Let's encrypt nicht verwenden","ra_Double click to reset table layout":"Doppelklicken, um das Tabellenlayout zurückzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen","ra_Drop file here":"Datei hier ablegen","ra_Drop the files here...":"Datei hier ablegen...","ra_Duplicate name":"Doppelter Name","ra_Edit ACL":"ACL bearbeiten","ra_Edit alias":"Alias bearbeiten","ra_Edit custom config":"Bearbeite Benutzerdefinierte Konfiguration","ra_Edit function":"Funktion bearbeiten","ra_Edit object field":"Objektfeld bearbeiten","ra_Edit role":"Rolle bearbeiten","ra_Edit room":"Raum bearbeiten","ra_Edit value":"Wert bearbeiten",ra_Error:vwe,"ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Export data to %s file":"Daten in %s-Datei exportieren","ra_Failed to open JSON File":"Fehler beim Öffnen der JSON-Datei","ra_Fallback custom certificates":"Benutzerdefinierte Fallback-Zertifikate","ra_File is too big. Max %sk allowed. Try use SVG.":"Datei ist zu groß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:ywe,"ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder → Channel → State":"Ordner → Kanal → Zustand","ra_Folder → Device → Channel → State":"Ordner → Gerät → Kanal → Zustand","ra_Folder → State":"Ordner → Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:_we,"ra_Good luck":"Viel Glück","ra_Hide empty folders":"Leere Ordner ausblenden","ra_If no file will be created in the folder, it will disappear after the browser closed":"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schließen des Browsers","ra_Import data from %s file":"Daten aus %s-Datei importieren","ra_Import from %s":"Von %s importieren","ra_Instance %s is alive":"Instanz %s ist aktiv","ra_Instance %s is not alive":"Instanz %s ist nicht aktiv","ra_Instance is not alive":"Instanz ist nicht am Leben","ra_Invalid CRON":"Ungültiger CRON","ra_Invalid JSON":"Ungültiges JSON","ra_Invalid answer from server":"Ungültige Antwort vom Server","ra_Invalid parent folder!":"Ungültiger übergeordneter Ordner!","ra_Invalid structure":"Ungültige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte Änderung",ra_Latitude:bwe,"ra_License %s":"Lizenz %s","ra_License agreement":"Lizenzvereinbarung","ra_License does not exist":"Lizenz existiert nicht","ra_License expired on %s":"Lizenz am %s abgelaufen",'ra_License for other product "%s"':"Lizenz für anderes Produkt „%s“","ra_License is for version %s, but required version is %s.":"Lizenz ist für Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie können dies in Ihrem iobroker.net-Profil tun.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Lizenz im Lizenzmanager nicht gefunden. Möchten Sie Lizenzen von iobroker.net aktualisieren?","ra_Listen on all IPs":"Zugriff von allen IPs zulassen","ra_Load configuration from file":"Konfiguration aus Datei laden",ra_Longitude:wwe,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:xwe,ra_Monday:Swe,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:Cwe,"ra_No data found in file":"Keine Daten in der Datei gefunden","ra_No one license found in license manager":"Im Lizenzmanager wurde keine Lizenz gefunden","ra_No response from the backend":"Keine Antwort vom Backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Nicht-Experten dürfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:$we,ra_Ok:kwe,"ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verfügung:","ra_Only selected":"Nur ausgewählt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passwörter sind nicht gleich!","ra_Place your files here or click here to open the browse dialog":"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu öffnen","ra_Please confirm":"Bitte bestätigen","ra_Please create license":"Bitte erstellen Sie eine Lizenz","ra_Please enter the license":"Bitte die Lizenz eingeben","ra_Please select file...":"Bitte Datei auswählen...","ra_Please select object ID...":"Bitte Objekt-ID auswählen...","ra_Port could be used by %s":"Port könnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Private certificate":"Privates Zertifikat",ra_Product:Ewe,"ra_Public certificate":"Öffentliches Zertifikat","ra_Quality code":"Qualität","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Repeat:Twe,ra_Replace:Owe,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:Dwe,ra_Saturday:Awe,ra_Save:Iwe,"ra_Save and close":"Speichern und schließen","ra_Save configuration to file":"Konfiguration in Datei speichern","ra_Save objects tree as JSON file":"Objektbaum als JSON-Datei speichern","ra_Select all":"Alle auswählen","ra_Select color":"Wähle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol auswählen","ra_Select type of export":"Die Art des Exports auswählen ",ra_Selected:Mwe,"ra_Selected %s object(s)":"Ausgewählt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) „%s“ in der Lizenz gilt für ein anderes Gerät.","ra_Show all folders":"Alle Ordner anzeigen","ra_Show lines between rows":"Linien zwischen Zeilen anzeigen","ra_Show/Hide object descriptions":"Objektbeschreibungen ein-/ausblenden","ra_Show/hide filter input":"Filtereingabe ein-/ausblenden","ra_Some data are not stored. Discard?":"Einige Daten werden nicht gespeichert. Verwerfen?",ra_States:Pwe,"ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:Nwe,"ra_Suppress question for next %s minutes":"Frage für die nächsten %s Minuten unterdrücken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen übernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten können Objekte überall erstellen, außer auf der zweiten Ebene (z. B. "vis.0" oder "javascript.0").',"ra_The page you are looking for was not found":"Die gesuchte Seite wurde nicht gefunden","ra_The schedule will be executed every minute. Are you sure?":"Der Zeitplan wird jede Minute ausgeführt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",ra_Thursday:Rwe,ra_Timestamp:jwe,"ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu groß","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:Lwe,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:zwe,"ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verfügbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter für letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen für die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:Fwe,ra_Value:Bwe,ra_Version:Wwe,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:Hwe,ra_Width:Uwe,ra_Yes:Vwe,"ra_You can export all objects or just the selected branch.":"Sie können alle Objekte oder nur den ausgewählten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie können Einträge filtern, indem Sie hier Text eingeben",ra___different__:qwe,ra_aclEveryone_read_object:Gwe,ra_aclEveryone_read_state:Xwe,ra_aclEveryone_write_object:Jwe,ra_aclEveryone_write_state:Ywe,ra_aclGroup_read_object:Kwe,ra_aclGroup_read_state:Zwe,ra_aclGroup_write_object:Qwe,ra_aclGroup_write_state:exe,ra_aclOwner_read_object:txe,ra_aclOwner_read_state:rxe,ra_aclOwner_write_object:nxe,ra_aclOwner_write_state:oxe,ra_buttons:axe,ra_changedFrom:ixe,ra_close:sxe,ra_create_boolean_state:lxe,ra_create_channel:cxe,ra_create_device:dxe,ra_create_number_state:uxe,ra_create_state:pxe,ra_create_string_state:hxe,ra_daysShortText:fxe,ra_dow_Fr:mxe,ra_dow_Mo:gxe,ra_dow_Sa:vxe,ra_dow_Su:yxe,ra_dow_Th:_xe,ra_dow_Tu:bxe,ra_dow_We:wxe,ra_expertMode:xxe,ra_fileType_all:Sxe,ra_fileType_audio:Cxe,ra_fileType_code:$xe,ra_fileType_images:kxe,ra_fileType_txt:Exe,ra_fileType_video:Txe,"ra_fileType_video,":"Video",ra_filter_customs:Oxe,ra_filter_customs_without:Dxe,ra_filter_func:Axe,ra_filter_id:Ixe,ra_filter_name:Mxe,ra_filter_role:Pxe,ra_filter_room:Nxe,ra_filter_type:Rxe,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:jxe,ra_lastChange:Lxe,ra_locally:zxe,ra_month_Apr:Fxe,ra_month_Aug:Bxe,ra_month_Dec:Wxe,ra_month_Feb:Hxe,ra_month_Jan:Uxe,ra_month_Jul:Vxe,ra_month_Jun:qxe,ra_month_Mai:Gxe,ra_month_Mar:Xxe,ra_month_Nov:Jxe,ra_month_Oct:Yxe,ra_month_Sep:Kxe,ra_months_Apr:Zxe,ra_months_Aug:Qxe,ra_months_Dec:eSe,ra_months_Feb:tSe,ra_months_Jan:rSe,ra_months_Jul:nSe,ra_months_Jun:oSe,ra_months_Mai:aSe,ra_months_Mar:iSe,ra_months_Nov:sSe,ra_months_Oct:lSe,ra_months_Sep:cSe,ra_none:dSe,ra_object_changed_by:uSe,ra_object_changed_by_user:pSe,ra_otherConfig:hSe,ra_qualityCode:fSe,ra_repeat:mSe,ra_select_folder_hint:gSe,ra_state_changed_by:vSe,ra_state_changed_from:ySe,ra_timestamp:_Se,ra_tooltip_ack:bSe,ra_tooltip_comment:wSe,ra_tooltip_copyState:xSe,ra_tooltip_customConfig:SSe,ra_tooltip_deleteObject:CSe,ra_tooltip_editObject:$Se,ra_tooltip_editState:kSe,ra_tooltip_from:ESe,ra_tooltip_lc:TSe,ra_tooltip_quality:OSe,ra_tooltip_ts:DSe,ra_tooltip_user:ASe,ra_tooltip_value:ISe,"ra_use seconds":"Sekunden benutzen",ra_val:MSe,"ra_via internet":"übers Internet",ra_warning_every_minute:PSe,ra_warning_every_second:NSe,sc_cron:RSe,sc_date:jSe,sc_dates:LSe,sc_dow:zSe,sc_dows:FSe,sc_every:BSe,sc_everyN_dates:WSe,sc_everyN_dow:HSe,sc_everyN_dows:USe,sc_everyN_hours:VSe,sc_everyN_minutes:qSe,sc_everyN_months:GSe,sc_everyN_seconds:XSe,sc_every_dates:JSe,sc_every_dow:YSe,sc_every_dows:KSe,sc_every_hours:ZSe,sc_every_minutes:QSe,sc_every_months:eCe,sc_every_seconds:tCe,sc_from:rCe,sc_hours:nCe,sc_interval:oCe,sc_intervalBetween:aCe,sc_invalid_cron:iCe,sc_minutes:sCe,sc_months:lCe,sc_once:cCe,sc_period:dCe,sc_seconds:uCe,sc_simple:pCe,sc_specific:hCe,sc_specific_dates:fCe,sc_specific_dow:mCe,sc_specific_dows:gCe,sc_specific_hours:vCe,sc_specific_minutes:yCe,sc_specific_months:_Ce,sc_specific_seconds:bCe,sc_time:wCe,sc_to:xCe,sc_wizard:SCe,sch_all:CCe,sch_astroDay:$Ce,sch_astroNight:kCe,sch_astro_dawn:ECe,sch_astro_dusk:TCe,sch_astro_goldenHour:OCe,sch_astro_goldenHourEnd:DCe,sch_astro_nadir:ACe,sch_astro_nauticalDawn:ICe,sch_astro_nauticalDusk:MCe,sch_astro_night:PCe,sch_astro_nightEnd:NCe,sch_astro_solarNoon:RCe,sch_astro_sunrise:jCe,sch_astro_sunriseEnd:LCe,sch_astro_sunset:zCe,sch_astro_sunsetStart:FCe,sch_at:BCe,sch_desc_atTime:WCe,sch_desc_everyDay:HCe,sch_desc_everyHour:UCe,sch_desc_everyMinute:VCe,sch_desc_everyMonth:qCe,sch_desc_everyNDay:GCe,sch_desc_everyNHours:XCe,sch_desc_everyNMinutes:JCe,sch_desc_everyNMonths:YCe,sch_desc_everyNWeeks:KCe,sch_desc_everyNYears:ZCe,sch_desc_everyWeek:QCe,sch_desc_everyYear:e$e,sch_desc_intervalFromTo:t$e,sch_desc_never:r$e,sch_desc_onDate:n$e,sch_desc_onDates:o$e,sch_desc_onEveryDate:a$e,sch_desc_onMonth:i$e,sch_desc_onMonths:s$e,sch_desc_onWeekday:l$e,sch_desc_onWeekdays:c$e,sch_desc_onWeekends:d$e,sch_desc_onWorkdays:u$e,sch_desc_onceInPast:p$e,sch_desc_once_on:h$e,sch_desc_validFrom:f$e,sch_desc_validFromTo:m$e,sch_desc_validTo:g$e,sch_every:v$e,sch_exactTime:y$e,sch_from:_$e,sch_fromTo:b$e,sch_intervalTime:w$e,sch_invert:x$e,sch_no_one:S$e,sch_on:C$e,sch_period:$$e,sch_periodDaily:k$e,sch_periodDates:E$e,sch_periodDay:T$e,sch_periodEvery:O$e,sch_periodEveryDay:D$e,sch_periodEveryMonth:A$e,sch_periodEveryWeek:I$e,sch_periodEveryYear:M$e,sch_periodHours:P$e,sch_periodMinutes:N$e,sch_periodMonth:R$e,sch_periodMonthly:j$e,sch_periodOnce:L$e,sch_periodSpecificMonths:z$e,sch_periodWeek:F$e,sch_periodWeekdays:B$e,sch_periodWeekend:W$e,sch_periodWeekly:H$e,sch_periodWorkdays:U$e,sch_periodYear:V$e,sch_periodYearly:q$e,sch_specificTime:G$e,sch_time:X$e,sch_to:J$e,sch_valid:Y$e,sch_validFrom:K$e,sch_validTo:Z$e,sch_wholeDay:Q$e,sch_yearEveryMonth:eke},rke="Добавить",nke="Отмена",oke="Категории",ake="Проверено",ike="Удалить",ske="Закрыть",lke="Коммерческая",cke="Настроить",dke="Соединение установлено",uke="скопировано",pke="Создать",hke="Обрезать",fke="Delete",mke="Удалить",gke="Отказаться",vke="Отключено",yke="Ошибка",_ke="Фильтр",bke="Пятница",wke="Широта",xke="Долгота",Ske="Сообщение",Cke="Понедельник",$ke="Имя",kke="Объекты",Eke="Ok",Tke="Продукт",Oke="Повторение",Dke="Заменять",Ake="Начало",Ike="Суббота",Mke="Сохранить",Pke="выбранный",Nke="Состояния",Rke="Воскресенье",jke="Четверг",Lke="Времени",zke="Вторник",Fke="Обновить",Bke="Годен до",Wke="Значение",Hke="Версия",Uke="Среда",Vke="Ширина",qke="Да",Gke="разное",Xke="Каждый может читать объект",Jke="Каждый может читать состояние",Yke="Каждый может написать объект",Kke="Каждый может написать состояние",Zke="Группа может читать объект",Qke="Группа может читать состояние",eEe="Группа может писать объект",tEe="Группа может записывать состояние",rEe="Владелец может читать объект",nEe="Владелец может читать состояние",oEe="Владелец может писать объект",aEe="Владелец может писать состояние",iEe="Кнопки",sEe="Изменено с",lEe="Закрыть",cEe="Создать логическое состояние",dEe="Создать канал",uEe="Создать устройство",pEe="Создать состояние номера",hEe="Создать состояние",fEe="Создать состояние строки",mEe="д.",gEe="Пт",vEe="Пн",yEe="Сб",_Ee="Вс",bEe="Чт",wEe="Вт",xEe="Ср",SEe="Экспертный режим",CEe="Все файлы",$Ee="Аудио",kEe="Код/JSON",EEe="Картинки",TEe="Текст",OEe="видео",DEe="настройки",AEe="без",IEe="функция",MEe="ID",PEe="Имя",NEe="роль",REe="комната",jEe="Тип",LEe="Неверные настройки",zEe="Последнее изменение",FEe="локально",BEe="Апр",WEe="Авг",HEe="Дек",UEe="Фев",VEe="Янв",qEe="Июл",GEe="Июн",XEe="Май",JEe="Мрт",YEe="Ноя",KEe="Окт",ZEe="Сен",QEe="Апр",e2e="Авг",t2e="Дек",r2e="Фев",n2e="Янв",o2e="Июнь",a2e="Июль",i2e="Май",s2e="Март",l2e="Ноя",c2e="Окт",d2e="Сен",u2e="ничего",p2e="Объект изменен",h2e="Последний раз объект изменен в",f2e="Настройки из другого адаптера %s",m2e="Код качества",g2e="повтор",v2e="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",y2e="Состояние изменено",_2e="Объект изменен с",b2e="Отметка времени",w2e="Подтверждено",x2e="Комментарий",S2e="Скопируйте значение состояния",C2e="Пользовательские настройки",$2e="Удалить объект",k2e="Редактировать объект",E2e="Изменить значение состояния",T2e="От",O2e="Последнее изменение",D2e="Качество",A2e="Отметка времени",I2e="пользователь",M2e="Значение",P2e="Значение",N2e="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",R2e="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",j2e="CRON",L2e="Дата",z2e="Даты",F2e="День",B2e="День недели",W2e="каждый(ую/ые)",H2e="каждый N день",U2e="каждый N-й день недели",V2e="каждый N день недели",q2e="каждые N часов",G2e="каждые N минут",X2e="каждые N месяцев",J2e="каждые N секунд",Y2e="каждый день",K2e="Каждый день недели",Z2e="каждый день недели",Q2e="каждый час",eTe="каждую минуту",tTe="каждый месяц",rTe="каждую секунду",nTe="От",oTe="часы",aTe="Интервал",iTe="Интервал между",sTe="Неверный CRON",lTe="минуты",cTe="Месяцы",dTe="один раз",uTe="Период",pTe="секунды",hTe="Просто",fTe="Конкретное время",mTe="конкретные даты",gTe="конкретный день(а) недели",vTe="конкретный день недели",yTe="конкретные часы",_Te="конкретные минуты",bTe="конкретные месяцы",wTe="конкретные секунды",xTe="Время",STe="До",CTe="Форма",$Te="все",kTe="днём",ETe="ночью",TTe="Рассвет",OTe="Сумерки",DTe="Золотой час",ATe="Конец золотого часа",ITe="Надир",MTe="Морской рассвет",PTe="Морские сумерки",NTe="Ночь",RTe="Конец ночи",jTe="Солнечный полдень",LTe="Восход",zTe="Восход солнца",FTe="Заход солнца",BTe="Начало заката",WTe="дата",HTe="в %s",UTe="каждый день",VTe="каждый час",qTe="каждую минуту",GTe="каждый месяц",XTe="каждый %s день",JTe="каждый %s часов",YTe="каждые %s минут",KTe="каждые %s месяцев",ZTe="каждые %s недель",QTe="каждые %s лет",eOe="каждую неделю",tOe="каждый год",rOe="от %s до %s",nOe="никогда",oOe="%s %s",aOe="%s и %s",iOe="в каждый день",sOe="%s",lOe="%s и %s",cOe="%s",dOe="%s и %s",uOe="на выходных",pOe="в рабочие дни",hOe="не будет больше выполняться, потому что начало в прошлом",fOe="%s",mOe="%s",gOe="Выполнить с",vOe="%s",yOe="каждый",_Oe="Конкретное время",bOe="от",wOe="От и до",xOe="Интервал времени",SOe="инвертировать",COe="никакой",$Oe="на",kOe="период",EOe="Ежедневно",TOe="Даты",OOe="День",DOe="каждый",AOe="Каждый день",IOe="Каждый месяц",MOe="Каждую неделю",POe="Каждый год",NOe="часов",ROe="минут",jOe="месяц",LOe="ежемесячно",zOe="однажды",FOe="Конкретные месяцы",BOe="Неделю",WOe="Будние дни",HOe="выходные",UOe="еженедельно",VOe="Рабочие дни",qOe="Год",GOe="каждый год",XOe="Конкретное время",JOe="Время",YOe="в",KOe="действительный",ZOe="от",QOe="в",eDe="Весь день",tDe="каждый месяц",rDe={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию","ra_Add new child object to selected parent":"Добавить новый дочерний объект к выбранному родительскому объекту","ra_Add objects tree from JSON file":"Добавить дерево объектов из файла JSON","ra_Add row":"Добавить ряд","ra_Advanced options":"Расширенные настройки","ra_All items are filtered out":"Все элементы отфильтрованы","ra_All objects":"Все объекты",ra_Append:rke,"ra_Append %s entries or replace existing?":"Добавить записи %s или заменить существующие?","ra_Append or replace?":"Дополнить или заменить?","ra_Are you sure?":"Вы уверены?","ra_Auto (no custom columns)":"Авто (без настраиваемых столбцов)","ra_Back to %s":"Вернуться к %s","ra_Background image":"Фоновая картинка",ra_Cancel:nke,"ra_Cannot add items with set filter":"Невозможно добавить элементы с установленным фильтром","ra_Cannot decode license":"Не могу декодировать лицензию","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Невозможно определить местоположение: системные настройки пусты, а обнаружение GPS отключено в браузере.",'ra_Cannot find "%s"':'Не могу найти "%s"','ra_Cannot read "%s"':'Не могу прочитать "%s"',"ra_Cannot read licenses: %s":"Невозможно прочитать лицензии: %s","ra_Cannot retrieve options, as instance is offline":"Невозможно получить параметры, так как экземпляр находится в автономном режиме.","ra_Cannot update attribute, because not found in the object":"Невозможно обновить атрибут, потому что он не найден в объекте","ra_Cannot upload":"Невозможно загрузить",ra_Categories:oke,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:ake,ra_Clear:ike,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Clone current row":"Клонировать текущую строку",ra_Close:ske,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:lke,ra_Configure:cke,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:dke,ra_Copied:uke,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:pke,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:hke,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:fke,ra_Delete:mke,"ra_Delete (no confirm for 5 mins)":"Удалить (без подтверждения в течение 5 минут)","ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние",ra_Discard:gke,ra_Disconnected:vke,"ra_Do not export values of states":"Не экспортировать значения состояний","ra_Do not use let's encrypt":"Не использовать Let’s Encrypt","ra_Double click to reset table layout":"Дважды щелкните, чтобы сбросить макет таблицы","ra_Drag 'n' drop some files here, or click to select files":"Перетащите сюда несколько файлов или щелкните, чтобы выбрать файлы","ra_Drop file here":"Перетащите файл сюда","ra_Drop the files here...":"Перетащите файл сюда ...","ra_Duplicate name":"Повторяющееся имя","ra_Edit ACL":"Изменить ACL-список","ra_Edit alias":"Изменить псевдоним","ra_Edit custom config":"Редактировать настраиваемую конфигурацию","ra_Edit function":"Изменить функцию","ra_Edit object field":"Поле редактирования объекта","ra_Edit role":"Изменить роль","ra_Edit room":"Редактировать комнату","ra_Edit value":"Изменить значение",ra_Error:yke,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Export data to %s file":"Экспорт данных в файл %s","ra_Failed to open JSON File":"Не удалось открыть файл JSON","ra_Fallback custom certificates":"Резервные пользовательские сертификаты","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",ra_Filter:_ke,"ra_Filter files":"Фильтровать файлы","ra_Folder name":"Имя папки","ra_Folder → Channel → State":"Папка → Канал → Состояние","ra_Folder → Device → Channel → State":"Папка → Устройство → Канал → Состояние","ra_Folder → State":"Папка → Состояние","ra_Folders always first":"Папки всегда на первом месте",ra_Friday:bke,"ra_Good luck":"Удачи","ra_Hide empty folders":"Скрыть пустые папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Если в папке не будет создан файл, он исчезнет после закрытия браузера.","ra_Import data from %s file":"Импорт данных из файла %s","ra_Import from %s":"Импорт из %s","ra_Instance %s is alive":"Экземпляр %s работает","ra_Instance %s is not alive":"Экземпляр %s не работает","ra_Instance is not alive":"Экземпляр не живой","ra_Invalid CRON":"Неверный CRON","ra_Invalid JSON":"Неверный JSON","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:wke,"ra_License %s":"Лицензия %s","ra_License agreement":"Лицензионное соглашение","ra_License does not exist":"Лицензия не существует","ra_License expired on %s":"Срок действия лицензии истек %s",'ra_License for other product "%s"':'Лицензия на другой продукт "%s"',"ra_License is for version %s, but required version is %s.":"Лицензия предназначена для версии %s, но необходима версия %s.","ra_License must be converted":"Лицензия должна быть преобразована в более новую версию. Вы можете сделать это в своем профиле на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Лицензия не найдена в диспетчере лицензий. Вы хотите обновить лицензии от iobroker.net?","ra_Listen on all IPs":"Слушать на всех IP","ra_Load configuration from file":"Загрузить конфигурацию из файла",ra_Longitude:xke,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:Ske,ra_Monday:Cke,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:$ke,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from the backend":"Нет ответа от бэкэнда",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Не-эксперты могут создавать новые объекты только в «0_userdata.0» или «alias.0».","ra_Not a number":"Не число",ra_Objects:kke,ra_Ok:Eke,"ra_On weekdays":"На выходных","ra_Only following structures of objects are available:":"Доступны только следующие структуры объектов:","ra_Only selected":"Только выбранные","ra_Owner group":"Группа владельцев","ra_Owner user":"Пользователь-владелец","ra_Passwords are not equal!":"Пароли не равны!","ra_Place your files here or click here to open the browse dialog":"Поместите свои файлы сюда или щелкните здесь, чтобы открыть диалоговое окно выбора","ra_Please confirm":"Пожалуйста подтвердите","ra_Please create license":"Пожалуйста, создайте лицензию","ra_Please enter the license":"Пожалуйста, введите лицензию","ra_Please select file...":"Пожалуйста, выберите файл...","ra_Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","ra_Port could be used by %s":"Порт может использоваться %s","ra_Port is already used by %s":"Порт уже используется %s","ra_Private certificate":"Частный сертификат",ra_Product:Tke,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Repeat:Oke,ra_Replace:Dke,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:Ake,ra_Saturday:Ike,ra_Save:Mke,"ra_Save and close":"Сохранить и закрыть","ra_Save configuration to file":"Сохранить конфигурацию в файл","ra_Save objects tree as JSON file":"Сохранить дерево объектов как файл JSON","ra_Select all":"Выбрать все","ra_Select color":"Выберите цвет","ra_Select predefined icon":"Выберите предопределенный значок","ra_Select type of export":"Выберите тип экспорта",ra_Selected:Pke,"ra_Selected %s object(s)":"Объектов: %s","ra_Serial number (UUID)":"Серийный номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Серийный номер (UUID) «%s» в лицензии предназначен для другого устройства.","ra_Show all folders":"Показать все папки","ra_Show lines between rows":"Показать линии между строками","ra_Show/Hide object descriptions":"Показать/скрыть описания объектов","ra_Show/hide filter input":"Показать/скрыть ввод фильтра","ra_Some data are not stored. Discard?":"Некоторые данные не сохранились. Отказаться?",ra_States:Nke,"ra_Suitable license not found in license manager":"Подходящая лицензия не найдена в менеджере лицензий",ra_Sunday:Rke,"ra_Suppress question for next %s minutes":"Скрыть вопрос на следующие %s минут(ы)","ra_System language":"Язык системы","ra_Take browser position":"Взять позицию из браузера","ra_Take position from system settings":"Занять позицию из системных настроек",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Эксперты могут создавать объекты везде, кроме второго уровня (например, «vis.0» или «javascript.0»).","ra_The page you are looking for was not found":"Страница, которую вы ищете, не найдена","ra_The schedule will be executed every minute. Are you sure?":"Расписание будет выполняться каждую минуту. Вы уверены?","ra_The schedule will be executed every second. Are you sure?":"Расписание будет выполняться каждую секунду. Вы уверены?",ra_Thursday:jke,ra_Timestamp:Lke,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:zke,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:Fke,"ra_Upload file":"Загрузить файл","ra_Use all available let's encrypt certificates":"Использовать все доступные сертификаты Let’s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Используйте адаптер iobroker.acme для сертификатов letsencrypt","ra_Use system settings for position":"Использовать системные настройки для позиции","ra_Used system settings":"Системные настройки","ra_User files":"Файлы пользователя",ra_ValidTill:Bke,ra_Value:Wke,ra_Version:Hke,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:Uke,ra_Width:Vke,ra_Yes:qke,"ra_You can export all objects or just the selected branch.":"Вы можете экспортировать все объекты или только выбранную ветвь.","ra_You can filter entries by entering here some text":"Вы можете отфильтровать записи, введя здесь текст",ra___different__:Gke,ra_aclEveryone_read_object:Xke,ra_aclEveryone_read_state:Jke,ra_aclEveryone_write_object:Yke,ra_aclEveryone_write_state:Kke,ra_aclGroup_read_object:Zke,ra_aclGroup_read_state:Qke,ra_aclGroup_write_object:eEe,ra_aclGroup_write_state:tEe,ra_aclOwner_read_object:rEe,ra_aclOwner_read_state:nEe,ra_aclOwner_write_object:oEe,ra_aclOwner_write_state:aEe,ra_buttons:iEe,ra_changedFrom:sEe,ra_close:lEe,ra_create_boolean_state:cEe,ra_create_channel:dEe,ra_create_device:uEe,ra_create_number_state:pEe,ra_create_state:hEe,ra_create_string_state:fEe,ra_daysShortText:mEe,ra_dow_Fr:gEe,ra_dow_Mo:vEe,ra_dow_Sa:yEe,ra_dow_Su:_Ee,ra_dow_Th:bEe,ra_dow_Tu:wEe,ra_dow_We:xEe,ra_expertMode:SEe,ra_fileType_all:CEe,ra_fileType_audio:$Ee,ra_fileType_code:kEe,ra_fileType_images:EEe,ra_fileType_txt:TEe,ra_fileType_video:OEe,"ra_fileType_video,":"видео",ra_filter_customs:DEe,ra_filter_customs_without:AEe,ra_filter_func:IEe,ra_filter_id:MEe,ra_filter_name:PEe,ra_filter_role:NEe,ra_filter_room:REe,ra_filter_type:jEe,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:LEe,ra_lastChange:zEe,ra_locally:FEe,ra_month_Apr:BEe,ra_month_Aug:WEe,ra_month_Dec:HEe,ra_month_Feb:UEe,ra_month_Jan:VEe,ra_month_Jul:qEe,ra_month_Jun:GEe,ra_month_Mai:XEe,ra_month_Mar:JEe,ra_month_Nov:YEe,ra_month_Oct:KEe,ra_month_Sep:ZEe,ra_months_Apr:QEe,ra_months_Aug:e2e,ra_months_Dec:t2e,ra_months_Feb:r2e,ra_months_Jan:n2e,ra_months_Jul:o2e,ra_months_Jun:a2e,ra_months_Mai:i2e,ra_months_Mar:s2e,ra_months_Nov:l2e,ra_months_Oct:c2e,ra_months_Sep:d2e,ra_none:u2e,ra_object_changed_by:p2e,ra_object_changed_by_user:h2e,ra_otherConfig:f2e,ra_qualityCode:m2e,ra_repeat:g2e,ra_select_folder_hint:v2e,ra_state_changed_by:y2e,ra_state_changed_from:_2e,ra_timestamp:b2e,ra_tooltip_ack:w2e,ra_tooltip_comment:x2e,ra_tooltip_copyState:S2e,ra_tooltip_customConfig:C2e,ra_tooltip_deleteObject:$2e,ra_tooltip_editObject:k2e,ra_tooltip_editState:E2e,ra_tooltip_from:T2e,ra_tooltip_lc:O2e,ra_tooltip_quality:D2e,ra_tooltip_ts:A2e,ra_tooltip_user:I2e,ra_tooltip_value:M2e,"ra_use seconds":"секунды",ra_val:P2e,"ra_via internet":"через интернет",ra_warning_every_minute:N2e,ra_warning_every_second:R2e,sc_cron:j2e,sc_date:L2e,sc_dates:z2e,sc_dow:F2e,sc_dows:B2e,sc_every:W2e,sc_everyN_dates:H2e,sc_everyN_dow:U2e,sc_everyN_dows:V2e,sc_everyN_hours:q2e,sc_everyN_minutes:G2e,sc_everyN_months:X2e,sc_everyN_seconds:J2e,sc_every_dates:Y2e,sc_every_dow:K2e,sc_every_dows:Z2e,sc_every_hours:Q2e,sc_every_minutes:eTe,sc_every_months:tTe,sc_every_seconds:rTe,sc_from:nTe,sc_hours:oTe,sc_interval:aTe,sc_intervalBetween:iTe,sc_invalid_cron:sTe,sc_minutes:lTe,sc_months:cTe,sc_once:dTe,sc_period:uTe,sc_seconds:pTe,sc_simple:hTe,sc_specific:fTe,sc_specific_dates:mTe,sc_specific_dow:gTe,sc_specific_dows:vTe,sc_specific_hours:yTe,sc_specific_minutes:_Te,sc_specific_months:bTe,sc_specific_seconds:wTe,sc_time:xTe,sc_to:STe,sc_wizard:CTe,sch_all:$Te,sch_astroDay:kTe,sch_astroNight:ETe,sch_astro_dawn:TTe,sch_astro_dusk:OTe,sch_astro_goldenHour:DTe,sch_astro_goldenHourEnd:ATe,sch_astro_nadir:ITe,sch_astro_nauticalDawn:MTe,sch_astro_nauticalDusk:PTe,sch_astro_night:NTe,sch_astro_nightEnd:RTe,sch_astro_solarNoon:jTe,sch_astro_sunrise:LTe,sch_astro_sunriseEnd:zTe,sch_astro_sunset:FTe,sch_astro_sunsetStart:BTe,sch_at:WTe,sch_desc_atTime:HTe,sch_desc_everyDay:UTe,sch_desc_everyHour:VTe,sch_desc_everyMinute:qTe,sch_desc_everyMonth:GTe,sch_desc_everyNDay:XTe,sch_desc_everyNHours:JTe,sch_desc_everyNMinutes:YTe,sch_desc_everyNMonths:KTe,sch_desc_everyNWeeks:ZTe,sch_desc_everyNYears:QTe,sch_desc_everyWeek:eOe,sch_desc_everyYear:tOe,sch_desc_intervalFromTo:rOe,sch_desc_never:nOe,sch_desc_onDate:oOe,sch_desc_onDates:aOe,sch_desc_onEveryDate:iOe,sch_desc_onMonth:sOe,sch_desc_onMonths:lOe,sch_desc_onWeekday:cOe,sch_desc_onWeekdays:dOe,sch_desc_onWeekends:uOe,sch_desc_onWorkdays:pOe,sch_desc_onceInPast:hOe,sch_desc_once_on:fOe,sch_desc_validFrom:mOe,sch_desc_validFromTo:gOe,sch_desc_validTo:vOe,sch_every:yOe,sch_exactTime:_Oe,sch_from:bOe,sch_fromTo:wOe,sch_intervalTime:xOe,sch_invert:SOe,sch_no_one:COe,sch_on:$Oe,sch_period:kOe,sch_periodDaily:EOe,sch_periodDates:TOe,sch_periodDay:OOe,sch_periodEvery:DOe,sch_periodEveryDay:AOe,sch_periodEveryMonth:IOe,sch_periodEveryWeek:MOe,sch_periodEveryYear:POe,sch_periodHours:NOe,sch_periodMinutes:ROe,sch_periodMonth:jOe,sch_periodMonthly:LOe,sch_periodOnce:zOe,sch_periodSpecificMonths:FOe,sch_periodWeek:BOe,sch_periodWeekdays:WOe,sch_periodWeekend:HOe,sch_periodWeekly:UOe,sch_periodWorkdays:VOe,sch_periodYear:qOe,sch_periodYearly:GOe,sch_specificTime:XOe,sch_time:JOe,sch_to:YOe,sch_valid:KOe,sch_validFrom:ZOe,sch_validTo:QOe,sch_wholeDay:eDe,sch_yearEveryMonth:tDe},nDe="Acrescentar",oDe="Cancelar",aDe="Categorias",iDe="Verificado",sDe="Excluir",lDe="Perto",cDe="Comercial",dDe="Configurar",uDe="Conectado",pDe="Copiado",hDe="Crio",fDe="Colheita",mDe="Delete",gDe="Excluir",vDe="Descartar",yDe="Desconectado",_De="Erro",bDe="Filtro",wDe="Sexta-feira",xDe="Latitude",SDe="Longitude",CDe="mensagem",$De="Segunda-feira",kDe="Nome",EDe="Objetos",TDe="Está bem",ODe="produtos",DDe="Repita",ADe="Substituir",IDe="Raiz",MDe="Sábado",PDe="Salve ",NDe="Selecionado",RDe="Estados",jDe="Domingo",LDe="Quinta-feira",zDe="Timestamp",FDe="Terça-feira",BDe="Atualizar",WDe="Válida até",HDe="Valor",UDe="Versão",VDe="Quarta-feira",qDe="Largura",GDe="Sim",XDe="diferente",JDe="Todos podem ler objetos",YDe="Todos podem ler o estado",KDe="Todos podem escrever objetos",ZDe="Todos podem escrever o estado",QDe="O grupo pode ler o objeto",eAe="O grupo pode ler o estado",tAe="O grupo pode escrever o objeto",rAe="O grupo pode escrever o estado",nAe="O proprietário pode ler o objeto",oAe="O proprietário pode ler o estado",aAe="O proprietário pode escrever o objeto",iAe="O proprietário pode escrever o estado",sAe="Botões",lAe="Mudou de",cAe="fechar",dAe="Criar estado booleano",uAe="Criar canal",pAe="Criar dispositivo",hAe="Criar estado numérico",fAe="Criar estado",mAe="Criar estado de string",gAe="d.",vAe="Fr",yAe="Mo",_Ae="Sa",bAe="Su",wAe="º",xAe="Tu",SAe="Nós",CAe="Modo especialista",$Ae="Todos os arquivos",kAe="áudio",EAe="Código/JSON",TAe="Imagens",OAe="Texto",DAe="Vídeo",AAe="Configurações",IAe="sem",MAe="Função",PAe="ID",NAe="Nome",RAe="Papel (Função)",jAe="Quarto",LAe="Tipo",zAe="Configurações inválidas",FAe="Última mudança",BAe="localmente",WAe="abril",HAe="agosto",UAe="dezembro",VAe="fevereiro",qAe="janeiro",GAe="julho",XAe="junho",JAe="Mai",YAe="março",KAe="novembro",ZAe="outubro",QAe="setembro",eIe="abril",tIe="agosto",rIe="dezembro",nIe="fevereiro",oIe="janeiro",aIe="julho",iIe="junho",sIe="Mai",lIe="março",cIe="novembro",dIe="outubro",uIe="setembro",pIe="Nenhum",hIe="Objeto alterado por",fIe="Objeto alterado pela última vez em",mIe="Configurações de outro adaptador %s",gIe="Código de qualidade",vIe="repetir",yIe='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',_Ie="Estado alterado por",bIe="Objeto alterado de",wIe="Timestamp",xIe="Confirmado",SIe="Comente",CIe="Copie o valor do estado",$Ie="Opções customizadas",kIe="Excluir objeto",EIe="Editar objeto",TIe="Edite o valor do estado",OIe="De",DIe="Última alteração",AIe="Qualidade",IIe="Timestamp",MIe="Usuário",PIe="Valor",NIe="Valor",RIe="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",jIe="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",LIe="CRON",zIe="Data",FIe="Dias",BIe="Dia",WIe="Dia da semana",HIe="todos",UIe="a cada N dias",VIe="todo enésimo dia da semana",qIe="todos os N dias da semana",GIe="a cada N horas",XIe="a cada N minutos",JIe="a cada N meses",YIe="a cada N segundos",KIe="todo dia",ZIe="todos os dias da semana",QIe="todos os dias da semana",eMe="toda hora",tMe="todo minuto",rMe="todo mês",nMe="todo segundo",oMe="de",aMe="horas",iMe="intervalo",sMe="intervalo entre",lMe="CRON inválido",cMe="minutos",dMe="meses",uMe="uma vez",pMe="período",hMe="segundos",fMe="simples",mMe="tempo específico",gMe="datas específicas",vMe="dia(s) específico(s) da semana",yMe="dia específico de semanas",_Me="horas específicas",bMe="minutos específicos",wMe="meses específicos",xMe="segundos específicos",SMe="tempo",CMe="para",$Me="assistente",kMe="tudo",EMe="dia astral",TMe="noite astral",OMe="amanhecer",DMe="anoitecer",AMe="hora dourada",IMe="Fim da hora dourada",MMe="nadir",PMe="Amanhecer náutico",NMe="Anoitecer náutico",RMe="noite",jMe="fim da noite",LMe="meio-dia solar",zMe="nascer do sol",FMe="fim do nascer do sol",BMe="pôr do sol",WMe="início do pôr do sol",HMe="às",UMe="em %s",VMe="todo dia",qMe="toda hora",GMe="todo minuto",XMe="todo mês",JMe="a cada %s dias",YMe="a cada %s horas",KMe="a cada %s minutos",ZMe="a cada %s meses",QMe="a cada %s semanas",ePe="a cada %s anos",tPe="toda semana",rPe="todo ano",nPe="de %s para %s",oPe="nunca",aPe="em %s de %s",iPe="em %s e %s de",sPe="em toda data de",lPe="%s",cPe="%s e %s",dPe="em %s",uPe="em %s e %s",pPe="nos fins de semana",hPe="em dias úteis",fPe="não será mais executado, porque o começo está no passado",mPe="em %s",gPe="de %s",vPe="Executar de até",yPe="até %s",_Pe="cada",bPe="tempo específico",wPe="de",xPe="de a´t",SPe="tempo de intervalo",CPe="invertido",$Pe="nenhum",kPe="em",EPe="período",TPe="diariamente",OPe="datas",DPe="dia",APe="todos",IPe="todo dia",MPe="todo mês",PPe="toda semana",NPe="todo ano",RPe="horas",jPe="minutos",LPe="mês",zPe="por mês",FPe="uma vez",BPe="meses específicos",WPe="semana",HPe="dias úteis",UPe="final de semana",VPe="semanal",qPe="dias úteis",GPe="ano",XPe="anual",JPe="tempo específico",YPe="tempo",KPe="para",ZPe="válido",QPe="de",eNe="para",tNe="dia inteiro",rNe="todo mês",nNe={"ra_%s links from aliases":"%s links de aliases","ra_%s object(s) processed":"%s objeto(s) processado(s)","ra_%s was imported":"%s foi importado","ra_Accept license":"Aceitar licença","ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar árvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Opções avançadas","ra_All items are filtered out":"Todos os itens são filtrados","ra_All objects":"Todos os objetos",ra_Append:nDe,"ra_Append %s entries or replace existing?":"Acrescentar %s entradas ou substituir as existentes?","ra_Append or replace?":"Acrescentar ou substituir?","ra_Are you sure?":"Você tem certeza?","ra_Auto (no custom columns)":"Auto (sem colunas personalizadas)","ra_Back to %s":"Voltar para %s","ra_Background image":"Imagem de fundo",ra_Cancel:oDe,"ra_Cannot add items with set filter":"Não é possível adicionar itens com filtro definido","ra_Cannot decode license":"Não é possível decodificar a licença","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Não é possível determinar a posição: as configurações do sistema estão vazias e a detecção de GPS está desativada no navegador",'ra_Cannot find "%s"':'Não foi possível encontrar "%s"','ra_Cannot read "%s"':'Não é possível ler "%s"',"ra_Cannot read licenses: %s":"Não é possível ler licenças: %s","ra_Cannot retrieve options, as instance is offline":"Não é possível recuperar opções, pois a instância está off-line","ra_Cannot update attribute, because not found in the object":"Não é possível atualizar o atributo, porque não foi encontrado no objeto","ra_Cannot upload":"Não é possível fazer upload",ra_Categories:aDe,"ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel → State":"Canal → Estado","ra_Check license":"Verifique a licença",ra_Checked:iDe,ra_Clear:sDe,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Clone current row":"Clonar linha atual",ra_Close:lDe,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:cDe,ra_Configure:dDe,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:uDe,ra_Copied:pDe,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:hDe,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:fDe,"ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir funções","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programação ...",ra_Del:mDe,ra_Delete:gDe,"ra_Delete (no confirm for 5 mins)":"Excluir (sem confirmação por 5 minutos)","ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:vDe,ra_Disconnected:yDe,"ra_Do not export values of states":"Não exporte valores de estados","ra_Do not use let's encrypt":"Não use vamos criptografar","ra_Double click to reset table layout":"Clique duas vezes para redefinir o layout da tabela","ra_Drag 'n' drop some files here, or click to select files":"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos","ra_Drop file here":"Solte o arquivo aqui","ra_Drop the files here...":"Solte o arquivo aqui ...","ra_Duplicate name":"Nome duplicado","ra_Edit ACL":"Editar ACL","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuração personalizada","ra_Edit function":"Função de edição","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edição","ra_Edit value":"Editar valor",ra_Error:_De,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","ra_Export data to %s file":"Exportar dados para o arquivo %s","ra_Failed to open JSON File":"Falha ao abrir arquivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"O arquivo é muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:bDe,"ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder → Channel → State":"Pasta → Canal → Estado","ra_Folder → Device → Channel → State":"Pasta → Dispositivo → Canal → Estado","ra_Folder → State":"Pasta → Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:wDe,"ra_Good luck":"Boa sorte","ra_Hide empty folders":"Esconder pastas vazias","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nenhum arquivo for criado na pasta, ele desaparecerá depois que o navegador for fechado","ra_Import data from %s file":"Importar dados do arquivo %s","ra_Import from %s":"Importar de %s","ra_Instance %s is alive":"O %s da instância está ativo","ra_Instance %s is not alive":"O %s da instância não está ativo","ra_Instance is not alive":"A instância não está ativa","ra_Invalid CRON":"CRON inválido","ra_Invalid JSON":"JSON inválido","ra_Invalid answer from server":"Resposta inválida do servidor","ra_Invalid parent folder!":"Pasta pai inválida!","ra_Invalid structure":"Estrutura inválida","ra_JSON editor":"Editor JSON","ra_Last change":"Última mudança",ra_Latitude:xDe,"ra_License %s":"Licença %s","ra_License agreement":"Contrato de licença","ra_License does not exist":"A licença não existe","ra_License expired on %s":"A licença expirou em %s",'ra_License for other product "%s"':'Licença para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licença é para a versão %s, mas a versão necessária é %s.","ra_License must be converted":"A licença deve ser convertida para uma versão mais recente. Você pode fazê-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licença não encontrada no gerenciador de licenças. Deseja atualizar as licenças do iobroker.net?","ra_Listen on all IPs":"Ouça em todos os IPs","ra_Load configuration from file":"Carregar configuração do arquivo",ra_Longitude:SDe,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:CDe,ra_Monday:$De,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:kDe,"ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licença encontrada no gerenciador de licenças","ra_No response from the backend":"Nenhuma resposta do backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Os não especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"Não é um número",ra_Objects:EDe,ra_Ok:TDe,"ra_On weekdays":"Nos dias úteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos estão disponíveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo proprietário","ra_Owner user":"Usuário proprietário","ra_Passwords are not equal!":"As senhas não são iguais!","ra_Place your files here or click here to open the browse dialog":"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navegação","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licença","ra_Please enter the license":"Por favor, insira a licença","ra_Please select file...":"Selecione o arquivo...","ra_Please select object ID...":"Selecione o ID do objeto ...","ra_Port could be used by %s":"A porta pode ser usada por %s","ra_Port is already used by %s":"A porta já está sendo usada por %s","ra_Private certificate":"certificado privado",ra_Product:ODe,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Repeat:DDe,ra_Replace:ADe,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:IDe,ra_Saturday:MDe,ra_Save:PDe,"ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configuração em arquivo","ra_Save objects tree as JSON file":"Salvar árvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o ícone predefinido","ra_Select type of export":"Selecione o tipo de exportação",ra_Selected:NDe,"ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"Número de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O número de série (UUID) "%s" na licença é para outro dispositivo.',"ra_Show all folders":"Mostrar todas as pastas","ra_Show lines between rows":"Mostrar linhas entre as linhas","ra_Show/Hide object descriptions":"Mostrar/ocultar descrições de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados não são armazenados. Descartar?",ra_States:RDe,"ra_Suitable license not found in license manager":"Licença adequada não encontrada no gerenciador de licenças",ra_Sunday:jDe,"ra_Suppress question for next %s minutes":"Suprimir pergunta nos próximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posição do navegador","ra_Take position from system settings":"Tomar posição a partir das configurações do sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Os especialistas podem criar objetos em qualquer lugar, exceto no segundo nível (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A página que você está procurando não foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento será executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento será executado a cada segundo. Tem certeza?",ra_Thursday:LDe,ra_Timestamp:zDe,"ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualização dos estados","ra_Toggle view mode":"Alternar modo de visualização","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:FDe,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:BDe,"ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados disponíveis vamos criptografar","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use o adaptador iobroker.acme para certificados letsencrypt","ra_Use system settings for position":"Use as configurações do sistema para a posição","ra_Used system settings":"Configurações do sistema usadas","ra_User files":"Arquivos do usuário",ra_ValidTill:WDe,ra_Value:HDe,ra_Version:UDe,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:VDe,ra_Width:qDe,ra_Yes:GDe,"ra_You can export all objects or just the selected branch.":"Você pode exportar todos os objetos ou apenas a ramificação selecionada.","ra_You can filter entries by entering here some text":"Você pode filtrar as entradas digitando aqui algum texto",ra___different__:XDe,ra_aclEveryone_read_object:JDe,ra_aclEveryone_read_state:YDe,ra_aclEveryone_write_object:KDe,ra_aclEveryone_write_state:ZDe,ra_aclGroup_read_object:QDe,ra_aclGroup_read_state:eAe,ra_aclGroup_write_object:tAe,ra_aclGroup_write_state:rAe,ra_aclOwner_read_object:nAe,ra_aclOwner_read_state:oAe,ra_aclOwner_write_object:aAe,ra_aclOwner_write_state:iAe,ra_buttons:sAe,ra_changedFrom:lAe,ra_close:cAe,ra_create_boolean_state:dAe,ra_create_channel:uAe,ra_create_device:pAe,ra_create_number_state:hAe,ra_create_state:fAe,ra_create_string_state:mAe,ra_daysShortText:gAe,ra_dow_Fr:vAe,ra_dow_Mo:yAe,ra_dow_Sa:_Ae,ra_dow_Su:bAe,ra_dow_Th:wAe,ra_dow_Tu:xAe,ra_dow_We:SAe,ra_expertMode:CAe,ra_fileType_all:$Ae,ra_fileType_audio:kAe,ra_fileType_code:EAe,ra_fileType_images:TAe,ra_fileType_txt:OAe,ra_fileType_video:DAe,"ra_fileType_video,":"Vídeo",ra_filter_customs:AAe,ra_filter_customs_without:IAe,ra_filter_func:MAe,ra_filter_id:PAe,ra_filter_name:NAe,ra_filter_role:RAe,ra_filter_room:jAe,ra_filter_type:LAe,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:zAe,ra_lastChange:FAe,ra_locally:BAe,ra_month_Apr:WAe,ra_month_Aug:HAe,ra_month_Dec:UAe,ra_month_Feb:VAe,ra_month_Jan:qAe,ra_month_Jul:GAe,ra_month_Jun:XAe,ra_month_Mai:JAe,ra_month_Mar:YAe,ra_month_Nov:KAe,ra_month_Oct:ZAe,ra_month_Sep:QAe,ra_months_Apr:eIe,ra_months_Aug:tIe,ra_months_Dec:rIe,ra_months_Feb:nIe,ra_months_Jan:oIe,ra_months_Jul:aIe,ra_months_Jun:iIe,ra_months_Mai:sIe,ra_months_Mar:lIe,ra_months_Nov:cIe,ra_months_Oct:dIe,ra_months_Sep:uIe,ra_none:pIe,ra_object_changed_by:hIe,ra_object_changed_by_user:fIe,ra_otherConfig:mIe,ra_qualityCode:gIe,ra_repeat:vIe,ra_select_folder_hint:yIe,ra_state_changed_by:_Ie,ra_state_changed_from:bIe,ra_timestamp:wIe,ra_tooltip_ack:xIe,ra_tooltip_comment:SIe,ra_tooltip_copyState:CIe,ra_tooltip_customConfig:$Ie,ra_tooltip_deleteObject:kIe,ra_tooltip_editObject:EIe,ra_tooltip_editState:TIe,ra_tooltip_from:OIe,ra_tooltip_lc:DIe,ra_tooltip_quality:AIe,ra_tooltip_ts:IIe,ra_tooltip_user:MIe,ra_tooltip_value:PIe,"ra_use seconds":"use segundos",ra_val:NIe,"ra_via internet":"via internet",ra_warning_every_minute:RIe,ra_warning_every_second:jIe,sc_cron:LIe,sc_date:zIe,sc_dates:FIe,sc_dow:BIe,sc_dows:WIe,sc_every:HIe,sc_everyN_dates:UIe,sc_everyN_dow:VIe,sc_everyN_dows:qIe,sc_everyN_hours:GIe,sc_everyN_minutes:XIe,sc_everyN_months:JIe,sc_everyN_seconds:YIe,sc_every_dates:KIe,sc_every_dow:ZIe,sc_every_dows:QIe,sc_every_hours:eMe,sc_every_minutes:tMe,sc_every_months:rMe,sc_every_seconds:nMe,sc_from:oMe,sc_hours:aMe,sc_interval:iMe,sc_intervalBetween:sMe,sc_invalid_cron:lMe,sc_minutes:cMe,sc_months:dMe,sc_once:uMe,sc_period:pMe,sc_seconds:hMe,sc_simple:fMe,sc_specific:mMe,sc_specific_dates:gMe,sc_specific_dow:vMe,sc_specific_dows:yMe,sc_specific_hours:_Me,sc_specific_minutes:bMe,sc_specific_months:wMe,sc_specific_seconds:xMe,sc_time:SMe,sc_to:CMe,sc_wizard:$Me,sch_all:kMe,sch_astroDay:EMe,sch_astroNight:TMe,sch_astro_dawn:OMe,sch_astro_dusk:DMe,sch_astro_goldenHour:AMe,sch_astro_goldenHourEnd:IMe,sch_astro_nadir:MMe,sch_astro_nauticalDawn:PMe,sch_astro_nauticalDusk:NMe,sch_astro_night:RMe,sch_astro_nightEnd:jMe,sch_astro_solarNoon:LMe,sch_astro_sunrise:zMe,sch_astro_sunriseEnd:FMe,sch_astro_sunset:BMe,sch_astro_sunsetStart:WMe,sch_at:HMe,sch_desc_atTime:UMe,sch_desc_everyDay:VMe,sch_desc_everyHour:qMe,sch_desc_everyMinute:GMe,sch_desc_everyMonth:XMe,sch_desc_everyNDay:JMe,sch_desc_everyNHours:YMe,sch_desc_everyNMinutes:KMe,sch_desc_everyNMonths:ZMe,sch_desc_everyNWeeks:QMe,sch_desc_everyNYears:ePe,sch_desc_everyWeek:tPe,sch_desc_everyYear:rPe,sch_desc_intervalFromTo:nPe,sch_desc_never:oPe,sch_desc_onDate:aPe,sch_desc_onDates:iPe,sch_desc_onEveryDate:sPe,sch_desc_onMonth:lPe,sch_desc_onMonths:cPe,sch_desc_onWeekday:dPe,sch_desc_onWeekdays:uPe,sch_desc_onWeekends:pPe,sch_desc_onWorkdays:hPe,sch_desc_onceInPast:fPe,sch_desc_once_on:mPe,sch_desc_validFrom:gPe,sch_desc_validFromTo:vPe,sch_desc_validTo:yPe,sch_every:_Pe,sch_exactTime:bPe,sch_from:wPe,sch_fromTo:xPe,sch_intervalTime:SPe,sch_invert:CPe,sch_no_one:$Pe,sch_on:kPe,sch_period:EPe,sch_periodDaily:TPe,sch_periodDates:OPe,sch_periodDay:DPe,sch_periodEvery:APe,sch_periodEveryDay:IPe,sch_periodEveryMonth:MPe,sch_periodEveryWeek:PPe,sch_periodEveryYear:NPe,sch_periodHours:RPe,sch_periodMinutes:jPe,sch_periodMonth:LPe,sch_periodMonthly:zPe,sch_periodOnce:FPe,sch_periodSpecificMonths:BPe,sch_periodWeek:WPe,sch_periodWeekdays:HPe,sch_periodWeekend:UPe,sch_periodWeekly:VPe,sch_periodWorkdays:qPe,sch_periodYear:GPe,sch_periodYearly:XPe,sch_specificTime:JPe,sch_time:YPe,sch_to:KPe,sch_valid:ZPe,sch_validFrom:QPe,sch_validTo:eNe,sch_wholeDay:tNe,sch_yearEveryMonth:rNe},oNe="toevoegen",aNe="Annuleer",iNe="Categorieën",sNe="Gecontroleerd",lNe="Verwijderen",cNe="Dichtbij",dNe="Reclame",uNe="Configureren",pNe="Verbonden",hNe="Gekopieerd",fNe="Creëer",mNe="Bijsnijden",gNe="Delete",vNe="Verwijderen",yNe="Weggooien",_Ne="Verbinding verbroken",bNe="Fout",wNe="Filter",xNe="Vrijdag",SNe="Breedtegraad",CNe="Lengtegraad",$Ne="Bericht",kNe="Maandag",ENe="Naam",TNe="Voorwerpen",ONe="OK",DNe="Product",ANe="Herhaling",INe="Vervangen",MNe="Wortel",PNe="Zaterdag",NNe="Sparen",RNe="Geselecteerd",jNe="Staten",LNe="Zondag",zNe="Donderdag",FNe="Tijdstempel",BNe="Dinsdag",WNe="Bijwerken",HNe="Geldig tot",UNe="Waarde",VNe="Versie",qNe="Woensdag",GNe="Breedte",XNe="Ja",JNe="verschillend",YNe="Iedereen kan object lezen",KNe="Iedereen kan staat lezen",ZNe="Iedereen kan object schrijven",QNe="Iedereen kan staat schrijven",eRe="Groep kan object lezen",tRe="Groep kan status lezen",rRe="Groep kan object schrijven",nRe="Groep kan staat schrijven",oRe="Eigenaar kan object lezen",aRe="Eigenaar kan staat lezen",iRe="Eigenaar kan object schrijven",sRe="Eigenaar kan staat schrijven",lRe="Toetsen",cRe="Veranderd van",dRe="dichtbij",uRe="Creëer een Booleaanse status",pRe="Kanaal maken",hRe="Apparaat maken",fRe="Nummerstatus maken",mRe="Staat creëren",gRe="Tekenreeksstatus maken",vRe="d.",yRe="Fr",_Re="Mo",bRe="Za",wRe="Zo",xRe="Th",SRe="Tu",CRe="Wij",$Re="Expert modus",kRe="Alle bestanden",ERe="Audio",TRe="Code/JSON",ORe="Afbeeldingen",DRe="Tekst",ARe="Video",IRe="Instellingen",MRe="zonder",PRe="Functie",NRe="ID",RRe="Naam",jRe="Rol",LRe="Kamer",zRe="Type",FRe="Ongeldige instellingen",BRe="Laatste wijziging",WRe="plaatselijk",HRe="april",URe="aug",VRe="dec",qRe="februari",GRe="jan",XRe="jul",JRe="juni",YRe="Mei",KRe="mrt",ZRe="nov",QRe="Okt",e5e="sept",t5e="april",r5e="aug",n5e="dec",o5e="februari",a5e="jan",i5e="jul",s5e="juni",l5e="Mei",c5e="mrt",d5e="nov",u5e="Okt",p5e="sept",h5e="geen",f5e="Object veranderd door",m5e="Object voor het laatst gewijzigd om",g5e="Instellingen van andere adapter %s",v5e="Kwaliteitscode",y5e="herhalen",_5e='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',b5e="Staat veranderd door",w5e="Object veranderd van",x5e="Tijdstempel",S5e="Erkende vlag",C5e="Opmerking",$5e="Kopieer de statuswaarde",k5e="Aangepaste instellingen",E5e="Object verwijderen",T5e="Object bewerken",O5e="Bewerk de statuswaarde",D5e="Van",A5e="Laatst gewijzigd",I5e="Kwaliteit",M5e="Tijdstempel",P5e="Gebruiker",N5e="Waarde",R5e="Waarde",j5e="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",L5e="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",z5e="CRON",F5e="Datum",B5e="data",W5e="Dag",H5e="Dag van de week",U5e="elk",V5e="elke N dagen",q5e="elke N-de dag van de week",G5e="elke N dag van de week",X5e="elke N uur",J5e="elke N minuten",Y5e="elke N maanden",K5e="elke N seconden",Z5e="elke dag",Q5e="elke dag van de week",e3e="elke dag van de week",t3e="elk uur",r3e="elke minuut",n3e="elke maand",o3e="elke seconde",a3e="Van",i3e="uren",s3e="Interval",l3e="Interval tussen",c3e="Ongeldige CRON",d3e="Notulen",u3e="maanden",p3e="Een keer",h3e="Periode",f3e="seconden",m3e="Gemakkelijk",g3e="Specifieke tijd",v3e="specifieke data",y3e="specifieke dag(en) van de week",_3e="specifieke dag van weken",b3e="specifieke uren",w3e="specifieke minuten",x3e="specifieke maanden",S3e="specifieke seconden",C3e="Tijd",$3e="Naar",k3e="tovenaar",E3e="allemaal",T3e="Astro-dag",O3e="Astro-nacht",D3e="Dageraad",A3e="Schemer",I3e="gouden uur",M3e="Gouden uur einde",P3e="Nadir",N3e="Nautische dageraad",R3e="Nautische schemering",j3e="Nacht",L3e="Nacht einde",z3e="Zonne middag",F3e="zonsopkomst",B3e="Sunrise einde",W3e="Zonsondergang",H3e="Zonsondergang start",U3e="Bij",V3e="op %s",q3e="elke dag",G3e="elk uur",X3e="elke minuut",J3e="elke maand",Y3e="elke %s dag",K3e="elke %s uur",Z3e="elke %s minuten",Q3e="elke %s maanden",eje="elke %s weken",tje="elke %s jaar",rje="elke week",nje="elk jaar",oje="van %s tot %s",aje="nooit",ije="op %s van %s",sje="op %s en %s van",lje="op elke datum van",cje="%s",dje="%s en %s",uje="op %s",pje="op %s en %s",hje="in het weekend",fje="op werkdagen",mje="zal niet meer worden uitgevoerd, omdat start verleden tijd is",gje="op %s",vje="van %s",yje="Uitvoeren van tot",_je="tot %s",bje="elk",wje="Specifieke tijd",xje="van",Sje="Van naar",Cje="Interval tijd",$je="omkeren",kje="geen",Eje="Aan",Tje="Periode",Oje="Dagelijks",Dje="data",Aje="Dag",Ije="elk",Mje="Elke dag",Pje="Elke maand",Nje="Elke week",Rje="Elk jaar",jje="uren",Lje="Notulen",zje="maand",Fje="Maandelijks",Bje="Een keer",Wje="Specifieke maanden",Hje="Week",Uje="Doordeweekse dagen",Vje="Weekend",qje="Wekelijks",Gje="werkdagen",Xje="Jaar",Jje="jaar-",Yje="Specifieke tijd",Kje="Tijd",Zje="naar",Qje="Geldig",e4e="van",t4e="naar",r4e="Hele dag",n4e="elke maand",o4e={"ra_%s links from aliases":"%s links van aliassen","ra_%s object(s) processed":"%s object(en) verwerkt","ra_%s was imported":"%s is geïmporteerd","ra_Accept license":"Accepteer licentie","ra_Add new child object to selected parent":"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object","ra_Add objects tree from JSON file":"Objectenboom toevoegen vanuit JSON-bestand","ra_Add row":"Voeg een rij toe","ra_Advanced options":"Geavanceerde mogelijkheden","ra_All items are filtered out":"Alle items zijn uitgefilterd","ra_All objects":"Alle objecten",ra_Append:oNe,"ra_Append %s entries or replace existing?":"%s ingangen toevoegen of bestaande vervangen?","ra_Append or replace?":"Toevoegen of vervangen?","ra_Are you sure?":"Weet je het zeker?","ra_Auto (no custom columns)":"Auto (geen aangepaste kolommen)","ra_Back to %s":"Terug naar %s","ra_Background image":"Achtergrond afbeelding",ra_Cancel:aNe,"ra_Cannot add items with set filter":"Kan geen items toevoegen met ingestelde filter","ra_Cannot decode license":"Kan licentie niet decoderen","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser",'ra_Cannot find "%s"':'Kan "%s" niet vinden','ra_Cannot read "%s"':'Kan "%s" niet lezen',"ra_Cannot read licenses: %s":"Kan licenties niet lezen: %s","ra_Cannot retrieve options, as instance is offline":"Kan opties niet ophalen, omdat instantie offline is","ra_Cannot update attribute, because not found in the object":"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden","ra_Cannot upload":"Kan niet uploaden",ra_Categories:iNe,"ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel → State":"Kanaal → Staat","ra_Check license":"Licentie controleren",ra_Checked:sNe,ra_Clear:lNe,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Clone current row":"Kloon de huidige rij",ra_Close:cNe,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:dNe,ra_Configure:uNe,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:pNe,ra_Copied:hNe,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:fNe,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:mNe,"ra_Define CRON...":"Definieer CRON...","ra_Define functions":"Definieer functies","ra_Define rooms":"Definieer kamers","ra_Define schedule":"Definieer schema","ra_Define schedule...":"Schema definiëren ...",ra_Del:gNe,ra_Delete:vNe,"ra_Delete (no confirm for 5 mins)":"Verwijderen (geen bevestiging gedurende 5 minuten)","ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat",ra_Discard:yNe,ra_Disconnected:_Ne,"ra_Do not export values of states":"Exporteer geen waarden van staten","ra_Do not use let's encrypt":"Gebruik geen let's encrypt","ra_Double click to reset table layout":"Dubbelklik om de tafelindeling te resetten","ra_Drag 'n' drop some files here, or click to select files":"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren","ra_Drop file here":"Zet het bestand hier neer","ra_Drop the files here...":"Zet het bestand hier neer...","ra_Duplicate name":"Dubbele naam","ra_Edit ACL":"ACL bewerken","ra_Edit alias":"Alias bewerken","ra_Edit custom config":"Bewerk aangepaste config","ra_Edit function":"Bewerkingsfunctie","ra_Edit object field":"Bewerk objectveld","ra_Edit role":"Rol bewerken","ra_Edit room":"Kamer bewerken","ra_Edit value":"Waarde bewerken",ra_Error:bNe,"ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Export data to %s file":"Exporteer gegevens naar %s bestand","ra_Failed to open JSON File":"JSON-bestand kan niet worden geopend","ra_Fallback custom certificates":"Fallback aangepaste certificaten","ra_File is too big. Max %sk allowed. Try use SVG.":"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",ra_Filter:wNe,"ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder → Channel → State":"Map → Kanaal → Staat","ra_Folder → Device → Channel → State":"Map → Apparaat → Kanaal → Staat","ra_Folder → State":"Map → Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:xNe,"ra_Good luck":"Veel geluk","ra_Hide empty folders":"Verberg lege mappen","ra_If no file will be created in the folder, it will disappear after the browser closed":"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten","ra_Import data from %s file":"Importeer gegevens uit %s bestand","ra_Import from %s":"Importeren uit %s","ra_Instance %s is alive":"Instantie %s leeft","ra_Instance %s is not alive":"Instantie %s is niet actief","ra_Instance is not alive":"Instantie leeft niet","ra_Invalid CRON":"Ongeldige CRON","ra_Invalid JSON":"Ongeldige JSON","ra_Invalid answer from server":"Ongeldig antwoord van de server","ra_Invalid parent folder!":"Ongeldige bovenliggende map!","ra_Invalid structure":"Ongeldige structuur","ra_JSON editor":"JSON-editor","ra_Last change":"Laatste wijziging",ra_Latitude:SNe,"ra_License %s":"Licentie %s","ra_License agreement":"Licentieovereenkomst","ra_License does not exist":"Licentie bestaat niet","ra_License expired on %s":"Licentie verlopen op %s",'ra_License for other product "%s"':'Licentie voor ander product "%s"',"ra_License is for version %s, but required version is %s.":"Licentie is voor versie %s, maar vereiste versie is %s.","ra_License must be converted":"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?","ra_Listen on all IPs":"Luister op alle IP's","ra_Load configuration from file":"Laad configuratie uit bestand",ra_Longitude:CNe,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:$Ne,ra_Monday:kNe,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:ENe,"ra_No data found in file":"Geen gegevens gevonden in bestand","ra_No one license found in license manager":"Geen enkele licentie gevonden in licentiebeheer","ra_No response from the backend":"Geen reactie van de backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Niet-experts mogen alleen nieuwe objecten maken in "0_userdata.0" of "alias.0".',"ra_Not a number":"Geen nummer",ra_Objects:TNe,ra_Ok:ONe,"ra_On weekdays":"Op weekdagen","ra_Only following structures of objects are available:":"Alleen de volgende structuren van objecten zijn beschikbaar:","ra_Only selected":"Alleen geselecteerd","ra_Owner group":"Eigenaarsgroep","ra_Owner user":"Eigenaar gebruiker","ra_Passwords are not equal!":"Wachtwoorden zijn niet gelijk!","ra_Place your files here or click here to open the browse dialog":"Plaats uw bestanden hier of klik hier om het bladervenster te openen","ra_Please confirm":"Bevestig alstublieft","ra_Please create license":"Maak een licentie aan","ra_Please enter the license":"Voer de licentie in","ra_Please select file...":"Selecteer bestand...","ra_Please select object ID...":"Selecteer object-ID ...","ra_Port could be used by %s":"Poort kan worden gebruikt door %s","ra_Port is already used by %s":"Poort wordt al gebruikt door %s","ra_Private certificate":"Privé certificaat",ra_Product:DNe,"ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Repeat:ANe,ra_Replace:INe,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:MNe,ra_Saturday:PNe,ra_Save:NNe,"ra_Save and close":"Opslaan en afsluiten","ra_Save configuration to file":"Sla de configuratie op in een bestand","ra_Save objects tree as JSON file":"Sla de objectenboom op als JSON-bestand","ra_Select all":"Selecteer alles","ra_Select color":"Selecteer kleur","ra_Select predefined icon":"Selecteer voorgedefinieerd pictogram","ra_Select type of export":"Selecteer het type export",ra_Selected:RNe,"ra_Selected %s object(s)":"Geselecteerde %s object(en)","ra_Serial number (UUID)":"Serienummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serienummer (UUID) "%s" in licentie is voor ander apparaat.',"ra_Show all folders":"Toon alle mappen","ra_Show lines between rows":"Toon lijnen tussen rijen","ra_Show/Hide object descriptions":"Toon/verberg objectbeschrijvingen","ra_Show/hide filter input":"Filterinvoer weergeven/verbergen","ra_Some data are not stored. Discard?":"Sommige gegevens worden niet opgeslagen. Weggooien?",ra_States:jNe,"ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:LNe,"ra_Suppress question for next %s minutes":"Vraag de volgende %s minuten onderdrukken","ra_System language":"Systeemtaal","ra_Take browser position":"Positie innemen vanuit de browser","ra_Take position from system settings":"Neem positie over van systeeminstellingen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. "Vis.0" of "javascript.0").',"ra_The page you are looking for was not found":"De pagina die u zoekt is niet gevonden","ra_The schedule will be executed every minute. Are you sure?":"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?","ra_The schedule will be executed every second. Are you sure?":"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?",ra_Thursday:zNe,ra_Timestamp:FNe,"ra_Toggle expert mode":"Schakel tussen expertmodus","ra_Toggle the states view":"Schakel de statusweergave in of uit","ra_Toggle view mode":"Schakelen tussen weergavemodus","ra_Too big":"Te groot","ra_Too small":"Te klein","ra_Transparent dialog":"Transparant dialoogvenster",ra_Tuesday:BNe,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:WNe,"ra_Upload file":"Upload bestand","ra_Use all available let's encrypt certificates":"Gebruik alle beschikbare Let's Encrypt-certificaten","ra_Use iobroker.acme adapter for letsencrypt certificates":"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten","ra_Use system settings for position":"Gebruik systeeminstellingen voor positie","ra_Used system settings":"Gebruikte systeeminstellingen","ra_User files":"Gebruikersbestanden",ra_ValidTill:HNe,ra_Value:UNe,ra_Version:VNe,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:qNe,ra_Width:GNe,ra_Yes:XNe,"ra_You can export all objects or just the selected branch.":"U kunt alle objecten of alleen de geselecteerde tak exporteren.","ra_You can filter entries by entering here some text":"U kunt items filteren door hier wat tekst in te voeren",ra___different__:JNe,ra_aclEveryone_read_object:YNe,ra_aclEveryone_read_state:KNe,ra_aclEveryone_write_object:ZNe,ra_aclEveryone_write_state:QNe,ra_aclGroup_read_object:eRe,ra_aclGroup_read_state:tRe,ra_aclGroup_write_object:rRe,ra_aclGroup_write_state:nRe,ra_aclOwner_read_object:oRe,ra_aclOwner_read_state:aRe,ra_aclOwner_write_object:iRe,ra_aclOwner_write_state:sRe,ra_buttons:lRe,ra_changedFrom:cRe,ra_close:dRe,ra_create_boolean_state:uRe,ra_create_channel:pRe,ra_create_device:hRe,ra_create_number_state:fRe,ra_create_state:mRe,ra_create_string_state:gRe,ra_daysShortText:vRe,ra_dow_Fr:yRe,ra_dow_Mo:_Re,ra_dow_Sa:bRe,ra_dow_Su:wRe,ra_dow_Th:xRe,ra_dow_Tu:SRe,ra_dow_We:CRe,ra_expertMode:$Re,ra_fileType_all:kRe,ra_fileType_audio:ERe,ra_fileType_code:TRe,ra_fileType_images:ORe,ra_fileType_txt:DRe,ra_fileType_video:ARe,"ra_fileType_video,":"Video",ra_filter_customs:IRe,ra_filter_customs_without:MRe,ra_filter_func:PRe,ra_filter_id:NRe,ra_filter_name:RRe,ra_filter_role:jRe,ra_filter_room:LRe,ra_filter_type:zRe,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:FRe,ra_lastChange:BRe,ra_locally:WRe,ra_month_Apr:HRe,ra_month_Aug:URe,ra_month_Dec:VRe,ra_month_Feb:qRe,ra_month_Jan:GRe,ra_month_Jul:XRe,ra_month_Jun:JRe,ra_month_Mai:YRe,ra_month_Mar:KRe,ra_month_Nov:ZRe,ra_month_Oct:QRe,ra_month_Sep:e5e,ra_months_Apr:t5e,ra_months_Aug:r5e,ra_months_Dec:n5e,ra_months_Feb:o5e,ra_months_Jan:a5e,ra_months_Jul:i5e,ra_months_Jun:s5e,ra_months_Mai:l5e,ra_months_Mar:c5e,ra_months_Nov:d5e,ra_months_Oct:u5e,ra_months_Sep:p5e,ra_none:h5e,ra_object_changed_by:f5e,ra_object_changed_by_user:m5e,ra_otherConfig:g5e,ra_qualityCode:v5e,ra_repeat:y5e,ra_select_folder_hint:_5e,ra_state_changed_by:b5e,ra_state_changed_from:w5e,ra_timestamp:x5e,ra_tooltip_ack:S5e,ra_tooltip_comment:C5e,ra_tooltip_copyState:$5e,ra_tooltip_customConfig:k5e,ra_tooltip_deleteObject:E5e,ra_tooltip_editObject:T5e,ra_tooltip_editState:O5e,ra_tooltip_from:D5e,ra_tooltip_lc:A5e,ra_tooltip_quality:I5e,ra_tooltip_ts:M5e,ra_tooltip_user:P5e,ra_tooltip_value:N5e,"ra_use seconds":"gebruik seconden",ra_val:R5e,"ra_via internet":"via internet",ra_warning_every_minute:j5e,ra_warning_every_second:L5e,sc_cron:z5e,sc_date:F5e,sc_dates:B5e,sc_dow:W5e,sc_dows:H5e,sc_every:U5e,sc_everyN_dates:V5e,sc_everyN_dow:q5e,sc_everyN_dows:G5e,sc_everyN_hours:X5e,sc_everyN_minutes:J5e,sc_everyN_months:Y5e,sc_everyN_seconds:K5e,sc_every_dates:Z5e,sc_every_dow:Q5e,sc_every_dows:e3e,sc_every_hours:t3e,sc_every_minutes:r3e,sc_every_months:n3e,sc_every_seconds:o3e,sc_from:a3e,sc_hours:i3e,sc_interval:s3e,sc_intervalBetween:l3e,sc_invalid_cron:c3e,sc_minutes:d3e,sc_months:u3e,sc_once:p3e,sc_period:h3e,sc_seconds:f3e,sc_simple:m3e,sc_specific:g3e,sc_specific_dates:v3e,sc_specific_dow:y3e,sc_specific_dows:_3e,sc_specific_hours:b3e,sc_specific_minutes:w3e,sc_specific_months:x3e,sc_specific_seconds:S3e,sc_time:C3e,sc_to:$3e,sc_wizard:k3e,sch_all:E3e,sch_astroDay:T3e,sch_astroNight:O3e,sch_astro_dawn:D3e,sch_astro_dusk:A3e,sch_astro_goldenHour:I3e,sch_astro_goldenHourEnd:M3e,sch_astro_nadir:P3e,sch_astro_nauticalDawn:N3e,sch_astro_nauticalDusk:R3e,sch_astro_night:j3e,sch_astro_nightEnd:L3e,sch_astro_solarNoon:z3e,sch_astro_sunrise:F3e,sch_astro_sunriseEnd:B3e,sch_astro_sunset:W3e,sch_astro_sunsetStart:H3e,sch_at:U3e,sch_desc_atTime:V3e,sch_desc_everyDay:q3e,sch_desc_everyHour:G3e,sch_desc_everyMinute:X3e,sch_desc_everyMonth:J3e,sch_desc_everyNDay:Y3e,sch_desc_everyNHours:K3e,sch_desc_everyNMinutes:Z3e,sch_desc_everyNMonths:Q3e,sch_desc_everyNWeeks:eje,sch_desc_everyNYears:tje,sch_desc_everyWeek:rje,sch_desc_everyYear:nje,sch_desc_intervalFromTo:oje,sch_desc_never:aje,sch_desc_onDate:ije,sch_desc_onDates:sje,sch_desc_onEveryDate:lje,sch_desc_onMonth:cje,sch_desc_onMonths:dje,sch_desc_onWeekday:uje,sch_desc_onWeekdays:pje,sch_desc_onWeekends:hje,sch_desc_onWorkdays:fje,sch_desc_onceInPast:mje,sch_desc_once_on:gje,sch_desc_validFrom:vje,sch_desc_validFromTo:yje,sch_desc_validTo:_je,sch_every:bje,sch_exactTime:wje,sch_from:xje,sch_fromTo:Sje,sch_intervalTime:Cje,sch_invert:$je,sch_no_one:kje,sch_on:Eje,sch_period:Tje,sch_periodDaily:Oje,sch_periodDates:Dje,sch_periodDay:Aje,sch_periodEvery:Ije,sch_periodEveryDay:Mje,sch_periodEveryMonth:Pje,sch_periodEveryWeek:Nje,sch_periodEveryYear:Rje,sch_periodHours:jje,sch_periodMinutes:Lje,sch_periodMonth:zje,sch_periodMonthly:Fje,sch_periodOnce:Bje,sch_periodSpecificMonths:Wje,sch_periodWeek:Hje,sch_periodWeekdays:Uje,sch_periodWeekend:Vje,sch_periodWeekly:qje,sch_periodWorkdays:Gje,sch_periodYear:Xje,sch_periodYearly:Jje,sch_specificTime:Yje,sch_time:Kje,sch_to:Zje,sch_valid:Qje,sch_validFrom:e4e,sch_validTo:t4e,sch_wholeDay:r4e,sch_yearEveryMonth:n4e},a4e="Ajouter",i4e="Annuler",s4e="Catégories",l4e="Vérifié",c4e="Effacer",d4e="Fermer",u4e="Commercial",p4e="Configurer",h4e="Lié",f4e="Copié",m4e="Créer",g4e="Recadrer",v4e="Delete",y4e="Supprimer",_4e="Jeter",b4e="Débranché",w4e="Erreur",x4e="Filtre",S4e="Vendredi",C4e="Latitude",$4e="Longitude",k4e="Message",E4e="Lundi",T4e="Nom",O4e="Objets",D4e="D'accord",A4e="Produit",I4e="Répéter",M4e="Remplacer",P4e="Racine",N4e="Samedi",R4e="sauver",j4e="Choisi",L4e="États",z4e="Dimanche",F4e="Jeudi",B4e="Horodatage",W4e="Mardi",H4e="Mise à jour",U4e="Valable jusqu'au",V4e="Valeur",q4e="Version",G4e="Mercredi",X4e="Largeur",J4e="Oui",Y4e="différent",K4e="Tout le monde peut lire un objet",Z4e="Tout le monde peut lire l'état",Q4e="Tout le monde peut écrire un objet",eLe="Tout le monde peut écrire l'état",tLe="Le groupe peut lire l'objet",rLe="Le groupe peut lire l'état",nLe="Le groupe peut écrire un objet",oLe="Le groupe peut écrire l'état",aLe="Le propriétaire peut lire l'objet",iLe="Le propriétaire peut lire l'état",sLe="Le propriétaire peut écrire un objet",lLe="Le propriétaire peut écrire l'état",cLe="Boutons",dLe="Changé de",uLe="Fermer",pLe="Créer un état booléen",hLe="Créer une chaîne",fLe="Créer un appareil",mLe="Créer un état de numéro",gLe="Créer un état",vLe="Créer un état de chaîne",yLe="j.",_Le="Fr",bLe="Mo",wLe="Sa",xLe="Su",SLe="Th",CLe="Tu",$Le="Nous",kLe="Mode expert",ELe="Tous les fichiers",TLe="l'audio",OLe="Code/JSON",DLe="Images",ALe="Texte",ILe="Vidéo",MLe="Paramètres",PLe="sans",NLe="Une fonction",RLe="ID",jLe="Prénom",LLe="Rôle",zLe="Pièce",FLe="Type",BLe="Paramètres invalides",WLe="Dernier changement",HLe="localement",ULe="Avr",VLe="Août",qLe="Déc",GLe="Fév",XLe="Jan",JLe="Juil",YLe="Juin",KLe="Mai",ZLe="Mar",QLe="Nov",eze="Oct",tze="Sep",rze="Avr",nze="Août",oze="Déc",aze="Fév",ize="Jan",sze="Juil",lze="Juin",cze="Mai",dze="Mar",uze="Nov",pze="Oct",hze="Sep",fze="rien",mze="Objet modifié par",gze="Objet modifié pour la dernière fois à",vze="Paramètres d'un autre adaptateur %s",yze="Code de qualité",_ze="répéter",bze='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',wze="État modifié par",xze="Objet changé de",Sze="Horodatage",Cze="Drapeau reconnu",$ze="Commentaire",kze="Copiez la valeur d'état",Eze="Paramètres personnalisés",Tze="Supprimer un objet",Oze="Modifier l'objet",Dze="Modifier la valeur d'état",Aze="De",Ize="Dernière modification",Mze="Qualité",Pze="Horodatage",Nze="Utilisateur",Rze="Valeur",jze="Valeur",Lze="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",zze="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",Fze="CRON",Bze="Date",Wze="Rendez-vous",Hze="Jour",Uze="Jour de la semaine",Vze="Chaque",qze="tous les N jours",Gze="chaque Nième jour de la semaine",Xze="tous les N jours de la semaine",Jze="toutes les N heures",Yze="toutes les N minutes",Kze="tous les N mois",Zze="toutes les N secondes",Qze="tous les jours",eFe="Chaque jour de la semaine",tFe="Chaque jour de la semaine",rFe="Toutes les heures",nFe="chaque minute",oFe="chaque mois",aFe="chaque seconde",iFe="De",sFe="Heures",lFe="Intervalle",cFe="Intervalle entre",dFe="CRON non valide",uFe="Minutes",pFe="mois",hFe="Une fois que",fFe="Période",mFe="Secondes",gFe="Facile",vFe="Temps spécifique",yFe="dates spécifiques",_Fe="jour(s) spécifique(s) de la semaine",bFe="jour spécifique de semaines",wFe="heures spécifiques",xFe="minutes spécifiques",SFe="mois spécifiques",CFe="secondes spécifiques",$Fe="Temps",kFe="À",EFe="sorcier",TFe="tout",OFe="Journée astronomique",DFe="Nuit astronomique",AFe="Aube",IFe="Crépuscule",MFe="Heure d'or",PFe="Fin de l'heure d'or",NFe="Nadir",RFe="Aube nautique",jFe="Crépuscule nautique",LFe="Nuit",zFe="Fin de nuit",FFe="Midi solaire",BFe="lever du soleil",WFe="Fin du lever du soleil",HFe="Le coucher du soleil",UFe="Coucher du soleil",VFe="à",qFe="à %s",GFe="tous les jours",XFe="Toutes les heures",JFe="chaque minute",YFe="chaque mois",KFe="chaque %s jour",ZFe="chaque %s heures",QFe="toutes les %s minutes",e6e="tous les %s mois",t6e="chaque %s semaines",r6e="tous les %s ans",n6e="toutes les semaines",o6e="chaque année",a6e="de %s à %s",i6e="jamais",s6e="sur %s de %s",l6e="sur %s et %s de",c6e="à chaque date de",d6e="%s",u6e="%s et %s",p6e="sur %s",h6e="sur %s et %s",f6e="les weekends",m6e="les jours ouvrables",g6e="ne sera plus exécuté, car start est dans le passé",v6e="sur %s",y6e="de %s",_6e="Exécuter de à",b6e="à %s",w6e="chaque",x6e="Temps spécifique",S6e="de",C6e="De à",$6e="Temps d'interval",k6e="inverser",E6e="aucun",T6e="sur",O6e="Période",D6e="du quotidien",A6e="Rendez-vous",I6e="journée",M6e="Chaque",P6e="Tous les jours",N6e="Chaque mois",R6e="Toutes les semaines",j6e="Chaque année",L6e="Heures",z6e="Minutes",F6e="mois",B6e="Mensuel",W6e="Une fois que",H6e="Mois spécifiques",U6e="La semaine",V6e="Jours de la semaine",q6e="Weekend",G6e="Hebdomadaire",X6e="Jours ouvrables",J6e="Année",Y6e="Annuel",K6e="Temps spécifique",Z6e="Temps",Q6e="à",e8e="Valide",t8e="de",r8e="à",n8e="Toute la journée",o8e="chaque mois",a8e={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) traité(s)","ra_%s was imported":"%s a été importé","ra_Accept license":"Accepter la licence","ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent sélectionné","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets à partir d'un fichier JSON","ra_Add row":"Ajouter une rangée","ra_Advanced options":"Options avancées","ra_All items are filtered out":"Tous les éléments sont filtrés","ra_All objects":"Tous les objets",ra_Append:a4e,"ra_Append %s entries or replace existing?":"Ajouter %s entrées ou remplacer l'existant ?","ra_Append or replace?":"Ajouter ou remplacer ?","ra_Are you sure?":"Êtes-vous sûr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalisées)","ra_Back to %s":"Retour à %s","ra_Background image":"Image de fond",ra_Cancel:i4e,"ra_Cannot add items with set filter":"Impossible d'ajouter des éléments avec le filtre défini","ra_Cannot decode license":"Impossible de décoder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de déterminer la position : les paramètres système sont vides et la détection GPS est désactivée dans le navigateur",'ra_Cannot find "%s"':'Impossible de trouver "%s"','ra_Cannot read "%s"':'Impossible de lire "%s"',"ra_Cannot read licenses: %s":"Impossible de lire les licences : %s","ra_Cannot retrieve options, as instance is offline":"Impossible de récupérer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre à jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de télécharger",ra_Categories:s4e,"ra_Chained certificate":"Certificat chaîné","ra_Change color theme":"Changer le thème de couleur","ra_Changed from":"Changé de","ra_Channel → State":"Canal → État","ra_Check license":"Vérifier la licence",ra_Checked:l4e,ra_Clear:c4e,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:d4e,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:u4e,ra_Configure:p4e,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:h4e,ra_Copied:f4e,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:m4e,"ra_Create alias":"Créer un alias","ra_Create folder":"Créer le dossier","ra_Create new folder in %s":"Créer un nouveau dossier dans %s",ra_Crop:g4e,"ra_Define CRON...":"Définir CRON...","ra_Define functions":"Définir des fonctions","ra_Define rooms":"Définir des pièces","ra_Define schedule":"Définir le calendrier","ra_Define schedule...":"Définir le calendrier ...",ra_Del:v4e,ra_Delete:y4e,"ra_Delete (no confirm for 5 mins)":"Supprimer (pas de confirmation pendant 5 minutes)","ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État",ra_Discard:_4e,ra_Disconnected:b4e,"ra_Do not export values of states":"Ne pas exporter les valeurs des états","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Double click to reset table layout":"Double-cliquez pour réinitialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-déposez des fichiers ici, ou cliquez pour sélectionner des fichiers","ra_Drop file here":"Déposer le fichier ici","ra_Drop the files here...":"Déposez le fichier ici...","ra_Duplicate name":"Nom en double","ra_Edit ACL":"Modifier la LCA","ra_Edit alias":"Modifier l'alias","ra_Edit custom config":"Modifier la configuration personnalisée","ra_Edit function":"Fonction d'édition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le rôle","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur",ra_Error:w4e,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Export data to %s file":"Exporter les données vers le fichier %s","ra_Failed to open JSON File":"Échec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalisés de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",ra_Filter:x4e,"ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder → Channel → State":"Dossier → Chaîne → État","ra_Folder → Device → Channel → State":"Dossier → Appareil → Canal → État","ra_Folder → State":"Dossier → État","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:S4e,"ra_Good luck":"Bonne chance","ra_Hide empty folders":"Masquer les dossiers vides","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si aucun fichier ne sera créé dans le dossier, il disparaîtra après la fermeture du navigateur","ra_Import data from %s file":"Importer des données à partir du fichier %s","ra_Import from %s":"Importer depuis %s","ra_Instance %s is alive":"L'instance %s est active","ra_Instance %s is not alive":"L'instance %s n'est pas active","ra_Instance is not alive":"L'instance n'est pas active","ra_Invalid CRON":"CRON invalide","ra_Invalid JSON":"JSON invalide","ra_Invalid answer from server":"Réponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"Éditeur JSON","ra_Last change":"Dernier changement",ra_Latitude:C4e,"ra_License %s":"Licence %s","ra_License agreement":"Accord de licence","ra_License does not exist":"La licence n'existe pas","ra_License expired on %s":"Licence expirée le %s",'ra_License for other product "%s"':'Licence pour un autre produit "%s"',"ra_License is for version %s, but required version is %s.":"La licence est pour la version %s, mais la version requise est %s.","ra_License must be converted":"La licence doit être convertie en une version plus récente. Vous pouvez le faire dans votre profil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre à jour les licences depuis iobroker.net ?","ra_Listen on all IPs":"Écoutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration à partir du fichier",ra_Longitude:$4e,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:k4e,ra_Monday:E4e,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:T4e,"ra_No data found in file":"Aucune donnée trouvée dans le fichier","ra_No one license found in license manager":"Aucune licence trouvée dans le gestionnaire de licences","ra_No response from the backend":"Aucune réponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent créer de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un numéro",ra_Objects:O4e,ra_Ok:D4e,"ra_On weekdays":"En semaine","ra_Only following structures of objects are available:":"Seules les structures d'objets suivantes sont disponibles:","ra_Only selected":"Uniquement sélectionné","ra_Owner group":"Groupe propriétaire","ra_Owner user":"Utilisateur propriétaire","ra_Passwords are not equal!":"Les mots de passe ne sont pas égaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez créer une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez sélectionner le fichier...","ra_Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait être utilisé par %s","ra_Port is already used by %s":"Le port est déjà utilisé par %s","ra_Private certificate":"Certificat privé",ra_Product:A4e,"ra_Public certificate":"Certificat public","ra_Quality code":"Qualité","ra_Refresh tree":"Rafraîchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Repeat:I4e,ra_Replace:M4e,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:P4e,ra_Saturday:N4e,ra_Save:R4e,"ra_Save and close":"Sauver et fermer","ra_Save configuration to file":"Enregistrer la configuration dans un fichier","ra_Save objects tree as JSON file":"Enregistrer l'arborescence des objets en tant que fichier JSON","ra_Select all":"Tout sélectionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"Sélectionnez l'icône prédéfinie","ra_Select type of export":"Sélectionnez le type d'exportation",ra_Selected:j4e,"ra_Selected %s object(s)":"Objet(s) %s sélectionné(s)","ra_Serial number (UUID)":"Numéro de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le numéro de série (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Show all folders":"Afficher tous les dossiers","ra_Show lines between rows":"Afficher les lignes entre les lignes","ra_Show/Hide object descriptions":"Afficher/Masquer les descriptions d'objets","ra_Show/hide filter input":"Afficher/masquer l'entrée de filtre","ra_Some data are not stored. Discard?":"Certaines données ne sont pas stockées. Jeter?",ra_States:L4e,"ra_Suitable license not found in license manager":"Licence appropriée introuvable dans le gestionnaire de licences",ra_Sunday:z4e,"ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du système","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position à partir des paramètres système",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent créer des objets partout mais à partir du deuxième niveau (par exemple "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"La page que vous recherchez n'a pas été trouvée","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera exécuté toutes les minutes. Êtes-vous sûr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera exécuté toutes les secondes. Êtes-vous sûr ?",ra_Thursday:F4e,ra_Timestamp:B4e,"ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des états","ra_Toggle view mode":"Basculer le mode d'affichage","ra_Too big":"Trop grand","ra_Too small":"Trop petit","ra_Transparent dialog":"Dialogue transparent",ra_Tuesday:W4e,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:H4e,"ra_Upload file":"Téléverser un fichier","ra_Use all available let's encrypt certificates":"Utilisez tous les certificats let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt","ra_Use system settings for position":"Utiliser les paramètres système pour la position","ra_Used system settings":"Paramètres système utilisés","ra_User files":"Fichiers utilisateurs",ra_ValidTill:U4e,ra_Value:V4e,ra_Version:q4e,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:G4e,ra_Width:X4e,ra_Yes:J4e,"ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche sélectionnée.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entrées en saisissant ici du texte",ra___different__:Y4e,ra_aclEveryone_read_object:K4e,ra_aclEveryone_read_state:Z4e,ra_aclEveryone_write_object:Q4e,ra_aclEveryone_write_state:eLe,ra_aclGroup_read_object:tLe,ra_aclGroup_read_state:rLe,ra_aclGroup_write_object:nLe,ra_aclGroup_write_state:oLe,ra_aclOwner_read_object:aLe,ra_aclOwner_read_state:iLe,ra_aclOwner_write_object:sLe,ra_aclOwner_write_state:lLe,ra_buttons:cLe,ra_changedFrom:dLe,ra_close:uLe,ra_create_boolean_state:pLe,ra_create_channel:hLe,ra_create_device:fLe,ra_create_number_state:mLe,ra_create_state:gLe,ra_create_string_state:vLe,ra_daysShortText:yLe,ra_dow_Fr:_Le,ra_dow_Mo:bLe,ra_dow_Sa:wLe,ra_dow_Su:xLe,ra_dow_Th:SLe,ra_dow_Tu:CLe,ra_dow_We:$Le,ra_expertMode:kLe,ra_fileType_all:ELe,ra_fileType_audio:TLe,ra_fileType_code:OLe,ra_fileType_images:DLe,ra_fileType_txt:ALe,ra_fileType_video:ILe,"ra_fileType_video,":"Vidéo",ra_filter_customs:MLe,ra_filter_customs_without:PLe,ra_filter_func:NLe,ra_filter_id:RLe,ra_filter_name:jLe,ra_filter_role:LLe,ra_filter_room:zLe,ra_filter_type:FLe,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:BLe,ra_lastChange:WLe,ra_locally:HLe,ra_month_Apr:ULe,ra_month_Aug:VLe,ra_month_Dec:qLe,ra_month_Feb:GLe,ra_month_Jan:XLe,ra_month_Jul:JLe,ra_month_Jun:YLe,ra_month_Mai:KLe,ra_month_Mar:ZLe,ra_month_Nov:QLe,ra_month_Oct:eze,ra_month_Sep:tze,ra_months_Apr:rze,ra_months_Aug:nze,ra_months_Dec:oze,ra_months_Feb:aze,ra_months_Jan:ize,ra_months_Jul:sze,ra_months_Jun:lze,ra_months_Mai:cze,ra_months_Mar:dze,ra_months_Nov:uze,ra_months_Oct:pze,ra_months_Sep:hze,ra_none:fze,ra_object_changed_by:mze,ra_object_changed_by_user:gze,ra_otherConfig:vze,ra_qualityCode:yze,ra_repeat:_ze,ra_select_folder_hint:bze,ra_state_changed_by:wze,ra_state_changed_from:xze,ra_timestamp:Sze,ra_tooltip_ack:Cze,ra_tooltip_comment:$ze,ra_tooltip_copyState:kze,ra_tooltip_customConfig:Eze,ra_tooltip_deleteObject:Tze,ra_tooltip_editObject:Oze,ra_tooltip_editState:Dze,ra_tooltip_from:Aze,ra_tooltip_lc:Ize,ra_tooltip_quality:Mze,ra_tooltip_ts:Pze,ra_tooltip_user:Nze,ra_tooltip_value:Rze,"ra_use seconds":"utiliser les secondes",ra_val:jze,"ra_via internet":"par Internet",ra_warning_every_minute:Lze,ra_warning_every_second:zze,sc_cron:Fze,sc_date:Bze,sc_dates:Wze,sc_dow:Hze,sc_dows:Uze,sc_every:Vze,sc_everyN_dates:qze,sc_everyN_dow:Gze,sc_everyN_dows:Xze,sc_everyN_hours:Jze,sc_everyN_minutes:Yze,sc_everyN_months:Kze,sc_everyN_seconds:Zze,sc_every_dates:Qze,sc_every_dow:eFe,sc_every_dows:tFe,sc_every_hours:rFe,sc_every_minutes:nFe,sc_every_months:oFe,sc_every_seconds:aFe,sc_from:iFe,sc_hours:sFe,sc_interval:lFe,sc_intervalBetween:cFe,sc_invalid_cron:dFe,sc_minutes:uFe,sc_months:pFe,sc_once:hFe,sc_period:fFe,sc_seconds:mFe,sc_simple:gFe,sc_specific:vFe,sc_specific_dates:yFe,sc_specific_dow:_Fe,sc_specific_dows:bFe,sc_specific_hours:wFe,sc_specific_minutes:xFe,sc_specific_months:SFe,sc_specific_seconds:CFe,sc_time:$Fe,sc_to:kFe,sc_wizard:EFe,sch_all:TFe,sch_astroDay:OFe,sch_astroNight:DFe,sch_astro_dawn:AFe,sch_astro_dusk:IFe,sch_astro_goldenHour:MFe,sch_astro_goldenHourEnd:PFe,sch_astro_nadir:NFe,sch_astro_nauticalDawn:RFe,sch_astro_nauticalDusk:jFe,sch_astro_night:LFe,sch_astro_nightEnd:zFe,sch_astro_solarNoon:FFe,sch_astro_sunrise:BFe,sch_astro_sunriseEnd:WFe,sch_astro_sunset:HFe,sch_astro_sunsetStart:UFe,sch_at:VFe,sch_desc_atTime:qFe,sch_desc_everyDay:GFe,sch_desc_everyHour:XFe,sch_desc_everyMinute:JFe,sch_desc_everyMonth:YFe,sch_desc_everyNDay:KFe,sch_desc_everyNHours:ZFe,sch_desc_everyNMinutes:QFe,sch_desc_everyNMonths:e6e,sch_desc_everyNWeeks:t6e,sch_desc_everyNYears:r6e,sch_desc_everyWeek:n6e,sch_desc_everyYear:o6e,sch_desc_intervalFromTo:a6e,sch_desc_never:i6e,sch_desc_onDate:s6e,sch_desc_onDates:l6e,sch_desc_onEveryDate:c6e,sch_desc_onMonth:d6e,sch_desc_onMonths:u6e,sch_desc_onWeekday:p6e,sch_desc_onWeekdays:h6e,sch_desc_onWeekends:f6e,sch_desc_onWorkdays:m6e,sch_desc_onceInPast:g6e,sch_desc_once_on:v6e,sch_desc_validFrom:y6e,sch_desc_validFromTo:_6e,sch_desc_validTo:b6e,sch_every:w6e,sch_exactTime:x6e,sch_from:S6e,sch_fromTo:C6e,sch_intervalTime:$6e,sch_invert:k6e,sch_no_one:E6e,sch_on:T6e,sch_period:O6e,sch_periodDaily:D6e,sch_periodDates:A6e,sch_periodDay:I6e,sch_periodEvery:M6e,sch_periodEveryDay:P6e,sch_periodEveryMonth:N6e,sch_periodEveryWeek:R6e,sch_periodEveryYear:j6e,sch_periodHours:L6e,sch_periodMinutes:z6e,sch_periodMonth:F6e,sch_periodMonthly:B6e,sch_periodOnce:W6e,sch_periodSpecificMonths:H6e,sch_periodWeek:U6e,sch_periodWeekdays:V6e,sch_periodWeekend:q6e,sch_periodWeekly:G6e,sch_periodWorkdays:X6e,sch_periodYear:J6e,sch_periodYearly:Y6e,sch_specificTime:K6e,sch_time:Z6e,sch_to:Q6e,sch_valid:e8e,sch_validFrom:t8e,sch_validTo:r8e,sch_wholeDay:n8e,sch_yearEveryMonth:o8e},i8e="Aggiungere",s8e="Annulla",l8e="Categorie",c8e="Controllato",d8e="Elimina",u8e="Vicino",p8e="Commerciale",h8e="Configura",f8e="Collegato",m8e="Copiato",g8e="Creare",v8e="Raccolto",y8e="Delete",_8e="Elimina",b8e="Scartare",w8e="Disconnesso",x8e="Errore",S8e="Filtro",C8e="Venerdì",$8e="Latitudine",k8e="Longitudine",E8e="Messaggio",T8e="Lunedi",O8e="Nome",D8e="Oggetti",A8e="Ok",I8e="Prodotto",M8e="Ripetere",P8e="Sostituire",N8e="Radice",R8e="Sabato",j8e="Salva",L8e="Selezionato",z8e="stati",F8e="Domenica",B8e="Giovedì",W8e="Timestamp",H8e="Martedì",U8e="Aggiornare",V8e="Valido fino a",q8e="Valore",G8e="Versione",X8e="Mercoledì",J8e="Larghezza",Y8e="SÌ",K8e="diverso",Z8e="Tutti possono leggere gli oggetti",Q8e="Tutti possono leggere lo stato",eBe="Tutti possono scrivere oggetti",tBe="Tutti possono scrivere stato",rBe="Il gruppo può leggere l'oggetto",nBe="Il gruppo può leggere lo stato",oBe="Il gruppo può scrivere l'oggetto",aBe="Il gruppo può scrivere lo stato",iBe="Il proprietario può leggere l'oggetto",sBe="Il proprietario può leggere lo stato",lBe="Il proprietario può scrivere l'oggetto",cBe="Il proprietario può scrivere lo stato",dBe="Bottoni",uBe="Cambiato da",pBe="vicino",hBe="Crea uno stato booleano",fBe="Crea canale",mBe="Crea dispositivo",gBe="Crea lo stato del numero",vBe="Crea stato",yBe="Crea lo stato della stringa",_Be="g.",bBe="fr",wBe="momento",xBe="Sa",SBe="su",CBe="th",$Be="Tu",kBe="Noi",EBe="Modalità esperto",TBe="Tutti i files",OBe="Audio",DBe="Codice/JSON",ABe="immagini",IBe="Testo",MBe="video",PBe="impostazioni",NBe="senza",RBe="Funzione",jBe="ID",LBe="Nome",zBe="Ruolo",FBe="Camera",BBe="genere",WBe="Impostazioni non valide",HBe="Ultima modifica",UBe="localmente",VBe="apr",qBe="agosto",GBe="Dic",XBe="febbraio",JBe="gen",YBe="lug",KBe="giu",ZBe="Mai",QBe="marzo",e9e="nov",t9e="ottobre",r9e="Sett",n9e="apr",o9e="agosto",a9e="Dic",i9e="febbraio",s9e="gen",l9e="lug",c9e="giu",d9e="Mai",u9e="marzo",p9e="nov",h9e="ottobre",f9e="Sett",m9e="nessuna",g9e="Oggetto modificato da",v9e="L'oggetto è stato modificato l'ultima volta alle",y9e="Impostazioni dall'altro adattatore %s",_9e="Codice di qualità",b9e="ripetere",w9e='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',x9e="Stato cambiato da",S9e="Oggetto cambiato da",C9e="Timestamp",$9e="Bandiera riconosciuta",k9e="Commento",E9e="Copia il valore dello stato",T9e="Impostazioni personalizzate",O9e="Elimina oggetto",D9e="Modifica oggetto",A9e="Modifica il valore dello stato",I9e="A partire dal",M9e="Ultima modifica",P9e="Qualità",N9e="Data e ora",R9e="Utente",j9e="Valore",L9e="Valore",z9e="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",F9e="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",B9e="CRON",W9e="Data",H9e="Date",U9e="Giorno",V9e="Giorno della settimana",q9e="Ogni",G9e="ogni N giorni",X9e="ogni Nesimo giorno della settimana",J9e="ogni N giorno della settimana",Y9e="ogni N ore",K9e="ogni N minuti",Z9e="ogni N mesi",Q9e="ogni N secondi",e7e="ogni giorno",t7e="Tutti i giorni della settimana",r7e="Tutti i giorni della settimana",n7e="ogni ora",o7e="ogni minuto",a7e="ogni mese",i7e="ogni secondo",s7e="A partire dal",l7e="Ore",c7e="Intervallo",d7e="Intervallo tra",u7e="CRON non valido",p7e="Minuti",h7e="mesi",f7e="Una volta",m7e="Periodo",g7e="secondi",v7e="Semplice",y7e="Orario preciso",_7e="date specifiche",b7e="giorno/i specifico/i della settimana",w7e="giorno specifico delle settimane",x7e="orari specifici",S7e="minuti specifici",C7e="mesi specifici",$7e="secondi specifici",k7e="Tempo",E7e="Per",T7e="procedura guidata",O7e="tutti",D7e="Astro day",A7e="Astro night",I7e="Alba",M7e="Crepuscolo",P7e="Ora d'oro",N7e="Fine dell'ora d'oro",R7e="Nadir",j7e="Alba nautica",L7e="Crepuscolo nautico",z7e="Notte",F7e="Fine della notte",B7e="Mezzogiorno solare",W7e="Alba",H7e="Fine dell'alba",U7e="Tramonto",V7e="Inizio del tramonto",q7e="a",G7e="a %s",X7e="ogni giorno",J7e="ogni ora",Y7e="ogni minuto",K7e="ogni mese",Z7e="ogni %s giorno",Q7e="ogni %s ore",eWe="ogni %s minuti",tWe="ogni %s mesi",rWe="ogni %s settimane",nWe="ogni %s anni",oWe="ogni settimana",aWe="ogni anno",iWe="da %s a %s",sWe="mai",lWe="su %s di %s",cWe="su %s e %s di",dWe="in ogni data di",uWe="%s",pWe="%s e %s",hWe="su %s",fWe="su %s e %s",mWe="nei finesettimana",gWe="nei giorni lavorativi",vWe="non verrà più eseguito, perché start è nel passato",yWe="su %s",_We="da %s",bWe="Eseguire da a",wWe="a %s",xWe="ogni",SWe="Orario preciso",CWe="a partire dal",$We="Da A",kWe="Intervallo di tempo",EWe="invertire",TWe="nessuna",OWe="sopra",DWe="Periodo",AWe="Quotidiano",IWe="Date",MWe="Giorno",PWe="Ogni",NWe="Ogni giorno",RWe="Ogni mese",jWe="Ogni settimana",LWe="Ogni anno",zWe="Ore",FWe="Minuti",BWe="mese",WWe="Mensile",HWe="Una volta",UWe="Mesi specifici",VWe="Settimana",qWe="Giorni della settimana",GWe="Fine settimana",XWe="settimanalmente",JWe="giorni feriali",YWe="Anno",KWe="Annuale",ZWe="Orario preciso",QWe="Tempo",eHe="per",tHe="Valido",rHe="a partire dal",nHe="per",oHe="Giorno intero",aHe="ogni mese",iHe={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s è stato importato","ra_Accept license":"Accetta licenza","ra_Add new child object to selected parent":"Aggiungi un nuovo oggetto figlio al genitore selezionato","ra_Add objects tree from JSON file":"Aggiungi l'albero degli oggetti dal file JSON","ra_Add row":"Aggiungi riga","ra_Advanced options":"Opzioni avanzate","ra_All items are filtered out":"Tutti gli elementi vengono filtrati","ra_All objects":"Tutti gli oggetti",ra_Append:i8e,"ra_Append %s entries or replace existing?":"Aggiungi %s voci o sostituisci quelle esistenti?","ra_Append or replace?":"Aggiungere o sostituire?","ra_Are you sure?":"Sei sicuro?","ra_Auto (no custom columns)":"Auto (nessuna colonna personalizzata)","ra_Back to %s":"Torna a %s","ra_Background image":"Immagine di sfondo",ra_Cancel:s8e,"ra_Cannot add items with set filter":"Impossibile aggiungere elementi con il filtro impostato","ra_Cannot decode license":"Impossibile decodificare la licenza","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS è disabilitato nel browser",'ra_Cannot find "%s"':'Impossibile trovare "%s"','ra_Cannot read "%s"':'Impossibile leggere "%s"',"ra_Cannot read licenses: %s":"Impossibile leggere le licenze: %s","ra_Cannot retrieve options, as instance is offline":"Impossibile recuperare le opzioni, poiché l'istanza è offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perché non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:l8e,"ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel → State":"Canale → Stato","ra_Check license":"Controlla la licenza",ra_Checked:c8e,ra_Clear:d8e,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Clone current row":"Clona riga corrente",ra_Close:u8e,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:p8e,ra_Configure:h8e,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:f8e,ra_Copied:m8e,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:g8e,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:v8e,"ra_Define CRON...":"Definisci CRON...","ra_Define functions":"Definire le funzioni","ra_Define rooms":"Definisci le stanze","ra_Define schedule":"Definisci programma","ra_Define schedule...":"Definisci pianificazione ...",ra_Del:y8e,ra_Delete:_8e,"ra_Delete (no confirm for 5 mins)":"Elimina (nessuna conferma per 5 minuti)","ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato",ra_Discard:b8e,ra_Disconnected:w8e,"ra_Do not export values of states":"Non esportare i valori degli stati","ra_Do not use let's encrypt":"Non utilizzare crittografiamo","ra_Double click to reset table layout":"Fare doppio clic per ripristinare il layout della tabella","ra_Drag 'n' drop some files here, or click to select files":"Trascina e rilascia alcuni file qui o fai clic per selezionare i file","ra_Drop file here":"Trascina il file qui","ra_Drop the files here...":"Trascina qui il file...","ra_Duplicate name":"Nome duplicato","ra_Edit ACL":"Modifica ACL","ra_Edit alias":"Modifica alias","ra_Edit custom config":"Modifica configurazione personalizzata","ra_Edit function":"Funzione di modifica","ra_Edit object field":"Modifica campo oggetto","ra_Edit role":"Modifica ruolo","ra_Edit room":"Modifica stanza","ra_Edit value":"Modifica valore",ra_Error:x8e,"ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Export data to %s file":"Esporta i dati nel file %s","ra_Failed to open JSON File":"Impossibile aprire il file JSON","ra_Fallback custom certificates":"Certificati personalizzati di fallback","ra_File is too big. Max %sk allowed. Try use SVG.":"Il file è troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:S8e,"ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder → Channel → State":"Cartella → Canale → Stato","ra_Folder → Device → Channel → State":"Cartella → Dispositivo → Canale → Stato","ra_Folder → State":"Cartella → Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:C8e,"ra_Good luck":"Buona fortuna","ra_Hide empty folders":"Nascondi cartelle vuote","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nessun file verrà creato nella cartella, scomparirà dopo la chiusura del browser","ra_Import data from %s file":"Importa i dati dal file %s","ra_Import from %s":"Importa da %s","ra_Instance %s is alive":"Il %s dell'istanza è vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non è vivo","ra_Instance is not alive":"L'istanza non è viva","ra_Invalid CRON":"CRON non valido","ra_Invalid JSON":"JSON non valido","ra_Invalid answer from server":"Risposta non valida dal server","ra_Invalid parent folder!":"Cartella principale non valida!","ra_Invalid structure":"Struttura non valida","ra_JSON editor":"Editor JSON","ra_Last change":"Ultima modifica",ra_Latitude:$8e,"ra_License %s":"Licenza %s","ra_License agreement":"Contratto di licenza","ra_License does not exist":"La licenza non esiste","ra_License expired on %s":"Licenza scaduta il %s",'ra_License for other product "%s"':'Licenza per altro prodotto "%s"',"ra_License is for version %s, but required version is %s.":"La licenza è per la versione %s, ma la versione richiesta è %s.","ra_License must be converted":"La licenza deve essere convertita in una versione più recente. Puoi farlo nel tuo profilo iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?","ra_Listen on all IPs":"Ascolta su tutti gli IP","ra_Load configuration from file":"Carica la configurazione dal file",ra_Longitude:k8e,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:E8e,ra_Monday:T8e,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:O8e,"ra_No data found in file":"Nessun dato trovato nel file","ra_No one license found in license manager":"Nessuna licenza trovata nel gestore delle licenze","ra_No response from the backend":"Nessuna risposta dal backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'I non esperti possono creare nuovi oggetti solo in "0_userdata.0" o "alias.0".',"ra_Not a number":"Non un numero",ra_Objects:D8e,ra_Ok:A8e,"ra_On weekdays":"Nei giorni della settimana","ra_Only following structures of objects are available:":"Sono disponibili solo le seguenti strutture di oggetti:","ra_Only selected":"Solo selezionato","ra_Owner group":"Gruppo di proprietari","ra_Owner user":"Utente proprietario","ra_Passwords are not equal!":"Le password non sono uguali!","ra_Place your files here or click here to open the browse dialog":"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia","ra_Please confirm":"Si prega di confermare","ra_Please create license":"Si prega di creare la licenza","ra_Please enter the license":"Inserisci la licenza","ra_Please select file...":"Si prega di selezionare il file...","ra_Please select object ID...":"Seleziona l'ID oggetto ...","ra_Port could be used by %s":"La porta potrebbe essere utilizzata da %s","ra_Port is already used by %s":"La porta è già utilizzata da %s","ra_Private certificate":"Certificato privato",ra_Product:I8e,"ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualità","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Repeat:M8e,ra_Replace:P8e,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:N8e,ra_Saturday:R8e,ra_Save:j8e,"ra_Save and close":"Salva e chiudi","ra_Save configuration to file":"Salva la configurazione su file","ra_Save objects tree as JSON file":"Salva l'albero degli oggetti come file JSON","ra_Select all":"Seleziona tutto","ra_Select color":"Seleziona il colore","ra_Select predefined icon":"Seleziona l'icona predefinita","ra_Select type of export":"Seleziona il tipo di esportazione",ra_Selected:L8e,"ra_Selected %s object(s)":"%s oggetto/i selezionato/i","ra_Serial number (UUID)":"Numero di serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Il numero di serie (UUID) "%s" nella licenza è per un altro dispositivo.',"ra_Show all folders":"Mostra tutte le cartelle","ra_Show lines between rows":"Mostra linee tra le righe","ra_Show/Hide object descriptions":"Mostra/Nascondi le descrizioni degli oggetti","ra_Show/hide filter input":"Mostra/nascondi input filtro","ra_Some data are not stored. Discard?":"Alcuni dati non vengono memorizzati. Scartare?",ra_States:z8e,"ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:F8e,"ra_Suppress question for next %s minutes":"Sopprimi la domanda per i prossimi %s minuti","ra_System language":"Linguaggio di sistema","ra_Take browser position":"Prendi posizione dal browser","ra_Take position from system settings":"Prendi posizione dalle impostazioni di sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. "Vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"La pagina che stai cercando non è stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verrà eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verrà eseguita ogni secondo. Sei sicuro?",ra_Thursday:B8e,ra_Timestamp:W8e,"ra_Toggle expert mode":"Attiva / disattiva la modalità esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalità di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:H8e,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:U8e,"ra_Upload file":"Caricare un file","ra_Use all available let's encrypt certificates":"Usa tutti i certificati Let's Encrypt disponibili","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt","ra_Use system settings for position":"Usa le impostazioni di sistema per la posizione","ra_Used system settings":"Impostazioni di sistema utilizzate","ra_User files":"File utente",ra_ValidTill:V8e,ra_Value:q8e,ra_Version:G8e,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:X8e,ra_Width:J8e,ra_Yes:Y8e,"ra_You can export all objects or just the selected branch.":"Puoi esportare tutti gli oggetti o solo il ramo selezionato.","ra_You can filter entries by entering here some text":"Puoi filtrare le voci inserendo qui del testo",ra___different__:K8e,ra_aclEveryone_read_object:Z8e,ra_aclEveryone_read_state:Q8e,ra_aclEveryone_write_object:eBe,ra_aclEveryone_write_state:tBe,ra_aclGroup_read_object:rBe,ra_aclGroup_read_state:nBe,ra_aclGroup_write_object:oBe,ra_aclGroup_write_state:aBe,ra_aclOwner_read_object:iBe,ra_aclOwner_read_state:sBe,ra_aclOwner_write_object:lBe,ra_aclOwner_write_state:cBe,ra_buttons:dBe,ra_changedFrom:uBe,ra_close:pBe,ra_create_boolean_state:hBe,ra_create_channel:fBe,ra_create_device:mBe,ra_create_number_state:gBe,ra_create_state:vBe,ra_create_string_state:yBe,ra_daysShortText:_Be,ra_dow_Fr:bBe,ra_dow_Mo:wBe,ra_dow_Sa:xBe,ra_dow_Su:SBe,ra_dow_Th:CBe,ra_dow_Tu:$Be,ra_dow_We:kBe,ra_expertMode:EBe,ra_fileType_all:TBe,ra_fileType_audio:OBe,ra_fileType_code:DBe,ra_fileType_images:ABe,ra_fileType_txt:IBe,ra_fileType_video:MBe,"ra_fileType_video,":"video",ra_filter_customs:PBe,ra_filter_customs_without:NBe,ra_filter_func:RBe,ra_filter_id:jBe,ra_filter_name:LBe,ra_filter_role:zBe,ra_filter_room:FBe,ra_filter_type:BBe,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:WBe,ra_lastChange:HBe,ra_locally:UBe,ra_month_Apr:VBe,ra_month_Aug:qBe,ra_month_Dec:GBe,ra_month_Feb:XBe,ra_month_Jan:JBe,ra_month_Jul:YBe,ra_month_Jun:KBe,ra_month_Mai:ZBe,ra_month_Mar:QBe,ra_month_Nov:e9e,ra_month_Oct:t9e,ra_month_Sep:r9e,ra_months_Apr:n9e,ra_months_Aug:o9e,ra_months_Dec:a9e,ra_months_Feb:i9e,ra_months_Jan:s9e,ra_months_Jul:l9e,ra_months_Jun:c9e,ra_months_Mai:d9e,ra_months_Mar:u9e,ra_months_Nov:p9e,ra_months_Oct:h9e,ra_months_Sep:f9e,ra_none:m9e,ra_object_changed_by:g9e,ra_object_changed_by_user:v9e,ra_otherConfig:y9e,ra_qualityCode:_9e,ra_repeat:b9e,ra_select_folder_hint:w9e,ra_state_changed_by:x9e,ra_state_changed_from:S9e,ra_timestamp:C9e,ra_tooltip_ack:$9e,ra_tooltip_comment:k9e,ra_tooltip_copyState:E9e,ra_tooltip_customConfig:T9e,ra_tooltip_deleteObject:O9e,ra_tooltip_editObject:D9e,ra_tooltip_editState:A9e,ra_tooltip_from:I9e,ra_tooltip_lc:M9e,ra_tooltip_quality:P9e,ra_tooltip_ts:N9e,ra_tooltip_user:R9e,ra_tooltip_value:j9e,"ra_use seconds":"usa i secondi",ra_val:L9e,"ra_via internet":"attraverso internet",ra_warning_every_minute:z9e,ra_warning_every_second:F9e,sc_cron:B9e,sc_date:W9e,sc_dates:H9e,sc_dow:U9e,sc_dows:V9e,sc_every:q9e,sc_everyN_dates:G9e,sc_everyN_dow:X9e,sc_everyN_dows:J9e,sc_everyN_hours:Y9e,sc_everyN_minutes:K9e,sc_everyN_months:Z9e,sc_everyN_seconds:Q9e,sc_every_dates:e7e,sc_every_dow:t7e,sc_every_dows:r7e,sc_every_hours:n7e,sc_every_minutes:o7e,sc_every_months:a7e,sc_every_seconds:i7e,sc_from:s7e,sc_hours:l7e,sc_interval:c7e,sc_intervalBetween:d7e,sc_invalid_cron:u7e,sc_minutes:p7e,sc_months:h7e,sc_once:f7e,sc_period:m7e,sc_seconds:g7e,sc_simple:v7e,sc_specific:y7e,sc_specific_dates:_7e,sc_specific_dow:b7e,sc_specific_dows:w7e,sc_specific_hours:x7e,sc_specific_minutes:S7e,sc_specific_months:C7e,sc_specific_seconds:$7e,sc_time:k7e,sc_to:E7e,sc_wizard:T7e,sch_all:O7e,sch_astroDay:D7e,sch_astroNight:A7e,sch_astro_dawn:I7e,sch_astro_dusk:M7e,sch_astro_goldenHour:P7e,sch_astro_goldenHourEnd:N7e,sch_astro_nadir:R7e,sch_astro_nauticalDawn:j7e,sch_astro_nauticalDusk:L7e,sch_astro_night:z7e,sch_astro_nightEnd:F7e,sch_astro_solarNoon:B7e,sch_astro_sunrise:W7e,sch_astro_sunriseEnd:H7e,sch_astro_sunset:U7e,sch_astro_sunsetStart:V7e,sch_at:q7e,sch_desc_atTime:G7e,sch_desc_everyDay:X7e,sch_desc_everyHour:J7e,sch_desc_everyMinute:Y7e,sch_desc_everyMonth:K7e,sch_desc_everyNDay:Z7e,sch_desc_everyNHours:Q7e,sch_desc_everyNMinutes:eWe,sch_desc_everyNMonths:tWe,sch_desc_everyNWeeks:rWe,sch_desc_everyNYears:nWe,sch_desc_everyWeek:oWe,sch_desc_everyYear:aWe,sch_desc_intervalFromTo:iWe,sch_desc_never:sWe,sch_desc_onDate:lWe,sch_desc_onDates:cWe,sch_desc_onEveryDate:dWe,sch_desc_onMonth:uWe,sch_desc_onMonths:pWe,sch_desc_onWeekday:hWe,sch_desc_onWeekdays:fWe,sch_desc_onWeekends:mWe,sch_desc_onWorkdays:gWe,sch_desc_onceInPast:vWe,sch_desc_once_on:yWe,sch_desc_validFrom:_We,sch_desc_validFromTo:bWe,sch_desc_validTo:wWe,sch_every:xWe,sch_exactTime:SWe,sch_from:CWe,sch_fromTo:$We,sch_intervalTime:kWe,sch_invert:EWe,sch_no_one:TWe,sch_on:OWe,sch_period:DWe,sch_periodDaily:AWe,sch_periodDates:IWe,sch_periodDay:MWe,sch_periodEvery:PWe,sch_periodEveryDay:NWe,sch_periodEveryMonth:RWe,sch_periodEveryWeek:jWe,sch_periodEveryYear:LWe,sch_periodHours:zWe,sch_periodMinutes:FWe,sch_periodMonth:BWe,sch_periodMonthly:WWe,sch_periodOnce:HWe,sch_periodSpecificMonths:UWe,sch_periodWeek:VWe,sch_periodWeekdays:qWe,sch_periodWeekend:GWe,sch_periodWeekly:XWe,sch_periodWorkdays:JWe,sch_periodYear:YWe,sch_periodYearly:KWe,sch_specificTime:ZWe,sch_time:QWe,sch_to:eHe,sch_valid:tHe,sch_validFrom:rHe,sch_validTo:nHe,sch_wholeDay:oHe,sch_yearEveryMonth:aHe},sHe="Adjuntar",lHe="Cancelar",cHe="Categorías",dHe="Comprobado",uHe="Borrar",pHe="Cerca",hHe="Comercial",fHe="Configurar",mHe="Conectado",gHe="Copiado",vHe="Crear",yHe="Cultivo",_He="Delete",bHe="Eliminar",wHe="Desechar",xHe="Desconectado",SHe="Error",CHe="Filtrar",$He="Viernes",kHe="Latitud",EHe="Longitud",THe="Mensaje",OHe="Lunes",DHe="Nombre",AHe="Objetos",IHe="Okay",MHe="Producto",PHe="Repetir",NHe="Reemplazar",RHe="Raíz",jHe="Sábado",LHe="Salvar",zHe="Seleccionado",FHe="Estados",BHe="Domingo",WHe="Jueves",HHe="Marca de tiempo",UHe="Martes",VHe="Actualizar",qHe="Válida hasta",GHe="Valor",XHe="Versión",JHe="Miércoles",YHe="Anchura",KHe="Sí",ZHe="diferente",QHe="Todo el mundo puede leer el objeto",eUe="Todos pueden leer el estado",tUe="Todos pueden escribir objetos",rUe="Todos pueden escribir el estado",nUe="El grupo puede leer el objeto",oUe="El grupo puede leer el estado",aUe="El grupo puede escribir un objeto",iUe="El grupo puede escribir el estado",sUe="El propietario puede leer el objeto",lUe="El propietario puede leer el estado",cUe="El propietario puede escribir el objeto",dUe="El propietario puede escribir el estado",uUe="Botones",pUe="Cambiaron desde",hUe="cerrar",fUe="Crear estado booleano",mUe="Crear canal",gUe="Crear dispositivo",vUe="Crear estado numérico",yUe="Crear estado",_Ue="Crear estado de cadena",bUe="d.",wUe="Fr",xUe="Mes",SUe="Sa",CUe="Su",$Ue="Th",kUe="Tu",EUe="Nosotros",TUe="Modo experto",OUe="Todos los archivos",DUe="Audio",AUe="Código/JSON",IUe="Imágenes",MUe="Texto",PUe="Video",NUe="Configuraciones",RUe="sin",jUe="Función",LUe="ID",zUe="Nombre",FUe="Papel",BUe="Habitación",WUe="Tipo",HUe="Configuraciones inválidas",UUe="Ultimo cambio",VUe="en la zona",qUe="Abr",GUe="Ago",XUe="Dic",JUe="Feb",YUe="Ene",KUe="Jul",ZUe="Jun",QUe="Mai",eVe="Mar",tVe="Nov",rVe="Oct",nVe="Sep",oVe="Abr",aVe="Ago",iVe="Dic",sVe="Feb",lVe="Ene",cVe="Jul",dVe="Jun",uVe="Mai",pVe="Mar",hVe="Nov",fVe="Oct",mVe="Sep",gVe="ninguno",vVe="Objeto cambiado por",yVe="Objeto cambiado por última vez a las",_Ve="Configuraciones de otro adaptador %s",bVe="Código de calidad",wVe="repetir",xVe='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',SVe="Estado cambiado por",CVe="Objeto cambiado de",$Ve="Marca de tiempo",kVe="Bandera reconocida",EVe="Comentario",TVe="Copie el valor del estado",OVe="Ajustes personalizados",DVe="Eliminar objeto",AVe="Editar objeto",IVe="Edite el valor del estado",MVe="Desde",PVe="Último cambio",NVe="Calidad",RVe="Sello de tiempo",jVe="Usuario",LVe="Valor",zVe="Valor",FVe="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",BVe="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",WVe="CRON",HVe="Fecha",UVe="fechas",VVe="Día",qVe="Día de la semana",GVe="Cada",XVe="cada N días",JVe="cada enésimo día de la semana",YVe="cada N día de la semana",KVe="cada N horas",ZVe="cada N minutos",QVe="cada N meses",eqe="cada N segundos",tqe="cada día",rqe="Cada día de la semana",nqe="Cada día de la semana",oqe="cada hora",aqe="cada minuto",iqe="cada mes",sqe="cada segundo",lqe="De",cqe="Horas",dqe="Intervalo",uqe="Intervalo entre",pqe="CRON no válido",hqe="Minutos",fqe="meses",mqe="Una vez",gqe="Período",vqe="Segundos",yqe="Sencillo",_qe="Tiempo específico",bqe="fechas especificas",wqe="día(s) específico(s) de la semana",xqe="día específico de semanas",Sqe="horas específicas",Cqe="minutos específicos",$qe="meses específicos",kqe="segundos específicos",Eqe="Hora",Tqe="A",Oqe="Mago",Dqe="todas",Aqe="Día astro",Iqe="Noche astro",Mqe="Amanecer",Pqe="Oscuridad",Nqe="hora dorada",Rqe="Fin de la hora dorada",jqe="Nadir",Lqe="Amanecer náutico",zqe="Anochecer náutico",Fqe="Noche",Bqe="Fin de la noche",Wqe="Mediodía solar",Hqe="amanecer",Uqe="Fin del amanecer",Vqe="Puesta de sol",qqe="Puesta de sol",Gqe="a",Xqe="en %s",Jqe="cada día",Yqe="cada hora",Kqe="cada minuto",Zqe="cada mes",Qqe="cada %s días",eGe="cada %s horas",tGe="cada %s minutos",rGe="cada %s meses",nGe="cada %s semanas",oGe="cada %s años",aGe="cada semana",iGe="todos los años",sGe="de %s a %s",lGe="Nunca",cGe="en %s de %s",dGe="en %s y %s de",uGe="en cada fecha de",pGe="%s",hGe="%s y %s",fGe="en %s",mGe="en %s y %s",gGe="en los fines de semana",vGe="en días laborables",yGe="ya no se ejecutará más, porque el inicio está en el pasado",_Ge="en %s",bGe="de %s",wGe="Ejecutar desde hasta",xGe="a %s",SGe="cada",CGe="Tiempo específico",$Ge="de",kGe="De-a",EGe="Tiempo de intervalo",TGe="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",OGe="ninguna",DGe="en",AGe="Período",IGe="Diario",MGe="fechas",PGe="Día",NGe="Cada",RGe="Cada día",jGe="Cada mes",LGe="Cada semana",zGe="Todos los años",FGe="Horas",BGe="Minutos",WGe="mes",HGe="Mensual",UGe="Una vez",VGe="Meses específicos",qGe="Semana",GGe="Días laborables",XGe="Fin de semana",JGe="Semanal",YGe="Días laborables",KGe="Año",ZGe="Anual",QGe="Tiempo específico",eXe="Hora",tXe="a",rXe="Válido",nXe="de",oXe="a",aXe="Todo el dia",iXe="cada mes",sXe={"ra_%s links from aliases":"%s enlaces de alias","ra_%s object(s) processed":"%s objeto(s) procesados","ra_%s was imported":"%s fue importado","ra_Accept license":"Aceptar licencia","ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar árbol de objetos desde el archivo JSON","ra_Add row":"Añadir fila","ra_Advanced options":"Opciones avanzadas","ra_All items are filtered out":"Todos los elementos se filtran","ra_All objects":"Todos los objetos",ra_Append:sHe,"ra_Append %s entries or replace existing?":"¿Agregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"¿Agregar o reemplazar?","ra_Are you sure?":"¿Estás seguro?","ra_Auto (no custom columns)":"Automático (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:lHe,"ra_Cannot add items with set filter":"No se pueden agregar elementos con el filtro establecido","ra_Cannot decode license":"No se puede decodificar la licencia","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"No se puede determinar la posición: la configuración del sistema está vacía y la detección de GPS está deshabilitada en el navegador",'ra_Cannot find "%s"':'No se puede encontrar "%s"','ra_Cannot read "%s"':'No se puede leer "%s"',"ra_Cannot read licenses: %s":"No se pueden leer licencias: %s","ra_Cannot retrieve options, as instance is offline":"No se pueden recuperar las opciones, ya que la instancia está fuera de línea","ra_Cannot update attribute, because not found in the object":"No se puede actualizar el atributo porque no se encuentra en el objeto","ra_Cannot upload":"no se puede cargar",ra_Categories:cHe,"ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel → State":"Canal → Estado","ra_Check license":"Verificar licencia",ra_Checked:dHe,ra_Clear:uHe,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Clone current row":"Clonar fila actual",ra_Close:pHe,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:hHe,ra_Configure:fHe,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:mHe,ra_Copied:gHe,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:vHe,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:yHe,"ra_Define CRON...":"Definir CRON...","ra_Define functions":"Definir funciones","ra_Define rooms":"Definir habitaciones","ra_Define schedule":"Definir horario","ra_Define schedule...":"Definir horario ...",ra_Del:_He,ra_Delete:bHe,"ra_Delete (no confirm for 5 mins)":"Eliminar (sin confirmar durante 5 minutos)","ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:wHe,ra_Disconnected:xHe,"ra_Do not export values of states":"No exportar valores de estados.","ra_Do not use let's encrypt":"No use vamos a cifrar","ra_Double click to reset table layout":"Haga doble clic para restablecer el diseño de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aquí, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aquí","ra_Drop the files here...":"Suelta el archivo aquí ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuración personalizada","ra_Edit function":"Función de edición","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edición","ra_Edit value":"Editar valor",ra_Error:SHe,"ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Export data to %s file":"Exportar datos al archivo %s","ra_Failed to open JSON File":"No se pudo abrir el archivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"El archivo es demasiado grande. Máximo de %sk permitido. Intenta usar SVG.",ra_Filter:CHe,"ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder → Channel → State":"Carpeta → Canal → Estado","ra_Folder → Device → Channel → State":"Carpeta → Dispositivo → Canal → Estado","ra_Folder → State":"Carpeta → Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:$He,"ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vacías","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.","ra_Import data from %s file":"Importar datos del archivo %s","ra_Import from %s":"Importar desde %s","ra_Instance %s is alive":"Instancia %s está vivo","ra_Instance %s is not alive":"Instancia %s no está vivo","ra_Instance is not alive":"La instancia no está viva","ra_Invalid CRON":"CRON no válido","ra_Invalid JSON":"JSON no válido","ra_Invalid answer from server":"Respuesta inválida del servidor","ra_Invalid parent folder!":"Carpeta principal no válida.","ra_Invalid structure":"Estructura inválida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:kHe,"ra_License %s":"Licencia %s","ra_License agreement":"Acuerdo de licencia","ra_License does not exist":"La licencia no existe","ra_License expired on %s":"La licencia venció el %s",'ra_License for other product "%s"':'Licencia para otro producto "%s"',"ra_License is for version %s, but required version is %s.":"La licencia es para la versión %s, pero la versión requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versión más reciente. Puedes hacerlo en tu perfil de iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licencia no encontrada en el administrador de licencias. ¿Quieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuración desde archivo",ra_Longitude:EHe,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:THe,ra_Monday:OHe,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:DHe,"ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontró ninguna licencia en el administrador de licencias","ra_No response from the backend":"No hay respuesta del backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Los no expertos pueden crear nuevos objetos solo en "0_userdata.0" o "alias.0".',"ra_Not a number":"No un número",ra_Objects:AHe,ra_Ok:IHe,"ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo están disponibles las siguientes estructuras de objetos:","ra_Only selected":"Solo seleccionados","ra_Owner group":"Grupo propietario","ra_Owner user":"Usuario propietario","ra_Passwords are not equal!":"¡Las contraseñas no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración","ra_Please confirm":"Por favor confirmar","ra_Please create license":"Por favor cree una licencia","ra_Please enter the license":"Por favor ingrese la licencia","ra_Please select file...":"Seleccione el archivo...","ra_Please select object ID...":"Por favor seleccione ID de objeto ...","ra_Port could be used by %s":"El puerto podría ser utilizado por %s","ra_Port is already used by %s":"El puerto ya está en uso por %s","ra_Private certificate":"certificado privado",ra_Product:MHe,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Repeat:PHe,ra_Replace:NHe,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:RHe,ra_Saturday:jHe,ra_Save:LHe,"ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuración en archivo","ra_Save objects tree as JSON file":"Guardar el árbol de objetos como archivo JSON","ra_Select all":"Seleccionar todo","ra_Select color":"Seleccionar el color","ra_Select predefined icon":"Seleccionar icono predefinido","ra_Select type of export":"Seleccione tipo de exportación",ra_Selected:zHe,"ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"Número de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El número de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar líneas entre filas","ra_Show/Hide object descriptions":"Mostrar/ocultar descripciones de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Algunos datos no se almacenan. ¿Desechar?",ra_States:FHe,"ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:BHe,"ra_Suppress question for next %s minutes":"Suprimir pregunta durante los próximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posición desde el navegador","ra_Take position from system settings":"Tomar posición desde la configuración del sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, "vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"No se encontró la página que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutará cada minuto. ¿Estás seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutará cada segundo. ¿Estás seguro?",ra_Thursday:WHe,ra_Timestamp:HHe,"ra_Toggle expert mode":"Alternar modo experto","ra_Toggle the states view":"Alternar la vista de estados","ra_Toggle view mode":"Alternar modo de vista","ra_Too big":"Demasiado grande","ra_Too small":"Demasiado pequeña","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:UHe,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:VHe,"ra_Upload file":"Subir archivo","ra_Use all available let's encrypt certificates":"Utilice todos los certificados let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use el adaptador iobroker.acme para los certificados de letsencrypt","ra_Use system settings for position":"Usar la configuración del sistema para la posición","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:qHe,ra_Value:GHe,ra_Version:XHe,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:JHe,ra_Width:YHe,ra_Yes:KHe,"ra_You can export all objects or just the selected branch.":"Puede exportar todos los objetos o solo la rama seleccionada.","ra_You can filter entries by entering here some text":"Puede filtrar las entradas ingresando aquí algún texto",ra___different__:ZHe,ra_aclEveryone_read_object:QHe,ra_aclEveryone_read_state:eUe,ra_aclEveryone_write_object:tUe,ra_aclEveryone_write_state:rUe,ra_aclGroup_read_object:nUe,ra_aclGroup_read_state:oUe,ra_aclGroup_write_object:aUe,ra_aclGroup_write_state:iUe,ra_aclOwner_read_object:sUe,ra_aclOwner_read_state:lUe,ra_aclOwner_write_object:cUe,ra_aclOwner_write_state:dUe,ra_buttons:uUe,ra_changedFrom:pUe,ra_close:hUe,ra_create_boolean_state:fUe,ra_create_channel:mUe,ra_create_device:gUe,ra_create_number_state:vUe,ra_create_state:yUe,ra_create_string_state:_Ue,ra_daysShortText:bUe,ra_dow_Fr:wUe,ra_dow_Mo:xUe,ra_dow_Sa:SUe,ra_dow_Su:CUe,ra_dow_Th:$Ue,ra_dow_Tu:kUe,ra_dow_We:EUe,ra_expertMode:TUe,ra_fileType_all:OUe,ra_fileType_audio:DUe,ra_fileType_code:AUe,ra_fileType_images:IUe,ra_fileType_txt:MUe,ra_fileType_video:PUe,"ra_fileType_video,":"Video",ra_filter_customs:NUe,ra_filter_customs_without:RUe,ra_filter_func:jUe,ra_filter_id:LUe,ra_filter_name:zUe,ra_filter_role:FUe,ra_filter_room:BUe,ra_filter_type:WUe,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:HUe,ra_lastChange:UUe,ra_locally:VUe,ra_month_Apr:qUe,ra_month_Aug:GUe,ra_month_Dec:XUe,ra_month_Feb:JUe,ra_month_Jan:YUe,ra_month_Jul:KUe,ra_month_Jun:ZUe,ra_month_Mai:QUe,ra_month_Mar:eVe,ra_month_Nov:tVe,ra_month_Oct:rVe,ra_month_Sep:nVe,ra_months_Apr:oVe,ra_months_Aug:aVe,ra_months_Dec:iVe,ra_months_Feb:sVe,ra_months_Jan:lVe,ra_months_Jul:cVe,ra_months_Jun:dVe,ra_months_Mai:uVe,ra_months_Mar:pVe,ra_months_Nov:hVe,ra_months_Oct:fVe,ra_months_Sep:mVe,ra_none:gVe,ra_object_changed_by:vVe,ra_object_changed_by_user:yVe,ra_otherConfig:_Ve,ra_qualityCode:bVe,ra_repeat:wVe,ra_select_folder_hint:xVe,ra_state_changed_by:SVe,ra_state_changed_from:CVe,ra_timestamp:$Ve,ra_tooltip_ack:kVe,ra_tooltip_comment:EVe,ra_tooltip_copyState:TVe,ra_tooltip_customConfig:OVe,ra_tooltip_deleteObject:DVe,ra_tooltip_editObject:AVe,ra_tooltip_editState:IVe,ra_tooltip_from:MVe,ra_tooltip_lc:PVe,ra_tooltip_quality:NVe,ra_tooltip_ts:RVe,ra_tooltip_user:jVe,ra_tooltip_value:LVe,"ra_use seconds":"usar segundos",ra_val:zVe,"ra_via internet":"vía Internet",ra_warning_every_minute:FVe,ra_warning_every_second:BVe,sc_cron:WVe,sc_date:HVe,sc_dates:UVe,sc_dow:VVe,sc_dows:qVe,sc_every:GVe,sc_everyN_dates:XVe,sc_everyN_dow:JVe,sc_everyN_dows:YVe,sc_everyN_hours:KVe,sc_everyN_minutes:ZVe,sc_everyN_months:QVe,sc_everyN_seconds:eqe,sc_every_dates:tqe,sc_every_dow:rqe,sc_every_dows:nqe,sc_every_hours:oqe,sc_every_minutes:aqe,sc_every_months:iqe,sc_every_seconds:sqe,sc_from:lqe,sc_hours:cqe,sc_interval:dqe,sc_intervalBetween:uqe,sc_invalid_cron:pqe,sc_minutes:hqe,sc_months:fqe,sc_once:mqe,sc_period:gqe,sc_seconds:vqe,sc_simple:yqe,sc_specific:_qe,sc_specific_dates:bqe,sc_specific_dow:wqe,sc_specific_dows:xqe,sc_specific_hours:Sqe,sc_specific_minutes:Cqe,sc_specific_months:$qe,sc_specific_seconds:kqe,sc_time:Eqe,sc_to:Tqe,sc_wizard:Oqe,sch_all:Dqe,sch_astroDay:Aqe,sch_astroNight:Iqe,sch_astro_dawn:Mqe,sch_astro_dusk:Pqe,sch_astro_goldenHour:Nqe,sch_astro_goldenHourEnd:Rqe,sch_astro_nadir:jqe,sch_astro_nauticalDawn:Lqe,sch_astro_nauticalDusk:zqe,sch_astro_night:Fqe,sch_astro_nightEnd:Bqe,sch_astro_solarNoon:Wqe,sch_astro_sunrise:Hqe,sch_astro_sunriseEnd:Uqe,sch_astro_sunset:Vqe,sch_astro_sunsetStart:qqe,sch_at:Gqe,sch_desc_atTime:Xqe,sch_desc_everyDay:Jqe,sch_desc_everyHour:Yqe,sch_desc_everyMinute:Kqe,sch_desc_everyMonth:Zqe,sch_desc_everyNDay:Qqe,sch_desc_everyNHours:eGe,sch_desc_everyNMinutes:tGe,sch_desc_everyNMonths:rGe,sch_desc_everyNWeeks:nGe,sch_desc_everyNYears:oGe,sch_desc_everyWeek:aGe,sch_desc_everyYear:iGe,sch_desc_intervalFromTo:sGe,sch_desc_never:lGe,sch_desc_onDate:cGe,sch_desc_onDates:dGe,sch_desc_onEveryDate:uGe,sch_desc_onMonth:pGe,sch_desc_onMonths:hGe,sch_desc_onWeekday:fGe,sch_desc_onWeekdays:mGe,sch_desc_onWeekends:gGe,sch_desc_onWorkdays:vGe,sch_desc_onceInPast:yGe,sch_desc_once_on:_Ge,sch_desc_validFrom:bGe,sch_desc_validFromTo:wGe,sch_desc_validTo:xGe,sch_every:SGe,sch_exactTime:CGe,sch_from:$Ge,sch_fromTo:kGe,sch_intervalTime:EGe,sch_invert:TGe,sch_no_one:OGe,sch_on:DGe,sch_period:AGe,sch_periodDaily:IGe,sch_periodDates:MGe,sch_periodDay:PGe,sch_periodEvery:NGe,sch_periodEveryDay:RGe,sch_periodEveryMonth:jGe,sch_periodEveryWeek:LGe,sch_periodEveryYear:zGe,sch_periodHours:FGe,sch_periodMinutes:BGe,sch_periodMonth:WGe,sch_periodMonthly:HGe,sch_periodOnce:UGe,sch_periodSpecificMonths:VGe,sch_periodWeek:qGe,sch_periodWeekdays:GGe,sch_periodWeekend:XGe,sch_periodWeekly:JGe,sch_periodWorkdays:YGe,sch_periodYear:KGe,sch_periodYearly:ZGe,sch_specificTime:QGe,sch_time:eXe,sch_to:tXe,sch_valid:rXe,sch_validFrom:nXe,sch_validTo:oXe,sch_wholeDay:aXe,sch_yearEveryMonth:iXe},lXe="Dodać",cXe="Anuluj",dXe="Kategorie",uXe="Sprawdzony",pXe="Kasować",hXe="Blisko",fXe="Handlowy",mXe="Konfiguruj",gXe="Połączony",vXe="Skopiowano",yXe="Stwórz",_Xe="Przyciąć",bXe="Delete",wXe="Usunąć",xXe="Wyrzucać",SXe="Niepowiązany",CXe="Błąd",$Xe="Filtr",kXe="Piątek",EXe="Szerokość",TXe="Długość geograficzna",OXe="Wiadomość",DXe="Poniedziałek",AXe="Nazwa",IXe="Obiekty",MXe="Dobrze",PXe="Produkt",NXe="Powtarzać",RXe="Zastępować",jXe="Korzeń",LXe="Sobota",zXe="Zapisać",FXe="Wybrany",BXe="Stany",WXe="Niedziela",HXe="Czwartek",UXe="Znak czasu",VXe="Wtorek",qXe="Aktualizacja",GXe="Obowiązuje do",XXe="Wartość",JXe="Wersja",YXe="Środa",KXe="Szerokość",ZXe="Tak",QXe="różne",eJe="Każdy może czytać obiekt",tJe="Każdy może czytać stan",rJe="Każdy może pisać przedmiot",nJe="Każdy może pisać stan",oJe="Grupa może odczytać obiekt",aJe="Grupa może odczytać stan",iJe="Grupa może pisać obiekt",sJe="Grupa może pisać stan",lJe="Właściciel może czytać obiekt",cJe="Właściciel może odczytać stan",dJe="Właściciel może napisać obiekt",uJe="Właściciel może pisać stan",pJe="guziki",hJe="Zmieniony z",fJe="blisko",mJe="Utwórz stan logiczny",gJe="Utwórz kanał",vJe="Utwórz urządzenie",yJe="Utwórz stan liczbowy",_Je="Utwórz stan",bJe="Utwórz stan ciągu",wJe="d.",xJe="Ks",SJe="Mo",CJe="Sa",$Je="Su",kJe="Th",EJe="Tu",TJe="My",OJe="Tryb ekspercki",DJe="Wszystkie pliki",AJe="Audio",IJe="Kod/JSON",MJe="Obrazy",PJe="Tekst",NJe="Wideo",RJe="Ustawienia",jJe="bez",LJe="Funkcjonować",zJe="ID",FJe="Imię",BJe="Rola",WJe="Sala",HJe="Rodzaj",UJe="Nieprawidłowe ustawienia",VJe="Ostatnia zmiana",qJe="lokalnie",GJe="kwiecień",XJe="sierpień",JJe="grudzień",YJe="luty",KJe="styczeń",ZJe="lipiec",QJe="czerwiec",eYe="Mai",tYe="Zniszczyć",rYe="listopad",nYe="październik",oYe="wrzesień",aYe="kwiecień",iYe="sierpień",sYe="grudzień",lYe="luty",cYe="styczeń",dYe="lipiec",uYe="czerwiec",pYe="Mai",hYe="Zniszczyć",fYe="listopad",mYe="październik",gYe="wrzesień",vYe="Żaden",yYe="Obiekt zmieniony przez",_Ye="Obiekt ostatnio zmieniony o godz",bYe="Ustawienia z innego adaptera %s",wYe="Kod jakości",xYe="powtarzać",SYe="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",CYe="Stan zmieniony przez",$Ye="Obiekt zmieniony z",kYe="Znak czasu",EYe="Potwierdzon",TYe="Komentarz",OYe="Skopiuj wartość stanu",DYe="Własne ustawienia",AYe="Usuń obiekt",IYe="Edytuj obiekt",MYe="Edytuj wartość stanu",PYe="Z",NYe="Ostatnia zmiana",RYe="Jakość",jYe="Znak czasu",LYe="Użytkownik",zYe="Wartość",FYe="Wartość",BYe="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",WYe="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",HYe="CRON",UYe="Data",VYe="Daktyle",qYe="Dzień",GYe="Dzień tygodnia",XYe="Każdy",JYe="co N dni",YYe="w każdy N-ty dzień tygodnia",KYe="co N dnia tygodnia",ZYe="co N godzin",QYe="co N minut",eKe="co N miesięcy",tKe="co N sekund",rKe="codziennie",nKe="każdy dzień tygodnia",oKe="każdy dzień tygodnia",aKe="co godzinę",iKe="każda minuta",sKe="każdego miesiąca",lKe="każda sekunda",cKe="Od",dKe="godziny",uKe="Interwał",pKe="Interwał między",hKe="Nieprawidłowy CRON",fKe="Minuty",mKe="miesięcy",gKe="Pewnego razu",vKe="Kropka",yKe="sekundy",_Ke="Prosty",bKe="Określony czas",wKe="konkretne daty",xKe="określone dni tygodnia",SKe="określony dzień tygodni",CKe="określone godziny",$Ke="określone minuty",kKe="określone miesiące",EKe="określone sekundy",TKe="Czas",OKe="Do",DKe="Czarodziej",AKe="wszystko",IKe="Dzień Astro",MKe="Noc Astro",PKe="Świt",NKe="Zmierzch",RKe="złota godzina",jKe="Koniec złotej godziny",LKe="Nadir",zKe="Morski świt",FKe="Morski zmierzch",BKe="Noc",WKe="Koniec nocy",HKe="Południe słoneczne",UKe="wschód słońca",VKe="Koniec wschodu słońca",qKe="Zachód słońca",GKe="Początek zachodu słońca",XKe="w",JKe="na %s",YKe="codziennie",KKe="co godzinę",ZKe="każda minuta",QKe="każdego miesiąca",eZe="każdego dnia %s",tZe="co %s godzin",rZe="co %s minut",nZe="co %s miesięcy",oZe="co %s tygodni",aZe="co %s lat",iZe="co tydzień",sZe="każdego roku",lZe="od %s do %s",cZe="nigdy",dZe="na %s z %s",uZe="na %s i %s z",pZe="w każdą datę",hZe="%s",fZe="%s i %s",mZe="na %s",gZe="na %s i %s",vZe="w weekendy",yZe="w dni robocze",_Ze="nie będzie już wykonywany, ponieważ start jest w przeszłości",bZe="na %s",wZe="z %s",xZe="Wykonaj od do",SZe="do %s",CZe="każdy",$Ze="Określony czas",kZe="od",EZe="Od-do",TZe="Czas przerwy",OZe="odwracać",DZe="Żaden",AZe="na",IZe="Kropka",MZe="Codziennie",PZe="Daktyle",NZe="Dzień",RZe="Każdy",jZe="Codziennie",LZe="Każdego miesiąca",zZe="Co tydzień",FZe="Każdego roku",BZe="godziny",WZe="Minuty",HZe="miesiąc",UZe="Miesięczny",VZe="Pewnego razu",qZe="Określone miesiące",GZe="Tydzień",XZe="Dni powszednie",JZe="Weekend",YZe="Co tydzień",KZe="Dni robocze",ZZe="Rok",QZe="Rocznie",eQe="Określony czas",tQe="Czas",rQe="do",nQe="Ważny",oQe="od",aQe="do",iQe="Cały dzień",sQe="każdego miesiąca",lQe={"ra_%s links from aliases":"%s linków z aliasów","ra_%s object(s) processed":"Przetworzono %s obiektów","ra_%s was imported":"%s został zaimportowany","ra_Accept license":"Zaakceptuj licencję","ra_Add new child object to selected parent":"Dodaj nowy obiekt potomny do wybranego rodzica","ra_Add objects tree from JSON file":"Dodaj drzewo obiektów z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje są odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:lXe,"ra_Append %s entries or replace existing?":"Dołączyć wpisy %s czy zastąpić istniejące?","ra_Append or replace?":"Dołączyć czy zastąpić?","ra_Are you sure?":"Jesteś pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powrót do %s","ra_Background image":"Zdjęcie w tle",ra_Cancel:cXe,"ra_Cannot add items with set filter":"Nie można dodać elementów z ustawionym filtrem","ra_Cannot decode license":"Nie można zdekodować licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie można określić pozycji: ustawienia systemu są puste, a wykrywanie GPS jest wyłączone w przeglądarce",'ra_Cannot find "%s"':"Nie można znaleźć „%s”",'ra_Cannot read "%s"':"Nie można odczytać „%s”","ra_Cannot read licenses: %s":"Nie można odczytać licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie można pobrać opcji, ponieważ instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie można zaktualizować atrybutu, ponieważ nie znaleziono go w obiekcie","ra_Cannot upload":"Nie można przesłać",ra_Categories:dXe,"ra_Chained certificate":"Certyfikat łańcuchowy","ra_Change color theme":"Zmień motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel → State":"Kanał → Stan","ra_Check license":"Sprawdź licencję",ra_Checked:uXe,ra_Clear:pXe,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:hXe,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:fXe,ra_Configure:mXe,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:gXe,ra_Copied:vXe,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:yXe,"ra_Create alias":"Utwórz alias","ra_Create folder":"Utwórz folder","ra_Create new folder in %s":"Utwórz nowy folder w %s",ra_Crop:_Xe,"ra_Define CRON...":"Zdefiniuj CRON...","ra_Define functions":"Zdefiniuj funkcje","ra_Define rooms":"Zdefiniuj pokoje","ra_Define schedule":"Zdefiniuj harmonogram","ra_Define schedule...":"Zdefiniuj harmonogram ...",ra_Del:bXe,ra_Delete:wXe,"ra_Delete (no confirm for 5 mins)":"Usuń (bez potwierdzenia przez 5 minut)","ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan",ra_Discard:xXe,ra_Disconnected:SXe,"ra_Do not export values of states":"Nie eksportuj wartości stanów","ra_Do not use let's encrypt":"Nie używaj zaszyfrujmy","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetować układ tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeciągnij i upuść kilka plików tutaj lub kliknij, aby wybrać pliki","ra_Drop file here":"Upuść plik tutaj","ra_Drop the files here...":"Upuść plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfigurację niestandardową","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rolę","ra_Edit room":"Edytuj pokój","ra_Edit value":"Edytuj wartość",ra_Error:CXe,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie udało się otworzyć pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zastępcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",ra_Filter:$Xe,"ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder → Channel → State":"Folder → Kanał → Stan","ra_Folder → Device → Channel → State":"Folder → Urządzenie → Kanał → Stan","ra_Folder → State":"Folder → Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:kXe,"ra_Good luck":"Powodzenia","ra_Hide empty folders":"Ukryj puste foldery","ra_If no file will be created in the folder, it will disappear after the browser closed":"Jeśli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki","ra_Import data from %s file":"Importuj dane z pliku %s","ra_Import from %s":"Importuj z %s","ra_Instance %s is alive":"Instancja %s jest aktywna","ra_Instance %s is not alive":"Instancja TEKST nie jest aktywna","ra_Instance is not alive":"Instancja nie jest aktywna","ra_Invalid CRON":"Nieprawidłowy CRON","ra_Invalid JSON":"Nieprawidłowy JSON","ra_Invalid answer from server":"Nieprawidłowa odpowiedź z serwera","ra_Invalid parent folder!":"Nieprawidłowy folder nadrzędny!","ra_Invalid structure":"Nieprawidłowa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:EXe,"ra_License %s":"Licencja %s","ra_License agreement":"Umowa licencyjna","ra_License does not exist":"Licencja nie istnieje","ra_License expired on %s":"Licencja wygasła w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt „%s”","ra_License is for version %s, but required version is %s.":"Licencja dotyczy wersji %s, ale wymagana wersja to %s.","ra_License must be converted":"Licencja musi zostać przekonwertowana na nowszą wersję. Możesz to zrobić w swoim profilu iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Nie znaleziono licencji w menedżerze licencji. Chcesz zaktualizować licencje z iobroker.net?","ra_Listen on all IPs":"Słuchaj na wszystkich adresach IP","ra_Load configuration from file":"Załaduj konfigurację z pliku",ra_Longitude:TXe,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:OXe,ra_Monday:DXe,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:AXe,"ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w menedżerze licencji","ra_No response from the backend":"Brak odpowiedzi z zaplecza",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Osoby nie będące ekspertami mogą tworzyć nowe obiekty tylko w „0_userdata.0” lub „alias.0”.","ra_Not a number":"Nie numer",ra_Objects:IXe,ra_Ok:MXe,"ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dostępne są tylko następujące struktury obiektów:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa właścicieli","ra_Owner user":"Właściciel użytkownika","ra_Passwords are not equal!":"Hasła nie są równe!","ra_Place your files here or click here to open the browse dialog":"Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania","ra_Please confirm":"Proszę potwierdzić","ra_Please create license":"Utwórz licencję","ra_Please enter the license":"Proszę wprowadzić licencję","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port może być używany przez %s","ra_Port is already used by %s":"Port jest już używany przez %s","ra_Private certificate":"Prywatny certyfikat",ra_Product:PXe,"ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jakości","ra_Refresh tree":"Odśwież drzewo","ra_Reload files":"Załaduj ponownie pliki",ra_Repeat:NXe,ra_Replace:RXe,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:jXe,ra_Saturday:LXe,ra_Save:zXe,"ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfigurację do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiektów jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowaną ikonę","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:FXe,"ra_Selected %s object(s)":"Wybrane obiekty %s","ra_Serial number (UUID)":"Numer seryjny (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Numer seryjny (UUID) „%s” w licencji dotyczy innego urządzenia.","ra_Show all folders":"Pokaż wszystkie foldery","ra_Show lines between rows":"Pokaż linie między rzędami","ra_Show/Hide object descriptions":"Pokaż/ukryj opisy obiektów","ra_Show/hide filter input":"Pokaż/ukryj wejście filtra","ra_Some data are not stored. Discard?":"Niektóre dane nie są przechowywane. Wyrzucać?",ra_States:BXe,"ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w menedżerze licencji",ra_Sunday:WXe,"ra_Suppress question for next %s minutes":"Ukryj pytanie przez następne %s minut","ra_System language":"Język systemu","ra_Take browser position":"Zajmij pozycję z przeglądarki","ra_Take position from system settings":"Zajmij pozycję z ustawień systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mogą tworzyć obiekty wszędzie poza drugim poziomem (np. „Vis.0” lub „javascript.0”).","ra_The page you are looking for was not found":"Strona, której szukasz nie została znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram będzie wykonywany co minutę. Czy jesteś pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram będzie wykonywany co sekundę. Czy jesteś pewien?",ra_Thursday:HXe,ra_Timestamp:UXe,"ra_Toggle expert mode":"Przełącz tryb eksperta","ra_Toggle the states view":"Przełącz widok stanów","ra_Toggle view mode":"Przełącz tryb widoku","ra_Too big":"Za duży","ra_Too small":"Za mały","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:VXe,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:qXe,"ra_Upload file":"Przesyłanie pliku","ra_Use all available let's encrypt certificates":"Użyj wszystkich dostępnych certyfikatów Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Użyj adaptera iobroker.acme dla certyfikatów letsencrypt","ra_Use system settings for position":"Użyj ustawień systemowych dla pozycji","ra_Used system settings":"Używane ustawienia systemowe","ra_User files":"Pliki użytkownika",ra_ValidTill:GXe,ra_Value:XXe,ra_Version:JXe,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:YXe,ra_Width:KXe,ra_Yes:ZXe,"ra_You can export all objects or just the selected branch.":"Możesz wyeksportować wszystkie obiekty lub tylko wybraną gałąź.","ra_You can filter entries by entering here some text":"Możesz filtrować wpisy, wpisując tutaj jakiś tekst",ra___different__:QXe,ra_aclEveryone_read_object:eJe,ra_aclEveryone_read_state:tJe,ra_aclEveryone_write_object:rJe,ra_aclEveryone_write_state:nJe,ra_aclGroup_read_object:oJe,ra_aclGroup_read_state:aJe,ra_aclGroup_write_object:iJe,ra_aclGroup_write_state:sJe,ra_aclOwner_read_object:lJe,ra_aclOwner_read_state:cJe,ra_aclOwner_write_object:dJe,ra_aclOwner_write_state:uJe,ra_buttons:pJe,ra_changedFrom:hJe,ra_close:fJe,ra_create_boolean_state:mJe,ra_create_channel:gJe,ra_create_device:vJe,ra_create_number_state:yJe,ra_create_state:_Je,ra_create_string_state:bJe,ra_daysShortText:wJe,ra_dow_Fr:xJe,ra_dow_Mo:SJe,ra_dow_Sa:CJe,ra_dow_Su:$Je,ra_dow_Th:kJe,ra_dow_Tu:EJe,ra_dow_We:TJe,ra_expertMode:OJe,ra_fileType_all:DJe,ra_fileType_audio:AJe,ra_fileType_code:IJe,ra_fileType_images:MJe,ra_fileType_txt:PJe,ra_fileType_video:NJe,"ra_fileType_video,":"Wideo",ra_filter_customs:RJe,ra_filter_customs_without:jJe,ra_filter_func:LJe,ra_filter_id:zJe,ra_filter_name:FJe,ra_filter_role:BJe,ra_filter_room:WJe,ra_filter_type:HJe,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:UJe,ra_lastChange:VJe,ra_locally:qJe,ra_month_Apr:GJe,ra_month_Aug:XJe,ra_month_Dec:JJe,ra_month_Feb:YJe,ra_month_Jan:KJe,ra_month_Jul:ZJe,ra_month_Jun:QJe,ra_month_Mai:eYe,ra_month_Mar:tYe,ra_month_Nov:rYe,ra_month_Oct:nYe,ra_month_Sep:oYe,ra_months_Apr:aYe,ra_months_Aug:iYe,ra_months_Dec:sYe,ra_months_Feb:lYe,ra_months_Jan:cYe,ra_months_Jul:dYe,ra_months_Jun:uYe,ra_months_Mai:pYe,ra_months_Mar:hYe,ra_months_Nov:fYe,ra_months_Oct:mYe,ra_months_Sep:gYe,ra_none:vYe,ra_object_changed_by:yYe,ra_object_changed_by_user:_Ye,ra_otherConfig:bYe,ra_qualityCode:wYe,ra_repeat:xYe,ra_select_folder_hint:SYe,ra_state_changed_by:CYe,ra_state_changed_from:$Ye,ra_timestamp:kYe,ra_tooltip_ack:EYe,ra_tooltip_comment:TYe,ra_tooltip_copyState:OYe,ra_tooltip_customConfig:DYe,ra_tooltip_deleteObject:AYe,ra_tooltip_editObject:IYe,ra_tooltip_editState:MYe,ra_tooltip_from:PYe,ra_tooltip_lc:NYe,ra_tooltip_quality:RYe,ra_tooltip_ts:jYe,ra_tooltip_user:LYe,ra_tooltip_value:zYe,"ra_use seconds":"użyj sekund",ra_val:FYe,"ra_via internet":"przez internet",ra_warning_every_minute:BYe,ra_warning_every_second:WYe,sc_cron:HYe,sc_date:UYe,sc_dates:VYe,sc_dow:qYe,sc_dows:GYe,sc_every:XYe,sc_everyN_dates:JYe,sc_everyN_dow:YYe,sc_everyN_dows:KYe,sc_everyN_hours:ZYe,sc_everyN_minutes:QYe,sc_everyN_months:eKe,sc_everyN_seconds:tKe,sc_every_dates:rKe,sc_every_dow:nKe,sc_every_dows:oKe,sc_every_hours:aKe,sc_every_minutes:iKe,sc_every_months:sKe,sc_every_seconds:lKe,sc_from:cKe,sc_hours:dKe,sc_interval:uKe,sc_intervalBetween:pKe,sc_invalid_cron:hKe,sc_minutes:fKe,sc_months:mKe,sc_once:gKe,sc_period:vKe,sc_seconds:yKe,sc_simple:_Ke,sc_specific:bKe,sc_specific_dates:wKe,sc_specific_dow:xKe,sc_specific_dows:SKe,sc_specific_hours:CKe,sc_specific_minutes:$Ke,sc_specific_months:kKe,sc_specific_seconds:EKe,sc_time:TKe,sc_to:OKe,sc_wizard:DKe,sch_all:AKe,sch_astroDay:IKe,sch_astroNight:MKe,sch_astro_dawn:PKe,sch_astro_dusk:NKe,sch_astro_goldenHour:RKe,sch_astro_goldenHourEnd:jKe,sch_astro_nadir:LKe,sch_astro_nauticalDawn:zKe,sch_astro_nauticalDusk:FKe,sch_astro_night:BKe,sch_astro_nightEnd:WKe,sch_astro_solarNoon:HKe,sch_astro_sunrise:UKe,sch_astro_sunriseEnd:VKe,sch_astro_sunset:qKe,sch_astro_sunsetStart:GKe,sch_at:XKe,sch_desc_atTime:JKe,sch_desc_everyDay:YKe,sch_desc_everyHour:KKe,sch_desc_everyMinute:ZKe,sch_desc_everyMonth:QKe,sch_desc_everyNDay:eZe,sch_desc_everyNHours:tZe,sch_desc_everyNMinutes:rZe,sch_desc_everyNMonths:nZe,sch_desc_everyNWeeks:oZe,sch_desc_everyNYears:aZe,sch_desc_everyWeek:iZe,sch_desc_everyYear:sZe,sch_desc_intervalFromTo:lZe,sch_desc_never:cZe,sch_desc_onDate:dZe,sch_desc_onDates:uZe,sch_desc_onEveryDate:pZe,sch_desc_onMonth:hZe,sch_desc_onMonths:fZe,sch_desc_onWeekday:mZe,sch_desc_onWeekdays:gZe,sch_desc_onWeekends:vZe,sch_desc_onWorkdays:yZe,sch_desc_onceInPast:_Ze,sch_desc_once_on:bZe,sch_desc_validFrom:wZe,sch_desc_validFromTo:xZe,sch_desc_validTo:SZe,sch_every:CZe,sch_exactTime:$Ze,sch_from:kZe,sch_fromTo:EZe,sch_intervalTime:TZe,sch_invert:OZe,sch_no_one:DZe,sch_on:AZe,sch_period:IZe,sch_periodDaily:MZe,sch_periodDates:PZe,sch_periodDay:NZe,sch_periodEvery:RZe,sch_periodEveryDay:jZe,sch_periodEveryMonth:LZe,sch_periodEveryWeek:zZe,sch_periodEveryYear:FZe,sch_periodHours:BZe,sch_periodMinutes:WZe,sch_periodMonth:HZe,sch_periodMonthly:UZe,sch_periodOnce:VZe,sch_periodSpecificMonths:qZe,sch_periodWeek:GZe,sch_periodWeekdays:XZe,sch_periodWeekend:JZe,sch_periodWeekly:YZe,sch_periodWorkdays:KZe,sch_periodYear:ZZe,sch_periodYearly:QZe,sch_specificTime:eQe,sch_time:tQe,sch_to:rQe,sch_valid:nQe,sch_validFrom:oQe,sch_validTo:aQe,sch_wholeDay:iQe,sch_yearEveryMonth:sQe},cQe="Додайте",dQe="Скасувати",uQe="Категорії",pQe="Перевірено",hQe="Видалити",fQe="Закрити",mQe="Комерційний",gQe="Налаштувати",vQe="Підключено",yQe="Скопійовано",_Qe="Створити",bQe="Урожай",wQe="Delete",xQe="Видалити",SQe="Відкинути",CQe="Відключено",$Qe="Помилка",kQe="фільтр",EQe="П'ятниця",TQe="Широта",OQe="Довгота",DQe="повідомлення",AQe="понеділок",IQe="Ім'я",MQe="Об'єкти",PQe="В порядку",NQe="Продукт",RQe="Повторіть",jQe="Замінити",LQe="Корінь",zQe="Субота",FQe="зберегти",BQe="Вибране",WQe="держави",HQe="неділя",UQe="четвер",VQe="Мітка часу",qQe="вівторок",GQe="оновлення",XQe="Дійсний до",JQe="Значення",YQe="Версія",KQe="Середа",ZQe="Ширина",QQe="Так",eet="інший",tet="Кожен може читати об'єкт",ret="Кожен може читати стан",net="Кожен може написати об'єкт",oet="Кожен може написати стан",aet="Група може читати об'єкт",iet="Група може читати стан",set="Група може писати об'єкт",cet="Група може писати стан",det="Власник може читати об'єкт",uet="Власник може читати стан",pet="Власник може написати об'єкт",het="Власник може написати стан",fet="кнопки",met="Змінено з",get="закрити",vet="Створіть логічний стан",yet="Створити канал",_et="Створити пристрій",bet="Створити номерний стан",wet="Створити состояние",xet="Створити рядковий стан",Cet="днів",$et="О",ket="пн",Eet="Sa",Tet="Нд",Oet="чт",Det="вт",Aet="ми",Iet="Експертний режим",Met="Всі файли",Pet="Аудіо",Net="Код/JSON",Ret="Зображення",jet="текст",Let="відео",zet="Налаштування",Fet="без",Bet="функція",Wet="ID",Het="Ім'я",Uet="Роль",Vet="Кімната",qet="Тип",Get="Недійсні налаштування",Xet="Остання зміна",Jet="локально",Yet="квіт",Ket="серп",Zet="груд",Qet="лютий",ett="січня",ttt="лип",rtt="черв",ntt="травень",ott="березень",att="Листопад",itt="жовт",stt="вер",ltt="квіт",ctt="серп",dtt="груд",utt="лютий",ptt="січня",htt="лип",ftt="черв",mtt="травень",gtt="березень",vtt="Листопад",ytt="жовт",_tt="вер",btt="немає",wtt="Об'єкт змінено",xtt="Об'єкт востаннє змінено о",Stt="Налаштування з іншого адаптера %s",Ctt="Код якості",$tt="повторити",ktt="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",Ett="Стан змінено на",Ttt="Об'єкт змінено з",Ott="Мітка часу",Dtt="Визнано",Att="коментар",Itt="Скопіюйте значення стану",Mtt="Спеціальні налаштування",Ptt="Видалити об'єкт",Ntt="Редагувати об'єкт",Rtt="Відредагуйте значення стану",jtt="Від",Ltt="Востаннє змінено",ztt="якість",Ftt="Позначка часу",Btt="Користувач",Wtt="Значення",Htt="Значення",Utt="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",Vtt="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",qtt="CRON",Gtt="Дата",Xtt="дати",Jtt="День",Ytt="День тижня",Ktt="кожен",Ztt="кожні N днів",Qtt="кожен N-й день тижня",ert="кожні N днів тижня",trt="кожні N годин",rrt="кожні N хвилин",nrt="кожні N місяців",ort="кожні N секунд",art="кожен день",irt="кожен день тижня",srt="кожен день тижня",lrt="щогодини",crt="кожну хвилину",drt="щомісяця",urt="кожна секунда",prt="Від",hrt="години",frt="Інтервал",mrt="Інтервал між",grt="Недійсний CRON",vrt="хвилин",yrt="місяців",_rt="Один раз",brt="Крапка",wrt="секунд",xrt="просто",Srt="Конкретний час",Crt="конкретні дати",$rt="конкретний день (дні) тижня",krt="конкретний день тижня",Ert="конкретні години",Trt="конкретні хвилини",Ort="конкретні місяці",Drt="конкретні секунди",Art="час",Irt="до",Mrt="майстер",Prt="все",Nrt="Астродень",Rrt="Астро ніч",jrt="Світанок",Lrt="Сутінки",zrt="Золота година",Frt="Кінець золотої години",Brt="Надір",Wrt="Морський світанок",Hrt="Морські сутінки",Urt="ніч",Vrt="Кінець ночі",qrt="Сонячний полудень",Grt="Схід сонця",Xrt="Кінець сходу сонця",Jrt="Захід сонця",Yrt="Початок заходу сонця",Krt="в",Zrt="в %s",Qrt="кожен день",ent="щогодини",tnt="кожну хвилину",rnt="щомісяця",nnt="кожен %s день",ont="кожні %s годин",ant="кожні %s хвилин",int="кожні %s місяців",snt="кожні %s тижнів",lnt="кожні %s років",cnt="щотижня",dnt="щороку",unt="від %s до %s",pnt="ніколи",hnt="на %s з %s",fnt="на %s і %s з",mnt="на кожну дату",gnt="%s",vnt="%s і %s",ynt="на %s",_nt="на %s і %s",bnt="на вихідних",wnt="в робочі дні",xnt="більше не виконуватиметься, оскільки запуск у минулому",Snt="на %s",Cnt="від %s",$nt="Виконати від до",knt="до %s",Ent="кожен",Tnt="Конкретний час",Ont="від",Dnt="Від до",Ant="Час інтервалу",Int="інвертувати",Mnt="немає",Pnt="на",Nnt="Крапка",Rnt="Щодня",jnt="дати",Lnt="День",znt="кожен",Fnt="Кожен день",Bnt="Щомісяця",Wnt="Щотижня",Hnt="Щороку",Unt="години",Vnt="хвилин",qnt="місяць",Gnt="Щомісяця",Xnt="Один раз",Jnt="Конкретні місяці",Ynt="тиждень",Knt="будні",Znt="Вихідні",Qnt="Щотижня",eot="робочі дні",tot="рік",rot="щорічно",not="Конкретний час",oot="час",aot="до",iot="Дійсний",sot="від",lot="до",cot="Цілий день",dot="щомісяця",uot={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію","ra_Add new child object to selected parent":"Додати новий дочірній об’єкт до вибраного батьківського","ra_Add objects tree from JSON file":"Додайте дерево об’єктів із файлу JSON","ra_Add row":"Додати рядок","ra_Advanced options":"Розширені опції","ra_All items are filtered out":"Усі елементи відфільтровано","ra_All objects":"Всі об'єкти",ra_Append:cQe,"ra_Append %s entries or replace existing?":"Додати %s записів чи замінити наявні?","ra_Append or replace?":"Додати чи замінити?","ra_Are you sure?":"Ти впевнений?","ra_Auto (no custom columns)":"Автоматично (без спеціальних стовпців)","ra_Back to %s":"Назад до %s","ra_Background image":"Фонове зображення",ra_Cancel:dQe,"ra_Cannot add items with set filter":"Неможливо додати елементи зі встановленим фільтром","ra_Cannot decode license":"Неможливо розшифрувати ліцензію","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Неможливо визначити положення: системні налаштування порожні, а визначення GPS вимкнено в браузері",'ra_Cannot find "%s"':'Не вдається знайти "%s"','ra_Cannot read "%s"':'Неможливо прочитати "%s"',"ra_Cannot read licenses: %s":"Неможливо прочитати ліцензії: %s","ra_Cannot retrieve options, as instance is offline":"Неможливо отримати параметри, оскільки екземпляр офлайн","ra_Cannot update attribute, because not found in the object":"Неможливо оновити атрибут, оскільки його не знайдено в об’єкті","ra_Cannot upload":"Неможливо завантажити",ra_Categories:uQe,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:pQe,ra_Clear:hQe,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Clone current row":"Клонувати поточний рядок",ra_Close:fQe,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:mQe,ra_Configure:gQe,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:vQe,ra_Copied:yQe,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:_Qe,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:bQe,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:wQe,ra_Delete:xQe,"ra_Delete (no confirm for 5 mins)":"Видалити (без підтвердження протягом 5 хвилин)","ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан",ra_Discard:SQe,ra_Disconnected:CQe,"ra_Do not export values of states":"Не експортуйте значення станів","ra_Do not use let's encrypt":"Не використовуйте let's encrypt","ra_Double click to reset table layout":"Двічі клацніть, щоб скинути макет таблиці","ra_Drag 'n' drop some files here, or click to select files":"Перетягніть деякі файли сюди або натисніть, щоб вибрати файли","ra_Drop file here":"Перетягніть файл сюди","ra_Drop the files here...":"Перетягніть файл сюди...","ra_Duplicate name":"Повторюване ім'я","ra_Edit ACL":"Редагувати ACL","ra_Edit alias":"Редагувати псевдонім","ra_Edit custom config":"Редагувати спеціальну конфігурацію","ra_Edit function":"функція редагування","ra_Edit object field":"Поле редагування об'єкта","ra_Edit role":"Редагувати роль","ra_Edit room":"Редагувати кімнату","ra_Edit value":"Редагувати значення",ra_Error:$Qe,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Export data to %s file":"Експортувати дані у файл %s","ra_Failed to open JSON File":"Не вдалося відкрити файл JSON","ra_Fallback custom certificates":"Запасні спеціальні сертифікати","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл завеликий. Максимально дозволено %sk. Спробуйте використовувати SVG.",ra_Filter:kQe,"ra_Filter files":"Фільтр файлів","ra_Folder name":"Назва папки","ra_Folder → Channel → State":"Папка → Канал → Стан","ra_Folder → Device → Channel → State":"Папка → Пристрій → Канал → Стан","ra_Folder → State":"Папка → Стан","ra_Folders always first":"Папки завжди першими",ra_Friday:EQe,"ra_Good luck":"Удачі","ra_Hide empty folders":"Приховати порожні папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Якщо в папці не буде створено файл, він зникне після закриття браузера","ra_Import data from %s file":"Імпортувати дані з файлу %s","ra_Import from %s":"Імпортувати з %s","ra_Instance %s is alive":"Примірник %s живий","ra_Instance %s is not alive":"Примірник %s не живий","ra_Instance is not alive":"Примірник не живий","ra_Invalid CRON":"Недійсний CRON","ra_Invalid JSON":"Недійсний JSON","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:TQe,"ra_License %s":"Ліцензія %s","ra_License agreement":"Ліцензійна угода","ra_License does not exist":"Ліцензії не існує","ra_License expired on %s":"Термін дії ліцензії закінчився %s",'ra_License for other product "%s"':'Ліцензія на інший продукт "%s"',"ra_License is for version %s, but required version is %s.":"Ліцензія для версії %s, але потрібна версія %s.","ra_License must be converted":"Ліцензію необхідно конвертувати до новішої версії. Ви можете зробити це у своєму профілі на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Ліцензія не знайдена в менеджері ліцензій. Хочете оновити ліцензії з iobroker.net?","ra_Listen on all IPs":"Прослуховування на всіх IP","ra_Load configuration from file":"Завантажити конфігурацію з файлу",ra_Longitude:OQe,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:DQe,ra_Monday:AQe,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:IQe,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from the backend":"Немає відповіді від сервера",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Неексперти можуть створювати нові об’єкти лише в «0_userdata.0» або «alias.0».","ra_Not a number":"Не номер",ra_Objects:MQe,ra_Ok:PQe,"ra_On weekdays":"В будні дні","ra_Only following structures of objects are available:":"Доступні тільки такі структури об'єктів:","ra_Only selected":"Тільки обрані","ra_Owner group":"Група власників","ra_Owner user":"Користувач-власник","ra_Passwords are not equal!":"Паролі не бувають рівними!","ra_Place your files here or click here to open the browse dialog":"Розмістіть свої файли тут або натисніть тут, щоб відкрити діалогове вікно перегляду","ra_Please confirm":"Будь-ласка підтвердіть","ra_Please create license":"Будь ласка, створіть ліцензію","ra_Please enter the license":"Будь ласка, введіть ліцензію","ra_Please select file...":"Виберіть файл...","ra_Please select object ID...":"Виберіть ідентифікатор об'єкта...","ra_Port could be used by %s":"Порт може використовуватися %s","ra_Port is already used by %s":"Порт уже використовується %s","ra_Private certificate":"Приватний сертифікат",ra_Product:NQe,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Repeat:RQe,ra_Replace:jQe,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:LQe,ra_Saturday:zQe,ra_Save:FQe,"ra_Save and close":"Зберегти та закрити","ra_Save configuration to file":"Зберегти конфігурацію у файл","ra_Save objects tree as JSON file":"Зберегти дерево об’єктів як файл JSON","ra_Select all":"Вибрати все","ra_Select color":"Виберіть колір","ra_Select predefined icon":"Виберіть попередньо визначений значок","ra_Select type of export":"Виберіть тип експорту",ra_Selected:BQe,"ra_Selected %s object(s)":"Вибрані об’єкти %s","ra_Serial number (UUID)":"Серійний номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Серійний номер (UUID) "%s" у ліцензії призначений для іншого пристрою.',"ra_Show all folders":"Показати всі папки","ra_Show lines between rows":"Показувати лінії між рядками","ra_Show/Hide object descriptions":"Показати/Сховати описи об’єктів","ra_Show/hide filter input":"Показати/сховати введення фільтра","ra_Some data are not stored. Discard?":"Деякі дані не зберігаються. Відкинути?",ra_States:WQe,"ra_Suitable license not found in license manager":"Відповідна ліцензія не знайдена в менеджері ліцензій",ra_Sunday:HQe,"ra_Suppress question for next %s minutes":"Приховати запитання на наступні %s хвилин","ra_System language":"Системна мова","ra_Take browser position":"Займіть позицію з браузера","ra_Take position from system settings":"Займіть позицію в налаштуваннях системи",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Експерти можуть створювати об’єкти всюди, крім другого рівня (наприклад, «vis.0» або «javascript.0»).","ra_The page you are looking for was not found":"Сторінка, яку ви шукаєте, не знайдена","ra_The schedule will be executed every minute. Are you sure?":"Розклад буде виконуватися щохвилини. Ви впевнені?","ra_The schedule will be executed every second. Are you sure?":"Розклад буде виконуватися щосекунди. Ви впевнені?",ra_Thursday:UQe,ra_Timestamp:VQe,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:qQe,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:GQe,"ra_Upload file":"Завантажити файл","ra_Use all available let's encrypt certificates":"Використовуйте всі доступні сертифікати let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Використовуйте адаптер iobroker.acme для сертифікатів letsencrypt","ra_Use system settings for position":"Використовуйте системні налаштування для позиції","ra_Used system settings":"Використані системні налаштування","ra_User files":"Файли користувача",ra_ValidTill:XQe,ra_Value:JQe,ra_Version:YQe,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:KQe,ra_Width:ZQe,ra_Yes:QQe,"ra_You can export all objects or just the selected branch.":"Ви можете експортувати всі об’єкти або лише вибрану гілку.","ra_You can filter entries by entering here some text":"Ви можете фільтрувати записи, ввівши тут певний текст",ra___different__:eet,ra_aclEveryone_read_object:tet,ra_aclEveryone_read_state:ret,ra_aclEveryone_write_object:net,ra_aclEveryone_write_state:oet,ra_aclGroup_read_object:aet,ra_aclGroup_read_state:iet,ra_aclGroup_write_object:set,ra_aclGroup_write_state:cet,ra_aclOwner_read_object:det,ra_aclOwner_read_state:uet,ra_aclOwner_write_object:pet,ra_aclOwner_write_state:het,ra_buttons:fet,ra_changedFrom:met,ra_close:get,ra_create_boolean_state:vet,ra_create_channel:yet,ra_create_device:_et,ra_create_number_state:bet,ra_create_state:wet,ra_create_string_state:xet,ra_daysShortText:Cet,ra_dow_Fr:$et,ra_dow_Mo:ket,ra_dow_Sa:Eet,ra_dow_Su:Tet,ra_dow_Th:Oet,ra_dow_Tu:Det,ra_dow_We:Aet,ra_expertMode:Iet,ra_fileType_all:Met,ra_fileType_audio:Pet,ra_fileType_code:Net,ra_fileType_images:Ret,ra_fileType_txt:jet,ra_fileType_video:Let,"ra_fileType_video,":"відео",ra_filter_customs:zet,ra_filter_customs_without:Fet,ra_filter_func:Bet,ra_filter_id:Wet,ra_filter_name:Het,ra_filter_role:Uet,ra_filter_room:Vet,ra_filter_type:qet,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:Get,ra_lastChange:Xet,ra_locally:Jet,ra_month_Apr:Yet,ra_month_Aug:Ket,ra_month_Dec:Zet,ra_month_Feb:Qet,ra_month_Jan:ett,ra_month_Jul:ttt,ra_month_Jun:rtt,ra_month_Mai:ntt,ra_month_Mar:ott,ra_month_Nov:att,ra_month_Oct:itt,ra_month_Sep:stt,ra_months_Apr:ltt,ra_months_Aug:ctt,ra_months_Dec:dtt,ra_months_Feb:utt,ra_months_Jan:ptt,ra_months_Jul:htt,ra_months_Jun:ftt,ra_months_Mai:mtt,ra_months_Mar:gtt,ra_months_Nov:vtt,ra_months_Oct:ytt,ra_months_Sep:_tt,ra_none:btt,ra_object_changed_by:wtt,ra_object_changed_by_user:xtt,ra_otherConfig:Stt,ra_qualityCode:Ctt,ra_repeat:$tt,ra_select_folder_hint:ktt,ra_state_changed_by:Ett,ra_state_changed_from:Ttt,ra_timestamp:Ott,ra_tooltip_ack:Dtt,ra_tooltip_comment:Att,ra_tooltip_copyState:Itt,ra_tooltip_customConfig:Mtt,ra_tooltip_deleteObject:Ptt,ra_tooltip_editObject:Ntt,ra_tooltip_editState:Rtt,ra_tooltip_from:jtt,ra_tooltip_lc:Ltt,ra_tooltip_quality:ztt,ra_tooltip_ts:Ftt,ra_tooltip_user:Btt,ra_tooltip_value:Wtt,"ra_use seconds":"використовуйте секунди",ra_val:Htt,"ra_via internet":"через інтернет",ra_warning_every_minute:Utt,ra_warning_every_second:Vtt,sc_cron:qtt,sc_date:Gtt,sc_dates:Xtt,sc_dow:Jtt,sc_dows:Ytt,sc_every:Ktt,sc_everyN_dates:Ztt,sc_everyN_dow:Qtt,sc_everyN_dows:ert,sc_everyN_hours:trt,sc_everyN_minutes:rrt,sc_everyN_months:nrt,sc_everyN_seconds:ort,sc_every_dates:art,sc_every_dow:irt,sc_every_dows:srt,sc_every_hours:lrt,sc_every_minutes:crt,sc_every_months:drt,sc_every_seconds:urt,sc_from:prt,sc_hours:hrt,sc_interval:frt,sc_intervalBetween:mrt,sc_invalid_cron:grt,sc_minutes:vrt,sc_months:yrt,sc_once:_rt,sc_period:brt,sc_seconds:wrt,sc_simple:xrt,sc_specific:Srt,sc_specific_dates:Crt,sc_specific_dow:$rt,sc_specific_dows:krt,sc_specific_hours:Ert,sc_specific_minutes:Trt,sc_specific_months:Ort,sc_specific_seconds:Drt,sc_time:Art,sc_to:Irt,sc_wizard:Mrt,sch_all:Prt,sch_astroDay:Nrt,sch_astroNight:Rrt,sch_astro_dawn:jrt,sch_astro_dusk:Lrt,sch_astro_goldenHour:zrt,sch_astro_goldenHourEnd:Frt,sch_astro_nadir:Brt,sch_astro_nauticalDawn:Wrt,sch_astro_nauticalDusk:Hrt,sch_astro_night:Urt,sch_astro_nightEnd:Vrt,sch_astro_solarNoon:qrt,sch_astro_sunrise:Grt,sch_astro_sunriseEnd:Xrt,sch_astro_sunset:Jrt,sch_astro_sunsetStart:Yrt,sch_at:Krt,sch_desc_atTime:Zrt,sch_desc_everyDay:Qrt,sch_desc_everyHour:ent,sch_desc_everyMinute:tnt,sch_desc_everyMonth:rnt,sch_desc_everyNDay:nnt,sch_desc_everyNHours:ont,sch_desc_everyNMinutes:ant,sch_desc_everyNMonths:int,sch_desc_everyNWeeks:snt,sch_desc_everyNYears:lnt,sch_desc_everyWeek:cnt,sch_desc_everyYear:dnt,sch_desc_intervalFromTo:unt,sch_desc_never:pnt,sch_desc_onDate:hnt,sch_desc_onDates:fnt,sch_desc_onEveryDate:mnt,sch_desc_onMonth:gnt,sch_desc_onMonths:vnt,sch_desc_onWeekday:ynt,sch_desc_onWeekdays:_nt,sch_desc_onWeekends:bnt,sch_desc_onWorkdays:wnt,sch_desc_onceInPast:xnt,sch_desc_once_on:Snt,sch_desc_validFrom:Cnt,sch_desc_validFromTo:$nt,sch_desc_validTo:knt,sch_every:Ent,sch_exactTime:Tnt,sch_from:Ont,sch_fromTo:Dnt,sch_intervalTime:Ant,sch_invert:Int,sch_no_one:Mnt,sch_on:Pnt,sch_period:Nnt,sch_periodDaily:Rnt,sch_periodDates:jnt,sch_periodDay:Lnt,sch_periodEvery:znt,sch_periodEveryDay:Fnt,sch_periodEveryMonth:Bnt,sch_periodEveryWeek:Wnt,sch_periodEveryYear:Hnt,sch_periodHours:Unt,sch_periodMinutes:Vnt,sch_periodMonth:qnt,sch_periodMonthly:Gnt,sch_periodOnce:Xnt,sch_periodSpecificMonths:Jnt,sch_periodWeek:Ynt,sch_periodWeekdays:Knt,sch_periodWeekend:Znt,sch_periodWeekly:Qnt,sch_periodWorkdays:eot,sch_periodYear:tot,sch_periodYearly:rot,sch_specificTime:not,sch_time:oot,sch_to:aot,sch_valid:iot,sch_validFrom:sot,sch_validTo:lot,sch_wholeDay:cot,sch_yearEveryMonth:dot},pot="附加",hot="取消",fot="类别",mot="勾选",got="删除",vot="关",yot="商业的",_ot="配置",bot="连接的",wot="复制的",xot="创建",Sot="庄稼",Cot="Delete",$ot="删除",kot="丢弃",Eot="断开连接",Tot="错误",Oot="筛选",Dot="星期五",Aot="纬度",Iot="经度",Mot="信息",Pot="周一",Not="姓名",Rot="对象",jot="好",Lot="产品",zot="重复",Fot="代替",Bot="根",Wot="周六",Hot="保存",Uot="已选",Vot="状态",qot="星期日",Got="周四",Xot="时间戳记",Jot="周二",Yot="更新资料",Kot="有效期至",Zot="值",Qot="版本",eat="周三",tat="宽度",rat="是的",nat="不同的",oat="每个人都可以阅读对象",aat="每个人都可以阅读状态",iat="每个人都可以写对象",sat="每个人都可以写状态",lat="组可以读取对象",cat="群组可以读取状态",dat="组可以写对象",uat="组可以写状态",pat="所有者可以读取对象",hat="所有者可以读取状态",fat="所有者可以写对象",mat="所有者可以写状态",gat="纽扣",vat="更改为",yat="关闭",_at="创建布尔状态",bat="创建频道",wat="创建设备",xat="创建号码状态",Sat="创建状态",Cat="创建字符串状态",$at="天",kat="r",Eat="莫",Tat="萨",Oat="苏",Dat="Th",Aat="Tu",Iat="我们",Mat="专家模式",Pat="所有文件",Nat="声音的",Rat="代码/JSON",jat="图片",Lat="文本",zat="视频",Fat="设定值",Bat="没有",Wat="功能",Hat="ID",Uat="名称",Vat="角色",qat="房间",Gat="类型",Xat="无效的设定",Jat="最后一次变更",Yat="本地",Kat="4月",Zat="八月",Qat="十二月",eit="二月",tit="简",rit="七月",nit="君",oit="迈",ait="三月",iit="十一月",sit="十月",lit="九月",cit="4月",dit="八月",uit="十二月",pit="二月",hit="简",fit="七月",mit="君",git="迈",vit="三月",yit="十一月",_it="十月",bit="九月",wit="没有任何",xit="物件变更者",Sit="对象上次更改时间为",Cit="来自其他适配器%s的设置",$it="质量代码",kit="重复",Eit="要选择文件夹,只需按住“shift”键单击文件夹即可。",Tit="状态由",Oit="对象已从更改",Dit="时间戳记",Ait="致谢国旗",Iit="评论",Mit="复制状态值",Pit="自定义设置",Nit="删除物件",Rit="编辑物件",jit="编辑状态值",Lit="从",zit="最后改变了",Fit="质量",Bit="时间戳",Wit="用户",Hit="值",Uit="值",Vit="警告:CRON 作业将在指定期间内每分钟运行一次!",qit="警告:CRON 作业将在指定期间内每秒运行一次!",Git="周期任务",Xit="日期",Jit="日",Yit="天",Kit="星期",Zit="每",Qit="每N天",est="每周的第 N 天",tst="每周N天",rst="每N小时一次",nst="每N分钟",ost="每N个月",ast="每N秒",ist="每天",sst="一周的每一天",lst="一周的每一天",cst="每小时",dst="每分钟",ust="每月",pst="每秒",hst="从",fst="小时",mst="间隔",gst="间隔时间",vst="无效的 CRON",yst="分钟",_st="月",bst="一次",wst="周期",xst="秒",Sst="简单模式",Cst="特定的时间",$st="特定的日子",kst="一周中的特定日子",Est="特定的一周",Tst="特定的小时",Ost="特定的分钟",Dst="特定的月份",Ast="特定的描述",Ist="时间",Mst="至",Pst="向导模式",Nst="全选",Rst="天文白天",jst="天文夜晚",Lst="黎明",zst="黄昏",Fst="黄金时段",Bst="黄金时段结束",Wst="天底",Hst="航海黎明",Ust="航海黄昏",Vst="夜晚",qst="夜晚结束",Gst="正午",Xst="日出",Jst="日出结束",Yst="日落",Kst="日落开始",Zst="在",Qst="的%s",elt="每天",tlt="每小时",rlt="每分钟",nlt="每月",olt="每%s天",alt="每%s小时",ilt="每%s分钟",slt="每%s月",llt="每%s周",clt="每%s年",dlt="每周",ult="每年",plt="从%s到%s",hlt="决不",flt="在%s的%s上",mlt="在%s和%s上",glt="在每天",vlt="%s",ylt="%s和%s",_lt="在%s上",blt="在%s和%s上",wlt="在周末",xlt="在工作日",Slt="将不再执行,因为起始时间已经是过去的时间了。",Clt="在%s上",$lt="来自%s",klt="从执行到",Elt="到%s",Tlt="每",Olt="特定的时间",Dlt="从",Alt="从到",Ilt="间隔时间",Mlt="倒置",Plt="取消全选",Nlt="的",Rlt="周期",jlt="每天",Llt="日期",zlt="天",Flt="每",Blt="每天",Wlt="每月",Hlt="每周",Ult="每年",Vlt="小时",qlt="分钟",Glt="月",Xlt="每月一次",Jlt="一次",Ylt="特定的月份",Klt="周",Zlt="工作日",Qlt="周末",ect="每周",tct="工作日",rct="年",nct="每年",oct="特定的时间",act="时间",ict="至",sct="生效",lct="从",cct="至",dct="一整天",uct="每月",pct={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可","ra_Add new child object to selected parent":"将新的子对象添加到选定的父对象","ra_Add objects tree from JSON file":"从JSON文件添加对象树","ra_Add row":"添加行","ra_Advanced options":"高级选项","ra_All items are filtered out":"所有项目都被过滤掉","ra_All objects":"所有对象",ra_Append:pot,"ra_Append %s entries or replace existing?":"追加 %s 条目还是替换现有条目?","ra_Append or replace?":"追加还是替换?","ra_Are you sure?":"你确定吗?","ra_Auto (no custom columns)":"自动(无自定义列)","ra_Back to %s":"返回“%s”","ra_Background image":"背景图像",ra_Cancel:hot,"ra_Cannot add items with set filter":"无法使用设置过滤器添加项目","ra_Cannot decode license":"无法解码许可证","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"无法确定位置:系统设置为空且浏览器中禁用了 GPS 检测",'ra_Cannot find "%s"':"找不到“%s”",'ra_Cannot read "%s"':"无法阅读“%s”","ra_Cannot read licenses: %s":"无法读取许可证:%s","ra_Cannot retrieve options, as instance is offline":"无法检索选项,因为实例处于脱机状态","ra_Cannot update attribute, because not found in the object":"无法更新属性,因为在对象中找不到","ra_Cannot upload":"无法上传",ra_Categories:fot,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:mot,ra_Clear:got,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Clone current row":"克隆当前行",ra_Close:vot,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:yot,ra_Configure:_ot,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:bot,ra_Copied:wot,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:xot,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Sot,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:Cot,ra_Delete:$ot,"ra_Delete (no confirm for 5 mins)":"删除(5分钟内未确认)","ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态",ra_Discard:kot,ra_Disconnected:Eot,"ra_Do not export values of states":"不导出状态值","ra_Do not use let's encrypt":"不要使用让我们加密","ra_Double click to reset table layout":"双击重置表格布局","ra_Drag 'n' drop some files here, or click to select files":"将一些文件拖放到此处,或单击以选择文件","ra_Drop file here":"将档案放在这里","ra_Drop the files here...":"把文件放在这里...","ra_Duplicate name":"名称重复","ra_Edit ACL":"编辑访问控制列表","ra_Edit alias":"编辑别名","ra_Edit custom config":"编辑自定义配置","ra_Edit function":"编辑功能","ra_Edit object field":"编辑对象字段","ra_Edit role":"编辑角色","ra_Edit room":"编辑室","ra_Edit value":"编辑值",ra_Error:Tot,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Export data to %s file":"将数据导出到 %s 文件","ra_Failed to open JSON File":"无法打开JSON文件","ra_Fallback custom certificates":"后备自定义证书","ra_File is too big. Max %sk allowed. Try use SVG.":"文件太大。允许的最大字节%s数。尝试使用 SVG。",ra_Filter:Oot,"ra_Filter files":"过滤文件","ra_Folder name":"文件夹名称","ra_Folder → Channel → State":"文件夹→频道→状态","ra_Folder → Device → Channel → State":"文件夹→设备→频道→状态","ra_Folder → State":"文件夹→状态","ra_Folders always first":"资料夹永远优先",ra_Friday:Dot,"ra_Good luck":"祝你好运","ra_Hide empty folders":"隐藏空文件夹","ra_If no file will be created in the folder, it will disappear after the browser closed":"如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失","ra_Import data from %s file":"从 %s 文件导入数据","ra_Import from %s":"从 %s 导入","ra_Instance %s is alive":"实例 %s 是活动的","ra_Instance %s is not alive":"实例 %s 不存在","ra_Instance is not alive":"实例不存在","ra_Invalid CRON":"无效的 CRON","ra_Invalid JSON":"JSON 无效","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:Aot,"ra_License %s":"许可证 %s","ra_License agreement":"许可协议","ra_License does not exist":"许可证不存在","ra_License expired on %s":"许可证已于 %s 过期",'ra_License for other product "%s"':"其他产品“%s”的许可证","ra_License is for version %s, but required version is %s.":"许可证适用于版本 %s,但所需版本为 %s。","ra_License must be converted":"许可证必须转换为更新版本。您可以在 iobroker.net 个人资料中执行此操作。","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"在许可证管理器中找不到许可证。您要从 iobroker.net 更新许可证吗?","ra_Listen on all IPs":"监听所有IP","ra_Load configuration from file":"从文件加载配置",ra_Longitude:Iot,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:Mot,ra_Monday:Pot,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:Not,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from the backend":"后端无响应",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。","ra_Not a number":"不是数字",ra_Objects:Rot,ra_Ok:jot,"ra_On weekdays":"在工作日","ra_Only following structures of objects are available:":"仅以下对象结构可用:","ra_Only selected":"只选择","ra_Owner group":"所有者组","ra_Owner user":"所有者用户","ra_Passwords are not equal!":"密码不相等!","ra_Place your files here or click here to open the browse dialog":"将文件放在此处或单击此处打开浏览对话框","ra_Please confirm":"请确认","ra_Please create license":"请创建许可证","ra_Please enter the license":"请输入许可证","ra_Please select file...":"请选择文件...","ra_Please select object ID...":"请选择对象ID ...","ra_Port could be used by %s":"%s 可以使用端口","ra_Port is already used by %s":"端口已被 %s 使用","ra_Private certificate":"私有证书",ra_Product:Lot,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Repeat:zot,ra_Replace:Fot,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:Bot,ra_Saturday:Wot,ra_Save:Hot,"ra_Save and close":"保存并关闭","ra_Save configuration to file":"将配置保存到文件","ra_Save objects tree as JSON file":"将对象树另存为JSON文件","ra_Select all":"全选","ra_Select color":"选择颜色","ra_Select predefined icon":"选择预定义图标","ra_Select type of export":"选择导出类型",ra_Selected:Uot,"ra_Selected %s object(s)":"选定的 %s 个对象","ra_Serial number (UUID)":"序列号 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"许可证中的序列号 (UUID)“%s”用于其他设备。","ra_Show all folders":"显示所有文件夹","ra_Show lines between rows":"显示行之间的线","ra_Show/Hide object descriptions":"显示/隐藏对象描述","ra_Show/hide filter input":"显示/隐藏过滤器输入","ra_Some data are not stored. Discard?":"部分数据未存储。丢弃?",ra_States:Vot,"ra_Suitable license not found in license manager":"在许可证管理器中找不到合适的许可证",ra_Sunday:qot,"ra_Suppress question for next %s minutes":"在接下来的%s分钟内取消提问","ra_System language":"系统语言","ra_Take browser position":"从浏览器获取位置","ra_Take position from system settings":"从系统设置中获取位置",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。","ra_The page you are looking for was not found":"未找到您要查找的页面","ra_The schedule will be executed every minute. Are you sure?":"该计划将每分钟执行一次。您确定吗?","ra_The schedule will be executed every second. Are you sure?":"该计划将每秒执行一次。你确定吗?",ra_Thursday:Got,ra_Timestamp:Xot,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:Jot,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:Yot,"ra_Upload file":"上传文件","ra_Use all available let's encrypt certificates":"使用所有可用的让我们加密证书","ra_Use iobroker.acme adapter for letsencrypt certificates":"使用 iobroker.acme 适配器获取 letsencrypt 证书","ra_Use system settings for position":"使用系统设置定位","ra_Used system settings":"使用的系统设置","ra_User files":"用户档案",ra_ValidTill:Kot,ra_Value:Zot,ra_Version:Qot,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:eat,ra_Width:tat,ra_Yes:rat,"ra_You can export all objects or just the selected branch.":"您可以导出所有对象或仅导出选定的分支。","ra_You can filter entries by entering here some text":"您可以通过在此处输入一些文本来过滤条目",ra___different__:nat,ra_aclEveryone_read_object:oat,ra_aclEveryone_read_state:aat,ra_aclEveryone_write_object:iat,ra_aclEveryone_write_state:sat,ra_aclGroup_read_object:lat,ra_aclGroup_read_state:cat,ra_aclGroup_write_object:dat,ra_aclGroup_write_state:uat,ra_aclOwner_read_object:pat,ra_aclOwner_read_state:hat,ra_aclOwner_write_object:fat,ra_aclOwner_write_state:mat,ra_buttons:gat,ra_changedFrom:vat,ra_close:yat,ra_create_boolean_state:_at,ra_create_channel:bat,ra_create_device:wat,ra_create_number_state:xat,ra_create_state:Sat,ra_create_string_state:Cat,ra_daysShortText:$at,ra_dow_Fr:kat,ra_dow_Mo:Eat,ra_dow_Sa:Tat,ra_dow_Su:Oat,ra_dow_Th:Dat,ra_dow_Tu:Aat,ra_dow_We:Iat,ra_expertMode:Mat,ra_fileType_all:Pat,ra_fileType_audio:Nat,ra_fileType_code:Rat,ra_fileType_images:jat,ra_fileType_txt:Lat,ra_fileType_video:zat,"ra_fileType_video,":"视频",ra_filter_customs:Fat,ra_filter_customs_without:Bat,ra_filter_func:Wat,ra_filter_id:Hat,ra_filter_name:Uat,ra_filter_role:Vat,ra_filter_room:qat,ra_filter_type:Gat,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:Xat,ra_lastChange:Jat,ra_locally:Yat,ra_month_Apr:Kat,ra_month_Aug:Zat,ra_month_Dec:Qat,ra_month_Feb:eit,ra_month_Jan:tit,ra_month_Jul:rit,ra_month_Jun:nit,ra_month_Mai:oit,ra_month_Mar:ait,ra_month_Nov:iit,ra_month_Oct:sit,ra_month_Sep:lit,ra_months_Apr:cit,ra_months_Aug:dit,ra_months_Dec:uit,ra_months_Feb:pit,ra_months_Jan:hit,ra_months_Jul:fit,ra_months_Jun:mit,ra_months_Mai:git,ra_months_Mar:vit,ra_months_Nov:yit,ra_months_Oct:_it,ra_months_Sep:bit,ra_none:wit,ra_object_changed_by:xit,ra_object_changed_by_user:Sit,ra_otherConfig:Cit,ra_qualityCode:$it,ra_repeat:kit,ra_select_folder_hint:Eit,ra_state_changed_by:Tit,ra_state_changed_from:Oit,ra_timestamp:Dit,ra_tooltip_ack:Ait,ra_tooltip_comment:Iit,ra_tooltip_copyState:Mit,ra_tooltip_customConfig:Pit,ra_tooltip_deleteObject:Nit,ra_tooltip_editObject:Rit,ra_tooltip_editState:jit,ra_tooltip_from:Lit,ra_tooltip_lc:zit,ra_tooltip_quality:Fit,ra_tooltip_ts:Bit,ra_tooltip_user:Wit,ra_tooltip_value:Hit,"ra_use seconds":"用秒",ra_val:Uit,"ra_via internet":"通过互联网",ra_warning_every_minute:Vit,ra_warning_every_second:qit,sc_cron:Git,sc_date:Xit,sc_dates:Jit,sc_dow:Yit,sc_dows:Kit,sc_every:Zit,sc_everyN_dates:Qit,sc_everyN_dow:est,sc_everyN_dows:tst,sc_everyN_hours:rst,sc_everyN_minutes:nst,sc_everyN_months:ost,sc_everyN_seconds:ast,sc_every_dates:ist,sc_every_dow:sst,sc_every_dows:lst,sc_every_hours:cst,sc_every_minutes:dst,sc_every_months:ust,sc_every_seconds:pst,sc_from:hst,sc_hours:fst,sc_interval:mst,sc_intervalBetween:gst,sc_invalid_cron:vst,sc_minutes:yst,sc_months:_st,sc_once:bst,sc_period:wst,sc_seconds:xst,sc_simple:Sst,sc_specific:Cst,sc_specific_dates:$st,sc_specific_dow:kst,sc_specific_dows:Est,sc_specific_hours:Tst,sc_specific_minutes:Ost,sc_specific_months:Dst,sc_specific_seconds:Ast,sc_time:Ist,sc_to:Mst,sc_wizard:Pst,sch_all:Nst,sch_astroDay:Rst,sch_astroNight:jst,sch_astro_dawn:Lst,sch_astro_dusk:zst,sch_astro_goldenHour:Fst,sch_astro_goldenHourEnd:Bst,sch_astro_nadir:Wst,sch_astro_nauticalDawn:Hst,sch_astro_nauticalDusk:Ust,sch_astro_night:Vst,sch_astro_nightEnd:qst,sch_astro_solarNoon:Gst,sch_astro_sunrise:Xst,sch_astro_sunriseEnd:Jst,sch_astro_sunset:Yst,sch_astro_sunsetStart:Kst,sch_at:Zst,sch_desc_atTime:Qst,sch_desc_everyDay:elt,sch_desc_everyHour:tlt,sch_desc_everyMinute:rlt,sch_desc_everyMonth:nlt,sch_desc_everyNDay:olt,sch_desc_everyNHours:alt,sch_desc_everyNMinutes:ilt,sch_desc_everyNMonths:slt,sch_desc_everyNWeeks:llt,sch_desc_everyNYears:clt,sch_desc_everyWeek:dlt,sch_desc_everyYear:ult,sch_desc_intervalFromTo:plt,sch_desc_never:hlt,sch_desc_onDate:flt,sch_desc_onDates:mlt,sch_desc_onEveryDate:glt,sch_desc_onMonth:vlt,sch_desc_onMonths:ylt,sch_desc_onWeekday:_lt,sch_desc_onWeekdays:blt,sch_desc_onWeekends:wlt,sch_desc_onWorkdays:xlt,sch_desc_onceInPast:Slt,sch_desc_once_on:Clt,sch_desc_validFrom:$lt,sch_desc_validFromTo:klt,sch_desc_validTo:Elt,sch_every:Tlt,sch_exactTime:Olt,sch_from:Dlt,sch_fromTo:Alt,sch_intervalTime:Ilt,sch_invert:Mlt,sch_no_one:Plt,sch_on:Nlt,sch_period:Rlt,sch_periodDaily:jlt,sch_periodDates:Llt,sch_periodDay:zlt,sch_periodEvery:Flt,sch_periodEveryDay:Blt,sch_periodEveryMonth:Wlt,sch_periodEveryWeek:Hlt,sch_periodEveryYear:Ult,sch_periodHours:Vlt,sch_periodMinutes:qlt,sch_periodMonth:Glt,sch_periodMonthly:Xlt,sch_periodOnce:Jlt,sch_periodSpecificMonths:Ylt,sch_periodWeek:Klt,sch_periodWeekdays:Zlt,sch_periodWeekend:Qlt,sch_periodWeekly:ect,sch_periodWorkdays:tct,sch_periodYear:rct,sch_periodYearly:nct,sch_specificTime:oct,sch_time:act,sch_to:ict,sch_valid:sct,sch_validFrom:lct,sch_validTo:cct,sch_wholeDay:dct,sch_yearEveryMonth:uct},hct={en:ewe,de:tke,ru:rDe,pt:nNe,nl:o4e,fr:a8e,it:iHe,es:sXe,pl:lQe,uk:uot,"zh-cn":pct},fct=` +`).forEach(i=>{if(!i.trim())return;const s=i.indexOf(":");if(s!==-1){const l=i.substring(0,s).trim();let d=i.substring(s+1).trim();d=d.replace(/^['"]|['"]$/g,""),d==="true"?r[l]=!0:d==="false"?r[l]=!1:parseFloat(d).toString()===r[l]?r[l]=parseFloat(d):r[l]=d}else r[i.trim()]=!0}),e=e.substring(n+7))}return{header:r,body:e}}static MDremoveDocsify(e){const r=e.match(/{docsify-[^}]*}/g);return r&&r.forEach(n=>e=e.replace(n,"")),e}static generateFile(e,r){const n=document.createElement("a");n.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(r,null,2))}`),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}static quality2text(e){const r=e&4294901760,n=c1[e];let o;return n?o=[n]:e&1?o=[c1[1],`0x${(e&65534).toString(16)}`]:e&2?o=[c1[2],`0x${(e&65533).toString(16)}`]:o=[`0x${e.toString(16)}`],r&&o.push(`0x${(r>>16).toString(16).toUpperCase()}`),o}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var o;const r=(o=e==null?void 0:e.common)==null?void 0:o.states;let n;if(r)if(typeof r=="string"&&r[0]==="{")try{n=JSON.parse(r)}catch{console.error(`Cannot parse states: ${r}`),n=null}else if(typeof r=="string"){const a=r.split(";");n={};for(let i=0;in[i]=a):(e==null?void 0:e.common.type)==="string"?r.forEach(a=>n[a]=a):(e==null?void 0:e.common.type)==="boolean"&&(n.false=r[0],n.true=r[1])):typeof r=="object"&&(n=r);return n||null}static async getSvg(e){const n=await(await fetch(e)).blob();return new Promise(o=>{const a=new FileReader;a.onload=()=>{var i;return o(((i=a.result)==null?void 0:i.toString())||"")},a.readAsDataURL(n)})}static detectMimeType(e){const r=Object.keys(W5).find(n=>e.startsWith(n));return r?W5[r]:null}static isStableRepository(e){return!!(typeof e=="string"&&e.toLowerCase().startsWith("stable")||e&&typeof e!="string"&&e.find(r=>r.toLowerCase().startsWith("stable")))}static isStringInteger(e){return typeof e=="number"?Math.round(e)===e:parseInt(e,10).toString()===e}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getStyle(e,...r){const n={};for(let o=0;o{if(typeof r[o][a]=="function")n[a]=r[o][a](e);else if(typeof r[o][a]=="object"){const i=r[o][a];n[a]={},Object.keys(i).forEach(s=>{typeof i[s]=="function"?n[a][s]=i(e):(i[s]||i[s]===0)&&(n[a][s]=i[s])})}else(r[o][a]||r[o][a]===0)&&(n[a]=r[o][a])});return n}};X(sr,"namespace",Wa),X(sr,"INSTANCES","instances"),X(sr,"dateFormat",["DD","MM"]),X(sr,"FORBIDDEN_CHARS",/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu);let ue=sr;const d1={buttonIcon:{marginRight:8}};class Qve extends m.Component{constructor(r){super(r);X(this,"isIFrame");const n=r.newReact===void 0?!0:r.newReact;if(r.isIFrame!==void 0)this.isIFrame=r.isIFrame;else try{this.isIFrame=!n&&window.self!==window.top}catch{this.isIFrame=!n}}render(){const r=this.props.noTextOnButtons,n={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},o={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(o.minHeight=48),this.props.error&&(n.border="1px solid red"),m.createElement(af,{style:o},m.createElement(ro,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:n},m.createElement(s2,{style:r?void 0:d1.buttonIcon}),!r&&P.t("ra_Save")),m.createElement(ro,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...n,marginLeft:10}},m.createElement(s2,{style:r?void 0:d1.buttonIcon}),r?"+":P.t("ra_Save and close"),r&&m.createElement(Ar,null)),m.createElement("div",{style:{flexGrow:1}}),m.createElement(ro,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:n},m.createElement(Ar,{style:r?void 0:d1.buttonIcon}),!r&&P.t("ra_Close")))}}const H5={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class PO extends A.Component{constructor(e){if(super(e),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let r=!1;this.props.suppressQuestionMinutes&&(r=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,r?Date.now()>r&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),r=!1):r=!1),this.state={suppress:r}}handleOk(){this.state.suppress&&(window._localStorage||window.localStorage).setItem(this.props.dialogName,Date.now()+(this.props.suppressQuestionMinutes||2)*6e4),this.props.onClose&&this.props.onClose(!0)}handleCancel(){this.props.onClose&&this.props.onClose(!1)}render(){return typeof this.state.suppress=="number"?(setTimeout(()=>this.props.onClose&&this.props.onClose(!0),100),null):m.createElement(or,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(e,r)=>{r!=="backdropClick"&&r!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},m.createElement(_r,{id:"ar_confirmation_dialog_title"},this.props.title||P.t("ra_Are you sure?")),m.createElement(Wr,null,m.createElement(Ds,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?m.createElement("br",null):null,this.props.suppressQuestionMinutes?m.createElement(St,{sx:{"& .FormControlLabel-label":H5.suppress,"&.FormControlLabel-root":H5.suppressRoot},control:m.createElement(yr,{id:`ar_dialog_confirm_suppress_${this.props.dialogName||""}`,checked:!!this.state.suppress,onChange:()=>this.setState({suppress:!this.state.suppress})}),label:this.props.suppressText||P.t("ra_Suppress question for next %s minutes",(this.props.suppressQuestionMinutes||2).toString())}):null)),m.createElement(pr,null,m.createElement(tt,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:m.createElement(Ar,null)},this.props.cancel||P.t("ra_Cancel"))))}}class eU extends A.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return m.createElement(or,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},m.createElement(_r,{id:"ar_alert_dialog_title"},this.props.title||P.t("ra_Error")),m.createElement(Wr,null,m.createElement(Ds,{id:"ar_alert_dialog_description"},this.props.text||P.t("ra_Unknown error!"))),m.createElement(pr,null,m.createElement(tt,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:m.createElement(Ea,null)},P.t("ra_Ok"))))}}const eye="Append",tye="Cancel",rye="Categories",nye="Checked",oye="Delete",aye="Close",iye="Commercial",sye="Configure",lye="Connected",cye="Copied",dye="Create",uye="Crop",pye="Delete",hye="Delete",fye="Discard",mye="Disconnected",gye="Error",vye="Filter",yye="Friday",_ye="Latitude",bye="Expires in",wye="Longitude",xye="Message",Sye="Monday",Cye="Name",$ye="Objects",kye="Ok",Eye="Product",Tye="Repeat",Oye="Replace",Dye="Root",Aye="Saturday",Iye="Save",Mye="Selected",Pye="States",Nye="Sunday",Rye="Thursday",jye="Timestamp",Lye="Tuesday",zye="Update",Fye="Valid till",Bye="Value",Wye="Version",Hye="Wednesday",Uye="Width",Vye="Yes",qye="different",Gye="Everyone can read object",Xye="Everyone can read state",Jye="Everyone can write object",Yye="Everyone can write state",Kye="Group can read object",Zye="Group can read state",Qye="Group can write object",e_e="Group can write state",t_e="Owner can read object",r_e="Owner can read state",n_e="Owner can write object",o_e="Owner can write state",a_e="Buttons",i_e="Changed from",s_e="close",l_e="Create boolean state",c_e="Create channel",d_e="Create device",u_e="Create number state",p_e="Create state",h_e="Create string state",f_e="days",m_e="Fr",g_e="Mo",v_e="Sa",y_e="Su",__e="Th",b_e="Tu",w_e="We",x_e="Expert mode",S_e="All files",C_e="Audio",$_e="Code/JSON",k_e="Images",E_e="Text",T_e="Video",O_e="Settings",D_e="without",A_e="Function",I_e="ID",M_e="Name",P_e="Role",N_e="Room",R_e="Type",j_e="Invalid settings",L_e="Last change",z_e="locally",F_e="Apr",B_e="Aug",W_e="Dec",H_e="Feb",U_e="Jan",V_e="Jul",q_e="Jun",G_e="Mai",X_e="Mar",J_e="Nov",Y_e="Oct",K_e="Sep",Z_e="Apr",Q_e="Aug",e0e="Dec",t0e="Feb",r0e="Jan",n0e="Jul",o0e="Jun",a0e="Mai",i0e="Mar",s0e="Nov",l0e="Oct",c0e="Sep",d0e="none",u0e="Object changed by",p0e="Object last changed at",h0e="Settings from other adapter %s",f0e="Quality code",m0e="repeat",g0e='To select folder, just hold the key "shift" by clicking the folder.',v0e="State changed by",y0e="Object changed from",_0e="Timestamp",b0e="Acknowledged",w0e="Comment",x0e="Copy the state value",S0e="Custom settings",C0e="Delete object",$0e="Edit object",k0e="Edit the state value",E0e="From",T0e="Last changed",O0e="Quality",D0e="Time stamp",A0e="User",I0e="Value",M0e="Value",P0e="Warning: The CRON job will run every minute during the specified period!",N0e="Warning: The CRON job will run every second during the specified period!",R0e="CRON",j0e="Date",L0e="Dates",z0e="Day",F0e="Day of week",B0e="Every",W0e="every N days",H0e="every Nth day of the week",U0e="every N day of week",V0e="every N hours",q0e="every N minutes",G0e="every N months",X0e="every N seconds",J0e="every day",Y0e="every day of the week",K0e="every day of the week",Z0e="every hour",Q0e="every minute",ebe="every month",tbe="every second",rbe="From",nbe="Hours",obe="Interval",abe="Interval between",ibe="Invalid CRON",sbe="Minutes",lbe="months",cbe="Once",dbe="Period",ube="Seconds",pbe="Simple",hbe="Specific time",fbe="specific dates",mbe="specific day(s) of the week",gbe="specific day of weeks",vbe="specific hours",ybe="specific minutes",_be="specific months",bbe="specific seconds",wbe="Time",xbe="To",Sbe="Wizard",Cbe="all",$be="Astro day",kbe="Astro night",Ebe="Dawn",Tbe="Dusk",Obe="Golden hour",Dbe="Golden hour end",Abe="Nadir",Ibe="Nautical dawn",Mbe="Nautical dusk",Pbe="Night",Nbe="Night end",Rbe="Solar noon",jbe="Sunrise",Lbe="Sunrise end",zbe="Sunset",Fbe="Sunset start",Bbe="at",Wbe="at %s",Hbe="every day",Ube="every hour",Vbe="every minute",qbe="every month",Gbe="every %s day",Xbe="every %s hours",Jbe="every %s minutes",Ybe="every %s months",Kbe="every %s weeks",Zbe="every %s years",Qbe="every week",e1e="every year",t1e="from %s to %s",r1e="never",n1e="on %s of %s",o1e="on %s and %s of",a1e="on every date of",i1e="%s",s1e="%s and %s",l1e="on %s",c1e="on %s and %s",d1e="on weekends",u1e="on working days",p1e="will ne be not executed any more, because start is in the past",h1e="on %s",f1e="from %s",m1e="Execute from to",g1e="to %s",v1e="every",y1e="Specific time",_1e="from",b1e="From-to",w1e="Interval time",x1e="invert",S1e="none",C1e="on",$1e="Period",k1e="Daily",E1e="Dates",T1e="Day",O1e="Every",D1e="Every day",A1e="Every month",I1e="Every week",M1e="Every year",P1e="Hours",N1e="Minutes",R1e="month",j1e="Monthly",L1e="Once",z1e="Specific months",F1e="Week",B1e="Weekdays",W1e="Weekend",H1e="Weekly",U1e="Workdays",V1e="Year",q1e="Yearly",G1e="Specific time",X1e="Time",J1e="to",Y1e="Valid",K1e="from",Z1e="to",Q1e="Whole day",ewe="every month",twe={"ra_%s links from aliases":"%s links from aliases","ra_%s object(s) processed":"%s object(s) processed","ra_%s was imported":"%s was imported","ra_Accept license":"Accept license","ra_Add new child object to selected parent":"Add new child object to selected parent","ra_Add objects tree from JSON file":"Add objects tree from JSON file","ra_Add row":"Add row","ra_Advanced options":"Advanced options","ra_All items are filtered out":"All items are filtered out","ra_All objects":"All objects",ra_Append:eye,"ra_Append %s entries or replace existing?":"Append %s entries or replace existing?","ra_Append or replace?":"Append or replace?","ra_Are you sure?":"Are you sure?","ra_Auto (no custom columns)":"Auto (no custom columns)","ra_Back to %s":"Back to %s","ra_Background image":"Background image",ra_Cancel:tye,"ra_Cannot add items with set filter":"Cannot add items with set filter","ra_Cannot decode license":"Cannot decode license","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Cannot determine position: System settings are empty and GPS detection is disabled in browser",'ra_Cannot find "%s"':'Cannot find "%s"','ra_Cannot read "%s"':'Cannot read "%s"',"ra_Cannot read licenses: %s":"Cannot read licenses: %s","ra_Cannot retrieve options, as instance is offline":"Cannot retrieve options, as instance is offline","ra_Cannot update attribute, because not found in the object":"Cannot update attribute, because not found in the object","ra_Cannot upload":"Cannot upload",ra_Categories:rye,"ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel → State":"Channel → State","ra_Check license":"Check license",ra_Checked:nye,ra_Clear:oye,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Clone current row":"Clone current row",ra_Close:aye,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:iye,ra_Configure:sye,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:lye,ra_Copied:cye,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:dye,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:uye,"ra_Define CRON...":"Define CRON...","ra_Define functions":"Define functions","ra_Define rooms":"Define rooms","ra_Define schedule":"Define schedule","ra_Define schedule...":"Define schedule...",ra_Del:pye,ra_Delete:hye,"ra_Delete (no confirm for 5 mins)":"Delete (no confirm for 5 mins)","ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State",ra_Discard:fye,ra_Disconnected:mye,"ra_Do not export values of states":"Do not export values of states","ra_Do not use let's encrypt":"Do not use let's encrypt","ra_Double click to reset table layout":"Double click to reset table layout","ra_Drag 'n' drop some files here, or click to select files":"Drag 'n' drop some files here, or click to select files","ra_Drop file here":"Drop file here","ra_Drop the files here...":"Drop the file here...","ra_Duplicate name":"Duplicate name","ra_Edit ACL":"Edit ACL","ra_Edit alias":"Edit alias","ra_Edit custom config":"Edit custom config","ra_Edit function":"Edit function","ra_Edit object field":"Edit object field","ra_Edit role":"Edit role","ra_Edit room":"Edit room","ra_Edit value":"Edit value",ra_Error:gye,"ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Export data to %s file":"Export data to %s file","ra_Failed to open JSON File":"Failed to open JSON File","ra_Fallback custom certificates":"Fallback custom certificates","ra_File is too big. Max %sk allowed. Try use SVG.":"File is too big. Max %sk allowed. Try use SVG.",ra_Filter:vye,"ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder → Channel → State":"Folder → Channel → State","ra_Folder → Device → Channel → State":"Folder → Device → Channel → State","ra_Folder → State":"Folder → State","ra_Folders always first":"Folders always first",ra_Friday:yye,"ra_Good luck":"Good luck","ra_Hide empty folders":"Hide empty folders","ra_If no file will be created in the folder, it will disappear after the browser closed":"If no file will be created in the folder, it will disappear after the browser closed","ra_Import data from %s file":"Import data from %s file","ra_Import from %s":"Import from %s","ra_Instance %s is alive":"Instance %s is alive","ra_Instance %s is not alive":"Instance %s is not alive","ra_Instance is not alive":"Instance is not alive","ra_Invalid CRON":"Invalid CRON","ra_Invalid JSON":"Invalid JSON","ra_Invalid answer from server":"Invalid answer from server","ra_Invalid parent folder!":"Invalid parent folder!","ra_Invalid structure":"Invalid structure","ra_JSON editor":"JSON editor","ra_Last change":"Last change",ra_Latitude:_ye,"ra_License %s":"License %s","ra_License agreement":"License agreement","ra_License does not exist":"License does not exist",ra_tooltip_expire:bye,"ra_License expired on %s":"License expired on %s",'ra_License for other product "%s"':'License for other product "%s"',"ra_License is for version %s, but required version is %s.":"License is for version %s, but required version is %s.","ra_License must be converted":"License must be converted to newer version. You can do it in your iobroker.net profile.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"License not found in the license manager. Do you want to update licenses from iobroker.net?","ra_Listen on all IPs":"Listen on all IPs","ra_Load configuration from file":"Load configuration from file",ra_Longitude:wye,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:xye,ra_Monday:Sye,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:Cye,"ra_No data found in file":"No data found in file","ra_No one license found in license manager":"No one license found in license manager","ra_No response from the backend":"No response from the backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Non-experts may create new objects only in "0_userdata.0" or "alias.0".',"ra_Not a number":"Not a number",ra_Objects:$ye,ra_Ok:kye,"ra_On weekdays":"On weekdays","ra_Only following structures of objects are available:":"Only following structures of objects are available:","ra_Only selected":"Only selected","ra_Owner group":"Owner group","ra_Owner user":"Owner user","ra_Passwords are not equal!":"Passwords are not equal!","ra_Place your files here or click here to open the browse dialog":"Place your files here or click here to open the browse dialog","ra_Please confirm":"Please confirm","ra_Please create license":"Please create license","ra_Please enter the license":"Please enter the license","ra_Please select file...":"Please select file...","ra_Please select object ID...":"Please select object ID...","ra_Port could be used by %s":"Port could be used by %s","ra_Port is already used by %s":"Port is already used by %s","ra_Private certificate":"Private certificate",ra_Product:Eye,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Repeat:Tye,ra_Replace:Oye,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:Dye,ra_Saturday:Aye,ra_Save:Iye,"ra_Save and close":"Save and close","ra_Save configuration to file":"Save configuration to file","ra_Save objects tree as JSON file":"Save objects tree as JSON file","ra_Select all":"Select all","ra_Select color":"Select color","ra_Select predefined icon":"Select predefined icon","ra_Select type of export":"Select type of export",ra_Selected:Mye,"ra_Selected %s object(s)":"Selected %s object(s)","ra_Serial number (UUID)":"Serial number (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serial number (UUID) "%s" in license is for other device.',"ra_Show all folders":"Show all folders","ra_Show lines between rows":"Show lines between rows","ra_Show/Hide object descriptions":"Show/Hide object descriptions","ra_Show/hide filter input":"Show/hide filter input","ra_Some data are not stored. Discard?":"Some data are not stored. Discard?",ra_States:Pye,"ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:Nye,"ra_Suppress question for next %s minutes":"Suppress question for next %s minutes","ra_System language":"System language","ra_Take browser position":"Take position from browser","ra_Take position from system settings":"Take position from system settings",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").',"ra_The page you are looking for was not found":"The page you are looking for was not found","ra_The schedule will be executed every minute. Are you sure?":"The schedule will be executed every minute. Are you sure?","ra_The schedule will be executed every second. Are you sure?":"The schedule will be executed every second. Are you sure?",ra_Thursday:Rye,ra_Timestamp:jye,"ra_Toggle expert mode":"Toggle expert mode","ra_Toggle the states view":"Toggle the states view","ra_Toggle view mode":"Toggle view mode","ra_Too big":"Too big","ra_Too small":"Too small","ra_Transparent dialog":"Transparent dialog",ra_Tuesday:Lye,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:zye,"ra_Upload file":"Upload file","ra_Use all available let's encrypt certificates":"Use all available let's encrypt certificates","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use iobroker.acme adapter for letsencrypt certificates","ra_Use system settings for position":"Use system settings for position","ra_Used system settings":"Used system settings","ra_User files":"User files",ra_ValidTill:Fye,ra_Value:Bye,ra_Version:Wye,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:Hye,ra_Width:Uye,ra_Yes:Vye,"ra_You can export all objects or just the selected branch.":"You can export all objects or just the selected branch.","ra_You can filter entries by entering here some text":"You can filter entries by entering here some text",ra___different__:qye,ra_aclEveryone_read_object:Gye,ra_aclEveryone_read_state:Xye,ra_aclEveryone_write_object:Jye,ra_aclEveryone_write_state:Yye,ra_aclGroup_read_object:Kye,ra_aclGroup_read_state:Zye,ra_aclGroup_write_object:Qye,ra_aclGroup_write_state:e_e,ra_aclOwner_read_object:t_e,ra_aclOwner_read_state:r_e,ra_aclOwner_write_object:n_e,ra_aclOwner_write_state:o_e,ra_buttons:a_e,ra_changedFrom:i_e,ra_close:s_e,ra_create_boolean_state:l_e,ra_create_channel:c_e,ra_create_device:d_e,ra_create_number_state:u_e,ra_create_state:p_e,ra_create_string_state:h_e,ra_daysShortText:f_e,ra_dow_Fr:m_e,ra_dow_Mo:g_e,ra_dow_Sa:v_e,ra_dow_Su:y_e,ra_dow_Th:__e,ra_dow_Tu:b_e,ra_dow_We:w_e,ra_expertMode:x_e,ra_fileType_all:S_e,ra_fileType_audio:C_e,ra_fileType_code:$_e,ra_fileType_images:k_e,ra_fileType_txt:E_e,ra_fileType_video:T_e,"ra_fileType_video,":"Video",ra_filter_customs:O_e,ra_filter_customs_without:D_e,ra_filter_func:A_e,ra_filter_id:I_e,ra_filter_name:M_e,ra_filter_role:P_e,ra_filter_room:N_e,ra_filter_type:R_e,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:j_e,ra_lastChange:L_e,ra_locally:z_e,ra_month_Apr:F_e,ra_month_Aug:B_e,ra_month_Dec:W_e,ra_month_Feb:H_e,ra_month_Jan:U_e,ra_month_Jul:V_e,ra_month_Jun:q_e,ra_month_Mai:G_e,ra_month_Mar:X_e,ra_month_Nov:J_e,ra_month_Oct:Y_e,ra_month_Sep:K_e,ra_months_Apr:Z_e,ra_months_Aug:Q_e,ra_months_Dec:e0e,ra_months_Feb:t0e,ra_months_Jan:r0e,ra_months_Jul:n0e,ra_months_Jun:o0e,ra_months_Mai:a0e,ra_months_Mar:i0e,ra_months_Nov:s0e,ra_months_Oct:l0e,ra_months_Sep:c0e,ra_none:d0e,ra_object_changed_by:u0e,ra_object_changed_by_user:p0e,ra_otherConfig:h0e,ra_qualityCode:f0e,ra_repeat:m0e,ra_select_folder_hint:g0e,ra_state_changed_by:v0e,ra_state_changed_from:y0e,ra_timestamp:_0e,ra_tooltip_ack:b0e,ra_tooltip_comment:w0e,ra_tooltip_copyState:x0e,ra_tooltip_customConfig:S0e,ra_tooltip_deleteObject:C0e,ra_tooltip_editObject:$0e,ra_tooltip_editState:k0e,ra_tooltip_from:E0e,ra_tooltip_lc:T0e,ra_tooltip_quality:O0e,ra_tooltip_ts:D0e,ra_tooltip_user:A0e,ra_tooltip_value:I0e,"ra_use seconds":"use seconds",ra_val:M0e,"ra_via internet":"via internet",ra_warning_every_minute:P0e,ra_warning_every_second:N0e,sc_cron:R0e,sc_date:j0e,sc_dates:L0e,sc_dow:z0e,sc_dows:F0e,sc_every:B0e,sc_everyN_dates:W0e,sc_everyN_dow:H0e,sc_everyN_dows:U0e,sc_everyN_hours:V0e,sc_everyN_minutes:q0e,sc_everyN_months:G0e,sc_everyN_seconds:X0e,sc_every_dates:J0e,sc_every_dow:Y0e,sc_every_dows:K0e,sc_every_hours:Z0e,sc_every_minutes:Q0e,sc_every_months:ebe,sc_every_seconds:tbe,sc_from:rbe,sc_hours:nbe,sc_interval:obe,sc_intervalBetween:abe,sc_invalid_cron:ibe,sc_minutes:sbe,sc_months:lbe,sc_once:cbe,sc_period:dbe,sc_seconds:ube,sc_simple:pbe,sc_specific:hbe,sc_specific_dates:fbe,sc_specific_dow:mbe,sc_specific_dows:gbe,sc_specific_hours:vbe,sc_specific_minutes:ybe,sc_specific_months:_be,sc_specific_seconds:bbe,sc_time:wbe,sc_to:xbe,sc_wizard:Sbe,sch_all:Cbe,sch_astroDay:$be,sch_astroNight:kbe,sch_astro_dawn:Ebe,sch_astro_dusk:Tbe,sch_astro_goldenHour:Obe,sch_astro_goldenHourEnd:Dbe,sch_astro_nadir:Abe,sch_astro_nauticalDawn:Ibe,sch_astro_nauticalDusk:Mbe,sch_astro_night:Pbe,sch_astro_nightEnd:Nbe,sch_astro_solarNoon:Rbe,sch_astro_sunrise:jbe,sch_astro_sunriseEnd:Lbe,sch_astro_sunset:zbe,sch_astro_sunsetStart:Fbe,sch_at:Bbe,sch_desc_atTime:Wbe,sch_desc_everyDay:Hbe,sch_desc_everyHour:Ube,sch_desc_everyMinute:Vbe,sch_desc_everyMonth:qbe,sch_desc_everyNDay:Gbe,sch_desc_everyNHours:Xbe,sch_desc_everyNMinutes:Jbe,sch_desc_everyNMonths:Ybe,sch_desc_everyNWeeks:Kbe,sch_desc_everyNYears:Zbe,sch_desc_everyWeek:Qbe,sch_desc_everyYear:e1e,sch_desc_intervalFromTo:t1e,sch_desc_never:r1e,sch_desc_onDate:n1e,sch_desc_onDates:o1e,sch_desc_onEveryDate:a1e,sch_desc_onMonth:i1e,sch_desc_onMonths:s1e,sch_desc_onWeekday:l1e,sch_desc_onWeekdays:c1e,sch_desc_onWeekends:d1e,sch_desc_onWorkdays:u1e,sch_desc_onceInPast:p1e,sch_desc_once_on:h1e,sch_desc_validFrom:f1e,sch_desc_validFromTo:m1e,sch_desc_validTo:g1e,sch_every:v1e,sch_exactTime:y1e,sch_from:_1e,sch_fromTo:b1e,sch_intervalTime:w1e,sch_invert:x1e,sch_no_one:S1e,sch_on:C1e,sch_period:$1e,sch_periodDaily:k1e,sch_periodDates:E1e,sch_periodDay:T1e,sch_periodEvery:O1e,sch_periodEveryDay:D1e,sch_periodEveryMonth:A1e,sch_periodEveryWeek:I1e,sch_periodEveryYear:M1e,sch_periodHours:P1e,sch_periodMinutes:N1e,sch_periodMonth:R1e,sch_periodMonthly:j1e,sch_periodOnce:L1e,sch_periodSpecificMonths:z1e,sch_periodWeek:F1e,sch_periodWeekdays:B1e,sch_periodWeekend:W1e,sch_periodWeekly:H1e,sch_periodWorkdays:U1e,sch_periodYear:V1e,sch_periodYearly:q1e,sch_specificTime:G1e,sch_time:X1e,sch_to:J1e,sch_valid:Y1e,sch_validFrom:K1e,sch_validTo:Z1e,sch_wholeDay:Q1e,sch_yearEveryMonth:ewe},rwe="Anhängen",nwe="Abbrechen",owe="Kategorien",awe="Geprüft",iwe="Löschen",swe="Schließen",lwe="Kommerziell",cwe="Konfigurieren",dwe="Verbunden",uwe="Kopiert",pwe="Erstellen",hwe="Ernte",fwe="Entf",mwe="Löschen",gwe="Verwerfen",vwe="Getrennt",ywe="Fehler",_we="Filter",bwe="Freitag",wwe="Breite",xwe="Längengrad",Swe="Meldung",Cwe="Montag",$we="Name",kwe="Objekte",Ewe="OK",Twe="Produkt",Owe="Wiederholen",Dwe="Ersetzen",Awe="Anfang",Iwe="Samstag",Mwe="Speichern",Pwe="Ausgewählt",Nwe="Zustände",Rwe="Sonntag",jwe="Donnerstag",Lwe="Zeitstempel",zwe="Dienstag",Fwe="Aktualisieren",Bwe="Gültig bis",Wwe="Wert",Hwe="Ausführung",Uwe="Mittwoch",Vwe="Breite",qwe="Ja",Gwe="unterschiedlich",Xwe="Jeder kann Objekt lesen",Jwe="Jeder kann Zustand lesen",Ywe="Jeder kann ein Objekt schreiben",Kwe="Jeder kann Zustand schreiben",Zwe="Gruppe kann Objekt lesen",Qwe="Gruppe kann Status lesen",exe="Gruppe kann Objekt schreiben",txe="Gruppe kann Status schreiben",rxe="Besitzer kann Objekt lesen",nxe="Besitzer kann Zustand lesen",oxe="Besitzer kann Objekt schreiben",axe="Besitzer kann Zustand schreiben",ixe="Tasten",sxe="Geändert von",lxe="Schließen",cxe="Booleschen Zustand erstellen",dxe="Kanal erstellen",uxe="Gerät erstellen",pxe="Nummern-Zustand erstellen",hxe="Zustand erstellen",fxe="String-Zustand erstellen",mxe="T.",gxe="Fr",vxe="Mo",yxe="Sa",_xe="So",bxe="Do",wxe="Di",xxe="Mi",Sxe="Expertenmodus",Cxe="Alle Dateien",$xe="Audio",kxe="Code/JSON",Exe="Bilder",Txe="Text",Oxe="Video",Dxe="Einstellungen",Axe="ohne",Ixe="Funktion",Mxe="ID",Pxe="Name",Nxe="Rolle",Rxe="Raum",jxe="Typ",Lxe="Ungültige Einstellungen",zxe="Letzte Änderung",Fxe="örtlich",Bxe="Apr",Wxe="Aug",Hxe="Dez",Uxe="Feb",Vxe="Jan",qxe="Jul",Gxe="Jun",Xxe="Mai",Jxe="Mär",Yxe="Nov",Kxe="Okt",Zxe="Sep",Qxe="Apr",eSe="Aug",tSe="Dez",rSe="Feb",nSe="Jan",oSe="Jul",aSe="Jun",iSe="Mai",sSe="Mär",lSe="Nov",cSe="Okt",dSe="Sep",uSe="kein",pSe="Objekt geändert von",hSe="Objekt zuletzt geändert um",fSe="Einstellungen von anderen Adaptern %s",mSe="Qualitätscode",gSe="wiederholen",vSe='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',ySe="Zustand geändert durch",_Se="Objekt geändert von",bSe="Zeitstempel",wSe="Bestätigt",xSe="Kommentar",SSe="Statuswert kopieren",CSe="Benutzerdefinierte Einstellungen",$Se="Objekt löschen",kSe="Objekt bearbeiten",ESe="Statuswert bearbeiten",TSe="Von",OSe="Zuletzt geändert",DSe="Qualität",ASe="Zeitstempel",ISe="Benutzer",MSe="Wert",PSe="Wert",NSe="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",RSe="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",jSe="CRON",LSe="Datum",zSe="Tage",FSe="Tag",BSe="Wochentage",WSe="Jeden",HSe="alle N Tage",USe="jeden x-ten Tag der Woche",VSe="alle N Wochentage",qSe="alle N Stunden",GSe="alle N Minuten",XSe="alle N Monate",JSe="alle N Sekunden",YSe="jeden Tag",KSe="jeden Tag der Woche",ZSe="jeden Tag der Woche",QSe="jede Stunde",eCe="jede Minute",tCe="jeden Monat",rCe="jede Sekunde",nCe="Von",oCe="Stunden",aCe="Intervall",iCe="Intervall zwischen",sCe="Ungültiger CRON",lCe="Minuten",cCe="Monate",dCe="Einmal",uCe="Zeitraum",pCe="Sekunden",hCe="Einfach",fCe="Bestimmte Zeit",mCe="bestimmte Tage",gCe="bestimmte(r) Tag(e) der Woche",vCe="bestimmten Wochentag",yCe="bestimmte Stunden",_Ce="bestimmte Minuten",bCe="bestimmte Monate",wCe="bestimmte Sekunden",xCe="Zeit",SCe="Bis",CCe="Wizard",$Ce="alle",kCe="Astronomischer Tag",ECe="Astronomische Nacht",TCe="Morgendämmerung",OCe="Abenddämmerung",DCe="Goldene Stunde",ACe="Goldene Stundenende",ICe="Nadir",MCe="Nautische Morgendämmerung",PCe="Nautische Abenddämmerung",NCe="Nacht",RCe="Nachtende",jCe="Sonnenmittag",LCe="Sonnenaufgang",zCe="Sonnenaufgangende",FCe="Sonnenuntergang",BCe="Sonnenuntergangstart",WCe="am",HCe="um %s",UCe="jeden Tag",VCe="jede Stunde",qCe="jede Minute",GCe="jeden Monat",XCe="jeden %s Tag",JCe="alle %s Stunden",YCe="alle %s Minuten",KCe="alle %s Monate",ZCe="alle %s Wochen",QCe="alle %s Jahre",e$e="jede Woche",t$e="jedes Jahr",r$e="von %s bis %s",n$e="noch nie",o$e="am %s von %s",a$e="am %s und %s von",i$e="an jedem Datum von",s$e="%s",l$e="%s und %s",c$e="auf %s",d$e="auf %s und %s",u$e="an Wochenenden",p$e="an Werktagen",h$e="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",f$e="auf %s",m$e="von %s",g$e="Ausführen von bis",v$e="bis %s",y$e="jeden",_$e="Bestimmte Zeit",b$e="von",w$e="Von bis",x$e="Zeitintervall",S$e="umkehren",C$e="keiner",$$e="am",k$e="Zeitraum",E$e="Täglich",T$e="Daten",O$e="Tag",D$e="Jeden",A$e="Jeden Tag",I$e="Jeden Monat",M$e="Jede Woche",P$e="Jedes Jahr",N$e="Stunden",R$e="Minuten",j$e="Monat",L$e="Monatlich",z$e="Einmal",F$e="Bestimmte Monate",B$e="Woche",W$e="Wochentage",H$e="Wochenende",U$e="Wöchentlich",V$e="Arbeitstage",q$e="Jahr",G$e="Jährlich",X$e="Bestimmte Zeit",J$e="Zeit",Y$e="zu",K$e="Gültigkeit",Z$e="von",Q$e="bis",eke="Ganzer Tag",tke="jeden Monat",rke={"ra_%s links from aliases":"%s Links von Aliasen","ra_%s object(s) processed":"%s Objekt(e) verarbeitet","ra_%s was imported":"%s wurde importiert","ra_Accept license":"Lizenz akzeptieren","ra_Add new child object to selected parent":"Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzufügen","ra_Add row":"Zeile hinzufügen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente sind herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:rwe,"ra_Append %s entries or replace existing?":"%s Einträge anhängen oder vorhandene ersetzen?","ra_Append or replace?":"Anhängen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zurück zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:nwe,"ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter können nicht hinzugefügt werden","ra_Cannot decode license":"Lizenz kann nicht entschlüsselt werden","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert",'ra_Cannot find "%s"':'Kann "%s" nicht finden','ra_Cannot read "%s"':'"%s" kann nicht gelesen werden',"ra_Cannot read licenses: %s":"Lizenzen können nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen können nicht abgerufen werden, da die Instanz offline ist","ra_Cannot update attribute, because not found in the object":"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde","ra_Cannot upload":"Kann nicht hochladen",ra_Categories:owe,"ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema ändern","ra_Changed from":"Geändert von","ra_Channel → State":"Kanal → Zustand","ra_Check license":"Lizenz prüfen",ra_Checked:awe,ra_Clear:iwe,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:swe,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:lwe,ra_Configure:cwe,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:dwe,ra_Copied:uwe,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:pwe,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:hwe,"ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"Räume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:fwe,ra_Delete:mwe,"ra_Delete (no confirm for 5 mins)":"Löschen (keine Bestätigung für 5 Minuten)","ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand",ra_Discard:gwe,ra_Disconnected:vwe,"ra_Do not export values of states":"Keine Zustandswerte exportieren","ra_Do not use let's encrypt":"Let's encrypt nicht verwenden","ra_Double click to reset table layout":"Doppelklicken, um das Tabellenlayout zurückzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen","ra_Drop file here":"Datei hier ablegen","ra_Drop the files here...":"Datei hier ablegen...","ra_Duplicate name":"Doppelter Name","ra_Edit ACL":"ACL bearbeiten","ra_Edit alias":"Alias bearbeiten","ra_Edit custom config":"Bearbeite Benutzerdefinierte Konfiguration","ra_Edit function":"Funktion bearbeiten","ra_Edit object field":"Objektfeld bearbeiten","ra_Edit role":"Rolle bearbeiten","ra_Edit room":"Raum bearbeiten","ra_Edit value":"Wert bearbeiten",ra_Error:ywe,"ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Export data to %s file":"Daten in %s-Datei exportieren","ra_Failed to open JSON File":"Fehler beim Öffnen der JSON-Datei","ra_Fallback custom certificates":"Benutzerdefinierte Fallback-Zertifikate","ra_File is too big. Max %sk allowed. Try use SVG.":"Datei ist zu groß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:_we,"ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder → Channel → State":"Ordner → Kanal → Zustand","ra_Folder → Device → Channel → State":"Ordner → Gerät → Kanal → Zustand","ra_Folder → State":"Ordner → Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:bwe,"ra_Good luck":"Viel Glück","ra_Hide empty folders":"Leere Ordner ausblenden","ra_If no file will be created in the folder, it will disappear after the browser closed":"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schließen des Browsers","ra_Import data from %s file":"Daten aus %s-Datei importieren","ra_Import from %s":"Von %s importieren","ra_Instance %s is alive":"Instanz %s ist aktiv","ra_Instance %s is not alive":"Instanz %s ist nicht aktiv","ra_Instance is not alive":"Instanz ist nicht am Leben","ra_Invalid CRON":"Ungültiger CRON","ra_Invalid JSON":"Ungültiges JSON","ra_Invalid answer from server":"Ungültige Antwort vom Server","ra_Invalid parent folder!":"Ungültiger übergeordneter Ordner!","ra_Invalid structure":"Ungültige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte Änderung",ra_Latitude:wwe,"ra_License %s":"Lizenz %s","ra_License agreement":"Lizenzvereinbarung","ra_License does not exist":"Lizenz existiert nicht","ra_License expired on %s":"Lizenz am %s abgelaufen",'ra_License for other product "%s"':"Lizenz für anderes Produkt „%s“","ra_License is for version %s, but required version is %s.":"Lizenz ist für Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie können dies in Ihrem iobroker.net-Profil tun.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Lizenz im Lizenzmanager nicht gefunden. Möchten Sie Lizenzen von iobroker.net aktualisieren?","ra_Listen on all IPs":"Zugriff von allen IPs zulassen","ra_Load configuration from file":"Konfiguration aus Datei laden",ra_Longitude:xwe,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:Swe,ra_Monday:Cwe,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:$we,"ra_No data found in file":"Keine Daten in der Datei gefunden","ra_No one license found in license manager":"Im Lizenzmanager wurde keine Lizenz gefunden","ra_No response from the backend":"Keine Antwort vom Backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Nicht-Experten dürfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:kwe,ra_Ok:Ewe,"ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verfügung:","ra_Only selected":"Nur ausgewählt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passwörter sind nicht gleich!","ra_Place your files here or click here to open the browse dialog":"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu öffnen","ra_Please confirm":"Bitte bestätigen","ra_Please create license":"Bitte erstellen Sie eine Lizenz","ra_Please enter the license":"Bitte die Lizenz eingeben","ra_Please select file...":"Bitte Datei auswählen...","ra_Please select object ID...":"Bitte Objekt-ID auswählen...","ra_Port could be used by %s":"Port könnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Private certificate":"Privates Zertifikat",ra_Product:Twe,"ra_Public certificate":"Öffentliches Zertifikat","ra_Quality code":"Qualität","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Repeat:Owe,ra_Replace:Dwe,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:Awe,ra_Saturday:Iwe,ra_Save:Mwe,"ra_Save and close":"Speichern und schließen","ra_Save configuration to file":"Konfiguration in Datei speichern","ra_Save objects tree as JSON file":"Objektbaum als JSON-Datei speichern","ra_Select all":"Alle auswählen","ra_Select color":"Wähle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol auswählen","ra_Select type of export":"Die Art des Exports auswählen ",ra_Selected:Pwe,"ra_Selected %s object(s)":"Ausgewählt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) „%s“ in der Lizenz gilt für ein anderes Gerät.","ra_Show all folders":"Alle Ordner anzeigen","ra_Show lines between rows":"Linien zwischen Zeilen anzeigen","ra_Show/Hide object descriptions":"Objektbeschreibungen ein-/ausblenden","ra_Show/hide filter input":"Filtereingabe ein-/ausblenden","ra_Some data are not stored. Discard?":"Einige Daten werden nicht gespeichert. Verwerfen?",ra_States:Nwe,"ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:Rwe,"ra_Suppress question for next %s minutes":"Frage für die nächsten %s Minuten unterdrücken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen übernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten können Objekte überall erstellen, außer auf der zweiten Ebene (z. B. "vis.0" oder "javascript.0").',"ra_The page you are looking for was not found":"Die gesuchte Seite wurde nicht gefunden","ra_The schedule will be executed every minute. Are you sure?":"Der Zeitplan wird jede Minute ausgeführt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",ra_Thursday:jwe,ra_Timestamp:Lwe,"ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu groß","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:zwe,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:Fwe,"ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verfügbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter für letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen für die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:Bwe,ra_Value:Wwe,ra_Version:Hwe,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:Uwe,ra_Width:Vwe,ra_Yes:qwe,"ra_You can export all objects or just the selected branch.":"Sie können alle Objekte oder nur den ausgewählten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie können Einträge filtern, indem Sie hier Text eingeben",ra___different__:Gwe,ra_aclEveryone_read_object:Xwe,ra_aclEveryone_read_state:Jwe,ra_aclEveryone_write_object:Ywe,ra_aclEveryone_write_state:Kwe,ra_aclGroup_read_object:Zwe,ra_aclGroup_read_state:Qwe,ra_aclGroup_write_object:exe,ra_aclGroup_write_state:txe,ra_aclOwner_read_object:rxe,ra_aclOwner_read_state:nxe,ra_aclOwner_write_object:oxe,ra_aclOwner_write_state:axe,ra_buttons:ixe,ra_changedFrom:sxe,ra_close:lxe,ra_create_boolean_state:cxe,ra_create_channel:dxe,ra_create_device:uxe,ra_create_number_state:pxe,ra_create_state:hxe,ra_create_string_state:fxe,ra_daysShortText:mxe,ra_dow_Fr:gxe,ra_dow_Mo:vxe,ra_dow_Sa:yxe,ra_dow_Su:_xe,ra_dow_Th:bxe,ra_dow_Tu:wxe,ra_dow_We:xxe,ra_expertMode:Sxe,ra_fileType_all:Cxe,ra_fileType_audio:$xe,ra_fileType_code:kxe,ra_fileType_images:Exe,ra_fileType_txt:Txe,ra_fileType_video:Oxe,"ra_fileType_video,":"Video",ra_filter_customs:Dxe,ra_filter_customs_without:Axe,ra_filter_func:Ixe,ra_filter_id:Mxe,ra_filter_name:Pxe,ra_filter_role:Nxe,ra_filter_room:Rxe,ra_filter_type:jxe,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:Lxe,ra_lastChange:zxe,ra_locally:Fxe,ra_month_Apr:Bxe,ra_month_Aug:Wxe,ra_month_Dec:Hxe,ra_month_Feb:Uxe,ra_month_Jan:Vxe,ra_month_Jul:qxe,ra_month_Jun:Gxe,ra_month_Mai:Xxe,ra_month_Mar:Jxe,ra_month_Nov:Yxe,ra_month_Oct:Kxe,ra_month_Sep:Zxe,ra_months_Apr:Qxe,ra_months_Aug:eSe,ra_months_Dec:tSe,ra_months_Feb:rSe,ra_months_Jan:nSe,ra_months_Jul:oSe,ra_months_Jun:aSe,ra_months_Mai:iSe,ra_months_Mar:sSe,ra_months_Nov:lSe,ra_months_Oct:cSe,ra_months_Sep:dSe,ra_none:uSe,ra_object_changed_by:pSe,ra_object_changed_by_user:hSe,ra_otherConfig:fSe,ra_qualityCode:mSe,ra_repeat:gSe,ra_select_folder_hint:vSe,ra_state_changed_by:ySe,ra_state_changed_from:_Se,ra_timestamp:bSe,ra_tooltip_ack:wSe,ra_tooltip_comment:xSe,ra_tooltip_copyState:SSe,ra_tooltip_customConfig:CSe,ra_tooltip_deleteObject:$Se,ra_tooltip_editObject:kSe,ra_tooltip_editState:ESe,ra_tooltip_from:TSe,ra_tooltip_lc:OSe,ra_tooltip_quality:DSe,ra_tooltip_ts:ASe,ra_tooltip_user:ISe,ra_tooltip_value:MSe,"ra_use seconds":"Sekunden benutzen",ra_val:PSe,"ra_via internet":"übers Internet",ra_warning_every_minute:NSe,ra_warning_every_second:RSe,sc_cron:jSe,sc_date:LSe,sc_dates:zSe,sc_dow:FSe,sc_dows:BSe,sc_every:WSe,sc_everyN_dates:HSe,sc_everyN_dow:USe,sc_everyN_dows:VSe,sc_everyN_hours:qSe,sc_everyN_minutes:GSe,sc_everyN_months:XSe,sc_everyN_seconds:JSe,sc_every_dates:YSe,sc_every_dow:KSe,sc_every_dows:ZSe,sc_every_hours:QSe,sc_every_minutes:eCe,sc_every_months:tCe,sc_every_seconds:rCe,sc_from:nCe,sc_hours:oCe,sc_interval:aCe,sc_intervalBetween:iCe,sc_invalid_cron:sCe,sc_minutes:lCe,sc_months:cCe,sc_once:dCe,sc_period:uCe,sc_seconds:pCe,sc_simple:hCe,sc_specific:fCe,sc_specific_dates:mCe,sc_specific_dow:gCe,sc_specific_dows:vCe,sc_specific_hours:yCe,sc_specific_minutes:_Ce,sc_specific_months:bCe,sc_specific_seconds:wCe,sc_time:xCe,sc_to:SCe,sc_wizard:CCe,sch_all:$Ce,sch_astroDay:kCe,sch_astroNight:ECe,sch_astro_dawn:TCe,sch_astro_dusk:OCe,sch_astro_goldenHour:DCe,sch_astro_goldenHourEnd:ACe,sch_astro_nadir:ICe,sch_astro_nauticalDawn:MCe,sch_astro_nauticalDusk:PCe,sch_astro_night:NCe,sch_astro_nightEnd:RCe,sch_astro_solarNoon:jCe,sch_astro_sunrise:LCe,sch_astro_sunriseEnd:zCe,sch_astro_sunset:FCe,sch_astro_sunsetStart:BCe,sch_at:WCe,sch_desc_atTime:HCe,sch_desc_everyDay:UCe,sch_desc_everyHour:VCe,sch_desc_everyMinute:qCe,sch_desc_everyMonth:GCe,sch_desc_everyNDay:XCe,sch_desc_everyNHours:JCe,sch_desc_everyNMinutes:YCe,sch_desc_everyNMonths:KCe,sch_desc_everyNWeeks:ZCe,sch_desc_everyNYears:QCe,sch_desc_everyWeek:e$e,sch_desc_everyYear:t$e,sch_desc_intervalFromTo:r$e,sch_desc_never:n$e,sch_desc_onDate:o$e,sch_desc_onDates:a$e,sch_desc_onEveryDate:i$e,sch_desc_onMonth:s$e,sch_desc_onMonths:l$e,sch_desc_onWeekday:c$e,sch_desc_onWeekdays:d$e,sch_desc_onWeekends:u$e,sch_desc_onWorkdays:p$e,sch_desc_onceInPast:h$e,sch_desc_once_on:f$e,sch_desc_validFrom:m$e,sch_desc_validFromTo:g$e,sch_desc_validTo:v$e,sch_every:y$e,sch_exactTime:_$e,sch_from:b$e,sch_fromTo:w$e,sch_intervalTime:x$e,sch_invert:S$e,sch_no_one:C$e,sch_on:$$e,sch_period:k$e,sch_periodDaily:E$e,sch_periodDates:T$e,sch_periodDay:O$e,sch_periodEvery:D$e,sch_periodEveryDay:A$e,sch_periodEveryMonth:I$e,sch_periodEveryWeek:M$e,sch_periodEveryYear:P$e,sch_periodHours:N$e,sch_periodMinutes:R$e,sch_periodMonth:j$e,sch_periodMonthly:L$e,sch_periodOnce:z$e,sch_periodSpecificMonths:F$e,sch_periodWeek:B$e,sch_periodWeekdays:W$e,sch_periodWeekend:H$e,sch_periodWeekly:U$e,sch_periodWorkdays:V$e,sch_periodYear:q$e,sch_periodYearly:G$e,sch_specificTime:X$e,sch_time:J$e,sch_to:Y$e,sch_valid:K$e,sch_validFrom:Z$e,sch_validTo:Q$e,sch_wholeDay:eke,sch_yearEveryMonth:tke},nke="Добавить",oke="Отмена",ake="Категории",ike="Проверено",ske="Удалить",lke="Закрыть",cke="Коммерческая",dke="Настроить",uke="Соединение установлено",pke="скопировано",hke="Создать",fke="Обрезать",mke="Delete",gke="Удалить",vke="Отказаться",yke="Отключено",_ke="Ошибка",bke="Фильтр",wke="Пятница",xke="Широта",Ske="Долгота",Cke="Сообщение",$ke="Понедельник",kke="Имя",Eke="Объекты",Tke="Ok",Oke="Продукт",Dke="Повторение",Ake="Заменять",Ike="Начало",Mke="Суббота",Pke="Сохранить",Nke="выбранный",Rke="Состояния",jke="Воскресенье",Lke="Четверг",zke="Времени",Fke="Вторник",Bke="Обновить",Wke="Годен до",Hke="Значение",Uke="Версия",Vke="Среда",qke="Ширина",Gke="Да",Xke="разное",Jke="Каждый может читать объект",Yke="Каждый может читать состояние",Kke="Каждый может написать объект",Zke="Каждый может написать состояние",Qke="Группа может читать объект",eEe="Группа может читать состояние",tEe="Группа может писать объект",rEe="Группа может записывать состояние",nEe="Владелец может читать объект",oEe="Владелец может читать состояние",aEe="Владелец может писать объект",iEe="Владелец может писать состояние",sEe="Кнопки",lEe="Изменено с",cEe="Закрыть",dEe="Создать логическое состояние",uEe="Создать канал",pEe="Создать устройство",hEe="Создать состояние номера",fEe="Создать состояние",mEe="Создать состояние строки",gEe="д.",vEe="Пт",yEe="Пн",_Ee="Сб",bEe="Вс",wEe="Чт",xEe="Вт",SEe="Ср",CEe="Экспертный режим",$Ee="Все файлы",kEe="Аудио",EEe="Код/JSON",TEe="Картинки",OEe="Текст",DEe="видео",AEe="настройки",IEe="без",MEe="функция",PEe="ID",NEe="Имя",REe="роль",jEe="комната",LEe="Тип",zEe="Неверные настройки",FEe="Последнее изменение",BEe="локально",WEe="Апр",HEe="Авг",UEe="Дек",VEe="Фев",qEe="Янв",GEe="Июл",XEe="Июн",JEe="Май",YEe="Мрт",KEe="Ноя",ZEe="Окт",QEe="Сен",e2e="Апр",t2e="Авг",r2e="Дек",n2e="Фев",o2e="Янв",a2e="Июнь",i2e="Июль",s2e="Май",l2e="Март",c2e="Ноя",d2e="Окт",u2e="Сен",p2e="ничего",h2e="Объект изменен",f2e="Последний раз объект изменен в",m2e="Настройки из другого адаптера %s",g2e="Код качества",v2e="повтор",y2e="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",_2e="Состояние изменено",b2e="Объект изменен с",w2e="Отметка времени",x2e="Подтверждено",S2e="Комментарий",C2e="Скопируйте значение состояния",$2e="Пользовательские настройки",k2e="Удалить объект",E2e="Редактировать объект",T2e="Изменить значение состояния",O2e="От",D2e="Последнее изменение",A2e="Качество",I2e="Отметка времени",M2e="пользователь",P2e="Значение",N2e="Значение",R2e="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",j2e="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",L2e="CRON",z2e="Дата",F2e="Даты",B2e="День",W2e="День недели",H2e="каждый(ую/ые)",U2e="каждый N день",V2e="каждый N-й день недели",q2e="каждый N день недели",G2e="каждые N часов",X2e="каждые N минут",J2e="каждые N месяцев",Y2e="каждые N секунд",K2e="каждый день",Z2e="Каждый день недели",Q2e="каждый день недели",eTe="каждый час",tTe="каждую минуту",rTe="каждый месяц",nTe="каждую секунду",oTe="От",aTe="часы",iTe="Интервал",sTe="Интервал между",lTe="Неверный CRON",cTe="минуты",dTe="Месяцы",uTe="один раз",pTe="Период",hTe="секунды",fTe="Просто",mTe="Конкретное время",gTe="конкретные даты",vTe="конкретный день(а) недели",yTe="конкретный день недели",_Te="конкретные часы",bTe="конкретные минуты",wTe="конкретные месяцы",xTe="конкретные секунды",STe="Время",CTe="До",$Te="Форма",kTe="все",ETe="днём",TTe="ночью",OTe="Рассвет",DTe="Сумерки",ATe="Золотой час",ITe="Конец золотого часа",MTe="Надир",PTe="Морской рассвет",NTe="Морские сумерки",RTe="Ночь",jTe="Конец ночи",LTe="Солнечный полдень",zTe="Восход",FTe="Восход солнца",BTe="Заход солнца",WTe="Начало заката",HTe="дата",UTe="в %s",VTe="каждый день",qTe="каждый час",GTe="каждую минуту",XTe="каждый месяц",JTe="каждый %s день",YTe="каждый %s часов",KTe="каждые %s минут",ZTe="каждые %s месяцев",QTe="каждые %s недель",eOe="каждые %s лет",tOe="каждую неделю",rOe="каждый год",nOe="от %s до %s",oOe="никогда",aOe="%s %s",iOe="%s и %s",sOe="в каждый день",lOe="%s",cOe="%s и %s",dOe="%s",uOe="%s и %s",pOe="на выходных",hOe="в рабочие дни",fOe="не будет больше выполняться, потому что начало в прошлом",mOe="%s",gOe="%s",vOe="Выполнить с",yOe="%s",_Oe="каждый",bOe="Конкретное время",wOe="от",xOe="От и до",SOe="Интервал времени",COe="инвертировать",$Oe="никакой",kOe="на",EOe="период",TOe="Ежедневно",OOe="Даты",DOe="День",AOe="каждый",IOe="Каждый день",MOe="Каждый месяц",POe="Каждую неделю",NOe="Каждый год",ROe="часов",jOe="минут",LOe="месяц",zOe="ежемесячно",FOe="однажды",BOe="Конкретные месяцы",WOe="Неделю",HOe="Будние дни",UOe="выходные",VOe="еженедельно",qOe="Рабочие дни",GOe="Год",XOe="каждый год",JOe="Конкретное время",YOe="Время",KOe="в",ZOe="действительный",QOe="от",eDe="в",tDe="Весь день",rDe="каждый месяц",nDe={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию","ra_Add new child object to selected parent":"Добавить новый дочерний объект к выбранному родительскому объекту","ra_Add objects tree from JSON file":"Добавить дерево объектов из файла JSON","ra_Add row":"Добавить ряд","ra_Advanced options":"Расширенные настройки","ra_All items are filtered out":"Все элементы отфильтрованы","ra_All objects":"Все объекты",ra_Append:nke,"ra_Append %s entries or replace existing?":"Добавить записи %s или заменить существующие?","ra_Append or replace?":"Дополнить или заменить?","ra_Are you sure?":"Вы уверены?","ra_Auto (no custom columns)":"Авто (без настраиваемых столбцов)","ra_Back to %s":"Вернуться к %s","ra_Background image":"Фоновая картинка",ra_Cancel:oke,"ra_Cannot add items with set filter":"Невозможно добавить элементы с установленным фильтром","ra_Cannot decode license":"Не могу декодировать лицензию","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Невозможно определить местоположение: системные настройки пусты, а обнаружение GPS отключено в браузере.",'ra_Cannot find "%s"':'Не могу найти "%s"','ra_Cannot read "%s"':'Не могу прочитать "%s"',"ra_Cannot read licenses: %s":"Невозможно прочитать лицензии: %s","ra_Cannot retrieve options, as instance is offline":"Невозможно получить параметры, так как экземпляр находится в автономном режиме.","ra_Cannot update attribute, because not found in the object":"Невозможно обновить атрибут, потому что он не найден в объекте","ra_Cannot upload":"Невозможно загрузить",ra_Categories:ake,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:ike,ra_Clear:ske,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Clone current row":"Клонировать текущую строку",ra_Close:lke,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:cke,ra_Configure:dke,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:uke,ra_Copied:pke,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:hke,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:fke,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:mke,ra_Delete:gke,"ra_Delete (no confirm for 5 mins)":"Удалить (без подтверждения в течение 5 минут)","ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние",ra_Discard:vke,ra_Disconnected:yke,"ra_Do not export values of states":"Не экспортировать значения состояний","ra_Do not use let's encrypt":"Не использовать Let’s Encrypt","ra_Double click to reset table layout":"Дважды щелкните, чтобы сбросить макет таблицы","ra_Drag 'n' drop some files here, or click to select files":"Перетащите сюда несколько файлов или щелкните, чтобы выбрать файлы","ra_Drop file here":"Перетащите файл сюда","ra_Drop the files here...":"Перетащите файл сюда ...","ra_Duplicate name":"Повторяющееся имя","ra_Edit ACL":"Изменить ACL-список","ra_Edit alias":"Изменить псевдоним","ra_Edit custom config":"Редактировать настраиваемую конфигурацию","ra_Edit function":"Изменить функцию","ra_Edit object field":"Поле редактирования объекта","ra_Edit role":"Изменить роль","ra_Edit room":"Редактировать комнату","ra_Edit value":"Изменить значение",ra_Error:_ke,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Export data to %s file":"Экспорт данных в файл %s","ra_Failed to open JSON File":"Не удалось открыть файл JSON","ra_Fallback custom certificates":"Резервные пользовательские сертификаты","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",ra_Filter:bke,"ra_Filter files":"Фильтровать файлы","ra_Folder name":"Имя папки","ra_Folder → Channel → State":"Папка → Канал → Состояние","ra_Folder → Device → Channel → State":"Папка → Устройство → Канал → Состояние","ra_Folder → State":"Папка → Состояние","ra_Folders always first":"Папки всегда на первом месте",ra_Friday:wke,"ra_Good luck":"Удачи","ra_Hide empty folders":"Скрыть пустые папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Если в папке не будет создан файл, он исчезнет после закрытия браузера.","ra_Import data from %s file":"Импорт данных из файла %s","ra_Import from %s":"Импорт из %s","ra_Instance %s is alive":"Экземпляр %s работает","ra_Instance %s is not alive":"Экземпляр %s не работает","ra_Instance is not alive":"Экземпляр не живой","ra_Invalid CRON":"Неверный CRON","ra_Invalid JSON":"Неверный JSON","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:xke,"ra_License %s":"Лицензия %s","ra_License agreement":"Лицензионное соглашение","ra_License does not exist":"Лицензия не существует","ra_License expired on %s":"Срок действия лицензии истек %s",'ra_License for other product "%s"':'Лицензия на другой продукт "%s"',"ra_License is for version %s, but required version is %s.":"Лицензия предназначена для версии %s, но необходима версия %s.","ra_License must be converted":"Лицензия должна быть преобразована в более новую версию. Вы можете сделать это в своем профиле на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Лицензия не найдена в диспетчере лицензий. Вы хотите обновить лицензии от iobroker.net?","ra_Listen on all IPs":"Слушать на всех IP","ra_Load configuration from file":"Загрузить конфигурацию из файла",ra_Longitude:Ske,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:Cke,ra_Monday:$ke,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:kke,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from the backend":"Нет ответа от бэкэнда",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Не-эксперты могут создавать новые объекты только в «0_userdata.0» или «alias.0».","ra_Not a number":"Не число",ra_Objects:Eke,ra_Ok:Tke,"ra_On weekdays":"На выходных","ra_Only following structures of objects are available:":"Доступны только следующие структуры объектов:","ra_Only selected":"Только выбранные","ra_Owner group":"Группа владельцев","ra_Owner user":"Пользователь-владелец","ra_Passwords are not equal!":"Пароли не равны!","ra_Place your files here or click here to open the browse dialog":"Поместите свои файлы сюда или щелкните здесь, чтобы открыть диалоговое окно выбора","ra_Please confirm":"Пожалуйста подтвердите","ra_Please create license":"Пожалуйста, создайте лицензию","ra_Please enter the license":"Пожалуйста, введите лицензию","ra_Please select file...":"Пожалуйста, выберите файл...","ra_Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","ra_Port could be used by %s":"Порт может использоваться %s","ra_Port is already used by %s":"Порт уже используется %s","ra_Private certificate":"Частный сертификат",ra_Product:Oke,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Repeat:Dke,ra_Replace:Ake,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:Ike,ra_Saturday:Mke,ra_Save:Pke,"ra_Save and close":"Сохранить и закрыть","ra_Save configuration to file":"Сохранить конфигурацию в файл","ra_Save objects tree as JSON file":"Сохранить дерево объектов как файл JSON","ra_Select all":"Выбрать все","ra_Select color":"Выберите цвет","ra_Select predefined icon":"Выберите предопределенный значок","ra_Select type of export":"Выберите тип экспорта",ra_Selected:Nke,"ra_Selected %s object(s)":"Объектов: %s","ra_Serial number (UUID)":"Серийный номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Серийный номер (UUID) «%s» в лицензии предназначен для другого устройства.","ra_Show all folders":"Показать все папки","ra_Show lines between rows":"Показать линии между строками","ra_Show/Hide object descriptions":"Показать/скрыть описания объектов","ra_Show/hide filter input":"Показать/скрыть ввод фильтра","ra_Some data are not stored. Discard?":"Некоторые данные не сохранились. Отказаться?",ra_States:Rke,"ra_Suitable license not found in license manager":"Подходящая лицензия не найдена в менеджере лицензий",ra_Sunday:jke,"ra_Suppress question for next %s minutes":"Скрыть вопрос на следующие %s минут(ы)","ra_System language":"Язык системы","ra_Take browser position":"Взять позицию из браузера","ra_Take position from system settings":"Занять позицию из системных настроек",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Эксперты могут создавать объекты везде, кроме второго уровня (например, «vis.0» или «javascript.0»).","ra_The page you are looking for was not found":"Страница, которую вы ищете, не найдена","ra_The schedule will be executed every minute. Are you sure?":"Расписание будет выполняться каждую минуту. Вы уверены?","ra_The schedule will be executed every second. Are you sure?":"Расписание будет выполняться каждую секунду. Вы уверены?",ra_Thursday:Lke,ra_Timestamp:zke,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:Fke,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:Bke,"ra_Upload file":"Загрузить файл","ra_Use all available let's encrypt certificates":"Использовать все доступные сертификаты Let’s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Используйте адаптер iobroker.acme для сертификатов letsencrypt","ra_Use system settings for position":"Использовать системные настройки для позиции","ra_Used system settings":"Системные настройки","ra_User files":"Файлы пользователя",ra_ValidTill:Wke,ra_Value:Hke,ra_Version:Uke,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:Vke,ra_Width:qke,ra_Yes:Gke,"ra_You can export all objects or just the selected branch.":"Вы можете экспортировать все объекты или только выбранную ветвь.","ra_You can filter entries by entering here some text":"Вы можете отфильтровать записи, введя здесь текст",ra___different__:Xke,ra_aclEveryone_read_object:Jke,ra_aclEveryone_read_state:Yke,ra_aclEveryone_write_object:Kke,ra_aclEveryone_write_state:Zke,ra_aclGroup_read_object:Qke,ra_aclGroup_read_state:eEe,ra_aclGroup_write_object:tEe,ra_aclGroup_write_state:rEe,ra_aclOwner_read_object:nEe,ra_aclOwner_read_state:oEe,ra_aclOwner_write_object:aEe,ra_aclOwner_write_state:iEe,ra_buttons:sEe,ra_changedFrom:lEe,ra_close:cEe,ra_create_boolean_state:dEe,ra_create_channel:uEe,ra_create_device:pEe,ra_create_number_state:hEe,ra_create_state:fEe,ra_create_string_state:mEe,ra_daysShortText:gEe,ra_dow_Fr:vEe,ra_dow_Mo:yEe,ra_dow_Sa:_Ee,ra_dow_Su:bEe,ra_dow_Th:wEe,ra_dow_Tu:xEe,ra_dow_We:SEe,ra_expertMode:CEe,ra_fileType_all:$Ee,ra_fileType_audio:kEe,ra_fileType_code:EEe,ra_fileType_images:TEe,ra_fileType_txt:OEe,ra_fileType_video:DEe,"ra_fileType_video,":"видео",ra_filter_customs:AEe,ra_filter_customs_without:IEe,ra_filter_func:MEe,ra_filter_id:PEe,ra_filter_name:NEe,ra_filter_role:REe,ra_filter_room:jEe,ra_filter_type:LEe,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:zEe,ra_lastChange:FEe,ra_locally:BEe,ra_month_Apr:WEe,ra_month_Aug:HEe,ra_month_Dec:UEe,ra_month_Feb:VEe,ra_month_Jan:qEe,ra_month_Jul:GEe,ra_month_Jun:XEe,ra_month_Mai:JEe,ra_month_Mar:YEe,ra_month_Nov:KEe,ra_month_Oct:ZEe,ra_month_Sep:QEe,ra_months_Apr:e2e,ra_months_Aug:t2e,ra_months_Dec:r2e,ra_months_Feb:n2e,ra_months_Jan:o2e,ra_months_Jul:a2e,ra_months_Jun:i2e,ra_months_Mai:s2e,ra_months_Mar:l2e,ra_months_Nov:c2e,ra_months_Oct:d2e,ra_months_Sep:u2e,ra_none:p2e,ra_object_changed_by:h2e,ra_object_changed_by_user:f2e,ra_otherConfig:m2e,ra_qualityCode:g2e,ra_repeat:v2e,ra_select_folder_hint:y2e,ra_state_changed_by:_2e,ra_state_changed_from:b2e,ra_timestamp:w2e,ra_tooltip_ack:x2e,ra_tooltip_comment:S2e,ra_tooltip_copyState:C2e,ra_tooltip_customConfig:$2e,ra_tooltip_deleteObject:k2e,ra_tooltip_editObject:E2e,ra_tooltip_editState:T2e,ra_tooltip_from:O2e,ra_tooltip_lc:D2e,ra_tooltip_quality:A2e,ra_tooltip_ts:I2e,ra_tooltip_user:M2e,ra_tooltip_value:P2e,"ra_use seconds":"секунды",ra_val:N2e,"ra_via internet":"через интернет",ra_warning_every_minute:R2e,ra_warning_every_second:j2e,sc_cron:L2e,sc_date:z2e,sc_dates:F2e,sc_dow:B2e,sc_dows:W2e,sc_every:H2e,sc_everyN_dates:U2e,sc_everyN_dow:V2e,sc_everyN_dows:q2e,sc_everyN_hours:G2e,sc_everyN_minutes:X2e,sc_everyN_months:J2e,sc_everyN_seconds:Y2e,sc_every_dates:K2e,sc_every_dow:Z2e,sc_every_dows:Q2e,sc_every_hours:eTe,sc_every_minutes:tTe,sc_every_months:rTe,sc_every_seconds:nTe,sc_from:oTe,sc_hours:aTe,sc_interval:iTe,sc_intervalBetween:sTe,sc_invalid_cron:lTe,sc_minutes:cTe,sc_months:dTe,sc_once:uTe,sc_period:pTe,sc_seconds:hTe,sc_simple:fTe,sc_specific:mTe,sc_specific_dates:gTe,sc_specific_dow:vTe,sc_specific_dows:yTe,sc_specific_hours:_Te,sc_specific_minutes:bTe,sc_specific_months:wTe,sc_specific_seconds:xTe,sc_time:STe,sc_to:CTe,sc_wizard:$Te,sch_all:kTe,sch_astroDay:ETe,sch_astroNight:TTe,sch_astro_dawn:OTe,sch_astro_dusk:DTe,sch_astro_goldenHour:ATe,sch_astro_goldenHourEnd:ITe,sch_astro_nadir:MTe,sch_astro_nauticalDawn:PTe,sch_astro_nauticalDusk:NTe,sch_astro_night:RTe,sch_astro_nightEnd:jTe,sch_astro_solarNoon:LTe,sch_astro_sunrise:zTe,sch_astro_sunriseEnd:FTe,sch_astro_sunset:BTe,sch_astro_sunsetStart:WTe,sch_at:HTe,sch_desc_atTime:UTe,sch_desc_everyDay:VTe,sch_desc_everyHour:qTe,sch_desc_everyMinute:GTe,sch_desc_everyMonth:XTe,sch_desc_everyNDay:JTe,sch_desc_everyNHours:YTe,sch_desc_everyNMinutes:KTe,sch_desc_everyNMonths:ZTe,sch_desc_everyNWeeks:QTe,sch_desc_everyNYears:eOe,sch_desc_everyWeek:tOe,sch_desc_everyYear:rOe,sch_desc_intervalFromTo:nOe,sch_desc_never:oOe,sch_desc_onDate:aOe,sch_desc_onDates:iOe,sch_desc_onEveryDate:sOe,sch_desc_onMonth:lOe,sch_desc_onMonths:cOe,sch_desc_onWeekday:dOe,sch_desc_onWeekdays:uOe,sch_desc_onWeekends:pOe,sch_desc_onWorkdays:hOe,sch_desc_onceInPast:fOe,sch_desc_once_on:mOe,sch_desc_validFrom:gOe,sch_desc_validFromTo:vOe,sch_desc_validTo:yOe,sch_every:_Oe,sch_exactTime:bOe,sch_from:wOe,sch_fromTo:xOe,sch_intervalTime:SOe,sch_invert:COe,sch_no_one:$Oe,sch_on:kOe,sch_period:EOe,sch_periodDaily:TOe,sch_periodDates:OOe,sch_periodDay:DOe,sch_periodEvery:AOe,sch_periodEveryDay:IOe,sch_periodEveryMonth:MOe,sch_periodEveryWeek:POe,sch_periodEveryYear:NOe,sch_periodHours:ROe,sch_periodMinutes:jOe,sch_periodMonth:LOe,sch_periodMonthly:zOe,sch_periodOnce:FOe,sch_periodSpecificMonths:BOe,sch_periodWeek:WOe,sch_periodWeekdays:HOe,sch_periodWeekend:UOe,sch_periodWeekly:VOe,sch_periodWorkdays:qOe,sch_periodYear:GOe,sch_periodYearly:XOe,sch_specificTime:JOe,sch_time:YOe,sch_to:KOe,sch_valid:ZOe,sch_validFrom:QOe,sch_validTo:eDe,sch_wholeDay:tDe,sch_yearEveryMonth:rDe},oDe="Acrescentar",aDe="Cancelar",iDe="Categorias",sDe="Verificado",lDe="Excluir",cDe="Perto",dDe="Comercial",uDe="Configurar",pDe="Conectado",hDe="Copiado",fDe="Crio",mDe="Colheita",gDe="Delete",vDe="Excluir",yDe="Descartar",_De="Desconectado",bDe="Erro",wDe="Filtro",xDe="Sexta-feira",SDe="Latitude",CDe="Longitude",$De="mensagem",kDe="Segunda-feira",EDe="Nome",TDe="Objetos",ODe="Está bem",DDe="produtos",ADe="Repita",IDe="Substituir",MDe="Raiz",PDe="Sábado",NDe="Salve ",RDe="Selecionado",jDe="Estados",LDe="Domingo",zDe="Quinta-feira",FDe="Timestamp",BDe="Terça-feira",WDe="Atualizar",HDe="Válida até",UDe="Valor",VDe="Versão",qDe="Quarta-feira",GDe="Largura",XDe="Sim",JDe="diferente",YDe="Todos podem ler objetos",KDe="Todos podem ler o estado",ZDe="Todos podem escrever objetos",QDe="Todos podem escrever o estado",eAe="O grupo pode ler o objeto",tAe="O grupo pode ler o estado",rAe="O grupo pode escrever o objeto",nAe="O grupo pode escrever o estado",oAe="O proprietário pode ler o objeto",aAe="O proprietário pode ler o estado",iAe="O proprietário pode escrever o objeto",sAe="O proprietário pode escrever o estado",lAe="Botões",cAe="Mudou de",dAe="fechar",uAe="Criar estado booleano",pAe="Criar canal",hAe="Criar dispositivo",fAe="Criar estado numérico",mAe="Criar estado",gAe="Criar estado de string",vAe="d.",yAe="Fr",_Ae="Mo",bAe="Sa",wAe="Su",xAe="º",SAe="Tu",CAe="Nós",$Ae="Modo especialista",kAe="Todos os arquivos",EAe="áudio",TAe="Código/JSON",OAe="Imagens",DAe="Texto",AAe="Vídeo",IAe="Configurações",MAe="sem",PAe="Função",NAe="ID",RAe="Nome",jAe="Papel (Função)",LAe="Quarto",zAe="Tipo",FAe="Configurações inválidas",BAe="Última mudança",WAe="localmente",HAe="abril",UAe="agosto",VAe="dezembro",qAe="fevereiro",GAe="janeiro",XAe="julho",JAe="junho",YAe="Mai",KAe="março",ZAe="novembro",QAe="outubro",eIe="setembro",tIe="abril",rIe="agosto",nIe="dezembro",oIe="fevereiro",aIe="janeiro",iIe="julho",sIe="junho",lIe="Mai",cIe="março",dIe="novembro",uIe="outubro",pIe="setembro",hIe="Nenhum",fIe="Objeto alterado por",mIe="Objeto alterado pela última vez em",gIe="Configurações de outro adaptador %s",vIe="Código de qualidade",yIe="repetir",_Ie='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',bIe="Estado alterado por",wIe="Objeto alterado de",xIe="Timestamp",SIe="Confirmado",CIe="Comente",$Ie="Copie o valor do estado",kIe="Opções customizadas",EIe="Excluir objeto",TIe="Editar objeto",OIe="Edite o valor do estado",DIe="De",AIe="Última alteração",IIe="Qualidade",MIe="Timestamp",PIe="Usuário",NIe="Valor",RIe="Valor",jIe="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",LIe="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",zIe="CRON",FIe="Data",BIe="Dias",WIe="Dia",HIe="Dia da semana",UIe="todos",VIe="a cada N dias",qIe="todo enésimo dia da semana",GIe="todos os N dias da semana",XIe="a cada N horas",JIe="a cada N minutos",YIe="a cada N meses",KIe="a cada N segundos",ZIe="todo dia",QIe="todos os dias da semana",eMe="todos os dias da semana",tMe="toda hora",rMe="todo minuto",nMe="todo mês",oMe="todo segundo",aMe="de",iMe="horas",sMe="intervalo",lMe="intervalo entre",cMe="CRON inválido",dMe="minutos",uMe="meses",pMe="uma vez",hMe="período",fMe="segundos",mMe="simples",gMe="tempo específico",vMe="datas específicas",yMe="dia(s) específico(s) da semana",_Me="dia específico de semanas",bMe="horas específicas",wMe="minutos específicos",xMe="meses específicos",SMe="segundos específicos",CMe="tempo",$Me="para",kMe="assistente",EMe="tudo",TMe="dia astral",OMe="noite astral",DMe="amanhecer",AMe="anoitecer",IMe="hora dourada",MMe="Fim da hora dourada",PMe="nadir",NMe="Amanhecer náutico",RMe="Anoitecer náutico",jMe="noite",LMe="fim da noite",zMe="meio-dia solar",FMe="nascer do sol",BMe="fim do nascer do sol",WMe="pôr do sol",HMe="início do pôr do sol",UMe="às",VMe="em %s",qMe="todo dia",GMe="toda hora",XMe="todo minuto",JMe="todo mês",YMe="a cada %s dias",KMe="a cada %s horas",ZMe="a cada %s minutos",QMe="a cada %s meses",ePe="a cada %s semanas",tPe="a cada %s anos",rPe="toda semana",nPe="todo ano",oPe="de %s para %s",aPe="nunca",iPe="em %s de %s",sPe="em %s e %s de",lPe="em toda data de",cPe="%s",dPe="%s e %s",uPe="em %s",pPe="em %s e %s",hPe="nos fins de semana",fPe="em dias úteis",mPe="não será mais executado, porque o começo está no passado",gPe="em %s",vPe="de %s",yPe="Executar de até",_Pe="até %s",bPe="cada",wPe="tempo específico",xPe="de",SPe="de a´t",CPe="tempo de intervalo",$Pe="invertido",kPe="nenhum",EPe="em",TPe="período",OPe="diariamente",DPe="datas",APe="dia",IPe="todos",MPe="todo dia",PPe="todo mês",NPe="toda semana",RPe="todo ano",jPe="horas",LPe="minutos",zPe="mês",FPe="por mês",BPe="uma vez",WPe="meses específicos",HPe="semana",UPe="dias úteis",VPe="final de semana",qPe="semanal",GPe="dias úteis",XPe="ano",JPe="anual",YPe="tempo específico",KPe="tempo",ZPe="para",QPe="válido",eNe="de",tNe="para",rNe="dia inteiro",nNe="todo mês",oNe={"ra_%s links from aliases":"%s links de aliases","ra_%s object(s) processed":"%s objeto(s) processado(s)","ra_%s was imported":"%s foi importado","ra_Accept license":"Aceitar licença","ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar árvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Opções avançadas","ra_All items are filtered out":"Todos os itens são filtrados","ra_All objects":"Todos os objetos",ra_Append:oDe,"ra_Append %s entries or replace existing?":"Acrescentar %s entradas ou substituir as existentes?","ra_Append or replace?":"Acrescentar ou substituir?","ra_Are you sure?":"Você tem certeza?","ra_Auto (no custom columns)":"Auto (sem colunas personalizadas)","ra_Back to %s":"Voltar para %s","ra_Background image":"Imagem de fundo",ra_Cancel:aDe,"ra_Cannot add items with set filter":"Não é possível adicionar itens com filtro definido","ra_Cannot decode license":"Não é possível decodificar a licença","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Não é possível determinar a posição: as configurações do sistema estão vazias e a detecção de GPS está desativada no navegador",'ra_Cannot find "%s"':'Não foi possível encontrar "%s"','ra_Cannot read "%s"':'Não é possível ler "%s"',"ra_Cannot read licenses: %s":"Não é possível ler licenças: %s","ra_Cannot retrieve options, as instance is offline":"Não é possível recuperar opções, pois a instância está off-line","ra_Cannot update attribute, because not found in the object":"Não é possível atualizar o atributo, porque não foi encontrado no objeto","ra_Cannot upload":"Não é possível fazer upload",ra_Categories:iDe,"ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel → State":"Canal → Estado","ra_Check license":"Verifique a licença",ra_Checked:sDe,ra_Clear:lDe,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Clone current row":"Clonar linha atual",ra_Close:cDe,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:dDe,ra_Configure:uDe,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:pDe,ra_Copied:hDe,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:fDe,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:mDe,"ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir funções","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programação ...",ra_Del:gDe,ra_Delete:vDe,"ra_Delete (no confirm for 5 mins)":"Excluir (sem confirmação por 5 minutos)","ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:yDe,ra_Disconnected:_De,"ra_Do not export values of states":"Não exporte valores de estados","ra_Do not use let's encrypt":"Não use vamos criptografar","ra_Double click to reset table layout":"Clique duas vezes para redefinir o layout da tabela","ra_Drag 'n' drop some files here, or click to select files":"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos","ra_Drop file here":"Solte o arquivo aqui","ra_Drop the files here...":"Solte o arquivo aqui ...","ra_Duplicate name":"Nome duplicado","ra_Edit ACL":"Editar ACL","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuração personalizada","ra_Edit function":"Função de edição","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edição","ra_Edit value":"Editar valor",ra_Error:bDe,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","ra_Export data to %s file":"Exportar dados para o arquivo %s","ra_Failed to open JSON File":"Falha ao abrir arquivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"O arquivo é muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:wDe,"ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder → Channel → State":"Pasta → Canal → Estado","ra_Folder → Device → Channel → State":"Pasta → Dispositivo → Canal → Estado","ra_Folder → State":"Pasta → Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:xDe,"ra_Good luck":"Boa sorte","ra_Hide empty folders":"Esconder pastas vazias","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nenhum arquivo for criado na pasta, ele desaparecerá depois que o navegador for fechado","ra_Import data from %s file":"Importar dados do arquivo %s","ra_Import from %s":"Importar de %s","ra_Instance %s is alive":"O %s da instância está ativo","ra_Instance %s is not alive":"O %s da instância não está ativo","ra_Instance is not alive":"A instância não está ativa","ra_Invalid CRON":"CRON inválido","ra_Invalid JSON":"JSON inválido","ra_Invalid answer from server":"Resposta inválida do servidor","ra_Invalid parent folder!":"Pasta pai inválida!","ra_Invalid structure":"Estrutura inválida","ra_JSON editor":"Editor JSON","ra_Last change":"Última mudança",ra_Latitude:SDe,"ra_License %s":"Licença %s","ra_License agreement":"Contrato de licença","ra_License does not exist":"A licença não existe","ra_License expired on %s":"A licença expirou em %s",'ra_License for other product "%s"':'Licença para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licença é para a versão %s, mas a versão necessária é %s.","ra_License must be converted":"A licença deve ser convertida para uma versão mais recente. Você pode fazê-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licença não encontrada no gerenciador de licenças. Deseja atualizar as licenças do iobroker.net?","ra_Listen on all IPs":"Ouça em todos os IPs","ra_Load configuration from file":"Carregar configuração do arquivo",ra_Longitude:CDe,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:$De,ra_Monday:kDe,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:EDe,"ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licença encontrada no gerenciador de licenças","ra_No response from the backend":"Nenhuma resposta do backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Os não especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"Não é um número",ra_Objects:TDe,ra_Ok:ODe,"ra_On weekdays":"Nos dias úteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos estão disponíveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo proprietário","ra_Owner user":"Usuário proprietário","ra_Passwords are not equal!":"As senhas não são iguais!","ra_Place your files here or click here to open the browse dialog":"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navegação","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licença","ra_Please enter the license":"Por favor, insira a licença","ra_Please select file...":"Selecione o arquivo...","ra_Please select object ID...":"Selecione o ID do objeto ...","ra_Port could be used by %s":"A porta pode ser usada por %s","ra_Port is already used by %s":"A porta já está sendo usada por %s","ra_Private certificate":"certificado privado",ra_Product:DDe,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Repeat:ADe,ra_Replace:IDe,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:MDe,ra_Saturday:PDe,ra_Save:NDe,"ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configuração em arquivo","ra_Save objects tree as JSON file":"Salvar árvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o ícone predefinido","ra_Select type of export":"Selecione o tipo de exportação",ra_Selected:RDe,"ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"Número de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O número de série (UUID) "%s" na licença é para outro dispositivo.',"ra_Show all folders":"Mostrar todas as pastas","ra_Show lines between rows":"Mostrar linhas entre as linhas","ra_Show/Hide object descriptions":"Mostrar/ocultar descrições de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados não são armazenados. Descartar?",ra_States:jDe,"ra_Suitable license not found in license manager":"Licença adequada não encontrada no gerenciador de licenças",ra_Sunday:LDe,"ra_Suppress question for next %s minutes":"Suprimir pergunta nos próximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posição do navegador","ra_Take position from system settings":"Tomar posição a partir das configurações do sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Os especialistas podem criar objetos em qualquer lugar, exceto no segundo nível (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A página que você está procurando não foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento será executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento será executado a cada segundo. Tem certeza?",ra_Thursday:zDe,ra_Timestamp:FDe,"ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualização dos estados","ra_Toggle view mode":"Alternar modo de visualização","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:BDe,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:WDe,"ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados disponíveis vamos criptografar","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use o adaptador iobroker.acme para certificados letsencrypt","ra_Use system settings for position":"Use as configurações do sistema para a posição","ra_Used system settings":"Configurações do sistema usadas","ra_User files":"Arquivos do usuário",ra_ValidTill:HDe,ra_Value:UDe,ra_Version:VDe,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:qDe,ra_Width:GDe,ra_Yes:XDe,"ra_You can export all objects or just the selected branch.":"Você pode exportar todos os objetos ou apenas a ramificação selecionada.","ra_You can filter entries by entering here some text":"Você pode filtrar as entradas digitando aqui algum texto",ra___different__:JDe,ra_aclEveryone_read_object:YDe,ra_aclEveryone_read_state:KDe,ra_aclEveryone_write_object:ZDe,ra_aclEveryone_write_state:QDe,ra_aclGroup_read_object:eAe,ra_aclGroup_read_state:tAe,ra_aclGroup_write_object:rAe,ra_aclGroup_write_state:nAe,ra_aclOwner_read_object:oAe,ra_aclOwner_read_state:aAe,ra_aclOwner_write_object:iAe,ra_aclOwner_write_state:sAe,ra_buttons:lAe,ra_changedFrom:cAe,ra_close:dAe,ra_create_boolean_state:uAe,ra_create_channel:pAe,ra_create_device:hAe,ra_create_number_state:fAe,ra_create_state:mAe,ra_create_string_state:gAe,ra_daysShortText:vAe,ra_dow_Fr:yAe,ra_dow_Mo:_Ae,ra_dow_Sa:bAe,ra_dow_Su:wAe,ra_dow_Th:xAe,ra_dow_Tu:SAe,ra_dow_We:CAe,ra_expertMode:$Ae,ra_fileType_all:kAe,ra_fileType_audio:EAe,ra_fileType_code:TAe,ra_fileType_images:OAe,ra_fileType_txt:DAe,ra_fileType_video:AAe,"ra_fileType_video,":"Vídeo",ra_filter_customs:IAe,ra_filter_customs_without:MAe,ra_filter_func:PAe,ra_filter_id:NAe,ra_filter_name:RAe,ra_filter_role:jAe,ra_filter_room:LAe,ra_filter_type:zAe,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:FAe,ra_lastChange:BAe,ra_locally:WAe,ra_month_Apr:HAe,ra_month_Aug:UAe,ra_month_Dec:VAe,ra_month_Feb:qAe,ra_month_Jan:GAe,ra_month_Jul:XAe,ra_month_Jun:JAe,ra_month_Mai:YAe,ra_month_Mar:KAe,ra_month_Nov:ZAe,ra_month_Oct:QAe,ra_month_Sep:eIe,ra_months_Apr:tIe,ra_months_Aug:rIe,ra_months_Dec:nIe,ra_months_Feb:oIe,ra_months_Jan:aIe,ra_months_Jul:iIe,ra_months_Jun:sIe,ra_months_Mai:lIe,ra_months_Mar:cIe,ra_months_Nov:dIe,ra_months_Oct:uIe,ra_months_Sep:pIe,ra_none:hIe,ra_object_changed_by:fIe,ra_object_changed_by_user:mIe,ra_otherConfig:gIe,ra_qualityCode:vIe,ra_repeat:yIe,ra_select_folder_hint:_Ie,ra_state_changed_by:bIe,ra_state_changed_from:wIe,ra_timestamp:xIe,ra_tooltip_ack:SIe,ra_tooltip_comment:CIe,ra_tooltip_copyState:$Ie,ra_tooltip_customConfig:kIe,ra_tooltip_deleteObject:EIe,ra_tooltip_editObject:TIe,ra_tooltip_editState:OIe,ra_tooltip_from:DIe,ra_tooltip_lc:AIe,ra_tooltip_quality:IIe,ra_tooltip_ts:MIe,ra_tooltip_user:PIe,ra_tooltip_value:NIe,"ra_use seconds":"use segundos",ra_val:RIe,"ra_via internet":"via internet",ra_warning_every_minute:jIe,ra_warning_every_second:LIe,sc_cron:zIe,sc_date:FIe,sc_dates:BIe,sc_dow:WIe,sc_dows:HIe,sc_every:UIe,sc_everyN_dates:VIe,sc_everyN_dow:qIe,sc_everyN_dows:GIe,sc_everyN_hours:XIe,sc_everyN_minutes:JIe,sc_everyN_months:YIe,sc_everyN_seconds:KIe,sc_every_dates:ZIe,sc_every_dow:QIe,sc_every_dows:eMe,sc_every_hours:tMe,sc_every_minutes:rMe,sc_every_months:nMe,sc_every_seconds:oMe,sc_from:aMe,sc_hours:iMe,sc_interval:sMe,sc_intervalBetween:lMe,sc_invalid_cron:cMe,sc_minutes:dMe,sc_months:uMe,sc_once:pMe,sc_period:hMe,sc_seconds:fMe,sc_simple:mMe,sc_specific:gMe,sc_specific_dates:vMe,sc_specific_dow:yMe,sc_specific_dows:_Me,sc_specific_hours:bMe,sc_specific_minutes:wMe,sc_specific_months:xMe,sc_specific_seconds:SMe,sc_time:CMe,sc_to:$Me,sc_wizard:kMe,sch_all:EMe,sch_astroDay:TMe,sch_astroNight:OMe,sch_astro_dawn:DMe,sch_astro_dusk:AMe,sch_astro_goldenHour:IMe,sch_astro_goldenHourEnd:MMe,sch_astro_nadir:PMe,sch_astro_nauticalDawn:NMe,sch_astro_nauticalDusk:RMe,sch_astro_night:jMe,sch_astro_nightEnd:LMe,sch_astro_solarNoon:zMe,sch_astro_sunrise:FMe,sch_astro_sunriseEnd:BMe,sch_astro_sunset:WMe,sch_astro_sunsetStart:HMe,sch_at:UMe,sch_desc_atTime:VMe,sch_desc_everyDay:qMe,sch_desc_everyHour:GMe,sch_desc_everyMinute:XMe,sch_desc_everyMonth:JMe,sch_desc_everyNDay:YMe,sch_desc_everyNHours:KMe,sch_desc_everyNMinutes:ZMe,sch_desc_everyNMonths:QMe,sch_desc_everyNWeeks:ePe,sch_desc_everyNYears:tPe,sch_desc_everyWeek:rPe,sch_desc_everyYear:nPe,sch_desc_intervalFromTo:oPe,sch_desc_never:aPe,sch_desc_onDate:iPe,sch_desc_onDates:sPe,sch_desc_onEveryDate:lPe,sch_desc_onMonth:cPe,sch_desc_onMonths:dPe,sch_desc_onWeekday:uPe,sch_desc_onWeekdays:pPe,sch_desc_onWeekends:hPe,sch_desc_onWorkdays:fPe,sch_desc_onceInPast:mPe,sch_desc_once_on:gPe,sch_desc_validFrom:vPe,sch_desc_validFromTo:yPe,sch_desc_validTo:_Pe,sch_every:bPe,sch_exactTime:wPe,sch_from:xPe,sch_fromTo:SPe,sch_intervalTime:CPe,sch_invert:$Pe,sch_no_one:kPe,sch_on:EPe,sch_period:TPe,sch_periodDaily:OPe,sch_periodDates:DPe,sch_periodDay:APe,sch_periodEvery:IPe,sch_periodEveryDay:MPe,sch_periodEveryMonth:PPe,sch_periodEveryWeek:NPe,sch_periodEveryYear:RPe,sch_periodHours:jPe,sch_periodMinutes:LPe,sch_periodMonth:zPe,sch_periodMonthly:FPe,sch_periodOnce:BPe,sch_periodSpecificMonths:WPe,sch_periodWeek:HPe,sch_periodWeekdays:UPe,sch_periodWeekend:VPe,sch_periodWeekly:qPe,sch_periodWorkdays:GPe,sch_periodYear:XPe,sch_periodYearly:JPe,sch_specificTime:YPe,sch_time:KPe,sch_to:ZPe,sch_valid:QPe,sch_validFrom:eNe,sch_validTo:tNe,sch_wholeDay:rNe,sch_yearEveryMonth:nNe},aNe="toevoegen",iNe="Annuleer",sNe="Categorieën",lNe="Gecontroleerd",cNe="Verwijderen",dNe="Dichtbij",uNe="Reclame",pNe="Configureren",hNe="Verbonden",fNe="Gekopieerd",mNe="Creëer",gNe="Bijsnijden",vNe="Delete",yNe="Verwijderen",_Ne="Weggooien",bNe="Verbinding verbroken",wNe="Fout",xNe="Filter",SNe="Vrijdag",CNe="Breedtegraad",$Ne="Lengtegraad",kNe="Bericht",ENe="Maandag",TNe="Naam",ONe="Voorwerpen",DNe="OK",ANe="Product",INe="Herhaling",MNe="Vervangen",PNe="Wortel",NNe="Zaterdag",RNe="Sparen",jNe="Geselecteerd",LNe="Staten",zNe="Zondag",FNe="Donderdag",BNe="Tijdstempel",WNe="Dinsdag",HNe="Bijwerken",UNe="Geldig tot",VNe="Waarde",qNe="Versie",GNe="Woensdag",XNe="Breedte",JNe="Ja",YNe="verschillend",KNe="Iedereen kan object lezen",ZNe="Iedereen kan staat lezen",QNe="Iedereen kan object schrijven",eRe="Iedereen kan staat schrijven",tRe="Groep kan object lezen",rRe="Groep kan status lezen",nRe="Groep kan object schrijven",oRe="Groep kan staat schrijven",aRe="Eigenaar kan object lezen",iRe="Eigenaar kan staat lezen",sRe="Eigenaar kan object schrijven",lRe="Eigenaar kan staat schrijven",cRe="Toetsen",dRe="Veranderd van",uRe="dichtbij",pRe="Creëer een Booleaanse status",hRe="Kanaal maken",fRe="Apparaat maken",mRe="Nummerstatus maken",gRe="Staat creëren",vRe="Tekenreeksstatus maken",yRe="d.",_Re="Fr",bRe="Mo",wRe="Za",xRe="Zo",SRe="Th",CRe="Tu",$Re="Wij",kRe="Expert modus",ERe="Alle bestanden",TRe="Audio",ORe="Code/JSON",DRe="Afbeeldingen",ARe="Tekst",IRe="Video",MRe="Instellingen",PRe="zonder",NRe="Functie",RRe="ID",jRe="Naam",LRe="Rol",zRe="Kamer",FRe="Type",BRe="Ongeldige instellingen",WRe="Laatste wijziging",HRe="plaatselijk",URe="april",VRe="aug",qRe="dec",GRe="februari",XRe="jan",JRe="jul",YRe="juni",KRe="Mei",ZRe="mrt",QRe="nov",e5e="Okt",t5e="sept",r5e="april",n5e="aug",o5e="dec",a5e="februari",i5e="jan",s5e="jul",l5e="juni",c5e="Mei",d5e="mrt",u5e="nov",p5e="Okt",h5e="sept",f5e="geen",m5e="Object veranderd door",g5e="Object voor het laatst gewijzigd om",v5e="Instellingen van andere adapter %s",y5e="Kwaliteitscode",_5e="herhalen",b5e='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',w5e="Staat veranderd door",x5e="Object veranderd van",S5e="Tijdstempel",C5e="Erkende vlag",$5e="Opmerking",k5e="Kopieer de statuswaarde",E5e="Aangepaste instellingen",T5e="Object verwijderen",O5e="Object bewerken",D5e="Bewerk de statuswaarde",A5e="Van",I5e="Laatst gewijzigd",M5e="Kwaliteit",P5e="Tijdstempel",N5e="Gebruiker",R5e="Waarde",j5e="Waarde",L5e="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",z5e="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",F5e="CRON",B5e="Datum",W5e="data",H5e="Dag",U5e="Dag van de week",V5e="elk",q5e="elke N dagen",G5e="elke N-de dag van de week",X5e="elke N dag van de week",J5e="elke N uur",Y5e="elke N minuten",K5e="elke N maanden",Z5e="elke N seconden",Q5e="elke dag",e3e="elke dag van de week",t3e="elke dag van de week",r3e="elk uur",n3e="elke minuut",o3e="elke maand",a3e="elke seconde",i3e="Van",s3e="uren",l3e="Interval",c3e="Interval tussen",d3e="Ongeldige CRON",u3e="Notulen",p3e="maanden",h3e="Een keer",f3e="Periode",m3e="seconden",g3e="Gemakkelijk",v3e="Specifieke tijd",y3e="specifieke data",_3e="specifieke dag(en) van de week",b3e="specifieke dag van weken",w3e="specifieke uren",x3e="specifieke minuten",S3e="specifieke maanden",C3e="specifieke seconden",$3e="Tijd",k3e="Naar",E3e="tovenaar",T3e="allemaal",O3e="Astro-dag",D3e="Astro-nacht",A3e="Dageraad",I3e="Schemer",M3e="gouden uur",P3e="Gouden uur einde",N3e="Nadir",R3e="Nautische dageraad",j3e="Nautische schemering",L3e="Nacht",z3e="Nacht einde",F3e="Zonne middag",B3e="zonsopkomst",W3e="Sunrise einde",H3e="Zonsondergang",U3e="Zonsondergang start",V3e="Bij",q3e="op %s",G3e="elke dag",X3e="elk uur",J3e="elke minuut",Y3e="elke maand",K3e="elke %s dag",Z3e="elke %s uur",Q3e="elke %s minuten",eje="elke %s maanden",tje="elke %s weken",rje="elke %s jaar",nje="elke week",oje="elk jaar",aje="van %s tot %s",ije="nooit",sje="op %s van %s",lje="op %s en %s van",cje="op elke datum van",dje="%s",uje="%s en %s",pje="op %s",hje="op %s en %s",fje="in het weekend",mje="op werkdagen",gje="zal niet meer worden uitgevoerd, omdat start verleden tijd is",vje="op %s",yje="van %s",_je="Uitvoeren van tot",bje="tot %s",wje="elk",xje="Specifieke tijd",Sje="van",Cje="Van naar",$je="Interval tijd",kje="omkeren",Eje="geen",Tje="Aan",Oje="Periode",Dje="Dagelijks",Aje="data",Ije="Dag",Mje="elk",Pje="Elke dag",Nje="Elke maand",Rje="Elke week",jje="Elk jaar",Lje="uren",zje="Notulen",Fje="maand",Bje="Maandelijks",Wje="Een keer",Hje="Specifieke maanden",Uje="Week",Vje="Doordeweekse dagen",qje="Weekend",Gje="Wekelijks",Xje="werkdagen",Jje="Jaar",Yje="jaar-",Kje="Specifieke tijd",Zje="Tijd",Qje="naar",e4e="Geldig",t4e="van",r4e="naar",n4e="Hele dag",o4e="elke maand",a4e={"ra_%s links from aliases":"%s links van aliassen","ra_%s object(s) processed":"%s object(en) verwerkt","ra_%s was imported":"%s is geïmporteerd","ra_Accept license":"Accepteer licentie","ra_Add new child object to selected parent":"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object","ra_Add objects tree from JSON file":"Objectenboom toevoegen vanuit JSON-bestand","ra_Add row":"Voeg een rij toe","ra_Advanced options":"Geavanceerde mogelijkheden","ra_All items are filtered out":"Alle items zijn uitgefilterd","ra_All objects":"Alle objecten",ra_Append:aNe,"ra_Append %s entries or replace existing?":"%s ingangen toevoegen of bestaande vervangen?","ra_Append or replace?":"Toevoegen of vervangen?","ra_Are you sure?":"Weet je het zeker?","ra_Auto (no custom columns)":"Auto (geen aangepaste kolommen)","ra_Back to %s":"Terug naar %s","ra_Background image":"Achtergrond afbeelding",ra_Cancel:iNe,"ra_Cannot add items with set filter":"Kan geen items toevoegen met ingestelde filter","ra_Cannot decode license":"Kan licentie niet decoderen","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser",'ra_Cannot find "%s"':'Kan "%s" niet vinden','ra_Cannot read "%s"':'Kan "%s" niet lezen',"ra_Cannot read licenses: %s":"Kan licenties niet lezen: %s","ra_Cannot retrieve options, as instance is offline":"Kan opties niet ophalen, omdat instantie offline is","ra_Cannot update attribute, because not found in the object":"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden","ra_Cannot upload":"Kan niet uploaden",ra_Categories:sNe,"ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel → State":"Kanaal → Staat","ra_Check license":"Licentie controleren",ra_Checked:lNe,ra_Clear:cNe,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Clone current row":"Kloon de huidige rij",ra_Close:dNe,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:uNe,ra_Configure:pNe,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:hNe,ra_Copied:fNe,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:mNe,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:gNe,"ra_Define CRON...":"Definieer CRON...","ra_Define functions":"Definieer functies","ra_Define rooms":"Definieer kamers","ra_Define schedule":"Definieer schema","ra_Define schedule...":"Schema definiëren ...",ra_Del:vNe,ra_Delete:yNe,"ra_Delete (no confirm for 5 mins)":"Verwijderen (geen bevestiging gedurende 5 minuten)","ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat",ra_Discard:_Ne,ra_Disconnected:bNe,"ra_Do not export values of states":"Exporteer geen waarden van staten","ra_Do not use let's encrypt":"Gebruik geen let's encrypt","ra_Double click to reset table layout":"Dubbelklik om de tafelindeling te resetten","ra_Drag 'n' drop some files here, or click to select files":"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren","ra_Drop file here":"Zet het bestand hier neer","ra_Drop the files here...":"Zet het bestand hier neer...","ra_Duplicate name":"Dubbele naam","ra_Edit ACL":"ACL bewerken","ra_Edit alias":"Alias bewerken","ra_Edit custom config":"Bewerk aangepaste config","ra_Edit function":"Bewerkingsfunctie","ra_Edit object field":"Bewerk objectveld","ra_Edit role":"Rol bewerken","ra_Edit room":"Kamer bewerken","ra_Edit value":"Waarde bewerken",ra_Error:wNe,"ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Export data to %s file":"Exporteer gegevens naar %s bestand","ra_Failed to open JSON File":"JSON-bestand kan niet worden geopend","ra_Fallback custom certificates":"Fallback aangepaste certificaten","ra_File is too big. Max %sk allowed. Try use SVG.":"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",ra_Filter:xNe,"ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder → Channel → State":"Map → Kanaal → Staat","ra_Folder → Device → Channel → State":"Map → Apparaat → Kanaal → Staat","ra_Folder → State":"Map → Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:SNe,"ra_Good luck":"Veel geluk","ra_Hide empty folders":"Verberg lege mappen","ra_If no file will be created in the folder, it will disappear after the browser closed":"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten","ra_Import data from %s file":"Importeer gegevens uit %s bestand","ra_Import from %s":"Importeren uit %s","ra_Instance %s is alive":"Instantie %s leeft","ra_Instance %s is not alive":"Instantie %s is niet actief","ra_Instance is not alive":"Instantie leeft niet","ra_Invalid CRON":"Ongeldige CRON","ra_Invalid JSON":"Ongeldige JSON","ra_Invalid answer from server":"Ongeldig antwoord van de server","ra_Invalid parent folder!":"Ongeldige bovenliggende map!","ra_Invalid structure":"Ongeldige structuur","ra_JSON editor":"JSON-editor","ra_Last change":"Laatste wijziging",ra_Latitude:CNe,"ra_License %s":"Licentie %s","ra_License agreement":"Licentieovereenkomst","ra_License does not exist":"Licentie bestaat niet","ra_License expired on %s":"Licentie verlopen op %s",'ra_License for other product "%s"':'Licentie voor ander product "%s"',"ra_License is for version %s, but required version is %s.":"Licentie is voor versie %s, maar vereiste versie is %s.","ra_License must be converted":"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?","ra_Listen on all IPs":"Luister op alle IP's","ra_Load configuration from file":"Laad configuratie uit bestand",ra_Longitude:$Ne,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:kNe,ra_Monday:ENe,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:TNe,"ra_No data found in file":"Geen gegevens gevonden in bestand","ra_No one license found in license manager":"Geen enkele licentie gevonden in licentiebeheer","ra_No response from the backend":"Geen reactie van de backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Niet-experts mogen alleen nieuwe objecten maken in "0_userdata.0" of "alias.0".',"ra_Not a number":"Geen nummer",ra_Objects:ONe,ra_Ok:DNe,"ra_On weekdays":"Op weekdagen","ra_Only following structures of objects are available:":"Alleen de volgende structuren van objecten zijn beschikbaar:","ra_Only selected":"Alleen geselecteerd","ra_Owner group":"Eigenaarsgroep","ra_Owner user":"Eigenaar gebruiker","ra_Passwords are not equal!":"Wachtwoorden zijn niet gelijk!","ra_Place your files here or click here to open the browse dialog":"Plaats uw bestanden hier of klik hier om het bladervenster te openen","ra_Please confirm":"Bevestig alstublieft","ra_Please create license":"Maak een licentie aan","ra_Please enter the license":"Voer de licentie in","ra_Please select file...":"Selecteer bestand...","ra_Please select object ID...":"Selecteer object-ID ...","ra_Port could be used by %s":"Poort kan worden gebruikt door %s","ra_Port is already used by %s":"Poort wordt al gebruikt door %s","ra_Private certificate":"Privé certificaat",ra_Product:ANe,"ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Repeat:INe,ra_Replace:MNe,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:PNe,ra_Saturday:NNe,ra_Save:RNe,"ra_Save and close":"Opslaan en afsluiten","ra_Save configuration to file":"Sla de configuratie op in een bestand","ra_Save objects tree as JSON file":"Sla de objectenboom op als JSON-bestand","ra_Select all":"Selecteer alles","ra_Select color":"Selecteer kleur","ra_Select predefined icon":"Selecteer voorgedefinieerd pictogram","ra_Select type of export":"Selecteer het type export",ra_Selected:jNe,"ra_Selected %s object(s)":"Geselecteerde %s object(en)","ra_Serial number (UUID)":"Serienummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serienummer (UUID) "%s" in licentie is voor ander apparaat.',"ra_Show all folders":"Toon alle mappen","ra_Show lines between rows":"Toon lijnen tussen rijen","ra_Show/Hide object descriptions":"Toon/verberg objectbeschrijvingen","ra_Show/hide filter input":"Filterinvoer weergeven/verbergen","ra_Some data are not stored. Discard?":"Sommige gegevens worden niet opgeslagen. Weggooien?",ra_States:LNe,"ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:zNe,"ra_Suppress question for next %s minutes":"Vraag de volgende %s minuten onderdrukken","ra_System language":"Systeemtaal","ra_Take browser position":"Positie innemen vanuit de browser","ra_Take position from system settings":"Neem positie over van systeeminstellingen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. "Vis.0" of "javascript.0").',"ra_The page you are looking for was not found":"De pagina die u zoekt is niet gevonden","ra_The schedule will be executed every minute. Are you sure?":"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?","ra_The schedule will be executed every second. Are you sure?":"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?",ra_Thursday:FNe,ra_Timestamp:BNe,"ra_Toggle expert mode":"Schakel tussen expertmodus","ra_Toggle the states view":"Schakel de statusweergave in of uit","ra_Toggle view mode":"Schakelen tussen weergavemodus","ra_Too big":"Te groot","ra_Too small":"Te klein","ra_Transparent dialog":"Transparant dialoogvenster",ra_Tuesday:WNe,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:HNe,"ra_Upload file":"Upload bestand","ra_Use all available let's encrypt certificates":"Gebruik alle beschikbare Let's Encrypt-certificaten","ra_Use iobroker.acme adapter for letsencrypt certificates":"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten","ra_Use system settings for position":"Gebruik systeeminstellingen voor positie","ra_Used system settings":"Gebruikte systeeminstellingen","ra_User files":"Gebruikersbestanden",ra_ValidTill:UNe,ra_Value:VNe,ra_Version:qNe,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:GNe,ra_Width:XNe,ra_Yes:JNe,"ra_You can export all objects or just the selected branch.":"U kunt alle objecten of alleen de geselecteerde tak exporteren.","ra_You can filter entries by entering here some text":"U kunt items filteren door hier wat tekst in te voeren",ra___different__:YNe,ra_aclEveryone_read_object:KNe,ra_aclEveryone_read_state:ZNe,ra_aclEveryone_write_object:QNe,ra_aclEveryone_write_state:eRe,ra_aclGroup_read_object:tRe,ra_aclGroup_read_state:rRe,ra_aclGroup_write_object:nRe,ra_aclGroup_write_state:oRe,ra_aclOwner_read_object:aRe,ra_aclOwner_read_state:iRe,ra_aclOwner_write_object:sRe,ra_aclOwner_write_state:lRe,ra_buttons:cRe,ra_changedFrom:dRe,ra_close:uRe,ra_create_boolean_state:pRe,ra_create_channel:hRe,ra_create_device:fRe,ra_create_number_state:mRe,ra_create_state:gRe,ra_create_string_state:vRe,ra_daysShortText:yRe,ra_dow_Fr:_Re,ra_dow_Mo:bRe,ra_dow_Sa:wRe,ra_dow_Su:xRe,ra_dow_Th:SRe,ra_dow_Tu:CRe,ra_dow_We:$Re,ra_expertMode:kRe,ra_fileType_all:ERe,ra_fileType_audio:TRe,ra_fileType_code:ORe,ra_fileType_images:DRe,ra_fileType_txt:ARe,ra_fileType_video:IRe,"ra_fileType_video,":"Video",ra_filter_customs:MRe,ra_filter_customs_without:PRe,ra_filter_func:NRe,ra_filter_id:RRe,ra_filter_name:jRe,ra_filter_role:LRe,ra_filter_room:zRe,ra_filter_type:FRe,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:BRe,ra_lastChange:WRe,ra_locally:HRe,ra_month_Apr:URe,ra_month_Aug:VRe,ra_month_Dec:qRe,ra_month_Feb:GRe,ra_month_Jan:XRe,ra_month_Jul:JRe,ra_month_Jun:YRe,ra_month_Mai:KRe,ra_month_Mar:ZRe,ra_month_Nov:QRe,ra_month_Oct:e5e,ra_month_Sep:t5e,ra_months_Apr:r5e,ra_months_Aug:n5e,ra_months_Dec:o5e,ra_months_Feb:a5e,ra_months_Jan:i5e,ra_months_Jul:s5e,ra_months_Jun:l5e,ra_months_Mai:c5e,ra_months_Mar:d5e,ra_months_Nov:u5e,ra_months_Oct:p5e,ra_months_Sep:h5e,ra_none:f5e,ra_object_changed_by:m5e,ra_object_changed_by_user:g5e,ra_otherConfig:v5e,ra_qualityCode:y5e,ra_repeat:_5e,ra_select_folder_hint:b5e,ra_state_changed_by:w5e,ra_state_changed_from:x5e,ra_timestamp:S5e,ra_tooltip_ack:C5e,ra_tooltip_comment:$5e,ra_tooltip_copyState:k5e,ra_tooltip_customConfig:E5e,ra_tooltip_deleteObject:T5e,ra_tooltip_editObject:O5e,ra_tooltip_editState:D5e,ra_tooltip_from:A5e,ra_tooltip_lc:I5e,ra_tooltip_quality:M5e,ra_tooltip_ts:P5e,ra_tooltip_user:N5e,ra_tooltip_value:R5e,"ra_use seconds":"gebruik seconden",ra_val:j5e,"ra_via internet":"via internet",ra_warning_every_minute:L5e,ra_warning_every_second:z5e,sc_cron:F5e,sc_date:B5e,sc_dates:W5e,sc_dow:H5e,sc_dows:U5e,sc_every:V5e,sc_everyN_dates:q5e,sc_everyN_dow:G5e,sc_everyN_dows:X5e,sc_everyN_hours:J5e,sc_everyN_minutes:Y5e,sc_everyN_months:K5e,sc_everyN_seconds:Z5e,sc_every_dates:Q5e,sc_every_dow:e3e,sc_every_dows:t3e,sc_every_hours:r3e,sc_every_minutes:n3e,sc_every_months:o3e,sc_every_seconds:a3e,sc_from:i3e,sc_hours:s3e,sc_interval:l3e,sc_intervalBetween:c3e,sc_invalid_cron:d3e,sc_minutes:u3e,sc_months:p3e,sc_once:h3e,sc_period:f3e,sc_seconds:m3e,sc_simple:g3e,sc_specific:v3e,sc_specific_dates:y3e,sc_specific_dow:_3e,sc_specific_dows:b3e,sc_specific_hours:w3e,sc_specific_minutes:x3e,sc_specific_months:S3e,sc_specific_seconds:C3e,sc_time:$3e,sc_to:k3e,sc_wizard:E3e,sch_all:T3e,sch_astroDay:O3e,sch_astroNight:D3e,sch_astro_dawn:A3e,sch_astro_dusk:I3e,sch_astro_goldenHour:M3e,sch_astro_goldenHourEnd:P3e,sch_astro_nadir:N3e,sch_astro_nauticalDawn:R3e,sch_astro_nauticalDusk:j3e,sch_astro_night:L3e,sch_astro_nightEnd:z3e,sch_astro_solarNoon:F3e,sch_astro_sunrise:B3e,sch_astro_sunriseEnd:W3e,sch_astro_sunset:H3e,sch_astro_sunsetStart:U3e,sch_at:V3e,sch_desc_atTime:q3e,sch_desc_everyDay:G3e,sch_desc_everyHour:X3e,sch_desc_everyMinute:J3e,sch_desc_everyMonth:Y3e,sch_desc_everyNDay:K3e,sch_desc_everyNHours:Z3e,sch_desc_everyNMinutes:Q3e,sch_desc_everyNMonths:eje,sch_desc_everyNWeeks:tje,sch_desc_everyNYears:rje,sch_desc_everyWeek:nje,sch_desc_everyYear:oje,sch_desc_intervalFromTo:aje,sch_desc_never:ije,sch_desc_onDate:sje,sch_desc_onDates:lje,sch_desc_onEveryDate:cje,sch_desc_onMonth:dje,sch_desc_onMonths:uje,sch_desc_onWeekday:pje,sch_desc_onWeekdays:hje,sch_desc_onWeekends:fje,sch_desc_onWorkdays:mje,sch_desc_onceInPast:gje,sch_desc_once_on:vje,sch_desc_validFrom:yje,sch_desc_validFromTo:_je,sch_desc_validTo:bje,sch_every:wje,sch_exactTime:xje,sch_from:Sje,sch_fromTo:Cje,sch_intervalTime:$je,sch_invert:kje,sch_no_one:Eje,sch_on:Tje,sch_period:Oje,sch_periodDaily:Dje,sch_periodDates:Aje,sch_periodDay:Ije,sch_periodEvery:Mje,sch_periodEveryDay:Pje,sch_periodEveryMonth:Nje,sch_periodEveryWeek:Rje,sch_periodEveryYear:jje,sch_periodHours:Lje,sch_periodMinutes:zje,sch_periodMonth:Fje,sch_periodMonthly:Bje,sch_periodOnce:Wje,sch_periodSpecificMonths:Hje,sch_periodWeek:Uje,sch_periodWeekdays:Vje,sch_periodWeekend:qje,sch_periodWeekly:Gje,sch_periodWorkdays:Xje,sch_periodYear:Jje,sch_periodYearly:Yje,sch_specificTime:Kje,sch_time:Zje,sch_to:Qje,sch_valid:e4e,sch_validFrom:t4e,sch_validTo:r4e,sch_wholeDay:n4e,sch_yearEveryMonth:o4e},i4e="Ajouter",s4e="Annuler",l4e="Catégories",c4e="Vérifié",d4e="Effacer",u4e="Fermer",p4e="Commercial",h4e="Configurer",f4e="Lié",m4e="Copié",g4e="Créer",v4e="Recadrer",y4e="Delete",_4e="Supprimer",b4e="Jeter",w4e="Débranché",x4e="Erreur",S4e="Filtre",C4e="Vendredi",$4e="Latitude",k4e="Longitude",E4e="Message",T4e="Lundi",O4e="Nom",D4e="Objets",A4e="D'accord",I4e="Produit",M4e="Répéter",P4e="Remplacer",N4e="Racine",R4e="Samedi",j4e="sauver",L4e="Choisi",z4e="États",F4e="Dimanche",B4e="Jeudi",W4e="Horodatage",H4e="Mardi",U4e="Mise à jour",V4e="Valable jusqu'au",q4e="Valeur",G4e="Version",X4e="Mercredi",J4e="Largeur",Y4e="Oui",K4e="différent",Z4e="Tout le monde peut lire un objet",Q4e="Tout le monde peut lire l'état",eLe="Tout le monde peut écrire un objet",tLe="Tout le monde peut écrire l'état",rLe="Le groupe peut lire l'objet",nLe="Le groupe peut lire l'état",oLe="Le groupe peut écrire un objet",aLe="Le groupe peut écrire l'état",iLe="Le propriétaire peut lire l'objet",sLe="Le propriétaire peut lire l'état",lLe="Le propriétaire peut écrire un objet",cLe="Le propriétaire peut écrire l'état",dLe="Boutons",uLe="Changé de",pLe="Fermer",hLe="Créer un état booléen",fLe="Créer une chaîne",mLe="Créer un appareil",gLe="Créer un état de numéro",vLe="Créer un état",yLe="Créer un état de chaîne",_Le="j.",bLe="Fr",wLe="Mo",xLe="Sa",SLe="Su",CLe="Th",$Le="Tu",kLe="Nous",ELe="Mode expert",TLe="Tous les fichiers",OLe="l'audio",DLe="Code/JSON",ALe="Images",ILe="Texte",MLe="Vidéo",PLe="Paramètres",NLe="sans",RLe="Une fonction",jLe="ID",LLe="Prénom",zLe="Rôle",FLe="Pièce",BLe="Type",WLe="Paramètres invalides",HLe="Dernier changement",ULe="localement",VLe="Avr",qLe="Août",GLe="Déc",XLe="Fév",JLe="Jan",YLe="Juil",KLe="Juin",ZLe="Mai",QLe="Mar",eze="Nov",tze="Oct",rze="Sep",nze="Avr",oze="Août",aze="Déc",ize="Fév",sze="Jan",lze="Juil",cze="Juin",dze="Mai",uze="Mar",pze="Nov",hze="Oct",fze="Sep",mze="rien",gze="Objet modifié par",vze="Objet modifié pour la dernière fois à",yze="Paramètres d'un autre adaptateur %s",_ze="Code de qualité",bze="répéter",wze='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',xze="État modifié par",Sze="Objet changé de",Cze="Horodatage",$ze="Drapeau reconnu",kze="Commentaire",Eze="Copiez la valeur d'état",Tze="Paramètres personnalisés",Oze="Supprimer un objet",Dze="Modifier l'objet",Aze="Modifier la valeur d'état",Ize="De",Mze="Dernière modification",Pze="Qualité",Nze="Horodatage",Rze="Utilisateur",jze="Valeur",Lze="Valeur",zze="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",Fze="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",Bze="CRON",Wze="Date",Hze="Rendez-vous",Uze="Jour",Vze="Jour de la semaine",qze="Chaque",Gze="tous les N jours",Xze="chaque Nième jour de la semaine",Jze="tous les N jours de la semaine",Yze="toutes les N heures",Kze="toutes les N minutes",Zze="tous les N mois",Qze="toutes les N secondes",e6e="tous les jours",t6e="Chaque jour de la semaine",r6e="Chaque jour de la semaine",n6e="Toutes les heures",o6e="chaque minute",a6e="chaque mois",i6e="chaque seconde",s6e="De",l6e="Heures",c6e="Intervalle",d6e="Intervalle entre",u6e="CRON non valide",p6e="Minutes",h6e="mois",f6e="Une fois que",m6e="Période",g6e="Secondes",v6e="Facile",y6e="Temps spécifique",_6e="dates spécifiques",b6e="jour(s) spécifique(s) de la semaine",w6e="jour spécifique de semaines",x6e="heures spécifiques",S6e="minutes spécifiques",C6e="mois spécifiques",$6e="secondes spécifiques",k6e="Temps",E6e="À",T6e="sorcier",O6e="tout",D6e="Journée astronomique",A6e="Nuit astronomique",I6e="Aube",M6e="Crépuscule",P6e="Heure d'or",N6e="Fin de l'heure d'or",R6e="Nadir",j6e="Aube nautique",L6e="Crépuscule nautique",z6e="Nuit",F6e="Fin de nuit",B6e="Midi solaire",W6e="lever du soleil",H6e="Fin du lever du soleil",U6e="Le coucher du soleil",V6e="Coucher du soleil",q6e="à",G6e="à %s",X6e="tous les jours",J6e="Toutes les heures",Y6e="chaque minute",K6e="chaque mois",Z6e="chaque %s jour",Q6e="chaque %s heures",eFe="toutes les %s minutes",tFe="tous les %s mois",rFe="chaque %s semaines",nFe="tous les %s ans",oFe="toutes les semaines",aFe="chaque année",iFe="de %s à %s",sFe="jamais",lFe="sur %s de %s",cFe="sur %s et %s de",dFe="à chaque date de",uFe="%s",pFe="%s et %s",hFe="sur %s",fFe="sur %s et %s",mFe="les weekends",gFe="les jours ouvrables",vFe="ne sera plus exécuté, car start est dans le passé",yFe="sur %s",_Fe="de %s",bFe="Exécuter de à",wFe="à %s",xFe="chaque",SFe="Temps spécifique",CFe="de",$Fe="De à",kFe="Temps d'interval",EFe="inverser",TFe="aucun",OFe="sur",DFe="Période",AFe="du quotidien",IFe="Rendez-vous",MFe="journée",PFe="Chaque",NFe="Tous les jours",RFe="Chaque mois",jFe="Toutes les semaines",LFe="Chaque année",zFe="Heures",FFe="Minutes",BFe="mois",WFe="Mensuel",HFe="Une fois que",UFe="Mois spécifiques",VFe="La semaine",qFe="Jours de la semaine",GFe="Weekend",XFe="Hebdomadaire",JFe="Jours ouvrables",YFe="Année",KFe="Annuel",ZFe="Temps spécifique",QFe="Temps",e8e="à",t8e="Valide",r8e="de",n8e="à",o8e="Toute la journée",a8e="chaque mois",i8e={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) traité(s)","ra_%s was imported":"%s a été importé","ra_Accept license":"Accepter la licence","ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent sélectionné","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets à partir d'un fichier JSON","ra_Add row":"Ajouter une rangée","ra_Advanced options":"Options avancées","ra_All items are filtered out":"Tous les éléments sont filtrés","ra_All objects":"Tous les objets",ra_Append:i4e,"ra_Append %s entries or replace existing?":"Ajouter %s entrées ou remplacer l'existant ?","ra_Append or replace?":"Ajouter ou remplacer ?","ra_Are you sure?":"Êtes-vous sûr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalisées)","ra_Back to %s":"Retour à %s","ra_Background image":"Image de fond",ra_Cancel:s4e,"ra_Cannot add items with set filter":"Impossible d'ajouter des éléments avec le filtre défini","ra_Cannot decode license":"Impossible de décoder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de déterminer la position : les paramètres système sont vides et la détection GPS est désactivée dans le navigateur",'ra_Cannot find "%s"':'Impossible de trouver "%s"','ra_Cannot read "%s"':'Impossible de lire "%s"',"ra_Cannot read licenses: %s":"Impossible de lire les licences : %s","ra_Cannot retrieve options, as instance is offline":"Impossible de récupérer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre à jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de télécharger",ra_Categories:l4e,"ra_Chained certificate":"Certificat chaîné","ra_Change color theme":"Changer le thème de couleur","ra_Changed from":"Changé de","ra_Channel → State":"Canal → État","ra_Check license":"Vérifier la licence",ra_Checked:c4e,ra_Clear:d4e,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:u4e,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:p4e,ra_Configure:h4e,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:f4e,ra_Copied:m4e,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:g4e,"ra_Create alias":"Créer un alias","ra_Create folder":"Créer le dossier","ra_Create new folder in %s":"Créer un nouveau dossier dans %s",ra_Crop:v4e,"ra_Define CRON...":"Définir CRON...","ra_Define functions":"Définir des fonctions","ra_Define rooms":"Définir des pièces","ra_Define schedule":"Définir le calendrier","ra_Define schedule...":"Définir le calendrier ...",ra_Del:y4e,ra_Delete:_4e,"ra_Delete (no confirm for 5 mins)":"Supprimer (pas de confirmation pendant 5 minutes)","ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État",ra_Discard:b4e,ra_Disconnected:w4e,"ra_Do not export values of states":"Ne pas exporter les valeurs des états","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Double click to reset table layout":"Double-cliquez pour réinitialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-déposez des fichiers ici, ou cliquez pour sélectionner des fichiers","ra_Drop file here":"Déposer le fichier ici","ra_Drop the files here...":"Déposez le fichier ici...","ra_Duplicate name":"Nom en double","ra_Edit ACL":"Modifier la LCA","ra_Edit alias":"Modifier l'alias","ra_Edit custom config":"Modifier la configuration personnalisée","ra_Edit function":"Fonction d'édition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le rôle","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur",ra_Error:x4e,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Export data to %s file":"Exporter les données vers le fichier %s","ra_Failed to open JSON File":"Échec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalisés de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",ra_Filter:S4e,"ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder → Channel → State":"Dossier → Chaîne → État","ra_Folder → Device → Channel → State":"Dossier → Appareil → Canal → État","ra_Folder → State":"Dossier → État","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:C4e,"ra_Good luck":"Bonne chance","ra_Hide empty folders":"Masquer les dossiers vides","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si aucun fichier ne sera créé dans le dossier, il disparaîtra après la fermeture du navigateur","ra_Import data from %s file":"Importer des données à partir du fichier %s","ra_Import from %s":"Importer depuis %s","ra_Instance %s is alive":"L'instance %s est active","ra_Instance %s is not alive":"L'instance %s n'est pas active","ra_Instance is not alive":"L'instance n'est pas active","ra_Invalid CRON":"CRON invalide","ra_Invalid JSON":"JSON invalide","ra_Invalid answer from server":"Réponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"Éditeur JSON","ra_Last change":"Dernier changement",ra_Latitude:$4e,"ra_License %s":"Licence %s","ra_License agreement":"Accord de licence","ra_License does not exist":"La licence n'existe pas","ra_License expired on %s":"Licence expirée le %s",'ra_License for other product "%s"':'Licence pour un autre produit "%s"',"ra_License is for version %s, but required version is %s.":"La licence est pour la version %s, mais la version requise est %s.","ra_License must be converted":"La licence doit être convertie en une version plus récente. Vous pouvez le faire dans votre profil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre à jour les licences depuis iobroker.net ?","ra_Listen on all IPs":"Écoutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration à partir du fichier",ra_Longitude:k4e,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:E4e,ra_Monday:T4e,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:O4e,"ra_No data found in file":"Aucune donnée trouvée dans le fichier","ra_No one license found in license manager":"Aucune licence trouvée dans le gestionnaire de licences","ra_No response from the backend":"Aucune réponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent créer de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un numéro",ra_Objects:D4e,ra_Ok:A4e,"ra_On weekdays":"En semaine","ra_Only following structures of objects are available:":"Seules les structures d'objets suivantes sont disponibles:","ra_Only selected":"Uniquement sélectionné","ra_Owner group":"Groupe propriétaire","ra_Owner user":"Utilisateur propriétaire","ra_Passwords are not equal!":"Les mots de passe ne sont pas égaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez créer une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez sélectionner le fichier...","ra_Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait être utilisé par %s","ra_Port is already used by %s":"Le port est déjà utilisé par %s","ra_Private certificate":"Certificat privé",ra_Product:I4e,"ra_Public certificate":"Certificat public","ra_Quality code":"Qualité","ra_Refresh tree":"Rafraîchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Repeat:M4e,ra_Replace:P4e,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:N4e,ra_Saturday:R4e,ra_Save:j4e,"ra_Save and close":"Sauver et fermer","ra_Save configuration to file":"Enregistrer la configuration dans un fichier","ra_Save objects tree as JSON file":"Enregistrer l'arborescence des objets en tant que fichier JSON","ra_Select all":"Tout sélectionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"Sélectionnez l'icône prédéfinie","ra_Select type of export":"Sélectionnez le type d'exportation",ra_Selected:L4e,"ra_Selected %s object(s)":"Objet(s) %s sélectionné(s)","ra_Serial number (UUID)":"Numéro de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le numéro de série (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Show all folders":"Afficher tous les dossiers","ra_Show lines between rows":"Afficher les lignes entre les lignes","ra_Show/Hide object descriptions":"Afficher/Masquer les descriptions d'objets","ra_Show/hide filter input":"Afficher/masquer l'entrée de filtre","ra_Some data are not stored. Discard?":"Certaines données ne sont pas stockées. Jeter?",ra_States:z4e,"ra_Suitable license not found in license manager":"Licence appropriée introuvable dans le gestionnaire de licences",ra_Sunday:F4e,"ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du système","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position à partir des paramètres système",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent créer des objets partout mais à partir du deuxième niveau (par exemple "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"La page que vous recherchez n'a pas été trouvée","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera exécuté toutes les minutes. Êtes-vous sûr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera exécuté toutes les secondes. Êtes-vous sûr ?",ra_Thursday:B4e,ra_Timestamp:W4e,"ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des états","ra_Toggle view mode":"Basculer le mode d'affichage","ra_Too big":"Trop grand","ra_Too small":"Trop petit","ra_Transparent dialog":"Dialogue transparent",ra_Tuesday:H4e,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:U4e,"ra_Upload file":"Téléverser un fichier","ra_Use all available let's encrypt certificates":"Utilisez tous les certificats let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt","ra_Use system settings for position":"Utiliser les paramètres système pour la position","ra_Used system settings":"Paramètres système utilisés","ra_User files":"Fichiers utilisateurs",ra_ValidTill:V4e,ra_Value:q4e,ra_Version:G4e,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:X4e,ra_Width:J4e,ra_Yes:Y4e,"ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche sélectionnée.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entrées en saisissant ici du texte",ra___different__:K4e,ra_aclEveryone_read_object:Z4e,ra_aclEveryone_read_state:Q4e,ra_aclEveryone_write_object:eLe,ra_aclEveryone_write_state:tLe,ra_aclGroup_read_object:rLe,ra_aclGroup_read_state:nLe,ra_aclGroup_write_object:oLe,ra_aclGroup_write_state:aLe,ra_aclOwner_read_object:iLe,ra_aclOwner_read_state:sLe,ra_aclOwner_write_object:lLe,ra_aclOwner_write_state:cLe,ra_buttons:dLe,ra_changedFrom:uLe,ra_close:pLe,ra_create_boolean_state:hLe,ra_create_channel:fLe,ra_create_device:mLe,ra_create_number_state:gLe,ra_create_state:vLe,ra_create_string_state:yLe,ra_daysShortText:_Le,ra_dow_Fr:bLe,ra_dow_Mo:wLe,ra_dow_Sa:xLe,ra_dow_Su:SLe,ra_dow_Th:CLe,ra_dow_Tu:$Le,ra_dow_We:kLe,ra_expertMode:ELe,ra_fileType_all:TLe,ra_fileType_audio:OLe,ra_fileType_code:DLe,ra_fileType_images:ALe,ra_fileType_txt:ILe,ra_fileType_video:MLe,"ra_fileType_video,":"Vidéo",ra_filter_customs:PLe,ra_filter_customs_without:NLe,ra_filter_func:RLe,ra_filter_id:jLe,ra_filter_name:LLe,ra_filter_role:zLe,ra_filter_room:FLe,ra_filter_type:BLe,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:WLe,ra_lastChange:HLe,ra_locally:ULe,ra_month_Apr:VLe,ra_month_Aug:qLe,ra_month_Dec:GLe,ra_month_Feb:XLe,ra_month_Jan:JLe,ra_month_Jul:YLe,ra_month_Jun:KLe,ra_month_Mai:ZLe,ra_month_Mar:QLe,ra_month_Nov:eze,ra_month_Oct:tze,ra_month_Sep:rze,ra_months_Apr:nze,ra_months_Aug:oze,ra_months_Dec:aze,ra_months_Feb:ize,ra_months_Jan:sze,ra_months_Jul:lze,ra_months_Jun:cze,ra_months_Mai:dze,ra_months_Mar:uze,ra_months_Nov:pze,ra_months_Oct:hze,ra_months_Sep:fze,ra_none:mze,ra_object_changed_by:gze,ra_object_changed_by_user:vze,ra_otherConfig:yze,ra_qualityCode:_ze,ra_repeat:bze,ra_select_folder_hint:wze,ra_state_changed_by:xze,ra_state_changed_from:Sze,ra_timestamp:Cze,ra_tooltip_ack:$ze,ra_tooltip_comment:kze,ra_tooltip_copyState:Eze,ra_tooltip_customConfig:Tze,ra_tooltip_deleteObject:Oze,ra_tooltip_editObject:Dze,ra_tooltip_editState:Aze,ra_tooltip_from:Ize,ra_tooltip_lc:Mze,ra_tooltip_quality:Pze,ra_tooltip_ts:Nze,ra_tooltip_user:Rze,ra_tooltip_value:jze,"ra_use seconds":"utiliser les secondes",ra_val:Lze,"ra_via internet":"par Internet",ra_warning_every_minute:zze,ra_warning_every_second:Fze,sc_cron:Bze,sc_date:Wze,sc_dates:Hze,sc_dow:Uze,sc_dows:Vze,sc_every:qze,sc_everyN_dates:Gze,sc_everyN_dow:Xze,sc_everyN_dows:Jze,sc_everyN_hours:Yze,sc_everyN_minutes:Kze,sc_everyN_months:Zze,sc_everyN_seconds:Qze,sc_every_dates:e6e,sc_every_dow:t6e,sc_every_dows:r6e,sc_every_hours:n6e,sc_every_minutes:o6e,sc_every_months:a6e,sc_every_seconds:i6e,sc_from:s6e,sc_hours:l6e,sc_interval:c6e,sc_intervalBetween:d6e,sc_invalid_cron:u6e,sc_minutes:p6e,sc_months:h6e,sc_once:f6e,sc_period:m6e,sc_seconds:g6e,sc_simple:v6e,sc_specific:y6e,sc_specific_dates:_6e,sc_specific_dow:b6e,sc_specific_dows:w6e,sc_specific_hours:x6e,sc_specific_minutes:S6e,sc_specific_months:C6e,sc_specific_seconds:$6e,sc_time:k6e,sc_to:E6e,sc_wizard:T6e,sch_all:O6e,sch_astroDay:D6e,sch_astroNight:A6e,sch_astro_dawn:I6e,sch_astro_dusk:M6e,sch_astro_goldenHour:P6e,sch_astro_goldenHourEnd:N6e,sch_astro_nadir:R6e,sch_astro_nauticalDawn:j6e,sch_astro_nauticalDusk:L6e,sch_astro_night:z6e,sch_astro_nightEnd:F6e,sch_astro_solarNoon:B6e,sch_astro_sunrise:W6e,sch_astro_sunriseEnd:H6e,sch_astro_sunset:U6e,sch_astro_sunsetStart:V6e,sch_at:q6e,sch_desc_atTime:G6e,sch_desc_everyDay:X6e,sch_desc_everyHour:J6e,sch_desc_everyMinute:Y6e,sch_desc_everyMonth:K6e,sch_desc_everyNDay:Z6e,sch_desc_everyNHours:Q6e,sch_desc_everyNMinutes:eFe,sch_desc_everyNMonths:tFe,sch_desc_everyNWeeks:rFe,sch_desc_everyNYears:nFe,sch_desc_everyWeek:oFe,sch_desc_everyYear:aFe,sch_desc_intervalFromTo:iFe,sch_desc_never:sFe,sch_desc_onDate:lFe,sch_desc_onDates:cFe,sch_desc_onEveryDate:dFe,sch_desc_onMonth:uFe,sch_desc_onMonths:pFe,sch_desc_onWeekday:hFe,sch_desc_onWeekdays:fFe,sch_desc_onWeekends:mFe,sch_desc_onWorkdays:gFe,sch_desc_onceInPast:vFe,sch_desc_once_on:yFe,sch_desc_validFrom:_Fe,sch_desc_validFromTo:bFe,sch_desc_validTo:wFe,sch_every:xFe,sch_exactTime:SFe,sch_from:CFe,sch_fromTo:$Fe,sch_intervalTime:kFe,sch_invert:EFe,sch_no_one:TFe,sch_on:OFe,sch_period:DFe,sch_periodDaily:AFe,sch_periodDates:IFe,sch_periodDay:MFe,sch_periodEvery:PFe,sch_periodEveryDay:NFe,sch_periodEveryMonth:RFe,sch_periodEveryWeek:jFe,sch_periodEveryYear:LFe,sch_periodHours:zFe,sch_periodMinutes:FFe,sch_periodMonth:BFe,sch_periodMonthly:WFe,sch_periodOnce:HFe,sch_periodSpecificMonths:UFe,sch_periodWeek:VFe,sch_periodWeekdays:qFe,sch_periodWeekend:GFe,sch_periodWeekly:XFe,sch_periodWorkdays:JFe,sch_periodYear:YFe,sch_periodYearly:KFe,sch_specificTime:ZFe,sch_time:QFe,sch_to:e8e,sch_valid:t8e,sch_validFrom:r8e,sch_validTo:n8e,sch_wholeDay:o8e,sch_yearEveryMonth:a8e},s8e="Aggiungere",l8e="Annulla",c8e="Categorie",d8e="Controllato",u8e="Elimina",p8e="Vicino",h8e="Commerciale",f8e="Configura",m8e="Collegato",g8e="Copiato",v8e="Creare",y8e="Raccolto",_8e="Delete",b8e="Elimina",w8e="Scartare",x8e="Disconnesso",S8e="Errore",C8e="Filtro",$8e="Venerdì",k8e="Latitudine",E8e="Longitudine",T8e="Messaggio",O8e="Lunedi",D8e="Nome",A8e="Oggetti",I8e="Ok",M8e="Prodotto",P8e="Ripetere",N8e="Sostituire",R8e="Radice",j8e="Sabato",L8e="Salva",z8e="Selezionato",F8e="stati",B8e="Domenica",W8e="Giovedì",H8e="Timestamp",U8e="Martedì",V8e="Aggiornare",q8e="Valido fino a",G8e="Valore",X8e="Versione",J8e="Mercoledì",Y8e="Larghezza",K8e="SÌ",Z8e="diverso",Q8e="Tutti possono leggere gli oggetti",eBe="Tutti possono leggere lo stato",tBe="Tutti possono scrivere oggetti",rBe="Tutti possono scrivere stato",nBe="Il gruppo può leggere l'oggetto",oBe="Il gruppo può leggere lo stato",aBe="Il gruppo può scrivere l'oggetto",iBe="Il gruppo può scrivere lo stato",sBe="Il proprietario può leggere l'oggetto",lBe="Il proprietario può leggere lo stato",cBe="Il proprietario può scrivere l'oggetto",dBe="Il proprietario può scrivere lo stato",uBe="Bottoni",pBe="Cambiato da",hBe="vicino",fBe="Crea uno stato booleano",mBe="Crea canale",gBe="Crea dispositivo",vBe="Crea lo stato del numero",yBe="Crea stato",_Be="Crea lo stato della stringa",bBe="g.",wBe="fr",xBe="momento",SBe="Sa",CBe="su",$Be="th",kBe="Tu",EBe="Noi",TBe="Modalità esperto",OBe="Tutti i files",DBe="Audio",ABe="Codice/JSON",IBe="immagini",MBe="Testo",PBe="video",NBe="impostazioni",RBe="senza",jBe="Funzione",LBe="ID",zBe="Nome",FBe="Ruolo",BBe="Camera",WBe="genere",HBe="Impostazioni non valide",UBe="Ultima modifica",VBe="localmente",qBe="apr",GBe="agosto",XBe="Dic",JBe="febbraio",YBe="gen",KBe="lug",ZBe="giu",QBe="Mai",e9e="marzo",t9e="nov",r9e="ottobre",n9e="Sett",o9e="apr",a9e="agosto",i9e="Dic",s9e="febbraio",l9e="gen",c9e="lug",d9e="giu",u9e="Mai",p9e="marzo",h9e="nov",f9e="ottobre",m9e="Sett",g9e="nessuna",v9e="Oggetto modificato da",y9e="L'oggetto è stato modificato l'ultima volta alle",_9e="Impostazioni dall'altro adattatore %s",b9e="Codice di qualità",w9e="ripetere",x9e='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',S9e="Stato cambiato da",C9e="Oggetto cambiato da",$9e="Timestamp",k9e="Bandiera riconosciuta",E9e="Commento",T9e="Copia il valore dello stato",O9e="Impostazioni personalizzate",D9e="Elimina oggetto",A9e="Modifica oggetto",I9e="Modifica il valore dello stato",M9e="A partire dal",P9e="Ultima modifica",N9e="Qualità",R9e="Data e ora",j9e="Utente",L9e="Valore",z9e="Valore",F9e="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",B9e="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",W9e="CRON",H9e="Data",U9e="Date",V9e="Giorno",q9e="Giorno della settimana",G9e="Ogni",X9e="ogni N giorni",J9e="ogni Nesimo giorno della settimana",Y9e="ogni N giorno della settimana",K9e="ogni N ore",Z9e="ogni N minuti",Q9e="ogni N mesi",e7e="ogni N secondi",t7e="ogni giorno",r7e="Tutti i giorni della settimana",n7e="Tutti i giorni della settimana",o7e="ogni ora",a7e="ogni minuto",i7e="ogni mese",s7e="ogni secondo",l7e="A partire dal",c7e="Ore",d7e="Intervallo",u7e="Intervallo tra",p7e="CRON non valido",h7e="Minuti",f7e="mesi",m7e="Una volta",g7e="Periodo",v7e="secondi",y7e="Semplice",_7e="Orario preciso",b7e="date specifiche",w7e="giorno/i specifico/i della settimana",x7e="giorno specifico delle settimane",S7e="orari specifici",C7e="minuti specifici",$7e="mesi specifici",k7e="secondi specifici",E7e="Tempo",T7e="Per",O7e="procedura guidata",D7e="tutti",A7e="Astro day",I7e="Astro night",M7e="Alba",P7e="Crepuscolo",N7e="Ora d'oro",R7e="Fine dell'ora d'oro",j7e="Nadir",L7e="Alba nautica",z7e="Crepuscolo nautico",F7e="Notte",B7e="Fine della notte",W7e="Mezzogiorno solare",H7e="Alba",U7e="Fine dell'alba",V7e="Tramonto",q7e="Inizio del tramonto",G7e="a",X7e="a %s",J7e="ogni giorno",Y7e="ogni ora",K7e="ogni minuto",Z7e="ogni mese",Q7e="ogni %s giorno",eWe="ogni %s ore",tWe="ogni %s minuti",rWe="ogni %s mesi",nWe="ogni %s settimane",oWe="ogni %s anni",aWe="ogni settimana",iWe="ogni anno",sWe="da %s a %s",lWe="mai",cWe="su %s di %s",dWe="su %s e %s di",uWe="in ogni data di",pWe="%s",hWe="%s e %s",fWe="su %s",mWe="su %s e %s",gWe="nei finesettimana",vWe="nei giorni lavorativi",yWe="non verrà più eseguito, perché start è nel passato",_We="su %s",bWe="da %s",wWe="Eseguire da a",xWe="a %s",SWe="ogni",CWe="Orario preciso",$We="a partire dal",kWe="Da A",EWe="Intervallo di tempo",TWe="invertire",OWe="nessuna",DWe="sopra",AWe="Periodo",IWe="Quotidiano",MWe="Date",PWe="Giorno",NWe="Ogni",RWe="Ogni giorno",jWe="Ogni mese",LWe="Ogni settimana",zWe="Ogni anno",FWe="Ore",BWe="Minuti",WWe="mese",HWe="Mensile",UWe="Una volta",VWe="Mesi specifici",qWe="Settimana",GWe="Giorni della settimana",XWe="Fine settimana",JWe="settimanalmente",YWe="giorni feriali",KWe="Anno",ZWe="Annuale",QWe="Orario preciso",eHe="Tempo",tHe="per",rHe="Valido",nHe="a partire dal",oHe="per",aHe="Giorno intero",iHe="ogni mese",sHe={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s è stato importato","ra_Accept license":"Accetta licenza","ra_Add new child object to selected parent":"Aggiungi un nuovo oggetto figlio al genitore selezionato","ra_Add objects tree from JSON file":"Aggiungi l'albero degli oggetti dal file JSON","ra_Add row":"Aggiungi riga","ra_Advanced options":"Opzioni avanzate","ra_All items are filtered out":"Tutti gli elementi vengono filtrati","ra_All objects":"Tutti gli oggetti",ra_Append:s8e,"ra_Append %s entries or replace existing?":"Aggiungi %s voci o sostituisci quelle esistenti?","ra_Append or replace?":"Aggiungere o sostituire?","ra_Are you sure?":"Sei sicuro?","ra_Auto (no custom columns)":"Auto (nessuna colonna personalizzata)","ra_Back to %s":"Torna a %s","ra_Background image":"Immagine di sfondo",ra_Cancel:l8e,"ra_Cannot add items with set filter":"Impossibile aggiungere elementi con il filtro impostato","ra_Cannot decode license":"Impossibile decodificare la licenza","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS è disabilitato nel browser",'ra_Cannot find "%s"':'Impossibile trovare "%s"','ra_Cannot read "%s"':'Impossibile leggere "%s"',"ra_Cannot read licenses: %s":"Impossibile leggere le licenze: %s","ra_Cannot retrieve options, as instance is offline":"Impossibile recuperare le opzioni, poiché l'istanza è offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perché non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:c8e,"ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel → State":"Canale → Stato","ra_Check license":"Controlla la licenza",ra_Checked:d8e,ra_Clear:u8e,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Clone current row":"Clona riga corrente",ra_Close:p8e,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:h8e,ra_Configure:f8e,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:m8e,ra_Copied:g8e,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:v8e,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:y8e,"ra_Define CRON...":"Definisci CRON...","ra_Define functions":"Definire le funzioni","ra_Define rooms":"Definisci le stanze","ra_Define schedule":"Definisci programma","ra_Define schedule...":"Definisci pianificazione ...",ra_Del:_8e,ra_Delete:b8e,"ra_Delete (no confirm for 5 mins)":"Elimina (nessuna conferma per 5 minuti)","ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato",ra_Discard:w8e,ra_Disconnected:x8e,"ra_Do not export values of states":"Non esportare i valori degli stati","ra_Do not use let's encrypt":"Non utilizzare crittografiamo","ra_Double click to reset table layout":"Fare doppio clic per ripristinare il layout della tabella","ra_Drag 'n' drop some files here, or click to select files":"Trascina e rilascia alcuni file qui o fai clic per selezionare i file","ra_Drop file here":"Trascina il file qui","ra_Drop the files here...":"Trascina qui il file...","ra_Duplicate name":"Nome duplicato","ra_Edit ACL":"Modifica ACL","ra_Edit alias":"Modifica alias","ra_Edit custom config":"Modifica configurazione personalizzata","ra_Edit function":"Funzione di modifica","ra_Edit object field":"Modifica campo oggetto","ra_Edit role":"Modifica ruolo","ra_Edit room":"Modifica stanza","ra_Edit value":"Modifica valore",ra_Error:S8e,"ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Export data to %s file":"Esporta i dati nel file %s","ra_Failed to open JSON File":"Impossibile aprire il file JSON","ra_Fallback custom certificates":"Certificati personalizzati di fallback","ra_File is too big. Max %sk allowed. Try use SVG.":"Il file è troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:C8e,"ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder → Channel → State":"Cartella → Canale → Stato","ra_Folder → Device → Channel → State":"Cartella → Dispositivo → Canale → Stato","ra_Folder → State":"Cartella → Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:$8e,"ra_Good luck":"Buona fortuna","ra_Hide empty folders":"Nascondi cartelle vuote","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nessun file verrà creato nella cartella, scomparirà dopo la chiusura del browser","ra_Import data from %s file":"Importa i dati dal file %s","ra_Import from %s":"Importa da %s","ra_Instance %s is alive":"Il %s dell'istanza è vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non è vivo","ra_Instance is not alive":"L'istanza non è viva","ra_Invalid CRON":"CRON non valido","ra_Invalid JSON":"JSON non valido","ra_Invalid answer from server":"Risposta non valida dal server","ra_Invalid parent folder!":"Cartella principale non valida!","ra_Invalid structure":"Struttura non valida","ra_JSON editor":"Editor JSON","ra_Last change":"Ultima modifica",ra_Latitude:k8e,"ra_License %s":"Licenza %s","ra_License agreement":"Contratto di licenza","ra_License does not exist":"La licenza non esiste","ra_License expired on %s":"Licenza scaduta il %s",'ra_License for other product "%s"':'Licenza per altro prodotto "%s"',"ra_License is for version %s, but required version is %s.":"La licenza è per la versione %s, ma la versione richiesta è %s.","ra_License must be converted":"La licenza deve essere convertita in una versione più recente. Puoi farlo nel tuo profilo iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?","ra_Listen on all IPs":"Ascolta su tutti gli IP","ra_Load configuration from file":"Carica la configurazione dal file",ra_Longitude:E8e,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:T8e,ra_Monday:O8e,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:D8e,"ra_No data found in file":"Nessun dato trovato nel file","ra_No one license found in license manager":"Nessuna licenza trovata nel gestore delle licenze","ra_No response from the backend":"Nessuna risposta dal backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'I non esperti possono creare nuovi oggetti solo in "0_userdata.0" o "alias.0".',"ra_Not a number":"Non un numero",ra_Objects:A8e,ra_Ok:I8e,"ra_On weekdays":"Nei giorni della settimana","ra_Only following structures of objects are available:":"Sono disponibili solo le seguenti strutture di oggetti:","ra_Only selected":"Solo selezionato","ra_Owner group":"Gruppo di proprietari","ra_Owner user":"Utente proprietario","ra_Passwords are not equal!":"Le password non sono uguali!","ra_Place your files here or click here to open the browse dialog":"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia","ra_Please confirm":"Si prega di confermare","ra_Please create license":"Si prega di creare la licenza","ra_Please enter the license":"Inserisci la licenza","ra_Please select file...":"Si prega di selezionare il file...","ra_Please select object ID...":"Seleziona l'ID oggetto ...","ra_Port could be used by %s":"La porta potrebbe essere utilizzata da %s","ra_Port is already used by %s":"La porta è già utilizzata da %s","ra_Private certificate":"Certificato privato",ra_Product:M8e,"ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualità","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Repeat:P8e,ra_Replace:N8e,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:R8e,ra_Saturday:j8e,ra_Save:L8e,"ra_Save and close":"Salva e chiudi","ra_Save configuration to file":"Salva la configurazione su file","ra_Save objects tree as JSON file":"Salva l'albero degli oggetti come file JSON","ra_Select all":"Seleziona tutto","ra_Select color":"Seleziona il colore","ra_Select predefined icon":"Seleziona l'icona predefinita","ra_Select type of export":"Seleziona il tipo di esportazione",ra_Selected:z8e,"ra_Selected %s object(s)":"%s oggetto/i selezionato/i","ra_Serial number (UUID)":"Numero di serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Il numero di serie (UUID) "%s" nella licenza è per un altro dispositivo.',"ra_Show all folders":"Mostra tutte le cartelle","ra_Show lines between rows":"Mostra linee tra le righe","ra_Show/Hide object descriptions":"Mostra/Nascondi le descrizioni degli oggetti","ra_Show/hide filter input":"Mostra/nascondi input filtro","ra_Some data are not stored. Discard?":"Alcuni dati non vengono memorizzati. Scartare?",ra_States:F8e,"ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:B8e,"ra_Suppress question for next %s minutes":"Sopprimi la domanda per i prossimi %s minuti","ra_System language":"Linguaggio di sistema","ra_Take browser position":"Prendi posizione dal browser","ra_Take position from system settings":"Prendi posizione dalle impostazioni di sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. "Vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"La pagina che stai cercando non è stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verrà eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verrà eseguita ogni secondo. Sei sicuro?",ra_Thursday:W8e,ra_Timestamp:H8e,"ra_Toggle expert mode":"Attiva / disattiva la modalità esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalità di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:U8e,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:V8e,"ra_Upload file":"Caricare un file","ra_Use all available let's encrypt certificates":"Usa tutti i certificati Let's Encrypt disponibili","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt","ra_Use system settings for position":"Usa le impostazioni di sistema per la posizione","ra_Used system settings":"Impostazioni di sistema utilizzate","ra_User files":"File utente",ra_ValidTill:q8e,ra_Value:G8e,ra_Version:X8e,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:J8e,ra_Width:Y8e,ra_Yes:K8e,"ra_You can export all objects or just the selected branch.":"Puoi esportare tutti gli oggetti o solo il ramo selezionato.","ra_You can filter entries by entering here some text":"Puoi filtrare le voci inserendo qui del testo",ra___different__:Z8e,ra_aclEveryone_read_object:Q8e,ra_aclEveryone_read_state:eBe,ra_aclEveryone_write_object:tBe,ra_aclEveryone_write_state:rBe,ra_aclGroup_read_object:nBe,ra_aclGroup_read_state:oBe,ra_aclGroup_write_object:aBe,ra_aclGroup_write_state:iBe,ra_aclOwner_read_object:sBe,ra_aclOwner_read_state:lBe,ra_aclOwner_write_object:cBe,ra_aclOwner_write_state:dBe,ra_buttons:uBe,ra_changedFrom:pBe,ra_close:hBe,ra_create_boolean_state:fBe,ra_create_channel:mBe,ra_create_device:gBe,ra_create_number_state:vBe,ra_create_state:yBe,ra_create_string_state:_Be,ra_daysShortText:bBe,ra_dow_Fr:wBe,ra_dow_Mo:xBe,ra_dow_Sa:SBe,ra_dow_Su:CBe,ra_dow_Th:$Be,ra_dow_Tu:kBe,ra_dow_We:EBe,ra_expertMode:TBe,ra_fileType_all:OBe,ra_fileType_audio:DBe,ra_fileType_code:ABe,ra_fileType_images:IBe,ra_fileType_txt:MBe,ra_fileType_video:PBe,"ra_fileType_video,":"video",ra_filter_customs:NBe,ra_filter_customs_without:RBe,ra_filter_func:jBe,ra_filter_id:LBe,ra_filter_name:zBe,ra_filter_role:FBe,ra_filter_room:BBe,ra_filter_type:WBe,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:HBe,ra_lastChange:UBe,ra_locally:VBe,ra_month_Apr:qBe,ra_month_Aug:GBe,ra_month_Dec:XBe,ra_month_Feb:JBe,ra_month_Jan:YBe,ra_month_Jul:KBe,ra_month_Jun:ZBe,ra_month_Mai:QBe,ra_month_Mar:e9e,ra_month_Nov:t9e,ra_month_Oct:r9e,ra_month_Sep:n9e,ra_months_Apr:o9e,ra_months_Aug:a9e,ra_months_Dec:i9e,ra_months_Feb:s9e,ra_months_Jan:l9e,ra_months_Jul:c9e,ra_months_Jun:d9e,ra_months_Mai:u9e,ra_months_Mar:p9e,ra_months_Nov:h9e,ra_months_Oct:f9e,ra_months_Sep:m9e,ra_none:g9e,ra_object_changed_by:v9e,ra_object_changed_by_user:y9e,ra_otherConfig:_9e,ra_qualityCode:b9e,ra_repeat:w9e,ra_select_folder_hint:x9e,ra_state_changed_by:S9e,ra_state_changed_from:C9e,ra_timestamp:$9e,ra_tooltip_ack:k9e,ra_tooltip_comment:E9e,ra_tooltip_copyState:T9e,ra_tooltip_customConfig:O9e,ra_tooltip_deleteObject:D9e,ra_tooltip_editObject:A9e,ra_tooltip_editState:I9e,ra_tooltip_from:M9e,ra_tooltip_lc:P9e,ra_tooltip_quality:N9e,ra_tooltip_ts:R9e,ra_tooltip_user:j9e,ra_tooltip_value:L9e,"ra_use seconds":"usa i secondi",ra_val:z9e,"ra_via internet":"attraverso internet",ra_warning_every_minute:F9e,ra_warning_every_second:B9e,sc_cron:W9e,sc_date:H9e,sc_dates:U9e,sc_dow:V9e,sc_dows:q9e,sc_every:G9e,sc_everyN_dates:X9e,sc_everyN_dow:J9e,sc_everyN_dows:Y9e,sc_everyN_hours:K9e,sc_everyN_minutes:Z9e,sc_everyN_months:Q9e,sc_everyN_seconds:e7e,sc_every_dates:t7e,sc_every_dow:r7e,sc_every_dows:n7e,sc_every_hours:o7e,sc_every_minutes:a7e,sc_every_months:i7e,sc_every_seconds:s7e,sc_from:l7e,sc_hours:c7e,sc_interval:d7e,sc_intervalBetween:u7e,sc_invalid_cron:p7e,sc_minutes:h7e,sc_months:f7e,sc_once:m7e,sc_period:g7e,sc_seconds:v7e,sc_simple:y7e,sc_specific:_7e,sc_specific_dates:b7e,sc_specific_dow:w7e,sc_specific_dows:x7e,sc_specific_hours:S7e,sc_specific_minutes:C7e,sc_specific_months:$7e,sc_specific_seconds:k7e,sc_time:E7e,sc_to:T7e,sc_wizard:O7e,sch_all:D7e,sch_astroDay:A7e,sch_astroNight:I7e,sch_astro_dawn:M7e,sch_astro_dusk:P7e,sch_astro_goldenHour:N7e,sch_astro_goldenHourEnd:R7e,sch_astro_nadir:j7e,sch_astro_nauticalDawn:L7e,sch_astro_nauticalDusk:z7e,sch_astro_night:F7e,sch_astro_nightEnd:B7e,sch_astro_solarNoon:W7e,sch_astro_sunrise:H7e,sch_astro_sunriseEnd:U7e,sch_astro_sunset:V7e,sch_astro_sunsetStart:q7e,sch_at:G7e,sch_desc_atTime:X7e,sch_desc_everyDay:J7e,sch_desc_everyHour:Y7e,sch_desc_everyMinute:K7e,sch_desc_everyMonth:Z7e,sch_desc_everyNDay:Q7e,sch_desc_everyNHours:eWe,sch_desc_everyNMinutes:tWe,sch_desc_everyNMonths:rWe,sch_desc_everyNWeeks:nWe,sch_desc_everyNYears:oWe,sch_desc_everyWeek:aWe,sch_desc_everyYear:iWe,sch_desc_intervalFromTo:sWe,sch_desc_never:lWe,sch_desc_onDate:cWe,sch_desc_onDates:dWe,sch_desc_onEveryDate:uWe,sch_desc_onMonth:pWe,sch_desc_onMonths:hWe,sch_desc_onWeekday:fWe,sch_desc_onWeekdays:mWe,sch_desc_onWeekends:gWe,sch_desc_onWorkdays:vWe,sch_desc_onceInPast:yWe,sch_desc_once_on:_We,sch_desc_validFrom:bWe,sch_desc_validFromTo:wWe,sch_desc_validTo:xWe,sch_every:SWe,sch_exactTime:CWe,sch_from:$We,sch_fromTo:kWe,sch_intervalTime:EWe,sch_invert:TWe,sch_no_one:OWe,sch_on:DWe,sch_period:AWe,sch_periodDaily:IWe,sch_periodDates:MWe,sch_periodDay:PWe,sch_periodEvery:NWe,sch_periodEveryDay:RWe,sch_periodEveryMonth:jWe,sch_periodEveryWeek:LWe,sch_periodEveryYear:zWe,sch_periodHours:FWe,sch_periodMinutes:BWe,sch_periodMonth:WWe,sch_periodMonthly:HWe,sch_periodOnce:UWe,sch_periodSpecificMonths:VWe,sch_periodWeek:qWe,sch_periodWeekdays:GWe,sch_periodWeekend:XWe,sch_periodWeekly:JWe,sch_periodWorkdays:YWe,sch_periodYear:KWe,sch_periodYearly:ZWe,sch_specificTime:QWe,sch_time:eHe,sch_to:tHe,sch_valid:rHe,sch_validFrom:nHe,sch_validTo:oHe,sch_wholeDay:aHe,sch_yearEveryMonth:iHe},lHe="Adjuntar",cHe="Cancelar",dHe="Categorías",uHe="Comprobado",pHe="Borrar",hHe="Cerca",fHe="Comercial",mHe="Configurar",gHe="Conectado",vHe="Copiado",yHe="Crear",_He="Cultivo",bHe="Delete",wHe="Eliminar",xHe="Desechar",SHe="Desconectado",CHe="Error",$He="Filtrar",kHe="Viernes",EHe="Latitud",THe="Longitud",OHe="Mensaje",DHe="Lunes",AHe="Nombre",IHe="Objetos",MHe="Okay",PHe="Producto",NHe="Repetir",RHe="Reemplazar",jHe="Raíz",LHe="Sábado",zHe="Salvar",FHe="Seleccionado",BHe="Estados",WHe="Domingo",HHe="Jueves",UHe="Marca de tiempo",VHe="Martes",qHe="Actualizar",GHe="Válida hasta",XHe="Valor",JHe="Versión",YHe="Miércoles",KHe="Anchura",ZHe="Sí",QHe="diferente",eUe="Todo el mundo puede leer el objeto",tUe="Todos pueden leer el estado",rUe="Todos pueden escribir objetos",nUe="Todos pueden escribir el estado",oUe="El grupo puede leer el objeto",aUe="El grupo puede leer el estado",iUe="El grupo puede escribir un objeto",sUe="El grupo puede escribir el estado",lUe="El propietario puede leer el objeto",cUe="El propietario puede leer el estado",dUe="El propietario puede escribir el objeto",uUe="El propietario puede escribir el estado",pUe="Botones",hUe="Cambiaron desde",fUe="cerrar",mUe="Crear estado booleano",gUe="Crear canal",vUe="Crear dispositivo",yUe="Crear estado numérico",_Ue="Crear estado",bUe="Crear estado de cadena",wUe="d.",xUe="Fr",SUe="Mes",CUe="Sa",$Ue="Su",kUe="Th",EUe="Tu",TUe="Nosotros",OUe="Modo experto",DUe="Todos los archivos",AUe="Audio",IUe="Código/JSON",MUe="Imágenes",PUe="Texto",NUe="Video",RUe="Configuraciones",jUe="sin",LUe="Función",zUe="ID",FUe="Nombre",BUe="Papel",WUe="Habitación",HUe="Tipo",UUe="Configuraciones inválidas",VUe="Ultimo cambio",qUe="en la zona",GUe="Abr",XUe="Ago",JUe="Dic",YUe="Feb",KUe="Ene",ZUe="Jul",QUe="Jun",eVe="Mai",tVe="Mar",rVe="Nov",nVe="Oct",oVe="Sep",aVe="Abr",iVe="Ago",sVe="Dic",lVe="Feb",cVe="Ene",dVe="Jul",uVe="Jun",pVe="Mai",hVe="Mar",fVe="Nov",mVe="Oct",gVe="Sep",vVe="ninguno",yVe="Objeto cambiado por",_Ve="Objeto cambiado por última vez a las",bVe="Configuraciones de otro adaptador %s",wVe="Código de calidad",xVe="repetir",SVe='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',CVe="Estado cambiado por",$Ve="Objeto cambiado de",kVe="Marca de tiempo",EVe="Bandera reconocida",TVe="Comentario",OVe="Copie el valor del estado",DVe="Ajustes personalizados",AVe="Eliminar objeto",IVe="Editar objeto",MVe="Edite el valor del estado",PVe="Desde",NVe="Último cambio",RVe="Calidad",jVe="Sello de tiempo",LVe="Usuario",zVe="Valor",FVe="Valor",BVe="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",WVe="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",HVe="CRON",UVe="Fecha",VVe="fechas",qVe="Día",GVe="Día de la semana",XVe="Cada",JVe="cada N días",YVe="cada enésimo día de la semana",KVe="cada N día de la semana",ZVe="cada N horas",QVe="cada N minutos",eqe="cada N meses",tqe="cada N segundos",rqe="cada día",nqe="Cada día de la semana",oqe="Cada día de la semana",aqe="cada hora",iqe="cada minuto",sqe="cada mes",lqe="cada segundo",cqe="De",dqe="Horas",uqe="Intervalo",pqe="Intervalo entre",hqe="CRON no válido",fqe="Minutos",mqe="meses",gqe="Una vez",vqe="Período",yqe="Segundos",_qe="Sencillo",bqe="Tiempo específico",wqe="fechas especificas",xqe="día(s) específico(s) de la semana",Sqe="día específico de semanas",Cqe="horas específicas",$qe="minutos específicos",kqe="meses específicos",Eqe="segundos específicos",Tqe="Hora",Oqe="A",Dqe="Mago",Aqe="todas",Iqe="Día astro",Mqe="Noche astro",Pqe="Amanecer",Nqe="Oscuridad",Rqe="hora dorada",jqe="Fin de la hora dorada",Lqe="Nadir",zqe="Amanecer náutico",Fqe="Anochecer náutico",Bqe="Noche",Wqe="Fin de la noche",Hqe="Mediodía solar",Uqe="amanecer",Vqe="Fin del amanecer",qqe="Puesta de sol",Gqe="Puesta de sol",Xqe="a",Jqe="en %s",Yqe="cada día",Kqe="cada hora",Zqe="cada minuto",Qqe="cada mes",eGe="cada %s días",tGe="cada %s horas",rGe="cada %s minutos",nGe="cada %s meses",oGe="cada %s semanas",aGe="cada %s años",iGe="cada semana",sGe="todos los años",lGe="de %s a %s",cGe="Nunca",dGe="en %s de %s",uGe="en %s y %s de",pGe="en cada fecha de",hGe="%s",fGe="%s y %s",mGe="en %s",gGe="en %s y %s",vGe="en los fines de semana",yGe="en días laborables",_Ge="ya no se ejecutará más, porque el inicio está en el pasado",bGe="en %s",wGe="de %s",xGe="Ejecutar desde hasta",SGe="a %s",CGe="cada",$Ge="Tiempo específico",kGe="de",EGe="De-a",TGe="Tiempo de intervalo",OGe="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",DGe="ninguna",AGe="en",IGe="Período",MGe="Diario",PGe="fechas",NGe="Día",RGe="Cada",jGe="Cada día",LGe="Cada mes",zGe="Cada semana",FGe="Todos los años",BGe="Horas",WGe="Minutos",HGe="mes",UGe="Mensual",VGe="Una vez",qGe="Meses específicos",GGe="Semana",XGe="Días laborables",JGe="Fin de semana",YGe="Semanal",KGe="Días laborables",ZGe="Año",QGe="Anual",eXe="Tiempo específico",tXe="Hora",rXe="a",nXe="Válido",oXe="de",aXe="a",iXe="Todo el dia",sXe="cada mes",lXe={"ra_%s links from aliases":"%s enlaces de alias","ra_%s object(s) processed":"%s objeto(s) procesados","ra_%s was imported":"%s fue importado","ra_Accept license":"Aceptar licencia","ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar árbol de objetos desde el archivo JSON","ra_Add row":"Añadir fila","ra_Advanced options":"Opciones avanzadas","ra_All items are filtered out":"Todos los elementos se filtran","ra_All objects":"Todos los objetos",ra_Append:lHe,"ra_Append %s entries or replace existing?":"¿Agregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"¿Agregar o reemplazar?","ra_Are you sure?":"¿Estás seguro?","ra_Auto (no custom columns)":"Automático (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:cHe,"ra_Cannot add items with set filter":"No se pueden agregar elementos con el filtro establecido","ra_Cannot decode license":"No se puede decodificar la licencia","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"No se puede determinar la posición: la configuración del sistema está vacía y la detección de GPS está deshabilitada en el navegador",'ra_Cannot find "%s"':'No se puede encontrar "%s"','ra_Cannot read "%s"':'No se puede leer "%s"',"ra_Cannot read licenses: %s":"No se pueden leer licencias: %s","ra_Cannot retrieve options, as instance is offline":"No se pueden recuperar las opciones, ya que la instancia está fuera de línea","ra_Cannot update attribute, because not found in the object":"No se puede actualizar el atributo porque no se encuentra en el objeto","ra_Cannot upload":"no se puede cargar",ra_Categories:dHe,"ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel → State":"Canal → Estado","ra_Check license":"Verificar licencia",ra_Checked:uHe,ra_Clear:pHe,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Clone current row":"Clonar fila actual",ra_Close:hHe,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:fHe,ra_Configure:mHe,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:gHe,ra_Copied:vHe,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:yHe,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:_He,"ra_Define CRON...":"Definir CRON...","ra_Define functions":"Definir funciones","ra_Define rooms":"Definir habitaciones","ra_Define schedule":"Definir horario","ra_Define schedule...":"Definir horario ...",ra_Del:bHe,ra_Delete:wHe,"ra_Delete (no confirm for 5 mins)":"Eliminar (sin confirmar durante 5 minutos)","ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:xHe,ra_Disconnected:SHe,"ra_Do not export values of states":"No exportar valores de estados.","ra_Do not use let's encrypt":"No use vamos a cifrar","ra_Double click to reset table layout":"Haga doble clic para restablecer el diseño de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aquí, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aquí","ra_Drop the files here...":"Suelta el archivo aquí ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuración personalizada","ra_Edit function":"Función de edición","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edición","ra_Edit value":"Editar valor",ra_Error:CHe,"ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Export data to %s file":"Exportar datos al archivo %s","ra_Failed to open JSON File":"No se pudo abrir el archivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"El archivo es demasiado grande. Máximo de %sk permitido. Intenta usar SVG.",ra_Filter:$He,"ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder → Channel → State":"Carpeta → Canal → Estado","ra_Folder → Device → Channel → State":"Carpeta → Dispositivo → Canal → Estado","ra_Folder → State":"Carpeta → Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:kHe,"ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vacías","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.","ra_Import data from %s file":"Importar datos del archivo %s","ra_Import from %s":"Importar desde %s","ra_Instance %s is alive":"Instancia %s está vivo","ra_Instance %s is not alive":"Instancia %s no está vivo","ra_Instance is not alive":"La instancia no está viva","ra_Invalid CRON":"CRON no válido","ra_Invalid JSON":"JSON no válido","ra_Invalid answer from server":"Respuesta inválida del servidor","ra_Invalid parent folder!":"Carpeta principal no válida.","ra_Invalid structure":"Estructura inválida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:EHe,"ra_License %s":"Licencia %s","ra_License agreement":"Acuerdo de licencia","ra_License does not exist":"La licencia no existe","ra_License expired on %s":"La licencia venció el %s",'ra_License for other product "%s"':'Licencia para otro producto "%s"',"ra_License is for version %s, but required version is %s.":"La licencia es para la versión %s, pero la versión requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versión más reciente. Puedes hacerlo en tu perfil de iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licencia no encontrada en el administrador de licencias. ¿Quieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuración desde archivo",ra_Longitude:THe,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:OHe,ra_Monday:DHe,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:AHe,"ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontró ninguna licencia en el administrador de licencias","ra_No response from the backend":"No hay respuesta del backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Los no expertos pueden crear nuevos objetos solo en "0_userdata.0" o "alias.0".',"ra_Not a number":"No un número",ra_Objects:IHe,ra_Ok:MHe,"ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo están disponibles las siguientes estructuras de objetos:","ra_Only selected":"Solo seleccionados","ra_Owner group":"Grupo propietario","ra_Owner user":"Usuario propietario","ra_Passwords are not equal!":"¡Las contraseñas no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración","ra_Please confirm":"Por favor confirmar","ra_Please create license":"Por favor cree una licencia","ra_Please enter the license":"Por favor ingrese la licencia","ra_Please select file...":"Seleccione el archivo...","ra_Please select object ID...":"Por favor seleccione ID de objeto ...","ra_Port could be used by %s":"El puerto podría ser utilizado por %s","ra_Port is already used by %s":"El puerto ya está en uso por %s","ra_Private certificate":"certificado privado",ra_Product:PHe,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Repeat:NHe,ra_Replace:RHe,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:jHe,ra_Saturday:LHe,ra_Save:zHe,"ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuración en archivo","ra_Save objects tree as JSON file":"Guardar el árbol de objetos como archivo JSON","ra_Select all":"Seleccionar todo","ra_Select color":"Seleccionar el color","ra_Select predefined icon":"Seleccionar icono predefinido","ra_Select type of export":"Seleccione tipo de exportación",ra_Selected:FHe,"ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"Número de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El número de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar líneas entre filas","ra_Show/Hide object descriptions":"Mostrar/ocultar descripciones de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Algunos datos no se almacenan. ¿Desechar?",ra_States:BHe,"ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:WHe,"ra_Suppress question for next %s minutes":"Suprimir pregunta durante los próximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posición desde el navegador","ra_Take position from system settings":"Tomar posición desde la configuración del sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, "vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"No se encontró la página que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutará cada minuto. ¿Estás seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutará cada segundo. ¿Estás seguro?",ra_Thursday:HHe,ra_Timestamp:UHe,"ra_Toggle expert mode":"Alternar modo experto","ra_Toggle the states view":"Alternar la vista de estados","ra_Toggle view mode":"Alternar modo de vista","ra_Too big":"Demasiado grande","ra_Too small":"Demasiado pequeña","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:VHe,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:qHe,"ra_Upload file":"Subir archivo","ra_Use all available let's encrypt certificates":"Utilice todos los certificados let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use el adaptador iobroker.acme para los certificados de letsencrypt","ra_Use system settings for position":"Usar la configuración del sistema para la posición","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:GHe,ra_Value:XHe,ra_Version:JHe,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:YHe,ra_Width:KHe,ra_Yes:ZHe,"ra_You can export all objects or just the selected branch.":"Puede exportar todos los objetos o solo la rama seleccionada.","ra_You can filter entries by entering here some text":"Puede filtrar las entradas ingresando aquí algún texto",ra___different__:QHe,ra_aclEveryone_read_object:eUe,ra_aclEveryone_read_state:tUe,ra_aclEveryone_write_object:rUe,ra_aclEveryone_write_state:nUe,ra_aclGroup_read_object:oUe,ra_aclGroup_read_state:aUe,ra_aclGroup_write_object:iUe,ra_aclGroup_write_state:sUe,ra_aclOwner_read_object:lUe,ra_aclOwner_read_state:cUe,ra_aclOwner_write_object:dUe,ra_aclOwner_write_state:uUe,ra_buttons:pUe,ra_changedFrom:hUe,ra_close:fUe,ra_create_boolean_state:mUe,ra_create_channel:gUe,ra_create_device:vUe,ra_create_number_state:yUe,ra_create_state:_Ue,ra_create_string_state:bUe,ra_daysShortText:wUe,ra_dow_Fr:xUe,ra_dow_Mo:SUe,ra_dow_Sa:CUe,ra_dow_Su:$Ue,ra_dow_Th:kUe,ra_dow_Tu:EUe,ra_dow_We:TUe,ra_expertMode:OUe,ra_fileType_all:DUe,ra_fileType_audio:AUe,ra_fileType_code:IUe,ra_fileType_images:MUe,ra_fileType_txt:PUe,ra_fileType_video:NUe,"ra_fileType_video,":"Video",ra_filter_customs:RUe,ra_filter_customs_without:jUe,ra_filter_func:LUe,ra_filter_id:zUe,ra_filter_name:FUe,ra_filter_role:BUe,ra_filter_room:WUe,ra_filter_type:HUe,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:UUe,ra_lastChange:VUe,ra_locally:qUe,ra_month_Apr:GUe,ra_month_Aug:XUe,ra_month_Dec:JUe,ra_month_Feb:YUe,ra_month_Jan:KUe,ra_month_Jul:ZUe,ra_month_Jun:QUe,ra_month_Mai:eVe,ra_month_Mar:tVe,ra_month_Nov:rVe,ra_month_Oct:nVe,ra_month_Sep:oVe,ra_months_Apr:aVe,ra_months_Aug:iVe,ra_months_Dec:sVe,ra_months_Feb:lVe,ra_months_Jan:cVe,ra_months_Jul:dVe,ra_months_Jun:uVe,ra_months_Mai:pVe,ra_months_Mar:hVe,ra_months_Nov:fVe,ra_months_Oct:mVe,ra_months_Sep:gVe,ra_none:vVe,ra_object_changed_by:yVe,ra_object_changed_by_user:_Ve,ra_otherConfig:bVe,ra_qualityCode:wVe,ra_repeat:xVe,ra_select_folder_hint:SVe,ra_state_changed_by:CVe,ra_state_changed_from:$Ve,ra_timestamp:kVe,ra_tooltip_ack:EVe,ra_tooltip_comment:TVe,ra_tooltip_copyState:OVe,ra_tooltip_customConfig:DVe,ra_tooltip_deleteObject:AVe,ra_tooltip_editObject:IVe,ra_tooltip_editState:MVe,ra_tooltip_from:PVe,ra_tooltip_lc:NVe,ra_tooltip_quality:RVe,ra_tooltip_ts:jVe,ra_tooltip_user:LVe,ra_tooltip_value:zVe,"ra_use seconds":"usar segundos",ra_val:FVe,"ra_via internet":"vía Internet",ra_warning_every_minute:BVe,ra_warning_every_second:WVe,sc_cron:HVe,sc_date:UVe,sc_dates:VVe,sc_dow:qVe,sc_dows:GVe,sc_every:XVe,sc_everyN_dates:JVe,sc_everyN_dow:YVe,sc_everyN_dows:KVe,sc_everyN_hours:ZVe,sc_everyN_minutes:QVe,sc_everyN_months:eqe,sc_everyN_seconds:tqe,sc_every_dates:rqe,sc_every_dow:nqe,sc_every_dows:oqe,sc_every_hours:aqe,sc_every_minutes:iqe,sc_every_months:sqe,sc_every_seconds:lqe,sc_from:cqe,sc_hours:dqe,sc_interval:uqe,sc_intervalBetween:pqe,sc_invalid_cron:hqe,sc_minutes:fqe,sc_months:mqe,sc_once:gqe,sc_period:vqe,sc_seconds:yqe,sc_simple:_qe,sc_specific:bqe,sc_specific_dates:wqe,sc_specific_dow:xqe,sc_specific_dows:Sqe,sc_specific_hours:Cqe,sc_specific_minutes:$qe,sc_specific_months:kqe,sc_specific_seconds:Eqe,sc_time:Tqe,sc_to:Oqe,sc_wizard:Dqe,sch_all:Aqe,sch_astroDay:Iqe,sch_astroNight:Mqe,sch_astro_dawn:Pqe,sch_astro_dusk:Nqe,sch_astro_goldenHour:Rqe,sch_astro_goldenHourEnd:jqe,sch_astro_nadir:Lqe,sch_astro_nauticalDawn:zqe,sch_astro_nauticalDusk:Fqe,sch_astro_night:Bqe,sch_astro_nightEnd:Wqe,sch_astro_solarNoon:Hqe,sch_astro_sunrise:Uqe,sch_astro_sunriseEnd:Vqe,sch_astro_sunset:qqe,sch_astro_sunsetStart:Gqe,sch_at:Xqe,sch_desc_atTime:Jqe,sch_desc_everyDay:Yqe,sch_desc_everyHour:Kqe,sch_desc_everyMinute:Zqe,sch_desc_everyMonth:Qqe,sch_desc_everyNDay:eGe,sch_desc_everyNHours:tGe,sch_desc_everyNMinutes:rGe,sch_desc_everyNMonths:nGe,sch_desc_everyNWeeks:oGe,sch_desc_everyNYears:aGe,sch_desc_everyWeek:iGe,sch_desc_everyYear:sGe,sch_desc_intervalFromTo:lGe,sch_desc_never:cGe,sch_desc_onDate:dGe,sch_desc_onDates:uGe,sch_desc_onEveryDate:pGe,sch_desc_onMonth:hGe,sch_desc_onMonths:fGe,sch_desc_onWeekday:mGe,sch_desc_onWeekdays:gGe,sch_desc_onWeekends:vGe,sch_desc_onWorkdays:yGe,sch_desc_onceInPast:_Ge,sch_desc_once_on:bGe,sch_desc_validFrom:wGe,sch_desc_validFromTo:xGe,sch_desc_validTo:SGe,sch_every:CGe,sch_exactTime:$Ge,sch_from:kGe,sch_fromTo:EGe,sch_intervalTime:TGe,sch_invert:OGe,sch_no_one:DGe,sch_on:AGe,sch_period:IGe,sch_periodDaily:MGe,sch_periodDates:PGe,sch_periodDay:NGe,sch_periodEvery:RGe,sch_periodEveryDay:jGe,sch_periodEveryMonth:LGe,sch_periodEveryWeek:zGe,sch_periodEveryYear:FGe,sch_periodHours:BGe,sch_periodMinutes:WGe,sch_periodMonth:HGe,sch_periodMonthly:UGe,sch_periodOnce:VGe,sch_periodSpecificMonths:qGe,sch_periodWeek:GGe,sch_periodWeekdays:XGe,sch_periodWeekend:JGe,sch_periodWeekly:YGe,sch_periodWorkdays:KGe,sch_periodYear:ZGe,sch_periodYearly:QGe,sch_specificTime:eXe,sch_time:tXe,sch_to:rXe,sch_valid:nXe,sch_validFrom:oXe,sch_validTo:aXe,sch_wholeDay:iXe,sch_yearEveryMonth:sXe},cXe="Dodać",dXe="Anuluj",uXe="Kategorie",pXe="Sprawdzony",hXe="Kasować",fXe="Blisko",mXe="Handlowy",gXe="Konfiguruj",vXe="Połączony",yXe="Skopiowano",_Xe="Stwórz",bXe="Przyciąć",wXe="Delete",xXe="Usunąć",SXe="Wyrzucać",CXe="Niepowiązany",$Xe="Błąd",kXe="Filtr",EXe="Piątek",TXe="Szerokość",OXe="Długość geograficzna",DXe="Wiadomość",AXe="Poniedziałek",IXe="Nazwa",MXe="Obiekty",PXe="Dobrze",NXe="Produkt",RXe="Powtarzać",jXe="Zastępować",LXe="Korzeń",zXe="Sobota",FXe="Zapisać",BXe="Wybrany",WXe="Stany",HXe="Niedziela",UXe="Czwartek",VXe="Znak czasu",qXe="Wtorek",GXe="Aktualizacja",XXe="Obowiązuje do",JXe="Wartość",YXe="Wersja",KXe="Środa",ZXe="Szerokość",QXe="Tak",eJe="różne",tJe="Każdy może czytać obiekt",rJe="Każdy może czytać stan",nJe="Każdy może pisać przedmiot",oJe="Każdy może pisać stan",aJe="Grupa może odczytać obiekt",iJe="Grupa może odczytać stan",sJe="Grupa może pisać obiekt",lJe="Grupa może pisać stan",cJe="Właściciel może czytać obiekt",dJe="Właściciel może odczytać stan",uJe="Właściciel może napisać obiekt",pJe="Właściciel może pisać stan",hJe="guziki",fJe="Zmieniony z",mJe="blisko",gJe="Utwórz stan logiczny",vJe="Utwórz kanał",yJe="Utwórz urządzenie",_Je="Utwórz stan liczbowy",bJe="Utwórz stan",wJe="Utwórz stan ciągu",xJe="d.",SJe="Ks",CJe="Mo",$Je="Sa",kJe="Su",EJe="Th",TJe="Tu",OJe="My",DJe="Tryb ekspercki",AJe="Wszystkie pliki",IJe="Audio",MJe="Kod/JSON",PJe="Obrazy",NJe="Tekst",RJe="Wideo",jJe="Ustawienia",LJe="bez",zJe="Funkcjonować",FJe="ID",BJe="Imię",WJe="Rola",HJe="Sala",UJe="Rodzaj",VJe="Nieprawidłowe ustawienia",qJe="Ostatnia zmiana",GJe="lokalnie",XJe="kwiecień",JJe="sierpień",YJe="grudzień",KJe="luty",ZJe="styczeń",QJe="lipiec",eYe="czerwiec",tYe="Mai",rYe="Zniszczyć",nYe="listopad",oYe="październik",aYe="wrzesień",iYe="kwiecień",sYe="sierpień",lYe="grudzień",cYe="luty",dYe="styczeń",uYe="lipiec",pYe="czerwiec",hYe="Mai",fYe="Zniszczyć",mYe="listopad",gYe="październik",vYe="wrzesień",yYe="Żaden",_Ye="Obiekt zmieniony przez",bYe="Obiekt ostatnio zmieniony o godz",wYe="Ustawienia z innego adaptera %s",xYe="Kod jakości",SYe="powtarzać",CYe="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",$Ye="Stan zmieniony przez",kYe="Obiekt zmieniony z",EYe="Znak czasu",TYe="Potwierdzon",OYe="Komentarz",DYe="Skopiuj wartość stanu",AYe="Własne ustawienia",IYe="Usuń obiekt",MYe="Edytuj obiekt",PYe="Edytuj wartość stanu",NYe="Z",RYe="Ostatnia zmiana",jYe="Jakość",LYe="Znak czasu",zYe="Użytkownik",FYe="Wartość",BYe="Wartość",WYe="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",HYe="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",UYe="CRON",VYe="Data",qYe="Daktyle",GYe="Dzień",XYe="Dzień tygodnia",JYe="Każdy",YYe="co N dni",KYe="w każdy N-ty dzień tygodnia",ZYe="co N dnia tygodnia",QYe="co N godzin",eKe="co N minut",tKe="co N miesięcy",rKe="co N sekund",nKe="codziennie",oKe="każdy dzień tygodnia",aKe="każdy dzień tygodnia",iKe="co godzinę",sKe="każda minuta",lKe="każdego miesiąca",cKe="każda sekunda",dKe="Od",uKe="godziny",pKe="Interwał",hKe="Interwał między",fKe="Nieprawidłowy CRON",mKe="Minuty",gKe="miesięcy",vKe="Pewnego razu",yKe="Kropka",_Ke="sekundy",bKe="Prosty",wKe="Określony czas",xKe="konkretne daty",SKe="określone dni tygodnia",CKe="określony dzień tygodni",$Ke="określone godziny",kKe="określone minuty",EKe="określone miesiące",TKe="określone sekundy",OKe="Czas",DKe="Do",AKe="Czarodziej",IKe="wszystko",MKe="Dzień Astro",PKe="Noc Astro",NKe="Świt",RKe="Zmierzch",jKe="złota godzina",LKe="Koniec złotej godziny",zKe="Nadir",FKe="Morski świt",BKe="Morski zmierzch",WKe="Noc",HKe="Koniec nocy",UKe="Południe słoneczne",VKe="wschód słońca",qKe="Koniec wschodu słońca",GKe="Zachód słońca",XKe="Początek zachodu słońca",JKe="w",YKe="na %s",KKe="codziennie",ZKe="co godzinę",QKe="każda minuta",eZe="każdego miesiąca",tZe="każdego dnia %s",rZe="co %s godzin",nZe="co %s minut",oZe="co %s miesięcy",aZe="co %s tygodni",iZe="co %s lat",sZe="co tydzień",lZe="każdego roku",cZe="od %s do %s",dZe="nigdy",uZe="na %s z %s",pZe="na %s i %s z",hZe="w każdą datę",fZe="%s",mZe="%s i %s",gZe="na %s",vZe="na %s i %s",yZe="w weekendy",_Ze="w dni robocze",bZe="nie będzie już wykonywany, ponieważ start jest w przeszłości",wZe="na %s",xZe="z %s",SZe="Wykonaj od do",CZe="do %s",$Ze="każdy",kZe="Określony czas",EZe="od",TZe="Od-do",OZe="Czas przerwy",DZe="odwracać",AZe="Żaden",IZe="na",MZe="Kropka",PZe="Codziennie",NZe="Daktyle",RZe="Dzień",jZe="Każdy",LZe="Codziennie",zZe="Każdego miesiąca",FZe="Co tydzień",BZe="Każdego roku",WZe="godziny",HZe="Minuty",UZe="miesiąc",VZe="Miesięczny",qZe="Pewnego razu",GZe="Określone miesiące",XZe="Tydzień",JZe="Dni powszednie",YZe="Weekend",KZe="Co tydzień",ZZe="Dni robocze",QZe="Rok",eQe="Rocznie",tQe="Określony czas",rQe="Czas",nQe="do",oQe="Ważny",aQe="od",iQe="do",sQe="Cały dzień",lQe="każdego miesiąca",cQe={"ra_%s links from aliases":"%s linków z aliasów","ra_%s object(s) processed":"Przetworzono %s obiektów","ra_%s was imported":"%s został zaimportowany","ra_Accept license":"Zaakceptuj licencję","ra_Add new child object to selected parent":"Dodaj nowy obiekt potomny do wybranego rodzica","ra_Add objects tree from JSON file":"Dodaj drzewo obiektów z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje są odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:cXe,"ra_Append %s entries or replace existing?":"Dołączyć wpisy %s czy zastąpić istniejące?","ra_Append or replace?":"Dołączyć czy zastąpić?","ra_Are you sure?":"Jesteś pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powrót do %s","ra_Background image":"Zdjęcie w tle",ra_Cancel:dXe,"ra_Cannot add items with set filter":"Nie można dodać elementów z ustawionym filtrem","ra_Cannot decode license":"Nie można zdekodować licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie można określić pozycji: ustawienia systemu są puste, a wykrywanie GPS jest wyłączone w przeglądarce",'ra_Cannot find "%s"':"Nie można znaleźć „%s”",'ra_Cannot read "%s"':"Nie można odczytać „%s”","ra_Cannot read licenses: %s":"Nie można odczytać licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie można pobrać opcji, ponieważ instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie można zaktualizować atrybutu, ponieważ nie znaleziono go w obiekcie","ra_Cannot upload":"Nie można przesłać",ra_Categories:uXe,"ra_Chained certificate":"Certyfikat łańcuchowy","ra_Change color theme":"Zmień motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel → State":"Kanał → Stan","ra_Check license":"Sprawdź licencję",ra_Checked:pXe,ra_Clear:hXe,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:fXe,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:mXe,ra_Configure:gXe,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:vXe,ra_Copied:yXe,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:_Xe,"ra_Create alias":"Utwórz alias","ra_Create folder":"Utwórz folder","ra_Create new folder in %s":"Utwórz nowy folder w %s",ra_Crop:bXe,"ra_Define CRON...":"Zdefiniuj CRON...","ra_Define functions":"Zdefiniuj funkcje","ra_Define rooms":"Zdefiniuj pokoje","ra_Define schedule":"Zdefiniuj harmonogram","ra_Define schedule...":"Zdefiniuj harmonogram ...",ra_Del:wXe,ra_Delete:xXe,"ra_Delete (no confirm for 5 mins)":"Usuń (bez potwierdzenia przez 5 minut)","ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan",ra_Discard:SXe,ra_Disconnected:CXe,"ra_Do not export values of states":"Nie eksportuj wartości stanów","ra_Do not use let's encrypt":"Nie używaj zaszyfrujmy","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetować układ tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeciągnij i upuść kilka plików tutaj lub kliknij, aby wybrać pliki","ra_Drop file here":"Upuść plik tutaj","ra_Drop the files here...":"Upuść plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfigurację niestandardową","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rolę","ra_Edit room":"Edytuj pokój","ra_Edit value":"Edytuj wartość",ra_Error:$Xe,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie udało się otworzyć pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zastępcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",ra_Filter:kXe,"ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder → Channel → State":"Folder → Kanał → Stan","ra_Folder → Device → Channel → State":"Folder → Urządzenie → Kanał → Stan","ra_Folder → State":"Folder → Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:EXe,"ra_Good luck":"Powodzenia","ra_Hide empty folders":"Ukryj puste foldery","ra_If no file will be created in the folder, it will disappear after the browser closed":"Jeśli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki","ra_Import data from %s file":"Importuj dane z pliku %s","ra_Import from %s":"Importuj z %s","ra_Instance %s is alive":"Instancja %s jest aktywna","ra_Instance %s is not alive":"Instancja TEKST nie jest aktywna","ra_Instance is not alive":"Instancja nie jest aktywna","ra_Invalid CRON":"Nieprawidłowy CRON","ra_Invalid JSON":"Nieprawidłowy JSON","ra_Invalid answer from server":"Nieprawidłowa odpowiedź z serwera","ra_Invalid parent folder!":"Nieprawidłowy folder nadrzędny!","ra_Invalid structure":"Nieprawidłowa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:TXe,"ra_License %s":"Licencja %s","ra_License agreement":"Umowa licencyjna","ra_License does not exist":"Licencja nie istnieje","ra_License expired on %s":"Licencja wygasła w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt „%s”","ra_License is for version %s, but required version is %s.":"Licencja dotyczy wersji %s, ale wymagana wersja to %s.","ra_License must be converted":"Licencja musi zostać przekonwertowana na nowszą wersję. Możesz to zrobić w swoim profilu iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Nie znaleziono licencji w menedżerze licencji. Chcesz zaktualizować licencje z iobroker.net?","ra_Listen on all IPs":"Słuchaj na wszystkich adresach IP","ra_Load configuration from file":"Załaduj konfigurację z pliku",ra_Longitude:OXe,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:DXe,ra_Monday:AXe,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:IXe,"ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w menedżerze licencji","ra_No response from the backend":"Brak odpowiedzi z zaplecza",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Osoby nie będące ekspertami mogą tworzyć nowe obiekty tylko w „0_userdata.0” lub „alias.0”.","ra_Not a number":"Nie numer",ra_Objects:MXe,ra_Ok:PXe,"ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dostępne są tylko następujące struktury obiektów:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa właścicieli","ra_Owner user":"Właściciel użytkownika","ra_Passwords are not equal!":"Hasła nie są równe!","ra_Place your files here or click here to open the browse dialog":"Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania","ra_Please confirm":"Proszę potwierdzić","ra_Please create license":"Utwórz licencję","ra_Please enter the license":"Proszę wprowadzić licencję","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port może być używany przez %s","ra_Port is already used by %s":"Port jest już używany przez %s","ra_Private certificate":"Prywatny certyfikat",ra_Product:NXe,"ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jakości","ra_Refresh tree":"Odśwież drzewo","ra_Reload files":"Załaduj ponownie pliki",ra_Repeat:RXe,ra_Replace:jXe,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:LXe,ra_Saturday:zXe,ra_Save:FXe,"ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfigurację do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiektów jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowaną ikonę","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:BXe,"ra_Selected %s object(s)":"Wybrane obiekty %s","ra_Serial number (UUID)":"Numer seryjny (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Numer seryjny (UUID) „%s” w licencji dotyczy innego urządzenia.","ra_Show all folders":"Pokaż wszystkie foldery","ra_Show lines between rows":"Pokaż linie między rzędami","ra_Show/Hide object descriptions":"Pokaż/ukryj opisy obiektów","ra_Show/hide filter input":"Pokaż/ukryj wejście filtra","ra_Some data are not stored. Discard?":"Niektóre dane nie są przechowywane. Wyrzucać?",ra_States:WXe,"ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w menedżerze licencji",ra_Sunday:HXe,"ra_Suppress question for next %s minutes":"Ukryj pytanie przez następne %s minut","ra_System language":"Język systemu","ra_Take browser position":"Zajmij pozycję z przeglądarki","ra_Take position from system settings":"Zajmij pozycję z ustawień systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mogą tworzyć obiekty wszędzie poza drugim poziomem (np. „Vis.0” lub „javascript.0”).","ra_The page you are looking for was not found":"Strona, której szukasz nie została znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram będzie wykonywany co minutę. Czy jesteś pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram będzie wykonywany co sekundę. Czy jesteś pewien?",ra_Thursday:UXe,ra_Timestamp:VXe,"ra_Toggle expert mode":"Przełącz tryb eksperta","ra_Toggle the states view":"Przełącz widok stanów","ra_Toggle view mode":"Przełącz tryb widoku","ra_Too big":"Za duży","ra_Too small":"Za mały","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:qXe,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:GXe,"ra_Upload file":"Przesyłanie pliku","ra_Use all available let's encrypt certificates":"Użyj wszystkich dostępnych certyfikatów Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Użyj adaptera iobroker.acme dla certyfikatów letsencrypt","ra_Use system settings for position":"Użyj ustawień systemowych dla pozycji","ra_Used system settings":"Używane ustawienia systemowe","ra_User files":"Pliki użytkownika",ra_ValidTill:XXe,ra_Value:JXe,ra_Version:YXe,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:KXe,ra_Width:ZXe,ra_Yes:QXe,"ra_You can export all objects or just the selected branch.":"Możesz wyeksportować wszystkie obiekty lub tylko wybraną gałąź.","ra_You can filter entries by entering here some text":"Możesz filtrować wpisy, wpisując tutaj jakiś tekst",ra___different__:eJe,ra_aclEveryone_read_object:tJe,ra_aclEveryone_read_state:rJe,ra_aclEveryone_write_object:nJe,ra_aclEveryone_write_state:oJe,ra_aclGroup_read_object:aJe,ra_aclGroup_read_state:iJe,ra_aclGroup_write_object:sJe,ra_aclGroup_write_state:lJe,ra_aclOwner_read_object:cJe,ra_aclOwner_read_state:dJe,ra_aclOwner_write_object:uJe,ra_aclOwner_write_state:pJe,ra_buttons:hJe,ra_changedFrom:fJe,ra_close:mJe,ra_create_boolean_state:gJe,ra_create_channel:vJe,ra_create_device:yJe,ra_create_number_state:_Je,ra_create_state:bJe,ra_create_string_state:wJe,ra_daysShortText:xJe,ra_dow_Fr:SJe,ra_dow_Mo:CJe,ra_dow_Sa:$Je,ra_dow_Su:kJe,ra_dow_Th:EJe,ra_dow_Tu:TJe,ra_dow_We:OJe,ra_expertMode:DJe,ra_fileType_all:AJe,ra_fileType_audio:IJe,ra_fileType_code:MJe,ra_fileType_images:PJe,ra_fileType_txt:NJe,ra_fileType_video:RJe,"ra_fileType_video,":"Wideo",ra_filter_customs:jJe,ra_filter_customs_without:LJe,ra_filter_func:zJe,ra_filter_id:FJe,ra_filter_name:BJe,ra_filter_role:WJe,ra_filter_room:HJe,ra_filter_type:UJe,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:VJe,ra_lastChange:qJe,ra_locally:GJe,ra_month_Apr:XJe,ra_month_Aug:JJe,ra_month_Dec:YJe,ra_month_Feb:KJe,ra_month_Jan:ZJe,ra_month_Jul:QJe,ra_month_Jun:eYe,ra_month_Mai:tYe,ra_month_Mar:rYe,ra_month_Nov:nYe,ra_month_Oct:oYe,ra_month_Sep:aYe,ra_months_Apr:iYe,ra_months_Aug:sYe,ra_months_Dec:lYe,ra_months_Feb:cYe,ra_months_Jan:dYe,ra_months_Jul:uYe,ra_months_Jun:pYe,ra_months_Mai:hYe,ra_months_Mar:fYe,ra_months_Nov:mYe,ra_months_Oct:gYe,ra_months_Sep:vYe,ra_none:yYe,ra_object_changed_by:_Ye,ra_object_changed_by_user:bYe,ra_otherConfig:wYe,ra_qualityCode:xYe,ra_repeat:SYe,ra_select_folder_hint:CYe,ra_state_changed_by:$Ye,ra_state_changed_from:kYe,ra_timestamp:EYe,ra_tooltip_ack:TYe,ra_tooltip_comment:OYe,ra_tooltip_copyState:DYe,ra_tooltip_customConfig:AYe,ra_tooltip_deleteObject:IYe,ra_tooltip_editObject:MYe,ra_tooltip_editState:PYe,ra_tooltip_from:NYe,ra_tooltip_lc:RYe,ra_tooltip_quality:jYe,ra_tooltip_ts:LYe,ra_tooltip_user:zYe,ra_tooltip_value:FYe,"ra_use seconds":"użyj sekund",ra_val:BYe,"ra_via internet":"przez internet",ra_warning_every_minute:WYe,ra_warning_every_second:HYe,sc_cron:UYe,sc_date:VYe,sc_dates:qYe,sc_dow:GYe,sc_dows:XYe,sc_every:JYe,sc_everyN_dates:YYe,sc_everyN_dow:KYe,sc_everyN_dows:ZYe,sc_everyN_hours:QYe,sc_everyN_minutes:eKe,sc_everyN_months:tKe,sc_everyN_seconds:rKe,sc_every_dates:nKe,sc_every_dow:oKe,sc_every_dows:aKe,sc_every_hours:iKe,sc_every_minutes:sKe,sc_every_months:lKe,sc_every_seconds:cKe,sc_from:dKe,sc_hours:uKe,sc_interval:pKe,sc_intervalBetween:hKe,sc_invalid_cron:fKe,sc_minutes:mKe,sc_months:gKe,sc_once:vKe,sc_period:yKe,sc_seconds:_Ke,sc_simple:bKe,sc_specific:wKe,sc_specific_dates:xKe,sc_specific_dow:SKe,sc_specific_dows:CKe,sc_specific_hours:$Ke,sc_specific_minutes:kKe,sc_specific_months:EKe,sc_specific_seconds:TKe,sc_time:OKe,sc_to:DKe,sc_wizard:AKe,sch_all:IKe,sch_astroDay:MKe,sch_astroNight:PKe,sch_astro_dawn:NKe,sch_astro_dusk:RKe,sch_astro_goldenHour:jKe,sch_astro_goldenHourEnd:LKe,sch_astro_nadir:zKe,sch_astro_nauticalDawn:FKe,sch_astro_nauticalDusk:BKe,sch_astro_night:WKe,sch_astro_nightEnd:HKe,sch_astro_solarNoon:UKe,sch_astro_sunrise:VKe,sch_astro_sunriseEnd:qKe,sch_astro_sunset:GKe,sch_astro_sunsetStart:XKe,sch_at:JKe,sch_desc_atTime:YKe,sch_desc_everyDay:KKe,sch_desc_everyHour:ZKe,sch_desc_everyMinute:QKe,sch_desc_everyMonth:eZe,sch_desc_everyNDay:tZe,sch_desc_everyNHours:rZe,sch_desc_everyNMinutes:nZe,sch_desc_everyNMonths:oZe,sch_desc_everyNWeeks:aZe,sch_desc_everyNYears:iZe,sch_desc_everyWeek:sZe,sch_desc_everyYear:lZe,sch_desc_intervalFromTo:cZe,sch_desc_never:dZe,sch_desc_onDate:uZe,sch_desc_onDates:pZe,sch_desc_onEveryDate:hZe,sch_desc_onMonth:fZe,sch_desc_onMonths:mZe,sch_desc_onWeekday:gZe,sch_desc_onWeekdays:vZe,sch_desc_onWeekends:yZe,sch_desc_onWorkdays:_Ze,sch_desc_onceInPast:bZe,sch_desc_once_on:wZe,sch_desc_validFrom:xZe,sch_desc_validFromTo:SZe,sch_desc_validTo:CZe,sch_every:$Ze,sch_exactTime:kZe,sch_from:EZe,sch_fromTo:TZe,sch_intervalTime:OZe,sch_invert:DZe,sch_no_one:AZe,sch_on:IZe,sch_period:MZe,sch_periodDaily:PZe,sch_periodDates:NZe,sch_periodDay:RZe,sch_periodEvery:jZe,sch_periodEveryDay:LZe,sch_periodEveryMonth:zZe,sch_periodEveryWeek:FZe,sch_periodEveryYear:BZe,sch_periodHours:WZe,sch_periodMinutes:HZe,sch_periodMonth:UZe,sch_periodMonthly:VZe,sch_periodOnce:qZe,sch_periodSpecificMonths:GZe,sch_periodWeek:XZe,sch_periodWeekdays:JZe,sch_periodWeekend:YZe,sch_periodWeekly:KZe,sch_periodWorkdays:ZZe,sch_periodYear:QZe,sch_periodYearly:eQe,sch_specificTime:tQe,sch_time:rQe,sch_to:nQe,sch_valid:oQe,sch_validFrom:aQe,sch_validTo:iQe,sch_wholeDay:sQe,sch_yearEveryMonth:lQe},dQe="Додайте",uQe="Скасувати",pQe="Категорії",hQe="Перевірено",fQe="Видалити",mQe="Закрити",gQe="Комерційний",vQe="Налаштувати",yQe="Підключено",_Qe="Скопійовано",bQe="Створити",wQe="Урожай",xQe="Delete",SQe="Видалити",CQe="Відкинути",$Qe="Відключено",kQe="Помилка",EQe="фільтр",TQe="П'ятниця",OQe="Широта",DQe="Довгота",AQe="повідомлення",IQe="понеділок",MQe="Ім'я",PQe="Об'єкти",NQe="В порядку",RQe="Продукт",jQe="Повторіть",LQe="Замінити",zQe="Корінь",FQe="Субота",BQe="зберегти",WQe="Вибране",HQe="держави",UQe="неділя",VQe="четвер",qQe="Мітка часу",GQe="вівторок",XQe="оновлення",JQe="Дійсний до",YQe="Значення",KQe="Версія",ZQe="Середа",QQe="Ширина",eet="Так",tet="інший",ret="Кожен може читати об'єкт",net="Кожен може читати стан",oet="Кожен може написати об'єкт",aet="Кожен може написати стан",iet="Група може читати об'єкт",set="Група може читати стан",cet="Група може писати об'єкт",det="Група може писати стан",uet="Власник може читати об'єкт",pet="Власник може читати стан",het="Власник може написати об'єкт",fet="Власник може написати стан",met="кнопки",get="Змінено з",vet="закрити",yet="Створіть логічний стан",_et="Створити канал",bet="Створити пристрій",wet="Створити номерний стан",xet="Створити состояние",Cet="Створити рядковий стан",$et="днів",ket="О",Eet="пн",Tet="Sa",Oet="Нд",Det="чт",Aet="вт",Iet="ми",Met="Експертний режим",Pet="Всі файли",Net="Аудіо",Ret="Код/JSON",jet="Зображення",Let="текст",zet="відео",Fet="Налаштування",Bet="без",Wet="функція",Het="ID",Uet="Ім'я",Vet="Роль",qet="Кімната",Get="Тип",Xet="Недійсні налаштування",Jet="Остання зміна",Yet="локально",Ket="квіт",Zet="серп",Qet="груд",ett="лютий",ttt="січня",rtt="лип",ntt="черв",ott="травень",att="березень",itt="Листопад",stt="жовт",ltt="вер",ctt="квіт",dtt="серп",utt="груд",ptt="лютий",htt="січня",ftt="лип",mtt="черв",gtt="травень",vtt="березень",ytt="Листопад",_tt="жовт",btt="вер",wtt="немає",xtt="Об'єкт змінено",Stt="Об'єкт востаннє змінено о",Ctt="Налаштування з іншого адаптера %s",$tt="Код якості",ktt="повторити",Ett="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",Ttt="Стан змінено на",Ott="Об'єкт змінено з",Dtt="Мітка часу",Att="Визнано",Itt="коментар",Mtt="Скопіюйте значення стану",Ptt="Спеціальні налаштування",Ntt="Видалити об'єкт",Rtt="Редагувати об'єкт",jtt="Відредагуйте значення стану",Ltt="Від",ztt="Востаннє змінено",Ftt="якість",Btt="Позначка часу",Wtt="Користувач",Htt="Значення",Utt="Значення",Vtt="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",qtt="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",Gtt="CRON",Xtt="Дата",Jtt="дати",Ytt="День",Ktt="День тижня",Ztt="кожен",Qtt="кожні N днів",ert="кожен N-й день тижня",trt="кожні N днів тижня",rrt="кожні N годин",nrt="кожні N хвилин",ort="кожні N місяців",art="кожні N секунд",irt="кожен день",srt="кожен день тижня",lrt="кожен день тижня",crt="щогодини",drt="кожну хвилину",urt="щомісяця",prt="кожна секунда",hrt="Від",frt="години",mrt="Інтервал",grt="Інтервал між",vrt="Недійсний CRON",yrt="хвилин",_rt="місяців",brt="Один раз",wrt="Крапка",xrt="секунд",Srt="просто",Crt="Конкретний час",$rt="конкретні дати",krt="конкретний день (дні) тижня",Ert="конкретний день тижня",Trt="конкретні години",Ort="конкретні хвилини",Drt="конкретні місяці",Art="конкретні секунди",Irt="час",Mrt="до",Prt="майстер",Nrt="все",Rrt="Астродень",jrt="Астро ніч",Lrt="Світанок",zrt="Сутінки",Frt="Золота година",Brt="Кінець золотої години",Wrt="Надір",Hrt="Морський світанок",Urt="Морські сутінки",Vrt="ніч",qrt="Кінець ночі",Grt="Сонячний полудень",Xrt="Схід сонця",Jrt="Кінець сходу сонця",Yrt="Захід сонця",Krt="Початок заходу сонця",Zrt="в",Qrt="в %s",ent="кожен день",tnt="щогодини",rnt="кожну хвилину",nnt="щомісяця",ont="кожен %s день",ant="кожні %s годин",int="кожні %s хвилин",snt="кожні %s місяців",lnt="кожні %s тижнів",cnt="кожні %s років",dnt="щотижня",unt="щороку",pnt="від %s до %s",hnt="ніколи",fnt="на %s з %s",mnt="на %s і %s з",gnt="на кожну дату",vnt="%s",ynt="%s і %s",_nt="на %s",bnt="на %s і %s",wnt="на вихідних",xnt="в робочі дні",Snt="більше не виконуватиметься, оскільки запуск у минулому",Cnt="на %s",$nt="від %s",knt="Виконати від до",Ent="до %s",Tnt="кожен",Ont="Конкретний час",Dnt="від",Ant="Від до",Int="Час інтервалу",Mnt="інвертувати",Pnt="немає",Nnt="на",Rnt="Крапка",jnt="Щодня",Lnt="дати",znt="День",Fnt="кожен",Bnt="Кожен день",Wnt="Щомісяця",Hnt="Щотижня",Unt="Щороку",Vnt="години",qnt="хвилин",Gnt="місяць",Xnt="Щомісяця",Jnt="Один раз",Ynt="Конкретні місяці",Knt="тиждень",Znt="будні",Qnt="Вихідні",eot="Щотижня",tot="робочі дні",rot="рік",not="щорічно",oot="Конкретний час",aot="час",iot="до",sot="Дійсний",lot="від",cot="до",dot="Цілий день",uot="щомісяця",pot={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію","ra_Add new child object to selected parent":"Додати новий дочірній об’єкт до вибраного батьківського","ra_Add objects tree from JSON file":"Додайте дерево об’єктів із файлу JSON","ra_Add row":"Додати рядок","ra_Advanced options":"Розширені опції","ra_All items are filtered out":"Усі елементи відфільтровано","ra_All objects":"Всі об'єкти",ra_Append:dQe,"ra_Append %s entries or replace existing?":"Додати %s записів чи замінити наявні?","ra_Append or replace?":"Додати чи замінити?","ra_Are you sure?":"Ти впевнений?","ra_Auto (no custom columns)":"Автоматично (без спеціальних стовпців)","ra_Back to %s":"Назад до %s","ra_Background image":"Фонове зображення",ra_Cancel:uQe,"ra_Cannot add items with set filter":"Неможливо додати елементи зі встановленим фільтром","ra_Cannot decode license":"Неможливо розшифрувати ліцензію","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Неможливо визначити положення: системні налаштування порожні, а визначення GPS вимкнено в браузері",'ra_Cannot find "%s"':'Не вдається знайти "%s"','ra_Cannot read "%s"':'Неможливо прочитати "%s"',"ra_Cannot read licenses: %s":"Неможливо прочитати ліцензії: %s","ra_Cannot retrieve options, as instance is offline":"Неможливо отримати параметри, оскільки екземпляр офлайн","ra_Cannot update attribute, because not found in the object":"Неможливо оновити атрибут, оскільки його не знайдено в об’єкті","ra_Cannot upload":"Неможливо завантажити",ra_Categories:pQe,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:hQe,ra_Clear:fQe,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Clone current row":"Клонувати поточний рядок",ra_Close:mQe,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:gQe,ra_Configure:vQe,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:yQe,ra_Copied:_Qe,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:bQe,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:wQe,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:xQe,ra_Delete:SQe,"ra_Delete (no confirm for 5 mins)":"Видалити (без підтвердження протягом 5 хвилин)","ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан",ra_Discard:CQe,ra_Disconnected:$Qe,"ra_Do not export values of states":"Не експортуйте значення станів","ra_Do not use let's encrypt":"Не використовуйте let's encrypt","ra_Double click to reset table layout":"Двічі клацніть, щоб скинути макет таблиці","ra_Drag 'n' drop some files here, or click to select files":"Перетягніть деякі файли сюди або натисніть, щоб вибрати файли","ra_Drop file here":"Перетягніть файл сюди","ra_Drop the files here...":"Перетягніть файл сюди...","ra_Duplicate name":"Повторюване ім'я","ra_Edit ACL":"Редагувати ACL","ra_Edit alias":"Редагувати псевдонім","ra_Edit custom config":"Редагувати спеціальну конфігурацію","ra_Edit function":"функція редагування","ra_Edit object field":"Поле редагування об'єкта","ra_Edit role":"Редагувати роль","ra_Edit room":"Редагувати кімнату","ra_Edit value":"Редагувати значення",ra_Error:kQe,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Export data to %s file":"Експортувати дані у файл %s","ra_Failed to open JSON File":"Не вдалося відкрити файл JSON","ra_Fallback custom certificates":"Запасні спеціальні сертифікати","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл завеликий. Максимально дозволено %sk. Спробуйте використовувати SVG.",ra_Filter:EQe,"ra_Filter files":"Фільтр файлів","ra_Folder name":"Назва папки","ra_Folder → Channel → State":"Папка → Канал → Стан","ra_Folder → Device → Channel → State":"Папка → Пристрій → Канал → Стан","ra_Folder → State":"Папка → Стан","ra_Folders always first":"Папки завжди першими",ra_Friday:TQe,"ra_Good luck":"Удачі","ra_Hide empty folders":"Приховати порожні папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Якщо в папці не буде створено файл, він зникне після закриття браузера","ra_Import data from %s file":"Імпортувати дані з файлу %s","ra_Import from %s":"Імпортувати з %s","ra_Instance %s is alive":"Примірник %s живий","ra_Instance %s is not alive":"Примірник %s не живий","ra_Instance is not alive":"Примірник не живий","ra_Invalid CRON":"Недійсний CRON","ra_Invalid JSON":"Недійсний JSON","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:OQe,"ra_License %s":"Ліцензія %s","ra_License agreement":"Ліцензійна угода","ra_License does not exist":"Ліцензії не існує","ra_License expired on %s":"Термін дії ліцензії закінчився %s",'ra_License for other product "%s"':'Ліцензія на інший продукт "%s"',"ra_License is for version %s, but required version is %s.":"Ліцензія для версії %s, але потрібна версія %s.","ra_License must be converted":"Ліцензію необхідно конвертувати до новішої версії. Ви можете зробити це у своєму профілі на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Ліцензія не знайдена в менеджері ліцензій. Хочете оновити ліцензії з iobroker.net?","ra_Listen on all IPs":"Прослуховування на всіх IP","ra_Load configuration from file":"Завантажити конфігурацію з файлу",ra_Longitude:DQe,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:AQe,ra_Monday:IQe,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:MQe,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from the backend":"Немає відповіді від сервера",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Неексперти можуть створювати нові об’єкти лише в «0_userdata.0» або «alias.0».","ra_Not a number":"Не номер",ra_Objects:PQe,ra_Ok:NQe,"ra_On weekdays":"В будні дні","ra_Only following structures of objects are available:":"Доступні тільки такі структури об'єктів:","ra_Only selected":"Тільки обрані","ra_Owner group":"Група власників","ra_Owner user":"Користувач-власник","ra_Passwords are not equal!":"Паролі не бувають рівними!","ra_Place your files here or click here to open the browse dialog":"Розмістіть свої файли тут або натисніть тут, щоб відкрити діалогове вікно перегляду","ra_Please confirm":"Будь-ласка підтвердіть","ra_Please create license":"Будь ласка, створіть ліцензію","ra_Please enter the license":"Будь ласка, введіть ліцензію","ra_Please select file...":"Виберіть файл...","ra_Please select object ID...":"Виберіть ідентифікатор об'єкта...","ra_Port could be used by %s":"Порт може використовуватися %s","ra_Port is already used by %s":"Порт уже використовується %s","ra_Private certificate":"Приватний сертифікат",ra_Product:RQe,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Repeat:jQe,ra_Replace:LQe,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:zQe,ra_Saturday:FQe,ra_Save:BQe,"ra_Save and close":"Зберегти та закрити","ra_Save configuration to file":"Зберегти конфігурацію у файл","ra_Save objects tree as JSON file":"Зберегти дерево об’єктів як файл JSON","ra_Select all":"Вибрати все","ra_Select color":"Виберіть колір","ra_Select predefined icon":"Виберіть попередньо визначений значок","ra_Select type of export":"Виберіть тип експорту",ra_Selected:WQe,"ra_Selected %s object(s)":"Вибрані об’єкти %s","ra_Serial number (UUID)":"Серійний номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Серійний номер (UUID) "%s" у ліцензії призначений для іншого пристрою.',"ra_Show all folders":"Показати всі папки","ra_Show lines between rows":"Показувати лінії між рядками","ra_Show/Hide object descriptions":"Показати/Сховати описи об’єктів","ra_Show/hide filter input":"Показати/сховати введення фільтра","ra_Some data are not stored. Discard?":"Деякі дані не зберігаються. Відкинути?",ra_States:HQe,"ra_Suitable license not found in license manager":"Відповідна ліцензія не знайдена в менеджері ліцензій",ra_Sunday:UQe,"ra_Suppress question for next %s minutes":"Приховати запитання на наступні %s хвилин","ra_System language":"Системна мова","ra_Take browser position":"Займіть позицію з браузера","ra_Take position from system settings":"Займіть позицію в налаштуваннях системи",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Експерти можуть створювати об’єкти всюди, крім другого рівня (наприклад, «vis.0» або «javascript.0»).","ra_The page you are looking for was not found":"Сторінка, яку ви шукаєте, не знайдена","ra_The schedule will be executed every minute. Are you sure?":"Розклад буде виконуватися щохвилини. Ви впевнені?","ra_The schedule will be executed every second. Are you sure?":"Розклад буде виконуватися щосекунди. Ви впевнені?",ra_Thursday:VQe,ra_Timestamp:qQe,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:GQe,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:XQe,"ra_Upload file":"Завантажити файл","ra_Use all available let's encrypt certificates":"Використовуйте всі доступні сертифікати let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Використовуйте адаптер iobroker.acme для сертифікатів letsencrypt","ra_Use system settings for position":"Використовуйте системні налаштування для позиції","ra_Used system settings":"Використані системні налаштування","ra_User files":"Файли користувача",ra_ValidTill:JQe,ra_Value:YQe,ra_Version:KQe,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:ZQe,ra_Width:QQe,ra_Yes:eet,"ra_You can export all objects or just the selected branch.":"Ви можете експортувати всі об’єкти або лише вибрану гілку.","ra_You can filter entries by entering here some text":"Ви можете фільтрувати записи, ввівши тут певний текст",ra___different__:tet,ra_aclEveryone_read_object:ret,ra_aclEveryone_read_state:net,ra_aclEveryone_write_object:oet,ra_aclEveryone_write_state:aet,ra_aclGroup_read_object:iet,ra_aclGroup_read_state:set,ra_aclGroup_write_object:cet,ra_aclGroup_write_state:det,ra_aclOwner_read_object:uet,ra_aclOwner_read_state:pet,ra_aclOwner_write_object:het,ra_aclOwner_write_state:fet,ra_buttons:met,ra_changedFrom:get,ra_close:vet,ra_create_boolean_state:yet,ra_create_channel:_et,ra_create_device:bet,ra_create_number_state:wet,ra_create_state:xet,ra_create_string_state:Cet,ra_daysShortText:$et,ra_dow_Fr:ket,ra_dow_Mo:Eet,ra_dow_Sa:Tet,ra_dow_Su:Oet,ra_dow_Th:Det,ra_dow_Tu:Aet,ra_dow_We:Iet,ra_expertMode:Met,ra_fileType_all:Pet,ra_fileType_audio:Net,ra_fileType_code:Ret,ra_fileType_images:jet,ra_fileType_txt:Let,ra_fileType_video:zet,"ra_fileType_video,":"відео",ra_filter_customs:Fet,ra_filter_customs_without:Bet,ra_filter_func:Wet,ra_filter_id:Het,ra_filter_name:Uet,ra_filter_role:Vet,ra_filter_room:qet,ra_filter_type:Get,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:Xet,ra_lastChange:Jet,ra_locally:Yet,ra_month_Apr:Ket,ra_month_Aug:Zet,ra_month_Dec:Qet,ra_month_Feb:ett,ra_month_Jan:ttt,ra_month_Jul:rtt,ra_month_Jun:ntt,ra_month_Mai:ott,ra_month_Mar:att,ra_month_Nov:itt,ra_month_Oct:stt,ra_month_Sep:ltt,ra_months_Apr:ctt,ra_months_Aug:dtt,ra_months_Dec:utt,ra_months_Feb:ptt,ra_months_Jan:htt,ra_months_Jul:ftt,ra_months_Jun:mtt,ra_months_Mai:gtt,ra_months_Mar:vtt,ra_months_Nov:ytt,ra_months_Oct:_tt,ra_months_Sep:btt,ra_none:wtt,ra_object_changed_by:xtt,ra_object_changed_by_user:Stt,ra_otherConfig:Ctt,ra_qualityCode:$tt,ra_repeat:ktt,ra_select_folder_hint:Ett,ra_state_changed_by:Ttt,ra_state_changed_from:Ott,ra_timestamp:Dtt,ra_tooltip_ack:Att,ra_tooltip_comment:Itt,ra_tooltip_copyState:Mtt,ra_tooltip_customConfig:Ptt,ra_tooltip_deleteObject:Ntt,ra_tooltip_editObject:Rtt,ra_tooltip_editState:jtt,ra_tooltip_from:Ltt,ra_tooltip_lc:ztt,ra_tooltip_quality:Ftt,ra_tooltip_ts:Btt,ra_tooltip_user:Wtt,ra_tooltip_value:Htt,"ra_use seconds":"використовуйте секунди",ra_val:Utt,"ra_via internet":"через інтернет",ra_warning_every_minute:Vtt,ra_warning_every_second:qtt,sc_cron:Gtt,sc_date:Xtt,sc_dates:Jtt,sc_dow:Ytt,sc_dows:Ktt,sc_every:Ztt,sc_everyN_dates:Qtt,sc_everyN_dow:ert,sc_everyN_dows:trt,sc_everyN_hours:rrt,sc_everyN_minutes:nrt,sc_everyN_months:ort,sc_everyN_seconds:art,sc_every_dates:irt,sc_every_dow:srt,sc_every_dows:lrt,sc_every_hours:crt,sc_every_minutes:drt,sc_every_months:urt,sc_every_seconds:prt,sc_from:hrt,sc_hours:frt,sc_interval:mrt,sc_intervalBetween:grt,sc_invalid_cron:vrt,sc_minutes:yrt,sc_months:_rt,sc_once:brt,sc_period:wrt,sc_seconds:xrt,sc_simple:Srt,sc_specific:Crt,sc_specific_dates:$rt,sc_specific_dow:krt,sc_specific_dows:Ert,sc_specific_hours:Trt,sc_specific_minutes:Ort,sc_specific_months:Drt,sc_specific_seconds:Art,sc_time:Irt,sc_to:Mrt,sc_wizard:Prt,sch_all:Nrt,sch_astroDay:Rrt,sch_astroNight:jrt,sch_astro_dawn:Lrt,sch_astro_dusk:zrt,sch_astro_goldenHour:Frt,sch_astro_goldenHourEnd:Brt,sch_astro_nadir:Wrt,sch_astro_nauticalDawn:Hrt,sch_astro_nauticalDusk:Urt,sch_astro_night:Vrt,sch_astro_nightEnd:qrt,sch_astro_solarNoon:Grt,sch_astro_sunrise:Xrt,sch_astro_sunriseEnd:Jrt,sch_astro_sunset:Yrt,sch_astro_sunsetStart:Krt,sch_at:Zrt,sch_desc_atTime:Qrt,sch_desc_everyDay:ent,sch_desc_everyHour:tnt,sch_desc_everyMinute:rnt,sch_desc_everyMonth:nnt,sch_desc_everyNDay:ont,sch_desc_everyNHours:ant,sch_desc_everyNMinutes:int,sch_desc_everyNMonths:snt,sch_desc_everyNWeeks:lnt,sch_desc_everyNYears:cnt,sch_desc_everyWeek:dnt,sch_desc_everyYear:unt,sch_desc_intervalFromTo:pnt,sch_desc_never:hnt,sch_desc_onDate:fnt,sch_desc_onDates:mnt,sch_desc_onEveryDate:gnt,sch_desc_onMonth:vnt,sch_desc_onMonths:ynt,sch_desc_onWeekday:_nt,sch_desc_onWeekdays:bnt,sch_desc_onWeekends:wnt,sch_desc_onWorkdays:xnt,sch_desc_onceInPast:Snt,sch_desc_once_on:Cnt,sch_desc_validFrom:$nt,sch_desc_validFromTo:knt,sch_desc_validTo:Ent,sch_every:Tnt,sch_exactTime:Ont,sch_from:Dnt,sch_fromTo:Ant,sch_intervalTime:Int,sch_invert:Mnt,sch_no_one:Pnt,sch_on:Nnt,sch_period:Rnt,sch_periodDaily:jnt,sch_periodDates:Lnt,sch_periodDay:znt,sch_periodEvery:Fnt,sch_periodEveryDay:Bnt,sch_periodEveryMonth:Wnt,sch_periodEveryWeek:Hnt,sch_periodEveryYear:Unt,sch_periodHours:Vnt,sch_periodMinutes:qnt,sch_periodMonth:Gnt,sch_periodMonthly:Xnt,sch_periodOnce:Jnt,sch_periodSpecificMonths:Ynt,sch_periodWeek:Knt,sch_periodWeekdays:Znt,sch_periodWeekend:Qnt,sch_periodWeekly:eot,sch_periodWorkdays:tot,sch_periodYear:rot,sch_periodYearly:not,sch_specificTime:oot,sch_time:aot,sch_to:iot,sch_valid:sot,sch_validFrom:lot,sch_validTo:cot,sch_wholeDay:dot,sch_yearEveryMonth:uot},hot="附加",fot="取消",mot="类别",got="勾选",vot="删除",yot="关",_ot="商业的",bot="配置",wot="连接的",xot="复制的",Sot="创建",Cot="庄稼",$ot="Delete",kot="删除",Eot="丢弃",Tot="断开连接",Oot="错误",Dot="筛选",Aot="星期五",Iot="纬度",Mot="经度",Pot="信息",Not="周一",Rot="姓名",jot="对象",Lot="好",zot="产品",Fot="重复",Bot="代替",Wot="根",Hot="周六",Uot="保存",Vot="已选",qot="状态",Got="星期日",Xot="周四",Jot="时间戳记",Yot="周二",Kot="更新资料",Zot="有效期至",Qot="值",eat="版本",tat="周三",rat="宽度",nat="是的",oat="不同的",aat="每个人都可以阅读对象",iat="每个人都可以阅读状态",sat="每个人都可以写对象",lat="每个人都可以写状态",cat="组可以读取对象",dat="群组可以读取状态",uat="组可以写对象",pat="组可以写状态",hat="所有者可以读取对象",fat="所有者可以读取状态",mat="所有者可以写对象",gat="所有者可以写状态",vat="纽扣",yat="更改为",_at="关闭",bat="创建布尔状态",wat="创建频道",xat="创建设备",Sat="创建号码状态",Cat="创建状态",$at="创建字符串状态",kat="天",Eat="r",Tat="莫",Oat="萨",Dat="苏",Aat="Th",Iat="Tu",Mat="我们",Pat="专家模式",Nat="所有文件",Rat="声音的",jat="代码/JSON",Lat="图片",zat="文本",Fat="视频",Bat="设定值",Wat="没有",Hat="功能",Uat="ID",Vat="名称",qat="角色",Gat="房间",Xat="类型",Jat="无效的设定",Yat="最后一次变更",Kat="本地",Zat="4月",Qat="八月",eit="十二月",tit="二月",rit="简",nit="七月",oit="君",ait="迈",iit="三月",sit="十一月",lit="十月",cit="九月",dit="4月",uit="八月",pit="十二月",hit="二月",fit="简",mit="七月",git="君",vit="迈",yit="三月",_it="十一月",bit="十月",wit="九月",xit="没有任何",Sit="物件变更者",Cit="对象上次更改时间为",$it="来自其他适配器%s的设置",kit="质量代码",Eit="重复",Tit="要选择文件夹,只需按住“shift”键单击文件夹即可。",Oit="状态由",Dit="对象已从更改",Ait="时间戳记",Iit="致谢国旗",Mit="评论",Pit="复制状态值",Nit="自定义设置",Rit="删除物件",jit="编辑物件",Lit="编辑状态值",zit="从",Fit="最后改变了",Bit="质量",Wit="时间戳",Hit="用户",Uit="值",Vit="值",qit="警告:CRON 作业将在指定期间内每分钟运行一次!",Git="警告:CRON 作业将在指定期间内每秒运行一次!",Xit="周期任务",Jit="日期",Yit="日",Kit="天",Zit="星期",Qit="每",est="每N天",tst="每周的第 N 天",rst="每周N天",nst="每N小时一次",ost="每N分钟",ast="每N个月",ist="每N秒",sst="每天",lst="一周的每一天",cst="一周的每一天",dst="每小时",ust="每分钟",pst="每月",hst="每秒",fst="从",mst="小时",gst="间隔",vst="间隔时间",yst="无效的 CRON",_st="分钟",bst="月",wst="一次",xst="周期",Sst="秒",Cst="简单模式",$st="特定的时间",kst="特定的日子",Est="一周中的特定日子",Tst="特定的一周",Ost="特定的小时",Dst="特定的分钟",Ast="特定的月份",Ist="特定的描述",Mst="时间",Pst="至",Nst="向导模式",Rst="全选",jst="天文白天",Lst="天文夜晚",zst="黎明",Fst="黄昏",Bst="黄金时段",Wst="黄金时段结束",Hst="天底",Ust="航海黎明",Vst="航海黄昏",qst="夜晚",Gst="夜晚结束",Xst="正午",Jst="日出",Yst="日出结束",Kst="日落",Zst="日落开始",Qst="在",elt="的%s",tlt="每天",rlt="每小时",nlt="每分钟",olt="每月",alt="每%s天",ilt="每%s小时",slt="每%s分钟",llt="每%s月",clt="每%s周",dlt="每%s年",ult="每周",plt="每年",hlt="从%s到%s",flt="决不",mlt="在%s的%s上",glt="在%s和%s上",vlt="在每天",ylt="%s",_lt="%s和%s",blt="在%s上",wlt="在%s和%s上",xlt="在周末",Slt="在工作日",Clt="将不再执行,因为起始时间已经是过去的时间了。",$lt="在%s上",klt="来自%s",Elt="从执行到",Tlt="到%s",Olt="每",Dlt="特定的时间",Alt="从",Ilt="从到",Mlt="间隔时间",Plt="倒置",Nlt="取消全选",Rlt="的",jlt="周期",Llt="每天",zlt="日期",Flt="天",Blt="每",Wlt="每天",Hlt="每月",Ult="每周",Vlt="每年",qlt="小时",Glt="分钟",Xlt="月",Jlt="每月一次",Ylt="一次",Klt="特定的月份",Zlt="周",Qlt="工作日",ect="周末",tct="每周",rct="工作日",nct="年",oct="每年",act="特定的时间",ict="时间",sct="至",lct="生效",cct="从",dct="至",uct="一整天",pct="每月",hct={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可","ra_Add new child object to selected parent":"将新的子对象添加到选定的父对象","ra_Add objects tree from JSON file":"从JSON文件添加对象树","ra_Add row":"添加行","ra_Advanced options":"高级选项","ra_All items are filtered out":"所有项目都被过滤掉","ra_All objects":"所有对象",ra_Append:hot,"ra_Append %s entries or replace existing?":"追加 %s 条目还是替换现有条目?","ra_Append or replace?":"追加还是替换?","ra_Are you sure?":"你确定吗?","ra_Auto (no custom columns)":"自动(无自定义列)","ra_Back to %s":"返回“%s”","ra_Background image":"背景图像",ra_Cancel:fot,"ra_Cannot add items with set filter":"无法使用设置过滤器添加项目","ra_Cannot decode license":"无法解码许可证","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"无法确定位置:系统设置为空且浏览器中禁用了 GPS 检测",'ra_Cannot find "%s"':"找不到“%s”",'ra_Cannot read "%s"':"无法阅读“%s”","ra_Cannot read licenses: %s":"无法读取许可证:%s","ra_Cannot retrieve options, as instance is offline":"无法检索选项,因为实例处于脱机状态","ra_Cannot update attribute, because not found in the object":"无法更新属性,因为在对象中找不到","ra_Cannot upload":"无法上传",ra_Categories:mot,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:got,ra_Clear:vot,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Clone current row":"克隆当前行",ra_Close:yot,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:_ot,ra_Configure:bot,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:wot,ra_Copied:xot,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:Sot,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Cot,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:$ot,ra_Delete:kot,"ra_Delete (no confirm for 5 mins)":"删除(5分钟内未确认)","ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态",ra_Discard:Eot,ra_Disconnected:Tot,"ra_Do not export values of states":"不导出状态值","ra_Do not use let's encrypt":"不要使用让我们加密","ra_Double click to reset table layout":"双击重置表格布局","ra_Drag 'n' drop some files here, or click to select files":"将一些文件拖放到此处,或单击以选择文件","ra_Drop file here":"将档案放在这里","ra_Drop the files here...":"把文件放在这里...","ra_Duplicate name":"名称重复","ra_Edit ACL":"编辑访问控制列表","ra_Edit alias":"编辑别名","ra_Edit custom config":"编辑自定义配置","ra_Edit function":"编辑功能","ra_Edit object field":"编辑对象字段","ra_Edit role":"编辑角色","ra_Edit room":"编辑室","ra_Edit value":"编辑值",ra_Error:Oot,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Export data to %s file":"将数据导出到 %s 文件","ra_Failed to open JSON File":"无法打开JSON文件","ra_Fallback custom certificates":"后备自定义证书","ra_File is too big. Max %sk allowed. Try use SVG.":"文件太大。允许的最大字节%s数。尝试使用 SVG。",ra_Filter:Dot,"ra_Filter files":"过滤文件","ra_Folder name":"文件夹名称","ra_Folder → Channel → State":"文件夹→频道→状态","ra_Folder → Device → Channel → State":"文件夹→设备→频道→状态","ra_Folder → State":"文件夹→状态","ra_Folders always first":"资料夹永远优先",ra_Friday:Aot,"ra_Good luck":"祝你好运","ra_Hide empty folders":"隐藏空文件夹","ra_If no file will be created in the folder, it will disappear after the browser closed":"如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失","ra_Import data from %s file":"从 %s 文件导入数据","ra_Import from %s":"从 %s 导入","ra_Instance %s is alive":"实例 %s 是活动的","ra_Instance %s is not alive":"实例 %s 不存在","ra_Instance is not alive":"实例不存在","ra_Invalid CRON":"无效的 CRON","ra_Invalid JSON":"JSON 无效","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:Iot,"ra_License %s":"许可证 %s","ra_License agreement":"许可协议","ra_License does not exist":"许可证不存在","ra_License expired on %s":"许可证已于 %s 过期",'ra_License for other product "%s"':"其他产品“%s”的许可证","ra_License is for version %s, but required version is %s.":"许可证适用于版本 %s,但所需版本为 %s。","ra_License must be converted":"许可证必须转换为更新版本。您可以在 iobroker.net 个人资料中执行此操作。","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"在许可证管理器中找不到许可证。您要从 iobroker.net 更新许可证吗?","ra_Listen on all IPs":"监听所有IP","ra_Load configuration from file":"从文件加载配置",ra_Longitude:Mot,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:Pot,ra_Monday:Not,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:Rot,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from the backend":"后端无响应",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。","ra_Not a number":"不是数字",ra_Objects:jot,ra_Ok:Lot,"ra_On weekdays":"在工作日","ra_Only following structures of objects are available:":"仅以下对象结构可用:","ra_Only selected":"只选择","ra_Owner group":"所有者组","ra_Owner user":"所有者用户","ra_Passwords are not equal!":"密码不相等!","ra_Place your files here or click here to open the browse dialog":"将文件放在此处或单击此处打开浏览对话框","ra_Please confirm":"请确认","ra_Please create license":"请创建许可证","ra_Please enter the license":"请输入许可证","ra_Please select file...":"请选择文件...","ra_Please select object ID...":"请选择对象ID ...","ra_Port could be used by %s":"%s 可以使用端口","ra_Port is already used by %s":"端口已被 %s 使用","ra_Private certificate":"私有证书",ra_Product:zot,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Repeat:Fot,ra_Replace:Bot,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:Wot,ra_Saturday:Hot,ra_Save:Uot,"ra_Save and close":"保存并关闭","ra_Save configuration to file":"将配置保存到文件","ra_Save objects tree as JSON file":"将对象树另存为JSON文件","ra_Select all":"全选","ra_Select color":"选择颜色","ra_Select predefined icon":"选择预定义图标","ra_Select type of export":"选择导出类型",ra_Selected:Vot,"ra_Selected %s object(s)":"选定的 %s 个对象","ra_Serial number (UUID)":"序列号 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"许可证中的序列号 (UUID)“%s”用于其他设备。","ra_Show all folders":"显示所有文件夹","ra_Show lines between rows":"显示行之间的线","ra_Show/Hide object descriptions":"显示/隐藏对象描述","ra_Show/hide filter input":"显示/隐藏过滤器输入","ra_Some data are not stored. Discard?":"部分数据未存储。丢弃?",ra_States:qot,"ra_Suitable license not found in license manager":"在许可证管理器中找不到合适的许可证",ra_Sunday:Got,"ra_Suppress question for next %s minutes":"在接下来的%s分钟内取消提问","ra_System language":"系统语言","ra_Take browser position":"从浏览器获取位置","ra_Take position from system settings":"从系统设置中获取位置",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。","ra_The page you are looking for was not found":"未找到您要查找的页面","ra_The schedule will be executed every minute. Are you sure?":"该计划将每分钟执行一次。您确定吗?","ra_The schedule will be executed every second. Are you sure?":"该计划将每秒执行一次。你确定吗?",ra_Thursday:Xot,ra_Timestamp:Jot,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:Yot,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:Kot,"ra_Upload file":"上传文件","ra_Use all available let's encrypt certificates":"使用所有可用的让我们加密证书","ra_Use iobroker.acme adapter for letsencrypt certificates":"使用 iobroker.acme 适配器获取 letsencrypt 证书","ra_Use system settings for position":"使用系统设置定位","ra_Used system settings":"使用的系统设置","ra_User files":"用户档案",ra_ValidTill:Zot,ra_Value:Qot,ra_Version:eat,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:tat,ra_Width:rat,ra_Yes:nat,"ra_You can export all objects or just the selected branch.":"您可以导出所有对象或仅导出选定的分支。","ra_You can filter entries by entering here some text":"您可以通过在此处输入一些文本来过滤条目",ra___different__:oat,ra_aclEveryone_read_object:aat,ra_aclEveryone_read_state:iat,ra_aclEveryone_write_object:sat,ra_aclEveryone_write_state:lat,ra_aclGroup_read_object:cat,ra_aclGroup_read_state:dat,ra_aclGroup_write_object:uat,ra_aclGroup_write_state:pat,ra_aclOwner_read_object:hat,ra_aclOwner_read_state:fat,ra_aclOwner_write_object:mat,ra_aclOwner_write_state:gat,ra_buttons:vat,ra_changedFrom:yat,ra_close:_at,ra_create_boolean_state:bat,ra_create_channel:wat,ra_create_device:xat,ra_create_number_state:Sat,ra_create_state:Cat,ra_create_string_state:$at,ra_daysShortText:kat,ra_dow_Fr:Eat,ra_dow_Mo:Tat,ra_dow_Sa:Oat,ra_dow_Su:Dat,ra_dow_Th:Aat,ra_dow_Tu:Iat,ra_dow_We:Mat,ra_expertMode:Pat,ra_fileType_all:Nat,ra_fileType_audio:Rat,ra_fileType_code:jat,ra_fileType_images:Lat,ra_fileType_txt:zat,ra_fileType_video:Fat,"ra_fileType_video,":"视频",ra_filter_customs:Bat,ra_filter_customs_without:Wat,ra_filter_func:Hat,ra_filter_id:Uat,ra_filter_name:Vat,ra_filter_role:qat,ra_filter_room:Gat,ra_filter_type:Xat,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:Jat,ra_lastChange:Yat,ra_locally:Kat,ra_month_Apr:Zat,ra_month_Aug:Qat,ra_month_Dec:eit,ra_month_Feb:tit,ra_month_Jan:rit,ra_month_Jul:nit,ra_month_Jun:oit,ra_month_Mai:ait,ra_month_Mar:iit,ra_month_Nov:sit,ra_month_Oct:lit,ra_month_Sep:cit,ra_months_Apr:dit,ra_months_Aug:uit,ra_months_Dec:pit,ra_months_Feb:hit,ra_months_Jan:fit,ra_months_Jul:mit,ra_months_Jun:git,ra_months_Mai:vit,ra_months_Mar:yit,ra_months_Nov:_it,ra_months_Oct:bit,ra_months_Sep:wit,ra_none:xit,ra_object_changed_by:Sit,ra_object_changed_by_user:Cit,ra_otherConfig:$it,ra_qualityCode:kit,ra_repeat:Eit,ra_select_folder_hint:Tit,ra_state_changed_by:Oit,ra_state_changed_from:Dit,ra_timestamp:Ait,ra_tooltip_ack:Iit,ra_tooltip_comment:Mit,ra_tooltip_copyState:Pit,ra_tooltip_customConfig:Nit,ra_tooltip_deleteObject:Rit,ra_tooltip_editObject:jit,ra_tooltip_editState:Lit,ra_tooltip_from:zit,ra_tooltip_lc:Fit,ra_tooltip_quality:Bit,ra_tooltip_ts:Wit,ra_tooltip_user:Hit,ra_tooltip_value:Uit,"ra_use seconds":"用秒",ra_val:Vit,"ra_via internet":"通过互联网",ra_warning_every_minute:qit,ra_warning_every_second:Git,sc_cron:Xit,sc_date:Jit,sc_dates:Yit,sc_dow:Kit,sc_dows:Zit,sc_every:Qit,sc_everyN_dates:est,sc_everyN_dow:tst,sc_everyN_dows:rst,sc_everyN_hours:nst,sc_everyN_minutes:ost,sc_everyN_months:ast,sc_everyN_seconds:ist,sc_every_dates:sst,sc_every_dow:lst,sc_every_dows:cst,sc_every_hours:dst,sc_every_minutes:ust,sc_every_months:pst,sc_every_seconds:hst,sc_from:fst,sc_hours:mst,sc_interval:gst,sc_intervalBetween:vst,sc_invalid_cron:yst,sc_minutes:_st,sc_months:bst,sc_once:wst,sc_period:xst,sc_seconds:Sst,sc_simple:Cst,sc_specific:$st,sc_specific_dates:kst,sc_specific_dow:Est,sc_specific_dows:Tst,sc_specific_hours:Ost,sc_specific_minutes:Dst,sc_specific_months:Ast,sc_specific_seconds:Ist,sc_time:Mst,sc_to:Pst,sc_wizard:Nst,sch_all:Rst,sch_astroDay:jst,sch_astroNight:Lst,sch_astro_dawn:zst,sch_astro_dusk:Fst,sch_astro_goldenHour:Bst,sch_astro_goldenHourEnd:Wst,sch_astro_nadir:Hst,sch_astro_nauticalDawn:Ust,sch_astro_nauticalDusk:Vst,sch_astro_night:qst,sch_astro_nightEnd:Gst,sch_astro_solarNoon:Xst,sch_astro_sunrise:Jst,sch_astro_sunriseEnd:Yst,sch_astro_sunset:Kst,sch_astro_sunsetStart:Zst,sch_at:Qst,sch_desc_atTime:elt,sch_desc_everyDay:tlt,sch_desc_everyHour:rlt,sch_desc_everyMinute:nlt,sch_desc_everyMonth:olt,sch_desc_everyNDay:alt,sch_desc_everyNHours:ilt,sch_desc_everyNMinutes:slt,sch_desc_everyNMonths:llt,sch_desc_everyNWeeks:clt,sch_desc_everyNYears:dlt,sch_desc_everyWeek:ult,sch_desc_everyYear:plt,sch_desc_intervalFromTo:hlt,sch_desc_never:flt,sch_desc_onDate:mlt,sch_desc_onDates:glt,sch_desc_onEveryDate:vlt,sch_desc_onMonth:ylt,sch_desc_onMonths:_lt,sch_desc_onWeekday:blt,sch_desc_onWeekdays:wlt,sch_desc_onWeekends:xlt,sch_desc_onWorkdays:Slt,sch_desc_onceInPast:Clt,sch_desc_once_on:$lt,sch_desc_validFrom:klt,sch_desc_validFromTo:Elt,sch_desc_validTo:Tlt,sch_every:Olt,sch_exactTime:Dlt,sch_from:Alt,sch_fromTo:Ilt,sch_intervalTime:Mlt,sch_invert:Plt,sch_no_one:Nlt,sch_on:Rlt,sch_period:jlt,sch_periodDaily:Llt,sch_periodDates:zlt,sch_periodDay:Flt,sch_periodEvery:Blt,sch_periodEveryDay:Wlt,sch_periodEveryMonth:Hlt,sch_periodEveryWeek:Ult,sch_periodEveryYear:Vlt,sch_periodHours:qlt,sch_periodMinutes:Glt,sch_periodMonth:Xlt,sch_periodMonthly:Jlt,sch_periodOnce:Ylt,sch_periodSpecificMonths:Klt,sch_periodWeek:Zlt,sch_periodWeekdays:Qlt,sch_periodWeekend:ect,sch_periodWeekly:tct,sch_periodWorkdays:rct,sch_periodYear:nct,sch_periodYearly:oct,sch_specificTime:act,sch_time:ict,sch_to:sct,sch_valid:lct,sch_validFrom:cct,sch_validTo:dct,sch_wholeDay:uct,sch_yearEveryMonth:pct},fct={en:twe,de:rke,ru:nDe,pt:oNe,nl:a4e,fr:i8e,it:sHe,es:lXe,pl:cQe,uk:pot,"zh-cn":hct},mct=` html { height: 100%; } @@ -703,9 +703,9 @@ body { background-color: #58c458; } } -`;class ys extends Ph{constructor(r,n){const o=r.Connection||(n==null?void 0:n.Connection)||Oi;if(!window.document.getElementById("generic-app-iobroker-component")){const u=window.document.createElement("style");u.setAttribute("id","generic-app-iobroker-component"),u.innerHTML=fct,window.document.head.appendChild(u)}if(!ys.isWeb()&&window.io&&window.location.port==="3000")try{const u=new window.SocketClient;delete window.io,window.io=u}catch{}super(r);X(this,"socket");X(this,"instance");X(this,"adapterName");X(this,"instanceId");X(this,"newReact");X(this,"encryptedFields");X(this,"sentryDSN");X(this,"alertDialogRendered");X(this,"_secret");X(this,"_systemConfig");X(this,"savedNative");X(this,"common",null);X(this,"sentryStarted",!1);X(this,"sentryInited",!1);X(this,"resizeTimer",null);X(this,"onSystemConfigChanged",(r,n)=>{var o,a;n&&r==="system.config"&&(this.socket.systemLang!==(n==null?void 0:n.common.language)&&(this.socket.systemLang=(n==null?void 0:n.common.language)||"en",P.setLanguage(this.socket.systemLang)),((o=this._systemConfig)==null?void 0:o.expertMode)!==!!((a=n==null?void 0:n.common)!=null&&a.expertMode)?(this._systemConfig=(n==null?void 0:n.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(n==null?void 0:n.common)||{})});X(this,"onReceiveMessage",r=>{if(r!=null&&r.data)if(r.data==="updateTheme"){const n=ue.getThemeName();ue.setThemeName(ue.getThemeName());const o=this.createTheme(n);this.setState({theme:o,themeName:this.getThemeName(o),themeType:this.getThemeType(o)},()=>{this.props.onThemeChange&&this.props.onThemeChange(n),this.onThemeChanged&&this.onThemeChanged(n)})}else r.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):r.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(r.data)}". May be it will be processed later`)});X(this,"onResize",()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:ys.getWidth()})},200)});Uve();const a=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),i={};a.trim().split("&").filter(u=>u.trim()).forEach(u=>{const f=u.split("=");i[f[0]]=f.length===2?f[1]:!0,i[f[0]]==="true"?i[f[0]]=!0:i[f[0]]==="false"&&(i[f[0]]=!1)}),this.instance=(n==null?void 0:n.instance)??r.instance??(i.instance!==void 0?parseInt(i.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const s=window.location.pathname.split("/");this.adapterName=(n==null?void 0:n.adapterName)||r.adapterName||window.adapterName||s[s.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=i.newReact===!0;const l=Ph.getLocation();l.tab=l.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const d=this.createTheme();this.state=Object.assign(this.state||{},{selectedTab:(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"",selectedTabNum:-1,native:{},errorText:"",changed:!1,connected:!1,loaded:!1,isConfigurationError:"",expertMode:!1,toast:"",theme:d,themeName:this.getThemeName(d),themeType:this.getThemeType(d),bottomButtons:(n&&n.bottomButtons)===!1?!1:(r==null?void 0:r.bottomButtons)!==!1,width:ys.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const h=hct;n!=null&&n.translations?Object.keys(n.translations).forEach(u=>{n.translations&&(h[u]=Object.assign(h[u],n.translations[u]||{}))}):r.translations&&Object.keys(r.translations).forEach(u=>{r.translations&&(h[u]=Object.assign(h[u],r.translations[u]||{}))}),P.setTranslations(h),this.savedNative={},this.encryptedFields=r.encryptedFields||(n==null?void 0:n.encryptedFields)||[],this.sentryDSN=n&&n.sentryDSN||r.sentryDSN,window.socketUrl&&(window.socketUrl.startsWith(":")?window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`:!window.socketUrl.startsWith("http://")&&!window.socketUrl.startsWith("https://")&&(window.socketUrl=`${window.location.protocol}//${window.socketUrl}`)),this.alertDialogRendered=!1,window.oldAlert=window.alert,window.alert=u=>{if(!this.alertDialogRendered){window.oldAlert(u);return}u&&u.toString().toLowerCase().includes("error")?(console.error(u),this.showAlert(u.toString(),"error")):(console.log(u),this.showAlert(u.toString(),"info"))},this.socket=new o({...(r==null?void 0:r.socket)||(n==null?void 0:n.socket),name:this.adapterName,doNotLoadAllObjects:n==null?void 0:n.doNotLoadAllObjects,onProgress:u=>{u===Ga.CONNECTING?this.setState({connected:!1}):u===Ga.READY?this.setState({connected:!0}):this.setState({connected:!0})},onReady:()=>{P.setLanguage(this.socket.systemLang),this.socket.subscribeObject("system.config",this.onSystemConfigChanged).then(()=>this.getSystemConfig()).then(u=>(this._secret=typeof u<"u"&&u.native&&u.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(u==null?void 0:u.common)||{},this.socket.getObject(this.instanceId))).then(async u=>{var x,S;let f;const g=u,b=((x=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:x.val)!==!1&&((S=this._systemConfig)==null?void 0:S.diag)!=="none"&&(g==null?void 0:g.common)&&g.common.name&&g.common.version&&!g.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&b&&(this.sentryStarted=!0,ave({dsn:this.sentryDSN,release:`iobroker.${g.common.name}@${g.common.version}`,integrations:[NH()]}),console.log("Sentry initialized")),!this.sentryInited&&b&&(this.sentryInited=!0,f=this.socket.getObject("system.meta.uuid").then(T=>{T&&T.native&&T.native.uuid&&li().setUser({id:T.native.uuid})})),f=f instanceof Promise?f:Promise.resolve(),f.then(()=>{g?(this.common=g==null?void 0:g.common,this.onPrepareLoad(g.native,g.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(g.native)),this.setState({native:g.native,loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady())):(console.warn("Cannot load instance settings"),this.setState({native:{},loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady()))})}).catch(u=>window.alert(`Cannot settings: ${u}`))},onError:u=>{console.error(u),this.showError(u)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(r,n){n!=="error"&&n!=="warning"&&n!=="info"&&n!=="success"&&(n="info"),this.setState({_alert:!0,_alertType:n,_alertMessage:r})}renderAlertSnackbar(){return this.alertDialogRendered=!0,m.createElement(Ov,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(r,n)=>n!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}componentDidMount(){window.addEventListener("resize",this.onResize,!0),window.addEventListener("message",this.onReceiveMessage,!1),super.componentDidMount()}componentWillUnmount(){window.removeEventListener("resize",this.onResize,!0),window.removeEventListener("message",this.onReceiveMessage,!1),super.componentWillUnmount()}static getWidth(){const r={xs:0,sm:600,md:960,lg:1280,xl:1920},n=window.innerWidth;return Object.keys(r).reverse().find(i=>n>=r[i])||"xs"}createTheme(r){return Upe(ue.getThemeName(r))}getThemeName(r){return r.name}getThemeType(r){return r.palette.mode}onThemeChanged(r){}onToggleExpertMode(r){}toggleTheme(r){const n=this.state.themeName;if(r=r||(n==="dark"||n==="blue"||n==="colored"?"light":"dark"),r!==n){ue.setThemeName(r);const o=this.createTheme(r);this.setState({theme:o,themeName:this.getThemeName(o),themeType:this.getThemeType(o)},()=>{this.props.onThemeChange&&this.props.onThemeChange(r||"light"),this.onThemeChanged&&this.onThemeChanged(r||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var r;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((r=this._systemConfig)!=null&&r.expertMode)}onConnectionReady(){}encrypt(r){let n="";if(this._secret)for(let o=0;o{r[n]&&(r[n]=this.encrypt(r[n]))}),!0}onPrepareLoad(r,n){this.encryptedFields&&this.encryptedFields.forEach(o=>{r[o]&&(r[o]=this.decrypt(r[o]))}),n&&n.forEach(o=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(o)&&this.encryptedFields.push(o),r[o]&&(r[o]=this.decrypt(r[o]))})}async getExtendableInstances(){try{const r=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(r).filter(n=>{var o;return!!((o=n==null?void 0:n.common)!=null&&o.webExtendable)})}catch{return[]}}async getIpAddresses(r){var i;const n=await this.socket.getHostByIp(r||((i=this.common)==null?void 0:i.host)||""),o=n.find(s=>s.address==="0.0.0.0");o&&(o.name=`[IPv4] 0.0.0.0 - ${P.t("ra_Listen on all IPs")}`);const a=n.find(s=>s.address==="::");return a&&(a.name=`[IPv4] :: - ${P.t("ra_Listen on all IPs")}`),n}onSave(r){let n;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(o=>{n=o||{};for(const a in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,a)&&(this.state.native[a]===null?n.native[a]=null:this.state.native[a]!==void 0?n.native[a]=JSON.parse(JSON.stringify(this.state.native[a])):delete n.native[a]);if(this.state.common)for(const a in this.state.common)this.state.common[a]===null?n.common[a]=null:this.state.common[a]!==void 0?n.common[a]=JSON.parse(JSON.stringify(this.state.common[a])):delete n.common[a];return this.onPrepareSave(n.native)!==!1?this.socket.setObject(this.instanceId,n):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=n.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch{}this.setState({changed:!1}),r&&ys.onClose()}).catch(o=>console.error(`Cannot save configuration: ${o}`))}renderToast(){var r;return this.state.toast?m.createElement(Ov,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:m.createElement("span",{id:"message-id"},this.state.toast),action:[m.createElement(Ie,{key:"close","aria-label":"Close",color:"inherit",className:(r=this.props.classes)==null?void 0:r.close,onClick:()=>this.setState({toast:""}),size:"large"},m.createElement(Ar,null))]}):null}static onClose(){if(typeof window.parent<"u"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch{window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?m.createElement(eU,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(r){r=r||this.state.native;const n=JSON.stringify(r)!==JSON.stringify(this.savedNative);return globalThis.changed=n,n}onLoadConfig(r){JSON.stringify(r)!==JSON.stringify(this.state.native)&&this.setState({native:r,changed:this.getIsChanged(r)})}setConfigurationError(r){this.state.isConfigurationError!==r&&this.setState({isConfigurationError:r})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:m.createElement(m.Fragment,null,this.state.bottomButtons?m.createElement(Zve,{theme:this.state.theme,newReact:this.newReact,noTextOnButtons:this.state.width==="xs"||this.state.width==="sm"||this.state.width==="md",changed:this.state.changed,onSave:r=>this.onSave(r),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):ys.onClose()}}):null,this.state.confirmClose?m.createElement(PO,{title:P.t("ra_Please confirm"),text:P.t("ra_Some data are not stored. Discard?"),ok:P.t("ra_Discard"),cancel:P.t("ra_Cancel"),onClose:r=>this.setState({confirmClose:!1},()=>r&&ys.onClose())}):null)}_updateNativeValue(r,n,o){typeof n!="object"&&(n=n.split("."));const a=n.shift()||"";if(!n.length)return o&&typeof o=="object"?JSON.stringify(r[a])!==JSON.stringify(o)?(r[a]=o,!0):!1:r[a]!==o?(r[a]=o,!0):!1;if(r[a]=r[a]||{},typeof r[a]!="object")throw new Error(`attribute ${a} is no object, but ${typeof r[a]}`);return this._updateNativeValue(r[a],n,o)}updateNativeValue(r,n,o){const a=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(a,r,n)){const i=this.getIsChanged(a);if(i!==this.state.changed)try{window.parent.postMessage(i?"change":"nochange","*")}catch{}this.setState({native:a,changed:i},o)}}showError(r){this.setState({errorText:r})}showToast(r){this.setState({toast:r})}renderHelperDialogs(){return m.createElement(m.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?m.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):m.createElement(QH,{themeType:this.state.themeType})}}var Yn={},Bc={},u1,U5;function tU(){if(U5)return u1;U5=1;var t=typeof xs=="object"&&xs&&xs.Object===Object&&xs;return u1=t,u1}var p1,V5;function ci(){if(V5)return p1;V5=1;var t=tU(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return p1=r,p1}var h1,q5;function Rf(){if(q5)return h1;q5=1;var t=ci(),e=t.Symbol;return h1=e,h1}var f1,G5;function mct(){if(G5)return f1;G5=1;var t=Rf(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,o=t?t.toStringTag:void 0;function a(i){var s=r.call(i,o),l=i[o];try{i[o]=void 0;var d=!0}catch{}var h=n.call(i);return d&&(s?i[o]=l:delete i[o]),h}return f1=a,f1}var m1,X5;function gct(){if(X5)return m1;X5=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return m1=r,m1}var g1,J5;function Jl(){if(J5)return g1;J5=1;var t=Rf(),e=mct(),r=gct(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function i(s){return s==null?s===void 0?o:n:a&&a in Object(s)?e(s):r(s)}return g1=i,g1}var v1,Y5;function Aa(){if(Y5)return v1;Y5=1;var t=Array.isArray;return v1=t,v1}var y1,K5;function zi(){if(K5)return y1;K5=1;function t(e){return e!=null&&typeof e=="object"}return y1=t,y1}var _1,Z5;function vct(){if(Z5)return _1;Z5=1;var t=Jl(),e=Aa(),r=zi(),n="[object String]";function o(a){return typeof a=="string"||!e(a)&&r(a)&&t(a)==n}return _1=o,_1}var b1,Q5;function yct(){if(Q5)return b1;Q5=1;function t(e){return function(r,n,o){for(var a=-1,i=Object(r),s=o(r),l=s.length;l--;){var d=s[e?l:++a];if(n(i[d],d,i)===!1)break}return r}}return b1=t,b1}var w1,e3;function _ct(){if(e3)return w1;e3=1;var t=yct(),e=t();return w1=e,w1}var x1,t3;function bct(){if(t3)return x1;t3=1;function t(e,r){for(var n=-1,o=Array(e);++n-1&&n%1==0&&n-1&&r%1==0&&r<=t}return E1=e,E1}var T1,l3;function Sct(){if(l3)return T1;l3=1;var t=Jl(),e=RO(),r=zi(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",i="[object Date]",s="[object Error]",l="[object Function]",d="[object Map]",h="[object Number]",u="[object Object]",f="[object RegExp]",g="[object Set]",y="[object String]",b="[object WeakMap]",x="[object ArrayBuffer]",S="[object DataView]",T="[object Float32Array]",E="[object Float64Array]",$="[object Int8Array]",k="[object Int16Array]",O="[object Int32Array]",M="[object Uint8Array]",R="[object Uint8ClampedArray]",j="[object Uint16Array]",I="[object Uint32Array]",z={};z[T]=z[E]=z[$]=z[k]=z[O]=z[M]=z[R]=z[j]=z[I]=!0,z[n]=z[o]=z[x]=z[a]=z[S]=z[i]=z[s]=z[l]=z[d]=z[h]=z[u]=z[f]=z[g]=z[y]=z[b]=!1;function W(L){return r(L)&&e(L.length)&&!!z[t(L)]}return T1=W,T1}var O1,c3;function jO(){if(c3)return O1;c3=1;function t(e){return function(r){return e(r)}}return O1=t,O1}var uh={exports:{}};uh.exports;var d3;function LO(){return d3||(d3=1,function(t,e){var r=tU(),n=e&&!e.nodeType&&e,o=n&&!0&&t&&!t.nodeType&&t,a=o&&o.exports===n,i=a&&r.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||i&&i.binding&&i.binding("util")}catch{}}();t.exports=s}(uh,uh.exports)),uh.exports}var D1,u3;function oU(){if(u3)return D1;u3=1;var t=Sct(),e=jO(),r=LO(),n=r&&r.isTypedArray,o=n?e(n):t;return D1=o,D1}var A1,p3;function aU(){if(p3)return A1;p3=1;var t=bct(),e=rU(),r=Aa(),n=NO(),o=nU(),a=oU(),i=Object.prototype,s=i.hasOwnProperty;function l(d,h){var u=r(d),f=!u&&e(d),g=!u&&!f&&n(d),y=!u&&!f&&!g&&a(d),b=u||f||g||y,x=b?t(d.length,String):[],S=x.length;for(var T in d)(h||s.call(d,T))&&!(b&&(T=="length"||g&&(T=="offset"||T=="parent")||y&&(T=="buffer"||T=="byteLength"||T=="byteOffset")||o(T,S)))&&x.push(T);return x}return A1=l,A1}var I1,h3;function zO(){if(h3)return I1;h3=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,o=typeof n=="function"&&n.prototype||t;return r===o}return I1=e,I1}var M1,f3;function iU(){if(f3)return M1;f3=1;function t(e,r){return function(n){return e(r(n))}}return M1=t,M1}var P1,m3;function Cct(){if(m3)return P1;m3=1;var t=iU(),e=t(Object.keys,Object);return P1=e,P1}var N1,g3;function $ct(){if(g3)return N1;g3=1;var t=zO(),e=Cct(),r=Object.prototype,n=r.hasOwnProperty;function o(a){if(!t(a))return e(a);var i=[];for(var s in Object(a))n.call(a,s)&&s!="constructor"&&i.push(s);return i}return N1=o,N1}var R1,v3;function Nu(){if(v3)return R1;v3=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return R1=t,R1}var j1,y3;function sU(){if(y3)return j1;y3=1;var t=Jl(),e=Nu(),r="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function i(s){if(!e(s))return!1;var l=t(s);return l==n||l==o||l==r||l==a}return j1=i,j1}var L1,_3;function qy(){if(_3)return L1;_3=1;var t=sU(),e=RO();function r(n){return n!=null&&e(n.length)&&!t(n)}return L1=r,L1}var z1,b3;function jf(){if(b3)return z1;b3=1;var t=aU(),e=$ct(),r=qy();function n(o){return r(o)?t(o):e(o)}return z1=n,z1}var F1,w3;function lU(){if(w3)return F1;w3=1;var t=_ct(),e=jf();function r(n,o){return n&&t(n,o,e)}return F1=r,F1}var B1,x3;function cU(){if(x3)return B1;x3=1;function t(e){return e}return B1=t,B1}var W1,S3;function kct(){if(S3)return W1;S3=1;var t=cU();function e(r){return typeof r=="function"?r:t}return W1=e,W1}var H1,C3;function FO(){if(C3)return H1;C3=1;var t=lU(),e=kct();function r(n,o){return n&&t(n,e(o))}return H1=r,H1}var U1,$3;function BO(){if($3)return U1;$3=1;var t=iU(),e=t(Object.getPrototypeOf,Object);return U1=e,U1}var V1,k3;function Ect(){if(k3)return V1;k3=1;var t=Jl(),e=BO(),r=zi(),n="[object Object]",o=Function.prototype,a=Object.prototype,i=o.toString,s=a.hasOwnProperty,l=i.call(Object);function d(h){if(!r(h)||t(h)!=n)return!1;var u=e(h);if(u===null)return!0;var f=s.call(u,"constructor")&&u.constructor;return typeof f=="function"&&f instanceof f&&i.call(f)==l}return V1=d,V1}var q1,E3;function dU(){if(E3)return q1;E3=1;function t(e,r){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n-1}return Z1=e,Z1}var Q1,P3;function Ict(){if(P3)return Q1;P3=1;var t=Gy();function e(r,n){var o=this.__data__,a=t(o,r);return a<0?(++this.size,o.push([r,n])):o[a][1]=n,this}return Q1=e,Q1}var ew,N3;function Xy(){if(N3)return ew;N3=1;var t=Tct(),e=Oct(),r=Dct(),n=Act(),o=Ict();function a(i){var s=-1,l=i==null?0:i.length;for(this.clear();++sg))return!1;var b=u.get(i),x=u.get(s);if(b&&x)return b==s&&x==i;var S=-1,T=!0,E=l&o?new t:void 0;for(u.set(i,s),u.set(s,i);++S0&&arguments[0]!==void 0?arguments[0]:[],f=[];return(0,s.default)(u,function(g){Array.isArray(g)?h(g).map(function(y){return f.push(y)}):(0,a.default)(g)?(0,n.default)(g,function(y,b){y===!0&&f.push(b),f.push(b+"-"+y)}):(0,e.default)(g)&&f.push(g)}),f};return Bc.default=d,Bc}var Wc={},Ex,c4;function jdt(){if(c4)return Ex;c4=1;function t(e,r){for(var n=-1,o=e==null?0:e.length;++n1&&arguments[1]!==void 0?arguments[1]:[],h=l.default&&(0,n.default)(l.default)||{};return d.map(function(u){var f=l[u];return f&&(0,e.default)(f,function(g,y){h[y]||(h[y]={}),h[y]=o({},h[y],f[y])}),u}),h};return Wc.default=i,Wc}var Hc={},B4;function cut(){if(B4)return Hc;B4=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.autoprefix=void 0;var t=FO(),e=n(t),r=Object.assign||function(i){for(var s=1;s1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:!0;o[s]=l};return r===0&&a("first-child"),r===n-1&&a("last-child"),(r===0||r%2===0)&&a("even"),Math.abs(r%2)===1&&a("odd"),a("nth-child",r),o};return Eg.default=t,Eg}var V4;function hut(){if(V4)return Yn;V4=1,Object.defineProperty(Yn,"__esModule",{value:!0}),Yn.ReactCSS=Yn.loop=Yn.handleActive=Yn.handleHover=Yn.hover=void 0;var t=Rdt(),e=f(t),r=lut(),n=f(r),o=cut(),a=f(o),i=dut(),s=f(i),l=uut(),d=f(l),h=put(),u=f(h);function f(y){return y&&y.__esModule?y:{default:y}}Yn.hover=s.default,Yn.handleHover=s.default,Yn.handleActive=d.default,Yn.loop=u.default;var g=Yn.ReactCSS=function(b){for(var x=arguments.length,S=Array(x>1?x-1:0),T=1;Ts?f=1:f=Math.round(u*100/s)/100,r.a!==f)return{h:r.h,s:r.s,l:r.l,a:f,source:"rgb"}}else{var g=void 0;if(h<0?g=0:h>i?g=1:g=Math.round(h*100/i)/100,o!==g)return{h:r.h,s:r.s,l:r.l,a:g,source:"rgb"}}return null},nS={},mut=function(e,r,n,o){if(typeof document>"u"&&!o)return null;var a=o?new o:document.createElement("canvas");a.width=n*2,a.height=n*2;var i=a.getContext("2d");return i?(i.fillStyle=e,i.fillRect(0,0,a.width,a.height),i.fillStyle=r,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),a.toDataURL()):null},gut=function(e,r,n,o){var a=e+"-"+r+"-"+n+(o?"-server":"");if(nS[a])return nS[a];var i=mut(e,r,n,o);return nS[a]=i,i},q4=Object.assign||function(t){for(var e=1;e{var o,a;n&&r==="system.config"&&(this.socket.systemLang!==(n==null?void 0:n.common.language)&&(this.socket.systemLang=(n==null?void 0:n.common.language)||"en",P.setLanguage(this.socket.systemLang)),((o=this._systemConfig)==null?void 0:o.expertMode)!==!!((a=n==null?void 0:n.common)!=null&&a.expertMode)?(this._systemConfig=(n==null?void 0:n.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(n==null?void 0:n.common)||{})});X(this,"onReceiveMessage",r=>{if(r!=null&&r.data)if(r.data==="updateTheme"){const n=ue.getThemeName();ue.setThemeName(ue.getThemeName());const o=this.createTheme(n);this.setState({theme:o,themeName:this.getThemeName(o),themeType:this.getThemeType(o)},()=>{this.props.onThemeChange&&this.props.onThemeChange(n),this.onThemeChanged&&this.onThemeChanged(n)})}else r.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):r.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(r.data)}". May be it will be processed later`)});X(this,"onResize",()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:ys.getWidth()})},200)});Vve();const a=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),i={};a.trim().split("&").filter(u=>u.trim()).forEach(u=>{const f=u.split("=");i[f[0]]=f.length===2?f[1]:!0,i[f[0]]==="true"?i[f[0]]=!0:i[f[0]]==="false"&&(i[f[0]]=!1)}),this.instance=(n==null?void 0:n.instance)??r.instance??(i.instance!==void 0?parseInt(i.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const s=window.location.pathname.split("/");this.adapterName=(n==null?void 0:n.adapterName)||r.adapterName||window.adapterName||s[s.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=i.newReact===!0;const l=Ph.getLocation();l.tab=l.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const d=this.createTheme();this.state=Object.assign(this.state||{},{selectedTab:(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"",selectedTabNum:-1,native:{},errorText:"",changed:!1,connected:!1,loaded:!1,isConfigurationError:"",expertMode:!1,toast:"",theme:d,themeName:this.getThemeName(d),themeType:this.getThemeType(d),bottomButtons:(n&&n.bottomButtons)===!1?!1:(r==null?void 0:r.bottomButtons)!==!1,width:ys.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const h=fct;n!=null&&n.translations?Object.keys(n.translations).forEach(u=>{n.translations&&(h[u]=Object.assign(h[u],n.translations[u]||{}))}):r.translations&&Object.keys(r.translations).forEach(u=>{r.translations&&(h[u]=Object.assign(h[u],r.translations[u]||{}))}),P.setTranslations(h),this.savedNative={},this.encryptedFields=r.encryptedFields||(n==null?void 0:n.encryptedFields)||[],this.sentryDSN=n&&n.sentryDSN||r.sentryDSN,window.socketUrl&&(window.socketUrl.startsWith(":")?window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`:!window.socketUrl.startsWith("http://")&&!window.socketUrl.startsWith("https://")&&(window.socketUrl=`${window.location.protocol}//${window.socketUrl}`)),this.alertDialogRendered=!1,window.oldAlert=window.alert,window.alert=u=>{if(!this.alertDialogRendered){window.oldAlert(u);return}u&&u.toString().toLowerCase().includes("error")?(console.error(u),this.showAlert(u.toString(),"error")):(console.log(u),this.showAlert(u.toString(),"info"))},this.socket=new o({...(r==null?void 0:r.socket)||(n==null?void 0:n.socket),name:this.adapterName,doNotLoadAllObjects:n==null?void 0:n.doNotLoadAllObjects,onProgress:u=>{u===Ga.CONNECTING?this.setState({connected:!1}):u===Ga.READY?this.setState({connected:!0}):this.setState({connected:!0})},onReady:()=>{P.setLanguage(this.socket.systemLang),this.socket.subscribeObject("system.config",this.onSystemConfigChanged).then(()=>this.getSystemConfig()).then(u=>(this._secret=typeof u<"u"&&u.native&&u.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(u==null?void 0:u.common)||{},this.socket.getObject(this.instanceId))).then(async u=>{var x,S;let f;const g=u,b=((x=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:x.val)!==!1&&((S=this._systemConfig)==null?void 0:S.diag)!=="none"&&(g==null?void 0:g.common)&&g.common.name&&g.common.version&&!g.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&b&&(this.sentryStarted=!0,ave({dsn:this.sentryDSN,release:`iobroker.${g.common.name}@${g.common.version}`,integrations:[NH()]}),console.log("Sentry initialized")),!this.sentryInited&&b&&(this.sentryInited=!0,f=this.socket.getObject("system.meta.uuid").then(T=>{T&&T.native&&T.native.uuid&&li().setUser({id:T.native.uuid})})),f=f instanceof Promise?f:Promise.resolve(),f.then(()=>{g?(this.common=g==null?void 0:g.common,this.onPrepareLoad(g.native,g.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(g.native)),this.setState({native:g.native,loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady())):(console.warn("Cannot load instance settings"),this.setState({native:{},loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady()))})}).catch(u=>window.alert(`Cannot settings: ${u}`))},onError:u=>{console.error(u),this.showError(u)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(r,n){n!=="error"&&n!=="warning"&&n!=="info"&&n!=="success"&&(n="info"),this.setState({_alert:!0,_alertType:n,_alertMessage:r})}renderAlertSnackbar(){return this.alertDialogRendered=!0,m.createElement(Ov,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(r,n)=>n!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}componentDidMount(){window.addEventListener("resize",this.onResize,!0),window.addEventListener("message",this.onReceiveMessage,!1),super.componentDidMount()}componentWillUnmount(){window.removeEventListener("resize",this.onResize,!0),window.removeEventListener("message",this.onReceiveMessage,!1),super.componentWillUnmount()}static getWidth(){const r={xs:0,sm:600,md:960,lg:1280,xl:1920},n=window.innerWidth;return Object.keys(r).reverse().find(i=>n>=r[i])||"xs"}createTheme(r){return Upe(ue.getThemeName(r))}getThemeName(r){return r.name}getThemeType(r){return r.palette.mode}onThemeChanged(r){}onToggleExpertMode(r){}toggleTheme(r){const n=this.state.themeName;if(r=r||(n==="dark"||n==="blue"||n==="colored"?"light":"dark"),r!==n){ue.setThemeName(r);const o=this.createTheme(r);this.setState({theme:o,themeName:this.getThemeName(o),themeType:this.getThemeType(o)},()=>{this.props.onThemeChange&&this.props.onThemeChange(r||"light"),this.onThemeChanged&&this.onThemeChanged(r||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var r;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((r=this._systemConfig)!=null&&r.expertMode)}onConnectionReady(){}encrypt(r){let n="";if(this._secret)for(let o=0;o{r[n]&&(r[n]=this.encrypt(r[n]))}),!0}onPrepareLoad(r,n){this.encryptedFields&&this.encryptedFields.forEach(o=>{r[o]&&(r[o]=this.decrypt(r[o]))}),n&&n.forEach(o=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(o)&&this.encryptedFields.push(o),r[o]&&(r[o]=this.decrypt(r[o]))})}async getExtendableInstances(){try{const r=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(r).filter(n=>{var o;return!!((o=n==null?void 0:n.common)!=null&&o.webExtendable)})}catch{return[]}}async getIpAddresses(r){var i;const n=await this.socket.getHostByIp(r||((i=this.common)==null?void 0:i.host)||""),o=n.find(s=>s.address==="0.0.0.0");o&&(o.name=`[IPv4] 0.0.0.0 - ${P.t("ra_Listen on all IPs")}`);const a=n.find(s=>s.address==="::");return a&&(a.name=`[IPv4] :: - ${P.t("ra_Listen on all IPs")}`),n}onSave(r){let n;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(o=>{n=o||{};for(const a in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,a)&&(this.state.native[a]===null?n.native[a]=null:this.state.native[a]!==void 0?n.native[a]=JSON.parse(JSON.stringify(this.state.native[a])):delete n.native[a]);if(this.state.common)for(const a in this.state.common)this.state.common[a]===null?n.common[a]=null:this.state.common[a]!==void 0?n.common[a]=JSON.parse(JSON.stringify(this.state.common[a])):delete n.common[a];return this.onPrepareSave(n.native)!==!1?this.socket.setObject(this.instanceId,n):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=n.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch{}this.setState({changed:!1}),r&&ys.onClose()}).catch(o=>console.error(`Cannot save configuration: ${o}`))}renderToast(){var r;return this.state.toast?m.createElement(Ov,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:m.createElement("span",{id:"message-id"},this.state.toast),action:[m.createElement(Ie,{key:"close","aria-label":"Close",color:"inherit",className:(r=this.props.classes)==null?void 0:r.close,onClick:()=>this.setState({toast:""}),size:"large"},m.createElement(Ar,null))]}):null}static onClose(){if(typeof window.parent<"u"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch{window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?m.createElement(eU,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(r){r=r||this.state.native;const n=JSON.stringify(r)!==JSON.stringify(this.savedNative);return globalThis.changed=n,n}onLoadConfig(r){JSON.stringify(r)!==JSON.stringify(this.state.native)&&this.setState({native:r,changed:this.getIsChanged(r)})}setConfigurationError(r){this.state.isConfigurationError!==r&&this.setState({isConfigurationError:r})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:m.createElement(m.Fragment,null,this.state.bottomButtons?m.createElement(Qve,{theme:this.state.theme,newReact:this.newReact,noTextOnButtons:this.state.width==="xs"||this.state.width==="sm"||this.state.width==="md",changed:this.state.changed,onSave:r=>this.onSave(r),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):ys.onClose()}}):null,this.state.confirmClose?m.createElement(PO,{title:P.t("ra_Please confirm"),text:P.t("ra_Some data are not stored. Discard?"),ok:P.t("ra_Discard"),cancel:P.t("ra_Cancel"),onClose:r=>this.setState({confirmClose:!1},()=>r&&ys.onClose())}):null)}_updateNativeValue(r,n,o){typeof n!="object"&&(n=n.split("."));const a=n.shift()||"";if(!n.length)return o&&typeof o=="object"?JSON.stringify(r[a])!==JSON.stringify(o)?(r[a]=o,!0):!1:r[a]!==o?(r[a]=o,!0):!1;if(r[a]=r[a]||{},typeof r[a]!="object")throw new Error(`attribute ${a} is no object, but ${typeof r[a]}`);return this._updateNativeValue(r[a],n,o)}updateNativeValue(r,n,o){const a=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(a,r,n)){const i=this.getIsChanged(a);if(i!==this.state.changed)try{window.parent.postMessage(i?"change":"nochange","*")}catch{}this.setState({native:a,changed:i},o)}}showError(r){this.setState({errorText:r})}showToast(r){this.setState({toast:r})}renderHelperDialogs(){return m.createElement(m.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?m.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):m.createElement(QH,{themeType:this.state.themeType})}}var Yn={},Bc={},u1,U5;function tU(){if(U5)return u1;U5=1;var t=typeof xs=="object"&&xs&&xs.Object===Object&&xs;return u1=t,u1}var p1,V5;function ci(){if(V5)return p1;V5=1;var t=tU(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return p1=r,p1}var h1,q5;function Rf(){if(q5)return h1;q5=1;var t=ci(),e=t.Symbol;return h1=e,h1}var f1,G5;function gct(){if(G5)return f1;G5=1;var t=Rf(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,o=t?t.toStringTag:void 0;function a(i){var s=r.call(i,o),l=i[o];try{i[o]=void 0;var d=!0}catch{}var h=n.call(i);return d&&(s?i[o]=l:delete i[o]),h}return f1=a,f1}var m1,X5;function vct(){if(X5)return m1;X5=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return m1=r,m1}var g1,J5;function Jl(){if(J5)return g1;J5=1;var t=Rf(),e=gct(),r=vct(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function i(s){return s==null?s===void 0?o:n:a&&a in Object(s)?e(s):r(s)}return g1=i,g1}var v1,Y5;function Aa(){if(Y5)return v1;Y5=1;var t=Array.isArray;return v1=t,v1}var y1,K5;function zi(){if(K5)return y1;K5=1;function t(e){return e!=null&&typeof e=="object"}return y1=t,y1}var _1,Z5;function yct(){if(Z5)return _1;Z5=1;var t=Jl(),e=Aa(),r=zi(),n="[object String]";function o(a){return typeof a=="string"||!e(a)&&r(a)&&t(a)==n}return _1=o,_1}var b1,Q5;function _ct(){if(Q5)return b1;Q5=1;function t(e){return function(r,n,o){for(var a=-1,i=Object(r),s=o(r),l=s.length;l--;){var d=s[e?l:++a];if(n(i[d],d,i)===!1)break}return r}}return b1=t,b1}var w1,e3;function bct(){if(e3)return w1;e3=1;var t=_ct(),e=t();return w1=e,w1}var x1,t3;function wct(){if(t3)return x1;t3=1;function t(e,r){for(var n=-1,o=Array(e);++n-1&&n%1==0&&n-1&&r%1==0&&r<=t}return E1=e,E1}var T1,l3;function Cct(){if(l3)return T1;l3=1;var t=Jl(),e=RO(),r=zi(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",i="[object Date]",s="[object Error]",l="[object Function]",d="[object Map]",h="[object Number]",u="[object Object]",f="[object RegExp]",g="[object Set]",y="[object String]",b="[object WeakMap]",x="[object ArrayBuffer]",S="[object DataView]",T="[object Float32Array]",E="[object Float64Array]",$="[object Int8Array]",k="[object Int16Array]",O="[object Int32Array]",M="[object Uint8Array]",R="[object Uint8ClampedArray]",j="[object Uint16Array]",I="[object Uint32Array]",z={};z[T]=z[E]=z[$]=z[k]=z[O]=z[M]=z[R]=z[j]=z[I]=!0,z[n]=z[o]=z[x]=z[a]=z[S]=z[i]=z[s]=z[l]=z[d]=z[h]=z[u]=z[f]=z[g]=z[y]=z[b]=!1;function W(L){return r(L)&&e(L.length)&&!!z[t(L)]}return T1=W,T1}var O1,c3;function jO(){if(c3)return O1;c3=1;function t(e){return function(r){return e(r)}}return O1=t,O1}var uh={exports:{}};uh.exports;var d3;function LO(){return d3||(d3=1,function(t,e){var r=tU(),n=e&&!e.nodeType&&e,o=n&&!0&&t&&!t.nodeType&&t,a=o&&o.exports===n,i=a&&r.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||i&&i.binding&&i.binding("util")}catch{}}();t.exports=s}(uh,uh.exports)),uh.exports}var D1,u3;function oU(){if(u3)return D1;u3=1;var t=Cct(),e=jO(),r=LO(),n=r&&r.isTypedArray,o=n?e(n):t;return D1=o,D1}var A1,p3;function aU(){if(p3)return A1;p3=1;var t=wct(),e=rU(),r=Aa(),n=NO(),o=nU(),a=oU(),i=Object.prototype,s=i.hasOwnProperty;function l(d,h){var u=r(d),f=!u&&e(d),g=!u&&!f&&n(d),y=!u&&!f&&!g&&a(d),b=u||f||g||y,x=b?t(d.length,String):[],S=x.length;for(var T in d)(h||s.call(d,T))&&!(b&&(T=="length"||g&&(T=="offset"||T=="parent")||y&&(T=="buffer"||T=="byteLength"||T=="byteOffset")||o(T,S)))&&x.push(T);return x}return A1=l,A1}var I1,h3;function zO(){if(h3)return I1;h3=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,o=typeof n=="function"&&n.prototype||t;return r===o}return I1=e,I1}var M1,f3;function iU(){if(f3)return M1;f3=1;function t(e,r){return function(n){return e(r(n))}}return M1=t,M1}var P1,m3;function $ct(){if(m3)return P1;m3=1;var t=iU(),e=t(Object.keys,Object);return P1=e,P1}var N1,g3;function kct(){if(g3)return N1;g3=1;var t=zO(),e=$ct(),r=Object.prototype,n=r.hasOwnProperty;function o(a){if(!t(a))return e(a);var i=[];for(var s in Object(a))n.call(a,s)&&s!="constructor"&&i.push(s);return i}return N1=o,N1}var R1,v3;function Nu(){if(v3)return R1;v3=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return R1=t,R1}var j1,y3;function sU(){if(y3)return j1;y3=1;var t=Jl(),e=Nu(),r="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function i(s){if(!e(s))return!1;var l=t(s);return l==n||l==o||l==r||l==a}return j1=i,j1}var L1,_3;function qy(){if(_3)return L1;_3=1;var t=sU(),e=RO();function r(n){return n!=null&&e(n.length)&&!t(n)}return L1=r,L1}var z1,b3;function jf(){if(b3)return z1;b3=1;var t=aU(),e=kct(),r=qy();function n(o){return r(o)?t(o):e(o)}return z1=n,z1}var F1,w3;function lU(){if(w3)return F1;w3=1;var t=bct(),e=jf();function r(n,o){return n&&t(n,o,e)}return F1=r,F1}var B1,x3;function cU(){if(x3)return B1;x3=1;function t(e){return e}return B1=t,B1}var W1,S3;function Ect(){if(S3)return W1;S3=1;var t=cU();function e(r){return typeof r=="function"?r:t}return W1=e,W1}var H1,C3;function FO(){if(C3)return H1;C3=1;var t=lU(),e=Ect();function r(n,o){return n&&t(n,e(o))}return H1=r,H1}var U1,$3;function BO(){if($3)return U1;$3=1;var t=iU(),e=t(Object.getPrototypeOf,Object);return U1=e,U1}var V1,k3;function Tct(){if(k3)return V1;k3=1;var t=Jl(),e=BO(),r=zi(),n="[object Object]",o=Function.prototype,a=Object.prototype,i=o.toString,s=a.hasOwnProperty,l=i.call(Object);function d(h){if(!r(h)||t(h)!=n)return!1;var u=e(h);if(u===null)return!0;var f=s.call(u,"constructor")&&u.constructor;return typeof f=="function"&&f instanceof f&&i.call(f)==l}return V1=d,V1}var q1,E3;function dU(){if(E3)return q1;E3=1;function t(e,r){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n-1}return Z1=e,Z1}var Q1,P3;function Mct(){if(P3)return Q1;P3=1;var t=Gy();function e(r,n){var o=this.__data__,a=t(o,r);return a<0?(++this.size,o.push([r,n])):o[a][1]=n,this}return Q1=e,Q1}var ew,N3;function Xy(){if(N3)return ew;N3=1;var t=Oct(),e=Dct(),r=Act(),n=Ict(),o=Mct();function a(i){var s=-1,l=i==null?0:i.length;for(this.clear();++sg))return!1;var b=u.get(i),x=u.get(s);if(b&&x)return b==s&&x==i;var S=-1,T=!0,E=l&o?new t:void 0;for(u.set(i,s),u.set(s,i);++S0&&arguments[0]!==void 0?arguments[0]:[],f=[];return(0,s.default)(u,function(g){Array.isArray(g)?h(g).map(function(y){return f.push(y)}):(0,a.default)(g)?(0,n.default)(g,function(y,b){y===!0&&f.push(b),f.push(b+"-"+y)}):(0,e.default)(g)&&f.push(g)}),f};return Bc.default=d,Bc}var Wc={},Ex,c4;function Ldt(){if(c4)return Ex;c4=1;function t(e,r){for(var n=-1,o=e==null?0:e.length;++n1&&arguments[1]!==void 0?arguments[1]:[],h=l.default&&(0,n.default)(l.default)||{};return d.map(function(u){var f=l[u];return f&&(0,e.default)(f,function(g,y){h[y]||(h[y]={}),h[y]=o({},h[y],f[y])}),u}),h};return Wc.default=i,Wc}var Hc={},B4;function dut(){if(B4)return Hc;B4=1,Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.autoprefix=void 0;var t=FO(),e=n(t),r=Object.assign||function(i){for(var s=1;s1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:!0;o[s]=l};return r===0&&a("first-child"),r===n-1&&a("last-child"),(r===0||r%2===0)&&a("even"),Math.abs(r%2)===1&&a("odd"),a("nth-child",r),o};return Eg.default=t,Eg}var V4;function fut(){if(V4)return Yn;V4=1,Object.defineProperty(Yn,"__esModule",{value:!0}),Yn.ReactCSS=Yn.loop=Yn.handleActive=Yn.handleHover=Yn.hover=void 0;var t=jdt(),e=f(t),r=cut(),n=f(r),o=dut(),a=f(o),i=uut(),s=f(i),l=put(),d=f(l),h=hut(),u=f(h);function f(y){return y&&y.__esModule?y:{default:y}}Yn.hover=s.default,Yn.handleHover=s.default,Yn.handleActive=d.default,Yn.loop=u.default;var g=Yn.ReactCSS=function(b){for(var x=arguments.length,S=Array(x>1?x-1:0),T=1;Ts?f=1:f=Math.round(u*100/s)/100,r.a!==f)return{h:r.h,s:r.s,l:r.l,a:f,source:"rgb"}}else{var g=void 0;if(h<0?g=0:h>i?g=1:g=Math.round(h*100/i)/100,o!==g)return{h:r.h,s:r.s,l:r.l,a:g,source:"rgb"}}return null},nS={},gut=function(e,r,n,o){if(typeof document>"u"&&!o)return null;var a=o?new o:document.createElement("canvas");a.width=n*2,a.height=n*2;var i=a.getContext("2d");return i?(i.fillStyle=e,i.fillRect(0,0,a.width,a.height),i.fillStyle=r,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),a.toDataURL()):null},vut=function(e,r,n,o){var a=e+"-"+r+"-"+n+(o?"-server":"");if(nS[a])return nS[a];var i=gut(e,r,n,o);return nS[a]=i,i},q4=Object.assign||function(t){for(var e=1;e-1},Dut=function(e){return Number(String(e).replace(/%/g,""))},Aut=1,Lt=function(t){$ut(e,t);function e(r){Sut(this,e);var n=Cut(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.handleBlur=function(){n.state.blurValue&&n.setState({value:n.state.blurValue,blurValue:null})},n.handleChange=function(o){n.setUpdatedValue(o.target.value,o)},n.handleKeyDown=function(o){var a=Dut(o.target.value);if(!isNaN(a)&&Out(o.keyCode)){var i=n.getArrowOffset(),s=o.keyCode===kU?a+i:a-i;n.setUpdatedValue(s,o)}},n.handleDrag=function(o){if(n.props.dragLabel){var a=Math.round(n.props.value+o.movementX);a>=0&&a<=n.props.dragMax&&n.props.onChange&&n.props.onChange(n.getValueObjectWithLabel(a),o)}},n.handleMouseDown=function(o){n.props.dragLabel&&(o.preventDefault(),n.handleDrag(o),window.addEventListener("mousemove",n.handleDrag),window.addEventListener("mouseup",n.handleMouseUp))},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleDrag),window.removeEventListener("mouseup",n.handleMouseUp)},n.state={value:String(r.value).toUpperCase(),blurValue:String(r.value).toUpperCase()},n.inputId="rc-editable-input-"+Aut++,n}return wut(e,[{key:"componentDidUpdate",value:function(n,o){this.props.value!==this.state.value&&(n.value!==this.props.value||o.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(n){return xut({},this.props.label,n)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||kut}},{key:"setUpdatedValue",value:function(n,o){var a=this.props.label?this.getValueObjectWithLabel(n):n;this.props.onChange&&this.props.onChange(a,o),this.setState({value:n})}},{key:"render",value:function(){var n=this,o=kt({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return m.createElement("div",{style:o.wrap},m.createElement("input",{id:this.inputId,style:o.input,ref:function(i){return n.input=i},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?m.createElement("label",{htmlFor:this.inputId,style:o.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(A.PureComponent||A.Component),Iut=function(e,r,n,o){var a=o.clientWidth,i=o.clientHeight,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(o.getBoundingClientRect().left+window.pageXOffset),h=l-(o.getBoundingClientRect().top+window.pageYOffset);if(r==="vertical"){var u=void 0;if(h<0)u=359;else if(h>i)u=0;else{var f=-(h*100/i)+100;u=360*f/100}if(n.h!==u)return{h:u,s:n.s,l:n.l,a:n.a,source:"hsl"}}else{var g=void 0;if(d<0)g=0;else if(d>a)g=359;else{var y=d*100/a;g=360*y/100}if(n.h!==g)return{h:g,s:n.s,l:n.l,a:n.a,source:"hsl"}}return null},Mut=function(){function t(e,r){for(var n=0;n-1},Aut=function(e){return Number(String(e).replace(/%/g,""))},Iut=1,Lt=function(t){kut(e,t);function e(r){Cut(this,e);var n=$ut(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.handleBlur=function(){n.state.blurValue&&n.setState({value:n.state.blurValue,blurValue:null})},n.handleChange=function(o){n.setUpdatedValue(o.target.value,o)},n.handleKeyDown=function(o){var a=Aut(o.target.value);if(!isNaN(a)&&Dut(o.keyCode)){var i=n.getArrowOffset(),s=o.keyCode===kU?a+i:a-i;n.setUpdatedValue(s,o)}},n.handleDrag=function(o){if(n.props.dragLabel){var a=Math.round(n.props.value+o.movementX);a>=0&&a<=n.props.dragMax&&n.props.onChange&&n.props.onChange(n.getValueObjectWithLabel(a),o)}},n.handleMouseDown=function(o){n.props.dragLabel&&(o.preventDefault(),n.handleDrag(o),window.addEventListener("mousemove",n.handleDrag),window.addEventListener("mouseup",n.handleMouseUp))},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleDrag),window.removeEventListener("mouseup",n.handleMouseUp)},n.state={value:String(r.value).toUpperCase(),blurValue:String(r.value).toUpperCase()},n.inputId="rc-editable-input-"+Iut++,n}return xut(e,[{key:"componentDidUpdate",value:function(n,o){this.props.value!==this.state.value&&(n.value!==this.props.value||o.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(n){return Sut({},this.props.label,n)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Eut}},{key:"setUpdatedValue",value:function(n,o){var a=this.props.label?this.getValueObjectWithLabel(n):n;this.props.onChange&&this.props.onChange(a,o),this.setState({value:n})}},{key:"render",value:function(){var n=this,o=kt({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return m.createElement("div",{style:o.wrap},m.createElement("input",{id:this.inputId,style:o.input,ref:function(i){return n.input=i},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?m.createElement("label",{htmlFor:this.inputId,style:o.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(A.PureComponent||A.Component),Mut=function(e,r,n,o){var a=o.clientWidth,i=o.clientHeight,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(o.getBoundingClientRect().left+window.pageXOffset),h=l-(o.getBoundingClientRect().top+window.pageYOffset);if(r==="vertical"){var u=void 0;if(h<0)u=359;else if(h>i)u=0;else{var f=-(h*100/i)+100;u=360*f/100}if(n.h!==u)return{h:u,s:n.s,l:n.l,a:n.a,source:"hsl"}}else{var g=void 0;if(d<0)g=0;else if(d>a)g=359;else{var y=d*100/a;g=360*y/100}if(n.h!==g)return{h:g,s:n.s,l:n.l,a:n.a,source:"hsl"}}return null},Put=function(){function t(e,r){for(var n=0;n-1}function Wut(t,e){var r=this.__data__,n=e_(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fi(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Jpt}function Lu(t){return t!=null&&rD(t.length)&&!QO(t)}function Ypt(t){return js(t)&&Lu(t)}function Kpt(){return!1}var PU=typeof br=="object"&&br&&!br.nodeType&&br,tL=PU&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,Zpt=tL&&tL.exports===PU,rL=Zpt?Ia.Buffer:void 0,Qpt=rL?rL.isBuffer:void 0,Fv=Qpt||Kpt,eht="[object Object]",tht=Function.prototype,rht=Object.prototype,NU=tht.toString,nht=rht.hasOwnProperty,oht=NU.call(Object);function aht(t){if(!js(t)||Kl(t)!=eht)return!1;var e=IU(t);if(e===null)return!0;var r=nht.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&NU.call(r)==oht}var iht="[object Arguments]",sht="[object Array]",lht="[object Boolean]",cht="[object Date]",dht="[object Error]",uht="[object Function]",pht="[object Map]",hht="[object Number]",fht="[object Object]",mht="[object RegExp]",ght="[object Set]",vht="[object String]",yht="[object WeakMap]",_ht="[object ArrayBuffer]",bht="[object DataView]",wht="[object Float32Array]",xht="[object Float64Array]",Sht="[object Int8Array]",Cht="[object Int16Array]",$ht="[object Int32Array]",kht="[object Uint8Array]",Eht="[object Uint8ClampedArray]",Tht="[object Uint16Array]",Oht="[object Uint32Array]",gr={};gr[wht]=gr[xht]=gr[Sht]=gr[Cht]=gr[$ht]=gr[kht]=gr[Eht]=gr[Tht]=gr[Oht]=!0;gr[iht]=gr[sht]=gr[_ht]=gr[lht]=gr[bht]=gr[cht]=gr[dht]=gr[uht]=gr[pht]=gr[hht]=gr[fht]=gr[mht]=gr[ght]=gr[vht]=gr[yht]=!1;function Dht(t){return js(t)&&rD(t.length)&&!!gr[Kl(t)]}function Aht(t){return function(e){return t(e)}}var RU=typeof br=="object"&&br&&!br.nodeType&&br,Nh=RU&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,Iht=Nh&&Nh.exports===RU,aS=Iht&&EU.process,nL=function(){try{var t=Nh&&Nh.require&&Nh.require("util").types;return t||aS&&aS.binding&&aS.binding("util")}catch{}}(),oL=nL&&nL.isTypedArray,nD=oL?Aht(oL):Dht;function d2(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Mht=Object.prototype,Pht=Mht.hasOwnProperty;function Nht(t,e,r){var n=t[e];(!(Pht.call(t,e)&&Lf(n,r))||r===void 0&&!(e in t))&&eD(t,e,r)}function Rht(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a-1&&t%1==0&&t0){if(++e>=Zht)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var rft=tft(Kht);function nft(t,e){return rft(Jht(t,e,r_),t+"")}function oft(t,e,r){if(!na(r))return!1;var n=typeof e;return(n=="number"?Lu(r)&&oD(e,r.length):n=="string"&&e in r)?Lf(r[e],t):!1}function aft(t){return nft(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(o--,a):void 0,i&&oft(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n=e||M<0||u&&R>=a}function S(){var O=iS();if(x(O))return T(O);s=setTimeout(S,b(O))}function T(O){return s=void 0,f&&n?g(O):(n=o=void 0,i)}function E(){s!==void 0&&clearTimeout(s),d=0,n=l=o=s=void 0}function $(){return s===void 0?i:T(iS())}function k(){var O=iS(),M=x(O);if(n=arguments,o=this,l=O,M){if(s===void 0)return y(l);if(u)return clearTimeout(s),s=setTimeout(S,e),g(l)}return s===void 0&&(s=setTimeout(S,e)),i}return k.cancel=E,k.flush=$,k}var yft="Expected a function";function _ft(t,e,r){var n=!0,o=!0;if(typeof t!="function")throw new TypeError(yft);return na(r)&&(n="leading"in r?!!r.leading:n,o="trailing"in r?!!r.trailing:o),FU(t,e,{leading:n,maxWait:e,trailing:o})}var bft=function(e,r,n){var o=n.getBoundingClientRect(),a=o.width,i=o.height,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(n.getBoundingClientRect().left+window.pageXOffset),h=l-(n.getBoundingClientRect().top+window.pageYOffset);d<0?d=0:d>a&&(d=a),h<0?h=0:h>i&&(h=i);var u=d/a,f=1-h/i;return{h:r.h,s:u,v:f,a:r.a,source:"hsv"}},wft=function(){function t(e,r){for(var n=0;n-1}function Hut(t,e){var r=this.__data__,n=e_(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Fi(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Ypt}function Lu(t){return t!=null&&rD(t.length)&&!QO(t)}function Kpt(t){return js(t)&&Lu(t)}function Zpt(){return!1}var PU=typeof br=="object"&&br&&!br.nodeType&&br,tL=PU&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,Qpt=tL&&tL.exports===PU,rL=Qpt?Ia.Buffer:void 0,eht=rL?rL.isBuffer:void 0,Fv=eht||Zpt,tht="[object Object]",rht=Function.prototype,nht=Object.prototype,NU=rht.toString,oht=nht.hasOwnProperty,aht=NU.call(Object);function iht(t){if(!js(t)||Kl(t)!=tht)return!1;var e=IU(t);if(e===null)return!0;var r=oht.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&NU.call(r)==aht}var sht="[object Arguments]",lht="[object Array]",cht="[object Boolean]",dht="[object Date]",uht="[object Error]",pht="[object Function]",hht="[object Map]",fht="[object Number]",mht="[object Object]",ght="[object RegExp]",vht="[object Set]",yht="[object String]",_ht="[object WeakMap]",bht="[object ArrayBuffer]",wht="[object DataView]",xht="[object Float32Array]",Sht="[object Float64Array]",Cht="[object Int8Array]",$ht="[object Int16Array]",kht="[object Int32Array]",Eht="[object Uint8Array]",Tht="[object Uint8ClampedArray]",Oht="[object Uint16Array]",Dht="[object Uint32Array]",gr={};gr[xht]=gr[Sht]=gr[Cht]=gr[$ht]=gr[kht]=gr[Eht]=gr[Tht]=gr[Oht]=gr[Dht]=!0;gr[sht]=gr[lht]=gr[bht]=gr[cht]=gr[wht]=gr[dht]=gr[uht]=gr[pht]=gr[hht]=gr[fht]=gr[mht]=gr[ght]=gr[vht]=gr[yht]=gr[_ht]=!1;function Aht(t){return js(t)&&rD(t.length)&&!!gr[Kl(t)]}function Iht(t){return function(e){return t(e)}}var RU=typeof br=="object"&&br&&!br.nodeType&&br,Nh=RU&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,Mht=Nh&&Nh.exports===RU,aS=Mht&&EU.process,nL=function(){try{var t=Nh&&Nh.require&&Nh.require("util").types;return t||aS&&aS.binding&&aS.binding("util")}catch{}}(),oL=nL&&nL.isTypedArray,nD=oL?Iht(oL):Aht;function d2(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Pht=Object.prototype,Nht=Pht.hasOwnProperty;function Rht(t,e,r){var n=t[e];(!(Nht.call(t,e)&&Lf(n,r))||r===void 0&&!(e in t))&&eD(t,e,r)}function jht(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a-1&&t%1==0&&t0){if(++e>=Qht)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var nft=rft(Zht);function oft(t,e){return nft(Yht(t,e,r_),t+"")}function aft(t,e,r){if(!na(r))return!1;var n=typeof e;return(n=="number"?Lu(r)&&oD(e,r.length):n=="string"&&e in r)?Lf(r[e],t):!1}function ift(t){return oft(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(o--,a):void 0,i&&aft(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n=e||M<0||u&&R>=a}function S(){var O=iS();if(x(O))return T(O);s=setTimeout(S,b(O))}function T(O){return s=void 0,f&&n?g(O):(n=o=void 0,i)}function E(){s!==void 0&&clearTimeout(s),d=0,n=l=o=s=void 0}function $(){return s===void 0?i:T(iS())}function k(){var O=iS(),M=x(O);if(n=arguments,o=this,l=O,M){if(s===void 0)return y(l);if(u)return clearTimeout(s),s=setTimeout(S,e),g(l)}return s===void 0&&(s=setTimeout(S,e)),i}return k.cancel=E,k.flush=$,k}var _ft="Expected a function";function bft(t,e,r){var n=!0,o=!0;if(typeof t!="function")throw new TypeError(_ft);return na(r)&&(n="leading"in r?!!r.leading:n,o="trailing"in r?!!r.trailing:o),FU(t,e,{leading:n,maxWait:e,trailing:o})}var wft=function(e,r,n){var o=n.getBoundingClientRect(),a=o.width,i=o.height,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(n.getBoundingClientRect().left+window.pageXOffset),h=l-(n.getBoundingClientRect().top+window.pageYOffset);d<0?d=0:d>a&&(d=a),h<0?h=0:h>i&&(h=i);var u=d/a,f=1-h/i;return{h:r.h,s:u,v:f,a:r.a,source:"hsv"}},xft=function(){function t(e,r){for(var n=0;n=0,a=!r&&o&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return a?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(n=this.toRgbString()),e==="prgb"&&(n=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(n=this.toHexString()),e==="hex3"&&(n=this.toHexString(!0)),e==="hex4"&&(n=this.toHex8String(!0)),e==="hex8"&&(n=this.toHex8String()),e==="name"&&(n=this.toName()),e==="hsl"&&(n=this.toHslString()),e==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return st(this.toString())},_applyModification:function(e,r){var n=e.apply(null,[this].concat([].slice.call(r)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(Uft,arguments)},brighten:function(){return this._applyModification(Vft,arguments)},darken:function(){return this._applyModification(qft,arguments)},desaturate:function(){return this._applyModification(Bft,arguments)},saturate:function(){return this._applyModification(Wft,arguments)},greyscale:function(){return this._applyModification(Hft,arguments)},spin:function(){return this._applyModification(Gft,arguments)},_applyCombination:function(e,r){return e.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Yft,arguments)},complement:function(){return this._applyCombination(Xft,arguments)},monochromatic:function(){return this._applyCombination(Kft,arguments)},splitcomplement:function(){return this._applyCombination(Jft,arguments)},triad:function(){return this._applyCombination(pL,[3])},tetrad:function(){return this._applyCombination(pL,[4])}};st.fromRatio=function(t,e){if(Bv(t)=="object"){var r={};for(var n in t)t.hasOwnProperty(n)&&(n==="a"?r[n]=t[n]:r[n]=hh(t[n]));t=r}return st(t,e)};function Rft(t){var e={r:0,g:0,b:0},r=1,n=null,o=null,a=null,i=!1,s=!1;return typeof t=="string"&&(t=rmt(t)),Bv(t)=="object"&&(Si(t.r)&&Si(t.g)&&Si(t.b)?(e=jft(t.r,t.g,t.b),i=!0,s=String(t.r).substr(-1)==="%"?"prgb":"rgb"):Si(t.h)&&Si(t.s)&&Si(t.v)?(n=hh(t.s),o=hh(t.v),e=zft(t.h,n,o),i=!0,s="hsv"):Si(t.h)&&Si(t.s)&&Si(t.l)&&(n=hh(t.s),a=hh(t.l),e=Lft(t.h,n,a),i=!0,s="hsl"),t.hasOwnProperty("a")&&(r=t.a)),r=WU(r),{ok:i,format:t.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:r}}function jft(t,e,r){return{r:Or(t,255)*255,g:Or(e,255)*255,b:Or(r,255)*255}}function lL(t,e,r){t=Or(t,255),e=Or(e,255),r=Or(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=(n+o)/2;if(n==o)a=i=0;else{var l=n-o;switch(i=s>.5?l/(2-n-o):l/(n+o),n){case t:a=(e-r)/l+(e1&&(u-=1),u<1/6?d+(h-d)*6*u:u<1/2?h:u<2/3?d+(h-d)*(2/3-u)*6:d}if(e===0)n=o=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=i(l,s,t+1/3),o=i(l,s,t),a=i(l,s,t-1/3)}return{r:n*255,g:o*255,b:a*255}}function cL(t,e,r){t=Or(t,255),e=Or(e,255),r=Or(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=n,l=n-o;if(i=n===0?0:l/n,n==o)a=0;else{switch(n){case t:a=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+o)%360,a.push(st(n));return a}function Kft(t,e){e=e||6;for(var r=st(t).toHsv(),n=r.h,o=r.s,a=r.v,i=[],s=1/e;e--;)i.push(st({h:n,s:o,v:a})),a=(a+s)%1;return i}st.mix=function(t,e,r){r=r===0?0:r||50;var n=st(t).toRgb(),o=st(e).toRgb(),a=r/100,i={r:(o.r-n.r)*a+n.r,g:(o.g-n.g)*a+n.g,b:(o.b-n.b)*a+n.b,a:(o.a-n.a)*a+n.a};return st(i)};st.readability=function(t,e){var r=st(t),n=st(e);return(Math.max(r.getLuminance(),n.getLuminance())+.05)/(Math.min(r.getLuminance(),n.getLuminance())+.05)};st.isReadable=function(t,e,r){var n=st.readability(t,e),o,a;switch(a=!1,o=nmt(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=n>=4.5;break;case"AAlarge":a=n>=3;break;case"AAAsmall":a=n>=7;break}return a};st.mostReadable=function(t,e,r){var n=null,o=0,a,i,s,l;r=r||{},i=r.includeFallbackColors,s=r.level,l=r.size;for(var d=0;do&&(o=a,n=st(e[d]));return st.isReadable(t,n,{level:s,size:l})||!i?n:(r.includeFallbackColors=!1,st.mostReadable(t,["#fff","#000"],r))};var u2=st.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Zft=st.hexNames=Qft(u2);function Qft(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}function WU(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Or(t,e){emt(t)&&(t="100%");var r=tmt(t);return t=Math.min(e,Math.max(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function a_(t){return Math.min(1,Math.max(0,t))}function vo(t){return parseInt(t,16)}function emt(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function tmt(t){return typeof t=="string"&&t.indexOf("%")!=-1}function xa(t){return t.length==1?"0"+t:""+t}function hh(t){return t<=1&&(t=t*100+"%"),t}function HU(t){return Math.round(parseFloat(t)*255).toString(16)}function hL(t){return vo(t)/255}var ma=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",r="(?:"+e+")|(?:"+t+")",n="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Si(t){return!!ma.CSS_UNIT.exec(t)}function rmt(t){t=t.replace(Pft,"").replace(Nft,"").toLowerCase();var e=!1;if(u2[t])t=u2[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=ma.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=ma.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=ma.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=ma.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=ma.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=ma.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=ma.hex8.exec(t))?{r:vo(r[1]),g:vo(r[2]),b:vo(r[3]),a:hL(r[4]),format:e?"name":"hex8"}:(r=ma.hex6.exec(t))?{r:vo(r[1]),g:vo(r[2]),b:vo(r[3]),format:e?"name":"hex"}:(r=ma.hex4.exec(t))?{r:vo(r[1]+""+r[1]),g:vo(r[2]+""+r[2]),b:vo(r[3]+""+r[3]),a:hL(r[4]+""+r[4]),format:e?"name":"hex8"}:(r=ma.hex3.exec(t))?{r:vo(r[1]+""+r[1]),g:vo(r[2]+""+r[2]),b:vo(r[3]+""+r[3]),format:e?"name":"hex"}:!1}function nmt(t){var e,r;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:e,size:r}}var fL=function(e){var r=["r","g","b","a","h","s","l","v"],n=0,o=0;return Mft(r,function(a){if(e[a]&&(n+=1,isNaN(e[a])||(o+=1),a==="s"||a==="l")){var i=/^\d+%$/;i.test(e[a])&&(o+=1)}}),n===o?e:!1},fh=function(e,r){var n=e.hex?st(e.hex):st(e),o=n.toHsl(),a=n.toHsv(),i=n.toRgb(),s=n.toHex();o.s===0&&(o.h=r||0,a.h=r||0);var l=s==="000000"&&i.a===0;return{hsl:o,hex:l?"transparent":"#"+s,rgb:i,hsv:a,oldHue:e.h||r||o.h,source:e.source}},Vs=function(e){if(e==="transparent")return!0;var r=String(e).charAt(0)==="#"?1:0;return e.length!==4+r&&e.length<7+r&&st(e).isValid()},iD=function(e){if(!e)return"#fff";var r=fh(e);if(r.hex==="transparent")return"rgba(0,0,0,0.4)";var n=(r.rgb.r*299+r.rgb.g*587+r.rgb.b*114)/1e3;return n>=128?"#000":"#fff"},sS=function(e,r){var n=e.replace("°","");return st(r+" ("+n+")")._ok},Bp=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){umt(o,n);function o(){var a,i,s,l;dmt(this,o);for(var d=arguments.length,h=Array(d),u=0;us))return!1;var d=a.get(t),h=a.get(e);if(d&&h)return d==e&&h==t;var u=-1,f=!0,g=r&Smt?new Wv:void 0;for(a.set(t,e),a.set(e,t);++u=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Og.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Og}var jgt=Rgt();const Lgt=so(jgt);var zgt=function(){function t(e,r){for(var n=0;n1&&(o.a=1),n.props.onChange({h:n.props.hsl.h,s:n.props.hsl.s,l:n.props.hsl.l,a:Math.round(o.a*100)/100,source:"rgb"},a)):(o.h||o.s||o.l)&&(typeof o.s=="string"&&o.s.includes("%")&&(o.s=o.s.replace("%","")),typeof o.l=="string"&&o.l.includes("%")&&(o.l=o.l.replace("%","")),o.s==1?o.s=.01:o.l==1&&(o.l=.01),n.props.onChange({h:o.h||n.props.hsl.h,s:Number(DL(o.s)?n.props.hsl.s:o.s),l:Number(DL(o.l)?n.props.hsl.l:o.l),source:"hsl"},a))},n.showHighlight=function(o){o.currentTarget.style.background="#eee"},n.hideHighlight=function(o){o.currentTarget.style.background="transparent"},r.hsl.a!==1&&r.view==="hex"?n.state={view:"rgb"}:n.state={view:r.view},n}return zgt(e,[{key:"render",value:function(){var n=this,o=kt({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),a=void 0;return this.state.view==="hex"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),m.createElement("div",{style:o.wrap,className:"flexbox-fix"},a,m.createElement("div",{style:o.toggle},m.createElement("div",{style:o.icon,onClick:this.toggleViews,ref:function(s){return n.icon=s}},m.createElement(Lgt,{style:o.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(n,o){return n.hsl.a!==1&&o.view==="hex"?{view:"rgb"}:null}}]),e}(m.Component);QU.defaultProps={view:"hex"};var IL=function(){var e=kt({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return m.createElement("div",{style:e.picker})},Hgt=function(){var e=kt({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return m.createElement("div",{style:e.picker})},pD=function(e){var r=e.width,n=e.onChange,o=e.disableAlpha,a=e.rgb,i=e.hsl,s=e.hsv,l=e.hex,d=e.renderers,h=e.styles,u=h===void 0?{}:h,f=e.className,g=f===void 0?"":f,y=e.defaultView,b=kt(lo({default:{picker:{width:r,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+a.r+", "+a.g+", "+a.b+", "+a.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},u),{disableAlpha:o});return m.createElement("div",{style:b.picker,className:"chrome-picker "+g},m.createElement("div",{style:b.saturation},m.createElement(o_,{style:b.Saturation,hsl:i,hsv:s,pointer:Hgt,onChange:n})),m.createElement("div",{style:b.body},m.createElement("div",{style:b.controls,className:"flexbox-fix"},m.createElement("div",{style:b.color},m.createElement("div",{style:b.swatch},m.createElement("div",{style:b.active}),m.createElement(Ru,{renderers:d}))),m.createElement("div",{style:b.toggles},m.createElement("div",{style:b.hue},m.createElement(ju,{style:b.Hue,hsl:i,pointer:IL,onChange:n})),m.createElement("div",{style:b.alpha},m.createElement(ZO,{style:b.Alpha,rgb:a,hsl:i,pointer:IL,renderers:d,onChange:n})))),m.createElement(QU,{rgb:a,hsl:i,hex:l,view:y,onChange:n,disableAlpha:o})))};pD.propTypes={width:ye.oneOfType([ye.string,ye.number]),disableAlpha:ye.bool,styles:ye.object,defaultView:ye.oneOf(["hex","rgb","hsl"])};pD.defaultProps={width:225,disableAlpha:!1,styles:{}};const Ugt=co(pD);var Vgt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.active,s=kt({default:{color:{background:r,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:iD(r),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:i,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(ec,{style:s.color,color:r,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:s.dot}))},qgt=function(e){var r=e.hex,n=e.rgb,o=e.onChange,a=kt({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:r},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),i=function(l,d){l.r||l.g||l.b?o({r:l.r||n.r,g:l.g||n.g,b:l.b||n.b,source:"rgb"},d):o({hex:l.hex,source:"hex"},d)};return m.createElement("div",{style:a.fields,className:"flexbox-fix"},m.createElement("div",{style:a.active}),m.createElement(Lt,{style:{wrap:a.HEXwrap,input:a.HEXinput,label:a.HEXlabel},label:"hex",value:r,onChange:i}),m.createElement(Lt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"r",value:n.r,onChange:i}),m.createElement(Lt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"g",value:n.g,onChange:i}),m.createElement(Lt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"b",value:n.b,onChange:i}))},hD=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.colors,a=e.hex,i=e.rgb,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=kt(lo({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},l)),f=function(y,b){y.hex?Vs(y.hex)&&r({hex:y.hex,source:"hex"},b):r(y,b)};return m.createElement(zf,{style:u.Compact,styles:l},m.createElement("div",{style:u.compact,className:"compact-picker "+h},m.createElement("div",null,tc(o,function(g){return m.createElement(Vgt,{key:g,color:g,active:g.toLowerCase()===a,onClick:f,onSwatchHover:n})}),m.createElement("div",{style:u.clear})),m.createElement(qgt,{hex:a,rgb:i,onChange:f})))};hD.propTypes={colors:ye.arrayOf(ye.string),styles:ye.object};hD.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};co(hD);var Ggt=function(e){var r=e.hover,n=e.color,o=e.onClick,a=e.onSwatchHover,i={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},s=kt({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:i}},{hover:r});return m.createElement("div",{style:s.swatch},m.createElement(ec,{color:n,onClick:o,onHover:a,focusStyle:i}))};const Xgt=KO.handleHover(Ggt);var fD=function(e){var r=e.width,n=e.colors,o=e.onChange,a=e.onSwatchHover,i=e.triangle,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=kt(lo({default:{card:{width:r,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},l),{"hide-triangle":i==="hide","top-left-triangle":i==="top-left","top-right-triangle":i==="top-right","bottom-left-triangle":i==="bottom-left","bottom-right-triangle":i==="bottom-right"}),f=function(y,b){return o({hex:y,source:"hex"},b)};return m.createElement("div",{style:u.card,className:"github-picker "+h},m.createElement("div",{style:u.triangleShadow}),m.createElement("div",{style:u.triangle}),tc(n,function(g){return m.createElement(Xgt,{color:g,key:g,onClick:f,onSwatchHover:a})}))};fD.propTypes={width:ye.oneOfType([ye.string,ye.number]),colors:ye.arrayOf(ye.string),triangle:ye.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:ye.object};fD.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};co(fD);var Jgt=function(e){var r=e.direction,n=kt({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:r==="vertical"});return m.createElement("div",{style:n.picker})},Ygt=Object.assign||function(t){for(var e=1;e.5});return m.createElement("div",{style:n.picker})},evt=function(){var e=kt({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return m.createElement("div",{style:e.pointer},m.createElement("div",{style:e.left},m.createElement("div",{style:e.leftInside})),m.createElement("div",{style:e.right},m.createElement("div",{style:e.rightInside})))},ML=function(e){var r=e.onClick,n=e.label,o=e.children,a=e.active,i=kt({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:a});return m.createElement("div",{style:i.button,onClick:r},n||o)},tvt=function(e){var r=e.rgb,n=e.currentColor,o=kt({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+r.r+","+r.g+", "+r.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:n,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return m.createElement("div",null,m.createElement("div",{style:o.label},"new"),m.createElement("div",{style:o.swatches},m.createElement("div",{style:o.new}),m.createElement("div",{style:o.current})),m.createElement("div",{style:o.label},"current"))},rvt=function(){function t(e,r){for(var n=0;n100&&(h.a=100),h.a/=100,r({h:o.h,s:o.s,l:o.l,a:h.a,source:"rgb"},u))};return m.createElement("div",{style:s.fields,className:"flexbox-fix"},m.createElement("div",{style:s.double},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"hex",value:a.replace("#",""),onChange:l})),m.createElement("div",{style:s.single},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"r",value:n.r,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"g",value:n.g,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"b",value:n.b,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.alpha},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"a",value:Math.round(n.a*100),onChange:l,dragLabel:"true",dragMax:"100"})))},svt=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Dg.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},Dg}var pvt=uvt();const hvt=so(pvt);var fvt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.first,s=e.last,l=e.active,d=kt({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:r,marginBottom:"1px"},check:{color:iD(r),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:i,last:s,active:l,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(ec,{color:r,style:d.color,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:d.check},m.createElement(hvt,null)))},mvt=function(e){var r=e.onClick,n=e.onSwatchHover,o=e.group,a=e.active,i=kt({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return m.createElement("div",{style:i.group},tc(o,function(s,l){return m.createElement(fvt,{key:s,color:s,active:s.toLowerCase()===a,first:l===0,last:l===o.length-1,onClick:r,onSwatchHover:n})}))},_D=function(e){var r=e.width,n=e.height,o=e.onChange,a=e.onSwatchHover,i=e.colors,s=e.hex,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=kt(lo({default:{picker:{width:r,height:n},overflow:{height:n,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},d)),g=function(b,x){return o({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.picker,className:"swatches-picker "+u},m.createElement(zf,null,m.createElement("div",{style:f.overflow},m.createElement("div",{style:f.body},tc(i,function(y){return m.createElement(mvt,{key:y.toString(),group:y,active:s,onClick:g,onSwatchHover:a})}),m.createElement("div",{style:f.clear})))))};_D.propTypes={width:ye.oneOfType([ye.string,ye.number]),height:ye.oneOfType([ye.string,ye.number]),colors:ye.arrayOf(ye.arrayOf(ye.string)),styles:ye.object};_D.defaultProps={width:320,height:240,colors:[[ud[900],ud[700],ud[500],ud[300],ud[100]],[pd[900],pd[700],pd[500],pd[300],pd[100]],[hd[900],hd[700],hd[500],hd[300],hd[100]],[fd[900],fd[700],fd[500],fd[300],fd[100]],[md[900],md[700],md[500],md[300],md[100]],[gd[900],gd[700],gd[500],gd[300],gd[100]],[vd[900],vd[700],vd[500],vd[300],vd[100]],[yd[900],yd[700],yd[500],yd[300],yd[100]],[_d[900],_d[700],_d[500],_d[300],_d[100]],["#194D33",mh[700],mh[500],mh[300],mh[100]],[bd[900],bd[700],bd[500],bd[300],bd[100]],[wd[900],wd[700],wd[500],wd[300],wd[100]],[xd[900],xd[700],xd[500],xd[300],xd[100]],[Sd[900],Sd[700],Sd[500],Sd[300],Sd[100]],[Cd[900],Cd[700],Cd[500],Cd[300],Cd[100]],[$d[900],$d[700],$d[500],$d[300],$d[100]],[kd[900],kd[700],kd[500],kd[300],kd[100]],[Ed[900],Ed[700],Ed[500],Ed[300],Ed[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};co(_D);var bD=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.hex,a=e.colors,i=e.width,s=e.triangle,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=kt(lo({default:{card:{width:i,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},d),{"hide-triangle":s==="hide","top-left-triangle":s==="top-left","top-right-triangle":s==="top-right"}),g=function(b,x){Vs(b)&&r({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.card,className:"twitter-picker "+u},m.createElement("div",{style:f.triangleShadow}),m.createElement("div",{style:f.triangle}),m.createElement("div",{style:f.body},tc(a,function(y,b){return m.createElement(ec,{key:b,color:y,hex:y,style:f.swatch,onClick:g,onHover:n,focusStyle:{boxShadow:"0 0 4px "+y}})}),m.createElement("div",{style:f.hash},"#"),m.createElement(Lt,{label:null,style:{input:f.input},value:o.replace("#",""),onChange:g}),m.createElement("div",{style:f.clear})))};bD.propTypes={width:ye.oneOfType([ye.string,ye.number]),triangle:ye.oneOf(["hide","top-left","top-right"]),colors:ye.arrayOf(ye.string),styles:ye.object};bD.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};co(bD);var wD=function(e){var r=kt({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return m.createElement("div",{style:r.picker})};wD.propTypes={hsl:ye.shape({h:ye.number,s:ye.number,l:ye.number,a:ye.number})};wD.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var xD=function(e){var r=kt({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return m.createElement("div",{style:r.picker})};xD.propTypes={hsl:ye.shape({h:ye.number,s:ye.number,l:ye.number,a:ye.number})};xD.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var gvt=function(e){var r=e.onChange,n=e.rgb,o=e.hsl,a=e.hex,i=e.hsv,s=function(g,y){if(g.hex)Vs(g.hex)&&r({hex:g.hex,source:"hex"},y);else if(g.rgb){var b=g.rgb.split(",");sS(g.rgb,"rgb")&&r({r:b[0],g:b[1],b:b[2],a:1,source:"rgb"},y)}else if(g.hsv){var x=g.hsv.split(",");sS(g.hsv,"hsv")&&(x[2]=x[2].replace("%",""),x[1]=x[1].replace("%",""),x[0]=x[0].replace("°",""),x[1]==1?x[1]=.01:x[2]==1&&(x[2]=.01),r({h:Number(x[0]),s:Number(x[1]),v:Number(x[2]),source:"hsv"},y))}else if(g.hsl){var S=g.hsl.split(",");sS(g.hsl,"hsl")&&(S[2]=S[2].replace("%",""),S[1]=S[1].replace("%",""),S[0]=S[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),r({h:Number(S[0]),s:Number(S[1]),v:Number(S[2]),source:"hsl"},y))}},l=kt({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),d=n.r+", "+n.g+", "+n.b,h=Math.round(o.h)+"°, "+Math.round(o.s*100)+"%, "+Math.round(o.l*100)+"%",u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.v*100)+"%";return m.createElement("div",{style:l.wrap,className:"flexbox-fix"},m.createElement("div",{style:l.fields},m.createElement("div",{style:l.double},m.createElement(Lt,{style:{input:l.input,label:l.label},label:"hex",value:a,onChange:s})),m.createElement("div",{style:l.column},m.createElement("div",{style:l.single},m.createElement(Lt,{style:{input:l.input2,label:l.label2},label:"rgb",value:d,onChange:s})),m.createElement("div",{style:l.single},m.createElement(Lt,{style:{input:l.input2,label:l.label2},label:"hsv",value:u,onChange:s})),m.createElement("div",{style:l.single},m.createElement(Lt,{style:{input:l.input2,label:l.label2},label:"hsl",value:h,onChange:s})))))},SD=function(e){var r=e.width,n=e.onChange,o=e.rgb,a=e.hsl,i=e.hsv,s=e.hex,l=e.header,d=e.styles,h=d===void 0?{}:d,u=e.className,f=u===void 0?"":u,g=kt(lo({default:{picker:{width:r,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+o.r+", "+o.g+", "+o.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},h));return m.createElement("div",{style:g.picker,className:"google-picker "+f},m.createElement("div",{style:g.head},l),m.createElement("div",{style:g.swatch}),m.createElement("div",{style:g.saturation},m.createElement(o_,{hsl:a,hsv:i,pointer:wD,onChange:n})),m.createElement("div",{style:g.body},m.createElement("div",{style:g.controls,className:"flexbox-fix"},m.createElement("div",{style:g.hue},m.createElement(ju,{style:g.Hue,hsl:a,radius:"4px",pointer:xD,onChange:n}))),m.createElement(gvt,{rgb:o,hsl:a,hex:s,hsv:i,onChange:n})))};SD.propTypes={width:ye.oneOfType([ye.string,ye.number]),styles:ye.object,header:ye.string};SD.defaultProps={width:652,styles:{},header:"Color picker"};co(SD);const ha={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:t=>({backgroundColor:`${t.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${t.palette.secondary.main} !important`}}),cover:{position:"fixed",top:0,right:0,bottom:0,left:0},textDense:{mt:0,mb:0},picker:t=>({background:`${t.palette.background.paper} !important`}),iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Ai extends A.Component{constructor(r){super(r);X(this,"handleClick",r=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:r.currentTarget})});X(this,"handleClose",()=>{this.setState({displayColorPicker:!1,anchorEl:null})});X(this,"handleChange",r=>{this.setState({color:r},()=>this.props.onChange&&this.props.onChange(Ai.getColor(r)))});this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}static getColor(r,n){if(r&&typeof r=="object"){const o=r;if(o.rgb)return n?`#${o.rgb.r.toString(16).padStart(2,"0")}${o.rgb.g.toString(16).padStart(2,"0")}${o.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${o.rgb.r},${o.rgb.g},${o.rgb.b},${o.rgb.a})`;const a=r;return n?`#${a.r.toString(16).padStart(2,"0")}${a.g.toString(16).padStart(2,"0")}${a.b.toString(16).padStart(2,"0")}`:`rgba(${a.r},${a.g},${a.b},${a.a})`}return typeof r=="string"?n?Ai.rgb2hex(r||""):r||"":""}static rgb2hex(r){const n=r.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(n){const o=parseInt(n[1],10).toString(16).padStart(2,"0"),a=parseInt(n[2],10).toString(16).padStart(2,"0"),i=parseInt(n[3],10).toString(16).padStart(2,"0");return(n==null?void 0:n.length)===4?`#${o}${a}${i}`:r}return r}componentDidUpdate(r,n){const o=Ai.getColor(this.props.color||this.props.value||"");o!==n.color&&this.setState({color:o})}renderCustomPalette(){return this.props.customPalette?m.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(r=>m.createElement(tt,{style:ha.button,key:r,onClick:()=>{this.handleChange(r),setTimeout(()=>this.handleClose(),300)}},m.createElement("div",{style:{...ha.iconButton,background:r}})))):null}render(){var o;const r={...this.props.style||{}};r.position="relative";const{color:n}=this.state;return m.createElement(Re,{component:"div",style:r,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:m.createElement(Ht,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:n||"",margin:"dense",sx:{"&.MuiFormControl-root":ha.textDense,width:n?"calc(100% - 80px)":"calc(100% - 56px)",mr:n?void 0:1},onChange:a=>this.handleChange(a.target.value)}),!this.props.noInputField&&n?m.createElement(Ie,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?ha.delButton:void 0},m.createElement(Ta,null)):null,m.createElement(Re,{component:"div",onClick:a=>!this.props.disabled&&this.handleClick(a),title:P.t("ra_Select color"),sx:{...ha.swatch,...this.props.disabled?ha.swatchDisabled:void 0,background:n?void 0:"transparent",border:n?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},m.createElement("div",{style:{...ha.color,background:Ai.getColor(n),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?m.createElement(eu,{sx:{...ha.popover,"&. MuiMenu-list":ha.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},m.createElement(Ugt,{color:this.state.color||void 0,onChangeComplete:a=>this.handleChange(a.rgb),styles:{default:{picker:{backgroundColor:((o=this.props.theme)==null?void 0:o.palette.background.paper)||"#888"}}}}),n&&this.props.noInputField?m.createElement(Ie,{sx:ha.closeButton,onClick:()=>this.handleChange("")},m.createElement(Ta,null)):null,m.createElement(Ie,{sx:ha.closeButton,onClick:()=>this.handleClose()},m.createElement(Ar,null)),this.renderCustomPalette()):null)}}var cS={exports:{}},NL;function di(){return NL||(NL=1,function(t,e){(function(n,o){t.exports=o()})(globalThis,()=>(()=>{var r={949:(i,s,l)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.CronParser=void 0;var d=l(515),h=function(){function u(f,g,y){g===void 0&&(g=!0),y===void 0&&(y=!1),this.expression=f,this.dayOfWeekStartIndexZero=g,this.monthStartIndexZero=y}return u.prototype.parse=function(){var f,g,y=(f=this.expression)!==null&&f!==void 0?f:"";if(y.startsWith("@")){var b=this.parseSpecial(this.expression);g=this.extractParts(b)}else g=this.extractParts(this.expression);return this.normalize(g),this.validate(g),g},u.prototype.parseSpecial=function(f){var g={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"},y=g[f];if(!y)throw new Error("Unknown special expression.");return y},u.prototype.extractParts=function(f){if(!this.expression)throw new Error("cron expression is empty");for(var g=f.trim().split(/[ ]+/),y=0;y7)throw new Error("Expression has ".concat(g.length," parts; too many!"));return g},u.prototype.normalize=function(f){var g=this;if(f[3]=f[3].replace("?","*"),f[5]=f[5].replace("?","*"),f[2]=f[2].replace("?","*"),f[0].indexOf("0/")==0&&(f[0]=f[0].replace("0/","*/")),f[1].indexOf("0/")==0&&(f[1]=f[1].replace("0/","*/")),f[2].indexOf("0/")==0&&(f[2]=f[2].replace("0/","*/")),f[3].indexOf("1/")==0&&(f[3]=f[3].replace("1/","*/")),f[4].indexOf("1/")==0&&(f[4]=f[4].replace("1/","*/")),f[6].indexOf("1/")==0&&(f[6]=f[6].replace("1/","*/")),f[5]=f[5].replace(/(^\d)|([^#/\s]\d)/g,function(k){var O=k.replace(/\D/,""),M=O;return g.dayOfWeekStartIndexZero?O=="7"&&(M="0"):M=(parseInt(O)-1).toString(),k.replace(O,M)}),f[5]=="L"&&(f[5]="6"),f[3]=="?"&&(f[3]="*"),f[3].indexOf("W")>-1&&(f[3].indexOf(",")>-1||f[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var y={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var b in y)f[5]=f[5].replace(new RegExp(b,"gi"),y[b].toString());f[4]=f[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(k){var O=k.replace(/\D/,""),M=O;return g.monthStartIndexZero&&(M=(parseInt(O)+1).toString()),k.replace(O,M)});var x={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var S in x)f[4]=f[4].replace(new RegExp(S,"gi"),x[S].toString());f[0]=="0"&&(f[0]=""),!/\*|\-|\,|\//.test(f[2])&&(/\*|\//.test(f[1])||/\*|\//.test(f[0]))&&(f[2]+="-".concat(f[2]));for(var T=0;T-1&&!/^\*|\-|\,/.test(f[T])){var E=null;switch(T){case 4:E="12";break;case 5:E="6";break;case 6:E="9999";break;default:E=null;break}if(E!==null){var $=f[T].split("/");f[T]="".concat($[0],"-").concat(E,"/").concat($[1])}}},u.prototype.validate=function(f){this.assertNoInvalidCharacters("DOW",f[5]),this.assertNoInvalidCharacters("DOM",f[3]),this.validateRange(f)},u.prototype.validateRange=function(f){d.default.secondRange(f[0]),d.default.minuteRange(f[1]),d.default.hourRange(f[2]),d.default.dayOfMonthRange(f[3]),d.default.monthRange(f[4],this.monthStartIndexZero),d.default.dayOfWeekRange(f[5],this.dayOfWeekStartIndexZero)},u.prototype.assertNoInvalidCharacters=function(f,g){var y=g.match(/[A-KM-VX-Z]+/gi);if(y&&y.length)throw new Error("".concat(f," part contains invalid values: '").concat(y.toString(),"'"))},u}();s.CronParser=h},333:(i,s,l)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.ExpressionDescriptor=void 0;var d=l(823),h=l(949),u=function(){function f(g,y){if(this.expression=g,this.options=y,this.expressionParts=new Array(5),!this.options.locale&&f.defaultLocale&&(this.options.locale=f.defaultLocale),!f.locales[this.options.locale]){var b=Object.keys(f.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(b,"'.")),this.options.locale=b}this.i18n=f.locales[this.options.locale],y.use24HourTimeFormat===void 0&&(y.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return f.toString=function(g,y){var b=y===void 0?{}:y,x=b.throwExceptionOnParseError,S=x===void 0?!0:x,T=b.verbose,E=T===void 0?!1:T,$=b.dayOfWeekStartIndexZero,k=$===void 0?!0:$,O=b.monthStartIndexZero,M=O===void 0?!1:O,R=b.use24HourTimeFormat,j=b.locale,I=j===void 0?null:j,z=b.tzOffset,W=z===void 0?0:z,L={throwExceptionOnParseError:S,verbose:E,dayOfWeekStartIndexZero:k,monthStartIndexZero:M,use24HourTimeFormat:R,locale:I,tzOffset:W},F=new f(g,L);return F.getFullDescription()},f.initialize=function(g,y){y===void 0&&(y="en"),f.specialCharacters=["/","-",",","*"],f.defaultLocale=y,g.load(f.locales)},f.prototype.getFullDescription=function(){var g="";try{var y=new h.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);this.expressionParts=y.parse();var b=this.getTimeOfDayDescription(),x=this.getDayOfMonthDescription(),S=this.getMonthDescription(),T=this.getDayOfWeekDescription(),E=this.getYearDescription();g+=b+x+T+S+E,g=this.transformVerbosity(g,!!this.options.verbose),g=g.charAt(0).toLocaleUpperCase()+g.substr(1)}catch($){if(!this.options.throwExceptionOnParseError)g=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat($)}return g},f.prototype.getTimeOfDayDescription=function(){var g=this.expressionParts[0],y=this.expressionParts[1],b=this.expressionParts[2],x="";if(!d.StringUtilities.containsAny(y,f.specialCharacters)&&!d.StringUtilities.containsAny(b,f.specialCharacters)&&!d.StringUtilities.containsAny(g,f.specialCharacters))x+=this.i18n.atSpace()+this.formatTime(b,y,g);else if(!g&&y.indexOf("-")>-1&&!(y.indexOf(",")>-1)&&!(y.indexOf("/")>-1)&&!d.StringUtilities.containsAny(b,f.specialCharacters)){var S=y.split("-");x+=d.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(b,S[0],""),this.formatTime(b,S[1],""))}else if(!g&&b.indexOf(",")>-1&&b.indexOf("-")==-1&&b.indexOf("/")==-1&&!d.StringUtilities.containsAny(y,f.specialCharacters)){var T=b.split(",");x+=this.i18n.at();for(var E=0;E1){var S=x[x.length-1].index;b=b.substring(0,S)+":59"+b.substring(S+3)}}return b},f.prototype.getDayOfWeekDescription=function(){var g=this,y=this.i18n.daysOfTheWeek(),b=null;return this.expressionParts[5]=="*"?b="":b=this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),function(x,S){var T=x;x.indexOf("#")>-1?T=x.substring(0,x.indexOf("#")):x.indexOf("L")>-1&&(T=T.replace("L",""));var E=parseInt(T);if(g.options.tzOffset){var $=g.expressionParts[2],k=parseInt($)+(g.options.tzOffset?g.options.tzOffset:0);k>=24?E++:k<0&&E--,E>6?E=0:E<0&&(E=6)}var O=g.i18n.daysOfTheWeekInCase?g.i18n.daysOfTheWeekInCase(S)[E]:y[E];if(x.indexOf("#")>-1){var M=null,R=x.substring(x.indexOf("#")+1),j=x.substring(0,x.indexOf("#"));switch(R){case"1":M=g.i18n.first(j);break;case"2":M=g.i18n.second(j);break;case"3":M=g.i18n.third(j);break;case"4":M=g.i18n.fourth(j);break;case"5":M=g.i18n.fifth(j);break}O=M+" "+O}return O},function(x){return parseInt(x)==1?"":d.StringUtilities.format(g.i18n.commaEveryX0DaysOfTheWeek(x),x)},function(x){var S=x.substring(0,x.indexOf("-")),T=g.expressionParts[3]!="*";return T?g.i18n.commaAndX0ThroughX1(S):g.i18n.commaX0ThroughX1(S)},function(x){var S=null;if(x.indexOf("#")>-1){var T=x.substring(x.indexOf("#")+1),E=x.substring(0,x.indexOf("#"));S=g.i18n.commaOnThe(T,E).trim()+g.i18n.spaceX0OfTheMonth()}else if(x.indexOf("L")>-1)S=g.i18n.commaOnTheLastX0OfTheMonth(x.replace("L",""));else{var $=g.expressionParts[3]!="*";S=$?g.i18n.commaAndOnX0():g.i18n.commaOnlyOnX0(x)}return S}),b},f.prototype.getMonthDescription=function(){var g=this,y=this.i18n.monthsOfTheYear(),b=this.getSegmentDescription(this.expressionParts[4],"",function(x,S){return S&&g.i18n.monthsOfTheYearInCase?g.i18n.monthsOfTheYearInCase(S)[parseInt(x)-1]:y[parseInt(x)-1]},function(x){return parseInt(x)==1?"":d.StringUtilities.format(g.i18n.commaEveryX0Months(x),x)},function(x){return g.i18n.commaMonthX0ThroughMonthX1()||g.i18n.commaX0ThroughX1()},function(x){return g.i18n.commaOnlyInMonthX0?g.i18n.commaOnlyInMonthX0():g.i18n.commaOnlyInX0()});return b},f.prototype.getDayOfMonthDescription=function(){var g=this,y=null,b=this.expressionParts[3];switch(b){case"L":y=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":y=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var x=b.match(/(\d{1,2}W)|(W\d{1,2})/);if(x){var S=parseInt(x[0].replace("W","")),T=S==1?this.i18n.firstWeekday():d.StringUtilities.format(this.i18n.weekdayNearestDayX0(),S.toString());y=d.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),T);break}else{var E=b.match(/L-(\d{1,2})/);if(E){var $=E[1];y=d.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth($),$);break}else{if(b=="*"&&this.expressionParts[5]!="*")return"";y=this.getSegmentDescription(b,this.i18n.commaEveryDay(),function(k){return k=="L"?g.i18n.lastDay():g.i18n.dayX0?d.StringUtilities.format(g.i18n.dayX0(),k):k},function(k){return k=="1"?g.i18n.commaEveryDay():g.i18n.commaEveryX0Days(k)},function(k){return g.i18n.commaBetweenDayX0AndX1OfTheMonth(k)},function(k){return g.i18n.commaOnDayX0OfTheMonth(k)})}break}}return y},f.prototype.getYearDescription=function(){var g=this,y=this.getSegmentDescription(this.expressionParts[6],"",function(b){return/^\d+$/.test(b)?new Date(parseInt(b),1).getFullYear().toString():b},function(b){return d.StringUtilities.format(g.i18n.commaEveryX0Years(b),b)},function(b){return g.i18n.commaYearX0ThroughYearX1()||g.i18n.commaX0ThroughX1()},function(b){return g.i18n.commaOnlyInYearX0?g.i18n.commaOnlyInYearX0():g.i18n.commaOnlyInX0()});return y},f.prototype.getSegmentDescription=function(g,y,b,x,S,T){var E=null,$=g.indexOf("/")>-1,k=g.indexOf("-")>-1,O=g.indexOf(",")>-1;if(!g)E="";else if(g==="*")E=y;else if(!$&&!k&&!O)E=d.StringUtilities.format(T(g),b(g));else if(O){for(var M=g.split(","),R="",j=0;j0&&M.length>2&&(R+=",",j0&&M.length>1&&(j==M.length-1||M.length==2)&&(R+="".concat(this.i18n.spaceAnd()," ")),M[j].indexOf("/")>-1||M[j].indexOf("-")>-1){var I=M[j].indexOf("-")>-1&&M[j].indexOf("/")==-1,z=this.getSegmentDescription(M[j],y,b,x,I?this.i18n.commaX0ThroughX1:S,T);I&&(z=z.replace(", ","")),R+=z}else $?R+=this.getSegmentDescription(M[j],y,b,x,S,T):R+=b(M[j]);$?E=R:E=d.StringUtilities.format(T(g),R)}else if($){var M=g.split("/");if(E=d.StringUtilities.format(x(M[1]),M[1]),M[0].indexOf("-")>-1){var W=this.generateRangeSegmentDescription(M[0],S,b);W.indexOf(", ")!=0&&(E+=", "),E+=W}else if(M[0].indexOf("*")==-1){var L=d.StringUtilities.format(T(M[0]),b(M[0]));L=L.replace(", ",""),E+=d.StringUtilities.format(this.i18n.commaStartingX0(),L)}}else k&&(E=this.generateRangeSegmentDescription(g,S,b));return E},f.prototype.generateRangeSegmentDescription=function(g,y,b){var x="",S=g.split("-"),T=b(S[0],1),E=b(S[1],2),$=y(g);return x+=d.StringUtilities.format($,T,E),x},f.prototype.formatTime=function(g,y,b){var x=0,S=0;this.options.tzOffset&&(x=this.options.tzOffset>0?Math.floor(this.options.tzOffset):Math.ceil(this.options.tzOffset),S=parseFloat((this.options.tzOffset%1).toFixed(2)),S!=0&&(S*=60));var T=parseInt(g)+x,E=parseInt(y)+S;E>=60?(E-=60,T+=1):E<0&&(E+=60,T-=1),T>=24?T=T-24:T<0&&(T=24+T);var $="",k=!1;this.options.use24HourTimeFormat||(k=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),$=k?"".concat(this.getPeriod(T)," "):" ".concat(this.getPeriod(T)),T>12&&(T-=12),T===0&&(T=12));var O="";return b&&(O=":".concat(("00"+b).substring(b.length))),"".concat(k?$:"").concat(("00"+T.toString()).substring(T.toString().length),":").concat(("00"+E.toString()).substring(E.toString().length)).concat(O).concat(k?"":$)},f.prototype.transformVerbosity=function(g,y){return y||(g=g.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),g=g.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),g=g.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),g=g.replace(/\, ?$/,"")),g},f.prototype.getPeriod=function(g){return g>=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},f.locales={},f}();s.ExpressionDescriptor=u},747:(i,s,l)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.enLocaleLoader=void 0;var d=l(486),h=function(){function u(){}return u.prototype.load=function(f){f.en=new d.en},u}();s.enLocaleLoader=h},486:(i,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.en=void 0;var l=function(){function d(){}return d.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},d.prototype.atX0MinutesPastTheHourGt20=function(){return null},d.prototype.commaMonthX0ThroughMonthX1=function(){return null},d.prototype.commaYearX0ThroughYearX1=function(){return null},d.prototype.use24HourTimeFormatByDefault=function(){return!1},d.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occured when generating the expression description. Check the cron expression syntax."},d.prototype.everyMinute=function(){return"every minute"},d.prototype.everyHour=function(){return"every hour"},d.prototype.atSpace=function(){return"At "},d.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},d.prototype.at=function(){return"At"},d.prototype.spaceAnd=function(){return" and"},d.prototype.everySecond=function(){return"every second"},d.prototype.everyX0Seconds=function(){return"every %s seconds"},d.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},d.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},d.prototype.everyX0Minutes=function(){return"every %s minutes"},d.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},d.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},d.prototype.everyX0Hours=function(){return"every %s hours"},d.prototype.betweenX0AndX1=function(){return"between %s and %s"},d.prototype.atX0=function(){return"at %s"},d.prototype.commaEveryDay=function(){return", every day"},d.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},d.prototype.commaX0ThroughX1=function(){return", %s through %s"},d.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},d.prototype.first=function(){return"first"},d.prototype.second=function(){return"second"},d.prototype.third=function(){return"third"},d.prototype.fourth=function(){return"fourth"},d.prototype.fifth=function(){return"fifth"},d.prototype.commaOnThe=function(){return", on the "},d.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},d.prototype.lastDay=function(){return"the last day"},d.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},d.prototype.commaOnlyOnX0=function(){return", only on %s"},d.prototype.commaAndOnX0=function(){return", and on %s"},d.prototype.commaEveryX0Months=function(){return", every %s months"},d.prototype.commaOnlyInX0=function(){return", only in %s"},d.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},d.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},d.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},d.prototype.firstWeekday=function(){return"first weekday"},d.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},d.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},d.prototype.commaEveryX0Days=function(){return", every %s days"},d.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},d.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},d.prototype.commaEveryHour=function(){return", every hour"},d.prototype.commaEveryX0Years=function(){return", every %s years"},d.prototype.commaStartingX0=function(){return", starting %s"},d.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},d.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},d}();s.en=l},515:(i,s)=>{Object.defineProperty(s,"__esModule",{value:!0});function l(h,u){if(!h)throw new Error(u)}var d=function(){function h(){}return h.secondRange=function(u){for(var f=u.split(","),g=0;g=0&&y<=59,"seconds part must be >= 0 and <= 59")}},h.minuteRange=function(u){for(var f=u.split(","),g=0;g=0&&y<=59,"minutes part must be >= 0 and <= 59")}},h.hourRange=function(u){for(var f=u.split(","),g=0;g=0&&y<=23,"hours part must be >= 0 and <= 23")}},h.dayOfMonthRange=function(u){for(var f=u.split(","),g=0;g=1&&y<=31,"DOM part must be >= 1 and <= 31")}},h.monthRange=function(u,f){for(var g=u.split(","),y=0;y=1&&b<=12,f?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},h.dayOfWeekRange=function(u,f){for(var g=u.split(","),y=0;y=0&&b<=6,f?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},h}();s.default=d},823:(i,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.StringUtilities=void 0;var l=function(){function d(){}return d.format=function(h){for(var u=[],f=1;f-1})},d}();s.StringUtilities=l}},n={};function o(i){var s=n[i];if(s!==void 0)return s.exports;var l=n[i]={exports:{}};return r[i](l,l.exports,o),l.exports}var a={};return(()=>{var i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.toString=void 0;var s=o(333),l=o(747);s.ExpressionDescriptor.initialize(new l.enLocaleLoader),i.default=s.ExpressionDescriptor;var d=s.ExpressionDescriptor.toString;i.toString=d})(),a})())}(cS)),cS.exports}var vvt=di();const yvt=so(vvt);var dS={exports:{}},RL;function _vt(){return RL||(RL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.fr=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"toutes les minutes"},u.prototype.everyHour=function(){return"toutes les heures"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},u.prototype.atSpace=function(){return"À "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},u.prototype.at=function(){return"À"},u.prototype.spaceAnd=function(){return" et"},u.prototype.everySecond=function(){return"toutes les secondes"},u.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},u.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},u.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},u.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},u.prototype.everyX0Hours=function(){return"toutes les %s heures"},u.prototype.betweenX0AndX1=function(){return"de %s à %s"},u.prototype.atX0=function(){return"à %s"},u.prototype.commaEveryDay=function(){return", tous les jours"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},u.prototype.commaX0ThroughX1=function(){return", de %s à %s"},u.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},u.prototype.first=function(){return"premier"},u.prototype.second=function(){return"second"},u.prototype.third=function(){return"troisième"},u.prototype.fourth=function(){return"quatrième"},u.prototype.fifth=function(){return"cinquième"},u.prototype.commaOnThe=function(){return", le "},u.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},u.prototype.lastDay=function(){return"le dernier jour"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},u.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},u.prototype.commaAndOnX0=function(){return", et %s"},u.prototype.commaEveryX0Months=function(){return", tous les %s mois"},u.prototype.commaOnlyInX0=function(){return", uniquement en %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},u.prototype.firstWeekday=function(){return"premier jour ouvrable"},u.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryX0Days=function(){return", tous les %s jours"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},u.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryX0Years=function(){return", tous les %s ans"},u.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},u.prototype.commaStartingX0=function(){return", à partir de %s"},u.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},u.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},u}();return d.fr=h,l().locales.fr=new h,i})())}(dS)),dS.exports}_vt();var uS={exports:{}},jL;function bvt(){return jL||(jL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.es=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},u.prototype.at=function(){return"A las"},u.prototype.atSpace=function(){return"A las "},u.prototype.atX0=function(){return"a las %s"},u.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},u.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},u.prototype.commaEveryDay=function(){return", cada día"},u.prototype.commaEveryX0Days=function(){return", cada %s días"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},u.prototype.commaEveryX0Months=function(){return", cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},u.prototype.commaOnlyInX0=function(){return", sólo en %s"},u.prototype.commaOnlyOnX0=function(){return", sólo el %s"},u.prototype.commaAndOnX0=function(){return", y el %s"},u.prototype.commaOnThe=function(){return", en el "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},u.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},u.prototype.everyHour=function(){return"cada hora"},u.prototype.everyMinute=function(){return"cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},u.prototype.everySecond=function(){return"cada segundo"},u.prototype.everyX0Hours=function(){return"cada %s horas"},u.prototype.everyX0Minutes=function(){return"cada %s minutos"},u.prototype.everyX0Seconds=function(){return"cada %s segundos"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primero"},u.prototype.firstWeekday=function(){return"primer día de la semana"},u.prototype.fourth=function(){return"cuarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},u.prototype.second=function(){return"segundo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},u.prototype.spaceAnd=function(){return" y"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},u.prototype.lastDay=function(){return"el último día"},u.prototype.third=function(){return"tercer"},u.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},u.prototype.commaEveryX0Years=function(){return", cada %s años"},u.prototype.commaStartingX0=function(){return", comenzando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},u.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},u}();return d.es=h,l().locales.es=new h,i})())}(uS)),uS.exports}bvt();var pS={exports:{}},LL;function wvt(){return LL||(LL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.de=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"jede Minute"},u.prototype.everyHour=function(){return"jede Stunde"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},u.prototype.atSpace=function(){return"Um "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},u.prototype.at=function(){return"Um"},u.prototype.spaceAnd=function(){return" und"},u.prototype.everySecond=function(){return"Jede Sekunde"},u.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},u.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},u.prototype.everyX0Minutes=function(){return"alle %s Minuten"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},u.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},u.prototype.everyX0Hours=function(){return"alle %s Stunden"},u.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},u.prototype.atX0=function(){return"um %s"},u.prototype.commaEveryDay=function(){return", jeden Tag"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},u.prototype.commaX0ThroughX1=function(){return", %s bis %s"},u.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},u.prototype.first=function(){return"ersten"},u.prototype.second=function(){return"zweiten"},u.prototype.third=function(){return"dritten"},u.prototype.fourth=function(){return"vierten"},u.prototype.fifth=function(){return"fünften"},u.prototype.commaOnThe=function(){return", am "},u.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},u.prototype.lastDay=function(){return"der letzte Tag"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},u.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},u.prototype.commaAndOnX0=function(){return", und jeden %s"},u.prototype.commaEveryX0Months=function(){return", alle %s Monate"},u.prototype.commaOnlyInX0=function(){return", nur im %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},u.prototype.firstWeekday=function(){return"ersten Werktag"},u.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},u.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},u.prototype.commaEveryX0Days=function(){return", alle %s Tage"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},u.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},u.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},u.prototype.commaStartingX0=function(){return", beginnend %s"},u.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},u.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},u}();return d.de=h,l().locales.de=new h,i})())}(pS)),pS.exports}wvt();var hS={exports:{}},zL;function xvt(){return zL||(zL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.it=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},u.prototype.at=function(){return"Alle"},u.prototype.atSpace=function(){return"Alle "},u.prototype.atX0=function(){return"alle %s"},u.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},u.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},u.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},u.prototype.commaEveryDay=function(){return", ogni giorno"},u.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},u.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},u.prototype.commaEveryX0Years=function(){return", ogni %s anni"},u.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},u.prototype.commaOnlyInX0=function(){return", solo in %s"},u.prototype.commaOnlyOnX0=function(){return", solo il %s"},u.prototype.commaAndOnX0=function(){return", e il %s"},u.prototype.commaOnThe=function(){return", il "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},u.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},u.prototype.commaX0ThroughX1=function(){return", %s al %s"},u.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},u.prototype.everyHour=function(){return"ogni ora"},u.prototype.everyMinute=function(){return"ogni minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},u.prototype.everySecond=function(){return"ogni secondo"},u.prototype.everyX0Hours=function(){return"ogni %s ore"},u.prototype.everyX0Minutes=function(){return"ogni %s minuti"},u.prototype.everyX0Seconds=function(){return"ogni %s secondi"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primo"},u.prototype.firstWeekday=function(){return"primo giorno della settimana"},u.prototype.fourth=function(){return"quarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},u.prototype.second=function(){return"secondo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},u.prototype.lastDay=function(){return"l'ultimo giorno"},u.prototype.third=function(){return"terzo"},u.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},u.prototype.commaStartingX0=function(){return", a partire %s"},u.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},u.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},u}();return d.it=h,l().locales.it=new h,i})())}(hS)),hS.exports}xvt();var fS={exports:{}},FL;function Svt(){return FL||(FL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:g=>{g.exports=r}},o={};function a(g){var y=o[g];if(y!==void 0)return y.exports;var b=o[g]={exports:{}};return n[g](b,b.exports,a),b.exports}a.n=g=>{var y=g&&g.__esModule?()=>g.default:()=>g;return a.d(y,{a:y}),y},a.d=(g,y)=>{for(var b in y)a.o(y,b)&&!a.o(g,b)&&Object.defineProperty(g,b,{enumerable:!0,get:y[b]})},a.o=(g,y)=>Object.prototype.hasOwnProperty.call(g,y),a.r=g=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(g,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.ru=void 0;var h=function(g,y){var b=Number(g);return b!==void 0?y[b%100>4&&b%100<20?2:[2,0,1,1,1,2][b%10<5?Math.abs(b)%10:5]]:y[2]},u=function(g,y){var b=Number(g);return b!==void 0?y[b===0?0:b===1||b===2||b===4?1:2]:y[1]},f=function(){function g(){}return g.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},g.prototype.atX0MinutesPastTheHourGt20=function(){return null},g.prototype.commaMonthX0ThroughMonthX1=function(){return null},g.prototype.commaYearX0ThroughYearX1=function(){return null},g.prototype.use24HourTimeFormatByDefault=function(){return!0},g.prototype.everyMinute=function(){return"каждую минуту"},g.prototype.everyHour=function(){return"каждый час"},g.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},g.prototype.atSpace=function(){return"В "},g.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},g.prototype.at=function(){return"В"},g.prototype.spaceAnd=function(){return" и"},g.prototype.everySecond=function(){return"каждую секунду"},g.prototype.everyX0Seconds=function(y){return h(y,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},g.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},g.prototype.atX0SecondsPastTheMinute=function(y){return h(y,["в %s секунду","в %s секунды","в %s секунд"])},g.prototype.everyX0Minutes=function(y){return h(y,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},g.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},g.prototype.atX0MinutesPastTheHour=function(y){return h(y,["в %s минуту","в %s минуты","в %s минут"])},g.prototype.everyX0Hours=function(y){return h(y,["каждый %s час","каждые %s часа","каждые %s часов"])},g.prototype.betweenX0AndX1=function(){return"с %s по %s"},g.prototype.atX0=function(){return"в %s"},g.prototype.commaEveryDay=function(){return", каждый день"},g.prototype.commaEveryX0DaysOfTheWeek=function(y){return h(y,["",", каждые %s дня недели",", каждые %s дней недели"])},g.prototype.commaX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?", со %s по %s":", с %s по %s"},g.prototype.commaAndX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?" и со %s по %s":" и с %s по %s"},g.prototype.first=function(y){return u(y,["первое","первый","первую"])},g.prototype.second=function(y){return u(y,["второе","второй","вторую"])},g.prototype.third=function(y){return u(y,["третье","третий","третью"])},g.prototype.fourth=function(y){return u(y,["четвертое","четвертый","четвертую"])},g.prototype.fifth=function(y){return u(y,["пятое","пятый","пятую"])},g.prototype.commaOnThe=function(y){return y==="2"?", во ":", в "},g.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},g.prototype.lastDay=function(){return"последний день"},g.prototype.commaOnTheLastX0OfTheMonth=function(y){return u(y,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},g.prototype.commaOnlyOnX0=function(y){return y&&y[0]==="2"?", только во %s":", только в %s"},g.prototype.commaAndOnX0=function(){return", и %s"},g.prototype.commaEveryX0Months=function(y){return h(y,[""," каждые %s месяца"," каждые %s месяцев"])},g.prototype.commaOnlyInMonthX0=function(){return", только %s"},g.prototype.commaOnlyInX0=function(){return", только в %s"},g.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},g.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},g.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(y){return h(y,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},g.prototype.firstWeekday=function(){return"первый будний день"},g.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},g.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},g.prototype.commaEveryX0Days=function(y){return h(y,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},g.prototype.commaBetweenDayX0AndX1OfTheMonth=function(y){return y&&y.substring(0,y.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},g.prototype.commaOnDayX0OfTheMonth=function(y){return y&&y[0]=="2"?", во %s число месяца":", в %s число месяца"},g.prototype.commaEveryX0Years=function(y){return h(y,[", каждый %s год",", каждые %s года",", каждые %s лет"])},g.prototype.commaStartingX0=function(){return", начало %s"},g.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},g.prototype.daysOfTheWeekInCase=function(y){return y===void 0&&(y=2),y==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},g.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},g.prototype.monthsOfTheYearInCase=function(y){return y==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},g}();return d.ru=f,l().locales.ru=new f,i})())}(fS)),fS.exports}Svt();var mS={exports:{}},BL;function Cvt(){return BL||(BL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.zh_CN=void 0;var h=function(){function u(){}return u.prototype.setPeriodBeforeTime=function(){return!0},u.prototype.pm=function(){return"下午"},u.prototype.am=function(){return"上午"},u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},u.prototype.use24HourTimeFormatByDefault=function(){return!1},u.prototype.everyMinute=function(){return"每分钟"},u.prototype.everyHour=function(){return"每小时"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},u.prototype.atSpace=function(){return"在"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},u.prototype.at=function(){return"在"},u.prototype.spaceAnd=function(){return" 和"},u.prototype.everySecond=function(){return"每秒"},u.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在每分钟的第 %s 到 %s 秒"},u.prototype.atX0SecondsPastTheMinute=function(){return"在每分钟的第 %s 秒"},u.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"在每小时的第 %s 到 %s 分钟"},u.prototype.atX0MinutesPastTheHour=function(){return"在每小时的第 %s 分钟"},u.prototype.everyX0Hours=function(){return"每隔 %s 小时"},u.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},u.prototype.atX0=function(){return"在%s"},u.prototype.commaEveryDay=function(){return", 每天"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},u.prototype.commaX0ThroughX1=function(){return", %s至%s"},u.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},u.prototype.first=function(){return"第一个"},u.prototype.second=function(){return"第二个"},u.prototype.third=function(){return"第三个"},u.prototype.fourth=function(){return"第四个"},u.prototype.fifth=function(){return"第五个"},u.prototype.commaOnThe=function(){return", 限每月的"},u.prototype.spaceX0OfTheMonth=function(){return"%s"},u.prototype.lastDay=function(){return"本月最后一天"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},u.prototype.commaOnlyOnX0=function(){return", 仅%s"},u.prototype.commaAndOnX0=function(){return", 或者为%s"},u.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},u.prototype.commaOnlyInX0=function(){return", 仅限%s"},u.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},u.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},u.prototype.firstWeekday=function(){return"第一个工作日"},u.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},u.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},u.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},u.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},u.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},u.prototype.commaStartingX0=function(){return", %s开始"},u.prototype.dayX0=function(){return" %s 号"},u.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},u.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},u}();return d.zh_CN=h,l().locales.zh_CN=new h,i})())}(mS)),mS.exports}Cvt();var gS={exports:{}},WL;function $vt(){return WL||(WL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.uk=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"щохвилини"},u.prototype.everyHour=function(){return"щогодини"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},u.prototype.atSpace=function(){return"О "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},u.prototype.at=function(){return"О"},u.prototype.spaceAnd=function(){return" та"},u.prototype.everySecond=function(){return"Щосекунди"},u.prototype.everyX0Seconds=function(){return"кожні %s секунд"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},u.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},u.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},u.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},u.prototype.everyX0Hours=function(){return"кожні %s годин"},u.prototype.betweenX0AndX1=function(){return"між %s та %s"},u.prototype.atX0=function(){return"о %s"},u.prototype.commaEveryDay=function(){return", щоденно"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},u.prototype.commaX0ThroughX1=function(){return", %s по %s"},u.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},u.prototype.first=function(){return"перший"},u.prototype.second=function(){return"другий"},u.prototype.third=function(){return"третій"},u.prototype.fourth=function(){return"четвертий"},u.prototype.fifth=function(){return"п'ятий"},u.prototype.commaOnThe=function(){return", в "},u.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},u.prototype.lastDay=function(){return"останній день"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},u.prototype.commaOnlyOnX0=function(){return", тільки в %s"},u.prototype.commaAndOnX0=function(){return", і в %s"},u.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},u.prototype.commaOnlyInX0=function(){return", тільки в %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},u.prototype.firstWeekday=function(){return"перший будень"},u.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},u.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},u.prototype.commaEveryX0Days=function(){return", кожен %s день"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},u.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},u.prototype.commaEveryX0Years=function(){return", кожні %s роки"},u.prototype.commaStartingX0=function(){return", початок %s"},u.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},u.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},u}();return d.uk=h,l().locales.uk=new h,i})())}(gS)),gS.exports}$vt();var vS={exports:{}},HL;function kvt(){return HL||(HL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.pt_BR=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},u.prototype.at=function(){return"às"},u.prototype.atSpace=function(){return"às "},u.prototype.atX0=function(){return"Às %s"},u.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},u.prototype.betweenX0AndX1=function(){return"entre %s e %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},u.prototype.commaEveryDay=function(){return", a cada dia"},u.prototype.commaEveryX0Days=function(){return", a cada %s dias"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},u.prototype.commaEveryX0Months=function(){return", a cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},u.prototype.commaOnlyInX0=function(f){return f&&f.length>1&&f[1]==="-"?"somente %s":", somente em %s"},u.prototype.commaOnlyOnX0=function(f){return f&&f.length>1&&f[1]==="-"?", somente %s":", somente de %s"},u.prototype.commaAndOnX0=function(){return", e de %s"},u.prototype.commaOnThe=function(f,g){return g==="6"||g==="0"?", no":", na "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},u.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},u.prototype.everyHour=function(){return"a cada hora"},u.prototype.everyMinute=function(){return"a cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},u.prototype.everySecond=function(){return"a cada segundo"},u.prototype.everyX0Hours=function(){return"a cada %s horas"},u.prototype.everyX0Minutes=function(){return"a cada %s minutos"},u.prototype.everyX0Seconds=function(){return"a cada %s segundos"},u.prototype.fifth=function(f){return f==="6"||f==="0"?"quinto":"quinta"},u.prototype.first=function(f){return f==="6"||f==="0"?"primeiro":"primeira"},u.prototype.firstWeekday=function(){return"primeiro dia da semana"},u.prototype.fourth=function(f){return f==="6"||f==="0"?"quarto":"quarta"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},u.prototype.second=function(f){return f==="6"||f==="0"?"segundo":"segunda"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},u.prototype.lastDay=function(){return"o último dia"},u.prototype.third=function(f){return f==="6"||f==="0"?"terceiro":"terceira"},u.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},u.prototype.commaEveryX0Years=function(){return", a cada %s anos"},u.prototype.commaStartingX0=function(){return", iniciando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},u.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},u}();return d.pt_BR=h,l().locales.pt_BR=new h,i})())}(vS)),vS.exports}kvt();var yS={exports:{}},UL;function Evt(){return UL||(UL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.pl=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},u.prototype.at=function(){return"O"},u.prototype.atSpace=function(){return"O "},u.prototype.atX0=function(){return"o %s"},u.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},u.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},u.prototype.betweenX0AndX1=function(){return"od %s do %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},u.prototype.commaEveryDay=function(){return", co dzień"},u.prototype.commaEveryX0Days=function(){return", co %s dni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},u.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},u.prototype.commaEveryX0Years=function(){return", co %s lat"},u.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},u.prototype.commaOnlyInX0=function(){return", tylko %s"},u.prototype.commaOnlyOnX0=function(){return", tylko %s"},u.prototype.commaAndOnX0=function(){return", i %s"},u.prototype.commaOnThe=function(){return", "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},u.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},u.prototype.commaX0ThroughX1=function(){return", od %s do %s"},u.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},u.prototype.everyHour=function(){return"co godzinę"},u.prototype.everyMinute=function(){return"co minutę"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},u.prototype.everySecond=function(){return"co sekundę"},u.prototype.everyX0Hours=function(){return"co %s godzin"},u.prototype.everyX0Minutes=function(){return"co %s minut"},u.prototype.everyX0Seconds=function(){return"co %s sekund"},u.prototype.fifth=function(){return"piąty"},u.prototype.first=function(){return"pierwszy"},u.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},u.prototype.fourth=function(){return"czwarty"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},u.prototype.second=function(){return"drugi"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},u.prototype.spaceAnd=function(){return" i"},u.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},u.prototype.lastDay=function(){return"ostatni dzień"},u.prototype.third=function(){return"trzeci"},u.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},u.prototype.commaStartingX0=function(){return", startowy %s"},u.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},u.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},u}();return d.pl=h,l().locales.pl=new h,i})())}(yS)),yS.exports}Evt();function tV(t,e){return yvt.toString(t,{locale:e})}const Kn={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},slider:{marginTop:20,display:"block",width:"100%"},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},numberButtonBreak:{display:"block"},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},Tvt=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Ovt=["January","February","March","April","May","June","July","August","September","October","November","December"];function VL(t,e){const r=[];if(t==="*"){if(e===24||e===60||e===7)for(let o=0;o1){const i=parseInt(a[1],10);for(let s=parseInt(a[0],10);s<=i;s++)r.push(s)}else r.push(parseInt(n[o],10))}r.sort();for(let o=r.length-1;o>=0;o--)r[o]===r[o+1]&&r.splice(o+1,1);return r}function qL(t,e){if(typeof t!="object"&&(t=[t]),t.length===e)return"*";const r=[];if(!t.length)return"-";t=t.map(a=>parseInt(a,10)),t.sort((a,i)=>a-i);let n=t[0],o=t[0];for(let a=1;athis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const r=e.split(" ").map(o=>o.trim());let n;return r.length===6?n={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",dates:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:n={seconds:!1,minutes:r[0]||"*",hours:r[1]||"*",dates:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},n}static state2cron(e){let r=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(r=`${e.seconds} ${r}`),r}recalcCron(){const e=Cs.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,r,n){if(e===!0)this.setCronAttr(r,"*");else if(e===!1)n===60||n===24?this.setCronAttr(r,"0"):this.setCronAttr(r,"1");else{const o=VL(this.state[r],n),a=o.indexOf(e);a!==-1?o.splice(a,1):(o.push(e),o.sort()),this.setCronAttr(r,qL(o,n))}}getDigitsSelector(e,r){let n=[];if(r===7)n=[1,2,3,4,5,6,0];else if(r===60||r===24)for(let a=0;athis.onToggle(!1,e,r)},P.t("ra_Deselect all")),m.createElement(tt,{key:"addall",variant:"contained",style:Kn.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,r)},P.t("ra_Select all")),m.createElement("div",{key:"all"},n.map(a=>[r===7&&a===4||r===12&&a===7||r===31&&!((a-1)%10)||r===60&&a&&!(a%10)||r===24&&a&&!(a%6)?m.createElement("div",{key:`allInner${a}`,style:{width:"100%"}}):null,m.createElement(tt,{key:`_${a}`,variant:o.indexOf(a)!==-1?"contained":"outlined",style:Kn.numberButton,color:o.indexOf(a)!==-1?"secondary":"primary",onClick:()=>this.onToggle(a,e,r)},r===7?P.t(Tvt[a]):r===12?Ovt[a-1]:a)]))]}getPeriodsTab(e,r){const n=this.state[e];let o=n==="*",a=n==null?!1:n.toString().includes("/"),i;if(this.state.modes[e]===null){i=o?"every":a?"everyN":"specific";const l=JSON.parse(JSON.stringify(this.state.modes));return l[e]=i,setTimeout(()=>this.setState({modes:l},()=>this.recalcCron()),100),null}o=this.state.modes[e]==="every",a=this.state.modes[e]==="everyN",i=this.state.modes[e];let s=1;return a&&n&&(s=parseInt(n.replace("*/",""),10)||1),m.createElement("div",null,m.createElement(Bn,{variant:"standard",style:{...Kn.periodSelect,verticalAlign:"bottom"},value:i,onChange:l=>{const d=JSON.parse(JSON.stringify(this.state.modes));if(d[e]=l.target.value,l.target.value==="every")this.setCronAttr(e,"*",d);else if(l.target.value==="everyN"){const h=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${h}`,d)}else if(l.target.value==="specific"){let h=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!h&&(e==="months"||e==="dates")&&(h=1),this.setCronAttr(e,qL(h,r),d)}}},m.createElement(Jt,{key:"every",value:"every"},P.t(`sc_every_${e}`)),m.createElement(Jt,{key:"everyN",value:"everyN"},P.t(`sc_everyN_${e}`)),m.createElement(Jt,{key:"specific",value:"specific"},P.t(`sc_specific_${e}`))),a&&m.createElement(Ht,{variant:"standard",key:"interval",label:P.t(`sc_${e}`),value:s,slotProps:{htmlInput:{min:1,max:r},inputLabel:{shrink:!0}},onChange:l=>{this.setState({[e]:`*/${l.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!o&&!a&&this.getDigitsSelector(e,r))}static convertCronToText(e,r){return e.split(" ").includes("-")?P.t("ra_Invalid CRON"):tV(e,r)}setCronAttr(e,r,n){n?e==="seconds"?this.setState({seconds:r,modes:n},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:r,modes:n},()=>this.recalcCron()):e==="hours"?this.setState({hours:r,modes:n},()=>this.recalcCron()):e==="dates"?this.setState({dates:r,modes:n},()=>this.recalcCron()):e==="months"?this.setState({months:r,modes:n},()=>this.recalcCron()):e==="dow"?this.setState({dow:r,modes:n},()=>this.recalcCron()):this.setState({modes:n},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:r},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:r},()=>this.recalcCron()):e==="hours"?this.setState({hours:r},()=>this.recalcCron()):e==="dates"?this.setState({dates:r},()=>this.recalcCron()):e==="months"?this.setState({months:r},()=>this.recalcCron()):e==="dow"&&this.setState({dow:r},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,r=this.state.minutes==="*"||this.state.minutes==="*/1",n=this.state.seconds==="*"||this.state.seconds==="*/1";return m.createElement("div",{style:Kn.mainDiv},m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},m.createElement(Ht,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},Cs.convertCronToText(this.state.cron,this.props.language||"en"),m.createElement("span",{style:Kn.warning},n?P.t("ra_warning_every_second"):r?P.t("ra_warning_every_minute"):"")),m.createElement(St,{control:m.createElement(yr,{checked:!!this.state.seconds,onChange:o=>this.setState({seconds:o.target.checked?"*":!1},()=>this.recalcCron())}),label:P.t("ra_use seconds")}),m.createElement(PW,{position:"static",sx:{"&.MuiAppBar-root":Kn.appBar},color:"secondary"},m.createElement(sH,{value:this.state.tab,style:Kn.appBar,color:"secondary",onChange:(o,a)=>this.setState({tab:a})},this.state.seconds!==!1&&m.createElement(Uo,{id:"sc_seconds",label:P.t("sc_seconds")}),m.createElement(Uo,{id:"minutes",label:P.t("sc_minutes")}),m.createElement(Uo,{id:"hours",label:P.t("sc_hours")}),m.createElement(Uo,{id:"dates",label:P.t("sc_dates")}),m.createElement(Uo,{id:"months",label:P.t("sc_months")}),m.createElement(Uo,{id:"dow",label:P.t("sc_dows")}))),e===0&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("seconds",60)),e===1&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("minutes",60)),e===2&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("hours",24)),e===3&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("dates",31)),e===4&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("months",12)),e===5&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("dow",7)))}}function rc(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(h){try{d(n.next(h))}catch(u){i(u)}}function l(h){try{d(n.throw(h))}catch(u){i(u)}}function d(h){h.done?a(h.value):o(h.value).then(s,l)}d((n=n.apply(t,e||[])).next())})}const Dvt=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function Cu(t,e,r){const n=Avt(t),{webkitRelativePath:o}=t,a=typeof e=="string"?e:typeof o=="string"&&o.length>0?o:`./${t.name}`;return typeof n.path!="string"&&GL(n,"path",a),GL(n,"relativePath",a),n}function Avt(t){const{name:e}=t;if(e&&e.lastIndexOf(".")!==-1&&!t.type){const n=e.split(".").pop().toLowerCase(),o=Dvt.get(n);o&&Object.defineProperty(t,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return t}function GL(t,e,r){Object.defineProperty(t,e,{value:r,writable:!1,configurable:!1,enumerable:!0})}const Ivt=[".DS_Store","Thumbs.db"];function Mvt(t){return rc(this,void 0,void 0,function*(){return Hv(t)&&Pvt(t.dataTransfer)?Lvt(t.dataTransfer,t.type):Nvt(t)?Rvt(t):Array.isArray(t)&&t.every(e=>"getFile"in e&&typeof e.getFile=="function")?jvt(t):[]})}function Pvt(t){return Hv(t)}function Nvt(t){return Hv(t)&&Hv(t.target)}function Hv(t){return typeof t=="object"&&t!==null}function Rvt(t){return g2(t.target.files).map(e=>Cu(e))}function jvt(t){return rc(this,void 0,void 0,function*(){return(yield Promise.all(t.map(r=>r.getFile()))).map(r=>Cu(r))})}function Lvt(t,e){return rc(this,void 0,void 0,function*(){if(t.items){const r=g2(t.items).filter(o=>o.kind==="file");if(e!=="drop")return r;const n=yield Promise.all(r.map(zvt));return XL(rV(n))}return XL(g2(t.files).map(r=>Cu(r)))})}function XL(t){return t.filter(e=>Ivt.indexOf(e.name)===-1)}function g2(t){if(t===null)return[];const e=[];for(let r=0;r[...e,...Array.isArray(r)?rV(r):[r]],[])}function JL(t,e){return rc(this,void 0,void 0,function*(){var r;if(globalThis.isSecureContext&&typeof t.getAsFileSystemHandle=="function"){const a=yield t.getAsFileSystemHandle();if(a===null)throw new Error(`${t} is not a File`);if(a!==void 0){const i=yield a.getFile();return i.handle=a,Cu(i)}}const n=t.getAsFile();if(!n)throw new Error(`${t} is not a File`);return Cu(n,(r=e==null?void 0:e.fullPath)!==null&&r!==void 0?r:void 0)})}function Fvt(t){return rc(this,void 0,void 0,function*(){return t.isDirectory?nV(t):Bvt(t)})}function nV(t){const e=t.createReader();return new Promise((r,n)=>{const o=[];function a(){e.readEntries(i=>rc(this,void 0,void 0,function*(){if(i.length){const s=Promise.all(i.map(Fvt));o.push(s),a()}else try{const s=yield Promise.all(o);r(s)}catch(s){n(s)}}),i=>{n(i)})}a()})}function Bvt(t){return rc(this,void 0,void 0,function*(){return new Promise((e,r)=>{t.file(n=>{const o=Cu(n,t.fullPath);e(o)},n=>{r(n)})})})}var Ag={},YL;function Wvt(){return YL||(YL=1,Ag.__esModule=!0,Ag.default=function(t,e){if(t&&e){var r=Array.isArray(e)?e:e.split(",");if(r.length===0)return!0;var n=t.name||"",o=(t.type||"").toLowerCase(),a=o.replace(/\/.*$/,"");return r.some(function(i){var s=i.trim().toLowerCase();return s.charAt(0)==="."?n.toLowerCase().endsWith(s):s.endsWith("/*")?a===s.replace(/\/.*$/,""):o===s})}return!0}),Ag}var Hvt=Wvt();const _S=so(Hvt);function KL(t){return qvt(t)||Vvt(t)||aV(t)||Uvt()}function Uvt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Vvt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function qvt(t){if(Array.isArray(t))return v2(t)}function ZL(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function QL(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&arguments[0]!==void 0?arguments[0]:"",r=e.split(","),n=r.length>1?"one of ".concat(r.join(", ")):r[0];return{code:Kvt,message:"File type must be ".concat(n)}},ez=function(e){return{code:Zvt,message:"File is larger than ".concat(e," ").concat(e===1?"byte":"bytes")}},tz=function(e){return{code:Qvt,message:"File is smaller than ".concat(e," ").concat(e===1?"byte":"bytes")}},ryt={code:eyt,message:"Too many files"};function iV(t,e){var r=t.type==="application/x-moz-file"||Yvt(t,e);return[r,r?null:tyt(e)]}function sV(t,e,r){if(gl(t.size))if(gl(e)&&gl(r)){if(t.size>r)return[!1,ez(r)];if(t.sizer)return[!1,ez(r)]}return[!0,null]}function gl(t){return t!=null}function nyt(t){var e=t.files,r=t.accept,n=t.minSize,o=t.maxSize,a=t.multiple,i=t.maxFiles,s=t.validator;return!a&&e.length>1||a&&i>=1&&e.length>i?!1:e.every(function(l){var d=iV(l,r),h=df(d,1),u=h[0],f=sV(l,n,o),g=df(f,1),y=g[0],b=s?s(l):null;return u&&y&&!b})}function Uv(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Ig(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(e){return e==="Files"||e==="application/x-moz-file"}):!!t.target&&!!t.target.files}function rz(t){t.preventDefault()}function oyt(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function ayt(t){return t.indexOf("Edge/")!==-1}function iyt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return oyt(t)||ayt(t)}function Ha(){for(var t=arguments.length,e=new Array(t),r=0;r1?o-1:0),i=1;it.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Syt(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,a;for(a=0;a=0)&&(r[o]=t[o]);return r}var s_=A.forwardRef(function(t,e){var r=t.children,n=Vv(t,pyt),o=Cyt(n),a=o.open,i=Vv(o,hyt);return A.useImperativeHandle(e,function(){return{open:a}},[a]),m.createElement(A.Fragment,null,r(jr(jr({},i),{},{open:a})))});s_.displayName="Dropzone";var uV={disabled:!1,getFilesFromEvent:Mvt,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};s_.defaultProps=uV;s_.propTypes={children:ye.func,accept:ye.objectOf(ye.arrayOf(ye.string)),multiple:ye.bool,preventDropOnDocument:ye.bool,noClick:ye.bool,noKeyboard:ye.bool,noDrag:ye.bool,noDragEventsBubbling:ye.bool,minSize:ye.number,maxSize:ye.number,maxFiles:ye.number,disabled:ye.bool,getFilesFromEvent:ye.func,onFileDialogCancel:ye.func,onFileDialogOpen:ye.func,useFsAccessApi:ye.bool,autoFocus:ye.bool,onDragEnter:ye.func,onDragLeave:ye.func,onDragOver:ye.func,onDrop:ye.func,onDropAccepted:ye.func,onDropRejected:ye.func,onError:ye.func,validator:ye.func};var b2={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Cyt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=jr(jr({},uV),t),r=e.accept,n=e.disabled,o=e.getFilesFromEvent,a=e.maxSize,i=e.minSize,s=e.multiple,l=e.maxFiles,d=e.onDragEnter,h=e.onDragLeave,u=e.onDragOver,f=e.onDrop,g=e.onDropAccepted,y=e.onDropRejected,b=e.onFileDialogCancel,x=e.onFileDialogOpen,S=e.useFsAccessApi,T=e.autoFocus,E=e.preventDropOnDocument,$=e.noClick,k=e.noKeyboard,O=e.noDrag,M=e.noDragEventsBubbling,R=e.onError,j=e.validator,I=A.useMemo(function(){return cyt(r)},[r]),z=A.useMemo(function(){return lyt(r)},[r]),W=A.useMemo(function(){return typeof x=="function"?x:oz},[x]),L=A.useMemo(function(){return typeof b=="function"?b:oz},[b]),F=A.useRef(null),H=A.useRef(null),q=A.useReducer($yt,b2),ee=bS(q,2),Y=ee[0],G=ee[1],te=Y.isFocused,B=Y.isFileDialogActive,K=A.useRef(typeof window<"u"&&window.isSecureContext&&S&&syt()),he=function(){!K.current&&B&&setTimeout(function(){if(H.current){var ae=H.current.files;ae.length||(G({type:"closeDialog"}),L())}},300)};A.useEffect(function(){return window.addEventListener("focus",he,!1),function(){window.removeEventListener("focus",he,!1)}},[H,B,L,K]);var fe=A.useRef([]),ge=function(ae){F.current&&F.current.contains(ae.target)||(ae.preventDefault(),fe.current=[])};A.useEffect(function(){return E&&(document.addEventListener("dragover",rz,!1),document.addEventListener("drop",ge,!1)),function(){E&&(document.removeEventListener("dragover",rz),document.removeEventListener("drop",ge))}},[F,E]),A.useEffect(function(){return!n&&T&&F.current&&F.current.focus(),function(){}},[F,T,n]);var Ee=A.useCallback(function(J){R?R(J):console.error(J)},[R]),ze=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J),fe.current=[].concat(gyt(fe.current),[J.target]),Ig(J)&&Promise.resolve(o(J)).then(function(ae){if(!(Uv(J)&&!M)){var Se=ae.length,Te=Se>0&&nyt({files:ae,accept:I,minSize:i,maxSize:a,multiple:s,maxFiles:l,validator:j}),Oe=Se>0&&!Te;G({isDragAccept:Te,isDragReject:Oe,isDragActive:!0,type:"setDraggedFiles"}),d&&d(J)}}).catch(function(ae){return Ee(ae)})},[o,d,Ee,M,I,i,a,s,l,j]),Ne=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J);var ae=Ig(J);if(ae&&J.dataTransfer)try{J.dataTransfer.dropEffect="copy"}catch{}return ae&&u&&u(J),!1},[u,M]),Fe=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J);var ae=fe.current.filter(function(Te){return F.current&&F.current.contains(Te)}),Se=ae.indexOf(J.target);Se!==-1&&ae.splice(Se,1),fe.current=ae,!(ae.length>0)&&(G({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Ig(J)&&h&&h(J))},[F,h,M]),Pe=A.useCallback(function(J,ae){var Se=[],Te=[];J.forEach(function(Oe){var Ce=iV(Oe,I),nt=bS(Ce,2),Le=nt[0],mt=nt[1],vt=sV(Oe,i,a),wt=bS(vt,2),pe=wt[0],$e=wt[1],ot=j?j(Oe):null;if(Le&&pe&&!ot)Se.push(Oe);else{var yt=[mt,$e];ot&&(yt=yt.concat(ot)),Te.push({file:Oe,errors:yt.filter(function(Pt){return Pt})})}}),(!s&&Se.length>1||s&&l>=1&&Se.length>l)&&(Se.forEach(function(Oe){Te.push({file:Oe,errors:[ryt]})}),Se.splice(0)),G({acceptedFiles:Se,fileRejections:Te,isDragReject:Te.length>0,type:"setFiles"}),f&&f(Se,Te,ae),Te.length>0&&y&&y(Te,ae),Se.length>0&&g&&g(Se,ae)},[G,s,I,i,a,l,f,g,y,j]),Ye=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J),fe.current=[],Ig(J)&&Promise.resolve(o(J)).then(function(ae){Uv(J)&&!M||Pe(ae,J)}).catch(function(ae){return Ee(ae)}),G({type:"reset"})},[o,Pe,Ee,M]),Be=A.useCallback(function(){if(K.current){G({type:"openDialog"}),W();var J={multiple:s,types:z};window.showOpenFilePicker(J).then(function(ae){return o(ae)}).then(function(ae){Pe(ae,null),G({type:"closeDialog"})}).catch(function(ae){dyt(ae)?(L(ae),G({type:"closeDialog"})):uyt(ae)?(K.current=!1,H.current?(H.current.value=null,H.current.click()):Ee(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):Ee(ae)});return}H.current&&(G({type:"openDialog"}),W(),H.current.value=null,H.current.click())},[G,W,L,S,Pe,Ee,z,s]),Ke=A.useCallback(function(J){!F.current||!F.current.isEqualNode(J.target)||(J.key===" "||J.key==="Enter"||J.keyCode===32||J.keyCode===13)&&(J.preventDefault(),Be())},[F,Be]),Xe=A.useCallback(function(){G({type:"focus"})},[]),ve=A.useCallback(function(){G({type:"blur"})},[]),le=A.useCallback(function(){$||(iyt()?setTimeout(Be,0):Be())},[$,Be]),re=function(ae){return n?null:ae},He=function(ae){return k?null:re(ae)},Ve=function(ae){return O?null:re(ae)},at=function(ae){M&&ae.stopPropagation()},ut=A.useMemo(function(){return function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ae=J.refKey,Se=ae===void 0?"ref":ae,Te=J.role,Oe=J.onKeyDown,Ce=J.onFocus,nt=J.onBlur,Le=J.onClick,mt=J.onDragEnter,vt=J.onDragOver,wt=J.onDragLeave,pe=J.onDrop,$e=Vv(J,fyt);return jr(jr(_2({onKeyDown:He(Ha(Oe,Ke)),onFocus:He(Ha(Ce,Xe)),onBlur:He(Ha(nt,ve)),onClick:re(Ha(Le,le)),onDragEnter:Ve(Ha(mt,ze)),onDragOver:Ve(Ha(vt,Ne)),onDragLeave:Ve(Ha(wt,Fe)),onDrop:Ve(Ha(pe,Ye)),role:typeof Te=="string"&&Te!==""?Te:"presentation"},Se,F),!n&&!k?{tabIndex:0}:{}),$e)}},[F,Ke,Xe,ve,le,ze,Ne,Fe,Ye,k,O,n]),ke=A.useCallback(function(J){J.stopPropagation()},[]),pt=A.useMemo(function(){return function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ae=J.refKey,Se=ae===void 0?"ref":ae,Te=J.onChange,Oe=J.onClick,Ce=Vv(J,myt),nt=_2({accept:I,multiple:s,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:re(Ha(Te,Ye)),onClick:re(Ha(Oe,ke)),tabIndex:-1},Se,H);return jr(jr({},nt),Ce)}},[H,r,s,Ye,n]);return jr(jr({},Y),{},{isFocused:te&&!n,getRootProps:ut,getInputProps:pt,rootRef:F,inputRef:H,open:re(Be)})}function $yt(t,e){switch(e.type){case"focus":return jr(jr({},t),{},{isFocused:!0});case"blur":return jr(jr({},t),{},{isFocused:!1});case"openDialog":return jr(jr({},b2),{},{isFileDialogActive:!0});case"closeDialog":return jr(jr({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":return jr(jr({},t),{},{isDragActive:e.isDragActive,isDragAccept:e.isDragAccept,isDragReject:e.isDragReject});case"setFiles":return jr(jr({},t),{},{acceptedFiles:e.acceptedFiles,fileRejections:e.fileRejections,isDragReject:e.isDragReject});case"reset":return jr({},b2);default:return t}}function oz(){}function kyt(){const t=ai();return[...t.breakpoints.keys].reverse().reduce((r,n)=>{const o=Rce(t.breakpoints.up(n));return!r&&o?n:r},null)||"xs"}function qs(){return t=>function(r){const n=kyt();return m.createElement(t,{...r,width:n})}}function Eyt(t){const[e,r]=m.useState(t.input||t.value||""),[n,o]=m.useState("");return m.createElement(or,{open:!0,onClose:()=>t.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:t.fullWidth!==void 0?t.fullWidth:!1},m.createElement(_r,{id:"form-dialog-title"},t.titleText),m.createElement(Wr,null,m.createElement(Ds,null,t.promptText),m.createElement(Ht,{variant:"standard",autoFocus:!0,margin:"dense",error:!!n,helperText:n===!0||!n?"":n,value:e,label:t.labelText||"",type:t.type||"text",onKeyUp:a=>a.code==="Enter"&&e&&t.onClose(e),onChange:a=>{let i="";t.verify&&(i=!t.verify(a.target.value)),t.rule?r(t.rule(a.target.value)):r(a.target.value),o(i)},fullWidth:!0})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",disabled:!e||!!n,onClick:()=>t.onClose(e),color:"primary",startIcon:m.createElement(Ea,null)},t.applyText||P.t("ra_Ok")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>t.onClose(null),startIcon:m.createElement(Ar,null)},t.cancelText||P.t("ra_Cancel"))))}const Tyt=qs()(Eyt),w2=t=>m.createElement("svg",{onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 486 486",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"m414.928297,149.715165 c-2.639376,-57.222555 -35.669446,-106.505345 -83.345894,-132.039151 c-3.758948,-2.049842 -7.636885,-3.932022 -11.590542,-5.641125 c-19.303146,-8.394083 -40.607459,-13.050853 -63.004303,-13.050853 c-84.113909,0 -152.791790,65.703174 -157.718988,148.605566 l0.043268,-0.010816 v0.281245 c0,3.061243 -0.146031,16.750306 -0.146031,16.750306 l-2.352723,5.224668 h15.744315 c5.916964,-19.384275 24.078904,-32.635245 45.513024,-32.635245 c26.231510,0 47.573684,21.915481 47.573684,48.146991 c0,26.226103 -21.342174,47.146409 -47.573684,47.146409 c-25.111939,0 -45.734774,-19.735831 -47.443879,-44.658471 h-18.789334 c-0.400232,0 -0.778832,0.638209 -1.162839,0.584122 l-19.762875,55.199753 c-2.774590,7.696379 2.926030,16.214860 11.103771,16.214860 h17.020735 l-0.129805,87.899899 c0,17.356066 14.073071,31.174935 31.429136,31.174935 h56.205745 v82.648189 c0,12.877778 12.937273,22.580734 25.815051,22.580734 h144.597825 c12.877778,0 23.429877,-9.702955 23.429877,-22.580734 v-166.037352 c0,-22.645636 5.976457,-44.761234 16.561008,-64.789128 c11.055093,-20.925714 17.523731,-44.620611 18.129489,-69.792045 c0.027042,-1.260193 0.037858,-2.552839 0.037858,-3.845485 c0,-2.466302 -0.070310,-4.938014 -0.183890,-7.377273 zm-155.393308,-11.731165 h-13.456494 v13.559257 c0,4.732489 -4.267352,8.567157 -8.999842,8.567157 c-4.727079,0 -8.999842,-3.834667 -8.999842,-8.567157 v-13.559257 h-12.185483 c-4.732489,0 -8.567157,-4.267352 -8.567157,-8.999842 c0,-4.727079 3.834667,-8.999842 8.567157,-8.999842 h12.185483 v-12.077311 c0,-4.732489 4.272762,-8.567157 8.999842,-8.567157 c4.732489,0 8.999842,3.834667 8.999842,8.567157 v12.077311 h13.456494 c4.727079,0 8.567157,4.272762 8.567157,8.999842 c0,4.732489 -3.840077,8.999842 -8.567157,8.999842 zm0,0"}),m.createElement("path",{fill:"currentColor",d:"m187.695312 285.875c3.9375-3.980469 6.414063-9.449219 6.414063-15.523438 0-12.128906-9.855469-21.980468-21.984375-21.980468-6.007812 0-11.472656 2.410156-15.457031 6.347656-4.023438 4.003906-6.523438 9.539062-6.523438 15.636719 0 12.125 9.855469 21.980469 21.980469 21.980469 6.078125 0 11.585938-2.476563 15.570312-6.460938zm0 0"})),ru=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 650 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"m524,128l-192,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,288c0,26.51 21.49,48 48,48l416,0c26.51,0 48,-21.49 48,-48l0,-224c0,-26.51 -21.49,-48 -48,-48z"})),nv=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 650 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"m631.75617,292.093l-72.424,124.155a63.997,63.997 0 0 1 -55.281,31.752l-399.964,0c-18.523,0 -30.064,-20.093 -20.731,-36.093l72.424,-124.155a64,64 0 0 1 55.282,-31.752l399.964,0c18.523,0 30.064,20.093 20.73,36.093zm-420.694,-68.093l328,0l0,-48c0,-26.51 -21.49,-48 -48,-48l-160,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,278.046l69.077,-118.418c17.137,-29.378 48.912,-47.628 82.923,-47.628z"})),CD=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"#EE3333",d:"M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,448 c-105.865,0-192-86.135-192-192c0-40.406,12.25-78.604,35.542-111.198l267.656,267.656C334.604,435.75,296.406,448,256,448z M412.458,367.198L144.802,99.542C177.396,76.25,215.594,64,256,64c105.865,0,192,86.135,192,192 C448,296.406,435.75,334.604,412.458,367.198z"}));var Oyt=t=>typeof t!="string"?{}:t.split(/ ?; ?/).reduce((e,r)=>{const[n,o]=r.split(/ ?: ?/).map((a,i)=>i===0?a.replace(/\s+/g,""):a.trim());if(n&&o){const a=n.replace(/(\w)-(\w)/g,(s,l,d)=>`${l}${d.toUpperCase()}`);let i=o.trim();Number.isNaN(Number(o))||(i=Number(o)),e[n.startsWith("-")?n:a]=i}return e},{});function Dyt(t=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let r="";for(let n=t;n>0;--n)r+=e[Math.round(Math.random()*(e.length-1))];return r}var Ayt=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],az={"accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",enctype:"encType",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",typemustmatch:"typeMustMatch",usemap:"useMap",accentheight:"accentHeight","accent-height":"accentHeight",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",arabicform:"arabicForm","arabic-form":"arabicForm",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",edgemode:"edgeMode",enablebackground:"enableBackground","enable-background":"enableBackground",externalresourcesrequired:"externalResourcesRequired",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",imagerendering:"imageRendering","image-rendering":"imageRendering",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","v-mathematical":"vMathematical",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan",onblur:"onBlur",onchange:"onChange",onclick:"onClick",oncontextmenu:"onContextMenu",ondoubleclick:"onDoubleClick",ondrag:"onDrag",ondragend:"onDragEnd",ondragenter:"onDragEnter",ondragexit:"onDragExit",ondragleave:"onDragLeave",ondragover:"onDragOver",ondragstart:"onDragStart",ondrop:"onDrop",onerror:"onError",onfocus:"onFocus",oninput:"onInput",oninvalid:"onInvalid",onkeydown:"onKeyDown",onkeypress:"onKeyPress",onkeyup:"onKeyUp",onload:"onLoad",onmousedown:"onMouseDown",onmouseenter:"onMouseEnter",onmouseleave:"onMouseLeave",onmousemove:"onMouseMove",onmouseout:"onMouseOut",onmouseover:"onMouseOver",onmouseup:"onMouseUp",onscroll:"onScroll",onsubmit:"onSubmit",ontouchcancel:"onTouchCancel",ontouchend:"onTouchEnd",ontouchmove:"onTouchMove",ontouchstart:"onTouchStart",onwheel:"onWheel"};function Iyt(t,e){var a;const{key:r,level:n,...o}=e;switch(t.nodeType){case 1:return A.createElement(Pyt(t.nodeName),Myt(t,r),iz(t.childNodes,n,o));case 3:{const i=((a=t.nodeValue)==null?void 0:a.toString())??"";if(!o.allowWhiteSpaces&&/^\s+$/.test(i)&&!/[\u00A0\u202F]/.test(i))return null;if(!t.parentNode)return i;const s=t.parentNode.nodeName.toLowerCase();return Ayt.includes(s)?(/\S/.test(i)&&console.warn(`A textNode is not allowed inside '${s}'. Your text "${i}" will be ignored`),null):i}case 8:return null;case 11:return iz(t.childNodes,n,e);default:return null}}function Myt(t,e){const r={key:e};if(t instanceof Element){const n=t.getAttribute("class");n&&(r.className=n),[...t.attributes].forEach(o=>{switch(o.name){case"class":break;case"style":r[o.name]=Oyt(o.value);break;case"allowfullscreen":case"allowpaymentrequest":case"async":case"autofocus":case"autoplay":case"checked":case"controls":case"default":case"defer":case"disabled":case"formnovalidate":case"hidden":case"ismap":case"itemscope":case"loop":case"multiple":case"muted":case"nomodule":case"novalidate":case"open":case"readonly":case"required":case"reversed":case"selected":case"typemustmatch":r[az[o.name]||o.name]=!0;break;default:r[az[o.name]||o.name]=o.value}})}return r}function iz(t,e,r){const n=[...t].map((o,a)=>qv(o,{...r,index:a,level:e+1})).filter(Boolean);return n.length?n:null}function Pyt(t){return/[a-z]+[A-Z]+[a-z]+/.test(t)?t:t.toLowerCase()}function qv(t,e={}){if(!t||!(t instanceof Node))return null;const{actions:r=[],index:n=0,level:o=0,randomKey:a}=e;let i=t,s=`${o}-${n}`;const l=[];return a&&o===0&&(s=`${Dyt()}-${s}`),Array.isArray(r)&&r.forEach(d=>{d.condition(i,s,o)&&(typeof d.pre=="function"&&(i=d.pre(i,s,o),i instanceof Node||(i=t)),typeof d.post=="function"&&l.push(d.post(i,s,o)))}),l.length?l:Iyt(i,{key:s,level:o,...e})}function Nyt(t,e={}){if(!t||typeof t!="string")return null;const{includeAllNodes:r=!1,nodeOnly:n=!1,selector:o="body > *",type:a="text/html"}=e;try{const s=new DOMParser().parseFromString(t,a);if(r){const{childNodes:d}=s.body;return n?d:[...d].map(h=>qv(h,e))}const l=s.querySelector(o)||s.body.childNodes[0];if(!(l instanceof Node))throw new TypeError("Error parsing input");return n?l:qv(l,e)}catch{}return null}function pV(t,e={}){return typeof t=="string"?Nyt(t,e):t instanceof Node?qv(t,e):null}var Ryt=Object.defineProperty,jyt=(t,e,r)=>e in t?Ryt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Mg=(t,e,r)=>jyt(t,typeof e!="symbol"?e+"":e,r),sz="react-inlinesvg",lz=10,rr={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function ov(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Lyt(){return Fyt()&&typeof window<"u"&&window!==null}async function hV(t,e){const r=await fetch(t,e),n=r.headers.get("content-type"),[o]=(n??"").split(/ ?; ?/);if(r.status>299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(a=>o.includes(a)))throw new Error(`Content type isn't valid: ${o}`);return r.text()}function zyt(t=1){return new Promise(e=>{setTimeout(e,t*1e3)})}function Fyt(){if(!document)return!1;const t=document.createElement("div");t.innerHTML="";const e=t.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}function Byt(t){return t[Math.floor(Math.random()*t.length)]}function Wyt(t){const e="abcdefghijklmnopqrstuvwxyz",n=`${e}${e.toUpperCase()}1234567890`;let o="";for(let a=0;a{this.cacheApi=r}).catch(r=>{console.error(`Failed to open cache: ${r.message}`)}).finally(()=>{this.isReady=!0,this.subscribers.forEach(r=>r())}):this.isReady=!0}onReady(t){this.isReady?t():this.subscribers.push(t)}async get(t,e){var r;return await(this.cacheApi?this.fetchAndAddToPersistentCache(t,e):this.fetchAndAddToInternalCache(t,e)),((r=this.cacheStore.get(t))==null?void 0:r.content)??""}set(t,e){this.cacheStore.set(t,e)}isCached(t){var e;return((e=this.cacheStore.get(t))==null?void 0:e.status)===rr.LOADED}async fetchAndAddToInternalCache(t,e){const r=this.cacheStore.get(t);if((r==null?void 0:r.status)===rr.LOADING){await this.handleLoading(t,async()=>{this.cacheStore.set(t,{content:"",status:rr.IDLE}),await this.fetchAndAddToInternalCache(t,e)});return}if(!(r!=null&&r.content)){this.cacheStore.set(t,{content:"",status:rr.LOADING});try{const n=await hV(t,e);this.cacheStore.set(t,{content:n,status:rr.LOADED})}catch(n){throw this.cacheStore.set(t,{content:"",status:rr.FAILED}),n}}}async fetchAndAddToPersistentCache(t,e){var o,a,i;const r=this.cacheStore.get(t);if((r==null?void 0:r.status)===rr.LOADED)return;if((r==null?void 0:r.status)===rr.LOADING){await this.handleLoading(t,async()=>{this.cacheStore.set(t,{content:"",status:rr.IDLE}),await this.fetchAndAddToPersistentCache(t,e)});return}this.cacheStore.set(t,{content:"",status:rr.LOADING});const n=await((o=this.cacheApi)==null?void 0:o.match(t));if(n){const s=await n.text();this.cacheStore.set(t,{content:s,status:rr.LOADED});return}try{await((a=this.cacheApi)==null?void 0:a.add(new Request(t,e)));const s=await((i=this.cacheApi)==null?void 0:i.match(t)),l=await(s==null?void 0:s.text())??"";this.cacheStore.set(t,{content:l,status:rr.LOADED})}catch(s){throw this.cacheStore.set(t,{content:"",status:rr.FAILED}),s}}async handleLoading(t,e){var n;let r=0;for(;((n=this.cacheStore.get(t))==null?void 0:n.status)===rr.LOADING&&r=lz&&await e()}keys(){return[...this.cacheStore.keys()]}data(){return[...this.cacheStore.entries()].map(([t,e])=>({[t]:e}))}async delete(t){this.cacheApi&&await this.cacheApi.delete(t),this.cacheStore.delete(t)}async clear(){if(this.cacheApi){const t=await this.cacheApi.keys();for(const e of t)await this.cacheApi.delete(e)}this.cacheStore.clear()}};function cz(t){const e=A.useRef();return A.useEffect(()=>{e.current=t}),e.current}function Vyt(t){const{baseURL:e,content:r,description:n,handleError:o,hash:a,preProcessor:i,title:s,uniquifyIDs:l=!1}=t;try{const d=qyt(r,i),h=pV(d,{nodeOnly:!0});if(!h||!(h instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const u=fV(h,{baseURL:e,hash:a,uniquifyIDs:l});if(n){const f=u.querySelector("desc");f!=null&&f.parentNode&&f.parentNode.removeChild(f);const g=document.createElementNS("http://www.w3.org/2000/svg","desc");g.innerHTML=n,u.prepend(g)}if(typeof s<"u"){const f=u.querySelector("title");if(f!=null&&f.parentNode&&f.parentNode.removeChild(f),s){const g=document.createElementNS("http://www.w3.org/2000/svg","title");g.innerHTML=s,u.prepend(g)}}return u}catch(d){return o(d)}}function qyt(t,e){return e?e(t):t}function fV(t,e){const{baseURL:r="",hash:n,uniquifyIDs:o}=e,a=["id","href","xlink:href","xlink:role","xlink:arcrole"],i=["href","xlink:href"],s=(l,d)=>i.includes(l)&&(d?!d.includes("#"):!1);return o&&[...t.children].forEach(l=>{var d;if((d=l.attributes)!=null&&d.length){const h=Object.values(l.attributes).map(u=>{const f=u,g=/url\((.*?)\)/.exec(u.value);return g!=null&&g[1]&&(f.value=u.value.replace(g[0],`url(${r}${g[1]}__${n})`)),f});a.forEach(u=>{const f=h.find(g=>g.name===u);f&&!s(u,f.value)&&(f.value=`${f.value}__${n}`)})}return l.children.length?fV(l,e):l}),t}var qd;function Gyt(t){const{cacheRequests:e=!0,children:r=null,description:n,fetchOptions:o,innerRef:a,loader:i=null,onError:s,onLoad:l,src:d,title:h,uniqueHash:u}=t,[f,g]=A.useReducer((F,H)=>({...F,...H}),{content:"",element:null,isCached:e&&qd.isCached(t.src),status:rr.IDLE}),{content:y,element:b,isCached:x,status:S}=f,T=cz(t),E=cz(f),$=A.useRef(u??Wyt(8)),k=A.useRef(!1),O=A.useRef(!1),M=A.useCallback(F=>{k.current&&(g({status:F.message==="Browser does not support SVG"?rr.UNSUPPORTED:rr.FAILED}),s==null||s(F))},[s]),R=A.useCallback((F,H=!1)=>{k.current&&g({content:F,isCached:H,status:rr.LOADED})},[]),j=A.useCallback(async()=>{const F=await hV(d,o);R(F)},[o,R,d]),I=A.useCallback(()=>{try{const F=Vyt({...t,handleError:M,hash:$.current,content:y}),H=pV(F);if(!H||!A.isValidElement(H))throw new Error("Could not convert the src to a React element");g({element:H,status:rr.READY})}catch(F){M(new Error(F.message))}},[y,M,t]),z=A.useCallback(async()=>{const F=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(d);let H;if(F?H=F[1]?window.atob(F[2]):decodeURIComponent(F[2]):d.includes("{k.current&&g({content:"",element:null,isCached:!1,status:rr.LOADING})},[]);A.useEffect(()=>{if(k.current=!0,!ov()||O.current)return()=>{};try{if(S===rr.IDLE){if(!Lyt())throw new Error("Browser does not support SVG");if(!d)throw new Error("Missing src");W()}}catch(F){M(F)}return O.current=!0,()=>{k.current=!1}},[]),A.useEffect(()=>{if(ov()&&T)if(T.src!==d){if(!d){M(new Error("Missing src"));return}W()}else(T.title!==h||T.description!==n)&&I()},[n,I,M,W,T,d,h]),A.useEffect(()=>{E&&(E.status!==rr.LOADING&&S===rr.LOADING&&z(),E.status!==rr.LOADED&&S===rr.LOADED&&I(),E.status!==rr.READY&&S===rr.READY&&(l==null||l(d,x)))},[z,I,x,l,E,d,S]);const L=Hyt(t,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return ov()?b?A.cloneElement(b,{ref:a,...L}):[rr.UNSUPPORTED,rr.FAILED].includes(S)?r:i:i}function x2(t){qd||(qd=new Uyt);const{loader:e}=t,r=A.useRef(!1),[n,o]=A.useState(qd.isReady);return A.useEffect(()=>{r.current||(qd.onReady(()=>{o(!0)}),r.current=!0)},[]),n?m.createElement(Gyt,{...t}):e}const Xyt=window.location.hostname.endsWith("iobroker.in"),dz=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function xl(t){var e,r,n;if(t.src){if(typeof t.src=="string"){if(t.src.length<3)return t.sx?m.createElement(Re,{component:"span",sx:t.sx,title:t.title||void 0,style:{height:27,marginTop:-8,...t.styleUTF8||t.style},className:ue.clsx(t.className,"iconOwn")},t.src):m.createElement("span",{title:t.title||void 0,style:{height:27,marginTop:-8,...t.styleUTF8||t.style},className:ue.clsx(t.className,"iconOwn")},t.src);if(t.src.startsWith("data:image/svg"))return m.createElement(x2,{title:t.title||void 0,src:t.src,className:ue.clsx(t.className,"iconOwn"),width:((e=t.style)==null?void 0:e.width)||28,height:((r=t.style)==null?void 0:r.height)||((n=t.style)==null?void 0:n.width)||28,style:t.style||void 0});if(Xyt&&!t.src.startsWith("http://")&&!t.src.startsWith("https://")){let o=t.src;return o.startsWith("./")?o=dz+o.substring(2):o.startsWith("/")||(o=dz+o),t.sx?m.createElement(Re,{component:"img",sx:t.sx,title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:t.alt||void 0,ref:t.ref,onError:a=>t.onError&&t.onError(a)}):m.createElement("img",{title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:t.alt||void 0,ref:t.ref,onError:a=>t.onError&&t.onError(a)})}return t.sx?m.createElement(Re,{component:"img",sx:t.sx,title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:t.src,alt:t.alt||void 0,ref:t.ref,onError:t.onError}):m.createElement("img",{title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:t.src,alt:t.alt||void 0,ref:t.ref,onError:t.onError})}return t.src}return null}const cl={dialog:{height:"100%"},paper:{height:"calc(100% - 64px)"},content:{textAlign:"center"},textarea:{width:"100%",height:"100%"},img:{width:"auto",height:"calc(100% - 5px)",objectFit:"contain"},dialogTitle:{justifyContent:"space-between",display:"flex"}},En={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function uz(t,e){let r="";const n=new Uint8Array((t==null?void 0:t.data)||t),o=n.byteLength;for(let a=0;a{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,o===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))});const n=ue.getFileExtension(r.href);this.state={text:null,code:null,ext:n,editing:!1,editingValue:null,copyPossible:!!n&&(En.code.includes(n)||En.txt.includes(n)),forceUpdate:Date.now(),changed:!1,imgError:!1}}readFile(){if(this.props.href){const r=this.props.href.split("/");r.splice(0,2);const n=r[0],o=r.splice(1).join("/");this.props.socket.readFile(n,o).then(a=>{let i="";a.file!==void 0&&(i=a.file);const s={copyPossible:this.state.copyPossible,ext:this.state.ext};if(i.type==="Buffer")if(o.toLowerCase().endsWith(".json5")){s.ext="json5",s.copyPossible=!0;try{i=atob(uz(i,!0))}catch{console.error("Cannot convert base64 to string"),i=""}}else{const l=ue.detectMimeType(uz(i));l&&(s.ext=l,s.copyPossible=En.code.includes(l)||En.txt.includes(l))}s.copyPossible&&(s.ext&&En.txt.includes(s.ext)?(s.text=i,s.editingValue=i):s.ext&&En.code.includes(s.ext)&&(s.code=i,s.editingValue=i)),this.setState(s)}).catch(a=>window.alert(`Cannot read file: ${a}`))}}componentDidMount(){this.readFile();const r=this.props.href.split("/");r.splice(0,2);const n=r[0],o=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(n,o,this.onFileChanged).catch(a=>window.alert(`Cannot subscribe on file: ${a}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const r=this.props.href.split("/");r.splice(0,2);const n=r[0],o=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(n,o,this.onFileChanged).catch(a=>window.alert(`Cannot subscribe on file: ${a}`))}getEditorOrViewer(){return m.createElement(Ht,{variant:"standard",style:cl.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&En.images.includes(this.state.ext)?this.state.imgError?m.createElement(CD,{style:{...cl.img,...this.props.getStyleBackgroundImage()}}):m.createElement(xl,{onError:r=>{r.target.onerror=null,this.setState({imgError:!0})},style:{...cl.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&En.audio.includes(this.state.ext)?m.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},m.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&En.video.includes(this.state.ext)?m.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},m.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},m.createElement("source",{src:this.props.href,type:`video/${this.state.ext}}`}))):this.state.code!==null||this.state.text!==null||this.state.editing?this.getEditorOrViewer():null}onSave(){}render(){return m.createElement(or,{sx:{"&.MuiDialog-scrollPaper":cl.dialog,"& .MuiDialog-paper":cl.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},m.createElement("div",{style:cl.dialogTitle},m.createElement(_r,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&En.images.includes(this.state.ext)&&m.createElement("div",null,m.createElement(Ie,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},m.createElement(VH,null)))),m.createElement(Wr,{style:cl.content},this.getContent()),m.createElement(pr,null,this.state.copyPossible?m.createElement(tt,{color:"grey",onClick:r=>{r.stopPropagation(),r.preventDefault(),ue.copyToClipboard(this.state.text||this.state.code||"")},startIcon:m.createElement(vve,null)},this.props.t("Copy content")):null,this.state.editing?m.createElement(tt,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:m.createElement(s2,null)},this.props.t("Save")):null,m.createElement(tt,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:m.createElement(Ar,null)},this.props.t("Close"))))}}const Yyt=qs()(Jyt),qc=32,Ci=32,Pg=120,pz=64,hz="Not found",Ng={all:XH,images:$ve,code:AO,txt:Sve,audio:cve,video:Bve},qe={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 16px)",overflowX:"hidden",overflowY:"auto",padding:8},filesDivHint:{position:"absolute",bottom:0,left:20,opacity:.7,fontStyle:"italic",fontSize:12},filesDivTable:{height:"calc(100% - 56px)"},filesDivTile:{height:`calc(100% - ${48*2+8}px)`,display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${pz}px`},itemTile:t=>({position:"relative",userSelect:"none",cursor:"pointer",height:Pg,width:pz,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:t.palette.secondary.light,color:ue.invertColor(t.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:t=>({width:"100%",height:Pg-32-16-8,display:"block",pl:1,color:t.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:t=>({position:"absolute",top:22,left:18,zIndex:1,color:t.palette.mode==="dark"?"#FFF":"#000"}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:Pg-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Pg-32-16-8,display:"block",objectFit:"contain"},itemSelected:t=>({background:t.palette.primary.main,color:ue.invertColor(t.palette.primary.main,!0)}),itemTable:t=>({userSelect:"none",cursor:"pointer",height:qc,display:"inline-flex",lineHeight:`${qc}px`,"&:hover":{background:t.palette.secondary.light,color:ue.invertColor(t.palette.secondary.main,!0)}}),itemNameTable:{display:"inline-block",pl:"10px",fontSize:"1rem",verticalAlign:"top",flexGrow:1,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden","@media screen and (max-width: 500px)":{textAlign:"end",direction:"rtl"}},itemNameFolderTable:{fontWeight:"bold"},itemSizeTable:{display:"inline-block",width:60,verticalAlign:"top",textAlign:"right",whiteSpace:"nowrap"},itemAccessTable:{verticalAlign:"top",width:60,textAlign:"right",paddingRight:5,display:"flex",justifyContent:"center"},itemImageTable:{display:"inline-block",width:30,marginTop:1,objectFit:"contain",maxHeight:30},itemNoImageTable:{marginTop:6},itemIconTable:{display:"inline-block",marginTop:1,width:30,height:30},itemFolderTable:{},itemFolderTemp:{opacity:.4},itemFolderIconTable:t=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:t.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:t=>({display:"inline-block",width:Ci,height:qc,minWidth:Ci,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Ci/2}px`,"&:hover":{backgroundColor:t.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"},"& span":{pt:"9px"},"& svg":{width:14,height:14,fontSize:"1rem",mt:"-3px",verticalAlign:"middle",color:t.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Ci,height:qc,minWidth:Ci,padding:0},itemAclButtonTable:{width:Ci,height:qc,minWidth:Ci,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Ci,height:qc,minWidth:Ci,verticalAlign:"top",padding:0,"& svg":{width:18,height:18,fontSize:"1.5rem"}},uploadDiv:{top:0,zIndex:1,bottom:0,left:0,right:0,position:"absolute",opacity:.9,textAlign:"center",background:"#FFFFFF"},uploadDivDragging:{opacity:1},uploadCenterDiv:t=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:t.palette.mode==="dark"?"#222":"#CCC",display:"flex",alignItems:"center",justifyContent:"center"}),uploadCenterIcon:{width:"25%",height:"25%"},uploadCenterText:{fontSize:24,fontWeight:"bold"},uploadCloseButton:{zIndex:2,position:"absolute",top:30,right:30},uploadCenterTextAndIcon:{position:"absolute",height:"30%",width:"100%",margin:"auto",opacity:.3},menuButtonExpertActive:{color:"#c00000"},menuButtonRestrictActive:{color:"#c05000"},pathDiv:t=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:t.palette.secondary.main}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:t=>({pl:"2px",pr:"2px",cursor:"pointer","&:hover":{background:t.palette.primary.main}}),pathDivBreadcrumbSelected:{},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:t=>({color:t.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},ps="0_userdata.0";function Gc(t){const e=(t||"").split("/");return e.length&&e.pop(),e.join("/")}function wS(t){const e=ue.getFileExtension(t);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const Vt="Table",xS="Tile";function fz(t,e){return t.folder&&e.folder?t.name>e.name?1:t.namee.name?1:t.name{const a=`${r}/${n}`,i=a.lastIndexOf("/"),s=a.substring(0,i);console.log(`File changed ${a}[${o}]`),this.state.folders[s]&&(this._tempTimeout[s]&&clearTimeout(this._tempTimeout[s]),this._tempTimeout[s]=setTimeout(()=>{delete this._tempTimeout[s],this.browseFolder(s,null,!1,!0).then(l=>this.setState({folders:l})).catch(l=>console.error(`Cannot read folder: ${l.message}`))},300))});X(this,"setStateBackgroundImage",()=>{const r=["light","dark","colored","delete"];this.setState(({backgroundImage:n})=>n&&r.indexOf(n)!==-1&&r.length-1!==r.indexOf(n)?(this.localStorage.setItem("files.backgroundImage",r[r.indexOf(n)+1]),{backgroundImage:r[r.indexOf(n)+1]}):(this.localStorage.setItem("files.backgroundImage",r[0]),{backgroundImage:r[0]}))});X(this,"getStyleBackgroundImage",()=>{switch(this.state.backgroundImage){case"light":return qe.backgroundImageLight;case"dark":return qe.backgroundImageDark;case"colored":return qe.backgroundImageColored;case"delete":return null;default:return null}});this.localStorage=window._localStorage||window.localStorage;const n=this.localStorage.getItem("files.expanded")||"[]";if(this.props.limitPath){const d=this.props.limitPath.split("/");this.limitToObjectID=d[0],this.limitToPath=d.length?d.length===1&&d[0]===""?null:d.join("/"):null,this.limitToPath&&this.limitToPath.endsWith("/")&&this.limitToPath.substring(0,this.limitToPath.length-1)}let o;try{o=JSON.parse(n),this.limitToPath&&(o=o.filter(d=>{var h;return d.startsWith(`${this.limitToPath}/`)||d===this.limitToPath||((h=this.limitToPath)==null?void 0:h.startsWith(`${d}/`))}))}catch{o=[]}let a;this.props.showViewTypeButton?a=this.localStorage.getItem("files.viewType")||Vt:a=Vt;let i=this.props.selected||this.localStorage.getItem("files.selected")||ps,s;if(r.restrictToFolder){i=r.restrictToFolder,s=r.restrictToFolder;const d=r.restrictToFolder.split("/");o=[];let h="";for(let u=0;u{if(this.state.viewType===Vt&&!this.findItem(this.state.selected)){const n=this.state.selected.split("/");for(;n.length&&!this.findItem(n.join("/"));)n.pop();let o;n.length?o=n.join("/"):o=ps,this.setState({selected:o,path:o,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const r=document.getElementById(this.state.selected);r==null||r.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`)),this.supportSubscribes=await this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT"),this.supportSubscribes&&await this.props.socket.subscribeFiles("*","*",this.onFileChange)}componentWillUnmount(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach(r=>r&&clearTimeout(r)),this._tempTimeout={}}browseFoldersCb(r,n,o){if(!(r!=null&&r.length))o(n);else{const a=r.shift();a?this.browseFolder(a,n).catch(i=>console.error(`Cannot read folder ${a}: ${i.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(r,n,o),0)}):setTimeout(()=>this.browseFoldersCb(r,n,o),0)}}browseFolders(r,n){let o;return n?o=n:(o={},Object.keys(this.state.folders).forEach(a=>o[a]=this.state.folders[a])),r!=null&&r.length?new Promise(a=>{this.browseFoldersCb(r,o,a)}):Promise.resolve(o)}readDirSerial(r,n){return new Promise((o,a)=>{this.browseList&&(this.browseList.push({resolve:o,reject:a,adapter:r,relPath:n}),this.browseListRunning||this.processBrowseList())})}processBrowseList(r=0){!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10?this.browseList.length%10||this.setState({queueLength:this.browseList.length}):this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath).then(n=>{if(this.browseList){const o=this.browseList.shift();if(o){const a=o.resolve;o.resolve=null,o.reject=null,o.adapter=null,o.relPath=null,a&&a(n),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(n=>{if(this.browseList){const o=this.browseList.shift();if(o){const a=o.reject;o.resolve=null,o.reject=null,o.adapter=null,o.relPath=null,a&&a(n),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(r,n,o,a){let i;if(n?i=n:(i={},Object.keys(this.state.folders).forEach(f=>{i[f]=this.state.folders[f]})),i[r]&&!a)return o?Promise.resolve(i):new Promise((f,g)=>{Promise.all(i[r].filter(y=>y.folder).map(y=>this.browseFolder(y.id,i,!0).catch(()=>{}))).then(()=>f(i)).catch(y=>g(new Error(y)))});if(!r||r==="/"){try{let f=await this.props.socket.readMetaItems();const g=[];let y=null;if(this.state.restrictToFolder){const x=this.state.restrictToFolder.split("/")[0];f=f.filter(S=>S._id===x)}else this.state.expertMode||(f=f.filter(x=>!x._id.endsWith(".admin")));const b=f.findIndex(x=>x._id==="system.meta.uuid");if(b!==-1&&f.splice(b,1),f.forEach(x=>{if(this.limitToObjectID&&this.limitToObjectID!==x._id)return;const S={id:x._id,name:x._id,title:x.common&&x.common.name||x._id,meta:!0,from:x.from,ts:x.ts,color:x.common&&x.common.color,icon:x.common&&x.common.icon,folder:!0,acl:x.acl,level:0};S.id===ps?y=S:g.push(S)}),g.sort((x,S)=>x.id>S.id?1:x.idx.folder).map(x=>this.browseFolder(x.id,i,!0).catch(()=>{}))).then(()=>i)}catch(f){const g=f;this.initialReadFinished&&window.alert(`Cannot read meta items: ${g.message}`),i[r||"/"]=[]}return i}const s=r.split("/"),l=s.length,d=s.shift(),h=s.join("/");let u;try{u=await this.readDirSerial(d||"",h)}catch(f){if(f==="Not exists"&&d==="0_userdata.0")u=[];else throw f}try{const f=[];if(u.forEach(g=>{var b;const y={id:`${r}/${g.file}`,ext:ue.getFileExtension(g.file),folder:g.isDir,name:g.file,size:(b=g.stats)==null?void 0:b.size,modified:g.modifiedAt,acl:g.acl,level:l};this.state.restrictToFolder?(y.folder&&(y.id.startsWith(`${this.state.restrictToFolder}/`)||y.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${y.id}/`))||y.id.startsWith(`${this.state.restrictToFolder}/`))&&f.push(y):this.limitToPath?(y.folder&&(y.id.startsWith(`${this.limitToPath}/`)||y.id===this.limitToPath||this.limitToPath.startsWith(`${y.id}/`))||y.id.startsWith(`${this.limitToPath}/`))&&f.push(y):f.push(y)}),f.sort(fz),i[r]=f,!o)return Promise.all(f.filter(g=>g.folder).map(g=>this.browseFolder(g.id,i,!0))).then(()=>i)}catch(f){const g=f;this.initialReadFinished&&window.alert(`Cannot read ${d}${h?`/${h}`:""}: ${g==null?void 0:g.message}`),i[r]=[]}return i}toggleFolder(r,n){n==null||n.stopPropagation();const o=[...this.state.expanded],a=o.indexOf(r.id);a===-1?(o.push(r.id),o.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(o)),r.temp?this.setState({expanded:o}):this.browseFolder(r.id).then(i=>this.setState({expanded:o,folders:i})).catch(i=>window.alert(i===hz?this.props.t('ra_Cannot find "%s"',r.id):this.props.t('ra_Cannot read "%s"',r.id)))):(o.splice(a,1),this.localStorage.setItem("files.expanded",JSON.stringify(o)),this.setState({expanded:o}))}changeFolder(r,n){r==null||r.stopPropagation(),this.lastSelect=Date.now();let o=n||Gc(this.state.currentDir);if(o==="/"&&(o=""),this.localStorage.setItem("files.currentDir",o),n&&r&&(r.altKey||r.shiftKey||r.ctrlKey||r.metaKey)){this.setState({selected:o});return}if(o&&!this.state.folders[o]){this.browseFolder(o).then(a=>this.setState({folders:a,path:o,currentDir:o,selected:o,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(a=>console.error(`Cannot read folder: ${a.message}`));return}this.setState({currentDir:o,selected:o,path:o,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))}select(r,n,o){n&&n.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",r),this.setState({selected:r,path:r,pathFocus:!1},()=>{if(this.props.onSelect){const a=ue.getFileExtension(r);(!this.props.filterFiles||a&&this.props.filterFiles.includes(a))&&(!this.state.filterByType||a&&En[this.state.filterByType].includes(a))?this.props.onSelect(r,!1,!!this.state.folders[r]):this.props.onSelect("")}o&&o()})}getText(r){if(r)return typeof r=="object"?r[this.props.lang]||r.en||void 0:r}renderFolder(r,n){if(this.state.viewType===Vt&&this.state.filterEmpty&&(!this.state.folders[r.id]||!this.state.folders[r.id].length)&&r.id!==ps&&!r.temp)return null;const o=n?nv:ru,a=this.state.viewType===Vt?r.level*this.levelPadding:0,i=r.name===ps,s=i||r.name==="vis.0"||r.name==="vis-2.0",l=ue.getStyle(this.props.theme,qe[`itemFolderIcon${this.state.viewType}`],s&&qe.specialFolder);return m.createElement(Re,{component:"div",key:r.id,id:r.id,style:this.state.viewType===Vt?{marginLeft:a,width:`calc(100% - ${a}px`}:{},onClick:d=>this.state.viewType===Vt?this.select(r.id,d):this.changeFolder(d,r.id),onDoubleClick:d=>this.state.viewType===Vt&&this.toggleFolder(r,d),title:this.getText(r.title),className:"browserItem",sx:ue.getStyle(this.props.theme,qe[`item${this.state.viewType}`],qe[`itemFolder${this.state.viewType}`],this.state.selected===r.id?qe.itemSelected:{},r.temp?qe.itemFolderTemp:{})},m.createElement(o,{style:l,onClick:this.state.viewType===Vt?d=>this.toggleFolder(r,d):void 0}),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,qe[`itemName${this.state.viewType}`],qe[`itemNameFolder${this.state.viewType}`])},i?this.props.t("ra_User files"):r.name),m.createElement(Re,{component:"div",style:qe[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.state.folders[r.id]?this.state.folders[r.id].length:""),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.props.expertMode?this.formatAcl(r.acl):null),this.state.viewType===Vt&&this.props.expertMode?m.createElement(Re,{component:"div",sx:{...qe.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===Vt&&this.props.allowDownload?m.createElement("div",{style:qe[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===Vt&&this.props.allowDelete&&this.state.folders[r.id]&&this.state.folders[r.id].length?m.createElement(Ie,{"aria-label":"delete",onClick:d=>{d.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:qe[`itemDeleteButton${this.state.viewType}`],size:"large"},m.createElement(Ta,{fontSize:"small"})):this.state.viewType===Vt&&this.props.allowDelete?m.createElement(Re,{component:"div",sx:qe[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return m.createElement(Re,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:r=>this.changeFolder(r),title:this.props.t("ra_Back to %s",Gc(this.state.currentDir)),className:"browserItem",sx:ue.getStyle(this.props.theme,qe[`item${this.state.viewType}`],qe[`itemFolder${this.state.viewType}`])},m.createElement(ru,{style:ue.getStyle(this.props.theme,qe[`itemFolderIcon${this.state.viewType}`])}),m.createElement(sve,{sx:qe.itemFolderIconBack}),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,qe[`itemName${this.state.viewType}`],qe[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(r){return m.createElement("div",{style:qe[`itemSize${this.state.viewType}`]},r||r===0?ue.formatBytes(r):"")}formatAcl(r){const n=r?r.permissions||r.file:0;let o;return n?o=n.toString(16).padStart(3,"0"):o="",m.createElement("div",{style:qe[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?m.createElement(Ie,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:qe[`itemAclButton${this.state.viewType}`]},o||"---"):o||"---")}getFileIcon(r){switch(r){case"json":case"json5":return m.createElement(uve,{style:qe[`itemIcon${this.state.viewType}`]});case"css":return m.createElement(pve,{style:qe[`itemIcon${this.state.viewType}`]});case"js":case"ts":return m.createElement(AO,{style:qe[`itemIcon${this.state.viewType}`]});case"html":case"md":return m.createElement(IO,{style:qe[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return m.createElement(Ive,{style:qe[`itemIcon${this.state.viewType}`]});default:return m.createElement(XH,{style:qe[`itemIcon${this.state.viewType}`]})}}static getEditFile(r){switch(r){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}renderFile(r){const n=this.state.viewType===Vt?r.level*this.levelPadding:0,o=ue.getFileExtension(r.name);return m.createElement(Re,{component:"div",key:r.id,id:r.id,onDoubleClick:a=>{a.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&En[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:o})},onClick:a=>this.select(r.id,a),style:this.state.viewType===Vt?{marginLeft:n,width:`calc(100% - ${n}px)`}:{},className:"browserItem",sx:ue.getStyle(this.props.theme,qe[`item${this.state.viewType}`],qe[`itemFile${this.state.viewType}`],this.state.selected===r.id?qe.itemSelected:void 0)},o&&En.images.includes(o)?this.state.fileErrors.includes(r.id)?m.createElement(CD,{style:{...qe[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...qe[`itemNoImage${this.state.viewType}`]}}):m.createElement(xl,{onError:a=>{a.target.onerror=null;const i=[...this.state.fileErrors];i.includes(r.id)||(i.push(r.id),this.setState({fileErrors:i}))},style:{...qe[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+r.id,alt:r.name}):this.getFileIcon(o),m.createElement(Re,{component:"div",sx:qe[`itemName${this.state.viewType}`]},r.name),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(r.size)),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.props.expertMode?this.formatAcl(r.acl):null),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.props.expertMode&&$D.getEditFile(o)?m.createElement(Ie,{"aria-label":"edit",onClick:a=>{a.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&En[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:o})},sx:qe.itemDeleteButtonTable,size:"large"},m.createElement(rv,{fontSize:"small"})):m.createElement(Re,{component:"div",sx:qe[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===Vt&&this.props.allowDownload?m.createElement(Re,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:qe.itemDownloadButtonTable,tabIndex:0,download:r.id,href:this.imagePrefix+r.id,onClick:a=>a.stopPropagation()},m.createElement(Pve,null)):null,this.state.viewType===Vt&&this.props.allowDelete&&r.id!=="vis.0/"&&r.id!=="vis-2.0/"&&r.id!==ps?m.createElement(Ie,{"aria-label":"delete",onClick:a=>{a.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:qe[`itemDeleteButton${this.state.viewType}`],size:"large"},m.createElement(Ta,{fontSize:"small"})):this.state.viewType===Vt&&this.props.allowDelete?m.createElement(Re,{component:"div",sx:qe[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(r){if(this.state.folders&&this.state.folders[r]){if(this.state.viewType===xS){const o=[];return r&&r!=="/"&&o.push(this.renderBackFolder()),this.state.folders[r].forEach(a=>{a.folder?o.push(this.renderFolder(a)):(!this.props.filterFiles||a.ext&&this.props.filterFiles.includes(a.ext))&&(!this.state.filterByType||a.ext&&En[this.state.filterByType].includes(a.ext))&&o.push(this.renderFile(a))}),o}const n=[];return this.state.folders[r].forEach(o=>{if(o.folder){const a=this.state.expanded.includes(o.id),i=this.renderFolder(o,a);if(Array.isArray(i)?i.forEach(s=>n.push(s)):n.push(i),this.state.folders[o.id]&&a){const s=this.renderItems(o.id);Array.isArray(s)?s.forEach(l=>n.push(l)):n.push(s)}}else(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&En[this.state.filterByType].includes(o.ext))&&n.push(this.renderFile(o))}),n}return m.createElement("div",{style:{position:"relative"}},m.createElement(pO,{key:r,color:"secondary",size:24}),m.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const r=this.props.showTypeSelector?Ng[this.state.filterByType||"all"]||Ng.all:null,n=this.findFirstFolder(this.state.selected);return m.createElement(af,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?m.createElement(Ie,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...qe.menuButton,...this.state.restrictToFolder?qe.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},m.createElement(xve,{fontSize:"small"})):null,this.props.showExpertButton?m.createElement(Ie,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...qe.menuButton,...this.state.expertMode?qe.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},m.createElement(w2,null)):null,this.props.showViewTypeButton?m.createElement(Ie,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:qe.menuButton,"aria-label":"view mode",onClick:()=>{const o=this.state.viewType===Vt?xS:Vt;this.localStorage.setItem("files.viewType",o);let a=this.state.selected;wS(a)&&(a=Gc(a)),this.setState({viewType:o,currentDir:a},()=>{this.state.viewType===Vt&&this.scrollToSelected()})},size:"small"},this.state.viewType!==Vt?m.createElement(Tve,{fontSize:"small"}):m.createElement(Hve,{fontSize:"small"})):null,m.createElement(Ie,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:qe.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:()=>{this.localStorage.setItem("file.empty",this.state.filterEmpty?"false":"true"),this.setState({filterEmpty:!this.state.filterEmpty})},size:"small"},m.createElement(wve,{fontSize:"small"})),m.createElement(Ie,{edge:"start",title:this.props.t("ra_Reload files"),style:qe.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},m.createElement(MO,{fontSize:"small"})),this.props.allowCreateFolder?m.createElement(Ie,{edge:"start",disabled:!this.state.selected||!n||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:qe.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},m.createElement(qH,{fontSize:"small"})):null,this.props.allowUpload?m.createElement(Ie,{edge:"start",disabled:!this.state.selected||!n||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:qe.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},m.createElement(Rv,{fontSize:"small"})):null,this.props.showTypeSelector&&r?m.createElement(Zr,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:qe.tooltip}}},m.createElement(Ie,{size:"small",onClick:o=>this.setState({showTypesMenu:o.target})},m.createElement(r,{fontSize:"small"}))):null,this.state.showTypesMenu?m.createElement(eu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(Ng).map(o=>{const a=Ng[o];return m.createElement(Jt,{key:o,selected:this.state.filterByType===o,onClick:()=>{o==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",o),this.setState({filterByType:o,showTypesMenu:null}))}},m.createElement(ba,null,m.createElement(a,{fontSize:"small"})),m.createElement(_o,null,this.props.t(`ra_fileType_${o}`)))})):null,m.createElement(Zr,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:qe.tooltip}}},m.createElement(Ie,{color:"inherit",edge:"start",style:qe.menuButton,onClick:this.setStateBackgroundImage,size:"small"},m.createElement(VH,{fontSize:"small"}))),this.state.viewType!==Vt&&this.props.allowDelete?m.createElement(Zr,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:qe.tooltip}}},m.createElement("span",null,m.createElement(Ie,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===ps,color:"inherit",edge:"start",style:qe.menuButton,onClick:o=>{o.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},m.createElement(Ta,{fontSize:"small"})))):null)}findItem(r,n){if(n=n||this.state.folders,!n)return null;const o=r.split("/");o.pop();const a=o.join("/")||"/";return n[a]&&n[a].find(i=>i.id===r)||null}renderInputDialog(){if(this.state.addFolder){const r=this.findFirstFolder(this.state.selected);return r?m.createElement(Tyt,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:n=>this.state.folders[r].find(o=>o.name===n)?"":this.props.t("ra_Duplicate name"),onClose:n=>{if(n){const o={};Object.keys(this.state.folders).forEach(l=>o[l]=this.state.folders[l]);const a=this.findItem(r),i=`${r}/${n}`;o[r].push({id:i,level:((a==null?void 0:a.level)||0)+1,name:n,folder:!0,temp:!0}),o[r].sort(fz),o[i]=[];const s=[...this.state.expanded];s.includes(r)||(s.push(r),s.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(s)),this.setState({addFolder:!1,folders:o,expanded:s},()=>this.select(i))}else this.setState({addFolder:!1})},replace:n=>n.replace(/[^-_\w]/,"_")}):(window.alert(this.props.t("ra_Invalid parent folder!")),null)}return null}componentDidUpdate(){this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout(()=>{this.setOpacityTimer=null;const r=window.document.getElementsByClassName("browserItem");for(let n=0;nthis.setState({uploadFile:!1})},m.createElement(Ar,null)),m.createElement(s_,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:r=>{let n=r.length;r.forEach(o=>{const a=new FileReader;a.onabort=()=>console.log("file reading was aborted"),a.onerror=()=>console.log("file reading has failed"),a.onload=()=>{const i=this.findFirstFolder(this.state.selected);if(!i)window.alert(this.props.t("ra_Invalid parent folder!"));else{const s=`${i}/${o.name}`;this.uploadFile(s,a.result).then(()=>{--n||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const l=[...this.state.expanded];l.includes(i)||(l.push(i),l.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(l))),this.setState({expanded:l},()=>this.select(s))}else setTimeout(()=>this.browseFolder(i,null,!1,!0).then(l=>{const d=[...this.state.expanded];d.includes(i)||(d.push(i),d.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(d))),this.setState({folders:l,expanded:d},()=>this.select(s))}),500)})})}},a.readAsArrayBuffer(o)})}},({getRootProps:r,getInputProps:n})=>m.createElement("div",{style:{...qe.uploadDiv,...this.state.uploadFile==="dragging"?qe.uploadDivDragging:void 0},...r()},m.createElement("input",{...n()}),m.createElement(Re,{component:"div",sx:qe.uploadCenterDiv},m.createElement("div",{style:qe.uploadCenterTextAndIcon},m.createElement(Rv,{style:qe.uploadCenterIcon}),m.createElement("div",{style:qe.uploadCenterText},this.state.uploadFile==="dragging"?this.props.t("ra_Drop file here"):this.props.t("ra_Place your files here or click here to open the browse dialog"))))))]:null}deleteRecursive(r){const n=this.findItem(r);if(n!=null&&n.folder)return(this.state.folders[r]?Promise.all(this.state.folders[r].map(i=>this.deleteRecursive(i.id))):Promise.resolve()).then(()=>{if(n.level>=1){const i=r.split("/"),s=i.shift();this.props.socket.deleteFolder(s||"",i.join("/")).then(()=>{const l=JSON.parse(JSON.stringify(this.state.folders));delete l[n.id];const d=Gc(n.id),h=l[d];if(h){const u=h.findIndex(f=>f.id===n.id);u!==-1&&h.splice(u,1),this.select(d,null,()=>this.setState({folders:l}))}})}});const o=r.split("/"),a=o.shift();return o.length?this.props.socket.deleteFile(a||"",o.join("/")).catch(i=>window.alert(`Cannot delete file: ${i}`)):Promise.resolve()}deleteItem(r){r=r||this.state.deleteItem,this.setState({deleteItem:""},()=>this.deleteRecursive(r).then(()=>{const n={},o=this.state.expanded.indexOf(r);if(o!==-1){const a=[...this.state.expanded];a.splice(o,1),this.localStorage.setItem("files.expanded",JSON.stringify(a)),n.expanded=a}if(this.state.selected===r){const a=this.state.selected.split("/");a.pop(),n.selected=a.join("/")}if(this.supportSubscribes)this.setState(n);else{const a=this.findFirstFolder(r),i={};Object.keys(this.state.folders).forEach(s=>{s!==a&&!s.startsWith(`${a}/`)&&(i[s]=this.state.folders[s])}),n.folders=i,this.setState(n,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],i).then(s=>this.setState({folders:s})).catch(s=>console.error(s))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?m.createElement(or,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},m.createElement(_r,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),m.createElement(Wr,null,m.createElement(Ds,null,this.props.t("ra_Are you sure?"))),m.createElement(pr,null,m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>{this.suppressDeleteConfirm=Date.now()+6e4*5,this.deleteItem("")}},this.props.t("ra_Delete (no confirm for 5 mins)")),m.createElement(tt,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),m.createElement(tt,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const r=this.props.FileViewer||Yyt;return this.state.viewer?m.createElement(r,{supportSubscribes:this.supportSubscribes,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile,themeType:this.props.themeType,setStateBackgroundImage:this.setStateBackgroundImage,getStyleBackgroundImage:this.getStyleBackgroundImage,t:this.props.t,socket:this.props.socket,onClose:()=>this.setState({viewer:"",formatEditFile:""})}):null}renderError(){return this.state.errorText?m.createElement(eU,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(r){this.cacheFolders=this.cacheFolders||JSON.parse(JSON.stringify(this.state.folders));let n;r.forEach(o=>{const a=this.findItem(o.id,this.cacheFolders);a&&JSON.stringify(a.acl)!==JSON.stringify(o.acl)&&(a.acl=o.acl,n=!0)}),n&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const o=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:o})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let r=this.state.path;wS(this.state.path)&&(r=Gc(this.state.path)),new Promise(n=>{this.state.folders[r]?n(!0):this.browseFolder(r).then(o=>this.setState({folders:o},()=>n(!0))).catch(o=>this.setState({errorText:o===hz?this.props.t('ra_Cannot find "%s"',r):this.props.t('ra_Cannot read "%s"',r)}))}).then(n=>n&&this.setState({selected:this.state.path,currentDir:r,pathFocus:!1})).catch(n=>console.error(n))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const r=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),n=[];return m.createElement(Ase,{style:{paddingLeft:8}},r.map((o,a)=>{o&&n.push(o);const i=n.join("/");return athis.changeFolder(s,i||"/")},o||this.props.t("ra_Root")):m.createElement("div",{style:qe.pathDivBreadcrumbSelected,key:`${this.state.selected}_${a}`,onClick:()=>this.setState({pathFocus:!0})},o)}))}renderPath(){return m.createElement(Re,{component:"div",key:"path",sx:qe.pathDiv},this.state.pathFocus?m.createElement(ya,{value:this.state.path,onKeyDown:r=>{r.key==="Enter"?this.changeToPath():r.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:m.createElement(Ie,{size:"small",onClick:()=>this.changeToPath()},m.createElement(Eve,null)),onBlur:()=>this.changeToPath(),onChange:r=>this.setState({path:r.target.value}),style:qe.pathDivInput}):this.renderBreadcrumb())}render(){return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout(()=>{this.setState({loadAllFolders:!1,folders:{}},()=>{this.foldersLoading=!1,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`))})},300)),m.createElement("div",{style:{...qe.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===xS?this.renderPath():null,m.createElement("div",{style:{...qe.filesDiv,...qe[`filesDiv${this.state.viewType}`]},onClick:r=>{this.state.viewType!==Vt&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(r,this.state.currentDir||"/"):r.stopPropagation())}},this.state.viewType===Vt?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==Vt?m.createElement("div",{style:qe.filesDivHint},this.props.t("ra_select_folder_hint")):null),this.props.allowUpload?this.renderInputDialog():null,this.props.allowUpload?this.renderUpload():null,this.props.allowDelete?this.renderDeleteDialog():null,this.props.allowView?this.renderViewDialog():null,this.state.modalEditOfAccess&&this.props.modalEditOfAccessControl?this.props.modalEditOfAccessControl(this):null,this.renderError())):m.createElement(Zce,null)}}const Kyt=qs()($D),Zyt=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}));function Qyt(t){const e=document.createElement("div");e.innerHTML=t;const r=e.firstElementChild;return r!=null&&r.remove?r.remove():r&&e.removeChild(r),e.remove(),r}function e_t(t){const e={};if(!t)return e;for(let r,n=0;na[1].toUpperCase()),e[r]=t[n].value}return e}const _l=class _l extends A.Component{constructor(r){var n;super(r);X(this,"svg");this.state={svg:!!((n=this.props.src)!=null&&n.startsWith("data:")),created:!0,color:this.props.color||"",src:this.props.src||"",imgError:!1,showError:!!this.props.showError},this.svg=this.state.svg&&this.state.src?this.getSvgFromData(this.state.src):null}static getDerivedStateFromProps(r,n){var i;const o={};let a=!1;return r&&n&&r.src!==n.src&&(o.src=r.src,o.svg=(i=r.src)==null?void 0:i.startsWith("data:"),o.created=!1,a=!0),r&&n&&r.color!==n.color&&(o.color=r.color,o.created=!1,a=!0),r&&n&&r.showError!==n.showError&&(o.showError=r.showError,a=!0),a?o:null}getSvgFromData(r){const n="data:image/svg+xml;base64,";if(!r.startsWith(n))return null;r=r.substring(n.length);try{r=atob(r);const o=Qyt(r),a=o.innerHTML,i=e_t(o.attributes);return o.remove(),m.createElement("svg",{className:this.props.className,style:this.state.color?{color:this.state.color}:{},...i,dangerouslySetInnerHTML:{__html:a}})}catch{}return null}render(){if(this.state.svg)return this.state.created||setTimeout(()=>{this.svg=this.state.src?this.getSvgFromData(this.state.src):null,this.setState({created:!0})},50),this.svg;if(this.state.src){if(this.state.imgError||!this.state.src)return m.createElement(CD,{className:this.props.className});if(_l.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let r=(this.props.imagePrefix||"")+this.state.src;return r.startsWith("./")?r=_l.REMOTE_PREFIX+r.substring(2):r.startsWith("/")||(r=_l.REMOTE_PREFIX+r),m.createElement("img",{className:this.props.className,src:`https://remote-files.iobroker.in${r}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return m.createElement("img",{className:this.props.className,src:(this.props.imagePrefix||"")+this.state.src,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return null}};X(_l,"REMOTE_SERVER",window.location.hostname.includes("iobroker.in")),X(_l,"REMOTE_PREFIX",window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1));let mz=_l;class mV extends m.Component{constructor(){super(...arguments);X(this,"handleFileSelect",r=>{const n=r.target,o=n==null?void 0:n.files;if(!o||!o.length){console.error("No files found. Please report to developers");return}const a=o[0];if(a){const i=new window.FileReader;i.onload=()=>{var l;const s=((l=i.result)==null?void 0:l.toString())||"";try{const d=JSON.parse(s);d.native&&d.common?d.common.name!==this.props.common.name?this.props.onError&&this.props.onError(P.t("ra_otherConfig",d.common.name)):this.props.onLoad&&this.props.onLoad(d.native):this.props.onError&&this.props.onError(P.t("ra_invalidConfig"))}catch(d){this.props.onError&&this.props.onError(d==null?void 0:d.toString())}},i.readAsText(a)}else alert("Failed to open JSON File")})}static generateFile(r,n){const o=window.document.createElement("a");o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(n,null,2))}`),o.setAttribute("download",r),o.style.display="none",window.document.body.appendChild(o),o.click(),window.document.body.removeChild(o)}download(){const r={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};r.common.news&&delete r.common.news,r.common.titleLang&&delete r.common.titleLang,r.common.desc&&delete r.common.desc,mV.generateFile(`${r._id}.json`,r)}upload(){const r=window.document.createElement("input");r.setAttribute("type","file"),r.setAttribute("id","files"),r.setAttribute("opacity","0"),r.addEventListener("change",this.handleFileSelect,!1),r.click()}render(){return m.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?m.createElement(xl,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?m.createElement(ro,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const r=window.open(this.props.common.readme,"_blank");r==null||r.focus()}},m.createElement(GH,null)):null,m.createElement(ro,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:P.t("ra_Load configuration from file"),onClick:()=>this.upload()},m.createElement(Fve,null)),m.createElement(ro,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:P.t("ra_Save configuration to file"),onClick:()=>this.download()},m.createElement(zve,null)))}}const t_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"})),gV=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 320 320",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("g",{fill:"currentColor"},m.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),m.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}))),Di=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"})),vV=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 320 320",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("g",{fill:"currentColor"},m.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),m.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),m.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),m.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}))),r_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>t.onClick&&t.onClick(e),width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"})),n_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}),m.createElement("path",{fill:"currentColor",stroke:"null",d:"m261,270l-12,0l0,-24c0,-33.12 -26.88,-60 -60,-60s-60,26.88 -60,60l0,24l-12,0c-13.2,0 -24,10.8 -24,24l0,120c0,13.2 10.8,24 24,24l144,0c13.2,0 24,-10.8 24,-24l0,-120c0,-13.2 -10.8,-24 -24,-24zm-72,108c-13.2,0 -24,-10.8 -24,-24s10.8,-24 24,-24s24,10.8 24,24s-10.8,24 -24,24zm37.2,-108l-74.4,0l0,-24c0,-20.52 16.68,-37.2 37.2,-37.2c20.52,0 37.2,16.68 37.2,37.2l0,24z"})),gh=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 320 320",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),m.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"})),o_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 24 24",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"})),SS={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function a_t(t){var e;return m.createElement(zn,{elevation:Number.isNaN(t.elevation)?1:t.elevation,style:{...SS.root,...((e=t.styles)==null?void 0:e.root)||void 0,...t.overflow!=="visible"?SS.overflowHidden:void 0},onKeyDown:t.onKeyDown,tabIndex:t.tabIndex},m.createElement(ws,{container:!0,direction:"column",wrap:"nowrap",sx:SS.container},t.children))}const gz={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function i_t(t){return m.createElement(ws,{sx:{...gz.root,...(t==null?void 0:t.style)||void 0,...t.overflow==="auto"?gz.overflowAuto:void 0},ref:t.ref},t.children)}function s_t(t){return m.createElement(ws,{container:!0,alignItems:"center"},t.children)}const Xc=24,Rn=32,l_t=16,Yr=20,yV=t=>t==="dark"?"#62ff25":"#37c400",_V=t=>t==="dark"?"#ee56ff":"#a204b4",c_t=t=>t==="dark"?"#fff46e":"#b89101",bV=t=>"#ff6d69",wV=t=>"#5773ff",xV="#ff413c",SV="#86211f",S2="#57ff45",C2="#098c04",$2="#f3ad11",k2="#6c5008",Q={toolbar:{minHeight:38},toolbarButtons:{padding:4,marginLeft:4},switchColumnAuto:{marginLeft:16},dialogColumns:{transition:"opacity 1s"},dialogColumnsLabel:{fontSize:12,paddingTop:8},columnCustom:{width:"100%",display:"inline-block"},columnCustomEditable:{cursor:"text"},columnCustom_center:{textAlign:"center"},columnCustom_left:{textAlign:"left"},columnCustom_right:{textAlign:"right"},width100:{width:"100%"},transparent_10:{opacity:.1},transparent_20:{opacity:.2},transparent_30:{opacity:.3},transparent_40:{opacity:.4},transparent_50:{opacity:.5},transparent_60:{opacity:.6},transparent_70:{opacity:.7},transparent_80:{opacity:.8},transparent_90:{opacity:.9},transparent_100:{opacity:1},headerRow:{paddingLeft:8,height:38,whiteSpace:"nowrap",userSelect:"none"},buttonClearFilter:{position:"relative",float:"right",padding:0},buttonClearFilterIcon:{zIndex:2,position:"absolute",top:0,left:0,color:"#FF0000",opacity:.7},tableDiv:{paddingTop:0,paddingLeft:0,width:"calc(100% - 8px)",height:"calc(100% - 38px)",overflow:"auto"},tableRow:t=>({pl:1,height:Rn,lineHeight:`${Rn}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${t.palette.mode==="dark"?t.palette.primary.dark:t.palette.primary.light} !important`,color:ue.invertColor(t.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:t=>({borderBottom:`1px solid ${t.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${t.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:Rn+10},tableRowAliasReadWrite:{height:Rn+22},tableRowFocused:t=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:t.palette.mode?"1px dotted #000":"1px dotted #FFF"}}),checkBox:{padding:0},cellId:{position:"relative",fontSize:"1rem",overflow:"hidden",textOverflow:"ellipsis","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"},"& .iconOwn":{display:"block",width:Rn-4,height:Rn-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:t=>({marginRight:8,width:Rn-4,height:Rn-4,cursor:"pointer",color:t.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(Rn-Yr)/2,marginRight:8,width:Yr,height:Yr},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:Yr,height:Yr,top:(Rn-Yr)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:Yr,height:Yr,top:(Rn-Yr)/2,opacity:.8},cellEditButton:{width:Yr,height:Yr,color:"white",position:"absolute",top:(Rn-Yr)/2,right:Yr+3,opacity:.7,"&:hover":{opacity:1}},cellName:{display:"inline-block",verticalAlign:"top",fontSize:14,ml:"5px",overflow:"hidden",textOverflow:"ellipsis",position:"relative","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellNameWithDesc:{lineHeight:"normal"},cellNameDivDiv:{},cellDescription:{fontSize:10,opacity:.5,fontStyle:"italic"},cellIdAlias:t=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:t.palette.mode==="dark"?"#009900":"#007700"}}),cellIdAliasReadWriteDiv:{height:24,marginTop:-5},cellIdAliasAlone:{lineHeight:0},cellIdAliasReadWrite:{lineHeight:"12px"},cellType:{display:"inline-block",verticalAlign:"top","& .itemIcon":{verticalAlign:"middle",width:Xc,height:Xc,display:"inline-block"},"& .itemIconFolder":{marginLeft:3}},cellRole:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellRoom:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellEnumParent:{opacity:.4},cellFunc:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValue:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValueButton:{marginTop:5},cellValueButtonFalse:{opacity:.3},cellAdapter:{display:"inline-block",verticalAlign:"top"},cellValueTooltip:{fontSize:12},cellValueText:{width:"100%",height:Rn,fontSize:16,display:"flex",overflow:"hidden",textOverflow:"ellipsis",position:"relative",verticalAlign:"top","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellValueFile:{color:"#2837b9"},cellValueTooltipTitle:{fontStyle:"italic",width:100,display:"inline-block"},cellValueTooltipValue:{width:120,display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis"},cellValueTooltipImage:{width:100,height:"auto"},cellValueTooltipBoth:{width:220,display:"inline-block",whiteSpace:"nowrap"},cellValueTooltipBox:{width:250,overflow:"hidden",pointerEvents:"none"},tooltip:{pointerEvents:"none"},cellValueTextUnit:{marginLeft:4,opacity:.8,display:"inline-block"},cellValueTextState:{opacity:.7},cellValueTooltipCopy:{position:"absolute",bottom:3,right:3},cellValueTooltipEdit:{position:"absolute",bottom:3,right:15},cellButtons:{display:"inline-block",verticalAlign:"top"},cellButtonsButton:{display:"inline-block",opacity:.5,width:Yr+4,height:Yr+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${Yr+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:t=>({color:t.palette.mode==="dark"?t.palette.primary.main:t.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:t=>({position:"absolute",top:Yr/2-2,opacity:.7,width:Yr-2,height:Yr-2,color:t.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:Yr/2+16},cellDetailsLine:{display:"flex",alignItems:"center",width:"100%",height:32,fontSize:16},cellDetailsName:{fontWeight:"bold",marginRight:8,minWidth:80},filteredOut:{opacity:.5},filteredParentOut:{opacity:.3},filterInput:{mt:0,mb:0},selectIcon:{width:24,height:24,marginRight:4},selectNone:{opacity:.5},itemSelected:t=>({background:`${t.palette.primary.main} !important`,color:`${ue.invertColor(t.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},headerCellInput:{width:"calc(100% - 5px)",height:Rn,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Xc,height:Xc,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Xc,height:Xc,mr:"5px",display:"inline-block"}},visibleButtons:{color:"#2196f3",opacity:.7},grow:{flexGrow:1},enumIconDiv:{marginRight:8,width:32,height:32,borderRadius:8,background:"#FFFFFF"},enumIcon:{marginTop:4,marginLeft:4,width:24,height:24},enumDialog:{overflow:"hidden"},enumList:{minWidth:250,height:"calc(100% - 50px)",overflow:"auto"},enumButton:{float:"right"},enumCheckbox:{minWidth:0},buttonDiv:{display:"flex",height:"100%",alignItems:"center"},aclText:{fontSize:13,marginTop:6},rightsObject:{color:"#55ff55",paddingLeft:3},rightsState:{color:"#86b6ff",paddingLeft:3},textCenter:{padding:12,textAlign:"center"},tooltipAccessControl:{display:"flex",flexDirection:"column"},fontSizeTitle:{"@media screen and (max-width: 465px)":{"& *":{fontSize:12}}},draggable:{cursor:"copy"},nonDraggable:{cursor:"no-drop"},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},iconDeviceConnected:t=>({color:t.palette.mode==="dark"?S2:C2,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:t=>({color:t.palette.mode==="dark"?$2:k2,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:t=>({color:t.palette.mode==="dark"?xV:SV,opacity:.8,position:"absolute",top:4,right:50,width:20}),resizeHandle:{display:"block",position:"absolute",cursor:"col-resize",width:7,top:2,bottom:2,zIndex:1},resizeHandleRight:{right:3,borderRight:"2px dotted #888","&:hover":{borderColor:"#ccc",borderRightStyle:"solid"},"&.active":{borderColor:"#517ea5",borderRightStyle:"solid"}},invertedBackground:t=>({backgroundColor:t.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:t=>({backgroundColor:t.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:t=>({color:t.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:t=>({color:t.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:t=>({color:t.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:t=>({color:t.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:t=>({color:t.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:t=>({color:t.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:t=>({color:t.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:t=>({color:t.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function d_t(t){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:t==null?void 0:t.style,width:"24",height:"24",className:"admin-button"},m.createElement("g",{fill:"currentColor"},m.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),m.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function u_t(t,e){const r=[];for(let n=0;n{if(o==null)return;const i=typeof o=="object";if(r&&i&&typeof o.en=="string"&&typeof o.de=="string"){n[a]=o.en;return}n[a]=i?E2(o,e,r):o}):p_t(t,(n,o,a)=>{if(o==null||e.includes(a))return;const i=typeof o=="object";if(r&&i&&typeof o.en=="string"&&typeof o.de=="string"){n[a]=o.en;return}n[a]=i?E2(o,e,r):o})}function vz(t,e,r){const n=document.createElement("a"),o=[];r.excludeSystemRepositories&&o.push("system.repositories");const a=o.length>0||r.excludeTranslations?E2(e,o,r.excludeTranslations):e,i=r.beautify?JSON.stringify(a,null,2):JSON.stringify(a);n.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(i)}`),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}function uf(t,e,r,n){if(r=r||0,n===void 0&&(n=t.length-1,!n))return t[0]===e;const o=Math.floor((r+n)/2);return e===t[o]?!0:n-1===r?t[r]===e||t[n]===e:e>t[o]?uf(t,e,o,n):ek.role.startsWith(O))||(d=!0)):d=!0),!d&&((T=i.common)==null?void 0:T.custom)==="_"&&(k!=null&&k.custom))d=!0;else if(!d&&((E=i.common)!=null&&E.custom)&&(($=i.common)==null?void 0:$.custom)!=="_"){const O=i.common.custom;if(!(k!=null&&k.custom))d=!0;else if(O==="_dataSources")Object.keys(k.custom).find(M=>M.startsWith("history.")||M.startsWith("sql.")||M.startsWith("influxdb."))||(d=!0);else if(Array.isArray(O)){const M=Object.keys(k.custom);O.find(R=>M.find(j=>j.startsWith(R)))&&(d=!0)}else O!==!0&&!Object.keys(k.custom).find(M=>M.startsWith(O))&&(d=!0)}}!d&&!e.expertMode&&(d=h.id==="system"||h.id==="enum"||h.id.startsWith("system.")||h.id.startsWith("enum.")||h.id.startsWith("_design/")||h.id.endsWith(".admin")||!!(k!=null&&k.expert)),!d&&o.id&&(h.fID===void 0&&(h.fID=h.id.toLowerCase()),d=!h.fID.includes(o.id)),!d&&o.name&&(k?(h.fName===void 0&&(h.fName=k&&xo(k.name,r)||"",h.fName=h.fName.toLowerCase()),d=!h.fName.includes(o.name)):d=!0),!d&&e.role&&k&&(k?d=!(k.role&&k.role.startsWith(o.role)):d=!0),!d&&o.room&&(d=!o.room.find(O=>O===h.id||h.id.startsWith(`${O}.`))),!d&&o.func&&(d=!o.func.find(O=>O===h.id||h.id.startsWith(`${O}.`))),!d&&o.type&&(d=!(h.obj&&h.obj.type&&h.obj.type===o.type)),!d&&s&&(d=!(h.obj&&h.obj.type&&s.includes(h.obj.type))),!d&&o.custom&&(k?o.custom==="_"?d=!!k.custom:d=!k.custom||!k.custom[o.custom]:d=!0)}return h.visible=!d,h.hasVisibleChildren=!1,t.children&&l<20&&t.children.forEach(k=>{T2(k,e,r,n,o,a,i,s,l+1)&&(h.hasVisibleChildren=!0)}),h.sumVisibility=h.visible||h.hasVisibleChildren,a&&h.sumVisibility&&a.count++,h.id&&h.sumVisibility&&t.children&&t.children.forEach(k=>k.data.hasVisibleParent=!0),h.visible||h.hasVisibleChildren}function CV(t,e,r,n){var a;n=n||[];const o=t.data;return o.sumVisibility&&(o.id&&r[o.id]&&r[o.id].type===e&&n.push(o.id),(a=t.children)==null||a.forEach(i=>CV(i,e,r,n))),n}function yz(t,e,r,n,o,a){let i;return e==="alias"||e==="alias.0"?i=m.createElement(JH,{className:"iconOwn",style:{color:_V(n)}}):e==="0_userdata"||e==="0_userdata.0"?i=m.createElement(yve,{className:"iconOwn",style:{color:yV(n)}}):e.startsWith("_design/")||e==="system"?i=m.createElement(F5,{className:"iconOwn",style:{color:bV(n)}}):e==="system.adapter"?i=m.createElement(F5,{className:"iconOwn",style:{color:wV(n)}}):e==="system.group"?i=m.createElement(ZH,{className:"iconOwn"}):e==="system.user"?i=m.createElement(YH,{className:"iconOwn"}):e==="system.host"?i=m.createElement(KH,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?i=m.createElement(ch,{className:"iconOwn"}):e.endsWith(".info")?i=m.createElement(kve,{className:"iconOwn"}):t[e]&&t[e].type==="meta"?i=m.createElement(IO,{className:"iconOwn"}):r<2&&t[`system.adapter.${e}`]&&(i=Gv(t,`system.adapter.${e}`,o,a)),i||null}function $V(t,e){var r,n;return(n=(r=t==null?void 0:t.obj)==null?void 0:r.common)!=null&&n.desc&&xo(t.obj.common.desc,e)||null}function h_t(t,e){const r=$V(t,e);return r!=null&&r.startsWith("http")?m.createElement(Re,{component:"a",sx:Q.cellIdTooltipLink,href:r,target:"_blank",rel:"noreferrer"},r):m.createElement("span",{style:Q.cellIdTooltip},r||t.id||"")}function _z(t,e){var h,u,f,g,y,b,x,S,T;const r=e.imagePrefix||".";let n=Object.keys(t);n.sort((E,$)=>E===$?0:(E=E.replace(/\./g,"!!!"),$=$.replace(/\./g,"!!!"),E>$?1:-1)),e.root&&(n=n.filter(E=>E===e.root||E.startsWith(`${e.root}.`)));let o=[],a="",i=0;const s={data:{name:"",id:""},children:[]},l={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:t,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let d=s;for(let E=0;E1){let j=a;for(let I=i;Iz.data.name===O[I]));else{const z={data:{name:O[I],parent:d,id:j,obj:t[j],level:I,icon:yz(t,j,I,e.themeType,e.lang,r),generated:!0}};d.children=d.children||[],d.children.push(z),d=z,l.ids.push(j)}}const R={data:{name:O[O.length-1],title:xo((f=k==null?void 0:k.common)==null?void 0:f.name,e.lang),obj:k,parent:d,icon:Gv(t,$,e.lang,r)||yz(t,$,0,e.themeType,e.lang,r),id:$,hasCustoms:!!((g=k.common)!=null&&g.custom&&Object.keys(k.common.custom).length),level:O.length-1,generated:!1,button:k.type==="state"&&!!((y=k.common)!=null&&y.role)&&typeof k.common.role=="string"&&k.common.role.startsWith("button")&&((b=k.common)==null?void 0:b.write)!==!1,switch:k.type==="state"&&((x=k.common)==null?void 0:x.type)==="boolean"&&((S=k.common)==null?void 0:S.write)!==!1&&((T=k.common)==null?void 0:T.read)!==!1}};d.children=d.children||[],d.children.push(R),d=R,i=O.length,o=O,a=$}else{let R=0;for(;o[R]===O[R];)R++;if(R>0){let j=o.length;for(o=o.splice(0,R),i=R,a=o.join(".");j>R;)d.data.parent?d=d.data.parent:console.error(`Parent is null for ${$} ${a} ${o.join(".")}`),j--}else d=s,o=[],a="",i=0;M=!0}while(M)}return l.roomEnums.sort((E,$)=>{var M,R,j,I;const k=xo((R=(M=t[E])==null?void 0:M.common)==null?void 0:R.name,e.lang)||E.split(".").pop(),O=xo((I=(j=t[$])==null?void 0:j.common)==null?void 0:I.name,e.lang)||$.split(".").pop();return k>O?1:k{var M,R,j,I;const k=xo((R=(M=t[E])==null?void 0:M.common)==null?void 0:R.name,e.lang)||E.split(".").pop(),O=xo((I=(j=t[$])==null?void 0:j.common)==null?void 0:I.name,e.lang)||$.split(".").pop();return k>O?1:kn)break}return a?(o=o||0,kV(a,e,r,`${n}.${r[o+1]}`,o+1)):null}function EV(t,e,r,n){var i,s;if(!e)return{rooms:[],per:!1};n=n||[];for(const l of t.roomEnums){const d=(i=t.objects[l])==null?void 0:i.common;if(!d)continue;const h=xo(d.name,r);(s=d.members)!=null&&s.includes(e)&&!n.includes(h)&&n.push(h)}let o;const a=e.split(".");return a.pop(),e=a.join("."),t.objects[e]&&(o=n.length,EV(t,e,r,n)),{rooms:n,per:!o}}function Jc(t,e,r,n){var o,a;if(!e)return[];n=n||[];for(let i=0;i946681200&&d<9466812e5&&(d*=1e3),d=d&&new Date(d).toString();else h==="number"?Number.isInteger(d)||(d=Math.round(d*1e8)/1e8,n&&(d=d.toString().replace(".",","))):h==="object"?d=JSON.stringify(d):h!=="string"?d=d.toString():d.startsWith("data:image/")&&(l="image"),typeof d!="string"&&(d=d.toString());const u={v:d};i&&i[d]!==void 0&&d!==i[d]&&(u.s=d,d=i[d],u.v=d),s!=null&&s.unit&&(u.u=s.unit);let f;if(t.full&&(f=[{t:o.value,v:d}],r)){if(r.ack!==void 0&&r.ack!==null&&f.push({t:o.ack,v:r.ack.toString()}),r.ts&&f.push({t:o.ts,v:r.ts?ue.formatDate(new Date(r.ts),e):""}),r.lc&&f.push({t:o.lc,v:r.lc?ue.formatDate(new Date(r.lc),e):""}),r.from){let g=r.from.toString();g.startsWith("system.adapter.")&&(g=g.substring(15)),f.push({t:o.from,v:g})}if(r.user){let g=r.user.toString();g.startsWith("system.user.")&&(g=g.substring(12)),f.push({t:o.user,v:g})}r.c&&f.push({t:o.c,v:r.c}),f.push({t:o.quality,v:ue.quality2text(r.q||0).join(", "),nbr:!0})}return{valText:u,valFull:f,fileViewer:l}}function f_t(t){const{state:e}=t;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function m_t(t,e){let r=e,n=1;const o=[];for(;n=r)o.push(0);else if(n{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(r.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:r.clientX+2,top:r.clientY-6}}})):this.state.showContextMenu&&(r.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null});X(this,"onStateChange",(r,n)=>{if(console.log(`> stateChange ${r}`),this.states[r]){const o=this.findItem(r);o!=null&&o.data.state&&(o.data.state=void 0)}n?this.states[r]=n:delete this.states[r],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))});X(this,"onObjectChangeFromWorker",r=>{if(Array.isArray(r)){let n=null;r.forEach(o=>{const{newInnerState:a,filtered:i}=this.processOnObjectChangeElement(o.id,o.obj);i||(a&&n?Object.assign(n,a):n=a)}),n&&this.setState(n),this.afterObjectUpdated()}});X(this,"onObjectChange",(r,n)=>{const{newInnerState:o,filtered:a}=this.processOnObjectChangeElement(r,n);a||(o&&this.setState(o),this.afterObjectUpdated())});X(this,"getEnumsForId",r=>{const n=[];return this.info.enums.forEach(o=>{var a,i,s;if((s=(i=(a=this.objects[o])==null?void 0:a.common)==null?void 0:i.members)!=null&&s.includes(r)){const l={_id:this.objects[o]._id,common:JSON.parse(JSON.stringify(this.objects[o].common)),native:this.objects[o].native,type:"enum"};l.common&&(delete l.common.members,delete l.common.custom,delete l.common.mobile),n.push(l)}}),n.length?n:void 0});X(this,"_createAllEnums",async(r,n)=>{var o,a;for(let i=0;i{var o,a;const{t:r}=this.props;let n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:2},r("ra_Folder → State")),m.createElement("div",{key:3},r("ra_Folder → Channel → State")),m.createElement("div",{key:4},r("ra_Folder → Device → Channel → State")),m.createElement("div",{key:5},r("ra_Device → Channel → State")),m.createElement("div",{key:6},r("ra_Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];if(this.state.selected.length||this.state.selectedNonObject){const i=this.state.selected[0]||this.state.selectedNonObject;if(!(i.split(".").length<2||this.objects[i]&&((o=this.objects[i])==null?void 0:o.type)==="state"))if(this.state.filter.expertMode)switch((a=this.objects[i])==null?void 0:a.type){case"device":n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:5},r("ra_Device → Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:2},r("ra_Folder → State")),m.createElement("div",{key:3},r("ra_Folder → Channel → State")),m.createElement("div",{key:4},r("ra_Folder → Device → Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:1},r("ra_Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(i.startsWith("alias.0")||i.startsWith("0_userdata"))&&(n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:2},r("ra_Folder → State")),m.createElement("div",{key:3},r("ra_Folder → Channel → State")),m.createElement("div",{key:4},r("ra_Folder → Device → Channel → State")),m.createElement("div",{key:5},r("ra_Device → Channel → State")),m.createElement("div",{key:6},r("ra_Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:7},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:8},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return n.length?n:r("ra_Add new child object to selected parent")});X(this,"renderTooltipAccessControl",r=>{if(!r)return null;const n=[{value:"0x400",valueNum:1024,title:"read",group:"Owner"},{value:"0x200",valueNum:512,title:"write",group:"Owner"},{value:"0x40",valueNum:64,title:"read",group:"Group"},{value:"0x20",valueNum:32,title:"write",group:"Group"},{value:"0x4",valueNum:4,title:"read",group:"Everyone"},{value:"0x2",valueNum:2,title:"write",group:"Everyone"}],o=[],a=i=>{const s=r[i];n.forEach((l,d)=>{s&l.valueNum&&o.push(m.createElement("span",{key:i+d},this.texts[`acl${l.group}_${l.title}_${i}`],",",m.createElement("span",{style:i==="object"?Q.rightsObject:Q.rightsState},l.value)))})};return o.push(m.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(r.ownerGroup||"").replace("system.group.","")}`)),o.push(m.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(r.owner||"").replace("system.user.","")}`)),a("object"),r.state&&a("state"),o.length?m.createElement("span",{style:Q.tooltipAccessControl},o.map(i=>i)):null});X(this,"resizerMouseMove",r=>{if(this.resizerActiveDiv){let n,o;this.resizeLeft?(n=this.resizerOldWidth-r.clientX+this.resizerPosition,o=this.resizerOldWidthNext+r.clientX-this.resizerPosition):(n=this.resizerOldWidth+r.clientX-this.resizerPosition,o=this.resizerOldWidthNext-r.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||n>this.resizerMin)&&(!this.resizerNextMin||o>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=n,this.resizerCurrentWidths[this.resizerNextName]=o,this.resizerActiveDiv.style.width=`${n}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${o}px`),this.columnsVisibility[this.resizerActiveName]=n,this.columnsVisibility[this.resizerNextName]=o,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=o-this.state.scrollBarWidth,this.resizerCurrentWidths.name=o-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=n-this.state.scrollBarWidth,this.resizerCurrentWidths.name=n-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}});X(this,"resizerMouseUp",()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveName=null,this.resizerNextName=null,this.resizerActiveDiv=null,this.resizerNextDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)});X(this,"resizerMouseDown",r=>{if(this.storedWidths=this.storedWidths||JSON.parse(JSON.stringify(Vr[this.props.width||"lg"])),this.resizerCurrentWidths=this.resizerCurrentWidths||{},this.resizerActiveDiv=r.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let n=0;if(r.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let o=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!o&&n<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,o=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),n++;(o==null?void 0:o.dataset.left)!=="true"&&(this.resizerNextDiv=this.resizerNextDiv.nextElementSibling)}else this.resizeLeft=!1,this.resizerNextDiv=this.resizerActiveDiv.nextElementSibling;this.resizerNextName=this.resizerNextDiv.dataset.name||null,this.resizerMin=parseInt(this.resizerActiveDiv.dataset.min,10)||0,this.resizerNextMin=parseInt(this.resizerNextDiv.dataset.min,10)||0,this.resizerPosition=r.clientX,this.resizerCurrentWidths[this.resizerActiveName]=this.resizerActiveDiv.offsetWidth,this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveName],this.resizerNextName&&(this.resizerCurrentWidths[this.resizerNextName]=this.resizerNextDiv.offsetWidth,this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerNextName]),window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}});X(this,"resizerReset",()=>{this.customWidth=!1,Vr[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()});const n=this.localStorage.getItem(`${r.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",n.startsWith("["))try{const S=JSON.parse(n);this.selectFirst=S[0]||""}catch{}else this.selectFirst=n;let o;const a=this.localStorage.getItem(`${r.dialogName||"App"}.objectExpanded`)||"[]";try{o=JSON.parse(a)}catch{o=[]}let i;const s=r.defaultFilters?"":this.localStorage.getItem(`${r.dialogName||"App"}.objectFilter`)||"";if(s)try{i=JSON.parse(s)}catch{i={...Rg}}else r.defaultFilters&&typeof r.defaultFilters=="object"?i={...r.defaultFilters}:i={...Rg};if(i.expertMode=r.expertMode!==void 0?r.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=A.createRef(),this.filterRefs={},Object.keys(Rg).forEach(S=>this.filterRefs[S]=A.createRef()),this.visibleCols=r.columns||Vr[r.width||"lg"].fields,r.types&&r.types.length===1){const S=this.visibleCols.indexOf("type");S!==-1&&this.visibleCols.splice(S,1)}this.possibleCols=Vr.xl.fields;let l=null;if(r.router){const S=r.router.getLocation();S.id&&S.dialog==="customs"&&(l=[S.id],this.pauseSubscribe(!0))}let d;Array.isArray(r.selected)?d=r.selected:d=[r.selected||""],d=d.map(S=>S.replace(/["']/g,"")).filter(S=>S),this.selectFirst=d.length&&d[0]?d[0]:this.selectFirst;const h=this.localStorage.getItem(`${r.dialogName||"App"}.columns`);let u;try{u=h?JSON.parse(h):null}catch{u=null}let f=null;try{f=f?JSON.parse(f):{}}catch{f={}}this.imagePrefix=r.imagePrefix||".";let g;const y=this.localStorage.getItem(`${r.dialogName||"App"}.foldersFirst`);y==="false"?g=!1:y==="true"?g=!0:g=r.foldersFirst===void 0?!0:r.foldersFirst;let b=!1;try{b=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${r.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={loaded:!1,foldersFirst:g,selected:d,selectedNonObject:this.localStorage.getItem(`${r.dialogName||"App"}.selectedNonObject`)||"",filter:i,filterKey:0,focused:this.localStorage.getItem(`${r.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:o,toast:"",scrollBarWidth:16,customDialog:l,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:b,columns:u,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${r.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:f,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${r.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${r.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:""},this.texts={name:r.t("ra_Name"),categories:r.t("ra_Categories"),value:r.t("ra_tooltip_value"),ack:r.t("ra_tooltip_ack"),ts:r.t("ra_tooltip_ts"),lc:r.t("ra_tooltip_lc"),from:r.t("ra_tooltip_from"),user:r.t("ra_tooltip_user"),c:r.t("ra_tooltip_comment"),quality:r.t("ra_tooltip_quality"),editObject:r.t("ra_tooltip_editObject"),deleteObject:r.t("ra_tooltip_deleteObject"),customConfig:r.t("ra_tooltip_customConfig"),copyState:r.t("ra_tooltip_copyState"),editState:r.t("ra_tooltip_editState"),close:r.t("ra_Close"),filter_id:r.t("ra_filter_id"),filter_name:r.t("ra_filter_name"),filter_type:r.t("ra_filter_type"),filter_role:r.t("ra_filter_role"),filter_room:r.t("ra_filter_room"),filter_func:r.t("ra_filter_func"),filter_custom:r.t("ra_filter_customs"),filterCustomsWithout:r.t("ra_filter_customs_without"),objectChangedByUser:r.t("ra_object_changed_by_user"),objectChangedBy:r.t("ra_object_changed_by"),objectChangedFrom:r.t("ra_state_changed_from"),stateChangedBy:r.t("ra_state_changed_by"),stateChangedFrom:r.t("ra_state_changed_from"),ownerGroup:r.t("ra_Owner group"),ownerUser:r.t("ra_Owner user"),deviceError:r.t("ra_Error"),deviceDisconnected:r.t("ra_Disconnected"),deviceConnected:r.t("ra_Connected"),aclOwner_read_object:r.t("ra_aclOwner_read_object"),aclOwner_read_state:r.t("ra_aclOwner_read_state"),aclOwner_write_object:r.t("ra_aclOwner_write_object"),aclOwner_write_state:r.t("ra_aclOwner_write_state"),aclGroup_read_object:r.t("ra_aclGroup_read_object"),aclGroup_read_state:r.t("ra_aclGroup_read_state"),aclGroup_write_object:r.t("ra_aclGroup_write_object"),aclGroup_write_state:r.t("ra_aclGroup_write_state"),aclEveryone_read_object:r.t("ra_aclEveryone_read_object"),aclEveryone_read_state:r.t("ra_aclEveryone_read_state"),aclEveryone_write_object:r.t("ra_aclEveryone_write_object"),aclEveryone_write_state:r.t("ra_aclEveryone_write_state"),create:r.t("ra_Create"),createBooleanState:r.t("ra_create_boolean_state"),createNumberState:r.t("ra_create_number_state"),createStringState:r.t("ra_create_string_state"),createState:r.t("ra_create_state"),createChannel:r.t("ra_create_channel"),createDevice:r.t("ra_create_device"),createFolder:r.t("ra_Create folder")},this.levelPadding=r.levelPadding||l_t;const x=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(x)try{const S=JSON.parse(x),T=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(Vr[T])),Object.keys(S).forEach(E=>{E==="id"?Vr[T].idWidth=S.id:E==="nameHeader"?Vr[T].widths.name=S[E]:Vr[T].widths[E]!==void 0&&(Vr[T].widths[E]=S[E])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(r){const n=this.props;try{await new Promise(d=>{this.setState({updating:!0},()=>d())});const o=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(r):await n.socket.getObjects(r,!0))||{};if(n.types&&Oi.isWeb())for(let d=0;d{try{if(d(o[h]))this.objects[h]=o[h];else{const u=o[h]&&o[h].type;u&&(u==="channel"||u==="device"||u==="folder"||u==="adapter"||u==="instance")&&(this.objects[h]=o[h])}}catch(u){console.log(`Error by filtering of "${h}": ${u}`)}})}else if(n.types){this.objects={};const d=n.types;Object.keys(o).forEach(h=>{const u=o[h]&&o[h].type;u&&(u==="channel"||u==="device"||u==="enum"||u==="folder"||u==="adapter"||u==="instance"||d.includes(u))&&(this.objects[h]=o[h])})}else this.objects=o;n.setObjectsReference&&n.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&n.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(d=>{(!d||!d.val)&&(this.defaultHistory="")}).catch(d=>window.alert(`Cannot get state: ${d}`));const a=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,a);const{info:i,root:s}=_z(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=s,this.info=i;const l=this.state.selected&&this.state.selected.length&&kV(this.root,this.state.selected[0]);this.lastAppliedFilter=null,l&&!T2(l,this.state.filter,this.props.lang,this.objects,void 0,void 0,n.customFilter,n.types)?this.setState({filter:{...Rg},columnsForAdmin:a},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:a},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(o){this.showError(o)}}static isNonExpertId(r){return!!dP(va,iy).find(n=>r.startsWith(n))}expandAllSelected(r){const n=[...this.state.expanded];let o=!1;this.state.selected.forEach(a=>{const i=a.split("."),s=[];for(let l=0;l{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,r)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,r)):this.props.onSelect([],""))}static getDerivedStateFromProps(r,n){const o={};let a=!1;return r.expertMode!==void 0&&r.expertMode!==n.filter.expertMode&&(a=!0,o.filter={...n.filter},o.filter.expertMode=r.expertMode),a?o:null}async componentDidMount(){await this.loadAllObjects(!wz),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),wz=!0,window.addEventListener("contextmenu",this.onContextMenu,!0)}componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(r=>console.error(`Cannot unsubscribe *: ${r}`)),this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(r){var d,h;const{id:n,obj:o,item:a}=r,i=Object.keys(this.objects);i.sort();let s=0;const l=`${n}.`;for(let u=0;ul)break;this.props.onObjectDelete&&this.props.onObjectDelete(n,!!((d=a.children)!=null&&d.length),!((h=o.common)!=null&&h.dontDelete),s+1)}refreshComponent(){this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(r=>this.showError(r))}renderErrorDialog(){return this.state.error?m.createElement(or,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},m.createElement(_r,{id:"alert-dialog-title"},this.props.t("ra_Error")),m.createElement(Wr,null,m.createElement(Ds,{id:"alert-dialog-description"},this.state.error)),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:m.createElement(Ea,null)},this.props.t("ra_Ok")))):null}showError(r){this.setState({error:typeof r=="object"?r&&typeof r.toString=="function"?r.toString():JSON.stringify(r):r})}onSelect(r,n,o){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,r),!this.props.multiSelect)this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==r?this.setState({selected:[r],selectedNonObject:"",focused:r},()=>{this.onAfterSelect(n),o&&o()}):n&&this.props.onSelect&&this.onAfterSelect(n)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,r),this.setState({selected:[],selectedNonObject:r,focused:r},()=>{this.onAfterSelect(),o&&o()}));else if(this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const a=[...this.state.selected],i=a.indexOf(r);i===-1?(a.push(r),a.sort()):n||a.splice(i,1),this.setState({selected:a,selectedNonObject:"",focused:r},()=>{this.onAfterSelect(n),o&&o()})}}_renderDefinedList(r){const n=[...this.possibleCols];if(n.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const o=n.indexOf("buttons");o!==-1&&n.splice(o,1)}return n.filter(o=>r&&(o==="val"||o==="buttons")||!r&&o!=="val"&&o!=="buttons").map(o=>{var a;return m.createElement(Ev,{onClick:()=>{if(!this.state.columnsAuto&&o!=="id"){const i=[...this.state.columns||[]],s=i.indexOf(o);s===-1?(i.push(o),i.sort()):i.splice(s,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(i)),this.calculateColumnsVisibility(null,i),this.setState({columns:i})}},key:o},m.createElement(yr,{edge:"start",disabled:o==="id"||this.state.columnsAuto,checked:o==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(o):(a=this.state.columns)!=null&&a.includes(o)),disableRipple:!0}),m.createElement(_o,{primary:this.texts[`filter_${o}`]||this.props.t(`ra_${o}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?m.createElement(or,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":ue.getStyle(this.props.theme,Q.dialogColumns,Q[`transparent_${this.state.columnsDialogTransparent}`])}},m.createElement(_r,{sx:Q.fontSizeTitle},this.props.t("ra_Configure")),m.createElement(Wr,{sx:Q.fontSizeTitle},m.createElement(St,{style:Q.switchColumnAuto,control:m.createElement(ih,{checked:this.state.foldersFirst,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.foldersFirst`,this.state.foldersFirst?"false":"true"),this.setState({foldersFirst:!this.state.foldersFirst})}}),label:this.props.t("ra_Folders always first")}),m.createElement(St,{style:Q.switchColumnAuto,control:m.createElement(ih,{checked:this.state.linesEnabled,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.lines`,this.state.linesEnabled?"false":"true"),this.setState({linesEnabled:!this.state.linesEnabled})}}),label:this.props.t("ra_Show lines between rows")}),m.createElement(St,{style:Q.switchColumnAuto,control:m.createElement(ih,{checked:this.state.columnsAuto,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.columnsAuto`,this.state.columnsAuto?"false":"true"),this.state.columnsAuto?this.state.columns?(this.calculateColumnsVisibility(!1),this.setState({columnsAuto:!1})):(this.calculateColumnsVisibility(!1,[...this.visibleCols]),this.setState({columnsAuto:!1,columns:[...this.visibleCols]})):(this.calculateColumnsVisibility(!0),this.setState({columnsAuto:!0}))}}),label:this.props.t("ra_Auto (no custom columns)")}),m.createElement(vu,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(r=>this.state.columnsForAdmin&&this.state.columnsForAdmin[r].map(n=>{var o;return m.createElement(Ev,{onClick:()=>{if(!this.state.columnsAuto){const a=[...this.state.columns||[]],i=`_${r}_${n.path}`,s=a.indexOf(i);s===-1?(a.push(i),a.sort()):a.splice(s,1),this.calculateColumnsVisibility(null,a),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(a)),this.setState({columns:a})}},key:`${r}_${n.name}`},m.createElement(ba,null,m.createElement(yr,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((o=this.state.columns)==null?void 0:o.includes(`_${r}_${n.path}`)),disableRipple:!0})),m.createElement(_o,{primary:`${n.name} (${r})`}))})),this._renderDefinedList(!0))),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:m.createElement(Ar,null)},this.texts.close))):null}async getAdditionalColumns(){try{const r=await this.props.socket.getAdapters();let n=null;return r.forEach(o=>n=this.parseObjectForAdmins(n,o)),n}catch(r){return console.error(`Cannot get adapters: ${r}`),null}}checkUnsubscribes(){for(let r=this.subscribes.length-1;r>=0;r--)this.recordStates.includes(this.subscribes[r])||this.unsubscribe(this.subscribes[r]);this.recordStates=[]}findItem(r,n,o,a){if(n=n||r.split("."),o=o||this.root,!o||!n.length)return null;if(a=(a?`${a}.`:"")+n.shift(),o.children){const i=o.children.find(s=>s.data.id===a);if(i){if(i.data.id===r)return i;if(n.length)return this.findItem(r,n,i,a)}else return null}return null}parseObjectForAdmins(r,n){if(n.common&&n.common.adminColumns&&n.common.name){const o=n.common.adminColumns;let a;o&&typeof o!="object"?a=[o]:o&&(a=o);let i;o?i=a.map(s=>{if(typeof s!="object")return{path:s,name:s.split(".").pop()};const l=s;return l.objTypes&&typeof l.objTypes!="object"?l.objTypes=[l.objTypes]:l.objTypes||(l.objTypes=void 0),!l.name&&l.path?{path:l.path,name:l.path.split(".").pop(),width:l.width,edit:!!l.edit,type:l.type,objTypes:l.objTypes}:l.path?{path:l.path,name:xo(l.name||"",this.props.lang),width:l.width,edit:!!l.edit,type:l.type,objTypes:l.objTypes}:(console.warn(`Admin columns for ${n._id} ignored, because path not found`),null)}).filter(s=>s):i=null,i&&i.length&&(r=r||{},r[n.common.name]=i.sort((s,l)=>s.path>l.path?-1:s.path{this.objectsUpdateTimer=null;const{info:r,root:n}=_z(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=n,this.info=r,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(r){var o,a,i;if(!this.objects||!((o=this.info)!=null&&o.aliasesMap)||!(r!=null&&r.startsWith("alias.")))return;const n=Object.keys(this.objects).filter(s=>s.startsWith("alias.0"));this.info.aliasesMap={};for(const s of n){const l=this.objects[s];if((i=(a=l==null?void 0:l.common)==null?void 0:a.alias)!=null&&i.id)if(typeof l.common.alias.id=="string"){const d=l.common.alias.id;this.info.aliasesMap[d]?this.info.aliasesMap[d].includes(s)||this.info.aliasesMap[d].push(s):this.info.aliasesMap[d]=[s]}else{const d=l.common.alias.id.read;d&&(this.info.aliasesMap[d]?this.info.aliasesMap[d].includes(s)||this.info.aliasesMap[d].push(s):this.info.aliasesMap[d]=[s]);const h=l.common.alias.id.write;h&&(this.info.aliasesMap[h]?this.info.aliasesMap[h].includes(s)||this.info.aliasesMap[h].push(s):this.info.aliasesMap[h]=[s])}}}processOnObjectChangeElement(r,n){console.log(`> objectChange ${r}`);const o=n==null?void 0:n.type;if(n&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(n)&&o!=="channel"&&o!=="device"&&o!=="folder"&&o!=="adapter"&&o!=="instance")return{newInnerState:null,filtered:!0};let a=null;if(r.startsWith("system.adapter.")&&(n==null?void 0:n.type)==="adapter"){const i=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(i,n),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(i)&&(a={columnsForAdmin:i})}return this.objects=this.objects||{},n?this.objects[r]=n:this.objects[r]&&delete this.objects[r],this.updateAliases(r),{newInnerState:a,filtered:!1}}subscribe(r){this.subscribes.includes(r)||(this.subscribes.push(r),console.log(`+ subscribe ${r}`),this.pausedSubscribes||this.props.socket.subscribeState(r,this.onStateChange).catch(n=>console.error(`Cannot subscribe on state ${r}: ${n}`)))}unsubscribe(r){const n=this.subscribes.indexOf(r);n!==-1&&(this.subscribes.splice(n,1),this.states[r]&&delete this.states[r],console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(r){!this.pausedSubscribes&&r?(this.pausedSubscribes=!0,this.subscribes.forEach(n=>this.props.socket.unsubscribeState(n,this.onStateChange))):this.pausedSubscribes&&!r&&(this.pausedSubscribes=!1,this.subscribes.forEach(n=>this.props.socket.subscribeState(n,this.onStateChange)))}onFilter(r,n){this.filterTimer=null;const o={...this.state.filter};Object.keys(this.filterRefs).forEach(a=>{if(this.filterRefs[a]&&this.filterRefs[a].current){const i=this.filterRefs[a].current;for(let s=0;sthis.props.onFilterChanged&&this.props.onFilterChanged(o)))}clearFilter(){const r={...this.state.filter};Object.keys(this.filterRefs).forEach(n=>{if(this.filterRefs[n]&&this.filterRefs[n].current){const o=this.filterRefs[n].current;for(let a=0;athis.props.onFilterChanged&&this.props.onFilterChanged(r)))}isFilterEmpty(){return!Object.keys(this.state.filter).find(n=>n!=="expertMode"&&this.state.filter[n])}getFilterInput(r){var n,o,a;return m.createElement(_a,{sx:this.styles.filterInput,key:`${r}_${this.state.filterKey}`,margin:"dense"},m.createElement(ya,{ref:this.filterRefs[r],classes:{underline:"no-underline"},id:r,placeholder:this.texts[`filter_${r}`],defaultValue:this.state.filter[r]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(a=(o=(n=this.filterRefs[r])==null?void 0:n.current)==null?void 0:o.firstChild)!=null&&a.value?m.createElement("div",{style:{position:"absolute",right:0}},m.createElement(Ie,{size:"small",onClick:()=>{var i;((i=this.filterRefs[r].current)==null?void 0:i.firstChild).value="",this.onFilter(r,"")}},m.createElement(Ar,null))):null)}getFilterSelect(r,n){var a,i,s;const o=!!(n!=null&&n.find(l=>l.icon));return m.createElement("div",{style:{position:"relative"}},m.createElement(Bn,{variant:"standard",key:`${r}_${this.state.filterKey}`,ref:this.filterRefs[r],sx:Q.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[r]||"",inputProps:{name:r,id:r},displayEmpty:!0},m.createElement(Jt,{key:"empty",value:""},m.createElement("span",{style:Q.selectNone},this.texts[`filter_${r}`])),n==null?void 0:n.map(l=>{let d,h,u;return typeof l=="object"?(d=l.value,h=l.name,u=l.icon):(d=l,h=l),m.createElement(Jt,{sx:Q.headerCellSelectItem,key:d,value:d},u||(o?m.createElement("div",{className:"itemIcon"}):null),h)})),(s=(i=(a=this.filterRefs[r])==null?void 0:a.current)==null?void 0:i.childNodes[1])!=null&&s.value?m.createElement(Re,{component:"div",sx:Q.selectClearButton},m.createElement(Ie,{size:"small",onClick:()=>{var d;const l={...this.state.filter};l[r]="",((d=this.filterRefs[r].current)==null?void 0:d.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(l)),this.setState({filter:l,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(l))}},m.createElement(Ar,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles)}getFilterSelectRoom(){const r=this.info.roomEnums.map(n=>{var o,a,i,s;return{name:xo((a=(o=this.objects[n])==null?void 0:o.common)==null?void 0:a.name,this.props.lang)||n.split(".").pop(),value:n,icon:m.createElement(xl,{src:((s=(i=this.objects[n])==null?void 0:i.common)==null?void 0:s.icon)||"",style:Q.selectIcon})}});return this.getFilterSelect("room",r)}getFilterSelectFunction(){const r=this.info.funcEnums.map(n=>{var o,a,i,s;return{name:xo((a=(o=this.objects[n])==null?void 0:o.common)==null?void 0:a.name,this.props.lang)||n.split(".").pop(),value:n,icon:m.createElement(xl,{src:((s=(i=this.objects[n])==null?void 0:i.common)==null?void 0:s.icon)||"",style:Q.selectIcon})}});return this.getFilterSelect("func",r)}getFilterSelectType(){const r=this.info.types.map(n=>({name:n,value:n,icon:bz[n]||null}));return this.getFilterSelect("type",r)}getFilterSelectCustoms(){if(this.info.customs.length>1){const r=this.info.customs.map(n=>({name:n==="_"?this.texts.filterCustomsWithout:n,value:n,icon:n==="_"?null:m.createElement(xl,{src:Gv(this.objects,n,this.props.lang,this.imagePrefix)||"",style:Q.selectIcon})}));return this.getFilterSelect("custom",r)}return null}onExpandAll(r,n){var a;const o=r||this.root;n=n||[],(a=o==null?void 0:o.children)==null||a.forEach(i=>{i.data.sumVisibility&&(n.push(i.data.id),this.onExpandAll(i,n))}),o===this.root&&(n.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({expanded:n}))}onCollapseAll(){this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify([])),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,"[]"),this.setState({expanded:[],depth:0,selected:[]},()=>this.onAfterSelect())}expandDepth(r,n,o){var a;r=r||this.root,n>0&&((a=r.children)==null||a.forEach(i=>{i.data.sumVisibility&&(uf(o,i.data.id)||(o.push(i.data.id),o.sort()),n-1>0&&this.expandDepth(i,n-1,o))}))}static collapseDepth(r,n){return n.filter(o=>o.split(".").length<=r)}onExpandVisible(){if(this.state.depth<9){const r=this.state.depth+1,n=[...this.state.expanded];this.root&&this.expandDepth(this.root,r,n),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({depth:r,expanded:n})}}onStatesViewVisible(){const r=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(r)),this.setState({statesView:r})}onCollapseVisible(){if(this.state.depth>0){const r=this.state.depth-1,n=va.collapseDepth(r,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({depth:r,expanded:n})}}async loadObjects(r){if(r)for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n)||!r[n])continue;const o=r[n];let a=null,i,s;o&&o.common&&o.common.enums?(a=o.common.enums,delete o.common.enums):a=null,(o.val||o.val===0)&&(i=o.val,delete o.val),o.ack!==void 0&&(s=o.ack,delete o.ack);try{if(await this.props.socket.setObject(n,o),a&&await this._createAllEnums(a,o._id),o.type==="state")if(i!=null)try{await this.props.socket.setState(o._id,i,s!==void 0?s:!0)}catch(l){window.alert(`Cannot set state "${o._id} with ${i}": ${l}`)}else try{const l=await this.props.socket.getState(o._id);if(!l||l.val===null)try{await this.props.socket.setState(o._id,!o.common||o.common.def===void 0?null:o.common.def,!0)}catch(d){window.alert(`Cannot set state "${o._id}": ${d}`)}}catch(l){window.alert(`Cannot read state "${o._id}": ${l}`)}}catch(l){window.alert(l)}}}_getSelectedIdsForExport(){if(this.state.selected.length||this.state.selectedNonObject){const r=[],n=Object.keys(this.objects);n.sort();const o=this.state.selected[0]||this.state.selectedNonObject,a=`${o}.`,i=a.length;for(let s=0;sa)break}return r}return[]}async _exportObjects(r){var i;if(r.isAll){vz("allObjects.json",this.objects,r);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const n={},o=this.state.selected[0]||this.state.selectedNonObject,a=this._getSelectedIdsForExport();for(const s of a){if(n[s]=JSON.parse(JSON.stringify(this.objects[s])),((i=n[s])==null?void 0:i.type)==="state"&&!r.noStatesByExportImport){const l=await this.props.socket.getState(s);l&&(n[s].val=l.val,n[s].ack=l.ack)}if(n[s].common){const l=this.getEnumsForId(s);l&&(n[s].common.enums=l)}}vz(`${o}.json`,n,r)}renderExportDialog(){return this.state.showExportDialog===!1?null:m.createElement(or,{open:!0,maxWidth:"lg"},m.createElement(_r,null,this.props.t("ra_Select type of export")),m.createElement(Wr,null,m.createElement(Ds,null,this.state.filter.expertMode||this.state.showAllExportOptions?m.createElement(m.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),m.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),m.createElement("br",null),m.createElement(St,{control:m.createElement(yr,{checked:this.state.noStatesByExportImport,onChange:r=>this.setState({noStatesByExportImport:r.target.checked})}),label:this.props.t("ra_Do not export values of states")}),m.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),m.createElement(St,{control:m.createElement(yr,{checked:this.state.beautifyJsonExport,onChange:r=>this.setState({beautifyJsonExport:r.target.checked})}),label:this.props.t("Beautify JSON output")}),m.createElement("br",null),m.createElement(St,{control:m.createElement(yr,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:r=>this.setState({excludeSystemRepositoriesFromExport:r.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),m.createElement(St,{control:m.createElement(yr,{checked:this.state.excludeTranslations,onChange:r=>this.setState({excludeTranslations:r.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),m.createElement(pr,null,this.state.filter.expertMode||this.state.showAllExportOptions?m.createElement(tt,{color:"grey",variant:"outlined",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!0,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},m.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):m.createElement(tt,{color:"grey",variant:"outlined",startIcon:m.createElement(w2,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),m.createElement(tt,{color:"primary",variant:"contained",autoFocus:!0,onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!1,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},m.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:m.createElement(Ar,null)},this.props.t("ra_Cancel"))))}handleJsonUpload(r){var a;const n=r.target,o=((a=n.files)==null?void 0:a.length)&&n.files[0];if(o){const i=new FileReader;i.onload=async s=>{var d;const l=(d=s.target)==null?void 0:d.result;try{const h=JSON.parse(l),u=Object.keys(h).length,f=h._id;if(f===void 0&&u)await this.loadObjects(h),window.alert(this.props.t("ra_%s object(s) processed",u));else{if(!f)return window.alert(this.props.t("ra_Invalid structure"));try{let g,y,b;if(h.common.enums&&(g=h.common.enums,delete h.common.enums),h.val&&(y=h.val,delete h.val),h.ack!==void 0&&(b=h.ack,delete h.ack),await this.props.socket.setObject(h._id,h),h.type==="state")if(y!=null)await this.props.socket.setState(h._id,y,b===void 0?!0:b);else{const x=await this.props.socket.getState(h._id);(!x||x.val===null||x.val===void 0)&&await this.props.socket.setState(h._id,h.common.def===void 0?null:h.common.def,!0)}g&&await this._createAllEnums(g,h._id),window.alert(this.props.t("ra_%s was imported",h._id))}catch(g){window.alert(g)}}}catch(h){window.alert(h)}return null},i.readAsText(o)}else window.alert(this.props.t("ra_Failed to open JSON File"))}getToolbar(){let r=!1;if(this.state.selected.length||this.state.selectedNonObject){const n=this.state.selected[0]||this.state.selectedNonObject;n.split(".").length<2||this.objects[n]&&this.objects[n].type==="state"?r=!1:(this.state.filter.expertMode||n.startsWith("alias.0")||n.startsWith("0_userdata"))&&(r=!0)}return m.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},m.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},m.createElement(Zr,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement("div",null,m.createElement(Ie,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},m.createElement(MO,null)))),this.props.showExpertButton&&!this.props.expertMode&&m.createElement(Zr,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},m.createElement(w2,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&m.createElement(Zr,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},m.createElement(Wve,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&m.createElement(Zr,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},m.createElement(nv,null))),m.createElement(Zr,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},m.createElement(ru,null))),this.props.width!=="xs"&&m.createElement(Zr,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},m.createElement(vR,{badgeContent:this.state.depth,color:"secondary",sx:n=>({badge:{right:3,top:3,border:`2px solid ${n.palette.background.paper}`,padding:"0 4px"}})},m.createElement(nv,null)))),this.props.width!=="xs"&&m.createElement(Zr,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},m.createElement(vR,{sx:n=>({badge:{right:3,top:3,border:`2px solid ${n.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},m.createElement(ru,null)))),this.props.objectStatesView&&m.createElement(Zr,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>this.onStatesViewVisible(),size:"large"},m.createElement(Dve,{color:this.state.statesView?"primary":"inherit"}))),m.createElement(Zr,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},m.createElement(Lve,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?m.createElement(Zr,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:Q.tooltip}}},m.createElement("div",null,m.createElement(Ie,{disabled:!r,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},m.createElement(Nv,null)))):null,this.props.objectImportExport&&m.createElement(Zr,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>{const n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("id","files"),n.setAttribute("opacity","0"),n.addEventListener("change",o=>this.handleJsonUpload(o),!1),n.click()},size:"large"},m.createElement(Rv,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&m.createElement(Zr,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},m.createElement(Rv,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&m.createElement("div",{style:{display:"flex",whiteSpace:"nowrap"}},`${this.props.t("ra_Objects")}: ${Object.keys(this.info.objects).length}, ${this.props.t("ra_States")}: ${Object.keys(this.info.objects).filter(n=>this.info.objects[n].type==="state").length}`),this.props.objectEditBoolean&&m.createElement(Zr,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>{var o;const n=this.root?CV(this.root,"state",this.objects):[];n.length?(this.pauseSubscribe(!0),n.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(o=this.props.router)==null||o.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:n,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},m.createElement(fve,null))))}toggleExpanded(r){const n=JSON.parse(JSON.stringify(this.state.expanded)),o=n.indexOf(r);o===-1?(n.push(r),n.sort()):n.splice(o,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({expanded:n})}onCopy(r,n){r.stopPropagation(),r.preventDefault(),n&&(ue.copyToClipboard(n),n.length<50?this.setState({toast:this.props.t("ra_Copied %s",n)}):this.setState({toast:this.props.t("ra_Copied")}))}renderColumnButtons(r,n){var s,l,d;if(!n.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?m.createElement("div",{style:Q.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?m.createElement(Ie,{sx:{...Q.cellButtonsButton,...Q.cellButtonsEmptyButton,...Q.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:n.data}),size:"large"},m.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&n.children&&n.children.length?m.createElement(Ie,{sx:{...Q.cellButtonsButton,...Q.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var g;const h=Object.keys(this.objects);h.sort();let u=0;const f=`${r}.`;for(let y=0;yf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((g=n.children)!=null&&g.length),!1,u+1)}},m.createElement(Ta,{style:Q.cellButtonsButtonIcon})):null):null;n.data.aclTooltip=n.data.aclTooltip||this.renderTooltipAccessControl(n.data.obj.acl);const o=n.data.obj.acl?n.data.obj.type==="state"?n.data.obj.acl.state:n.data.obj.acl.object:0,a=n.data.obj.acl&&(n.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),i=this.state.filter.expertMode||va.isNonExpertId(n.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?m.createElement(Zr,{key:"acl",title:n.data.aclTooltip,slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{sx:{...Q.cellButtonsButton,...Q.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:n.data}),size:"large"},m.createElement("div",{style:Q.aclText},Number.isNaN(Number(o))?Number(a).toString(16):Number(o).toString(16)))):m.createElement("div",{key:"aclEmpty",style:Q.cellButtonMinWidth}),i?m.createElement(Ie,{key:"edit",sx:{marginRight:"2px",...Q.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.setState({editObjectDialog:r,editObjectAlias:!1})}},m.createElement(rv,{style:Q.cellButtonsButtonIcon})):m.createElement(Re,{component:"div",key:"editDisabled",sx:Q.cellButtonsButton}),this.props.onObjectDelete&&((s=n.children)!=null&&s.length||!((l=n.data.obj.common)!=null&&l.dontDelete))?m.createElement(Ie,{key:"delete",sx:Q.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var g,y,b;const h=Object.keys(this.objects);h.sort();let u=0;const f=`${r}.`;for(let x=0;xf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((g=n.children)!=null&&g.length),!((b=(y=n.data.obj)==null?void 0:y.common)!=null&&b.dontDelete),u)},title:this.texts.deleteObject},m.createElement(Ta,{style:Q.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&n.data.obj.type==="state"&&((d=n.data.obj.common)==null?void 0:d.type)!=="file"?m.createElement(Ie,{sx:{...Q.cellButtonsButton,...n.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:Q.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var h;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.pauseSubscribe(!0),(h=this.props.router)==null||h.doNavigate(null,"customs",r),this.setState({customDialog:[r],customDialogAll:!1})}},m.createElement(l2,{style:Q.cellButtonsButtonIcon})):null]}readHistory(r){var n,o;if(window.sparkline&&this.defaultHistory&&((o=(n=this.objects[r])==null?void 0:n.common)!=null&&o.custom)&&this.objects[r].common.custom[this.defaultHistory]){const a=new Date;a.setHours(a.getHours()-24),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0);const i=a.getTime();this.props.socket.getHistory(r,{instance:this.defaultHistory,start:i,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(s=>{const l=window.document.getElementsByClassName("sparkline");for(let d=0;dconsole.warn(`Cannot read history: ${s}`))}}getTooltipInfo(r,n){var d,h;const o=this.objects[r],a=this.states[r],{valFull:i,fileViewer:s}=CS({state:a,obj:o,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,full:!0}),l=[];i==null||i.forEach(u=>{u.t===this.texts.quality&&a.q?(l.push(m.createElement("div",{style:Q.cellValueTooltipBoth,key:u.t},u.t,": ",u.v)),u.nbr||l.push(m.createElement("br",{key:`${u.t}_br`}))):(l.push(m.createElement("div",{style:Q.cellValueTooltipTitle,key:u.t},u.t,": ")),l.push(m.createElement("div",{style:Q.cellValueTooltipValue,key:`${u.t}_v`},u.v)),u.nbr||l.push(m.createElement("br",{key:`${u.t}_br`})))}),s==="image"?l.push(m.createElement("img",{style:Q.cellValueTooltipImage,src:a.val,alt:r})):this.defaultHistory&&((h=(d=this.objects[r])==null?void 0:d.common)!=null&&h.custom)&&this.objects[r].common.custom[this.defaultHistory]&&l.push(m.createElement("svg",{key:"sparkline",className:"sparkline","data-id":r,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:l,id:r}},()=>n&&n())}renderColumnValue(r,n,o){var d,h;const a=n.data.obj;if(!a||!this.states)return null;if(((d=a.common)==null?void 0:d.type)==="file")return m.createElement(Re,{component:"div",sx:{...Q.cellValueText,...Q.cellValueFile}},"[file]");if(!this.states[r])return a.type==="state"&&(this.recordStates.includes(r)||this.recordStates.push(r),this.states[r]={val:null},this.subscribe(r)),null;this.recordStates.includes(r)||this.recordStates.push(r);const i=this.states[r];let s=n.data.state;if(!s){const{valText:u}=CS({state:i,obj:a,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),f=[];n.data.state={valTextRx:f};const g=u.v||"";f.push(m.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},u.v.toString())),u.u&&f.push(m.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:Q.cellValueTextUnit,key:`${u.v.toString()}unit`},u.u)),u.s!==void 0&&f.push(m.createElement("span",{style:Q.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}states`},"(",u.s,")")),o||f.push(m.createElement(Di,{className:"copyButton",style:this.styles.iconCopy,onClick:y=>this.onCopy(y,g),key:"cc"})),s=n.data.state}s.style=f_t({state:i,isExpertMode:this.state.filter.expertMode,isButton:n.data.button});let l=s.valTextRx;return this.state.filter.expertMode||(n.data.button?l=[m.createElement(d_t,{key:"button",style:{color:s.style.color,...Q.cellValueButton}})]:n.data.switch&&(l=[m.createElement(ih,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:s.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[r].val&&this.state.selected.includes(r)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[r].val})])),m.createElement(Zr,{key:"value",title:(h=this.state.tooltipInfo)==null?void 0:h.el,slotProps:{popper:{sx:Q.cellValueTooltipBox},tooltip:{sx:Q.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(r,()=>this.readHistory(r)),onClose:()=>{var u;return((u=this.state.tooltipInfo)==null?void 0:u.id)===r&&this.setState({tooltipInfo:null})}},m.createElement(Re,{component:"div",style:s.style,sx:{...Q.cellValueText,height:o?void 0:Rn,"& .admin-button:active":{transform:"translate(0, 2px)"}}},l))}_syncEnum(r,n,o,a){var l,d,h;if(!n||!n.length){a&&a();return}const i=n.pop()||"",s=[];if((l=this.info.objects[i])!=null&&l.common){if((d=this.info.objects[i].common.members)!=null&&d.length){const u=this.info.objects[i].common.members.indexOf(r);if(u!==-1&&!o.includes(i)){const f=JSON.parse(JSON.stringify(this.info.objects[i]));f.common.members.splice(u,1),s.push(this.props.socket.setObject(i,f).then(()=>this.info.objects[i]=f).catch(g=>this.showError(g)))}}if(o.includes(i)&&!((h=this.info.objects[i].common.members)!=null&&h.includes(r))){const u=JSON.parse(JSON.stringify(this.info.objects[i]));u.common.members=u.common.members||[],u.common.members.push(r),u.common.members.sort(),s.push(this.props.socket.setObject(i,u).then(()=>this.info.objects[i]=u).catch(f=>this.showError(f)))}}Promise.all(s).then(()=>{setTimeout(()=>this._syncEnum(r,n,o,a),0)})}syncEnum(r,n,o){const a=[...this.info[n==="func"?"funcEnums":"roomEnums"]];return new Promise(i=>{this._syncEnum(r,a,o,()=>{i()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const r=this.state.enumDialog.type,n=this.state.enumDialog.item,o=this.state.enumDialogEnums,a=this.state.enumDialog.enumsOriginal,i=(r==="room"?this.info.roomEnums:this.info.funcEnums).map(s=>{var l,d;return{name:xo(((d=(l=this.objects[s])==null?void 0:l.common)==null?void 0:d.name)||s.split(".").pop()||"",this.props.lang),value:s,icon:Gv(this.objects,s,this.props.lang,this.imagePrefix)}}).sort((s,l)=>s.name>l.name?1:-1);return i.forEach(s=>{s.icon&&typeof s.icon=="string"&&(s.icon=m.createElement(Re,{style:Q.enumIconDiv},m.createElement("img",{src:s.icon,style:Q.enumIcon,alt:s.name})))}),m.createElement(or,{sx:{"& .MuiPaper-root":Q.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},m.createElement(_r,{id:"enum-dialog-title"},r==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),m.createElement(ro,{sx:Q.enumButton,color:"primary",disabled:a===JSON.stringify(o),size:"small",onClick:()=>this.syncEnum(n.data.id,r,o).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},m.createElement(Ea,null))),m.createElement(vu,{sx:{"&.MuiList-root":Q.enumList}},i.map(s=>{let l,d,h;typeof s=="object"?(l=s.value,d=s.name,h=s.icon):(l=s,d=s);const u=`checkbox-list-label-${l}`;return m.createElement(of,{sx:Q.headerCellSelectItem,key:l,onClick:()=>{const f=o.indexOf(l),g=JSON.parse(JSON.stringify(this.state.enumDialogEnums));f===-1?(g.push(l),g.sort()):g.splice(f,1),this.setState({enumDialogEnums:g})},secondaryAction:h},m.createElement(ba,{sx:{"&.MuiListItemIcon-root":Q.enumCheckbox}},m.createElement(yr,{edge:"start",checked:o.includes(l),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":u}})),m.createElement(_o,{id:u},d))})))}renderEditRoleDialog(){if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const r=this.props.objectBrowserEditRole;return m.createElement(r,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roles:this.info.roles,onClose:n=>{n&&(this.info.objects[this.state.roleDialog]=n),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(r){var o,a;const n=this.customColumnDialog;if(r){let i=n.value;n.type==="boolean"?i=i==="true"||i===!0:n.type==="number"&&(i=parseFloat(i)),this.customColumnDialog=null,this.props.socket.getObject(((a=(o=this.state.columnsEditCustomDialog)==null?void 0:o.obj)==null?void 0:a._id)||"").then(s=>{var l;if(s&&va.setCustomValue(s,(l=this.state.columnsEditCustomDialog)==null?void 0:l.it,i))return this.props.socket.setObject(s._id,s);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(s=>this.showError(s))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const r=va.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof r,initValue:(r??"").toString(),value:(r??"").toString()}}return m.createElement(or,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},m.createElement(_r,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),m.createElement(Wr,null,m.createElement(Ds,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?m.createElement(St,{control:m.createElement(yr,{onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:r=>{const n=this.customColumnDialog;n.value=r.target.checked.toString();const o=n.value!==n.initValue;o===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:o})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):m.createElement(Ht,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:r=>{const n=this.customColumnDialog;n.value=r.target.value;const o=n.value!==n.initValue;o===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:o})},autoFocus:!0}))),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:m.createElement(Ea,null)},this.props.t("ra_Update")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:m.createElement(Ar,null)},this.props.t("ra_Cancel"))))}static getCustomValue(r,n){var o;if((o=r==null?void 0:r._id)!=null&&o.startsWith(`${n.adapter}.`)&&n.path.length>1){const a=n.path;let i;const s=r;if(s[a[0]]&&typeof s[a[0]]=="object")return a.length===2?i=s[a[0]][a[1]]:a.length===3?i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"?s[a[0]][a[1]][a[2]]:null:a.length===4?i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"&&s[a[0]][a[1]][a[2]]?s[a[0]][a[1]][a[2]][a[3]]:null:a.length===5?i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"&&s[a[0]][a[1]][a[2]]&&s[a[0]][a[1]][a[2]][a[3]]?s[a[0]][a[1]][a[2]][a[3]][a[4]]:null:a.length===6&&(i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"&&s[a[0]][a[1]][a[2]]&&s[a[0]][a[1]][a[2]][a[3]]&&s[a[0]][a[1]][a[2]][a[3]][a[4]]?s[a[0]][a[1]][a[2]][a[3]][a[4]][a[5]]:null),i??null}return null}static setCustomValue(r,n,o){var a;if((a=r==null?void 0:r._id)!=null&&a.startsWith(`${n.adapter}.`)&&n.path.length>1){const i=n.path,s=r;if(s[i[0]]&&typeof s[i[0]]=="object"){if(i.length===2)return s[i[0]][i[1]]=o,!0;if(i.length===3){if(s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object")return s[i[0]][i[1]][i[2]]=o,!0}else if(i.length===4){if(s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object"&&s[i[0]][i[1]][i[2]]&&typeof s[i[0]][i[1]][i[2]]=="object")return s[i[0]][i[1]][i[2]][i[3]]=o,!0}else if(i.length===5){if(s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object"&&s[i[0]][i[1]][i[2]]&&typeof s[i[0]][i[1]][i[2]]=="object"&&s[i[0]][i[1]][i[2]][i[3]]&&typeof s[i[0]][i[1]][i[2]][i[3]]=="object")return s[i[0]][i[1]][i[2]][i[3]][i[4]]=o,!0}else if(i.length===6&&s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object"&&s[i[0]][i[1]][i[2]]&&typeof s[i[0]][i[1]][i[2]]=="object"&&s[i[0]][i[1]][i[2]][i[3]]&&typeof s[i[0]][i[1]][i[2]][i[3]]=="object"&&s[i[0]][i[1]][i[2]][i[3]][i[4]]&&typeof s[i[0]][i[1]][i[2]][i[3]][i[4]]=="object")return s[i[0]][i[1]][i[2]][i[3]][i[4]][i[5]]=o,!0}}return!1}renderCustomValue(r,n,o){const a=va.getCustomValue(r,n);return a!=null?n.edit&&!this.props.notEditable&&(!n.objTypes||n.objTypes.includes(r.type))?m.createElement(Re,{component:"div",style:{...Q.columnCustom,...Q.columnCustomEditable,...Q[`columnCustom_${n.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:o,it:n,obj:r},customColumnDialogValueChanged:!1})},a):m.createElement(Re,{component:"div",style:{...Q.columnCustom,...Q[`columnCustom_${n.align}`]}},a):null}renderAliasLink(r,n,o){const a=n||0,i=this.objects[this.info.aliasesMap[r][a]].common.alias.id;return i?m.createElement(Re,{component:"div",onClick:s=>{s.stopPropagation(),s.preventDefault();const l=this.info.aliasesMap[r][a];this.info.aliasesMap[r].length>1&&this.setState({aliasMenu:""}),this.onSelect(l),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l)),100)},sx:o||this.styles.aliasAlone},m.createElement("span",{className:"admin-browser-arrow"},typeof i=="string"||i.read===r&&i.write===r?"↔":i.read===r?"→":"←"),this.info.aliasesMap[r][a]):null}renderLeaf(r,n,o){var K,he,fe,ge,Ee,ze,Ne,Fe,Pe,Ye,Be,Ke,Xe,ve;const a=r.data.id;o.count++,n=n===void 0?this.state.expanded.includes(a):n;let i;const s=r.data.obj,l=s==null?void 0:s.type;r.children||l==="folder"||l==="device"||l==="channel"||l==="meta"?i=n?m.createElement(nv,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(a)}):m.createElement(ru,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(a)}):s&&s.common&&s.common.write===!1&&s.type==="state"?i=m.createElement(n_t,{style:this.styles.cellIdIconDocument}):i=m.createElement(r_t,{style:this.styles.cellIdIconDocument});let d=null;r.data.icon&&(typeof r.data.icon=="string"?r.data.icon.length<3?d=m.createElement("span",{className:"iconOwn",style:Q.cellIdIconOwn},r.data.icon):d=m.createElement(xl,{style:Q.cellIdIconOwn,className:"iconOwn",src:r.data.icon,alt:""}):d=r.data.icon);const h=s==null?void 0:s.common,u=(s==null?void 0:s.type)&&bz[s.type]||m.createElement("div",{className:"itemIcon"}),f=this.levelPadding*(r.data.level||0);if(r.data.lang!==this.props.lang){const{rooms:le,per:re}=EV(this.info,a,this.props.lang);r.data.rooms=le.join(", "),r.data.per=re;const{funcs:He,pef:Ve}=TV(this.info,a,this.props.lang);r.data.funcs=He.join(", "),r.data.pef=Ve,r.data.lang=this.props.lang}const g=this.props.multiSelect&&this.objects[a]&&(!this.props.types||this.props.types.includes(this.objects[a].type))?m.createElement(yr,{style:Q.checkBox,checked:this.state.selected.includes(a)}):null;let y=!this.props.notEditable&&l==="state"&&(this.state.filter.expertMode||(h==null?void 0:h.write)!==!1);this.props.objectBrowserViewFile&&(h==null?void 0:h.type)==="file"&&(y=!0);const b=!this.props.notEditable&&this.objects[a]&&(this.state.filter.expertMode||l==="state"||l==="channel"||l==="device"),x=this.state.statesView&&(l==="state"||l==="channel"||l==="device");let S="";const T=[];if(x&&(S=(K=this.states[a])==null?void 0:K.from,S===void 0?S=" ":(S=S?S.replace(/^system\.adapter\.|^system\./,""):"",T.push(`${this.texts.stateChangedFrom} ${S}`)),s!=null&&s.user)){const le=s.user.replace("system.user.","");S+=`/${le}`,T.push(`${this.texts.stateChangedBy} ${le}`)}s&&(s.from&&T.push(`${this.texts.objectChangedFrom} ${s.from.replace(/^system\.adapter\.|^system\./,"")}`),s.user&&T.push(`${this.texts.objectChangedBy} ${s.user.replace(/^system\.user\./,"")}`),s.ts&&T.push(`${this.texts.objectChangedByUser} ${ue.formatDate(new Date(s.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let E=!1,$=null;a.startsWith("alias.")&&((he=h==null?void 0:h.alias)!=null&&he.id)?(E=typeof h.alias.id=="object",E?$=m.createElement("div",{style:Q.cellIdAliasReadWriteDiv},h.alias.id.read?m.createElement(Re,{component:"div",onClick:le=>{le.stopPropagation(),le.preventDefault(),this.onSelect(h.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(h.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",h.alias.id.read):null,h.alias.id.write?m.createElement(Re,{component:"div",onClick:le=>{le.stopPropagation(),le.preventDefault(),this.onSelect(h.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(h.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",h.alias.id.write):null):$=m.createElement(Re,{component:"div",onClick:le=>{le.stopPropagation(),le.preventDefault(),this.onSelect(h.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(h.alias.id)),100)},sx:this.styles.aliasAlone},"→",h.alias.id)):this.info.aliasesMap[a]&&(this.info.aliasesMap[a].length>1?$=m.createElement(Re,{component:"div",id:`alias_${a}`,onClick:le=>{le.stopPropagation(),le.preventDefault(),this.setState({aliasMenu:a})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[a].length)):$=this.renderAliasLink(a,0));let k=h==null?void 0:h.color,O;if(k&&!this.state.selected.includes(a)){const le=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";ue.colorDistance(k,le)<1e3&&(O=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let M=!1;a==="0_userdata"?(k=yV(this.props.themeType),M=!0):a==="alias"?(k=_V(this.props.themeType),M=!0):a==="javascript"?(k=c_t(this.props.themeType),M=!0):a==="system"?(k=bV(this.props.themeType),M=!0):a==="system.adapter"?k=wV(this.props.themeType):(!k||this.state.selected.includes(a))&&(k="inherit");const R=[];if(h!=null&&h.statusStates){const le={};Object.keys(h.statusStates).forEach(He=>{var at;let Ve=h.statusStates[He];Ve.split(".").length<3&&(Ve=`${a}.${Ve}`),le[He]=Ve,this.states[Ve]?this.recordStates.includes(Ve)||this.recordStates.push(Ve):((at=this.objects[Ve])==null?void 0:at.type)==="state"&&(this.recordStates.includes(Ve)||this.recordStates.push(Ve),this.states[Ve]={val:null},this.subscribe(Ve))});let re=!1;h.statusStates.errorId&&this.states[le.errorId]&&this.states[le.errorId].val&&(k=this.props.themeType==="dark"?xV:SV,re=!0,R.push(m.createElement(_ve,{key:"error",style:this.styles.iconDeviceError}))),le.onlineId&&this.states[le.onlineId]?re?this.states[le.onlineId].val?R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected})):R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[le.onlineId].val?(k=this.props.themeType==="dark"?S2:C2,R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected}))):(k=this.props.themeType==="dark"?$2:k2,R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected}))):le.offlineId&&this.states[le.offlineId]&&(re?this.states[le.offlineId].val?R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected})):R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[le.offlineId].val?(k=this.props.themeType==="dark"?$2:k2,R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(k=this.props.themeType==="dark"?S2:C2,R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected}))))}const j=x?ue.quality2text(((fe=this.states[a])==null?void 0:fe.q)||0).join(", "):null;let I=((ge=r.data)==null?void 0:ge.title)||"",z=!1;if(this.state.showDescription){const le=$V(r.data,this.props.lang);le&&(I=[m.createElement("div",{key:"name",style:Q.cellNameDivDiv},I),m.createElement("div",{key:"desc",style:Q.cellDescription},le)],z=!!le)}const W=this.props.width==="xs"&&this.state.focused===a,L=m.createElement(ws,{container:!0,wrap:"nowrap",direction:"row",sx:Q.cellId,style:{width:this.columnsVisibility.id,paddingLeft:f}},m.createElement(ws,{container:!0,alignItems:"center"},g,i),m.createElement(ws,{style:{...Q.cellIdSpan,...O?this.styles.invertedBackground:void 0,color:k,fontWeight:M?"bold":void 0}},m.createElement(Zr,{title:h_t(r.data,this.props.lang),slotProps:{popper:{sx:Q.tooltip}}},m.createElement("div",null,r.data.name)),$,R),m.createElement("div",{style:{...Q.grow,...O?this.styles.invertedBackgroundFlex:{}}}),m.createElement(ws,{container:!0,alignItems:"center"},d),this.props.width!=="xs"?m.createElement("div",null,m.createElement(Di,{className:W?"":"copyButton",style:Q.cellCopyButton,onClick:le=>this.onCopy(le,a)})):null);let F=W&&I||this.columnsVisibility.name?m.createElement(Re,{component:"div",sx:{...Q.cellName,...z?Q.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:W?0:"5px"}},I,!W&&((Ee=r.data)!=null&&Ee.title)?m.createElement(Re,{style:{color:k}},m.createElement(Di,{className:"copyButton",style:Q.cellCopyButton,onClick:le=>{var re;return this.onCopy(le,(re=r.data)==null?void 0:re.title)}})):null):null,H;this.state.statesView?H=[W&&x&&((ze=this.states[a])!=null&&ze.from)||this.columnsVisibility.changedFrom?{el:m.createElement("div",{key:"from",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:T.join(` -`)},x&&((Ne=this.states[a])!=null&&Ne.from)?S:null),type:"from"}:null,W&&j||this.columnsVisibility.qualityCode?{el:m.createElement("div",{key:"q",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:j||""},j),type:"quality"}:null,W&&x&&((Fe=this.states[a])!=null&&Fe.ts)||this.columnsVisibility.timestamp?{el:m.createElement("div",{key:"ts",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},x&&((Pe=this.states[a])!=null&&Pe.ts)?ue.formatDate(new Date(this.states[a].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,W&&x&&((Ye=this.states[a])!=null&&Ye.lc)||this.columnsVisibility.lastChange?{el:m.createElement("div",{key:"lc",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},x&&((Be=this.states[a])!=null&&Be.lc)?ue.formatDate(new Date(this.states[a].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:H=[W&&(s!=null&&s.type)||this.columnsVisibility.type?{el:m.createElement("div",{key:"type",style:{...Q.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},u," ",s==null?void 0:s.type),type:"filter_type"}:null,W&&h||this.columnsVisibility.role?{el:m.createElement("div",{key:"role",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&b&&this.props.objectBrowserEditRole?"text":"default"},onClick:!W&&this.state.filter.expertMode&&b&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0},h==null?void 0:h.role),type:"filter_role",onClick:W&&this.state.filter.expertMode&&b&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0}:null,W&&h||this.columnsVisibility.room?{el:m.createElement("div",{key:"room",style:{...Q.cellRoom,...r.data.per?Q.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:b?"text":"default"},onClick:!W&&b?()=>{const le=Jc(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(le)}})}:void 0},r.data.rooms),type:"filter_room",onClick:W&&b?()=>{const le=Jc(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(le)}})}:void 0}:null,W&&h||this.columnsVisibility.func?{el:m.createElement("div",{key:"func",style:{...Q.cellFunc,...r.data.pef?Q.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:b?"text":"default"},onClick:!W&&b?()=>{const le=Jc(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(le)}})}:void 0},r.data.funcs),type:"filter_func",onClick:W&&b?()=>{const le=Jc(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(le)}})}:void 0}:null];let q=((Ke=this.adapterColumns)==null?void 0:Ke.map(le=>m.createElement("div",{style:{...Q.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[le.id]:void 0},key:le.id,title:`${le.adapter} => ${le.pathText}`},s?this.renderCustomValue(s,le,r):null)))||null;const ee=W||this.columnsVisibility.val?this.renderColumnValue(a,r,W):null;let Y=W&&ee||this.columnsVisibility.val?m.createElement("div",{style:{...Q.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:y?(h==null?void 0:h.type)==="file"?"zoom-in":r.data.button?"grab":"text":"default"},onClick:y?()=>{!s||!this.states||((h==null?void 0:h.type)==="file"?this.setState({viewFileDialog:a}):!this.state.filter.expertMode&&r.data.button?this.props.socket.setState(a,!0).catch(le=>window.alert(`Cannot write state "${a}": ${le}`)):!this.state.filter.expertMode&&r.data.switch?this.props.socket.setState(a,!this.states[a].val).catch(le=>window.alert(`Cannot write state "${a}": ${le}`)):(this.edit={val:this.states[a]?this.states[a].val:"",q:this.states[a]&&this.states[a].q||0,ack:!1,id:a},this.setState({updateOpened:!0})))}:void 0},ee):null,G=W||this.columnsVisibility.buttons?m.createElement("div",{style:{...Q.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(a,r)):null,te=null;if(this.props.width==="xs"&&this.state.focused===a){H=H.filter(re=>re);let le;H.length?le=H.map(re=>re?m.createElement("div",{key:re.type,style:Q.cellDetailsLine},m.createElement("span",{style:Q.cellDetailsName},this.texts[re.type],":"),re.el,m.createElement("div",{style:{flexGrow:1}}),re.onClick?m.createElement(rv,{style:Q.cellCopyButtonInDetails,onClick:()=>{re!=null&&re.onClick&&re.onClick()}}):null):null):le=null,q.length||(q=null),te=m.createElement(zn,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},m.createElement("div",{style:Q.cellDetailsLine},m.createElement("div",{style:{flexGrow:1}}),m.createElement(Di,{style:Q.cellCopyButtonInDetails,onClick:re=>this.onCopy(re,a)})),F&&m.createElement("div",{style:Q.cellDetailsLine},m.createElement("span",{style:Q.cellDetailsName},this.texts.name,":"),F,m.createElement("div",{style:{flexGrow:1}}),(Xe=r.data)!=null&&Xe.title?m.createElement(Di,{className:"copyButton",style:Q.cellCopyButtonInDetails,onClick:re=>{var He;return this.onCopy(re,(He=r.data)==null?void 0:He.title)}}):null),le,q&&m.createElement("div",{style:Q.cellDetailsLine},q),((ve=this.objects[a])==null?void 0:ve.type)==="state"&&m.createElement("div",{style:Q.cellDetailsLine},m.createElement("span",{style:Q.cellDetailsName},this.texts.value,":"),Y,m.createElement("div",{style:{flexGrow:1}}),m.createElement(Di,{className:"copyButton",style:Q.cellCopyButtonInDetails,onClick:re=>{const{valText:He}=CS({state:this.states[a],obj:this.objects[a],texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma});this.onCopy(re,He.v.toString())},key:"cc"})),G&&m.createElement("div",{style:{...Q.cellDetailsLine,justifyContent:"right"}},G)),F=null,H=null,q=null,Y=null,G=null}return{row:m.createElement(ws,{container:!0,direction:"row",wrap:"nowrap",sx:ue.getStyle(this.props.theme,Q.tableRow,this.state.linesEnabled&&Q.tableRowLines,!this.props.dragEnabled&&Q.tableRowNoDragging,$&&Q.tableRowAlias,E&&Q.tableRowAliasReadWrite,this.state.focused===a&&this.props.multiSelect&&Q.tableRowFocused,!r.data.visible&&Q.filteredOut,r.data.hasVisibleParent&&!r.data.visible&&!r.data.hasVisibleChildren&&Q.filteredParentOut,this.state.selected.includes(a)&&Q.itemSelected,this.state.selectedNonObject===a&&Q.itemSelected),key:a,id:a,onMouseDown:le=>{this.onSelect(a);let re;"which"in le?re=le.which===3:"button"in le&&(re=le.button===2),re?this.contextMenu={item:r,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{r.children?this.toggleExpanded(a):this.onSelect(a,!0)}},L,F,H==null?void 0:H.map(le=>le==null?void 0:le.el),q,Y,G),details:te}}renderItem(r,n,o){const a=[];o=o||{count:0};const i=this.renderLeaf(r,n,o);let s;const l=this.props.DragWrapper;return this.props.dragEnabled&&l?r.data.sumVisibility?s=m.createElement(l,{key:r.data.id,item:r,style:Q.draggable},i.row):s=m.createElement("div",{key:r.data.id,style:Q.nonDraggable},i.row):s=i.row,r.data.id&&s&&a.push(s),i.details&&a.push(i.details),n=n===void 0?uf(this.state.expanded,r.data.id):n,(!r.data.id||n)&&(this.state.foldersFirst?r.children&&(a.push(r.children.map(d=>d.children&&(!this.state.columnsSelectorShow||o.count<15)&&d.data.sumVisibility?this.renderItem(d,void 0,o):null)),a.push(r.children.map(d=>!d.children&&(!this.state.columnsSelectorShow||o.count<15)&&d.data.sumVisibility?this.renderItem(d,void 0,o):null))):r.children&&a.push(r.children.map(d=>(!this.state.columnsSelectorShow||o.count<15)&&d.data.sumVisibility?this.renderItem(d,void 0,o):null))),a}calculateColumnsVisibility(r,n,o,a){let i=a||this.state.columnsWidths;const s=o||this.state.columnsForAdmin,l=n||this.state.columns||[],d=typeof r!="boolean"?this.state.columnsAuto:r;i=JSON.parse(JSON.stringify(i)),Object.keys(i).forEach(u=>{i[u]&&(i[u]=parseInt(i[u],10)||0)}),this.adapterColumns=[];const h=Vr[this.props.width||"lg"].widths;if(d){if(this.columnsVisibility={id:Vr[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&h.name||0,nameHeader:this.visibleCols.includes("name")&&h.name||0,type:this.visibleCols.includes("type")&&h.type||0,role:this.visibleCols.includes("role")&&h.role||0,room:this.visibleCols.includes("room")&&h.room||0,func:this.visibleCols.includes("func")&&h.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&h.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&h.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&h.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&h.lastChange||0,val:this.visibleCols.includes("val")&&h.val||0,buttons:this.visibleCols.includes("buttons")&&h.buttons||0},this.columnsVisibility.name&&!this.customWidth){let u=this.columnsVisibility.id||0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${u+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${u+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let u=0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${u+5}px)`}}else{const u=this.props.width||"lg";this.columnsVisibility={id:i.id||Vr[u].idWidth,name:l.includes("name")&&(i.name||h.name||Vr[u].widths.name)||0,type:l.includes("type")&&(i.type||h.type||Vr[u].widths.type)||0,role:l.includes("role")&&(i.role||h.role||Vr[u].widths.role)||0,room:l.includes("room")&&(i.room||h.room||Vr[u].widths.room)||0,func:l.includes("func")&&(i.func||h.func||Vr[u].widths.func)||0};let f=this.columnsVisibility.id;if(this.columnsVisibility.name&&(f+=this.columnsVisibility.type||0,f+=this.columnsVisibility.role||0,f+=this.columnsVisibility.room||0,f+=this.columnsVisibility.func||0),s&&l&&Object.keys(s).sort().forEach(g=>s[g].forEach(y=>{const b=`_${g}_${y.path}`;if(l.includes(b)){const x={adapter:g,id:`_${g}_${y.path}`,name:y.name,path:y.path.split("."),pathText:y.path};y.edit&&(x.edit=!0,y.type&&(x.type=y.type),y.objTypes&&(x.objTypes=y.objTypes)),this.adapterColumns.push(x),this.columnsVisibility[b]=i[x.id]||y.width||Vr[u].widths.func||Vr.xl.widths.func||0,f+=this.columnsVisibility[b]}else this.columnsVisibility[b]=0})),this.adapterColumns.sort((g,y)=>g.id>y.id?-1:g.idb==="id"||typeof this.columnsVisibility[b]=="string"||!this.columnsVisibility[b]?y:y+this.columnsVisibility[b],0);this.columnsVisibility.id=`calc(100% - ${g}px)`}}}navigateKeyPress(r){var o,a;const n=this.state.selectedNonObject||this.state.selected[0];if(n){if(r.code==="ArrowUp"||r.code==="ArrowDown"){r.preventDefault();const i=[];(o=this.tableRef.current)==null||o.childNodes.forEach(h=>i.push(h.id));const s=i.indexOf(n),l=r.code==="ArrowDown"?s+1:s-1,d=i[l]||n;this.onSelect(d),this.scrollToItem(d)}if((r.code==="ArrowRight"||r.code==="ArrowLeft")&&this.toggleExpanded(n),r.code==="Delete"&&this.root&&n){const i=va.getItemFromRoot(this.root,n);if(i){const{obj:s}=i.data;s&&!((a=s.common)!=null&&a.dontDelete)&&this.showDeleteDialog({id:n,obj:s,item:i})}}}}static getItemFromRoot(r,n){const o=n.split(".");let a="",i=r;for(let s=0;sthis.clearFilter(),style:Q.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},m.createElement(o_t,null),m.createElement(Ar,{style:Q.buttonClearFilterIcon}))),this.props.width==="xs"?m.createElement("div",{style:Q.headerRow},m.createElement("div",{style:{...Q.headerCell,width:"100%"}},this.getFilterInput("id"))):m.createElement("div",{style:Q.headerRow},m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&m.createElement(m.Fragment,null,this.columnsVisibility.type?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&m.createElement(m.Fragment,null,m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(n=>m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility[n.id]},title:n.adapter,key:n.id,"data-min":100,"data-name":n.id},n.name)),this.columnsVisibility.val?m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),r):null,this.columnsVisibility.buttons?m.createElement("div",{title:this.texts.filter_custom,style:{...Q.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return m.createElement(Ov,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:m.createElement(Ie,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},m.createElement(Ar,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){const r=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==r?setTimeout(()=>this.setState({scrollBarWidth:r}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(r){this.selectFirst="";const n=window.document.getElementById(r);n==null||n.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){const r=this.props.objectCustomDialog;return m.createElement(r,{reportChangedIds:n=>this.changedIds=[...n],objectIDs:this.state.customDialog,allVisibleObjects:!!this.state.customDialogAll,expertMode:this.state.filter.expertMode,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,t:this.props.t,lang:this.props.lang,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objects:this.objects,customsInstances:this.info.customs,onClose:()=>{var n;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(n=this.props.router)==null||n.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(r){this.props.socket.setState(this.edit.id,{val:r.val,ack:r.ack,q:r.q||0,expire:r.expire||void 0}).catch(n=>this.showError(`Cannot write value: ${n}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;const r=this.props.objectBrowserEditObject;return m.createElement(r,{key:this.state.editObjectDialog,obj:this.objects[this.state.editObjectDialog],roleArray:this.info.roles,objects:this.objects,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,dialogName:this.props.dialogName,aliasTab:this.state.editObjectAlias,t:this.props.t,expertMode:!!this.state.filter.expertMode,onNewObject:n=>this.props.socket.setObject(n._id,n).then(()=>this.setState({editObjectDialog:n._id,editObjectAlias:!1},()=>this.onSelect(n._id))).catch(o=>this.showError(`Cannot write object: ${o}`)),onClose:n=>{var o,a;if(n){let i;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((o=this.objects[this.state.editObjectDialog].common)==null?void 0:o.alias)!==JSON.stringify((a=n.common)==null?void 0:a.alias)&&(i=this.state.editObjectDialog),this.props.socket.setObject(n._id,n).then(()=>{i&&this.subscribes.includes(i)&&(this.unsubscribe(i),setTimeout(()=>this.subscribe(i),100))}).catch(s=>this.showError(`Cannot write object: ${s}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;const r=this.props.objectBrowserViewFile;return m.createElement(r,{key:"viewFile",obj:this.objects[this.state.viewFileDialog],socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({viewFileDialog:""})})}renderAliasEditorDialog(){if(!this.props.objectBrowserAliasEditor||!this.state.showAliasEditor)return null;const r=this.props.objectBrowserAliasEditor;return m.createElement(r,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(n,o)=>setTimeout(()=>this.onSelect(n,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(n),setTimeout(()=>this.setState({editObjectDialog:n,showAliasEditor:"",editObjectAlias:!0}),300)})),o||0)})}showAddDataPointDialog(r,n,o){this.setState({showContextMenu:null,modalNewObj:{id:r,initialType:n,initialStateType:o}})}renderAliasMenu(){return this.state.aliasMenu?m.createElement(eu,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((r,n)=>m.createElement(Jt,{key:r,onClick:()=>this.onSelect(r)},m.createElement(_o,null,this.renderAliasLink(this.state.aliasMenu,n,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var g,y,b,x,S,T,E;if(!this.state.showContextMenu)return null;const r=this.state.showContextMenu.item,n=r.data.id,o=[],a=r.data.obj;let i="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!a)i="---";else{const $=a.acl?a.type==="state"?a.acl.state:a.acl.object:0,k=a.acl&&(a.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);i=Number.isNaN(Number($))?Number(k).toString(16):Number($).toString(16)}const s=!this.props.notEditable&&a&&(this.state.filter.expertMode||a.type==="state"||a.type==="channel"||a.type==="device"),l=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="channel"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",d=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",h=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",u=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",f={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&a&&(this.state.filter.expertMode||va.isNonExpertId(n))),icon:m.createElement(rv,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:r.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&a&&a.type==="state"&&((g=a.common)==null?void 0:g.type)!=="file"&&(this.state.filter.expertMode||a.common.write!==!1)),icon:m.createElement(Cve,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{this.edit={val:this.states[n]?this.states[n].val:"",q:this.states[n]&&this.states[n].q||0,ack:!1,id:n},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(a==null?void 0:a.type)==="state"&&((y=a.common)==null?void 0:y.type)==="file",icon:m.createElement(bve,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(a==null?void 0:a._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&a&&a.type==="state"&&((b=a.common)==null?void 0:b.type)!=="file"),icon:m.createElement(l2,{fontSize:"small",style:r.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:Q.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var $;this.pauseSubscribe(!0),($=this.props.router)==null||$.doNavigate(null,"customs",n),this.setState({customDialog:[n],showContextMenu:null})}},ACL:{key:"3",visibility:!!i,icon:i,iconStyle:{fontSize:"smaller"},listItemIconStyle:this.styles.contextMenuACL,style:this.styles.contextMenuACL,label:this.props.t("ra_Edit ACL"),onClick:()=>this.setState({showContextMenu:null,modalEditOfAccess:!0,modalEditOfAccessObjData:r.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&s&&this.props.objectBrowserEditRole),icon:m.createElement(hve,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:r.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!s,icon:m.createElement(dve,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const $=Jc(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:$,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify($)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!s,icon:m.createElement(gve,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const $=Jc(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:$,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify($)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(a==null?void 0:a.type)==="state"&&((x=a.common)==null?void 0:x.type)!=="file"),icon:m.createElement(JH,{style:(S=a==null?void 0:a.common)!=null&&S.alias?this.styles.cellButtonsButtonWithCustoms:Q.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[r.data.id]||r.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var $;($=a==null?void 0:a.common)!=null&&$.alias?this.setState({showContextMenu:null,editObjectDialog:r.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:r.data.id})}},CREATE:{key:"+",visibility:(r.data.id.startsWith("0_userdata.0")||r.data.id.startsWith("javascript."))&&(l||d||h||u),icon:m.createElement(Nv,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:Q.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","number")},{label:this.texts.createStringState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","string")},{label:this.texts.createState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state")},{label:this.texts.createChannel,visibility:d,icon:m.createElement(gV,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"channel")},{label:this.texts.createDevice,visibility:h,icon:m.createElement(vV,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"device")},{label:this.texts.createFolder,icon:m.createElement(qH,{fontSize:"small"}),visibility:u,onClick:()=>this.showAddDataPointDialog(r.data.id,"folder")}]},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((T=r.children)!=null&&T.length||a&&!((E=a.common)!=null&&E.dontDelete))),icon:m.createElement(Ta,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:n,obj:a||{},item:r}))}};return Object.keys(f).forEach($=>{var k,O;f[$].visibility&&(f[$].subMenu?(o.push(m.createElement(Jt,{key:$,href:"",onClick:M=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:$,subAnchor:M.target}}),style:f[$].style},m.createElement(ba,{style:{...f[$].iconStyle,...f[$].listItemIconStyle}},f[$].icon),m.createElement(_o,null,f[$].label,"..."),m.createElement("div",{style:{...Q.contextMenuKeys,opacity:1}},m.createElement(lve,null)))),((k=this.state.showContextMenu)==null?void 0:k.subItem)===$&&o.push(m.createElement(eu,{key:"subContextMenu",open:!0,anchorEl:this.state.showContextMenu.subAnchor,onClose:()=>{this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position}}),this.contextMenu=null}},(O=f[$].subMenu)==null?void 0:O.map(M=>M.visibility?m.createElement(Jt,{key:M.label,onClick:M.onClick,style:M.style},m.createElement(ba,{style:{...M.iconStyle,...M.listItemIconStyle||void 0}},M.icon),m.createElement(_o,null,M.label)):null)))):o.push(m.createElement(Jt,{key:$,onClick:f[$].onClick,sx:f[$].style},m.createElement(ba,{style:{...f[$].iconStyle,...f[$].listItemIconStyle}},f[$].icon),m.createElement(_o,null,f[$].label),f[$].key?m.createElement("div",{style:Q.contextMenuKeys},`Alt+${f[$].key==="Delete"?this.props.t("ra_Del"):f[$].key}`):null)))}),o.length?m.createElement(eu,{key:"contextMenu",open:!0,onKeyUp:$=>{$.preventDefault(),$.altKey&&Object.keys(f).forEach(k=>{$.key===f[k].key&&f[k].onClick&&f[k].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},o):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var a;if(!this.state.updateOpened||!this.props.objectBrowserValue)return null;if(!this.edit.id)return console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`),null;if(!this.objects[this.edit.id])return console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`),null;const r=(a=this.objects[this.edit.id].common)!=null&&a.type?this.objects[this.edit.id].common.type:typeof this.edit.val,n=this.objects[this.edit.id].common.role,o=this.props.objectBrowserValue;return m.createElement(o,{t:this.props.t,lang:this.props.lang,type:r,role:n||"",states:ue.getStates(this.objects[this.edit.id]),themeType:this.props.themeType,theme:this.props.theme,expertMode:!!this.state.filter.expertMode,value:this.edit.val,socket:this.props.socket,object:this.objects[this.edit.id],defaultHistory:this.defaultHistory,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,onClose:i=>{this.setState({updateOpened:!1}),i&&this.onUpdate(i)},width:this.props.width})}render(){this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:ue.getStyle(this.props.theme,Q.cellIdIconFolder),cellIdIconDocument:ue.getStyle(this.props.theme,Q.cellIdIconDocument),iconDeviceError:ue.getStyle(this.props.theme,Q.iconDeviceError),iconDeviceConnected:ue.getStyle(this.props.theme,Q.iconDeviceConnected),iconDeviceDisconnected:ue.getStyle(this.props.theme,Q.iconDeviceDisconnected),cellButtonsButtonWithCustoms:ue.getStyle(this.props.theme,Q.cellButtonsButtonWithCustoms),invertedBackground:ue.getStyle(this.props.theme,Q.invertedBackground),invertedBackgroundFlex:ue.getStyle(this.props.theme,Q.invertedBackgroundFlex),contextMenuEdit:ue.getStyle(this.props.theme,Q.contextMenuEdit),contextMenuEditValue:ue.getStyle(this.props.theme,Q.contextMenuEditValue),contextMenuView:ue.getStyle(this.props.theme,Q.contextMenuView),contextMenuCustom:ue.getStyle(this.props.theme,Q.contextMenuCustom),contextMenuACL:ue.getStyle(this.props.theme,Q.contextMenuACL),contextMenuRoom:ue.getStyle(this.props.theme,Q.contextMenuRoom),contextMenuRole:ue.getStyle(this.props.theme,Q.contextMenuRole),contextMenuDelete:ue.getStyle(this.props.theme,Q.contextMenuDelete),filterInput:ue.getStyle(this.props.theme,Q.headerCellInput,Q.filterInput),iconCopy:ue.getStyle(this.props.theme,Q.cellButtonsValueButton,Q.cellButtonsValueButtonCopy),aliasReadWrite:ue.getStyle(this.props.theme,Q.cellIdAlias,Q.cellIdAliasReadWrite),aliasAlone:ue.getStyle(this.props.theme,Q.cellIdAlias,Q.cellIdAliasAlone)},this.styleTheme=this.props.themeType);const r=JSON.stringify(this.state.filter);if(this.lastAppliedFilter!==r&&this.objects&&this.root){const o={count:0};T2(this.root,this.state.filter,this.props.lang,this.objects,void 0,o,this.props.customFilter,this.props.types),o.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):o.count>=500&&this.state.expandAllVisible&&setTimeout(()=>this.setState({expandAllVisible:!1})),this.lastAppliedFilter=r}if(this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),!this.state.loaded)return m.createElement(pO,{key:`${this.props.dialogName}_c`});const n=this.root?this.renderItem(this.root,void 0):null;return m.createElement(a_t,{key:this.props.dialogName},m.createElement("style",null,` + `),m.createElement("div",{style:h.white,className:"saturation-white"},m.createElement("div",{style:h.black,className:"saturation-black"}),m.createElement("div",{style:h.pointer},this.props.pointer?m.createElement(this.props.pointer,this.props):m.createElement("div",{style:h.circle}))))}}]),e}(A.PureComponent||A.Component);function kft(t,e){for(var r=-1,n=t==null?0:t.length;++r=0,a=!r&&o&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return a?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(n=this.toRgbString()),e==="prgb"&&(n=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(n=this.toHexString()),e==="hex3"&&(n=this.toHexString(!0)),e==="hex4"&&(n=this.toHex8String(!0)),e==="hex8"&&(n=this.toHex8String()),e==="name"&&(n=this.toName()),e==="hsl"&&(n=this.toHslString()),e==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return st(this.toString())},_applyModification:function(e,r){var n=e.apply(null,[this].concat([].slice.call(r)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(Vft,arguments)},brighten:function(){return this._applyModification(qft,arguments)},darken:function(){return this._applyModification(Gft,arguments)},desaturate:function(){return this._applyModification(Wft,arguments)},saturate:function(){return this._applyModification(Hft,arguments)},greyscale:function(){return this._applyModification(Uft,arguments)},spin:function(){return this._applyModification(Xft,arguments)},_applyCombination:function(e,r){return e.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Kft,arguments)},complement:function(){return this._applyCombination(Jft,arguments)},monochromatic:function(){return this._applyCombination(Zft,arguments)},splitcomplement:function(){return this._applyCombination(Yft,arguments)},triad:function(){return this._applyCombination(pL,[3])},tetrad:function(){return this._applyCombination(pL,[4])}};st.fromRatio=function(t,e){if(Bv(t)=="object"){var r={};for(var n in t)t.hasOwnProperty(n)&&(n==="a"?r[n]=t[n]:r[n]=hh(t[n]));t=r}return st(t,e)};function jft(t){var e={r:0,g:0,b:0},r=1,n=null,o=null,a=null,i=!1,s=!1;return typeof t=="string"&&(t=nmt(t)),Bv(t)=="object"&&(Si(t.r)&&Si(t.g)&&Si(t.b)?(e=Lft(t.r,t.g,t.b),i=!0,s=String(t.r).substr(-1)==="%"?"prgb":"rgb"):Si(t.h)&&Si(t.s)&&Si(t.v)?(n=hh(t.s),o=hh(t.v),e=Fft(t.h,n,o),i=!0,s="hsv"):Si(t.h)&&Si(t.s)&&Si(t.l)&&(n=hh(t.s),a=hh(t.l),e=zft(t.h,n,a),i=!0,s="hsl"),t.hasOwnProperty("a")&&(r=t.a)),r=WU(r),{ok:i,format:t.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:r}}function Lft(t,e,r){return{r:Or(t,255)*255,g:Or(e,255)*255,b:Or(r,255)*255}}function lL(t,e,r){t=Or(t,255),e=Or(e,255),r=Or(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=(n+o)/2;if(n==o)a=i=0;else{var l=n-o;switch(i=s>.5?l/(2-n-o):l/(n+o),n){case t:a=(e-r)/l+(e1&&(u-=1),u<1/6?d+(h-d)*6*u:u<1/2?h:u<2/3?d+(h-d)*(2/3-u)*6:d}if(e===0)n=o=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=i(l,s,t+1/3),o=i(l,s,t),a=i(l,s,t-1/3)}return{r:n*255,g:o*255,b:a*255}}function cL(t,e,r){t=Or(t,255),e=Or(e,255),r=Or(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=n,l=n-o;if(i=n===0?0:l/n,n==o)a=0;else{switch(n){case t:a=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+o)%360,a.push(st(n));return a}function Zft(t,e){e=e||6;for(var r=st(t).toHsv(),n=r.h,o=r.s,a=r.v,i=[],s=1/e;e--;)i.push(st({h:n,s:o,v:a})),a=(a+s)%1;return i}st.mix=function(t,e,r){r=r===0?0:r||50;var n=st(t).toRgb(),o=st(e).toRgb(),a=r/100,i={r:(o.r-n.r)*a+n.r,g:(o.g-n.g)*a+n.g,b:(o.b-n.b)*a+n.b,a:(o.a-n.a)*a+n.a};return st(i)};st.readability=function(t,e){var r=st(t),n=st(e);return(Math.max(r.getLuminance(),n.getLuminance())+.05)/(Math.min(r.getLuminance(),n.getLuminance())+.05)};st.isReadable=function(t,e,r){var n=st.readability(t,e),o,a;switch(a=!1,o=omt(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=n>=4.5;break;case"AAlarge":a=n>=3;break;case"AAAsmall":a=n>=7;break}return a};st.mostReadable=function(t,e,r){var n=null,o=0,a,i,s,l;r=r||{},i=r.includeFallbackColors,s=r.level,l=r.size;for(var d=0;do&&(o=a,n=st(e[d]));return st.isReadable(t,n,{level:s,size:l})||!i?n:(r.includeFallbackColors=!1,st.mostReadable(t,["#fff","#000"],r))};var u2=st.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Qft=st.hexNames=emt(u2);function emt(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}function WU(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Or(t,e){tmt(t)&&(t="100%");var r=rmt(t);return t=Math.min(e,Math.max(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function a_(t){return Math.min(1,Math.max(0,t))}function vo(t){return parseInt(t,16)}function tmt(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function rmt(t){return typeof t=="string"&&t.indexOf("%")!=-1}function xa(t){return t.length==1?"0"+t:""+t}function hh(t){return t<=1&&(t=t*100+"%"),t}function HU(t){return Math.round(parseFloat(t)*255).toString(16)}function hL(t){return vo(t)/255}var ma=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",r="(?:"+e+")|(?:"+t+")",n="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Si(t){return!!ma.CSS_UNIT.exec(t)}function nmt(t){t=t.replace(Nft,"").replace(Rft,"").toLowerCase();var e=!1;if(u2[t])t=u2[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=ma.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=ma.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=ma.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=ma.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=ma.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=ma.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=ma.hex8.exec(t))?{r:vo(r[1]),g:vo(r[2]),b:vo(r[3]),a:hL(r[4]),format:e?"name":"hex8"}:(r=ma.hex6.exec(t))?{r:vo(r[1]),g:vo(r[2]),b:vo(r[3]),format:e?"name":"hex"}:(r=ma.hex4.exec(t))?{r:vo(r[1]+""+r[1]),g:vo(r[2]+""+r[2]),b:vo(r[3]+""+r[3]),a:hL(r[4]+""+r[4]),format:e?"name":"hex8"}:(r=ma.hex3.exec(t))?{r:vo(r[1]+""+r[1]),g:vo(r[2]+""+r[2]),b:vo(r[3]+""+r[3]),format:e?"name":"hex"}:!1}function omt(t){var e,r;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:e,size:r}}var fL=function(e){var r=["r","g","b","a","h","s","l","v"],n=0,o=0;return Pft(r,function(a){if(e[a]&&(n+=1,isNaN(e[a])||(o+=1),a==="s"||a==="l")){var i=/^\d+%$/;i.test(e[a])&&(o+=1)}}),n===o?e:!1},fh=function(e,r){var n=e.hex?st(e.hex):st(e),o=n.toHsl(),a=n.toHsv(),i=n.toRgb(),s=n.toHex();o.s===0&&(o.h=r||0,a.h=r||0);var l=s==="000000"&&i.a===0;return{hsl:o,hex:l?"transparent":"#"+s,rgb:i,hsv:a,oldHue:e.h||r||o.h,source:e.source}},Vs=function(e){if(e==="transparent")return!0;var r=String(e).charAt(0)==="#"?1:0;return e.length!==4+r&&e.length<7+r&&st(e).isValid()},iD=function(e){if(!e)return"#fff";var r=fh(e);if(r.hex==="transparent")return"rgba(0,0,0,0.4)";var n=(r.rgb.r*299+r.rgb.g*587+r.rgb.b*114)/1e3;return n>=128?"#000":"#fff"},sS=function(e,r){var n=e.replace("°","");return st(r+" ("+n+")")._ok},Bp=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){pmt(o,n);function o(){var a,i,s,l;umt(this,o);for(var d=arguments.length,h=Array(d),u=0;us))return!1;var d=a.get(t),h=a.get(e);if(d&&h)return d==e&&h==t;var u=-1,f=!0,g=r&Cmt?new Wv:void 0;for(a.set(t,e),a.set(e,t);++u=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Og.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Og}var Lgt=jgt();const zgt=so(Lgt);var Fgt=function(){function t(e,r){for(var n=0;n1&&(o.a=1),n.props.onChange({h:n.props.hsl.h,s:n.props.hsl.s,l:n.props.hsl.l,a:Math.round(o.a*100)/100,source:"rgb"},a)):(o.h||o.s||o.l)&&(typeof o.s=="string"&&o.s.includes("%")&&(o.s=o.s.replace("%","")),typeof o.l=="string"&&o.l.includes("%")&&(o.l=o.l.replace("%","")),o.s==1?o.s=.01:o.l==1&&(o.l=.01),n.props.onChange({h:o.h||n.props.hsl.h,s:Number(DL(o.s)?n.props.hsl.s:o.s),l:Number(DL(o.l)?n.props.hsl.l:o.l),source:"hsl"},a))},n.showHighlight=function(o){o.currentTarget.style.background="#eee"},n.hideHighlight=function(o){o.currentTarget.style.background="transparent"},r.hsl.a!==1&&r.view==="hex"?n.state={view:"rgb"}:n.state={view:r.view},n}return Fgt(e,[{key:"render",value:function(){var n=this,o=kt({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),a=void 0;return this.state.view==="hex"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(Lt,{style:{input:o.input,label:o.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),m.createElement("div",{style:o.wrap,className:"flexbox-fix"},a,m.createElement("div",{style:o.toggle},m.createElement("div",{style:o.icon,onClick:this.toggleViews,ref:function(s){return n.icon=s}},m.createElement(zgt,{style:o.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(n,o){return n.hsl.a!==1&&o.view==="hex"?{view:"rgb"}:null}}]),e}(m.Component);QU.defaultProps={view:"hex"};var IL=function(){var e=kt({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return m.createElement("div",{style:e.picker})},Ugt=function(){var e=kt({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return m.createElement("div",{style:e.picker})},pD=function(e){var r=e.width,n=e.onChange,o=e.disableAlpha,a=e.rgb,i=e.hsl,s=e.hsv,l=e.hex,d=e.renderers,h=e.styles,u=h===void 0?{}:h,f=e.className,g=f===void 0?"":f,y=e.defaultView,b=kt(lo({default:{picker:{width:r,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+a.r+", "+a.g+", "+a.b+", "+a.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},u),{disableAlpha:o});return m.createElement("div",{style:b.picker,className:"chrome-picker "+g},m.createElement("div",{style:b.saturation},m.createElement(o_,{style:b.Saturation,hsl:i,hsv:s,pointer:Ugt,onChange:n})),m.createElement("div",{style:b.body},m.createElement("div",{style:b.controls,className:"flexbox-fix"},m.createElement("div",{style:b.color},m.createElement("div",{style:b.swatch},m.createElement("div",{style:b.active}),m.createElement(Ru,{renderers:d}))),m.createElement("div",{style:b.toggles},m.createElement("div",{style:b.hue},m.createElement(ju,{style:b.Hue,hsl:i,pointer:IL,onChange:n})),m.createElement("div",{style:b.alpha},m.createElement(ZO,{style:b.Alpha,rgb:a,hsl:i,pointer:IL,renderers:d,onChange:n})))),m.createElement(QU,{rgb:a,hsl:i,hex:l,view:y,onChange:n,disableAlpha:o})))};pD.propTypes={width:ye.oneOfType([ye.string,ye.number]),disableAlpha:ye.bool,styles:ye.object,defaultView:ye.oneOf(["hex","rgb","hsl"])};pD.defaultProps={width:225,disableAlpha:!1,styles:{}};const Vgt=co(pD);var qgt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.active,s=kt({default:{color:{background:r,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:iD(r),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:i,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(ec,{style:s.color,color:r,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:s.dot}))},Ggt=function(e){var r=e.hex,n=e.rgb,o=e.onChange,a=kt({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:r},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),i=function(l,d){l.r||l.g||l.b?o({r:l.r||n.r,g:l.g||n.g,b:l.b||n.b,source:"rgb"},d):o({hex:l.hex,source:"hex"},d)};return m.createElement("div",{style:a.fields,className:"flexbox-fix"},m.createElement("div",{style:a.active}),m.createElement(Lt,{style:{wrap:a.HEXwrap,input:a.HEXinput,label:a.HEXlabel},label:"hex",value:r,onChange:i}),m.createElement(Lt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"r",value:n.r,onChange:i}),m.createElement(Lt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"g",value:n.g,onChange:i}),m.createElement(Lt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"b",value:n.b,onChange:i}))},hD=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.colors,a=e.hex,i=e.rgb,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=kt(lo({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},l)),f=function(y,b){y.hex?Vs(y.hex)&&r({hex:y.hex,source:"hex"},b):r(y,b)};return m.createElement(zf,{style:u.Compact,styles:l},m.createElement("div",{style:u.compact,className:"compact-picker "+h},m.createElement("div",null,tc(o,function(g){return m.createElement(qgt,{key:g,color:g,active:g.toLowerCase()===a,onClick:f,onSwatchHover:n})}),m.createElement("div",{style:u.clear})),m.createElement(Ggt,{hex:a,rgb:i,onChange:f})))};hD.propTypes={colors:ye.arrayOf(ye.string),styles:ye.object};hD.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};co(hD);var Xgt=function(e){var r=e.hover,n=e.color,o=e.onClick,a=e.onSwatchHover,i={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},s=kt({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:i}},{hover:r});return m.createElement("div",{style:s.swatch},m.createElement(ec,{color:n,onClick:o,onHover:a,focusStyle:i}))};const Jgt=KO.handleHover(Xgt);var fD=function(e){var r=e.width,n=e.colors,o=e.onChange,a=e.onSwatchHover,i=e.triangle,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=kt(lo({default:{card:{width:r,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},l),{"hide-triangle":i==="hide","top-left-triangle":i==="top-left","top-right-triangle":i==="top-right","bottom-left-triangle":i==="bottom-left","bottom-right-triangle":i==="bottom-right"}),f=function(y,b){return o({hex:y,source:"hex"},b)};return m.createElement("div",{style:u.card,className:"github-picker "+h},m.createElement("div",{style:u.triangleShadow}),m.createElement("div",{style:u.triangle}),tc(n,function(g){return m.createElement(Jgt,{color:g,key:g,onClick:f,onSwatchHover:a})}))};fD.propTypes={width:ye.oneOfType([ye.string,ye.number]),colors:ye.arrayOf(ye.string),triangle:ye.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:ye.object};fD.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};co(fD);var Ygt=function(e){var r=e.direction,n=kt({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:r==="vertical"});return m.createElement("div",{style:n.picker})},Kgt=Object.assign||function(t){for(var e=1;e.5});return m.createElement("div",{style:n.picker})},tvt=function(){var e=kt({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return m.createElement("div",{style:e.pointer},m.createElement("div",{style:e.left},m.createElement("div",{style:e.leftInside})),m.createElement("div",{style:e.right},m.createElement("div",{style:e.rightInside})))},ML=function(e){var r=e.onClick,n=e.label,o=e.children,a=e.active,i=kt({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:a});return m.createElement("div",{style:i.button,onClick:r},n||o)},rvt=function(e){var r=e.rgb,n=e.currentColor,o=kt({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+r.r+","+r.g+", "+r.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:n,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return m.createElement("div",null,m.createElement("div",{style:o.label},"new"),m.createElement("div",{style:o.swatches},m.createElement("div",{style:o.new}),m.createElement("div",{style:o.current})),m.createElement("div",{style:o.label},"current"))},nvt=function(){function t(e,r){for(var n=0;n100&&(h.a=100),h.a/=100,r({h:o.h,s:o.s,l:o.l,a:h.a,source:"rgb"},u))};return m.createElement("div",{style:s.fields,className:"flexbox-fix"},m.createElement("div",{style:s.double},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"hex",value:a.replace("#",""),onChange:l})),m.createElement("div",{style:s.single},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"r",value:n.r,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"g",value:n.g,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"b",value:n.b,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.alpha},m.createElement(Lt,{style:{input:s.input,label:s.label},label:"a",value:Math.round(n.a*100),onChange:l,dragLabel:"true",dragMax:"100"})))},lvt=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Dg.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},Dg}var hvt=pvt();const fvt=so(hvt);var mvt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.first,s=e.last,l=e.active,d=kt({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:r,marginBottom:"1px"},check:{color:iD(r),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:i,last:s,active:l,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(ec,{color:r,style:d.color,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:d.check},m.createElement(fvt,null)))},gvt=function(e){var r=e.onClick,n=e.onSwatchHover,o=e.group,a=e.active,i=kt({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return m.createElement("div",{style:i.group},tc(o,function(s,l){return m.createElement(mvt,{key:s,color:s,active:s.toLowerCase()===a,first:l===0,last:l===o.length-1,onClick:r,onSwatchHover:n})}))},_D=function(e){var r=e.width,n=e.height,o=e.onChange,a=e.onSwatchHover,i=e.colors,s=e.hex,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=kt(lo({default:{picker:{width:r,height:n},overflow:{height:n,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},d)),g=function(b,x){return o({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.picker,className:"swatches-picker "+u},m.createElement(zf,null,m.createElement("div",{style:f.overflow},m.createElement("div",{style:f.body},tc(i,function(y){return m.createElement(gvt,{key:y.toString(),group:y,active:s,onClick:g,onSwatchHover:a})}),m.createElement("div",{style:f.clear})))))};_D.propTypes={width:ye.oneOfType([ye.string,ye.number]),height:ye.oneOfType([ye.string,ye.number]),colors:ye.arrayOf(ye.arrayOf(ye.string)),styles:ye.object};_D.defaultProps={width:320,height:240,colors:[[ud[900],ud[700],ud[500],ud[300],ud[100]],[pd[900],pd[700],pd[500],pd[300],pd[100]],[hd[900],hd[700],hd[500],hd[300],hd[100]],[fd[900],fd[700],fd[500],fd[300],fd[100]],[md[900],md[700],md[500],md[300],md[100]],[gd[900],gd[700],gd[500],gd[300],gd[100]],[vd[900],vd[700],vd[500],vd[300],vd[100]],[yd[900],yd[700],yd[500],yd[300],yd[100]],[_d[900],_d[700],_d[500],_d[300],_d[100]],["#194D33",mh[700],mh[500],mh[300],mh[100]],[bd[900],bd[700],bd[500],bd[300],bd[100]],[wd[900],wd[700],wd[500],wd[300],wd[100]],[xd[900],xd[700],xd[500],xd[300],xd[100]],[Sd[900],Sd[700],Sd[500],Sd[300],Sd[100]],[Cd[900],Cd[700],Cd[500],Cd[300],Cd[100]],[$d[900],$d[700],$d[500],$d[300],$d[100]],[kd[900],kd[700],kd[500],kd[300],kd[100]],[Ed[900],Ed[700],Ed[500],Ed[300],Ed[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};co(_D);var bD=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.hex,a=e.colors,i=e.width,s=e.triangle,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=kt(lo({default:{card:{width:i,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},d),{"hide-triangle":s==="hide","top-left-triangle":s==="top-left","top-right-triangle":s==="top-right"}),g=function(b,x){Vs(b)&&r({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.card,className:"twitter-picker "+u},m.createElement("div",{style:f.triangleShadow}),m.createElement("div",{style:f.triangle}),m.createElement("div",{style:f.body},tc(a,function(y,b){return m.createElement(ec,{key:b,color:y,hex:y,style:f.swatch,onClick:g,onHover:n,focusStyle:{boxShadow:"0 0 4px "+y}})}),m.createElement("div",{style:f.hash},"#"),m.createElement(Lt,{label:null,style:{input:f.input},value:o.replace("#",""),onChange:g}),m.createElement("div",{style:f.clear})))};bD.propTypes={width:ye.oneOfType([ye.string,ye.number]),triangle:ye.oneOf(["hide","top-left","top-right"]),colors:ye.arrayOf(ye.string),styles:ye.object};bD.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};co(bD);var wD=function(e){var r=kt({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return m.createElement("div",{style:r.picker})};wD.propTypes={hsl:ye.shape({h:ye.number,s:ye.number,l:ye.number,a:ye.number})};wD.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var xD=function(e){var r=kt({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return m.createElement("div",{style:r.picker})};xD.propTypes={hsl:ye.shape({h:ye.number,s:ye.number,l:ye.number,a:ye.number})};xD.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var vvt=function(e){var r=e.onChange,n=e.rgb,o=e.hsl,a=e.hex,i=e.hsv,s=function(g,y){if(g.hex)Vs(g.hex)&&r({hex:g.hex,source:"hex"},y);else if(g.rgb){var b=g.rgb.split(",");sS(g.rgb,"rgb")&&r({r:b[0],g:b[1],b:b[2],a:1,source:"rgb"},y)}else if(g.hsv){var x=g.hsv.split(",");sS(g.hsv,"hsv")&&(x[2]=x[2].replace("%",""),x[1]=x[1].replace("%",""),x[0]=x[0].replace("°",""),x[1]==1?x[1]=.01:x[2]==1&&(x[2]=.01),r({h:Number(x[0]),s:Number(x[1]),v:Number(x[2]),source:"hsv"},y))}else if(g.hsl){var S=g.hsl.split(",");sS(g.hsl,"hsl")&&(S[2]=S[2].replace("%",""),S[1]=S[1].replace("%",""),S[0]=S[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),r({h:Number(S[0]),s:Number(S[1]),v:Number(S[2]),source:"hsl"},y))}},l=kt({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),d=n.r+", "+n.g+", "+n.b,h=Math.round(o.h)+"°, "+Math.round(o.s*100)+"%, "+Math.round(o.l*100)+"%",u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.v*100)+"%";return m.createElement("div",{style:l.wrap,className:"flexbox-fix"},m.createElement("div",{style:l.fields},m.createElement("div",{style:l.double},m.createElement(Lt,{style:{input:l.input,label:l.label},label:"hex",value:a,onChange:s})),m.createElement("div",{style:l.column},m.createElement("div",{style:l.single},m.createElement(Lt,{style:{input:l.input2,label:l.label2},label:"rgb",value:d,onChange:s})),m.createElement("div",{style:l.single},m.createElement(Lt,{style:{input:l.input2,label:l.label2},label:"hsv",value:u,onChange:s})),m.createElement("div",{style:l.single},m.createElement(Lt,{style:{input:l.input2,label:l.label2},label:"hsl",value:h,onChange:s})))))},SD=function(e){var r=e.width,n=e.onChange,o=e.rgb,a=e.hsl,i=e.hsv,s=e.hex,l=e.header,d=e.styles,h=d===void 0?{}:d,u=e.className,f=u===void 0?"":u,g=kt(lo({default:{picker:{width:r,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+o.r+", "+o.g+", "+o.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},h));return m.createElement("div",{style:g.picker,className:"google-picker "+f},m.createElement("div",{style:g.head},l),m.createElement("div",{style:g.swatch}),m.createElement("div",{style:g.saturation},m.createElement(o_,{hsl:a,hsv:i,pointer:wD,onChange:n})),m.createElement("div",{style:g.body},m.createElement("div",{style:g.controls,className:"flexbox-fix"},m.createElement("div",{style:g.hue},m.createElement(ju,{style:g.Hue,hsl:a,radius:"4px",pointer:xD,onChange:n}))),m.createElement(vvt,{rgb:o,hsl:a,hex:s,hsv:i,onChange:n})))};SD.propTypes={width:ye.oneOfType([ye.string,ye.number]),styles:ye.object,header:ye.string};SD.defaultProps={width:652,styles:{},header:"Color picker"};co(SD);const ha={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:t=>({backgroundColor:`${t.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${t.palette.secondary.main} !important`}}),cover:{position:"fixed",top:0,right:0,bottom:0,left:0},textDense:{mt:0,mb:0},picker:t=>({background:`${t.palette.background.paper} !important`}),iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Ai extends A.Component{constructor(r){super(r);X(this,"handleClick",r=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:r.currentTarget})});X(this,"handleClose",()=>{this.setState({displayColorPicker:!1,anchorEl:null})});X(this,"handleChange",r=>{this.setState({color:r},()=>this.props.onChange&&this.props.onChange(Ai.getColor(r)))});this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}static getColor(r,n){if(r&&typeof r=="object"){const o=r;if(o.rgb)return n?`#${o.rgb.r.toString(16).padStart(2,"0")}${o.rgb.g.toString(16).padStart(2,"0")}${o.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${o.rgb.r},${o.rgb.g},${o.rgb.b},${o.rgb.a})`;const a=r;return n?`#${a.r.toString(16).padStart(2,"0")}${a.g.toString(16).padStart(2,"0")}${a.b.toString(16).padStart(2,"0")}`:`rgba(${a.r},${a.g},${a.b},${a.a})`}return typeof r=="string"?n?Ai.rgb2hex(r||""):r||"":""}static rgb2hex(r){const n=r.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(n){const o=parseInt(n[1],10).toString(16).padStart(2,"0"),a=parseInt(n[2],10).toString(16).padStart(2,"0"),i=parseInt(n[3],10).toString(16).padStart(2,"0");return(n==null?void 0:n.length)===4?`#${o}${a}${i}`:r}return r}componentDidUpdate(r,n){const o=Ai.getColor(this.props.color||this.props.value||"");o!==n.color&&this.setState({color:o})}renderCustomPalette(){return this.props.customPalette?m.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(r=>m.createElement(tt,{style:ha.button,key:r,onClick:()=>{this.handleChange(r),setTimeout(()=>this.handleClose(),300)}},m.createElement("div",{style:{...ha.iconButton,background:r}})))):null}render(){var o;const r={...this.props.style||{}};r.position="relative";const{color:n}=this.state;return m.createElement(Re,{component:"div",style:r,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:m.createElement(Ht,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:n||"",margin:"dense",sx:{"&.MuiFormControl-root":ha.textDense,width:n?"calc(100% - 80px)":"calc(100% - 56px)",mr:n?void 0:1},onChange:a=>this.handleChange(a.target.value)}),!this.props.noInputField&&n?m.createElement(Ie,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?ha.delButton:void 0},m.createElement(Ta,null)):null,m.createElement(Re,{component:"div",onClick:a=>!this.props.disabled&&this.handleClick(a),title:P.t("ra_Select color"),sx:{...ha.swatch,...this.props.disabled?ha.swatchDisabled:void 0,background:n?void 0:"transparent",border:n?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},m.createElement("div",{style:{...ha.color,background:Ai.getColor(n),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?m.createElement(eu,{sx:{...ha.popover,"&. MuiMenu-list":ha.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},m.createElement(Vgt,{color:this.state.color||void 0,onChangeComplete:a=>this.handleChange(a.rgb),styles:{default:{picker:{backgroundColor:((o=this.props.theme)==null?void 0:o.palette.background.paper)||"#888"}}}}),n&&this.props.noInputField?m.createElement(Ie,{sx:ha.closeButton,onClick:()=>this.handleChange("")},m.createElement(Ta,null)):null,m.createElement(Ie,{sx:ha.closeButton,onClick:()=>this.handleClose()},m.createElement(Ar,null)),this.renderCustomPalette()):null)}}var cS={exports:{}},NL;function di(){return NL||(NL=1,function(t,e){(function(n,o){t.exports=o()})(globalThis,()=>(()=>{var r={949:(i,s,l)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.CronParser=void 0;var d=l(515),h=function(){function u(f,g,y){g===void 0&&(g=!0),y===void 0&&(y=!1),this.expression=f,this.dayOfWeekStartIndexZero=g,this.monthStartIndexZero=y}return u.prototype.parse=function(){var f,g,y=(f=this.expression)!==null&&f!==void 0?f:"";if(y.startsWith("@")){var b=this.parseSpecial(this.expression);g=this.extractParts(b)}else g=this.extractParts(this.expression);return this.normalize(g),this.validate(g),g},u.prototype.parseSpecial=function(f){var g={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"},y=g[f];if(!y)throw new Error("Unknown special expression.");return y},u.prototype.extractParts=function(f){if(!this.expression)throw new Error("cron expression is empty");for(var g=f.trim().split(/[ ]+/),y=0;y7)throw new Error("Expression has ".concat(g.length," parts; too many!"));return g},u.prototype.normalize=function(f){var g=this;if(f[3]=f[3].replace("?","*"),f[5]=f[5].replace("?","*"),f[2]=f[2].replace("?","*"),f[0].indexOf("0/")==0&&(f[0]=f[0].replace("0/","*/")),f[1].indexOf("0/")==0&&(f[1]=f[1].replace("0/","*/")),f[2].indexOf("0/")==0&&(f[2]=f[2].replace("0/","*/")),f[3].indexOf("1/")==0&&(f[3]=f[3].replace("1/","*/")),f[4].indexOf("1/")==0&&(f[4]=f[4].replace("1/","*/")),f[6].indexOf("1/")==0&&(f[6]=f[6].replace("1/","*/")),f[5]=f[5].replace(/(^\d)|([^#/\s]\d)/g,function(k){var O=k.replace(/\D/,""),M=O;return g.dayOfWeekStartIndexZero?O=="7"&&(M="0"):M=(parseInt(O)-1).toString(),k.replace(O,M)}),f[5]=="L"&&(f[5]="6"),f[3]=="?"&&(f[3]="*"),f[3].indexOf("W")>-1&&(f[3].indexOf(",")>-1||f[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var y={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var b in y)f[5]=f[5].replace(new RegExp(b,"gi"),y[b].toString());f[4]=f[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(k){var O=k.replace(/\D/,""),M=O;return g.monthStartIndexZero&&(M=(parseInt(O)+1).toString()),k.replace(O,M)});var x={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var S in x)f[4]=f[4].replace(new RegExp(S,"gi"),x[S].toString());f[0]=="0"&&(f[0]=""),!/\*|\-|\,|\//.test(f[2])&&(/\*|\//.test(f[1])||/\*|\//.test(f[0]))&&(f[2]+="-".concat(f[2]));for(var T=0;T-1&&!/^\*|\-|\,/.test(f[T])){var E=null;switch(T){case 4:E="12";break;case 5:E="6";break;case 6:E="9999";break;default:E=null;break}if(E!==null){var $=f[T].split("/");f[T]="".concat($[0],"-").concat(E,"/").concat($[1])}}},u.prototype.validate=function(f){this.assertNoInvalidCharacters("DOW",f[5]),this.assertNoInvalidCharacters("DOM",f[3]),this.validateRange(f)},u.prototype.validateRange=function(f){d.default.secondRange(f[0]),d.default.minuteRange(f[1]),d.default.hourRange(f[2]),d.default.dayOfMonthRange(f[3]),d.default.monthRange(f[4],this.monthStartIndexZero),d.default.dayOfWeekRange(f[5],this.dayOfWeekStartIndexZero)},u.prototype.assertNoInvalidCharacters=function(f,g){var y=g.match(/[A-KM-VX-Z]+/gi);if(y&&y.length)throw new Error("".concat(f," part contains invalid values: '").concat(y.toString(),"'"))},u}();s.CronParser=h},333:(i,s,l)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.ExpressionDescriptor=void 0;var d=l(823),h=l(949),u=function(){function f(g,y){if(this.expression=g,this.options=y,this.expressionParts=new Array(5),!this.options.locale&&f.defaultLocale&&(this.options.locale=f.defaultLocale),!f.locales[this.options.locale]){var b=Object.keys(f.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(b,"'.")),this.options.locale=b}this.i18n=f.locales[this.options.locale],y.use24HourTimeFormat===void 0&&(y.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return f.toString=function(g,y){var b=y===void 0?{}:y,x=b.throwExceptionOnParseError,S=x===void 0?!0:x,T=b.verbose,E=T===void 0?!1:T,$=b.dayOfWeekStartIndexZero,k=$===void 0?!0:$,O=b.monthStartIndexZero,M=O===void 0?!1:O,R=b.use24HourTimeFormat,j=b.locale,I=j===void 0?null:j,z=b.tzOffset,W=z===void 0?0:z,L={throwExceptionOnParseError:S,verbose:E,dayOfWeekStartIndexZero:k,monthStartIndexZero:M,use24HourTimeFormat:R,locale:I,tzOffset:W},F=new f(g,L);return F.getFullDescription()},f.initialize=function(g,y){y===void 0&&(y="en"),f.specialCharacters=["/","-",",","*"],f.defaultLocale=y,g.load(f.locales)},f.prototype.getFullDescription=function(){var g="";try{var y=new h.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);this.expressionParts=y.parse();var b=this.getTimeOfDayDescription(),x=this.getDayOfMonthDescription(),S=this.getMonthDescription(),T=this.getDayOfWeekDescription(),E=this.getYearDescription();g+=b+x+T+S+E,g=this.transformVerbosity(g,!!this.options.verbose),g=g.charAt(0).toLocaleUpperCase()+g.substr(1)}catch($){if(!this.options.throwExceptionOnParseError)g=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat($)}return g},f.prototype.getTimeOfDayDescription=function(){var g=this.expressionParts[0],y=this.expressionParts[1],b=this.expressionParts[2],x="";if(!d.StringUtilities.containsAny(y,f.specialCharacters)&&!d.StringUtilities.containsAny(b,f.specialCharacters)&&!d.StringUtilities.containsAny(g,f.specialCharacters))x+=this.i18n.atSpace()+this.formatTime(b,y,g);else if(!g&&y.indexOf("-")>-1&&!(y.indexOf(",")>-1)&&!(y.indexOf("/")>-1)&&!d.StringUtilities.containsAny(b,f.specialCharacters)){var S=y.split("-");x+=d.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(b,S[0],""),this.formatTime(b,S[1],""))}else if(!g&&b.indexOf(",")>-1&&b.indexOf("-")==-1&&b.indexOf("/")==-1&&!d.StringUtilities.containsAny(y,f.specialCharacters)){var T=b.split(",");x+=this.i18n.at();for(var E=0;E1){var S=x[x.length-1].index;b=b.substring(0,S)+":59"+b.substring(S+3)}}return b},f.prototype.getDayOfWeekDescription=function(){var g=this,y=this.i18n.daysOfTheWeek(),b=null;return this.expressionParts[5]=="*"?b="":b=this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),function(x,S){var T=x;x.indexOf("#")>-1?T=x.substring(0,x.indexOf("#")):x.indexOf("L")>-1&&(T=T.replace("L",""));var E=parseInt(T);if(g.options.tzOffset){var $=g.expressionParts[2],k=parseInt($)+(g.options.tzOffset?g.options.tzOffset:0);k>=24?E++:k<0&&E--,E>6?E=0:E<0&&(E=6)}var O=g.i18n.daysOfTheWeekInCase?g.i18n.daysOfTheWeekInCase(S)[E]:y[E];if(x.indexOf("#")>-1){var M=null,R=x.substring(x.indexOf("#")+1),j=x.substring(0,x.indexOf("#"));switch(R){case"1":M=g.i18n.first(j);break;case"2":M=g.i18n.second(j);break;case"3":M=g.i18n.third(j);break;case"4":M=g.i18n.fourth(j);break;case"5":M=g.i18n.fifth(j);break}O=M+" "+O}return O},function(x){return parseInt(x)==1?"":d.StringUtilities.format(g.i18n.commaEveryX0DaysOfTheWeek(x),x)},function(x){var S=x.substring(0,x.indexOf("-")),T=g.expressionParts[3]!="*";return T?g.i18n.commaAndX0ThroughX1(S):g.i18n.commaX0ThroughX1(S)},function(x){var S=null;if(x.indexOf("#")>-1){var T=x.substring(x.indexOf("#")+1),E=x.substring(0,x.indexOf("#"));S=g.i18n.commaOnThe(T,E).trim()+g.i18n.spaceX0OfTheMonth()}else if(x.indexOf("L")>-1)S=g.i18n.commaOnTheLastX0OfTheMonth(x.replace("L",""));else{var $=g.expressionParts[3]!="*";S=$?g.i18n.commaAndOnX0():g.i18n.commaOnlyOnX0(x)}return S}),b},f.prototype.getMonthDescription=function(){var g=this,y=this.i18n.monthsOfTheYear(),b=this.getSegmentDescription(this.expressionParts[4],"",function(x,S){return S&&g.i18n.monthsOfTheYearInCase?g.i18n.monthsOfTheYearInCase(S)[parseInt(x)-1]:y[parseInt(x)-1]},function(x){return parseInt(x)==1?"":d.StringUtilities.format(g.i18n.commaEveryX0Months(x),x)},function(x){return g.i18n.commaMonthX0ThroughMonthX1()||g.i18n.commaX0ThroughX1()},function(x){return g.i18n.commaOnlyInMonthX0?g.i18n.commaOnlyInMonthX0():g.i18n.commaOnlyInX0()});return b},f.prototype.getDayOfMonthDescription=function(){var g=this,y=null,b=this.expressionParts[3];switch(b){case"L":y=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":y=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var x=b.match(/(\d{1,2}W)|(W\d{1,2})/);if(x){var S=parseInt(x[0].replace("W","")),T=S==1?this.i18n.firstWeekday():d.StringUtilities.format(this.i18n.weekdayNearestDayX0(),S.toString());y=d.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),T);break}else{var E=b.match(/L-(\d{1,2})/);if(E){var $=E[1];y=d.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth($),$);break}else{if(b=="*"&&this.expressionParts[5]!="*")return"";y=this.getSegmentDescription(b,this.i18n.commaEveryDay(),function(k){return k=="L"?g.i18n.lastDay():g.i18n.dayX0?d.StringUtilities.format(g.i18n.dayX0(),k):k},function(k){return k=="1"?g.i18n.commaEveryDay():g.i18n.commaEveryX0Days(k)},function(k){return g.i18n.commaBetweenDayX0AndX1OfTheMonth(k)},function(k){return g.i18n.commaOnDayX0OfTheMonth(k)})}break}}return y},f.prototype.getYearDescription=function(){var g=this,y=this.getSegmentDescription(this.expressionParts[6],"",function(b){return/^\d+$/.test(b)?new Date(parseInt(b),1).getFullYear().toString():b},function(b){return d.StringUtilities.format(g.i18n.commaEveryX0Years(b),b)},function(b){return g.i18n.commaYearX0ThroughYearX1()||g.i18n.commaX0ThroughX1()},function(b){return g.i18n.commaOnlyInYearX0?g.i18n.commaOnlyInYearX0():g.i18n.commaOnlyInX0()});return y},f.prototype.getSegmentDescription=function(g,y,b,x,S,T){var E=null,$=g.indexOf("/")>-1,k=g.indexOf("-")>-1,O=g.indexOf(",")>-1;if(!g)E="";else if(g==="*")E=y;else if(!$&&!k&&!O)E=d.StringUtilities.format(T(g),b(g));else if(O){for(var M=g.split(","),R="",j=0;j0&&M.length>2&&(R+=",",j0&&M.length>1&&(j==M.length-1||M.length==2)&&(R+="".concat(this.i18n.spaceAnd()," ")),M[j].indexOf("/")>-1||M[j].indexOf("-")>-1){var I=M[j].indexOf("-")>-1&&M[j].indexOf("/")==-1,z=this.getSegmentDescription(M[j],y,b,x,I?this.i18n.commaX0ThroughX1:S,T);I&&(z=z.replace(", ","")),R+=z}else $?R+=this.getSegmentDescription(M[j],y,b,x,S,T):R+=b(M[j]);$?E=R:E=d.StringUtilities.format(T(g),R)}else if($){var M=g.split("/");if(E=d.StringUtilities.format(x(M[1]),M[1]),M[0].indexOf("-")>-1){var W=this.generateRangeSegmentDescription(M[0],S,b);W.indexOf(", ")!=0&&(E+=", "),E+=W}else if(M[0].indexOf("*")==-1){var L=d.StringUtilities.format(T(M[0]),b(M[0]));L=L.replace(", ",""),E+=d.StringUtilities.format(this.i18n.commaStartingX0(),L)}}else k&&(E=this.generateRangeSegmentDescription(g,S,b));return E},f.prototype.generateRangeSegmentDescription=function(g,y,b){var x="",S=g.split("-"),T=b(S[0],1),E=b(S[1],2),$=y(g);return x+=d.StringUtilities.format($,T,E),x},f.prototype.formatTime=function(g,y,b){var x=0,S=0;this.options.tzOffset&&(x=this.options.tzOffset>0?Math.floor(this.options.tzOffset):Math.ceil(this.options.tzOffset),S=parseFloat((this.options.tzOffset%1).toFixed(2)),S!=0&&(S*=60));var T=parseInt(g)+x,E=parseInt(y)+S;E>=60?(E-=60,T+=1):E<0&&(E+=60,T-=1),T>=24?T=T-24:T<0&&(T=24+T);var $="",k=!1;this.options.use24HourTimeFormat||(k=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),$=k?"".concat(this.getPeriod(T)," "):" ".concat(this.getPeriod(T)),T>12&&(T-=12),T===0&&(T=12));var O="";return b&&(O=":".concat(("00"+b).substring(b.length))),"".concat(k?$:"").concat(("00"+T.toString()).substring(T.toString().length),":").concat(("00"+E.toString()).substring(E.toString().length)).concat(O).concat(k?"":$)},f.prototype.transformVerbosity=function(g,y){return y||(g=g.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),g=g.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),g=g.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),g=g.replace(/\, ?$/,"")),g},f.prototype.getPeriod=function(g){return g>=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},f.locales={},f}();s.ExpressionDescriptor=u},747:(i,s,l)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.enLocaleLoader=void 0;var d=l(486),h=function(){function u(){}return u.prototype.load=function(f){f.en=new d.en},u}();s.enLocaleLoader=h},486:(i,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.en=void 0;var l=function(){function d(){}return d.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},d.prototype.atX0MinutesPastTheHourGt20=function(){return null},d.prototype.commaMonthX0ThroughMonthX1=function(){return null},d.prototype.commaYearX0ThroughYearX1=function(){return null},d.prototype.use24HourTimeFormatByDefault=function(){return!1},d.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occured when generating the expression description. Check the cron expression syntax."},d.prototype.everyMinute=function(){return"every minute"},d.prototype.everyHour=function(){return"every hour"},d.prototype.atSpace=function(){return"At "},d.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},d.prototype.at=function(){return"At"},d.prototype.spaceAnd=function(){return" and"},d.prototype.everySecond=function(){return"every second"},d.prototype.everyX0Seconds=function(){return"every %s seconds"},d.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},d.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},d.prototype.everyX0Minutes=function(){return"every %s minutes"},d.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},d.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},d.prototype.everyX0Hours=function(){return"every %s hours"},d.prototype.betweenX0AndX1=function(){return"between %s and %s"},d.prototype.atX0=function(){return"at %s"},d.prototype.commaEveryDay=function(){return", every day"},d.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},d.prototype.commaX0ThroughX1=function(){return", %s through %s"},d.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},d.prototype.first=function(){return"first"},d.prototype.second=function(){return"second"},d.prototype.third=function(){return"third"},d.prototype.fourth=function(){return"fourth"},d.prototype.fifth=function(){return"fifth"},d.prototype.commaOnThe=function(){return", on the "},d.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},d.prototype.lastDay=function(){return"the last day"},d.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},d.prototype.commaOnlyOnX0=function(){return", only on %s"},d.prototype.commaAndOnX0=function(){return", and on %s"},d.prototype.commaEveryX0Months=function(){return", every %s months"},d.prototype.commaOnlyInX0=function(){return", only in %s"},d.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},d.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},d.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},d.prototype.firstWeekday=function(){return"first weekday"},d.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},d.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},d.prototype.commaEveryX0Days=function(){return", every %s days"},d.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},d.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},d.prototype.commaEveryHour=function(){return", every hour"},d.prototype.commaEveryX0Years=function(){return", every %s years"},d.prototype.commaStartingX0=function(){return", starting %s"},d.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},d.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},d}();s.en=l},515:(i,s)=>{Object.defineProperty(s,"__esModule",{value:!0});function l(h,u){if(!h)throw new Error(u)}var d=function(){function h(){}return h.secondRange=function(u){for(var f=u.split(","),g=0;g=0&&y<=59,"seconds part must be >= 0 and <= 59")}},h.minuteRange=function(u){for(var f=u.split(","),g=0;g=0&&y<=59,"minutes part must be >= 0 and <= 59")}},h.hourRange=function(u){for(var f=u.split(","),g=0;g=0&&y<=23,"hours part must be >= 0 and <= 23")}},h.dayOfMonthRange=function(u){for(var f=u.split(","),g=0;g=1&&y<=31,"DOM part must be >= 1 and <= 31")}},h.monthRange=function(u,f){for(var g=u.split(","),y=0;y=1&&b<=12,f?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},h.dayOfWeekRange=function(u,f){for(var g=u.split(","),y=0;y=0&&b<=6,f?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},h}();s.default=d},823:(i,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.StringUtilities=void 0;var l=function(){function d(){}return d.format=function(h){for(var u=[],f=1;f-1})},d}();s.StringUtilities=l}},n={};function o(i){var s=n[i];if(s!==void 0)return s.exports;var l=n[i]={exports:{}};return r[i](l,l.exports,o),l.exports}var a={};return(()=>{var i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.toString=void 0;var s=o(333),l=o(747);s.ExpressionDescriptor.initialize(new l.enLocaleLoader),i.default=s.ExpressionDescriptor;var d=s.ExpressionDescriptor.toString;i.toString=d})(),a})())}(cS)),cS.exports}var yvt=di();const _vt=so(yvt);var dS={exports:{}},RL;function bvt(){return RL||(RL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.fr=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"toutes les minutes"},u.prototype.everyHour=function(){return"toutes les heures"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},u.prototype.atSpace=function(){return"À "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},u.prototype.at=function(){return"À"},u.prototype.spaceAnd=function(){return" et"},u.prototype.everySecond=function(){return"toutes les secondes"},u.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},u.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},u.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},u.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},u.prototype.everyX0Hours=function(){return"toutes les %s heures"},u.prototype.betweenX0AndX1=function(){return"de %s à %s"},u.prototype.atX0=function(){return"à %s"},u.prototype.commaEveryDay=function(){return", tous les jours"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},u.prototype.commaX0ThroughX1=function(){return", de %s à %s"},u.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},u.prototype.first=function(){return"premier"},u.prototype.second=function(){return"second"},u.prototype.third=function(){return"troisième"},u.prototype.fourth=function(){return"quatrième"},u.prototype.fifth=function(){return"cinquième"},u.prototype.commaOnThe=function(){return", le "},u.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},u.prototype.lastDay=function(){return"le dernier jour"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},u.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},u.prototype.commaAndOnX0=function(){return", et %s"},u.prototype.commaEveryX0Months=function(){return", tous les %s mois"},u.prototype.commaOnlyInX0=function(){return", uniquement en %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},u.prototype.firstWeekday=function(){return"premier jour ouvrable"},u.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryX0Days=function(){return", tous les %s jours"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},u.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryX0Years=function(){return", tous les %s ans"},u.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},u.prototype.commaStartingX0=function(){return", à partir de %s"},u.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},u.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},u}();return d.fr=h,l().locales.fr=new h,i})())}(dS)),dS.exports}bvt();var uS={exports:{}},jL;function wvt(){return jL||(jL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.es=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},u.prototype.at=function(){return"A las"},u.prototype.atSpace=function(){return"A las "},u.prototype.atX0=function(){return"a las %s"},u.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},u.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},u.prototype.commaEveryDay=function(){return", cada día"},u.prototype.commaEveryX0Days=function(){return", cada %s días"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},u.prototype.commaEveryX0Months=function(){return", cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},u.prototype.commaOnlyInX0=function(){return", sólo en %s"},u.prototype.commaOnlyOnX0=function(){return", sólo el %s"},u.prototype.commaAndOnX0=function(){return", y el %s"},u.prototype.commaOnThe=function(){return", en el "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},u.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},u.prototype.everyHour=function(){return"cada hora"},u.prototype.everyMinute=function(){return"cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},u.prototype.everySecond=function(){return"cada segundo"},u.prototype.everyX0Hours=function(){return"cada %s horas"},u.prototype.everyX0Minutes=function(){return"cada %s minutos"},u.prototype.everyX0Seconds=function(){return"cada %s segundos"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primero"},u.prototype.firstWeekday=function(){return"primer día de la semana"},u.prototype.fourth=function(){return"cuarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},u.prototype.second=function(){return"segundo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},u.prototype.spaceAnd=function(){return" y"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},u.prototype.lastDay=function(){return"el último día"},u.prototype.third=function(){return"tercer"},u.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},u.prototype.commaEveryX0Years=function(){return", cada %s años"},u.prototype.commaStartingX0=function(){return", comenzando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},u.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},u}();return d.es=h,l().locales.es=new h,i})())}(uS)),uS.exports}wvt();var pS={exports:{}},LL;function xvt(){return LL||(LL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.de=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"jede Minute"},u.prototype.everyHour=function(){return"jede Stunde"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},u.prototype.atSpace=function(){return"Um "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},u.prototype.at=function(){return"Um"},u.prototype.spaceAnd=function(){return" und"},u.prototype.everySecond=function(){return"Jede Sekunde"},u.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},u.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},u.prototype.everyX0Minutes=function(){return"alle %s Minuten"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},u.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},u.prototype.everyX0Hours=function(){return"alle %s Stunden"},u.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},u.prototype.atX0=function(){return"um %s"},u.prototype.commaEveryDay=function(){return", jeden Tag"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},u.prototype.commaX0ThroughX1=function(){return", %s bis %s"},u.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},u.prototype.first=function(){return"ersten"},u.prototype.second=function(){return"zweiten"},u.prototype.third=function(){return"dritten"},u.prototype.fourth=function(){return"vierten"},u.prototype.fifth=function(){return"fünften"},u.prototype.commaOnThe=function(){return", am "},u.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},u.prototype.lastDay=function(){return"der letzte Tag"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},u.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},u.prototype.commaAndOnX0=function(){return", und jeden %s"},u.prototype.commaEveryX0Months=function(){return", alle %s Monate"},u.prototype.commaOnlyInX0=function(){return", nur im %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},u.prototype.firstWeekday=function(){return"ersten Werktag"},u.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},u.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},u.prototype.commaEveryX0Days=function(){return", alle %s Tage"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},u.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},u.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},u.prototype.commaStartingX0=function(){return", beginnend %s"},u.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},u.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},u}();return d.de=h,l().locales.de=new h,i})())}(pS)),pS.exports}xvt();var hS={exports:{}},zL;function Svt(){return zL||(zL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.it=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},u.prototype.at=function(){return"Alle"},u.prototype.atSpace=function(){return"Alle "},u.prototype.atX0=function(){return"alle %s"},u.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},u.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},u.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},u.prototype.commaEveryDay=function(){return", ogni giorno"},u.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},u.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},u.prototype.commaEveryX0Years=function(){return", ogni %s anni"},u.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},u.prototype.commaOnlyInX0=function(){return", solo in %s"},u.prototype.commaOnlyOnX0=function(){return", solo il %s"},u.prototype.commaAndOnX0=function(){return", e il %s"},u.prototype.commaOnThe=function(){return", il "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},u.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},u.prototype.commaX0ThroughX1=function(){return", %s al %s"},u.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},u.prototype.everyHour=function(){return"ogni ora"},u.prototype.everyMinute=function(){return"ogni minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},u.prototype.everySecond=function(){return"ogni secondo"},u.prototype.everyX0Hours=function(){return"ogni %s ore"},u.prototype.everyX0Minutes=function(){return"ogni %s minuti"},u.prototype.everyX0Seconds=function(){return"ogni %s secondi"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primo"},u.prototype.firstWeekday=function(){return"primo giorno della settimana"},u.prototype.fourth=function(){return"quarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},u.prototype.second=function(){return"secondo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},u.prototype.lastDay=function(){return"l'ultimo giorno"},u.prototype.third=function(){return"terzo"},u.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},u.prototype.commaStartingX0=function(){return", a partire %s"},u.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},u.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},u}();return d.it=h,l().locales.it=new h,i})())}(hS)),hS.exports}Svt();var fS={exports:{}},FL;function Cvt(){return FL||(FL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:g=>{g.exports=r}},o={};function a(g){var y=o[g];if(y!==void 0)return y.exports;var b=o[g]={exports:{}};return n[g](b,b.exports,a),b.exports}a.n=g=>{var y=g&&g.__esModule?()=>g.default:()=>g;return a.d(y,{a:y}),y},a.d=(g,y)=>{for(var b in y)a.o(y,b)&&!a.o(g,b)&&Object.defineProperty(g,b,{enumerable:!0,get:y[b]})},a.o=(g,y)=>Object.prototype.hasOwnProperty.call(g,y),a.r=g=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(g,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.ru=void 0;var h=function(g,y){var b=Number(g);return b!==void 0?y[b%100>4&&b%100<20?2:[2,0,1,1,1,2][b%10<5?Math.abs(b)%10:5]]:y[2]},u=function(g,y){var b=Number(g);return b!==void 0?y[b===0?0:b===1||b===2||b===4?1:2]:y[1]},f=function(){function g(){}return g.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},g.prototype.atX0MinutesPastTheHourGt20=function(){return null},g.prototype.commaMonthX0ThroughMonthX1=function(){return null},g.prototype.commaYearX0ThroughYearX1=function(){return null},g.prototype.use24HourTimeFormatByDefault=function(){return!0},g.prototype.everyMinute=function(){return"каждую минуту"},g.prototype.everyHour=function(){return"каждый час"},g.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},g.prototype.atSpace=function(){return"В "},g.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},g.prototype.at=function(){return"В"},g.prototype.spaceAnd=function(){return" и"},g.prototype.everySecond=function(){return"каждую секунду"},g.prototype.everyX0Seconds=function(y){return h(y,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},g.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},g.prototype.atX0SecondsPastTheMinute=function(y){return h(y,["в %s секунду","в %s секунды","в %s секунд"])},g.prototype.everyX0Minutes=function(y){return h(y,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},g.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},g.prototype.atX0MinutesPastTheHour=function(y){return h(y,["в %s минуту","в %s минуты","в %s минут"])},g.prototype.everyX0Hours=function(y){return h(y,["каждый %s час","каждые %s часа","каждые %s часов"])},g.prototype.betweenX0AndX1=function(){return"с %s по %s"},g.prototype.atX0=function(){return"в %s"},g.prototype.commaEveryDay=function(){return", каждый день"},g.prototype.commaEveryX0DaysOfTheWeek=function(y){return h(y,["",", каждые %s дня недели",", каждые %s дней недели"])},g.prototype.commaX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?", со %s по %s":", с %s по %s"},g.prototype.commaAndX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?" и со %s по %s":" и с %s по %s"},g.prototype.first=function(y){return u(y,["первое","первый","первую"])},g.prototype.second=function(y){return u(y,["второе","второй","вторую"])},g.prototype.third=function(y){return u(y,["третье","третий","третью"])},g.prototype.fourth=function(y){return u(y,["четвертое","четвертый","четвертую"])},g.prototype.fifth=function(y){return u(y,["пятое","пятый","пятую"])},g.prototype.commaOnThe=function(y){return y==="2"?", во ":", в "},g.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},g.prototype.lastDay=function(){return"последний день"},g.prototype.commaOnTheLastX0OfTheMonth=function(y){return u(y,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},g.prototype.commaOnlyOnX0=function(y){return y&&y[0]==="2"?", только во %s":", только в %s"},g.prototype.commaAndOnX0=function(){return", и %s"},g.prototype.commaEveryX0Months=function(y){return h(y,[""," каждые %s месяца"," каждые %s месяцев"])},g.prototype.commaOnlyInMonthX0=function(){return", только %s"},g.prototype.commaOnlyInX0=function(){return", только в %s"},g.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},g.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},g.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(y){return h(y,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},g.prototype.firstWeekday=function(){return"первый будний день"},g.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},g.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},g.prototype.commaEveryX0Days=function(y){return h(y,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},g.prototype.commaBetweenDayX0AndX1OfTheMonth=function(y){return y&&y.substring(0,y.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},g.prototype.commaOnDayX0OfTheMonth=function(y){return y&&y[0]=="2"?", во %s число месяца":", в %s число месяца"},g.prototype.commaEveryX0Years=function(y){return h(y,[", каждый %s год",", каждые %s года",", каждые %s лет"])},g.prototype.commaStartingX0=function(){return", начало %s"},g.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},g.prototype.daysOfTheWeekInCase=function(y){return y===void 0&&(y=2),y==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},g.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},g.prototype.monthsOfTheYearInCase=function(y){return y==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},g}();return d.ru=f,l().locales.ru=new f,i})())}(fS)),fS.exports}Cvt();var mS={exports:{}},BL;function $vt(){return BL||(BL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.zh_CN=void 0;var h=function(){function u(){}return u.prototype.setPeriodBeforeTime=function(){return!0},u.prototype.pm=function(){return"下午"},u.prototype.am=function(){return"上午"},u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},u.prototype.use24HourTimeFormatByDefault=function(){return!1},u.prototype.everyMinute=function(){return"每分钟"},u.prototype.everyHour=function(){return"每小时"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},u.prototype.atSpace=function(){return"在"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},u.prototype.at=function(){return"在"},u.prototype.spaceAnd=function(){return" 和"},u.prototype.everySecond=function(){return"每秒"},u.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在每分钟的第 %s 到 %s 秒"},u.prototype.atX0SecondsPastTheMinute=function(){return"在每分钟的第 %s 秒"},u.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"在每小时的第 %s 到 %s 分钟"},u.prototype.atX0MinutesPastTheHour=function(){return"在每小时的第 %s 分钟"},u.prototype.everyX0Hours=function(){return"每隔 %s 小时"},u.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},u.prototype.atX0=function(){return"在%s"},u.prototype.commaEveryDay=function(){return", 每天"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},u.prototype.commaX0ThroughX1=function(){return", %s至%s"},u.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},u.prototype.first=function(){return"第一个"},u.prototype.second=function(){return"第二个"},u.prototype.third=function(){return"第三个"},u.prototype.fourth=function(){return"第四个"},u.prototype.fifth=function(){return"第五个"},u.prototype.commaOnThe=function(){return", 限每月的"},u.prototype.spaceX0OfTheMonth=function(){return"%s"},u.prototype.lastDay=function(){return"本月最后一天"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},u.prototype.commaOnlyOnX0=function(){return", 仅%s"},u.prototype.commaAndOnX0=function(){return", 或者为%s"},u.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},u.prototype.commaOnlyInX0=function(){return", 仅限%s"},u.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},u.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},u.prototype.firstWeekday=function(){return"第一个工作日"},u.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},u.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},u.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},u.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},u.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},u.prototype.commaStartingX0=function(){return", %s开始"},u.prototype.dayX0=function(){return" %s 号"},u.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},u.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},u}();return d.zh_CN=h,l().locales.zh_CN=new h,i})())}(mS)),mS.exports}$vt();var gS={exports:{}},WL;function kvt(){return WL||(WL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.uk=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"щохвилини"},u.prototype.everyHour=function(){return"щогодини"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},u.prototype.atSpace=function(){return"О "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},u.prototype.at=function(){return"О"},u.prototype.spaceAnd=function(){return" та"},u.prototype.everySecond=function(){return"Щосекунди"},u.prototype.everyX0Seconds=function(){return"кожні %s секунд"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},u.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},u.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},u.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},u.prototype.everyX0Hours=function(){return"кожні %s годин"},u.prototype.betweenX0AndX1=function(){return"між %s та %s"},u.prototype.atX0=function(){return"о %s"},u.prototype.commaEveryDay=function(){return", щоденно"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},u.prototype.commaX0ThroughX1=function(){return", %s по %s"},u.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},u.prototype.first=function(){return"перший"},u.prototype.second=function(){return"другий"},u.prototype.third=function(){return"третій"},u.prototype.fourth=function(){return"четвертий"},u.prototype.fifth=function(){return"п'ятий"},u.prototype.commaOnThe=function(){return", в "},u.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},u.prototype.lastDay=function(){return"останній день"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},u.prototype.commaOnlyOnX0=function(){return", тільки в %s"},u.prototype.commaAndOnX0=function(){return", і в %s"},u.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},u.prototype.commaOnlyInX0=function(){return", тільки в %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},u.prototype.firstWeekday=function(){return"перший будень"},u.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},u.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},u.prototype.commaEveryX0Days=function(){return", кожен %s день"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},u.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},u.prototype.commaEveryX0Years=function(){return", кожні %s роки"},u.prototype.commaStartingX0=function(){return", початок %s"},u.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},u.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},u}();return d.uk=h,l().locales.uk=new h,i})())}(gS)),gS.exports}kvt();var vS={exports:{}},HL;function Evt(){return HL||(HL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.pt_BR=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},u.prototype.at=function(){return"às"},u.prototype.atSpace=function(){return"às "},u.prototype.atX0=function(){return"Às %s"},u.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},u.prototype.betweenX0AndX1=function(){return"entre %s e %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},u.prototype.commaEveryDay=function(){return", a cada dia"},u.prototype.commaEveryX0Days=function(){return", a cada %s dias"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},u.prototype.commaEveryX0Months=function(){return", a cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},u.prototype.commaOnlyInX0=function(f){return f&&f.length>1&&f[1]==="-"?"somente %s":", somente em %s"},u.prototype.commaOnlyOnX0=function(f){return f&&f.length>1&&f[1]==="-"?", somente %s":", somente de %s"},u.prototype.commaAndOnX0=function(){return", e de %s"},u.prototype.commaOnThe=function(f,g){return g==="6"||g==="0"?", no":", na "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},u.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},u.prototype.everyHour=function(){return"a cada hora"},u.prototype.everyMinute=function(){return"a cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},u.prototype.everySecond=function(){return"a cada segundo"},u.prototype.everyX0Hours=function(){return"a cada %s horas"},u.prototype.everyX0Minutes=function(){return"a cada %s minutos"},u.prototype.everyX0Seconds=function(){return"a cada %s segundos"},u.prototype.fifth=function(f){return f==="6"||f==="0"?"quinto":"quinta"},u.prototype.first=function(f){return f==="6"||f==="0"?"primeiro":"primeira"},u.prototype.firstWeekday=function(){return"primeiro dia da semana"},u.prototype.fourth=function(f){return f==="6"||f==="0"?"quarto":"quarta"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},u.prototype.second=function(f){return f==="6"||f==="0"?"segundo":"segunda"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},u.prototype.lastDay=function(){return"o último dia"},u.prototype.third=function(f){return f==="6"||f==="0"?"terceiro":"terceira"},u.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},u.prototype.commaEveryX0Years=function(){return", a cada %s anos"},u.prototype.commaStartingX0=function(){return", iniciando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},u.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},u}();return d.pt_BR=h,l().locales.pt_BR=new h,i})())}(vS)),vS.exports}Evt();var yS={exports:{}},UL;function Tvt(){return UL||(UL=1,function(t,e){(function(n,o){t.exports=o(di())})(globalThis,r=>(()=>{var n={93:u=>{u.exports=r}},o={};function a(u){var f=o[u];if(f!==void 0)return f.exports;var g=o[u]={exports:{}};return n[u](g,g.exports,a),g.exports}a.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return a.d(f,{a:f}),f},a.d=(u,f)=>{for(var g in f)a.o(f,g)&&!a.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:f[g]})},a.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),a.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var i={};a.r(i);var s=a(93),l=a.n(s),d=i;Object.defineProperty(d,"__esModule",{value:!0}),d.pl=void 0;var h=function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},u.prototype.at=function(){return"O"},u.prototype.atSpace=function(){return"O "},u.prototype.atX0=function(){return"o %s"},u.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},u.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},u.prototype.betweenX0AndX1=function(){return"od %s do %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},u.prototype.commaEveryDay=function(){return", co dzień"},u.prototype.commaEveryX0Days=function(){return", co %s dni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},u.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},u.prototype.commaEveryX0Years=function(){return", co %s lat"},u.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},u.prototype.commaOnlyInX0=function(){return", tylko %s"},u.prototype.commaOnlyOnX0=function(){return", tylko %s"},u.prototype.commaAndOnX0=function(){return", i %s"},u.prototype.commaOnThe=function(){return", "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},u.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},u.prototype.commaX0ThroughX1=function(){return", od %s do %s"},u.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},u.prototype.everyHour=function(){return"co godzinę"},u.prototype.everyMinute=function(){return"co minutę"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},u.prototype.everySecond=function(){return"co sekundę"},u.prototype.everyX0Hours=function(){return"co %s godzin"},u.prototype.everyX0Minutes=function(){return"co %s minut"},u.prototype.everyX0Seconds=function(){return"co %s sekund"},u.prototype.fifth=function(){return"piąty"},u.prototype.first=function(){return"pierwszy"},u.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},u.prototype.fourth=function(){return"czwarty"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},u.prototype.second=function(){return"drugi"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},u.prototype.spaceAnd=function(){return" i"},u.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},u.prototype.lastDay=function(){return"ostatni dzień"},u.prototype.third=function(){return"trzeci"},u.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},u.prototype.commaStartingX0=function(){return", startowy %s"},u.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},u.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},u}();return d.pl=h,l().locales.pl=new h,i})())}(yS)),yS.exports}Tvt();function tV(t,e){return _vt.toString(t,{locale:e})}const Kn={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},slider:{marginTop:20,display:"block",width:"100%"},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},numberButtonBreak:{display:"block"},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},Ovt=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Dvt=["January","February","March","April","May","June","July","August","September","October","November","December"];function VL(t,e){const r=[];if(t==="*"){if(e===24||e===60||e===7)for(let o=0;o1){const i=parseInt(a[1],10);for(let s=parseInt(a[0],10);s<=i;s++)r.push(s)}else r.push(parseInt(n[o],10))}r.sort();for(let o=r.length-1;o>=0;o--)r[o]===r[o+1]&&r.splice(o+1,1);return r}function qL(t,e){if(typeof t!="object"&&(t=[t]),t.length===e)return"*";const r=[];if(!t.length)return"-";t=t.map(a=>parseInt(a,10)),t.sort((a,i)=>a-i);let n=t[0],o=t[0];for(let a=1;athis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const r=e.split(" ").map(o=>o.trim());let n;return r.length===6?n={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",dates:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:n={seconds:!1,minutes:r[0]||"*",hours:r[1]||"*",dates:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},n}static state2cron(e){let r=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(r=`${e.seconds} ${r}`),r}recalcCron(){const e=Cs.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,r,n){if(e===!0)this.setCronAttr(r,"*");else if(e===!1)n===60||n===24?this.setCronAttr(r,"0"):this.setCronAttr(r,"1");else{const o=VL(this.state[r],n),a=o.indexOf(e);a!==-1?o.splice(a,1):(o.push(e),o.sort()),this.setCronAttr(r,qL(o,n))}}getDigitsSelector(e,r){let n=[];if(r===7)n=[1,2,3,4,5,6,0];else if(r===60||r===24)for(let a=0;athis.onToggle(!1,e,r)},P.t("ra_Deselect all")),m.createElement(tt,{key:"addall",variant:"contained",style:Kn.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,r)},P.t("ra_Select all")),m.createElement("div",{key:"all"},n.map(a=>[r===7&&a===4||r===12&&a===7||r===31&&!((a-1)%10)||r===60&&a&&!(a%10)||r===24&&a&&!(a%6)?m.createElement("div",{key:`allInner${a}`,style:{width:"100%"}}):null,m.createElement(tt,{key:`_${a}`,variant:o.indexOf(a)!==-1?"contained":"outlined",style:Kn.numberButton,color:o.indexOf(a)!==-1?"secondary":"primary",onClick:()=>this.onToggle(a,e,r)},r===7?P.t(Ovt[a]):r===12?Dvt[a-1]:a)]))]}getPeriodsTab(e,r){const n=this.state[e];let o=n==="*",a=n==null?!1:n.toString().includes("/"),i;if(this.state.modes[e]===null){i=o?"every":a?"everyN":"specific";const l=JSON.parse(JSON.stringify(this.state.modes));return l[e]=i,setTimeout(()=>this.setState({modes:l},()=>this.recalcCron()),100),null}o=this.state.modes[e]==="every",a=this.state.modes[e]==="everyN",i=this.state.modes[e];let s=1;return a&&n&&(s=parseInt(n.replace("*/",""),10)||1),m.createElement("div",null,m.createElement(Bn,{variant:"standard",style:{...Kn.periodSelect,verticalAlign:"bottom"},value:i,onChange:l=>{const d=JSON.parse(JSON.stringify(this.state.modes));if(d[e]=l.target.value,l.target.value==="every")this.setCronAttr(e,"*",d);else if(l.target.value==="everyN"){const h=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${h}`,d)}else if(l.target.value==="specific"){let h=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!h&&(e==="months"||e==="dates")&&(h=1),this.setCronAttr(e,qL(h,r),d)}}},m.createElement(Jt,{key:"every",value:"every"},P.t(`sc_every_${e}`)),m.createElement(Jt,{key:"everyN",value:"everyN"},P.t(`sc_everyN_${e}`)),m.createElement(Jt,{key:"specific",value:"specific"},P.t(`sc_specific_${e}`))),a&&m.createElement(Ht,{variant:"standard",key:"interval",label:P.t(`sc_${e}`),value:s,slotProps:{htmlInput:{min:1,max:r},inputLabel:{shrink:!0}},onChange:l=>{this.setState({[e]:`*/${l.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!o&&!a&&this.getDigitsSelector(e,r))}static convertCronToText(e,r){return e.split(" ").includes("-")?P.t("ra_Invalid CRON"):tV(e,r)}setCronAttr(e,r,n){n?e==="seconds"?this.setState({seconds:r,modes:n},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:r,modes:n},()=>this.recalcCron()):e==="hours"?this.setState({hours:r,modes:n},()=>this.recalcCron()):e==="dates"?this.setState({dates:r,modes:n},()=>this.recalcCron()):e==="months"?this.setState({months:r,modes:n},()=>this.recalcCron()):e==="dow"?this.setState({dow:r,modes:n},()=>this.recalcCron()):this.setState({modes:n},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:r},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:r},()=>this.recalcCron()):e==="hours"?this.setState({hours:r},()=>this.recalcCron()):e==="dates"?this.setState({dates:r},()=>this.recalcCron()):e==="months"?this.setState({months:r},()=>this.recalcCron()):e==="dow"&&this.setState({dow:r},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,r=this.state.minutes==="*"||this.state.minutes==="*/1",n=this.state.seconds==="*"||this.state.seconds==="*/1";return m.createElement("div",{style:Kn.mainDiv},m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},m.createElement(Ht,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},Cs.convertCronToText(this.state.cron,this.props.language||"en"),m.createElement("span",{style:Kn.warning},n?P.t("ra_warning_every_second"):r?P.t("ra_warning_every_minute"):"")),m.createElement(St,{control:m.createElement(yr,{checked:!!this.state.seconds,onChange:o=>this.setState({seconds:o.target.checked?"*":!1},()=>this.recalcCron())}),label:P.t("ra_use seconds")}),m.createElement(PW,{position:"static",sx:{"&.MuiAppBar-root":Kn.appBar},color:"secondary"},m.createElement(sH,{value:this.state.tab,style:Kn.appBar,color:"secondary",onChange:(o,a)=>this.setState({tab:a})},this.state.seconds!==!1&&m.createElement(Uo,{id:"sc_seconds",label:P.t("sc_seconds")}),m.createElement(Uo,{id:"minutes",label:P.t("sc_minutes")}),m.createElement(Uo,{id:"hours",label:P.t("sc_hours")}),m.createElement(Uo,{id:"dates",label:P.t("sc_dates")}),m.createElement(Uo,{id:"months",label:P.t("sc_months")}),m.createElement(Uo,{id:"dow",label:P.t("sc_dows")}))),e===0&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("seconds",60)),e===1&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("minutes",60)),e===2&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("hours",24)),e===3&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("dates",31)),e===4&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("months",12)),e===5&&m.createElement("div",{style:Kn.tabContent},this.getPeriodsTab("dow",7)))}}function rc(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(h){try{d(n.next(h))}catch(u){i(u)}}function l(h){try{d(n.throw(h))}catch(u){i(u)}}function d(h){h.done?a(h.value):o(h.value).then(s,l)}d((n=n.apply(t,e||[])).next())})}const Avt=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function Cu(t,e,r){const n=Ivt(t),{webkitRelativePath:o}=t,a=typeof e=="string"?e:typeof o=="string"&&o.length>0?o:`./${t.name}`;return typeof n.path!="string"&&GL(n,"path",a),GL(n,"relativePath",a),n}function Ivt(t){const{name:e}=t;if(e&&e.lastIndexOf(".")!==-1&&!t.type){const n=e.split(".").pop().toLowerCase(),o=Avt.get(n);o&&Object.defineProperty(t,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return t}function GL(t,e,r){Object.defineProperty(t,e,{value:r,writable:!1,configurable:!1,enumerable:!0})}const Mvt=[".DS_Store","Thumbs.db"];function Pvt(t){return rc(this,void 0,void 0,function*(){return Hv(t)&&Nvt(t.dataTransfer)?zvt(t.dataTransfer,t.type):Rvt(t)?jvt(t):Array.isArray(t)&&t.every(e=>"getFile"in e&&typeof e.getFile=="function")?Lvt(t):[]})}function Nvt(t){return Hv(t)}function Rvt(t){return Hv(t)&&Hv(t.target)}function Hv(t){return typeof t=="object"&&t!==null}function jvt(t){return g2(t.target.files).map(e=>Cu(e))}function Lvt(t){return rc(this,void 0,void 0,function*(){return(yield Promise.all(t.map(r=>r.getFile()))).map(r=>Cu(r))})}function zvt(t,e){return rc(this,void 0,void 0,function*(){if(t.items){const r=g2(t.items).filter(o=>o.kind==="file");if(e!=="drop")return r;const n=yield Promise.all(r.map(Fvt));return XL(rV(n))}return XL(g2(t.files).map(r=>Cu(r)))})}function XL(t){return t.filter(e=>Mvt.indexOf(e.name)===-1)}function g2(t){if(t===null)return[];const e=[];for(let r=0;r[...e,...Array.isArray(r)?rV(r):[r]],[])}function JL(t,e){return rc(this,void 0,void 0,function*(){var r;if(globalThis.isSecureContext&&typeof t.getAsFileSystemHandle=="function"){const a=yield t.getAsFileSystemHandle();if(a===null)throw new Error(`${t} is not a File`);if(a!==void 0){const i=yield a.getFile();return i.handle=a,Cu(i)}}const n=t.getAsFile();if(!n)throw new Error(`${t} is not a File`);return Cu(n,(r=e==null?void 0:e.fullPath)!==null&&r!==void 0?r:void 0)})}function Bvt(t){return rc(this,void 0,void 0,function*(){return t.isDirectory?nV(t):Wvt(t)})}function nV(t){const e=t.createReader();return new Promise((r,n)=>{const o=[];function a(){e.readEntries(i=>rc(this,void 0,void 0,function*(){if(i.length){const s=Promise.all(i.map(Bvt));o.push(s),a()}else try{const s=yield Promise.all(o);r(s)}catch(s){n(s)}}),i=>{n(i)})}a()})}function Wvt(t){return rc(this,void 0,void 0,function*(){return new Promise((e,r)=>{t.file(n=>{const o=Cu(n,t.fullPath);e(o)},n=>{r(n)})})})}var Ag={},YL;function Hvt(){return YL||(YL=1,Ag.__esModule=!0,Ag.default=function(t,e){if(t&&e){var r=Array.isArray(e)?e:e.split(",");if(r.length===0)return!0;var n=t.name||"",o=(t.type||"").toLowerCase(),a=o.replace(/\/.*$/,"");return r.some(function(i){var s=i.trim().toLowerCase();return s.charAt(0)==="."?n.toLowerCase().endsWith(s):s.endsWith("/*")?a===s.replace(/\/.*$/,""):o===s})}return!0}),Ag}var Uvt=Hvt();const _S=so(Uvt);function KL(t){return Gvt(t)||qvt(t)||aV(t)||Vvt()}function Vvt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qvt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Gvt(t){if(Array.isArray(t))return v2(t)}function ZL(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function QL(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&arguments[0]!==void 0?arguments[0]:"",r=e.split(","),n=r.length>1?"one of ".concat(r.join(", ")):r[0];return{code:Zvt,message:"File type must be ".concat(n)}},ez=function(e){return{code:Qvt,message:"File is larger than ".concat(e," ").concat(e===1?"byte":"bytes")}},tz=function(e){return{code:eyt,message:"File is smaller than ".concat(e," ").concat(e===1?"byte":"bytes")}},nyt={code:tyt,message:"Too many files"};function iV(t,e){var r=t.type==="application/x-moz-file"||Kvt(t,e);return[r,r?null:ryt(e)]}function sV(t,e,r){if(gl(t.size))if(gl(e)&&gl(r)){if(t.size>r)return[!1,ez(r)];if(t.sizer)return[!1,ez(r)]}return[!0,null]}function gl(t){return t!=null}function oyt(t){var e=t.files,r=t.accept,n=t.minSize,o=t.maxSize,a=t.multiple,i=t.maxFiles,s=t.validator;return!a&&e.length>1||a&&i>=1&&e.length>i?!1:e.every(function(l){var d=iV(l,r),h=df(d,1),u=h[0],f=sV(l,n,o),g=df(f,1),y=g[0],b=s?s(l):null;return u&&y&&!b})}function Uv(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Ig(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(e){return e==="Files"||e==="application/x-moz-file"}):!!t.target&&!!t.target.files}function rz(t){t.preventDefault()}function ayt(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function iyt(t){return t.indexOf("Edge/")!==-1}function syt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ayt(t)||iyt(t)}function Ha(){for(var t=arguments.length,e=new Array(t),r=0;r1?o-1:0),i=1;it.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Cyt(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,a;for(a=0;a=0)&&(r[o]=t[o]);return r}var s_=A.forwardRef(function(t,e){var r=t.children,n=Vv(t,hyt),o=$yt(n),a=o.open,i=Vv(o,fyt);return A.useImperativeHandle(e,function(){return{open:a}},[a]),m.createElement(A.Fragment,null,r(jr(jr({},i),{},{open:a})))});s_.displayName="Dropzone";var uV={disabled:!1,getFilesFromEvent:Pvt,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};s_.defaultProps=uV;s_.propTypes={children:ye.func,accept:ye.objectOf(ye.arrayOf(ye.string)),multiple:ye.bool,preventDropOnDocument:ye.bool,noClick:ye.bool,noKeyboard:ye.bool,noDrag:ye.bool,noDragEventsBubbling:ye.bool,minSize:ye.number,maxSize:ye.number,maxFiles:ye.number,disabled:ye.bool,getFilesFromEvent:ye.func,onFileDialogCancel:ye.func,onFileDialogOpen:ye.func,useFsAccessApi:ye.bool,autoFocus:ye.bool,onDragEnter:ye.func,onDragLeave:ye.func,onDragOver:ye.func,onDrop:ye.func,onDropAccepted:ye.func,onDropRejected:ye.func,onError:ye.func,validator:ye.func};var b2={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function $yt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=jr(jr({},uV),t),r=e.accept,n=e.disabled,o=e.getFilesFromEvent,a=e.maxSize,i=e.minSize,s=e.multiple,l=e.maxFiles,d=e.onDragEnter,h=e.onDragLeave,u=e.onDragOver,f=e.onDrop,g=e.onDropAccepted,y=e.onDropRejected,b=e.onFileDialogCancel,x=e.onFileDialogOpen,S=e.useFsAccessApi,T=e.autoFocus,E=e.preventDropOnDocument,$=e.noClick,k=e.noKeyboard,O=e.noDrag,M=e.noDragEventsBubbling,R=e.onError,j=e.validator,I=A.useMemo(function(){return dyt(r)},[r]),z=A.useMemo(function(){return cyt(r)},[r]),W=A.useMemo(function(){return typeof x=="function"?x:oz},[x]),L=A.useMemo(function(){return typeof b=="function"?b:oz},[b]),F=A.useRef(null),H=A.useRef(null),q=A.useReducer(kyt,b2),ee=bS(q,2),Y=ee[0],G=ee[1],te=Y.isFocused,B=Y.isFileDialogActive,K=A.useRef(typeof window<"u"&&window.isSecureContext&&S&&lyt()),he=function(){!K.current&&B&&setTimeout(function(){if(H.current){var ae=H.current.files;ae.length||(G({type:"closeDialog"}),L())}},300)};A.useEffect(function(){return window.addEventListener("focus",he,!1),function(){window.removeEventListener("focus",he,!1)}},[H,B,L,K]);var fe=A.useRef([]),ge=function(ae){F.current&&F.current.contains(ae.target)||(ae.preventDefault(),fe.current=[])};A.useEffect(function(){return E&&(document.addEventListener("dragover",rz,!1),document.addEventListener("drop",ge,!1)),function(){E&&(document.removeEventListener("dragover",rz),document.removeEventListener("drop",ge))}},[F,E]),A.useEffect(function(){return!n&&T&&F.current&&F.current.focus(),function(){}},[F,T,n]);var Ee=A.useCallback(function(J){R?R(J):console.error(J)},[R]),ze=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J),fe.current=[].concat(vyt(fe.current),[J.target]),Ig(J)&&Promise.resolve(o(J)).then(function(ae){if(!(Uv(J)&&!M)){var Se=ae.length,Te=Se>0&&oyt({files:ae,accept:I,minSize:i,maxSize:a,multiple:s,maxFiles:l,validator:j}),Oe=Se>0&&!Te;G({isDragAccept:Te,isDragReject:Oe,isDragActive:!0,type:"setDraggedFiles"}),d&&d(J)}}).catch(function(ae){return Ee(ae)})},[o,d,Ee,M,I,i,a,s,l,j]),Ne=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J);var ae=Ig(J);if(ae&&J.dataTransfer)try{J.dataTransfer.dropEffect="copy"}catch{}return ae&&u&&u(J),!1},[u,M]),Fe=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J);var ae=fe.current.filter(function(Te){return F.current&&F.current.contains(Te)}),Se=ae.indexOf(J.target);Se!==-1&&ae.splice(Se,1),fe.current=ae,!(ae.length>0)&&(G({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Ig(J)&&h&&h(J))},[F,h,M]),Pe=A.useCallback(function(J,ae){var Se=[],Te=[];J.forEach(function(Oe){var Ce=iV(Oe,I),nt=bS(Ce,2),Le=nt[0],mt=nt[1],vt=sV(Oe,i,a),wt=bS(vt,2),pe=wt[0],$e=wt[1],ot=j?j(Oe):null;if(Le&&pe&&!ot)Se.push(Oe);else{var yt=[mt,$e];ot&&(yt=yt.concat(ot)),Te.push({file:Oe,errors:yt.filter(function(Pt){return Pt})})}}),(!s&&Se.length>1||s&&l>=1&&Se.length>l)&&(Se.forEach(function(Oe){Te.push({file:Oe,errors:[nyt]})}),Se.splice(0)),G({acceptedFiles:Se,fileRejections:Te,isDragReject:Te.length>0,type:"setFiles"}),f&&f(Se,Te,ae),Te.length>0&&y&&y(Te,ae),Se.length>0&&g&&g(Se,ae)},[G,s,I,i,a,l,f,g,y,j]),Ye=A.useCallback(function(J){J.preventDefault(),J.persist(),at(J),fe.current=[],Ig(J)&&Promise.resolve(o(J)).then(function(ae){Uv(J)&&!M||Pe(ae,J)}).catch(function(ae){return Ee(ae)}),G({type:"reset"})},[o,Pe,Ee,M]),Be=A.useCallback(function(){if(K.current){G({type:"openDialog"}),W();var J={multiple:s,types:z};window.showOpenFilePicker(J).then(function(ae){return o(ae)}).then(function(ae){Pe(ae,null),G({type:"closeDialog"})}).catch(function(ae){uyt(ae)?(L(ae),G({type:"closeDialog"})):pyt(ae)?(K.current=!1,H.current?(H.current.value=null,H.current.click()):Ee(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):Ee(ae)});return}H.current&&(G({type:"openDialog"}),W(),H.current.value=null,H.current.click())},[G,W,L,S,Pe,Ee,z,s]),Ke=A.useCallback(function(J){!F.current||!F.current.isEqualNode(J.target)||(J.key===" "||J.key==="Enter"||J.keyCode===32||J.keyCode===13)&&(J.preventDefault(),Be())},[F,Be]),Xe=A.useCallback(function(){G({type:"focus"})},[]),ve=A.useCallback(function(){G({type:"blur"})},[]),le=A.useCallback(function(){$||(syt()?setTimeout(Be,0):Be())},[$,Be]),re=function(ae){return n?null:ae},He=function(ae){return k?null:re(ae)},Ve=function(ae){return O?null:re(ae)},at=function(ae){M&&ae.stopPropagation()},ut=A.useMemo(function(){return function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ae=J.refKey,Se=ae===void 0?"ref":ae,Te=J.role,Oe=J.onKeyDown,Ce=J.onFocus,nt=J.onBlur,Le=J.onClick,mt=J.onDragEnter,vt=J.onDragOver,wt=J.onDragLeave,pe=J.onDrop,$e=Vv(J,myt);return jr(jr(_2({onKeyDown:He(Ha(Oe,Ke)),onFocus:He(Ha(Ce,Xe)),onBlur:He(Ha(nt,ve)),onClick:re(Ha(Le,le)),onDragEnter:Ve(Ha(mt,ze)),onDragOver:Ve(Ha(vt,Ne)),onDragLeave:Ve(Ha(wt,Fe)),onDrop:Ve(Ha(pe,Ye)),role:typeof Te=="string"&&Te!==""?Te:"presentation"},Se,F),!n&&!k?{tabIndex:0}:{}),$e)}},[F,Ke,Xe,ve,le,ze,Ne,Fe,Ye,k,O,n]),ke=A.useCallback(function(J){J.stopPropagation()},[]),pt=A.useMemo(function(){return function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ae=J.refKey,Se=ae===void 0?"ref":ae,Te=J.onChange,Oe=J.onClick,Ce=Vv(J,gyt),nt=_2({accept:I,multiple:s,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:re(Ha(Te,Ye)),onClick:re(Ha(Oe,ke)),tabIndex:-1},Se,H);return jr(jr({},nt),Ce)}},[H,r,s,Ye,n]);return jr(jr({},Y),{},{isFocused:te&&!n,getRootProps:ut,getInputProps:pt,rootRef:F,inputRef:H,open:re(Be)})}function kyt(t,e){switch(e.type){case"focus":return jr(jr({},t),{},{isFocused:!0});case"blur":return jr(jr({},t),{},{isFocused:!1});case"openDialog":return jr(jr({},b2),{},{isFileDialogActive:!0});case"closeDialog":return jr(jr({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":return jr(jr({},t),{},{isDragActive:e.isDragActive,isDragAccept:e.isDragAccept,isDragReject:e.isDragReject});case"setFiles":return jr(jr({},t),{},{acceptedFiles:e.acceptedFiles,fileRejections:e.fileRejections,isDragReject:e.isDragReject});case"reset":return jr({},b2);default:return t}}function oz(){}function Eyt(){const t=ai();return[...t.breakpoints.keys].reverse().reduce((r,n)=>{const o=Rce(t.breakpoints.up(n));return!r&&o?n:r},null)||"xs"}function qs(){return t=>function(r){const n=Eyt();return m.createElement(t,{...r,width:n})}}function Tyt(t){const[e,r]=m.useState(t.input||t.value||""),[n,o]=m.useState("");return m.createElement(or,{open:!0,onClose:()=>t.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:t.fullWidth!==void 0?t.fullWidth:!1},m.createElement(_r,{id:"form-dialog-title"},t.titleText),m.createElement(Wr,null,m.createElement(Ds,null,t.promptText),m.createElement(Ht,{variant:"standard",autoFocus:!0,margin:"dense",error:!!n,helperText:n===!0||!n?"":n,value:e,label:t.labelText||"",type:t.type||"text",onKeyUp:a=>a.code==="Enter"&&e&&t.onClose(e),onChange:a=>{let i="";t.verify&&(i=!t.verify(a.target.value)),t.rule?r(t.rule(a.target.value)):r(a.target.value),o(i)},fullWidth:!0})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",disabled:!e||!!n,onClick:()=>t.onClose(e),color:"primary",startIcon:m.createElement(Ea,null)},t.applyText||P.t("ra_Ok")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>t.onClose(null),startIcon:m.createElement(Ar,null)},t.cancelText||P.t("ra_Cancel"))))}const Oyt=qs()(Tyt),w2=t=>m.createElement("svg",{onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 486 486",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"m414.928297,149.715165 c-2.639376,-57.222555 -35.669446,-106.505345 -83.345894,-132.039151 c-3.758948,-2.049842 -7.636885,-3.932022 -11.590542,-5.641125 c-19.303146,-8.394083 -40.607459,-13.050853 -63.004303,-13.050853 c-84.113909,0 -152.791790,65.703174 -157.718988,148.605566 l0.043268,-0.010816 v0.281245 c0,3.061243 -0.146031,16.750306 -0.146031,16.750306 l-2.352723,5.224668 h15.744315 c5.916964,-19.384275 24.078904,-32.635245 45.513024,-32.635245 c26.231510,0 47.573684,21.915481 47.573684,48.146991 c0,26.226103 -21.342174,47.146409 -47.573684,47.146409 c-25.111939,0 -45.734774,-19.735831 -47.443879,-44.658471 h-18.789334 c-0.400232,0 -0.778832,0.638209 -1.162839,0.584122 l-19.762875,55.199753 c-2.774590,7.696379 2.926030,16.214860 11.103771,16.214860 h17.020735 l-0.129805,87.899899 c0,17.356066 14.073071,31.174935 31.429136,31.174935 h56.205745 v82.648189 c0,12.877778 12.937273,22.580734 25.815051,22.580734 h144.597825 c12.877778,0 23.429877,-9.702955 23.429877,-22.580734 v-166.037352 c0,-22.645636 5.976457,-44.761234 16.561008,-64.789128 c11.055093,-20.925714 17.523731,-44.620611 18.129489,-69.792045 c0.027042,-1.260193 0.037858,-2.552839 0.037858,-3.845485 c0,-2.466302 -0.070310,-4.938014 -0.183890,-7.377273 zm-155.393308,-11.731165 h-13.456494 v13.559257 c0,4.732489 -4.267352,8.567157 -8.999842,8.567157 c-4.727079,0 -8.999842,-3.834667 -8.999842,-8.567157 v-13.559257 h-12.185483 c-4.732489,0 -8.567157,-4.267352 -8.567157,-8.999842 c0,-4.727079 3.834667,-8.999842 8.567157,-8.999842 h12.185483 v-12.077311 c0,-4.732489 4.272762,-8.567157 8.999842,-8.567157 c4.732489,0 8.999842,3.834667 8.999842,8.567157 v12.077311 h13.456494 c4.727079,0 8.567157,4.272762 8.567157,8.999842 c0,4.732489 -3.840077,8.999842 -8.567157,8.999842 zm0,0"}),m.createElement("path",{fill:"currentColor",d:"m187.695312 285.875c3.9375-3.980469 6.414063-9.449219 6.414063-15.523438 0-12.128906-9.855469-21.980468-21.984375-21.980468-6.007812 0-11.472656 2.410156-15.457031 6.347656-4.023438 4.003906-6.523438 9.539062-6.523438 15.636719 0 12.125 9.855469 21.980469 21.980469 21.980469 6.078125 0 11.585938-2.476563 15.570312-6.460938zm0 0"})),ru=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 650 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"m524,128l-192,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,288c0,26.51 21.49,48 48,48l416,0c26.51,0 48,-21.49 48,-48l0,-224c0,-26.51 -21.49,-48 -48,-48z"})),nv=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 650 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"m631.75617,292.093l-72.424,124.155a63.997,63.997 0 0 1 -55.281,31.752l-399.964,0c-18.523,0 -30.064,-20.093 -20.731,-36.093l72.424,-124.155a64,64 0 0 1 55.282,-31.752l399.964,0c18.523,0 30.064,20.093 20.73,36.093zm-420.694,-68.093l328,0l0,-48c0,-26.51 -21.49,-48 -48,-48l-160,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,278.046l69.077,-118.418c17.137,-29.378 48.912,-47.628 82.923,-47.628z"})),CD=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"#EE3333",d:"M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,448 c-105.865,0-192-86.135-192-192c0-40.406,12.25-78.604,35.542-111.198l267.656,267.656C334.604,435.75,296.406,448,256,448z M412.458,367.198L144.802,99.542C177.396,76.25,215.594,64,256,64c105.865,0,192,86.135,192,192 C448,296.406,435.75,334.604,412.458,367.198z"}));var Dyt=t=>typeof t!="string"?{}:t.split(/ ?; ?/).reduce((e,r)=>{const[n,o]=r.split(/ ?: ?/).map((a,i)=>i===0?a.replace(/\s+/g,""):a.trim());if(n&&o){const a=n.replace(/(\w)-(\w)/g,(s,l,d)=>`${l}${d.toUpperCase()}`);let i=o.trim();Number.isNaN(Number(o))||(i=Number(o)),e[n.startsWith("-")?n:a]=i}return e},{});function Ayt(t=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let r="";for(let n=t;n>0;--n)r+=e[Math.round(Math.random()*(e.length-1))];return r}var Iyt=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],az={"accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",enctype:"encType",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",typemustmatch:"typeMustMatch",usemap:"useMap",accentheight:"accentHeight","accent-height":"accentHeight",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",arabicform:"arabicForm","arabic-form":"arabicForm",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",edgemode:"edgeMode",enablebackground:"enableBackground","enable-background":"enableBackground",externalresourcesrequired:"externalResourcesRequired",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",imagerendering:"imageRendering","image-rendering":"imageRendering",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","v-mathematical":"vMathematical",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan",onblur:"onBlur",onchange:"onChange",onclick:"onClick",oncontextmenu:"onContextMenu",ondoubleclick:"onDoubleClick",ondrag:"onDrag",ondragend:"onDragEnd",ondragenter:"onDragEnter",ondragexit:"onDragExit",ondragleave:"onDragLeave",ondragover:"onDragOver",ondragstart:"onDragStart",ondrop:"onDrop",onerror:"onError",onfocus:"onFocus",oninput:"onInput",oninvalid:"onInvalid",onkeydown:"onKeyDown",onkeypress:"onKeyPress",onkeyup:"onKeyUp",onload:"onLoad",onmousedown:"onMouseDown",onmouseenter:"onMouseEnter",onmouseleave:"onMouseLeave",onmousemove:"onMouseMove",onmouseout:"onMouseOut",onmouseover:"onMouseOver",onmouseup:"onMouseUp",onscroll:"onScroll",onsubmit:"onSubmit",ontouchcancel:"onTouchCancel",ontouchend:"onTouchEnd",ontouchmove:"onTouchMove",ontouchstart:"onTouchStart",onwheel:"onWheel"};function Myt(t,e){var a;const{key:r,level:n,...o}=e;switch(t.nodeType){case 1:return A.createElement(Nyt(t.nodeName),Pyt(t,r),iz(t.childNodes,n,o));case 3:{const i=((a=t.nodeValue)==null?void 0:a.toString())??"";if(!o.allowWhiteSpaces&&/^\s+$/.test(i)&&!/[\u00A0\u202F]/.test(i))return null;if(!t.parentNode)return i;const s=t.parentNode.nodeName.toLowerCase();return Iyt.includes(s)?(/\S/.test(i)&&console.warn(`A textNode is not allowed inside '${s}'. Your text "${i}" will be ignored`),null):i}case 8:return null;case 11:return iz(t.childNodes,n,e);default:return null}}function Pyt(t,e){const r={key:e};if(t instanceof Element){const n=t.getAttribute("class");n&&(r.className=n),[...t.attributes].forEach(o=>{switch(o.name){case"class":break;case"style":r[o.name]=Dyt(o.value);break;case"allowfullscreen":case"allowpaymentrequest":case"async":case"autofocus":case"autoplay":case"checked":case"controls":case"default":case"defer":case"disabled":case"formnovalidate":case"hidden":case"ismap":case"itemscope":case"loop":case"multiple":case"muted":case"nomodule":case"novalidate":case"open":case"readonly":case"required":case"reversed":case"selected":case"typemustmatch":r[az[o.name]||o.name]=!0;break;default:r[az[o.name]||o.name]=o.value}})}return r}function iz(t,e,r){const n=[...t].map((o,a)=>qv(o,{...r,index:a,level:e+1})).filter(Boolean);return n.length?n:null}function Nyt(t){return/[a-z]+[A-Z]+[a-z]+/.test(t)?t:t.toLowerCase()}function qv(t,e={}){if(!t||!(t instanceof Node))return null;const{actions:r=[],index:n=0,level:o=0,randomKey:a}=e;let i=t,s=`${o}-${n}`;const l=[];return a&&o===0&&(s=`${Ayt()}-${s}`),Array.isArray(r)&&r.forEach(d=>{d.condition(i,s,o)&&(typeof d.pre=="function"&&(i=d.pre(i,s,o),i instanceof Node||(i=t)),typeof d.post=="function"&&l.push(d.post(i,s,o)))}),l.length?l:Myt(i,{key:s,level:o,...e})}function Ryt(t,e={}){if(!t||typeof t!="string")return null;const{includeAllNodes:r=!1,nodeOnly:n=!1,selector:o="body > *",type:a="text/html"}=e;try{const s=new DOMParser().parseFromString(t,a);if(r){const{childNodes:d}=s.body;return n?d:[...d].map(h=>qv(h,e))}const l=s.querySelector(o)||s.body.childNodes[0];if(!(l instanceof Node))throw new TypeError("Error parsing input");return n?l:qv(l,e)}catch{}return null}function pV(t,e={}){return typeof t=="string"?Ryt(t,e):t instanceof Node?qv(t,e):null}var jyt=Object.defineProperty,Lyt=(t,e,r)=>e in t?jyt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Mg=(t,e,r)=>Lyt(t,typeof e!="symbol"?e+"":e,r),sz="react-inlinesvg",lz=10,rr={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function ov(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function zyt(){return Byt()&&typeof window<"u"&&window!==null}async function hV(t,e){const r=await fetch(t,e),n=r.headers.get("content-type"),[o]=(n??"").split(/ ?; ?/);if(r.status>299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(a=>o.includes(a)))throw new Error(`Content type isn't valid: ${o}`);return r.text()}function Fyt(t=1){return new Promise(e=>{setTimeout(e,t*1e3)})}function Byt(){if(!document)return!1;const t=document.createElement("div");t.innerHTML="";const e=t.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}function Wyt(t){return t[Math.floor(Math.random()*t.length)]}function Hyt(t){const e="abcdefghijklmnopqrstuvwxyz",n=`${e}${e.toUpperCase()}1234567890`;let o="";for(let a=0;a{this.cacheApi=r}).catch(r=>{console.error(`Failed to open cache: ${r.message}`)}).finally(()=>{this.isReady=!0,this.subscribers.forEach(r=>r())}):this.isReady=!0}onReady(t){this.isReady?t():this.subscribers.push(t)}async get(t,e){var r;return await(this.cacheApi?this.fetchAndAddToPersistentCache(t,e):this.fetchAndAddToInternalCache(t,e)),((r=this.cacheStore.get(t))==null?void 0:r.content)??""}set(t,e){this.cacheStore.set(t,e)}isCached(t){var e;return((e=this.cacheStore.get(t))==null?void 0:e.status)===rr.LOADED}async fetchAndAddToInternalCache(t,e){const r=this.cacheStore.get(t);if((r==null?void 0:r.status)===rr.LOADING){await this.handleLoading(t,async()=>{this.cacheStore.set(t,{content:"",status:rr.IDLE}),await this.fetchAndAddToInternalCache(t,e)});return}if(!(r!=null&&r.content)){this.cacheStore.set(t,{content:"",status:rr.LOADING});try{const n=await hV(t,e);this.cacheStore.set(t,{content:n,status:rr.LOADED})}catch(n){throw this.cacheStore.set(t,{content:"",status:rr.FAILED}),n}}}async fetchAndAddToPersistentCache(t,e){var o,a,i;const r=this.cacheStore.get(t);if((r==null?void 0:r.status)===rr.LOADED)return;if((r==null?void 0:r.status)===rr.LOADING){await this.handleLoading(t,async()=>{this.cacheStore.set(t,{content:"",status:rr.IDLE}),await this.fetchAndAddToPersistentCache(t,e)});return}this.cacheStore.set(t,{content:"",status:rr.LOADING});const n=await((o=this.cacheApi)==null?void 0:o.match(t));if(n){const s=await n.text();this.cacheStore.set(t,{content:s,status:rr.LOADED});return}try{await((a=this.cacheApi)==null?void 0:a.add(new Request(t,e)));const s=await((i=this.cacheApi)==null?void 0:i.match(t)),l=await(s==null?void 0:s.text())??"";this.cacheStore.set(t,{content:l,status:rr.LOADED})}catch(s){throw this.cacheStore.set(t,{content:"",status:rr.FAILED}),s}}async handleLoading(t,e){var n;let r=0;for(;((n=this.cacheStore.get(t))==null?void 0:n.status)===rr.LOADING&&r=lz&&await e()}keys(){return[...this.cacheStore.keys()]}data(){return[...this.cacheStore.entries()].map(([t,e])=>({[t]:e}))}async delete(t){this.cacheApi&&await this.cacheApi.delete(t),this.cacheStore.delete(t)}async clear(){if(this.cacheApi){const t=await this.cacheApi.keys();for(const e of t)await this.cacheApi.delete(e)}this.cacheStore.clear()}};function cz(t){const e=A.useRef();return A.useEffect(()=>{e.current=t}),e.current}function qyt(t){const{baseURL:e,content:r,description:n,handleError:o,hash:a,preProcessor:i,title:s,uniquifyIDs:l=!1}=t;try{const d=Gyt(r,i),h=pV(d,{nodeOnly:!0});if(!h||!(h instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const u=fV(h,{baseURL:e,hash:a,uniquifyIDs:l});if(n){const f=u.querySelector("desc");f!=null&&f.parentNode&&f.parentNode.removeChild(f);const g=document.createElementNS("http://www.w3.org/2000/svg","desc");g.innerHTML=n,u.prepend(g)}if(typeof s<"u"){const f=u.querySelector("title");if(f!=null&&f.parentNode&&f.parentNode.removeChild(f),s){const g=document.createElementNS("http://www.w3.org/2000/svg","title");g.innerHTML=s,u.prepend(g)}}return u}catch(d){return o(d)}}function Gyt(t,e){return e?e(t):t}function fV(t,e){const{baseURL:r="",hash:n,uniquifyIDs:o}=e,a=["id","href","xlink:href","xlink:role","xlink:arcrole"],i=["href","xlink:href"],s=(l,d)=>i.includes(l)&&(d?!d.includes("#"):!1);return o&&[...t.children].forEach(l=>{var d;if((d=l.attributes)!=null&&d.length){const h=Object.values(l.attributes).map(u=>{const f=u,g=/url\((.*?)\)/.exec(u.value);return g!=null&&g[1]&&(f.value=u.value.replace(g[0],`url(${r}${g[1]}__${n})`)),f});a.forEach(u=>{const f=h.find(g=>g.name===u);f&&!s(u,f.value)&&(f.value=`${f.value}__${n}`)})}return l.children.length?fV(l,e):l}),t}var qd;function Xyt(t){const{cacheRequests:e=!0,children:r=null,description:n,fetchOptions:o,innerRef:a,loader:i=null,onError:s,onLoad:l,src:d,title:h,uniqueHash:u}=t,[f,g]=A.useReducer((F,H)=>({...F,...H}),{content:"",element:null,isCached:e&&qd.isCached(t.src),status:rr.IDLE}),{content:y,element:b,isCached:x,status:S}=f,T=cz(t),E=cz(f),$=A.useRef(u??Hyt(8)),k=A.useRef(!1),O=A.useRef(!1),M=A.useCallback(F=>{k.current&&(g({status:F.message==="Browser does not support SVG"?rr.UNSUPPORTED:rr.FAILED}),s==null||s(F))},[s]),R=A.useCallback((F,H=!1)=>{k.current&&g({content:F,isCached:H,status:rr.LOADED})},[]),j=A.useCallback(async()=>{const F=await hV(d,o);R(F)},[o,R,d]),I=A.useCallback(()=>{try{const F=qyt({...t,handleError:M,hash:$.current,content:y}),H=pV(F);if(!H||!A.isValidElement(H))throw new Error("Could not convert the src to a React element");g({element:H,status:rr.READY})}catch(F){M(new Error(F.message))}},[y,M,t]),z=A.useCallback(async()=>{const F=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(d);let H;if(F?H=F[1]?window.atob(F[2]):decodeURIComponent(F[2]):d.includes("{k.current&&g({content:"",element:null,isCached:!1,status:rr.LOADING})},[]);A.useEffect(()=>{if(k.current=!0,!ov()||O.current)return()=>{};try{if(S===rr.IDLE){if(!zyt())throw new Error("Browser does not support SVG");if(!d)throw new Error("Missing src");W()}}catch(F){M(F)}return O.current=!0,()=>{k.current=!1}},[]),A.useEffect(()=>{if(ov()&&T)if(T.src!==d){if(!d){M(new Error("Missing src"));return}W()}else(T.title!==h||T.description!==n)&&I()},[n,I,M,W,T,d,h]),A.useEffect(()=>{E&&(E.status!==rr.LOADING&&S===rr.LOADING&&z(),E.status!==rr.LOADED&&S===rr.LOADED&&I(),E.status!==rr.READY&&S===rr.READY&&(l==null||l(d,x)))},[z,I,x,l,E,d,S]);const L=Uyt(t,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return ov()?b?A.cloneElement(b,{ref:a,...L}):[rr.UNSUPPORTED,rr.FAILED].includes(S)?r:i:i}function x2(t){qd||(qd=new Vyt);const{loader:e}=t,r=A.useRef(!1),[n,o]=A.useState(qd.isReady);return A.useEffect(()=>{r.current||(qd.onReady(()=>{o(!0)}),r.current=!0)},[]),n?m.createElement(Xyt,{...t}):e}const Jyt=window.location.hostname.endsWith("iobroker.in"),dz=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function xl(t){var e,r,n;if(t.src){if(typeof t.src=="string"){if(t.src.length<3)return t.sx?m.createElement(Re,{component:"span",sx:t.sx,title:t.title||void 0,style:{height:27,marginTop:-8,...t.styleUTF8||t.style},className:ue.clsx(t.className,"iconOwn")},t.src):m.createElement("span",{title:t.title||void 0,style:{height:27,marginTop:-8,...t.styleUTF8||t.style},className:ue.clsx(t.className,"iconOwn")},t.src);if(t.src.startsWith("data:image/svg"))return m.createElement(x2,{title:t.title||void 0,src:t.src,className:ue.clsx(t.className,"iconOwn"),width:((e=t.style)==null?void 0:e.width)||28,height:((r=t.style)==null?void 0:r.height)||((n=t.style)==null?void 0:n.width)||28,style:t.style||void 0});if(Jyt&&!t.src.startsWith("http://")&&!t.src.startsWith("https://")){let o=t.src;return o.startsWith("./")?o=dz+o.substring(2):o.startsWith("/")||(o=dz+o),t.sx?m.createElement(Re,{component:"img",sx:t.sx,title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:t.alt||void 0,ref:t.ref,onError:a=>t.onError&&t.onError(a)}):m.createElement("img",{title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:t.alt||void 0,ref:t.ref,onError:a=>t.onError&&t.onError(a)})}return t.sx?m.createElement(Re,{component:"img",sx:t.sx,title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:t.src,alt:t.alt||void 0,ref:t.ref,onError:t.onError}):m.createElement("img",{title:t.title||void 0,style:t.style||void 0,className:ue.clsx(t.className,"iconOwn"),src:t.src,alt:t.alt||void 0,ref:t.ref,onError:t.onError})}return t.src}return null}const cl={dialog:{height:"100%"},paper:{height:"calc(100% - 64px)"},content:{textAlign:"center"},textarea:{width:"100%",height:"100%"},img:{width:"auto",height:"calc(100% - 5px)",objectFit:"contain"},dialogTitle:{justifyContent:"space-between",display:"flex"}},En={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function uz(t,e){let r="";const n=new Uint8Array((t==null?void 0:t.data)||t),o=n.byteLength;for(let a=0;a{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,o===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))});const n=ue.getFileExtension(r.href);this.state={text:null,code:null,ext:n,editing:!1,editingValue:null,copyPossible:!!n&&(En.code.includes(n)||En.txt.includes(n)),forceUpdate:Date.now(),changed:!1,imgError:!1}}readFile(){if(this.props.href){const r=this.props.href.split("/");r.splice(0,2);const n=r[0],o=r.splice(1).join("/");this.props.socket.readFile(n,o).then(a=>{let i="";a.file!==void 0&&(i=a.file);const s={copyPossible:this.state.copyPossible,ext:this.state.ext};if(i.type==="Buffer")if(o.toLowerCase().endsWith(".json5")){s.ext="json5",s.copyPossible=!0;try{i=atob(uz(i,!0))}catch{console.error("Cannot convert base64 to string"),i=""}}else{const l=ue.detectMimeType(uz(i));l&&(s.ext=l,s.copyPossible=En.code.includes(l)||En.txt.includes(l))}s.copyPossible&&(s.ext&&En.txt.includes(s.ext)?(s.text=i,s.editingValue=i):s.ext&&En.code.includes(s.ext)&&(s.code=i,s.editingValue=i)),this.setState(s)}).catch(a=>window.alert(`Cannot read file: ${a}`))}}componentDidMount(){this.readFile();const r=this.props.href.split("/");r.splice(0,2);const n=r[0],o=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(n,o,this.onFileChanged).catch(a=>window.alert(`Cannot subscribe on file: ${a}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const r=this.props.href.split("/");r.splice(0,2);const n=r[0],o=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(n,o,this.onFileChanged).catch(a=>window.alert(`Cannot subscribe on file: ${a}`))}getEditorOrViewer(){return m.createElement(Ht,{variant:"standard",style:cl.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&En.images.includes(this.state.ext)?this.state.imgError?m.createElement(CD,{style:{...cl.img,...this.props.getStyleBackgroundImage()}}):m.createElement(xl,{onError:r=>{r.target.onerror=null,this.setState({imgError:!0})},style:{...cl.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&En.audio.includes(this.state.ext)?m.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},m.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&En.video.includes(this.state.ext)?m.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},m.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},m.createElement("source",{src:this.props.href,type:`video/${this.state.ext}}`}))):this.state.code!==null||this.state.text!==null||this.state.editing?this.getEditorOrViewer():null}onSave(){}render(){return m.createElement(or,{sx:{"&.MuiDialog-scrollPaper":cl.dialog,"& .MuiDialog-paper":cl.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},m.createElement("div",{style:cl.dialogTitle},m.createElement(_r,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&En.images.includes(this.state.ext)&&m.createElement("div",null,m.createElement(Ie,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},m.createElement(VH,null)))),m.createElement(Wr,{style:cl.content},this.getContent()),m.createElement(pr,null,this.state.copyPossible?m.createElement(tt,{color:"grey",onClick:r=>{r.stopPropagation(),r.preventDefault(),ue.copyToClipboard(this.state.text||this.state.code||"")},startIcon:m.createElement(vve,null)},this.props.t("Copy content")):null,this.state.editing?m.createElement(tt,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:m.createElement(s2,null)},this.props.t("Save")):null,m.createElement(tt,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:m.createElement(Ar,null)},this.props.t("Close"))))}}const Kyt=qs()(Yyt),qc=32,Ci=32,Pg=120,pz=64,hz="Not found",Ng={all:XH,images:$ve,code:AO,txt:Sve,audio:cve,video:Wve},qe={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 16px)",overflowX:"hidden",overflowY:"auto",padding:8},filesDivHint:{position:"absolute",bottom:0,left:20,opacity:.7,fontStyle:"italic",fontSize:12},filesDivTable:{height:"calc(100% - 56px)"},filesDivTile:{height:`calc(100% - ${48*2+8}px)`,display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${pz}px`},itemTile:t=>({position:"relative",userSelect:"none",cursor:"pointer",height:Pg,width:pz,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:t.palette.secondary.light,color:ue.invertColor(t.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:t=>({width:"100%",height:Pg-32-16-8,display:"block",pl:1,color:t.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:t=>({position:"absolute",top:22,left:18,zIndex:1,color:t.palette.mode==="dark"?"#FFF":"#000"}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:Pg-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Pg-32-16-8,display:"block",objectFit:"contain"},itemSelected:t=>({background:t.palette.primary.main,color:ue.invertColor(t.palette.primary.main,!0)}),itemTable:t=>({userSelect:"none",cursor:"pointer",height:qc,display:"inline-flex",lineHeight:`${qc}px`,"&:hover":{background:t.palette.secondary.light,color:ue.invertColor(t.palette.secondary.main,!0)}}),itemNameTable:{display:"inline-block",pl:"10px",fontSize:"1rem",verticalAlign:"top",flexGrow:1,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden","@media screen and (max-width: 500px)":{textAlign:"end",direction:"rtl"}},itemNameFolderTable:{fontWeight:"bold"},itemSizeTable:{display:"inline-block",width:60,verticalAlign:"top",textAlign:"right",whiteSpace:"nowrap"},itemAccessTable:{verticalAlign:"top",width:60,textAlign:"right",paddingRight:5,display:"flex",justifyContent:"center"},itemImageTable:{display:"inline-block",width:30,marginTop:1,objectFit:"contain",maxHeight:30},itemNoImageTable:{marginTop:6},itemIconTable:{display:"inline-block",marginTop:1,width:30,height:30},itemFolderTable:{},itemFolderTemp:{opacity:.4},itemFolderIconTable:t=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:t.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:t=>({display:"inline-block",width:Ci,height:qc,minWidth:Ci,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Ci/2}px`,"&:hover":{backgroundColor:t.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"},"& span":{pt:"9px"},"& svg":{width:14,height:14,fontSize:"1rem",mt:"-3px",verticalAlign:"middle",color:t.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Ci,height:qc,minWidth:Ci,padding:0},itemAclButtonTable:{width:Ci,height:qc,minWidth:Ci,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Ci,height:qc,minWidth:Ci,verticalAlign:"top",padding:0,"& svg":{width:18,height:18,fontSize:"1.5rem"}},uploadDiv:{top:0,zIndex:1,bottom:0,left:0,right:0,position:"absolute",opacity:.9,textAlign:"center",background:"#FFFFFF"},uploadDivDragging:{opacity:1},uploadCenterDiv:t=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:t.palette.mode==="dark"?"#222":"#CCC",display:"flex",alignItems:"center",justifyContent:"center"}),uploadCenterIcon:{width:"25%",height:"25%"},uploadCenterText:{fontSize:24,fontWeight:"bold"},uploadCloseButton:{zIndex:2,position:"absolute",top:30,right:30},uploadCenterTextAndIcon:{position:"absolute",height:"30%",width:"100%",margin:"auto",opacity:.3},menuButtonExpertActive:{color:"#c00000"},menuButtonRestrictActive:{color:"#c05000"},pathDiv:t=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:t.palette.secondary.main}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:t=>({pl:"2px",pr:"2px",cursor:"pointer","&:hover":{background:t.palette.primary.main}}),pathDivBreadcrumbSelected:{},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:t=>({color:t.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},ps="0_userdata.0";function Gc(t){const e=(t||"").split("/");return e.length&&e.pop(),e.join("/")}function wS(t){const e=ue.getFileExtension(t);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const Vt="Table",xS="Tile";function fz(t,e){return t.folder&&e.folder?t.name>e.name?1:t.namee.name?1:t.name{const a=`${r}/${n}`,i=a.lastIndexOf("/"),s=a.substring(0,i);console.log(`File changed ${a}[${o}]`),this.state.folders[s]&&(this._tempTimeout[s]&&clearTimeout(this._tempTimeout[s]),this._tempTimeout[s]=setTimeout(()=>{delete this._tempTimeout[s],this.browseFolder(s,null,!1,!0).then(l=>this.setState({folders:l})).catch(l=>console.error(`Cannot read folder: ${l.message}`))},300))});X(this,"setStateBackgroundImage",()=>{const r=["light","dark","colored","delete"];this.setState(({backgroundImage:n})=>n&&r.indexOf(n)!==-1&&r.length-1!==r.indexOf(n)?(this.localStorage.setItem("files.backgroundImage",r[r.indexOf(n)+1]),{backgroundImage:r[r.indexOf(n)+1]}):(this.localStorage.setItem("files.backgroundImage",r[0]),{backgroundImage:r[0]}))});X(this,"getStyleBackgroundImage",()=>{switch(this.state.backgroundImage){case"light":return qe.backgroundImageLight;case"dark":return qe.backgroundImageDark;case"colored":return qe.backgroundImageColored;case"delete":return null;default:return null}});this.localStorage=window._localStorage||window.localStorage;const n=this.localStorage.getItem("files.expanded")||"[]";if(this.props.limitPath){const d=this.props.limitPath.split("/");this.limitToObjectID=d[0],this.limitToPath=d.length?d.length===1&&d[0]===""?null:d.join("/"):null,this.limitToPath&&this.limitToPath.endsWith("/")&&this.limitToPath.substring(0,this.limitToPath.length-1)}let o;try{o=JSON.parse(n),this.limitToPath&&(o=o.filter(d=>{var h;return d.startsWith(`${this.limitToPath}/`)||d===this.limitToPath||((h=this.limitToPath)==null?void 0:h.startsWith(`${d}/`))}))}catch{o=[]}let a;this.props.showViewTypeButton?a=this.localStorage.getItem("files.viewType")||Vt:a=Vt;let i=this.props.selected||this.localStorage.getItem("files.selected")||ps,s;if(r.restrictToFolder){i=r.restrictToFolder,s=r.restrictToFolder;const d=r.restrictToFolder.split("/");o=[];let h="";for(let u=0;u{if(this.state.viewType===Vt&&!this.findItem(this.state.selected)){const n=this.state.selected.split("/");for(;n.length&&!this.findItem(n.join("/"));)n.pop();let o;n.length?o=n.join("/"):o=ps,this.setState({selected:o,path:o,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const r=document.getElementById(this.state.selected);r==null||r.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`)),this.supportSubscribes=await this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT"),this.supportSubscribes&&await this.props.socket.subscribeFiles("*","*",this.onFileChange)}componentWillUnmount(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach(r=>r&&clearTimeout(r)),this._tempTimeout={}}browseFoldersCb(r,n,o){if(!(r!=null&&r.length))o(n);else{const a=r.shift();a?this.browseFolder(a,n).catch(i=>console.error(`Cannot read folder ${a}: ${i.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(r,n,o),0)}):setTimeout(()=>this.browseFoldersCb(r,n,o),0)}}browseFolders(r,n){let o;return n?o=n:(o={},Object.keys(this.state.folders).forEach(a=>o[a]=this.state.folders[a])),r!=null&&r.length?new Promise(a=>{this.browseFoldersCb(r,o,a)}):Promise.resolve(o)}readDirSerial(r,n){return new Promise((o,a)=>{this.browseList&&(this.browseList.push({resolve:o,reject:a,adapter:r,relPath:n}),this.browseListRunning||this.processBrowseList())})}processBrowseList(r=0){!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10?this.browseList.length%10||this.setState({queueLength:this.browseList.length}):this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath).then(n=>{if(this.browseList){const o=this.browseList.shift();if(o){const a=o.resolve;o.resolve=null,o.reject=null,o.adapter=null,o.relPath=null,a&&a(n),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(n=>{if(this.browseList){const o=this.browseList.shift();if(o){const a=o.reject;o.resolve=null,o.reject=null,o.adapter=null,o.relPath=null,a&&a(n),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(r,n,o,a){let i;if(n?i=n:(i={},Object.keys(this.state.folders).forEach(f=>{i[f]=this.state.folders[f]})),i[r]&&!a)return o?Promise.resolve(i):new Promise((f,g)=>{Promise.all(i[r].filter(y=>y.folder).map(y=>this.browseFolder(y.id,i,!0).catch(()=>{}))).then(()=>f(i)).catch(y=>g(new Error(y)))});if(!r||r==="/"){try{let f=await this.props.socket.readMetaItems();const g=[];let y=null;if(this.state.restrictToFolder){const x=this.state.restrictToFolder.split("/")[0];f=f.filter(S=>S._id===x)}else this.state.expertMode||(f=f.filter(x=>!x._id.endsWith(".admin")));const b=f.findIndex(x=>x._id==="system.meta.uuid");if(b!==-1&&f.splice(b,1),f.forEach(x=>{if(this.limitToObjectID&&this.limitToObjectID!==x._id)return;const S={id:x._id,name:x._id,title:x.common&&x.common.name||x._id,meta:!0,from:x.from,ts:x.ts,color:x.common&&x.common.color,icon:x.common&&x.common.icon,folder:!0,acl:x.acl,level:0};S.id===ps?y=S:g.push(S)}),g.sort((x,S)=>x.id>S.id?1:x.idx.folder).map(x=>this.browseFolder(x.id,i,!0).catch(()=>{}))).then(()=>i)}catch(f){const g=f;this.initialReadFinished&&window.alert(`Cannot read meta items: ${g.message}`),i[r||"/"]=[]}return i}const s=r.split("/"),l=s.length,d=s.shift(),h=s.join("/");let u;try{u=await this.readDirSerial(d||"",h)}catch(f){if(f==="Not exists"&&d==="0_userdata.0")u=[];else throw f}try{const f=[];if(u.forEach(g=>{var b;const y={id:`${r}/${g.file}`,ext:ue.getFileExtension(g.file),folder:g.isDir,name:g.file,size:(b=g.stats)==null?void 0:b.size,modified:g.modifiedAt,acl:g.acl,level:l};this.state.restrictToFolder?(y.folder&&(y.id.startsWith(`${this.state.restrictToFolder}/`)||y.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${y.id}/`))||y.id.startsWith(`${this.state.restrictToFolder}/`))&&f.push(y):this.limitToPath?(y.folder&&(y.id.startsWith(`${this.limitToPath}/`)||y.id===this.limitToPath||this.limitToPath.startsWith(`${y.id}/`))||y.id.startsWith(`${this.limitToPath}/`))&&f.push(y):f.push(y)}),f.sort(fz),i[r]=f,!o)return Promise.all(f.filter(g=>g.folder).map(g=>this.browseFolder(g.id,i,!0))).then(()=>i)}catch(f){const g=f;this.initialReadFinished&&window.alert(`Cannot read ${d}${h?`/${h}`:""}: ${g==null?void 0:g.message}`),i[r]=[]}return i}toggleFolder(r,n){n==null||n.stopPropagation();const o=[...this.state.expanded],a=o.indexOf(r.id);a===-1?(o.push(r.id),o.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(o)),r.temp?this.setState({expanded:o}):this.browseFolder(r.id).then(i=>this.setState({expanded:o,folders:i})).catch(i=>window.alert(i===hz?this.props.t('ra_Cannot find "%s"',r.id):this.props.t('ra_Cannot read "%s"',r.id)))):(o.splice(a,1),this.localStorage.setItem("files.expanded",JSON.stringify(o)),this.setState({expanded:o}))}changeFolder(r,n){r==null||r.stopPropagation(),this.lastSelect=Date.now();let o=n||Gc(this.state.currentDir);if(o==="/"&&(o=""),this.localStorage.setItem("files.currentDir",o),n&&r&&(r.altKey||r.shiftKey||r.ctrlKey||r.metaKey)){this.setState({selected:o});return}if(o&&!this.state.folders[o]){this.browseFolder(o).then(a=>this.setState({folders:a,path:o,currentDir:o,selected:o,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(a=>console.error(`Cannot read folder: ${a.message}`));return}this.setState({currentDir:o,selected:o,path:o,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))}select(r,n,o){n&&n.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",r),this.setState({selected:r,path:r,pathFocus:!1},()=>{if(this.props.onSelect){const a=ue.getFileExtension(r);(!this.props.filterFiles||a&&this.props.filterFiles.includes(a))&&(!this.state.filterByType||a&&En[this.state.filterByType].includes(a))?this.props.onSelect(r,!1,!!this.state.folders[r]):this.props.onSelect("")}o&&o()})}getText(r){if(r)return typeof r=="object"?r[this.props.lang]||r.en||void 0:r}renderFolder(r,n){if(this.state.viewType===Vt&&this.state.filterEmpty&&(!this.state.folders[r.id]||!this.state.folders[r.id].length)&&r.id!==ps&&!r.temp)return null;const o=n?nv:ru,a=this.state.viewType===Vt?r.level*this.levelPadding:0,i=r.name===ps,s=i||r.name==="vis.0"||r.name==="vis-2.0",l=ue.getStyle(this.props.theme,qe[`itemFolderIcon${this.state.viewType}`],s&&qe.specialFolder);return m.createElement(Re,{component:"div",key:r.id,id:r.id,style:this.state.viewType===Vt?{marginLeft:a,width:`calc(100% - ${a}px`}:{},onClick:d=>this.state.viewType===Vt?this.select(r.id,d):this.changeFolder(d,r.id),onDoubleClick:d=>this.state.viewType===Vt&&this.toggleFolder(r,d),title:this.getText(r.title),className:"browserItem",sx:ue.getStyle(this.props.theme,qe[`item${this.state.viewType}`],qe[`itemFolder${this.state.viewType}`],this.state.selected===r.id?qe.itemSelected:{},r.temp?qe.itemFolderTemp:{})},m.createElement(o,{style:l,onClick:this.state.viewType===Vt?d=>this.toggleFolder(r,d):void 0}),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,qe[`itemName${this.state.viewType}`],qe[`itemNameFolder${this.state.viewType}`])},i?this.props.t("ra_User files"):r.name),m.createElement(Re,{component:"div",style:qe[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.state.folders[r.id]?this.state.folders[r.id].length:""),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.props.expertMode?this.formatAcl(r.acl):null),this.state.viewType===Vt&&this.props.expertMode?m.createElement(Re,{component:"div",sx:{...qe.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===Vt&&this.props.allowDownload?m.createElement("div",{style:qe[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===Vt&&this.props.allowDelete&&this.state.folders[r.id]&&this.state.folders[r.id].length?m.createElement(Ie,{"aria-label":"delete",onClick:d=>{d.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:qe[`itemDeleteButton${this.state.viewType}`],size:"large"},m.createElement(Ta,{fontSize:"small"})):this.state.viewType===Vt&&this.props.allowDelete?m.createElement(Re,{component:"div",sx:qe[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return m.createElement(Re,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:r=>this.changeFolder(r),title:this.props.t("ra_Back to %s",Gc(this.state.currentDir)),className:"browserItem",sx:ue.getStyle(this.props.theme,qe[`item${this.state.viewType}`],qe[`itemFolder${this.state.viewType}`])},m.createElement(ru,{style:ue.getStyle(this.props.theme,qe[`itemFolderIcon${this.state.viewType}`])}),m.createElement(sve,{sx:qe.itemFolderIconBack}),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,qe[`itemName${this.state.viewType}`],qe[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(r){return m.createElement("div",{style:qe[`itemSize${this.state.viewType}`]},r||r===0?ue.formatBytes(r):"")}formatAcl(r){const n=r?r.permissions||r.file:0;let o;return n?o=n.toString(16).padStart(3,"0"):o="",m.createElement("div",{style:qe[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?m.createElement(Ie,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:qe[`itemAclButton${this.state.viewType}`]},o||"---"):o||"---")}getFileIcon(r){switch(r){case"json":case"json5":return m.createElement(uve,{style:qe[`itemIcon${this.state.viewType}`]});case"css":return m.createElement(pve,{style:qe[`itemIcon${this.state.viewType}`]});case"js":case"ts":return m.createElement(AO,{style:qe[`itemIcon${this.state.viewType}`]});case"html":case"md":return m.createElement(IO,{style:qe[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return m.createElement(Ive,{style:qe[`itemIcon${this.state.viewType}`]});default:return m.createElement(XH,{style:qe[`itemIcon${this.state.viewType}`]})}}static getEditFile(r){switch(r){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}renderFile(r){const n=this.state.viewType===Vt?r.level*this.levelPadding:0,o=ue.getFileExtension(r.name);return m.createElement(Re,{component:"div",key:r.id,id:r.id,onDoubleClick:a=>{a.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&En[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:o})},onClick:a=>this.select(r.id,a),style:this.state.viewType===Vt?{marginLeft:n,width:`calc(100% - ${n}px)`}:{},className:"browserItem",sx:ue.getStyle(this.props.theme,qe[`item${this.state.viewType}`],qe[`itemFile${this.state.viewType}`],this.state.selected===r.id?qe.itemSelected:void 0)},o&&En.images.includes(o)?this.state.fileErrors.includes(r.id)?m.createElement(CD,{style:{...qe[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...qe[`itemNoImage${this.state.viewType}`]}}):m.createElement(xl,{onError:a=>{a.target.onerror=null;const i=[...this.state.fileErrors];i.includes(r.id)||(i.push(r.id),this.setState({fileErrors:i}))},style:{...qe[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+r.id,alt:r.name}):this.getFileIcon(o),m.createElement(Re,{component:"div",sx:qe[`itemName${this.state.viewType}`]},r.name),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(r.size)),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.props.expertMode?this.formatAcl(r.acl):null),m.createElement(Re,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===Vt&&this.props.expertMode&&$D.getEditFile(o)?m.createElement(Ie,{"aria-label":"edit",onClick:a=>{a.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&En[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:o})},sx:qe.itemDeleteButtonTable,size:"large"},m.createElement(rv,{fontSize:"small"})):m.createElement(Re,{component:"div",sx:qe[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===Vt&&this.props.allowDownload?m.createElement(Re,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:qe.itemDownloadButtonTable,tabIndex:0,download:r.id,href:this.imagePrefix+r.id,onClick:a=>a.stopPropagation()},m.createElement(Pve,null)):null,this.state.viewType===Vt&&this.props.allowDelete&&r.id!=="vis.0/"&&r.id!=="vis-2.0/"&&r.id!==ps?m.createElement(Ie,{"aria-label":"delete",onClick:a=>{a.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:qe[`itemDeleteButton${this.state.viewType}`],size:"large"},m.createElement(Ta,{fontSize:"small"})):this.state.viewType===Vt&&this.props.allowDelete?m.createElement(Re,{component:"div",sx:qe[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(r){if(this.state.folders&&this.state.folders[r]){if(this.state.viewType===xS){const o=[];return r&&r!=="/"&&o.push(this.renderBackFolder()),this.state.folders[r].forEach(a=>{a.folder?o.push(this.renderFolder(a)):(!this.props.filterFiles||a.ext&&this.props.filterFiles.includes(a.ext))&&(!this.state.filterByType||a.ext&&En[this.state.filterByType].includes(a.ext))&&o.push(this.renderFile(a))}),o}const n=[];return this.state.folders[r].forEach(o=>{if(o.folder){const a=this.state.expanded.includes(o.id),i=this.renderFolder(o,a);if(Array.isArray(i)?i.forEach(s=>n.push(s)):n.push(i),this.state.folders[o.id]&&a){const s=this.renderItems(o.id);Array.isArray(s)?s.forEach(l=>n.push(l)):n.push(s)}}else(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&En[this.state.filterByType].includes(o.ext))&&n.push(this.renderFile(o))}),n}return m.createElement("div",{style:{position:"relative"}},m.createElement(pO,{key:r,color:"secondary",size:24}),m.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const r=this.props.showTypeSelector?Ng[this.state.filterByType||"all"]||Ng.all:null,n=this.findFirstFolder(this.state.selected);return m.createElement(af,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?m.createElement(Ie,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...qe.menuButton,...this.state.restrictToFolder?qe.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},m.createElement(xve,{fontSize:"small"})):null,this.props.showExpertButton?m.createElement(Ie,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...qe.menuButton,...this.state.expertMode?qe.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},m.createElement(w2,null)):null,this.props.showViewTypeButton?m.createElement(Ie,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:qe.menuButton,"aria-label":"view mode",onClick:()=>{const o=this.state.viewType===Vt?xS:Vt;this.localStorage.setItem("files.viewType",o);let a=this.state.selected;wS(a)&&(a=Gc(a)),this.setState({viewType:o,currentDir:a},()=>{this.state.viewType===Vt&&this.scrollToSelected()})},size:"small"},this.state.viewType!==Vt?m.createElement(Tve,{fontSize:"small"}):m.createElement(Uve,{fontSize:"small"})):null,m.createElement(Ie,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:qe.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:()=>{this.localStorage.setItem("file.empty",this.state.filterEmpty?"false":"true"),this.setState({filterEmpty:!this.state.filterEmpty})},size:"small"},m.createElement(wve,{fontSize:"small"})),m.createElement(Ie,{edge:"start",title:this.props.t("ra_Reload files"),style:qe.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},m.createElement(MO,{fontSize:"small"})),this.props.allowCreateFolder?m.createElement(Ie,{edge:"start",disabled:!this.state.selected||!n||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:qe.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},m.createElement(qH,{fontSize:"small"})):null,this.props.allowUpload?m.createElement(Ie,{edge:"start",disabled:!this.state.selected||!n||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:qe.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},m.createElement(Rv,{fontSize:"small"})):null,this.props.showTypeSelector&&r?m.createElement(Zr,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:qe.tooltip}}},m.createElement(Ie,{size:"small",onClick:o=>this.setState({showTypesMenu:o.target})},m.createElement(r,{fontSize:"small"}))):null,this.state.showTypesMenu?m.createElement(eu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(Ng).map(o=>{const a=Ng[o];return m.createElement(Jt,{key:o,selected:this.state.filterByType===o,onClick:()=>{o==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",o),this.setState({filterByType:o,showTypesMenu:null}))}},m.createElement(ba,null,m.createElement(a,{fontSize:"small"})),m.createElement(_o,null,this.props.t(`ra_fileType_${o}`)))})):null,m.createElement(Zr,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:qe.tooltip}}},m.createElement(Ie,{color:"inherit",edge:"start",style:qe.menuButton,onClick:this.setStateBackgroundImage,size:"small"},m.createElement(VH,{fontSize:"small"}))),this.state.viewType!==Vt&&this.props.allowDelete?m.createElement(Zr,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:qe.tooltip}}},m.createElement("span",null,m.createElement(Ie,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===ps,color:"inherit",edge:"start",style:qe.menuButton,onClick:o=>{o.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},m.createElement(Ta,{fontSize:"small"})))):null)}findItem(r,n){if(n=n||this.state.folders,!n)return null;const o=r.split("/");o.pop();const a=o.join("/")||"/";return n[a]&&n[a].find(i=>i.id===r)||null}renderInputDialog(){if(this.state.addFolder){const r=this.findFirstFolder(this.state.selected);return r?m.createElement(Oyt,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:n=>this.state.folders[r].find(o=>o.name===n)?"":this.props.t("ra_Duplicate name"),onClose:n=>{if(n){const o={};Object.keys(this.state.folders).forEach(l=>o[l]=this.state.folders[l]);const a=this.findItem(r),i=`${r}/${n}`;o[r].push({id:i,level:((a==null?void 0:a.level)||0)+1,name:n,folder:!0,temp:!0}),o[r].sort(fz),o[i]=[];const s=[...this.state.expanded];s.includes(r)||(s.push(r),s.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(s)),this.setState({addFolder:!1,folders:o,expanded:s},()=>this.select(i))}else this.setState({addFolder:!1})},replace:n=>n.replace(/[^-_\w]/,"_")}):(window.alert(this.props.t("ra_Invalid parent folder!")),null)}return null}componentDidUpdate(){this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout(()=>{this.setOpacityTimer=null;const r=window.document.getElementsByClassName("browserItem");for(let n=0;nthis.setState({uploadFile:!1})},m.createElement(Ar,null)),m.createElement(s_,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:r=>{let n=r.length;r.forEach(o=>{const a=new FileReader;a.onabort=()=>console.log("file reading was aborted"),a.onerror=()=>console.log("file reading has failed"),a.onload=()=>{const i=this.findFirstFolder(this.state.selected);if(!i)window.alert(this.props.t("ra_Invalid parent folder!"));else{const s=`${i}/${o.name}`;this.uploadFile(s,a.result).then(()=>{--n||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const l=[...this.state.expanded];l.includes(i)||(l.push(i),l.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(l))),this.setState({expanded:l},()=>this.select(s))}else setTimeout(()=>this.browseFolder(i,null,!1,!0).then(l=>{const d=[...this.state.expanded];d.includes(i)||(d.push(i),d.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(d))),this.setState({folders:l,expanded:d},()=>this.select(s))}),500)})})}},a.readAsArrayBuffer(o)})}},({getRootProps:r,getInputProps:n})=>m.createElement("div",{style:{...qe.uploadDiv,...this.state.uploadFile==="dragging"?qe.uploadDivDragging:void 0},...r()},m.createElement("input",{...n()}),m.createElement(Re,{component:"div",sx:qe.uploadCenterDiv},m.createElement("div",{style:qe.uploadCenterTextAndIcon},m.createElement(Rv,{style:qe.uploadCenterIcon}),m.createElement("div",{style:qe.uploadCenterText},this.state.uploadFile==="dragging"?this.props.t("ra_Drop file here"):this.props.t("ra_Place your files here or click here to open the browse dialog"))))))]:null}deleteRecursive(r){const n=this.findItem(r);if(n!=null&&n.folder)return(this.state.folders[r]?Promise.all(this.state.folders[r].map(i=>this.deleteRecursive(i.id))):Promise.resolve()).then(()=>{if(n.level>=1){const i=r.split("/"),s=i.shift();this.props.socket.deleteFolder(s||"",i.join("/")).then(()=>{const l=JSON.parse(JSON.stringify(this.state.folders));delete l[n.id];const d=Gc(n.id),h=l[d];if(h){const u=h.findIndex(f=>f.id===n.id);u!==-1&&h.splice(u,1),this.select(d,null,()=>this.setState({folders:l}))}})}});const o=r.split("/"),a=o.shift();return o.length?this.props.socket.deleteFile(a||"",o.join("/")).catch(i=>window.alert(`Cannot delete file: ${i}`)):Promise.resolve()}deleteItem(r){r=r||this.state.deleteItem,this.setState({deleteItem:""},()=>this.deleteRecursive(r).then(()=>{const n={},o=this.state.expanded.indexOf(r);if(o!==-1){const a=[...this.state.expanded];a.splice(o,1),this.localStorage.setItem("files.expanded",JSON.stringify(a)),n.expanded=a}if(this.state.selected===r){const a=this.state.selected.split("/");a.pop(),n.selected=a.join("/")}if(this.supportSubscribes)this.setState(n);else{const a=this.findFirstFolder(r),i={};Object.keys(this.state.folders).forEach(s=>{s!==a&&!s.startsWith(`${a}/`)&&(i[s]=this.state.folders[s])}),n.folders=i,this.setState(n,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],i).then(s=>this.setState({folders:s})).catch(s=>console.error(s))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?m.createElement(or,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},m.createElement(_r,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),m.createElement(Wr,null,m.createElement(Ds,null,this.props.t("ra_Are you sure?"))),m.createElement(pr,null,m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>{this.suppressDeleteConfirm=Date.now()+6e4*5,this.deleteItem("")}},this.props.t("ra_Delete (no confirm for 5 mins)")),m.createElement(tt,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),m.createElement(tt,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const r=this.props.FileViewer||Kyt;return this.state.viewer?m.createElement(r,{supportSubscribes:this.supportSubscribes,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile,themeType:this.props.themeType,setStateBackgroundImage:this.setStateBackgroundImage,getStyleBackgroundImage:this.getStyleBackgroundImage,t:this.props.t,socket:this.props.socket,onClose:()=>this.setState({viewer:"",formatEditFile:""})}):null}renderError(){return this.state.errorText?m.createElement(eU,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(r){this.cacheFolders=this.cacheFolders||JSON.parse(JSON.stringify(this.state.folders));let n;r.forEach(o=>{const a=this.findItem(o.id,this.cacheFolders);a&&JSON.stringify(a.acl)!==JSON.stringify(o.acl)&&(a.acl=o.acl,n=!0)}),n&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const o=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:o})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let r=this.state.path;wS(this.state.path)&&(r=Gc(this.state.path)),new Promise(n=>{this.state.folders[r]?n(!0):this.browseFolder(r).then(o=>this.setState({folders:o},()=>n(!0))).catch(o=>this.setState({errorText:o===hz?this.props.t('ra_Cannot find "%s"',r):this.props.t('ra_Cannot read "%s"',r)}))}).then(n=>n&&this.setState({selected:this.state.path,currentDir:r,pathFocus:!1})).catch(n=>console.error(n))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const r=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),n=[];return m.createElement(Ase,{style:{paddingLeft:8}},r.map((o,a)=>{o&&n.push(o);const i=n.join("/");return athis.changeFolder(s,i||"/")},o||this.props.t("ra_Root")):m.createElement("div",{style:qe.pathDivBreadcrumbSelected,key:`${this.state.selected}_${a}`,onClick:()=>this.setState({pathFocus:!0})},o)}))}renderPath(){return m.createElement(Re,{component:"div",key:"path",sx:qe.pathDiv},this.state.pathFocus?m.createElement(ya,{value:this.state.path,onKeyDown:r=>{r.key==="Enter"?this.changeToPath():r.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:m.createElement(Ie,{size:"small",onClick:()=>this.changeToPath()},m.createElement(Eve,null)),onBlur:()=>this.changeToPath(),onChange:r=>this.setState({path:r.target.value}),style:qe.pathDivInput}):this.renderBreadcrumb())}render(){return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout(()=>{this.setState({loadAllFolders:!1,folders:{}},()=>{this.foldersLoading=!1,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`))})},300)),m.createElement("div",{style:{...qe.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===xS?this.renderPath():null,m.createElement("div",{style:{...qe.filesDiv,...qe[`filesDiv${this.state.viewType}`]},onClick:r=>{this.state.viewType!==Vt&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(r,this.state.currentDir||"/"):r.stopPropagation())}},this.state.viewType===Vt?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==Vt?m.createElement("div",{style:qe.filesDivHint},this.props.t("ra_select_folder_hint")):null),this.props.allowUpload?this.renderInputDialog():null,this.props.allowUpload?this.renderUpload():null,this.props.allowDelete?this.renderDeleteDialog():null,this.props.allowView?this.renderViewDialog():null,this.state.modalEditOfAccess&&this.props.modalEditOfAccessControl?this.props.modalEditOfAccessControl(this):null,this.renderError())):m.createElement(Zce,null)}}const Zyt=qs()($D),Qyt=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}));function e_t(t){const e=document.createElement("div");e.innerHTML=t;const r=e.firstElementChild;return r!=null&&r.remove?r.remove():r&&e.removeChild(r),e.remove(),r}function t_t(t){const e={};if(!t)return e;for(let r,n=0;na[1].toUpperCase()),e[r]=t[n].value}return e}const _l=class _l extends A.Component{constructor(r){var n;super(r);X(this,"svg");this.state={svg:!!((n=this.props.src)!=null&&n.startsWith("data:")),created:!0,color:this.props.color||"",src:this.props.src||"",imgError:!1,showError:!!this.props.showError},this.svg=this.state.svg&&this.state.src?this.getSvgFromData(this.state.src):null}static getDerivedStateFromProps(r,n){var i;const o={};let a=!1;return r&&n&&r.src!==n.src&&(o.src=r.src,o.svg=(i=r.src)==null?void 0:i.startsWith("data:"),o.created=!1,a=!0),r&&n&&r.color!==n.color&&(o.color=r.color,o.created=!1,a=!0),r&&n&&r.showError!==n.showError&&(o.showError=r.showError,a=!0),a?o:null}getSvgFromData(r){const n="data:image/svg+xml;base64,";if(!r.startsWith(n))return null;r=r.substring(n.length);try{r=atob(r);const o=e_t(r),a=o.innerHTML,i=t_t(o.attributes);return o.remove(),m.createElement("svg",{className:this.props.className,style:this.state.color?{color:this.state.color}:{},...i,dangerouslySetInnerHTML:{__html:a}})}catch{}return null}render(){if(this.state.svg)return this.state.created||setTimeout(()=>{this.svg=this.state.src?this.getSvgFromData(this.state.src):null,this.setState({created:!0})},50),this.svg;if(this.state.src){if(this.state.imgError||!this.state.src)return m.createElement(CD,{className:this.props.className});if(_l.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let r=(this.props.imagePrefix||"")+this.state.src;return r.startsWith("./")?r=_l.REMOTE_PREFIX+r.substring(2):r.startsWith("/")||(r=_l.REMOTE_PREFIX+r),m.createElement("img",{className:this.props.className,src:`https://remote-files.iobroker.in${r}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return m.createElement("img",{className:this.props.className,src:(this.props.imagePrefix||"")+this.state.src,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return null}};X(_l,"REMOTE_SERVER",window.location.hostname.includes("iobroker.in")),X(_l,"REMOTE_PREFIX",window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1));let mz=_l;class mV extends m.Component{constructor(){super(...arguments);X(this,"handleFileSelect",r=>{const n=r.target,o=n==null?void 0:n.files;if(!o||!o.length){console.error("No files found. Please report to developers");return}const a=o[0];if(a){const i=new window.FileReader;i.onload=()=>{var l;const s=((l=i.result)==null?void 0:l.toString())||"";try{const d=JSON.parse(s);d.native&&d.common?d.common.name!==this.props.common.name?this.props.onError&&this.props.onError(P.t("ra_otherConfig",d.common.name)):this.props.onLoad&&this.props.onLoad(d.native):this.props.onError&&this.props.onError(P.t("ra_invalidConfig"))}catch(d){this.props.onError&&this.props.onError(d==null?void 0:d.toString())}},i.readAsText(a)}else alert("Failed to open JSON File")})}static generateFile(r,n){const o=window.document.createElement("a");o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(n,null,2))}`),o.setAttribute("download",r),o.style.display="none",window.document.body.appendChild(o),o.click(),window.document.body.removeChild(o)}download(){const r={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};r.common.news&&delete r.common.news,r.common.titleLang&&delete r.common.titleLang,r.common.desc&&delete r.common.desc,mV.generateFile(`${r._id}.json`,r)}upload(){const r=window.document.createElement("input");r.setAttribute("type","file"),r.setAttribute("id","files"),r.setAttribute("opacity","0"),r.addEventListener("change",this.handleFileSelect,!1),r.click()}render(){return m.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?m.createElement(xl,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?m.createElement(ro,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const r=window.open(this.props.common.readme,"_blank");r==null||r.focus()}},m.createElement(GH,null)):null,m.createElement(ro,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:P.t("ra_Load configuration from file"),onClick:()=>this.upload()},m.createElement(Bve,null)),m.createElement(ro,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:P.t("ra_Save configuration to file"),onClick:()=>this.download()},m.createElement(Fve,null)))}}const r_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"})),gV=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 320 320",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("g",{fill:"currentColor"},m.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),m.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}))),Di=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"})),vV=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 320 320",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("g",{fill:"currentColor"},m.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),m.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),m.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),m.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),m.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),m.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}))),n_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>t.onClick&&t.onClick(e),width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"})),o_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 512 512",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}),m.createElement("path",{fill:"currentColor",stroke:"null",d:"m261,270l-12,0l0,-24c0,-33.12 -26.88,-60 -60,-60s-60,26.88 -60,60l0,24l-12,0c-13.2,0 -24,10.8 -24,24l0,120c0,13.2 10.8,24 24,24l144,0c13.2,0 24,-10.8 24,-24l0,-120c0,-13.2 -10.8,-24 -24,-24zm-72,108c-13.2,0 -24,-10.8 -24,-24s10.8,-24 24,-24s24,10.8 24,24s-10.8,24 -24,24zm37.2,-108l-74.4,0l0,-24c0,-20.52 16.68,-37.2 37.2,-37.2c20.52,0 37.2,16.68 37.2,37.2l0,24z"})),gh=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 320 320",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),m.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"})),a_t=t=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>t.onClick&&t.onClick(e),viewBox:"0 0 24 24",width:t.width||(t.fontSize==="small"?16:20),height:t.height||t.width||(t.fontSize==="small"?16:20),className:t.className,style:t.style},m.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"})),SS={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function i_t(t){var e;return m.createElement(zn,{elevation:Number.isNaN(t.elevation)?1:t.elevation,style:{...SS.root,...((e=t.styles)==null?void 0:e.root)||void 0,...t.overflow!=="visible"?SS.overflowHidden:void 0},onKeyDown:t.onKeyDown,tabIndex:t.tabIndex},m.createElement(ws,{container:!0,direction:"column",wrap:"nowrap",sx:SS.container},t.children))}const gz={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function s_t(t){return m.createElement(ws,{sx:{...gz.root,...(t==null?void 0:t.style)||void 0,...t.overflow==="auto"?gz.overflowAuto:void 0},ref:t.ref},t.children)}function l_t(t){return m.createElement(ws,{container:!0,alignItems:"center"},t.children)}const Xc=24,Rn=32,c_t=16,Yr=20,yV=t=>t==="dark"?"#62ff25":"#37c400",_V=t=>t==="dark"?"#ee56ff":"#a204b4",d_t=t=>t==="dark"?"#fff46e":"#b89101",bV=t=>"#ff6d69",wV=t=>"#5773ff",xV="#ff413c",SV="#86211f",S2="#57ff45",C2="#098c04",$2="#f3ad11",k2="#6c5008",Q={toolbar:{minHeight:38},toolbarButtons:{padding:4,marginLeft:4},switchColumnAuto:{marginLeft:16},dialogColumns:{transition:"opacity 1s"},dialogColumnsLabel:{fontSize:12,paddingTop:8},columnCustom:{width:"100%",display:"inline-block"},columnCustomEditable:{cursor:"text"},columnCustom_center:{textAlign:"center"},columnCustom_left:{textAlign:"left"},columnCustom_right:{textAlign:"right"},width100:{width:"100%"},transparent_10:{opacity:.1},transparent_20:{opacity:.2},transparent_30:{opacity:.3},transparent_40:{opacity:.4},transparent_50:{opacity:.5},transparent_60:{opacity:.6},transparent_70:{opacity:.7},transparent_80:{opacity:.8},transparent_90:{opacity:.9},transparent_100:{opacity:1},headerRow:{paddingLeft:8,height:38,whiteSpace:"nowrap",userSelect:"none"},buttonClearFilter:{position:"relative",float:"right",padding:0},buttonClearFilterIcon:{zIndex:2,position:"absolute",top:0,left:0,color:"#FF0000",opacity:.7},tableDiv:{paddingTop:0,paddingLeft:0,width:"calc(100% - 8px)",height:"calc(100% - 38px)",overflow:"auto"},tableRow:t=>({pl:1,height:Rn,lineHeight:`${Rn}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${t.palette.mode==="dark"?t.palette.primary.dark:t.palette.primary.light} !important`,color:ue.invertColor(t.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:t=>({borderBottom:`1px solid ${t.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${t.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:Rn+10},tableRowAliasReadWrite:{height:Rn+22},tableRowFocused:t=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:t.palette.mode?"1px dotted #000":"1px dotted #FFF"}}),checkBox:{padding:0},cellId:{position:"relative",fontSize:"1rem",overflow:"hidden",textOverflow:"ellipsis","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"},"& .iconOwn":{display:"block",width:Rn-4,height:Rn-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:t=>({marginRight:8,width:Rn-4,height:Rn-4,cursor:"pointer",color:t.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(Rn-Yr)/2,marginRight:8,width:Yr,height:Yr},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:Yr,height:Yr,top:(Rn-Yr)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:Yr,height:Yr,top:(Rn-Yr)/2,opacity:.8},cellEditButton:{width:Yr,height:Yr,color:"white",position:"absolute",top:(Rn-Yr)/2,right:Yr+3,opacity:.7,"&:hover":{opacity:1}},cellName:{display:"inline-block",verticalAlign:"top",fontSize:14,ml:"5px",overflow:"hidden",textOverflow:"ellipsis",position:"relative","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellNameWithDesc:{lineHeight:"normal"},cellNameDivDiv:{},cellDescription:{fontSize:10,opacity:.5,fontStyle:"italic"},cellIdAlias:t=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:t.palette.mode==="dark"?"#009900":"#007700"}}),cellIdAliasReadWriteDiv:{height:24,marginTop:-5},cellIdAliasAlone:{lineHeight:0},cellIdAliasReadWrite:{lineHeight:"12px"},cellType:{display:"inline-block",verticalAlign:"top","& .itemIcon":{verticalAlign:"middle",width:Xc,height:Xc,display:"inline-block"},"& .itemIconFolder":{marginLeft:3}},cellRole:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellRoom:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellEnumParent:{opacity:.4},cellFunc:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValue:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValueButton:{marginTop:5},cellValueButtonFalse:{opacity:.3},cellAdapter:{display:"inline-block",verticalAlign:"top"},cellValueTooltip:{fontSize:12},cellValueText:{width:"100%",height:Rn,fontSize:16,display:"flex",overflow:"hidden",textOverflow:"ellipsis",position:"relative",verticalAlign:"top","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellValueFile:{color:"#2837b9"},cellValueTooltipTitle:{fontStyle:"italic",width:100,display:"inline-block"},cellValueTooltipValue:{width:120,display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis"},cellValueTooltipImage:{width:100,height:"auto"},cellValueTooltipBoth:{width:220,display:"inline-block",whiteSpace:"nowrap"},cellValueTooltipBox:{width:250,overflow:"hidden",pointerEvents:"none"},tooltip:{pointerEvents:"none"},cellValueTextUnit:{marginLeft:4,opacity:.8,display:"inline-block"},cellValueTextState:{opacity:.7},cellValueTooltipCopy:{position:"absolute",bottom:3,right:3},cellValueTooltipEdit:{position:"absolute",bottom:3,right:15},cellButtons:{display:"inline-block",verticalAlign:"top"},cellButtonsButton:{display:"inline-block",opacity:.5,width:Yr+4,height:Yr+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${Yr+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:t=>({color:t.palette.mode==="dark"?t.palette.primary.main:t.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:t=>({position:"absolute",top:Yr/2-2,opacity:.7,width:Yr-2,height:Yr-2,color:t.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:Yr/2+16},cellDetailsLine:{display:"flex",alignItems:"center",width:"100%",height:32,fontSize:16},cellDetailsName:{fontWeight:"bold",marginRight:8,minWidth:80},filteredOut:{opacity:.5},filteredParentOut:{opacity:.3},filterInput:{mt:0,mb:0},selectIcon:{width:24,height:24,marginRight:4},selectNone:{opacity:.5},itemSelected:t=>({background:`${t.palette.primary.main} !important`,color:`${ue.invertColor(t.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},headerCellInput:{width:"calc(100% - 5px)",height:Rn,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Xc,height:Xc,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Xc,height:Xc,mr:"5px",display:"inline-block"}},visibleButtons:{color:"#2196f3",opacity:.7},grow:{flexGrow:1},enumIconDiv:{marginRight:8,width:32,height:32,borderRadius:8,background:"#FFFFFF"},enumIcon:{marginTop:4,marginLeft:4,width:24,height:24},enumDialog:{overflow:"hidden"},enumList:{minWidth:250,height:"calc(100% - 50px)",overflow:"auto"},enumButton:{float:"right"},enumCheckbox:{minWidth:0},buttonDiv:{display:"flex",height:"100%",alignItems:"center"},aclText:{fontSize:13,marginTop:6},rightsObject:{color:"#55ff55",paddingLeft:3},rightsState:{color:"#86b6ff",paddingLeft:3},textCenter:{padding:12,textAlign:"center"},tooltipAccessControl:{display:"flex",flexDirection:"column"},fontSizeTitle:{"@media screen and (max-width: 465px)":{"& *":{fontSize:12}}},draggable:{cursor:"copy"},nonDraggable:{cursor:"no-drop"},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},iconDeviceConnected:t=>({color:t.palette.mode==="dark"?S2:C2,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:t=>({color:t.palette.mode==="dark"?$2:k2,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:t=>({color:t.palette.mode==="dark"?xV:SV,opacity:.8,position:"absolute",top:4,right:50,width:20}),resizeHandle:{display:"block",position:"absolute",cursor:"col-resize",width:7,top:2,bottom:2,zIndex:1},resizeHandleRight:{right:3,borderRight:"2px dotted #888","&:hover":{borderColor:"#ccc",borderRightStyle:"solid"},"&.active":{borderColor:"#517ea5",borderRightStyle:"solid"}},invertedBackground:t=>({backgroundColor:t.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:t=>({backgroundColor:t.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:t=>({color:t.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:t=>({color:t.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:t=>({color:t.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:t=>({color:t.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:t=>({color:t.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:t=>({color:t.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:t=>({color:t.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:t=>({color:t.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function u_t(t){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:t==null?void 0:t.style,width:"24",height:"24",className:"admin-button"},m.createElement("g",{fill:"currentColor"},m.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),m.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function p_t(t,e){const r=[];for(let n=0;n{if(o==null)return;const i=typeof o=="object";if(r&&i&&typeof o.en=="string"&&typeof o.de=="string"){n[a]=o.en;return}n[a]=i?E2(o,e,r):o}):h_t(t,(n,o,a)=>{if(o==null||e.includes(a))return;const i=typeof o=="object";if(r&&i&&typeof o.en=="string"&&typeof o.de=="string"){n[a]=o.en;return}n[a]=i?E2(o,e,r):o})}function vz(t,e,r){const n=document.createElement("a"),o=[];r.excludeSystemRepositories&&o.push("system.repositories");const a=o.length>0||r.excludeTranslations?E2(e,o,r.excludeTranslations):e,i=r.beautify?JSON.stringify(a,null,2):JSON.stringify(a);n.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(i)}`),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}function uf(t,e,r,n){if(r=r||0,n===void 0&&(n=t.length-1,!n))return t[0]===e;const o=Math.floor((r+n)/2);return e===t[o]?!0:n-1===r?t[r]===e||t[n]===e:e>t[o]?uf(t,e,o,n):ek.role.startsWith(O))||(d=!0)):d=!0),!d&&((T=i.common)==null?void 0:T.custom)==="_"&&(k!=null&&k.custom))d=!0;else if(!d&&((E=i.common)!=null&&E.custom)&&(($=i.common)==null?void 0:$.custom)!=="_"){const O=i.common.custom;if(!(k!=null&&k.custom))d=!0;else if(O==="_dataSources")Object.keys(k.custom).find(M=>M.startsWith("history.")||M.startsWith("sql.")||M.startsWith("influxdb."))||(d=!0);else if(Array.isArray(O)){const M=Object.keys(k.custom);O.find(R=>M.find(j=>j.startsWith(R)))&&(d=!0)}else O!==!0&&!Object.keys(k.custom).find(M=>M.startsWith(O))&&(d=!0)}}!d&&!e.expertMode&&(d=h.id==="system"||h.id==="enum"||h.id.startsWith("system.")||h.id.startsWith("enum.")||h.id.startsWith("_design/")||h.id.endsWith(".admin")||!!(k!=null&&k.expert)),!d&&o.id&&(h.fID===void 0&&(h.fID=h.id.toLowerCase()),d=!h.fID.includes(o.id)),!d&&o.name&&(k?(h.fName===void 0&&(h.fName=k&&xo(k.name,r)||"",h.fName=h.fName.toLowerCase()),d=!h.fName.includes(o.name)):d=!0),!d&&e.role&&k&&(k?d=!(k.role&&k.role.startsWith(o.role)):d=!0),!d&&o.room&&(d=!o.room.find(O=>O===h.id||h.id.startsWith(`${O}.`))),!d&&o.func&&(d=!o.func.find(O=>O===h.id||h.id.startsWith(`${O}.`))),!d&&o.type&&(d=!(h.obj&&h.obj.type&&h.obj.type===o.type)),!d&&s&&(d=!(h.obj&&h.obj.type&&s.includes(h.obj.type))),!d&&o.custom&&(k?o.custom==="_"?d=!!k.custom:d=!k.custom||!k.custom[o.custom]:d=!0)}return h.visible=!d,h.hasVisibleChildren=!1,t.children&&l<20&&t.children.forEach(k=>{T2(k,e,r,n,o,a,i,s,l+1)&&(h.hasVisibleChildren=!0)}),h.sumVisibility=h.visible||h.hasVisibleChildren,a&&h.sumVisibility&&a.count++,h.id&&h.sumVisibility&&t.children&&t.children.forEach(k=>k.data.hasVisibleParent=!0),h.visible||h.hasVisibleChildren}function CV(t,e,r,n){var a;n=n||[];const o=t.data;return o.sumVisibility&&(o.id&&r[o.id]&&r[o.id].type===e&&n.push(o.id),(a=t.children)==null||a.forEach(i=>CV(i,e,r,n))),n}function yz(t,e,r,n,o,a){let i;return e==="alias"||e==="alias.0"?i=m.createElement(JH,{className:"iconOwn",style:{color:_V(n)}}):e==="0_userdata"||e==="0_userdata.0"?i=m.createElement(yve,{className:"iconOwn",style:{color:yV(n)}}):e.startsWith("_design/")||e==="system"?i=m.createElement(F5,{className:"iconOwn",style:{color:bV(n)}}):e==="system.adapter"?i=m.createElement(F5,{className:"iconOwn",style:{color:wV(n)}}):e==="system.group"?i=m.createElement(ZH,{className:"iconOwn"}):e==="system.user"?i=m.createElement(YH,{className:"iconOwn"}):e==="system.host"?i=m.createElement(KH,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?i=m.createElement(ch,{className:"iconOwn"}):e.endsWith(".info")?i=m.createElement(kve,{className:"iconOwn"}):t[e]&&t[e].type==="meta"?i=m.createElement(IO,{className:"iconOwn"}):r<2&&t[`system.adapter.${e}`]&&(i=Gv(t,`system.adapter.${e}`,o,a)),i||null}function $V(t,e){var r,n;return(n=(r=t==null?void 0:t.obj)==null?void 0:r.common)!=null&&n.desc&&xo(t.obj.common.desc,e)||null}function f_t(t,e){const r=$V(t,e);return r!=null&&r.startsWith("http")?m.createElement(Re,{component:"a",sx:Q.cellIdTooltipLink,href:r,target:"_blank",rel:"noreferrer"},r):m.createElement("span",{style:Q.cellIdTooltip},r||t.id||"")}function _z(t,e){var h,u,f,g,y,b,x,S,T;const r=e.imagePrefix||".";let n=Object.keys(t);n.sort((E,$)=>E===$?0:(E=E.replace(/\./g,"!!!"),$=$.replace(/\./g,"!!!"),E>$?1:-1)),e.root&&(n=n.filter(E=>E===e.root||E.startsWith(`${e.root}.`)));let o=[],a="",i=0;const s={data:{name:"",id:""},children:[]},l={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:t,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let d=s;for(let E=0;E1){let j=a;for(let I=i;Iz.data.name===O[I]));else{const z={data:{name:O[I],parent:d,id:j,obj:t[j],level:I,icon:yz(t,j,I,e.themeType,e.lang,r),generated:!0}};d.children=d.children||[],d.children.push(z),d=z,l.ids.push(j)}}const R={data:{name:O[O.length-1],title:xo((f=k==null?void 0:k.common)==null?void 0:f.name,e.lang),obj:k,parent:d,icon:Gv(t,$,e.lang,r)||yz(t,$,0,e.themeType,e.lang,r),id:$,hasCustoms:!!((g=k.common)!=null&&g.custom&&Object.keys(k.common.custom).length),level:O.length-1,generated:!1,button:k.type==="state"&&!!((y=k.common)!=null&&y.role)&&typeof k.common.role=="string"&&k.common.role.startsWith("button")&&((b=k.common)==null?void 0:b.write)!==!1,switch:k.type==="state"&&((x=k.common)==null?void 0:x.type)==="boolean"&&((S=k.common)==null?void 0:S.write)!==!1&&((T=k.common)==null?void 0:T.read)!==!1}};d.children=d.children||[],d.children.push(R),d=R,i=O.length,o=O,a=$}else{let R=0;for(;o[R]===O[R];)R++;if(R>0){let j=o.length;for(o=o.splice(0,R),i=R,a=o.join(".");j>R;)d.data.parent?d=d.data.parent:console.error(`Parent is null for ${$} ${a} ${o.join(".")}`),j--}else d=s,o=[],a="",i=0;M=!0}while(M)}return l.roomEnums.sort((E,$)=>{var M,R,j,I;const k=xo((R=(M=t[E])==null?void 0:M.common)==null?void 0:R.name,e.lang)||E.split(".").pop(),O=xo((I=(j=t[$])==null?void 0:j.common)==null?void 0:I.name,e.lang)||$.split(".").pop();return k>O?1:k{var M,R,j,I;const k=xo((R=(M=t[E])==null?void 0:M.common)==null?void 0:R.name,e.lang)||E.split(".").pop(),O=xo((I=(j=t[$])==null?void 0:j.common)==null?void 0:I.name,e.lang)||$.split(".").pop();return k>O?1:kn)break}return a?(o=o||0,kV(a,e,r,`${n}.${r[o+1]}`,o+1)):null}function EV(t,e,r,n){var i,s;if(!e)return{rooms:[],per:!1};n=n||[];for(const l of t.roomEnums){const d=(i=t.objects[l])==null?void 0:i.common;if(!d)continue;const h=xo(d.name,r);(s=d.members)!=null&&s.includes(e)&&!n.includes(h)&&n.push(h)}let o;const a=e.split(".");return a.pop(),e=a.join("."),t.objects[e]&&(o=n.length,EV(t,e,r,n)),{rooms:n,per:!o}}function Jc(t,e,r,n){var o,a;if(!e)return[];n=n||[];for(let i=0;i946681200&&d<9466812e5&&(d*=1e3),d=d&&new Date(d).toString();else h==="number"?Number.isInteger(d)||(d=Math.round(d*1e8)/1e8,n&&(d=d.toString().replace(".",","))):h==="object"?d=JSON.stringify(d):h!=="string"?d=d.toString():d.startsWith("data:image/")&&(l="image"),typeof d!="string"&&(d=d.toString());const u={v:d};i&&i[d]!==void 0&&d!==i[d]&&(u.s=d,d=i[d],u.v=d),s!=null&&s.unit&&(u.u=s.unit);let f;if(t.full&&(f=[{t:o.value,v:d}],r)){if(r.ack!==void 0&&r.ack!==null&&f.push({t:o.ack,v:r.ack.toString()}),r.ts&&f.push({t:o.ts,v:r.ts?ue.formatDate(new Date(r.ts),e):""}),r.lc&&f.push({t:o.lc,v:r.lc?ue.formatDate(new Date(r.lc),e):""}),r.from){let g=r.from.toString();g.startsWith("system.adapter.")&&(g=g.substring(15)),f.push({t:o.from,v:g})}if(r.user){let g=r.user.toString();g.startsWith("system.user.")&&(g=g.substring(12)),f.push({t:o.user,v:g})}r.c&&f.push({t:o.c,v:r.c}),f.push({t:o.quality,v:ue.quality2text(r.q||0).join(", "),nbr:!0})}return{valText:u,valFull:f,fileViewer:l}}function m_t(t){const{state:e}=t;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function g_t(t,e){let r=e,n=1;const o=[];for(;n=r)o.push(0);else if(n{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(r.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:r.clientX+2,top:r.clientY-6}}})):this.state.showContextMenu&&(r.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null});X(this,"onStateChange",(r,n)=>{if(console.log(`> stateChange ${r}`),this.states[r]){const o=this.findItem(r);o!=null&&o.data.state&&(o.data.state=void 0)}n?this.states[r]=n:delete this.states[r],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))});X(this,"onObjectChangeFromWorker",r=>{if(Array.isArray(r)){let n=null;r.forEach(o=>{const{newInnerState:a,filtered:i}=this.processOnObjectChangeElement(o.id,o.obj);i||(a&&n?Object.assign(n,a):n=a)}),n&&this.setState(n),this.afterObjectUpdated()}});X(this,"onObjectChange",(r,n)=>{const{newInnerState:o,filtered:a}=this.processOnObjectChangeElement(r,n);a||(o&&this.setState(o),this.afterObjectUpdated())});X(this,"getEnumsForId",r=>{const n=[];return this.info.enums.forEach(o=>{var a,i,s;if((s=(i=(a=this.objects[o])==null?void 0:a.common)==null?void 0:i.members)!=null&&s.includes(r)){const l={_id:this.objects[o]._id,common:JSON.parse(JSON.stringify(this.objects[o].common)),native:this.objects[o].native,type:"enum"};l.common&&(delete l.common.members,delete l.common.custom,delete l.common.mobile),n.push(l)}}),n.length?n:void 0});X(this,"_createAllEnums",async(r,n)=>{var o,a;for(let i=0;i{var o,a;const{t:r}=this.props;let n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:2},r("ra_Folder → State")),m.createElement("div",{key:3},r("ra_Folder → Channel → State")),m.createElement("div",{key:4},r("ra_Folder → Device → Channel → State")),m.createElement("div",{key:5},r("ra_Device → Channel → State")),m.createElement("div",{key:6},r("ra_Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];if(this.state.selected.length||this.state.selectedNonObject){const i=this.state.selected[0]||this.state.selectedNonObject;if(!(i.split(".").length<2||this.objects[i]&&((o=this.objects[i])==null?void 0:o.type)==="state"))if(this.state.filter.expertMode)switch((a=this.objects[i])==null?void 0:a.type){case"device":n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:5},r("ra_Device → Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:2},r("ra_Folder → State")),m.createElement("div",{key:3},r("ra_Folder → Channel → State")),m.createElement("div",{key:4},r("ra_Folder → Device → Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:1},r("ra_Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(i.startsWith("alias.0")||i.startsWith("0_userdata"))&&(n=[m.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),m.createElement("div",{key:2},r("ra_Folder → State")),m.createElement("div",{key:3},r("ra_Folder → Channel → State")),m.createElement("div",{key:4},r("ra_Folder → Device → Channel → State")),m.createElement("div",{key:5},r("ra_Device → Channel → State")),m.createElement("div",{key:6},r("ra_Channel → State")),m.createElement("div",{key:7,style:{height:10}}),m.createElement("div",{key:7},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),m.createElement("div",{key:8},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return n.length?n:r("ra_Add new child object to selected parent")});X(this,"renderTooltipAccessControl",r=>{if(!r)return null;const n=[{value:"0x400",valueNum:1024,title:"read",group:"Owner"},{value:"0x200",valueNum:512,title:"write",group:"Owner"},{value:"0x40",valueNum:64,title:"read",group:"Group"},{value:"0x20",valueNum:32,title:"write",group:"Group"},{value:"0x4",valueNum:4,title:"read",group:"Everyone"},{value:"0x2",valueNum:2,title:"write",group:"Everyone"}],o=[],a=i=>{const s=r[i];n.forEach((l,d)=>{s&l.valueNum&&o.push(m.createElement("span",{key:i+d},this.texts[`acl${l.group}_${l.title}_${i}`],",",m.createElement("span",{style:i==="object"?Q.rightsObject:Q.rightsState},l.value)))})};return o.push(m.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(r.ownerGroup||"").replace("system.group.","")}`)),o.push(m.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(r.owner||"").replace("system.user.","")}`)),a("object"),r.state&&a("state"),o.length?m.createElement("span",{style:Q.tooltipAccessControl},o.map(i=>i)):null});X(this,"resizerMouseMove",r=>{if(this.resizerActiveDiv){let n,o;this.resizeLeft?(n=this.resizerOldWidth-r.clientX+this.resizerPosition,o=this.resizerOldWidthNext+r.clientX-this.resizerPosition):(n=this.resizerOldWidth+r.clientX-this.resizerPosition,o=this.resizerOldWidthNext-r.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||n>this.resizerMin)&&(!this.resizerNextMin||o>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=n,this.resizerCurrentWidths[this.resizerNextName]=o,this.resizerActiveDiv.style.width=`${n}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${o}px`),this.columnsVisibility[this.resizerActiveName]=n,this.columnsVisibility[this.resizerNextName]=o,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=o-this.state.scrollBarWidth,this.resizerCurrentWidths.name=o-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=n-this.state.scrollBarWidth,this.resizerCurrentWidths.name=n-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}});X(this,"resizerMouseUp",()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveName=null,this.resizerNextName=null,this.resizerActiveDiv=null,this.resizerNextDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)});X(this,"resizerMouseDown",r=>{if(this.storedWidths=this.storedWidths||JSON.parse(JSON.stringify(Vr[this.props.width||"lg"])),this.resizerCurrentWidths=this.resizerCurrentWidths||{},this.resizerActiveDiv=r.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let n=0;if(r.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let o=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!o&&n<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,o=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),n++;(o==null?void 0:o.dataset.left)!=="true"&&(this.resizerNextDiv=this.resizerNextDiv.nextElementSibling)}else this.resizeLeft=!1,this.resizerNextDiv=this.resizerActiveDiv.nextElementSibling;this.resizerNextName=this.resizerNextDiv.dataset.name||null,this.resizerMin=parseInt(this.resizerActiveDiv.dataset.min,10)||0,this.resizerNextMin=parseInt(this.resizerNextDiv.dataset.min,10)||0,this.resizerPosition=r.clientX,this.resizerCurrentWidths[this.resizerActiveName]=this.resizerActiveDiv.offsetWidth,this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveName],this.resizerNextName&&(this.resizerCurrentWidths[this.resizerNextName]=this.resizerNextDiv.offsetWidth,this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerNextName]),window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}});X(this,"resizerReset",()=>{this.customWidth=!1,Vr[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()});const n=this.localStorage.getItem(`${r.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",n.startsWith("["))try{const S=JSON.parse(n);this.selectFirst=S[0]||""}catch{}else this.selectFirst=n;let o;const a=this.localStorage.getItem(`${r.dialogName||"App"}.objectExpanded`)||"[]";try{o=JSON.parse(a)}catch{o=[]}let i;const s=r.defaultFilters?"":this.localStorage.getItem(`${r.dialogName||"App"}.objectFilter`)||"";if(s)try{i=JSON.parse(s)}catch{i={...Rg}}else r.defaultFilters&&typeof r.defaultFilters=="object"?i={...r.defaultFilters}:i={...Rg};if(i.expertMode=r.expertMode!==void 0?r.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=A.createRef(),this.filterRefs={},Object.keys(Rg).forEach(S=>this.filterRefs[S]=A.createRef()),this.visibleCols=r.columns||Vr[r.width||"lg"].fields,r.types&&r.types.length===1){const S=this.visibleCols.indexOf("type");S!==-1&&this.visibleCols.splice(S,1)}this.possibleCols=Vr.xl.fields;let l=null;if(r.router){const S=r.router.getLocation();S.id&&S.dialog==="customs"&&(l=[S.id],this.pauseSubscribe(!0))}let d;Array.isArray(r.selected)?d=r.selected:d=[r.selected||""],d=d.map(S=>S.replace(/["']/g,"")).filter(S=>S),this.selectFirst=d.length&&d[0]?d[0]:this.selectFirst;const h=this.localStorage.getItem(`${r.dialogName||"App"}.columns`);let u;try{u=h?JSON.parse(h):null}catch{u=null}let f=null;try{f=f?JSON.parse(f):{}}catch{f={}}this.imagePrefix=r.imagePrefix||".";let g;const y=this.localStorage.getItem(`${r.dialogName||"App"}.foldersFirst`);y==="false"?g=!1:y==="true"?g=!0:g=r.foldersFirst===void 0?!0:r.foldersFirst;let b=!1;try{b=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${r.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={loaded:!1,foldersFirst:g,selected:d,selectedNonObject:this.localStorage.getItem(`${r.dialogName||"App"}.selectedNonObject`)||"",filter:i,filterKey:0,focused:this.localStorage.getItem(`${r.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:o,toast:"",scrollBarWidth:16,customDialog:l,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:b,columns:u,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${r.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:f,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${r.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${r.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:""},this.texts={name:r.t("ra_Name"),categories:r.t("ra_Categories"),value:r.t("ra_tooltip_value"),ack:r.t("ra_tooltip_ack"),ts:r.t("ra_tooltip_ts"),lc:r.t("ra_tooltip_lc"),from:r.t("ra_tooltip_from"),user:r.t("ra_tooltip_user"),c:r.t("ra_tooltip_comment"),quality:r.t("ra_tooltip_quality"),editObject:r.t("ra_tooltip_editObject"),deleteObject:r.t("ra_tooltip_deleteObject"),customConfig:r.t("ra_tooltip_customConfig"),copyState:r.t("ra_tooltip_copyState"),editState:r.t("ra_tooltip_editState"),close:r.t("ra_Close"),filter_id:r.t("ra_filter_id"),filter_name:r.t("ra_filter_name"),filter_type:r.t("ra_filter_type"),filter_role:r.t("ra_filter_role"),filter_room:r.t("ra_filter_room"),filter_func:r.t("ra_filter_func"),filter_custom:r.t("ra_filter_customs"),filterCustomsWithout:r.t("ra_filter_customs_without"),objectChangedByUser:r.t("ra_object_changed_by_user"),objectChangedBy:r.t("ra_object_changed_by"),objectChangedFrom:r.t("ra_state_changed_from"),stateChangedBy:r.t("ra_state_changed_by"),stateChangedFrom:r.t("ra_state_changed_from"),ownerGroup:r.t("ra_Owner group"),ownerUser:r.t("ra_Owner user"),deviceError:r.t("ra_Error"),deviceDisconnected:r.t("ra_Disconnected"),deviceConnected:r.t("ra_Connected"),aclOwner_read_object:r.t("ra_aclOwner_read_object"),aclOwner_read_state:r.t("ra_aclOwner_read_state"),aclOwner_write_object:r.t("ra_aclOwner_write_object"),aclOwner_write_state:r.t("ra_aclOwner_write_state"),aclGroup_read_object:r.t("ra_aclGroup_read_object"),aclGroup_read_state:r.t("ra_aclGroup_read_state"),aclGroup_write_object:r.t("ra_aclGroup_write_object"),aclGroup_write_state:r.t("ra_aclGroup_write_state"),aclEveryone_read_object:r.t("ra_aclEveryone_read_object"),aclEveryone_read_state:r.t("ra_aclEveryone_read_state"),aclEveryone_write_object:r.t("ra_aclEveryone_write_object"),aclEveryone_write_state:r.t("ra_aclEveryone_write_state"),create:r.t("ra_Create"),createBooleanState:r.t("ra_create_boolean_state"),createNumberState:r.t("ra_create_number_state"),createStringState:r.t("ra_create_string_state"),createState:r.t("ra_create_state"),createChannel:r.t("ra_create_channel"),createDevice:r.t("ra_create_device"),createFolder:r.t("ra_Create folder")},this.levelPadding=r.levelPadding||c_t;const x=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(x)try{const S=JSON.parse(x),T=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(Vr[T])),Object.keys(S).forEach(E=>{E==="id"?Vr[T].idWidth=S.id:E==="nameHeader"?Vr[T].widths.name=S[E]:Vr[T].widths[E]!==void 0&&(Vr[T].widths[E]=S[E])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(r){const n=this.props;try{await new Promise(d=>{this.setState({updating:!0},()=>d())});const o=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(r):await n.socket.getObjects(r,!0))||{};if(n.types&&Oi.isWeb())for(let d=0;d{try{if(d(o[h]))this.objects[h]=o[h];else{const u=o[h]&&o[h].type;u&&(u==="channel"||u==="device"||u==="folder"||u==="adapter"||u==="instance")&&(this.objects[h]=o[h])}}catch(u){console.log(`Error by filtering of "${h}": ${u}`)}})}else if(n.types){this.objects={};const d=n.types;Object.keys(o).forEach(h=>{const u=o[h]&&o[h].type;u&&(u==="channel"||u==="device"||u==="enum"||u==="folder"||u==="adapter"||u==="instance"||d.includes(u))&&(this.objects[h]=o[h])})}else this.objects=o;n.setObjectsReference&&n.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&n.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(d=>{(!d||!d.val)&&(this.defaultHistory="")}).catch(d=>window.alert(`Cannot get state: ${d}`));const a=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,a);const{info:i,root:s}=_z(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=s,this.info=i;const l=this.state.selected&&this.state.selected.length&&kV(this.root,this.state.selected[0]);this.lastAppliedFilter=null,l&&!T2(l,this.state.filter,this.props.lang,this.objects,void 0,void 0,n.customFilter,n.types)?this.setState({filter:{...Rg},columnsForAdmin:a},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:a},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(o){this.showError(o)}}static isNonExpertId(r){return!!dP(va,iy).find(n=>r.startsWith(n))}expandAllSelected(r){const n=[...this.state.expanded];let o=!1;this.state.selected.forEach(a=>{const i=a.split("."),s=[];for(let l=0;l{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,r)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,r)):this.props.onSelect([],""))}static getDerivedStateFromProps(r,n){const o={};let a=!1;return r.expertMode!==void 0&&r.expertMode!==n.filter.expertMode&&(a=!0,o.filter={...n.filter},o.filter.expertMode=r.expertMode),a?o:null}async componentDidMount(){await this.loadAllObjects(!wz),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),wz=!0,window.addEventListener("contextmenu",this.onContextMenu,!0)}componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(r=>console.error(`Cannot unsubscribe *: ${r}`)),this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(r){var d,h;const{id:n,obj:o,item:a}=r,i=Object.keys(this.objects);i.sort();let s=0;const l=`${n}.`;for(let u=0;ul)break;this.props.onObjectDelete&&this.props.onObjectDelete(n,!!((d=a.children)!=null&&d.length),!((h=o.common)!=null&&h.dontDelete),s+1)}refreshComponent(){this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(r=>this.showError(r))}renderErrorDialog(){return this.state.error?m.createElement(or,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},m.createElement(_r,{id:"alert-dialog-title"},this.props.t("ra_Error")),m.createElement(Wr,null,m.createElement(Ds,{id:"alert-dialog-description"},this.state.error)),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:m.createElement(Ea,null)},this.props.t("ra_Ok")))):null}showError(r){this.setState({error:typeof r=="object"?r&&typeof r.toString=="function"?r.toString():JSON.stringify(r):r})}onSelect(r,n,o){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,r),!this.props.multiSelect)this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==r?this.setState({selected:[r],selectedNonObject:"",focused:r},()=>{this.onAfterSelect(n),o&&o()}):n&&this.props.onSelect&&this.onAfterSelect(n)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,r),this.setState({selected:[],selectedNonObject:r,focused:r},()=>{this.onAfterSelect(),o&&o()}));else if(this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const a=[...this.state.selected],i=a.indexOf(r);i===-1?(a.push(r),a.sort()):n||a.splice(i,1),this.setState({selected:a,selectedNonObject:"",focused:r},()=>{this.onAfterSelect(n),o&&o()})}}_renderDefinedList(r){const n=[...this.possibleCols];if(n.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const o=n.indexOf("buttons");o!==-1&&n.splice(o,1)}return n.filter(o=>r&&(o==="val"||o==="buttons")||!r&&o!=="val"&&o!=="buttons").map(o=>{var a;return m.createElement(Ev,{onClick:()=>{if(!this.state.columnsAuto&&o!=="id"){const i=[...this.state.columns||[]],s=i.indexOf(o);s===-1?(i.push(o),i.sort()):i.splice(s,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(i)),this.calculateColumnsVisibility(null,i),this.setState({columns:i})}},key:o},m.createElement(yr,{edge:"start",disabled:o==="id"||this.state.columnsAuto,checked:o==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(o):(a=this.state.columns)!=null&&a.includes(o)),disableRipple:!0}),m.createElement(_o,{primary:this.texts[`filter_${o}`]||this.props.t(`ra_${o}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?m.createElement(or,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":ue.getStyle(this.props.theme,Q.dialogColumns,Q[`transparent_${this.state.columnsDialogTransparent}`])}},m.createElement(_r,{sx:Q.fontSizeTitle},this.props.t("ra_Configure")),m.createElement(Wr,{sx:Q.fontSizeTitle},m.createElement(St,{style:Q.switchColumnAuto,control:m.createElement(ih,{checked:this.state.foldersFirst,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.foldersFirst`,this.state.foldersFirst?"false":"true"),this.setState({foldersFirst:!this.state.foldersFirst})}}),label:this.props.t("ra_Folders always first")}),m.createElement(St,{style:Q.switchColumnAuto,control:m.createElement(ih,{checked:this.state.linesEnabled,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.lines`,this.state.linesEnabled?"false":"true"),this.setState({linesEnabled:!this.state.linesEnabled})}}),label:this.props.t("ra_Show lines between rows")}),m.createElement(St,{style:Q.switchColumnAuto,control:m.createElement(ih,{checked:this.state.columnsAuto,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.columnsAuto`,this.state.columnsAuto?"false":"true"),this.state.columnsAuto?this.state.columns?(this.calculateColumnsVisibility(!1),this.setState({columnsAuto:!1})):(this.calculateColumnsVisibility(!1,[...this.visibleCols]),this.setState({columnsAuto:!1,columns:[...this.visibleCols]})):(this.calculateColumnsVisibility(!0),this.setState({columnsAuto:!0}))}}),label:this.props.t("ra_Auto (no custom columns)")}),m.createElement(vu,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(r=>this.state.columnsForAdmin&&this.state.columnsForAdmin[r].map(n=>{var o;return m.createElement(Ev,{onClick:()=>{if(!this.state.columnsAuto){const a=[...this.state.columns||[]],i=`_${r}_${n.path}`,s=a.indexOf(i);s===-1?(a.push(i),a.sort()):a.splice(s,1),this.calculateColumnsVisibility(null,a),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(a)),this.setState({columns:a})}},key:`${r}_${n.name}`},m.createElement(ba,null,m.createElement(yr,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((o=this.state.columns)==null?void 0:o.includes(`_${r}_${n.path}`)),disableRipple:!0})),m.createElement(_o,{primary:`${n.name} (${r})`}))})),this._renderDefinedList(!0))),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:m.createElement(Ar,null)},this.texts.close))):null}async getAdditionalColumns(){try{const r=await this.props.socket.getAdapters();let n=null;return r.forEach(o=>n=this.parseObjectForAdmins(n,o)),n}catch(r){return console.error(`Cannot get adapters: ${r}`),null}}checkUnsubscribes(){for(let r=this.subscribes.length-1;r>=0;r--)this.recordStates.includes(this.subscribes[r])||this.unsubscribe(this.subscribes[r]);this.recordStates=[]}findItem(r,n,o,a){if(n=n||r.split("."),o=o||this.root,!o||!n.length)return null;if(a=(a?`${a}.`:"")+n.shift(),o.children){const i=o.children.find(s=>s.data.id===a);if(i){if(i.data.id===r)return i;if(n.length)return this.findItem(r,n,i,a)}else return null}return null}parseObjectForAdmins(r,n){if(n.common&&n.common.adminColumns&&n.common.name){const o=n.common.adminColumns;let a;o&&typeof o!="object"?a=[o]:o&&(a=o);let i;o?i=a.map(s=>{if(typeof s!="object")return{path:s,name:s.split(".").pop()};const l=s;return l.objTypes&&typeof l.objTypes!="object"?l.objTypes=[l.objTypes]:l.objTypes||(l.objTypes=void 0),!l.name&&l.path?{path:l.path,name:l.path.split(".").pop(),width:l.width,edit:!!l.edit,type:l.type,objTypes:l.objTypes}:l.path?{path:l.path,name:xo(l.name||"",this.props.lang),width:l.width,edit:!!l.edit,type:l.type,objTypes:l.objTypes}:(console.warn(`Admin columns for ${n._id} ignored, because path not found`),null)}).filter(s=>s):i=null,i&&i.length&&(r=r||{},r[n.common.name]=i.sort((s,l)=>s.path>l.path?-1:s.path{this.objectsUpdateTimer=null;const{info:r,root:n}=_z(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=n,this.info=r,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(r){var o,a,i;if(!this.objects||!((o=this.info)!=null&&o.aliasesMap)||!(r!=null&&r.startsWith("alias.")))return;const n=Object.keys(this.objects).filter(s=>s.startsWith("alias.0"));this.info.aliasesMap={};for(const s of n){const l=this.objects[s];if((i=(a=l==null?void 0:l.common)==null?void 0:a.alias)!=null&&i.id)if(typeof l.common.alias.id=="string"){const d=l.common.alias.id;this.info.aliasesMap[d]?this.info.aliasesMap[d].includes(s)||this.info.aliasesMap[d].push(s):this.info.aliasesMap[d]=[s]}else{const d=l.common.alias.id.read;d&&(this.info.aliasesMap[d]?this.info.aliasesMap[d].includes(s)||this.info.aliasesMap[d].push(s):this.info.aliasesMap[d]=[s]);const h=l.common.alias.id.write;h&&(this.info.aliasesMap[h]?this.info.aliasesMap[h].includes(s)||this.info.aliasesMap[h].push(s):this.info.aliasesMap[h]=[s])}}}processOnObjectChangeElement(r,n){console.log(`> objectChange ${r}`);const o=n==null?void 0:n.type;if(n&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(n)&&o!=="channel"&&o!=="device"&&o!=="folder"&&o!=="adapter"&&o!=="instance")return{newInnerState:null,filtered:!0};let a=null;if(r.startsWith("system.adapter.")&&(n==null?void 0:n.type)==="adapter"){const i=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(i,n),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(i)&&(a={columnsForAdmin:i})}return this.objects=this.objects||{},n?this.objects[r]=n:this.objects[r]&&delete this.objects[r],this.updateAliases(r),{newInnerState:a,filtered:!1}}subscribe(r){this.subscribes.includes(r)||(this.subscribes.push(r),console.log(`+ subscribe ${r}`),this.pausedSubscribes||this.props.socket.subscribeState(r,this.onStateChange).catch(n=>console.error(`Cannot subscribe on state ${r}: ${n}`)))}unsubscribe(r){const n=this.subscribes.indexOf(r);n!==-1&&(this.subscribes.splice(n,1),this.states[r]&&delete this.states[r],console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(r){!this.pausedSubscribes&&r?(this.pausedSubscribes=!0,this.subscribes.forEach(n=>this.props.socket.unsubscribeState(n,this.onStateChange))):this.pausedSubscribes&&!r&&(this.pausedSubscribes=!1,this.subscribes.forEach(n=>this.props.socket.subscribeState(n,this.onStateChange)))}onFilter(r,n){this.filterTimer=null;const o={...this.state.filter};Object.keys(this.filterRefs).forEach(a=>{if(this.filterRefs[a]&&this.filterRefs[a].current){const i=this.filterRefs[a].current;for(let s=0;sthis.props.onFilterChanged&&this.props.onFilterChanged(o)))}clearFilter(){const r={...this.state.filter};Object.keys(this.filterRefs).forEach(n=>{if(this.filterRefs[n]&&this.filterRefs[n].current){const o=this.filterRefs[n].current;for(let a=0;athis.props.onFilterChanged&&this.props.onFilterChanged(r)))}isFilterEmpty(){return!Object.keys(this.state.filter).find(n=>n!=="expertMode"&&this.state.filter[n])}getFilterInput(r){var n,o,a;return m.createElement(_a,{sx:this.styles.filterInput,key:`${r}_${this.state.filterKey}`,margin:"dense"},m.createElement(ya,{ref:this.filterRefs[r],classes:{underline:"no-underline"},id:r,placeholder:this.texts[`filter_${r}`],defaultValue:this.state.filter[r]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(a=(o=(n=this.filterRefs[r])==null?void 0:n.current)==null?void 0:o.firstChild)!=null&&a.value?m.createElement("div",{style:{position:"absolute",right:0}},m.createElement(Ie,{size:"small",onClick:()=>{var i;((i=this.filterRefs[r].current)==null?void 0:i.firstChild).value="",this.onFilter(r,"")}},m.createElement(Ar,null))):null)}getFilterSelect(r,n){var a,i,s;const o=!!(n!=null&&n.find(l=>l.icon));return m.createElement("div",{style:{position:"relative"}},m.createElement(Bn,{variant:"standard",key:`${r}_${this.state.filterKey}`,ref:this.filterRefs[r],sx:Q.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[r]||"",inputProps:{name:r,id:r},displayEmpty:!0},m.createElement(Jt,{key:"empty",value:""},m.createElement("span",{style:Q.selectNone},this.texts[`filter_${r}`])),n==null?void 0:n.map(l=>{let d,h,u;return typeof l=="object"?(d=l.value,h=l.name,u=l.icon):(d=l,h=l),m.createElement(Jt,{sx:Q.headerCellSelectItem,key:d,value:d},u||(o?m.createElement("div",{className:"itemIcon"}):null),h)})),(s=(i=(a=this.filterRefs[r])==null?void 0:a.current)==null?void 0:i.childNodes[1])!=null&&s.value?m.createElement(Re,{component:"div",sx:Q.selectClearButton},m.createElement(Ie,{size:"small",onClick:()=>{var d;const l={...this.state.filter};l[r]="",((d=this.filterRefs[r].current)==null?void 0:d.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(l)),this.setState({filter:l,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(l))}},m.createElement(Ar,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles)}getFilterSelectRoom(){const r=this.info.roomEnums.map(n=>{var o,a,i,s;return{name:xo((a=(o=this.objects[n])==null?void 0:o.common)==null?void 0:a.name,this.props.lang)||n.split(".").pop(),value:n,icon:m.createElement(xl,{src:((s=(i=this.objects[n])==null?void 0:i.common)==null?void 0:s.icon)||"",style:Q.selectIcon})}});return this.getFilterSelect("room",r)}getFilterSelectFunction(){const r=this.info.funcEnums.map(n=>{var o,a,i,s;return{name:xo((a=(o=this.objects[n])==null?void 0:o.common)==null?void 0:a.name,this.props.lang)||n.split(".").pop(),value:n,icon:m.createElement(xl,{src:((s=(i=this.objects[n])==null?void 0:i.common)==null?void 0:s.icon)||"",style:Q.selectIcon})}});return this.getFilterSelect("func",r)}getFilterSelectType(){const r=this.info.types.map(n=>({name:n,value:n,icon:bz[n]||null}));return this.getFilterSelect("type",r)}getFilterSelectCustoms(){if(this.info.customs.length>1){const r=this.info.customs.map(n=>({name:n==="_"?this.texts.filterCustomsWithout:n,value:n,icon:n==="_"?null:m.createElement(xl,{src:Gv(this.objects,n,this.props.lang,this.imagePrefix)||"",style:Q.selectIcon})}));return this.getFilterSelect("custom",r)}return null}onExpandAll(r,n){var a;const o=r||this.root;n=n||[],(a=o==null?void 0:o.children)==null||a.forEach(i=>{i.data.sumVisibility&&(n.push(i.data.id),this.onExpandAll(i,n))}),o===this.root&&(n.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({expanded:n}))}onCollapseAll(){this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify([])),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,"[]"),this.setState({expanded:[],depth:0,selected:[]},()=>this.onAfterSelect())}expandDepth(r,n,o){var a;r=r||this.root,n>0&&((a=r.children)==null||a.forEach(i=>{i.data.sumVisibility&&(uf(o,i.data.id)||(o.push(i.data.id),o.sort()),n-1>0&&this.expandDepth(i,n-1,o))}))}static collapseDepth(r,n){return n.filter(o=>o.split(".").length<=r)}onExpandVisible(){if(this.state.depth<9){const r=this.state.depth+1,n=[...this.state.expanded];this.root&&this.expandDepth(this.root,r,n),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({depth:r,expanded:n})}}onStatesViewVisible(){const r=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(r)),this.setState({statesView:r})}onCollapseVisible(){if(this.state.depth>0){const r=this.state.depth-1,n=va.collapseDepth(r,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({depth:r,expanded:n})}}async loadObjects(r){if(r)for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n)||!r[n])continue;const o=r[n];let a=null,i,s;o&&o.common&&o.common.enums?(a=o.common.enums,delete o.common.enums):a=null,(o.val||o.val===0)&&(i=o.val,delete o.val),o.ack!==void 0&&(s=o.ack,delete o.ack);try{if(await this.props.socket.setObject(n,o),a&&await this._createAllEnums(a,o._id),o.type==="state")if(i!=null)try{await this.props.socket.setState(o._id,i,s!==void 0?s:!0)}catch(l){window.alert(`Cannot set state "${o._id} with ${i}": ${l}`)}else try{const l=await this.props.socket.getState(o._id);if(!l||l.val===null)try{await this.props.socket.setState(o._id,!o.common||o.common.def===void 0?null:o.common.def,!0)}catch(d){window.alert(`Cannot set state "${o._id}": ${d}`)}}catch(l){window.alert(`Cannot read state "${o._id}": ${l}`)}}catch(l){window.alert(l)}}}_getSelectedIdsForExport(){if(this.state.selected.length||this.state.selectedNonObject){const r=[],n=Object.keys(this.objects);n.sort();const o=this.state.selected[0]||this.state.selectedNonObject,a=`${o}.`,i=a.length;for(let s=0;sa)break}return r}return[]}async _exportObjects(r){var i;if(r.isAll){vz("allObjects.json",this.objects,r);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const n={},o=this.state.selected[0]||this.state.selectedNonObject,a=this._getSelectedIdsForExport();for(const s of a){if(n[s]=JSON.parse(JSON.stringify(this.objects[s])),((i=n[s])==null?void 0:i.type)==="state"&&!r.noStatesByExportImport){const l=await this.props.socket.getState(s);l&&(n[s].val=l.val,n[s].ack=l.ack)}if(n[s].common){const l=this.getEnumsForId(s);l&&(n[s].common.enums=l)}}vz(`${o}.json`,n,r)}renderExportDialog(){return this.state.showExportDialog===!1?null:m.createElement(or,{open:!0,maxWidth:"lg"},m.createElement(_r,null,this.props.t("ra_Select type of export")),m.createElement(Wr,null,m.createElement(Ds,null,this.state.filter.expertMode||this.state.showAllExportOptions?m.createElement(m.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),m.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),m.createElement("br",null),m.createElement(St,{control:m.createElement(yr,{checked:this.state.noStatesByExportImport,onChange:r=>this.setState({noStatesByExportImport:r.target.checked})}),label:this.props.t("ra_Do not export values of states")}),m.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),m.createElement(St,{control:m.createElement(yr,{checked:this.state.beautifyJsonExport,onChange:r=>this.setState({beautifyJsonExport:r.target.checked})}),label:this.props.t("Beautify JSON output")}),m.createElement("br",null),m.createElement(St,{control:m.createElement(yr,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:r=>this.setState({excludeSystemRepositoriesFromExport:r.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),m.createElement(St,{control:m.createElement(yr,{checked:this.state.excludeTranslations,onChange:r=>this.setState({excludeTranslations:r.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),m.createElement(pr,null,this.state.filter.expertMode||this.state.showAllExportOptions?m.createElement(tt,{color:"grey",variant:"outlined",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!0,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},m.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):m.createElement(tt,{color:"grey",variant:"outlined",startIcon:m.createElement(w2,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),m.createElement(tt,{color:"primary",variant:"contained",autoFocus:!0,onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!1,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},m.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:m.createElement(Ar,null)},this.props.t("ra_Cancel"))))}handleJsonUpload(r){var a;const n=r.target,o=((a=n.files)==null?void 0:a.length)&&n.files[0];if(o){const i=new FileReader;i.onload=async s=>{var d;const l=(d=s.target)==null?void 0:d.result;try{const h=JSON.parse(l),u=Object.keys(h).length,f=h._id;if(f===void 0&&u)await this.loadObjects(h),window.alert(this.props.t("ra_%s object(s) processed",u));else{if(!f)return window.alert(this.props.t("ra_Invalid structure"));try{let g,y,b;if(h.common.enums&&(g=h.common.enums,delete h.common.enums),h.val&&(y=h.val,delete h.val),h.ack!==void 0&&(b=h.ack,delete h.ack),await this.props.socket.setObject(h._id,h),h.type==="state")if(y!=null)await this.props.socket.setState(h._id,y,b===void 0?!0:b);else{const x=await this.props.socket.getState(h._id);(!x||x.val===null||x.val===void 0)&&await this.props.socket.setState(h._id,h.common.def===void 0?null:h.common.def,!0)}g&&await this._createAllEnums(g,h._id),window.alert(this.props.t("ra_%s was imported",h._id))}catch(g){window.alert(g)}}}catch(h){window.alert(h)}return null},i.readAsText(o)}else window.alert(this.props.t("ra_Failed to open JSON File"))}getToolbar(){let r=!1;if(this.state.selected.length||this.state.selectedNonObject){const n=this.state.selected[0]||this.state.selectedNonObject;n.split(".").length<2||this.objects[n]&&this.objects[n].type==="state"?r=!1:(this.state.filter.expertMode||n.startsWith("alias.0")||n.startsWith("0_userdata"))&&(r=!0)}return m.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},m.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},m.createElement(Zr,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement("div",null,m.createElement(Ie,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},m.createElement(MO,null)))),this.props.showExpertButton&&!this.props.expertMode&&m.createElement(Zr,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},m.createElement(w2,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&m.createElement(Zr,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},m.createElement(Hve,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&m.createElement(Zr,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},m.createElement(nv,null))),m.createElement(Zr,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},m.createElement(ru,null))),this.props.width!=="xs"&&m.createElement(Zr,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},m.createElement(vR,{badgeContent:this.state.depth,color:"secondary",sx:n=>({badge:{right:3,top:3,border:`2px solid ${n.palette.background.paper}`,padding:"0 4px"}})},m.createElement(nv,null)))),this.props.width!=="xs"&&m.createElement(Zr,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},m.createElement(vR,{sx:n=>({badge:{right:3,top:3,border:`2px solid ${n.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},m.createElement(ru,null)))),this.props.objectStatesView&&m.createElement(Zr,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>this.onStatesViewVisible(),size:"large"},m.createElement(Dve,{color:this.state.statesView?"primary":"inherit"}))),m.createElement(Zr,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},m.createElement(Lve,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?m.createElement(Zr,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:Q.tooltip}}},m.createElement("div",null,m.createElement(Ie,{disabled:!r,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},m.createElement(Nv,null)))):null,this.props.objectImportExport&&m.createElement(Zr,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>{const n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("id","files"),n.setAttribute("opacity","0"),n.addEventListener("change",o=>this.handleJsonUpload(o),!1),n.click()},size:"large"},m.createElement(Rv,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&m.createElement(Zr,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},m.createElement(Rv,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&m.createElement("div",{style:{display:"flex",whiteSpace:"nowrap"}},`${this.props.t("ra_Objects")}: ${Object.keys(this.info.objects).length}, ${this.props.t("ra_States")}: ${Object.keys(this.info.objects).filter(n=>this.info.objects[n].type==="state").length}`),this.props.objectEditBoolean&&m.createElement(Zr,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{onClick:()=>{var o;const n=this.root?CV(this.root,"state",this.objects):[];n.length?(this.pauseSubscribe(!0),n.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(o=this.props.router)==null||o.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:n,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},m.createElement(fve,null))))}toggleExpanded(r){const n=JSON.parse(JSON.stringify(this.state.expanded)),o=n.indexOf(r);o===-1?(n.push(r),n.sort()):n.splice(o,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(n)),this.setState({expanded:n})}onCopy(r,n){r.stopPropagation(),r.preventDefault(),n&&(ue.copyToClipboard(n),n.length<50?this.setState({toast:this.props.t("ra_Copied %s",n)}):this.setState({toast:this.props.t("ra_Copied")}))}renderColumnButtons(r,n){var s,l,d;if(!n.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?m.createElement("div",{style:Q.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?m.createElement(Ie,{sx:{...Q.cellButtonsButton,...Q.cellButtonsEmptyButton,...Q.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:n.data}),size:"large"},m.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&n.children&&n.children.length?m.createElement(Ie,{sx:{...Q.cellButtonsButton,...Q.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var g;const h=Object.keys(this.objects);h.sort();let u=0;const f=`${r}.`;for(let y=0;yf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((g=n.children)!=null&&g.length),!1,u+1)}},m.createElement(Ta,{style:Q.cellButtonsButtonIcon})):null):null;n.data.aclTooltip=n.data.aclTooltip||this.renderTooltipAccessControl(n.data.obj.acl);const o=n.data.obj.acl?n.data.obj.type==="state"?n.data.obj.acl.state:n.data.obj.acl.object:0,a=n.data.obj.acl&&(n.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),i=this.state.filter.expertMode||va.isNonExpertId(n.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?m.createElement(Zr,{key:"acl",title:n.data.aclTooltip,slotProps:{popper:{sx:Q.tooltip}}},m.createElement(Ie,{sx:{...Q.cellButtonsButton,...Q.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:n.data}),size:"large"},m.createElement("div",{style:Q.aclText},Number.isNaN(Number(o))?Number(a).toString(16):Number(o).toString(16)))):m.createElement("div",{key:"aclEmpty",style:Q.cellButtonMinWidth}),i?m.createElement(Ie,{key:"edit",sx:{marginRight:"2px",...Q.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.setState({editObjectDialog:r,editObjectAlias:!1})}},m.createElement(rv,{style:Q.cellButtonsButtonIcon})):m.createElement(Re,{component:"div",key:"editDisabled",sx:Q.cellButtonsButton}),this.props.onObjectDelete&&((s=n.children)!=null&&s.length||!((l=n.data.obj.common)!=null&&l.dontDelete))?m.createElement(Ie,{key:"delete",sx:Q.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var g,y,b;const h=Object.keys(this.objects);h.sort();let u=0;const f=`${r}.`;for(let x=0;xf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((g=n.children)!=null&&g.length),!((b=(y=n.data.obj)==null?void 0:y.common)!=null&&b.dontDelete),u)},title:this.texts.deleteObject},m.createElement(Ta,{style:Q.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&n.data.obj.type==="state"&&((d=n.data.obj.common)==null?void 0:d.type)!=="file"?m.createElement(Ie,{sx:{...Q.cellButtonsButton,...n.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:Q.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var h;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.pauseSubscribe(!0),(h=this.props.router)==null||h.doNavigate(null,"customs",r),this.setState({customDialog:[r],customDialogAll:!1})}},m.createElement(l2,{style:Q.cellButtonsButtonIcon})):null]}readHistory(r){var n,o;if(window.sparkline&&this.defaultHistory&&((o=(n=this.objects[r])==null?void 0:n.common)!=null&&o.custom)&&this.objects[r].common.custom[this.defaultHistory]){const a=new Date;a.setHours(a.getHours()-24),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0);const i=a.getTime();this.props.socket.getHistory(r,{instance:this.defaultHistory,start:i,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(s=>{const l=window.document.getElementsByClassName("sparkline");for(let d=0;dconsole.warn(`Cannot read history: ${s}`))}}getTooltipInfo(r,n){var d,h;const o=this.objects[r],a=this.states[r],{valFull:i,fileViewer:s}=CS({state:a,obj:o,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,full:!0}),l=[];i==null||i.forEach(u=>{u.t===this.texts.quality&&a.q?(l.push(m.createElement("div",{style:Q.cellValueTooltipBoth,key:u.t},u.t,": ",u.v)),u.nbr||l.push(m.createElement("br",{key:`${u.t}_br`}))):(l.push(m.createElement("div",{style:Q.cellValueTooltipTitle,key:u.t},u.t,": ")),l.push(m.createElement("div",{style:Q.cellValueTooltipValue,key:`${u.t}_v`},u.v)),u.nbr||l.push(m.createElement("br",{key:`${u.t}_br`})))}),s==="image"?l.push(m.createElement("img",{style:Q.cellValueTooltipImage,src:a.val,alt:r})):this.defaultHistory&&((h=(d=this.objects[r])==null?void 0:d.common)!=null&&h.custom)&&this.objects[r].common.custom[this.defaultHistory]&&l.push(m.createElement("svg",{key:"sparkline",className:"sparkline","data-id":r,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:l,id:r}},()=>n&&n())}renderColumnValue(r,n,o){var d,h;const a=n.data.obj;if(!a||!this.states)return null;if(((d=a.common)==null?void 0:d.type)==="file")return m.createElement(Re,{component:"div",sx:{...Q.cellValueText,...Q.cellValueFile}},"[file]");if(!this.states[r])return a.type==="state"&&(this.recordStates.includes(r)||this.recordStates.push(r),this.states[r]={val:null},this.subscribe(r)),null;this.recordStates.includes(r)||this.recordStates.push(r);const i=this.states[r];let s=n.data.state;if(!s){const{valText:u}=CS({state:i,obj:a,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),f=[];n.data.state={valTextRx:f};const g=u.v||"";f.push(m.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},u.v.toString())),u.u&&f.push(m.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:Q.cellValueTextUnit,key:`${u.v.toString()}unit`},u.u)),u.s!==void 0&&f.push(m.createElement("span",{style:Q.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}states`},"(",u.s,")")),o||f.push(m.createElement(Di,{className:"copyButton",style:this.styles.iconCopy,onClick:y=>this.onCopy(y,g),key:"cc"})),s=n.data.state}s.style=m_t({state:i,isExpertMode:this.state.filter.expertMode,isButton:n.data.button});let l=s.valTextRx;return this.state.filter.expertMode||(n.data.button?l=[m.createElement(u_t,{key:"button",style:{color:s.style.color,...Q.cellValueButton}})]:n.data.switch&&(l=[m.createElement(ih,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:s.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[r].val&&this.state.selected.includes(r)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[r].val})])),m.createElement(Zr,{key:"value",title:(h=this.state.tooltipInfo)==null?void 0:h.el,slotProps:{popper:{sx:Q.cellValueTooltipBox},tooltip:{sx:Q.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(r,()=>this.readHistory(r)),onClose:()=>{var u;return((u=this.state.tooltipInfo)==null?void 0:u.id)===r&&this.setState({tooltipInfo:null})}},m.createElement(Re,{component:"div",style:s.style,sx:{...Q.cellValueText,height:o?void 0:Rn,"& .admin-button:active":{transform:"translate(0, 2px)"}}},l))}_syncEnum(r,n,o,a){var l,d,h;if(!n||!n.length){a&&a();return}const i=n.pop()||"",s=[];if((l=this.info.objects[i])!=null&&l.common){if((d=this.info.objects[i].common.members)!=null&&d.length){const u=this.info.objects[i].common.members.indexOf(r);if(u!==-1&&!o.includes(i)){const f=JSON.parse(JSON.stringify(this.info.objects[i]));f.common.members.splice(u,1),s.push(this.props.socket.setObject(i,f).then(()=>this.info.objects[i]=f).catch(g=>this.showError(g)))}}if(o.includes(i)&&!((h=this.info.objects[i].common.members)!=null&&h.includes(r))){const u=JSON.parse(JSON.stringify(this.info.objects[i]));u.common.members=u.common.members||[],u.common.members.push(r),u.common.members.sort(),s.push(this.props.socket.setObject(i,u).then(()=>this.info.objects[i]=u).catch(f=>this.showError(f)))}}Promise.all(s).then(()=>{setTimeout(()=>this._syncEnum(r,n,o,a),0)})}syncEnum(r,n,o){const a=[...this.info[n==="func"?"funcEnums":"roomEnums"]];return new Promise(i=>{this._syncEnum(r,a,o,()=>{i()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const r=this.state.enumDialog.type,n=this.state.enumDialog.item,o=this.state.enumDialogEnums,a=this.state.enumDialog.enumsOriginal,i=(r==="room"?this.info.roomEnums:this.info.funcEnums).map(s=>{var l,d;return{name:xo(((d=(l=this.objects[s])==null?void 0:l.common)==null?void 0:d.name)||s.split(".").pop()||"",this.props.lang),value:s,icon:Gv(this.objects,s,this.props.lang,this.imagePrefix)}}).sort((s,l)=>s.name>l.name?1:-1);return i.forEach(s=>{s.icon&&typeof s.icon=="string"&&(s.icon=m.createElement(Re,{style:Q.enumIconDiv},m.createElement("img",{src:s.icon,style:Q.enumIcon,alt:s.name})))}),m.createElement(or,{sx:{"& .MuiPaper-root":Q.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},m.createElement(_r,{id:"enum-dialog-title"},r==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),m.createElement(ro,{sx:Q.enumButton,color:"primary",disabled:a===JSON.stringify(o),size:"small",onClick:()=>this.syncEnum(n.data.id,r,o).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},m.createElement(Ea,null))),m.createElement(vu,{sx:{"&.MuiList-root":Q.enumList}},i.map(s=>{let l,d,h;typeof s=="object"?(l=s.value,d=s.name,h=s.icon):(l=s,d=s);const u=`checkbox-list-label-${l}`;return m.createElement(of,{sx:Q.headerCellSelectItem,key:l,onClick:()=>{const f=o.indexOf(l),g=JSON.parse(JSON.stringify(this.state.enumDialogEnums));f===-1?(g.push(l),g.sort()):g.splice(f,1),this.setState({enumDialogEnums:g})},secondaryAction:h},m.createElement(ba,{sx:{"&.MuiListItemIcon-root":Q.enumCheckbox}},m.createElement(yr,{edge:"start",checked:o.includes(l),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":u}})),m.createElement(_o,{id:u},d))})))}renderEditRoleDialog(){if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const r=this.props.objectBrowserEditRole;return m.createElement(r,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roles:this.info.roles,onClose:n=>{n&&(this.info.objects[this.state.roleDialog]=n),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(r){var o,a;const n=this.customColumnDialog;if(r){let i=n.value;n.type==="boolean"?i=i==="true"||i===!0:n.type==="number"&&(i=parseFloat(i)),this.customColumnDialog=null,this.props.socket.getObject(((a=(o=this.state.columnsEditCustomDialog)==null?void 0:o.obj)==null?void 0:a._id)||"").then(s=>{var l;if(s&&va.setCustomValue(s,(l=this.state.columnsEditCustomDialog)==null?void 0:l.it,i))return this.props.socket.setObject(s._id,s);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(s=>this.showError(s))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const r=va.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof r,initValue:(r??"").toString(),value:(r??"").toString()}}return m.createElement(or,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},m.createElement(_r,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),m.createElement(Wr,null,m.createElement(Ds,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?m.createElement(St,{control:m.createElement(yr,{onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:r=>{const n=this.customColumnDialog;n.value=r.target.checked.toString();const o=n.value!==n.initValue;o===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:o})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):m.createElement(Ht,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:r=>{const n=this.customColumnDialog;n.value=r.target.value;const o=n.value!==n.initValue;o===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:o})},autoFocus:!0}))),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:m.createElement(Ea,null)},this.props.t("ra_Update")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:m.createElement(Ar,null)},this.props.t("ra_Cancel"))))}static getCustomValue(r,n){var o;if((o=r==null?void 0:r._id)!=null&&o.startsWith(`${n.adapter}.`)&&n.path.length>1){const a=n.path;let i;const s=r;if(s[a[0]]&&typeof s[a[0]]=="object")return a.length===2?i=s[a[0]][a[1]]:a.length===3?i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"?s[a[0]][a[1]][a[2]]:null:a.length===4?i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"&&s[a[0]][a[1]][a[2]]?s[a[0]][a[1]][a[2]][a[3]]:null:a.length===5?i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"&&s[a[0]][a[1]][a[2]]&&s[a[0]][a[1]][a[2]][a[3]]?s[a[0]][a[1]][a[2]][a[3]][a[4]]:null:a.length===6&&(i=s[a[0]][a[1]]&&typeof s[a[0]][a[1]]=="object"&&s[a[0]][a[1]][a[2]]&&s[a[0]][a[1]][a[2]][a[3]]&&s[a[0]][a[1]][a[2]][a[3]][a[4]]?s[a[0]][a[1]][a[2]][a[3]][a[4]][a[5]]:null),i??null}return null}static setCustomValue(r,n,o){var a;if((a=r==null?void 0:r._id)!=null&&a.startsWith(`${n.adapter}.`)&&n.path.length>1){const i=n.path,s=r;if(s[i[0]]&&typeof s[i[0]]=="object"){if(i.length===2)return s[i[0]][i[1]]=o,!0;if(i.length===3){if(s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object")return s[i[0]][i[1]][i[2]]=o,!0}else if(i.length===4){if(s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object"&&s[i[0]][i[1]][i[2]]&&typeof s[i[0]][i[1]][i[2]]=="object")return s[i[0]][i[1]][i[2]][i[3]]=o,!0}else if(i.length===5){if(s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object"&&s[i[0]][i[1]][i[2]]&&typeof s[i[0]][i[1]][i[2]]=="object"&&s[i[0]][i[1]][i[2]][i[3]]&&typeof s[i[0]][i[1]][i[2]][i[3]]=="object")return s[i[0]][i[1]][i[2]][i[3]][i[4]]=o,!0}else if(i.length===6&&s[i[0]][i[1]]&&typeof s[i[0]][i[1]]=="object"&&s[i[0]][i[1]][i[2]]&&typeof s[i[0]][i[1]][i[2]]=="object"&&s[i[0]][i[1]][i[2]][i[3]]&&typeof s[i[0]][i[1]][i[2]][i[3]]=="object"&&s[i[0]][i[1]][i[2]][i[3]][i[4]]&&typeof s[i[0]][i[1]][i[2]][i[3]][i[4]]=="object")return s[i[0]][i[1]][i[2]][i[3]][i[4]][i[5]]=o,!0}}return!1}renderCustomValue(r,n,o){const a=va.getCustomValue(r,n);return a!=null?n.edit&&!this.props.notEditable&&(!n.objTypes||n.objTypes.includes(r.type))?m.createElement(Re,{component:"div",style:{...Q.columnCustom,...Q.columnCustomEditable,...Q[`columnCustom_${n.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:o,it:n,obj:r},customColumnDialogValueChanged:!1})},a):m.createElement(Re,{component:"div",style:{...Q.columnCustom,...Q[`columnCustom_${n.align}`]}},a):null}renderAliasLink(r,n,o){const a=n||0,i=this.objects[this.info.aliasesMap[r][a]].common.alias.id;return i?m.createElement(Re,{component:"div",onClick:s=>{s.stopPropagation(),s.preventDefault();const l=this.info.aliasesMap[r][a];this.info.aliasesMap[r].length>1&&this.setState({aliasMenu:""}),this.onSelect(l),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l)),100)},sx:o||this.styles.aliasAlone},m.createElement("span",{className:"admin-browser-arrow"},typeof i=="string"||i.read===r&&i.write===r?"↔":i.read===r?"→":"←"),this.info.aliasesMap[r][a]):null}renderLeaf(r,n,o){var K,he,fe,ge,Ee,ze,Ne,Fe,Pe,Ye,Be,Ke,Xe,ve;const a=r.data.id;o.count++,n=n===void 0?this.state.expanded.includes(a):n;let i;const s=r.data.obj,l=s==null?void 0:s.type;r.children||l==="folder"||l==="device"||l==="channel"||l==="meta"?i=n?m.createElement(nv,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(a)}):m.createElement(ru,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(a)}):s&&s.common&&s.common.write===!1&&s.type==="state"?i=m.createElement(o_t,{style:this.styles.cellIdIconDocument}):i=m.createElement(n_t,{style:this.styles.cellIdIconDocument});let d=null;r.data.icon&&(typeof r.data.icon=="string"?r.data.icon.length<3?d=m.createElement("span",{className:"iconOwn",style:Q.cellIdIconOwn},r.data.icon):d=m.createElement(xl,{style:Q.cellIdIconOwn,className:"iconOwn",src:r.data.icon,alt:""}):d=r.data.icon);const h=s==null?void 0:s.common,u=(s==null?void 0:s.type)&&bz[s.type]||m.createElement("div",{className:"itemIcon"}),f=this.levelPadding*(r.data.level||0);if(r.data.lang!==this.props.lang){const{rooms:le,per:re}=EV(this.info,a,this.props.lang);r.data.rooms=le.join(", "),r.data.per=re;const{funcs:He,pef:Ve}=TV(this.info,a,this.props.lang);r.data.funcs=He.join(", "),r.data.pef=Ve,r.data.lang=this.props.lang}const g=this.props.multiSelect&&this.objects[a]&&(!this.props.types||this.props.types.includes(this.objects[a].type))?m.createElement(yr,{style:Q.checkBox,checked:this.state.selected.includes(a)}):null;let y=!this.props.notEditable&&l==="state"&&(this.state.filter.expertMode||(h==null?void 0:h.write)!==!1);this.props.objectBrowserViewFile&&(h==null?void 0:h.type)==="file"&&(y=!0);const b=!this.props.notEditable&&this.objects[a]&&(this.state.filter.expertMode||l==="state"||l==="channel"||l==="device"),x=this.state.statesView&&(l==="state"||l==="channel"||l==="device");let S="";const T=[];if(x&&(S=(K=this.states[a])==null?void 0:K.from,S===void 0?S=" ":(S=S?S.replace(/^system\.adapter\.|^system\./,""):"",T.push(`${this.texts.stateChangedFrom} ${S}`)),s!=null&&s.user)){const le=s.user.replace("system.user.","");S+=`/${le}`,T.push(`${this.texts.stateChangedBy} ${le}`)}s&&(s.from&&T.push(`${this.texts.objectChangedFrom} ${s.from.replace(/^system\.adapter\.|^system\./,"")}`),s.user&&T.push(`${this.texts.objectChangedBy} ${s.user.replace(/^system\.user\./,"")}`),s.ts&&T.push(`${this.texts.objectChangedByUser} ${ue.formatDate(new Date(s.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let E=!1,$=null;a.startsWith("alias.")&&((he=h==null?void 0:h.alias)!=null&&he.id)?(E=typeof h.alias.id=="object",E?$=m.createElement("div",{style:Q.cellIdAliasReadWriteDiv},h.alias.id.read?m.createElement(Re,{component:"div",onClick:le=>{le.stopPropagation(),le.preventDefault(),this.onSelect(h.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(h.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",h.alias.id.read):null,h.alias.id.write?m.createElement(Re,{component:"div",onClick:le=>{le.stopPropagation(),le.preventDefault(),this.onSelect(h.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(h.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",h.alias.id.write):null):$=m.createElement(Re,{component:"div",onClick:le=>{le.stopPropagation(),le.preventDefault(),this.onSelect(h.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(h.alias.id)),100)},sx:this.styles.aliasAlone},"→",h.alias.id)):this.info.aliasesMap[a]&&(this.info.aliasesMap[a].length>1?$=m.createElement(Re,{component:"div",id:`alias_${a}`,onClick:le=>{le.stopPropagation(),le.preventDefault(),this.setState({aliasMenu:a})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[a].length)):$=this.renderAliasLink(a,0));let k=h==null?void 0:h.color,O;if(k&&!this.state.selected.includes(a)){const le=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";ue.colorDistance(k,le)<1e3&&(O=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let M=!1;a==="0_userdata"?(k=yV(this.props.themeType),M=!0):a==="alias"?(k=_V(this.props.themeType),M=!0):a==="javascript"?(k=d_t(this.props.themeType),M=!0):a==="system"?(k=bV(this.props.themeType),M=!0):a==="system.adapter"?k=wV(this.props.themeType):(!k||this.state.selected.includes(a))&&(k="inherit");const R=[];if(h!=null&&h.statusStates){const le={};Object.keys(h.statusStates).forEach(He=>{var at;let Ve=h.statusStates[He];Ve.split(".").length<3&&(Ve=`${a}.${Ve}`),le[He]=Ve,this.states[Ve]?this.recordStates.includes(Ve)||this.recordStates.push(Ve):((at=this.objects[Ve])==null?void 0:at.type)==="state"&&(this.recordStates.includes(Ve)||this.recordStates.push(Ve),this.states[Ve]={val:null},this.subscribe(Ve))});let re=!1;h.statusStates.errorId&&this.states[le.errorId]&&this.states[le.errorId].val&&(k=this.props.themeType==="dark"?xV:SV,re=!0,R.push(m.createElement(_ve,{key:"error",style:this.styles.iconDeviceError}))),le.onlineId&&this.states[le.onlineId]?re?this.states[le.onlineId].val?R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected})):R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[le.onlineId].val?(k=this.props.themeType==="dark"?S2:C2,R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected}))):(k=this.props.themeType==="dark"?$2:k2,R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected}))):le.offlineId&&this.states[le.offlineId]&&(re?this.states[le.offlineId].val?R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected})):R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[le.offlineId].val?(k=this.props.themeType==="dark"?$2:k2,R.push(m.createElement(kg,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(k=this.props.themeType==="dark"?S2:C2,R.push(m.createElement(ch,{key:"conn",style:this.styles.iconDeviceConnected}))))}const j=x?ue.quality2text(((fe=this.states[a])==null?void 0:fe.q)||0).join(", "):null;let I=((ge=r.data)==null?void 0:ge.title)||"",z=!1;if(this.state.showDescription){const le=$V(r.data,this.props.lang);le&&(I=[m.createElement("div",{key:"name",style:Q.cellNameDivDiv},I),m.createElement("div",{key:"desc",style:Q.cellDescription},le)],z=!!le)}const W=this.props.width==="xs"&&this.state.focused===a,L=m.createElement(ws,{container:!0,wrap:"nowrap",direction:"row",sx:Q.cellId,style:{width:this.columnsVisibility.id,paddingLeft:f}},m.createElement(ws,{container:!0,alignItems:"center"},g,i),m.createElement(ws,{style:{...Q.cellIdSpan,...O?this.styles.invertedBackground:void 0,color:k,fontWeight:M?"bold":void 0}},m.createElement(Zr,{title:f_t(r.data,this.props.lang),slotProps:{popper:{sx:Q.tooltip}}},m.createElement("div",null,r.data.name)),$,R),m.createElement("div",{style:{...Q.grow,...O?this.styles.invertedBackgroundFlex:{}}}),m.createElement(ws,{container:!0,alignItems:"center"},d),this.props.width!=="xs"?m.createElement("div",null,m.createElement(Di,{className:W?"":"copyButton",style:Q.cellCopyButton,onClick:le=>this.onCopy(le,a)})):null);let F=W&&I||this.columnsVisibility.name?m.createElement(Re,{component:"div",sx:{...Q.cellName,...z?Q.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:W?0:"5px"}},I,!W&&((Ee=r.data)!=null&&Ee.title)?m.createElement(Re,{style:{color:k}},m.createElement(Di,{className:"copyButton",style:Q.cellCopyButton,onClick:le=>{var re;return this.onCopy(le,(re=r.data)==null?void 0:re.title)}})):null):null,H;this.state.statesView?H=[W&&x&&((ze=this.states[a])!=null&&ze.from)||this.columnsVisibility.changedFrom?{el:m.createElement("div",{key:"from",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:T.join(` +`)},x&&((Ne=this.states[a])!=null&&Ne.from)?S:null),type:"from"}:null,W&&j||this.columnsVisibility.qualityCode?{el:m.createElement("div",{key:"q",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:j||""},j),type:"quality"}:null,W&&x&&((Fe=this.states[a])!=null&&Fe.ts)||this.columnsVisibility.timestamp?{el:m.createElement("div",{key:"ts",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},x&&((Pe=this.states[a])!=null&&Pe.ts)?ue.formatDate(new Date(this.states[a].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,W&&x&&((Ye=this.states[a])!=null&&Ye.lc)||this.columnsVisibility.lastChange?{el:m.createElement("div",{key:"lc",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},x&&((Be=this.states[a])!=null&&Be.lc)?ue.formatDate(new Date(this.states[a].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:H=[W&&(s!=null&&s.type)||this.columnsVisibility.type?{el:m.createElement("div",{key:"type",style:{...Q.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},u," ",s==null?void 0:s.type),type:"filter_type"}:null,W&&h||this.columnsVisibility.role?{el:m.createElement("div",{key:"role",style:{...Q.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&b&&this.props.objectBrowserEditRole?"text":"default"},onClick:!W&&this.state.filter.expertMode&&b&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0},h==null?void 0:h.role),type:"filter_role",onClick:W&&this.state.filter.expertMode&&b&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0}:null,W&&h||this.columnsVisibility.room?{el:m.createElement("div",{key:"room",style:{...Q.cellRoom,...r.data.per?Q.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:b?"text":"default"},onClick:!W&&b?()=>{const le=Jc(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(le)}})}:void 0},r.data.rooms),type:"filter_room",onClick:W&&b?()=>{const le=Jc(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(le)}})}:void 0}:null,W&&h||this.columnsVisibility.func?{el:m.createElement("div",{key:"func",style:{...Q.cellFunc,...r.data.pef?Q.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:b?"text":"default"},onClick:!W&&b?()=>{const le=Jc(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(le)}})}:void 0},r.data.funcs),type:"filter_func",onClick:W&&b?()=>{const le=Jc(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:le,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(le)}})}:void 0}:null];let q=((Ke=this.adapterColumns)==null?void 0:Ke.map(le=>m.createElement("div",{style:{...Q.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[le.id]:void 0},key:le.id,title:`${le.adapter} => ${le.pathText}`},s?this.renderCustomValue(s,le,r):null)))||null;const ee=W||this.columnsVisibility.val?this.renderColumnValue(a,r,W):null;let Y=W&&ee||this.columnsVisibility.val?m.createElement("div",{style:{...Q.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:y?(h==null?void 0:h.type)==="file"?"zoom-in":r.data.button?"grab":"text":"default"},onClick:y?()=>{!s||!this.states||((h==null?void 0:h.type)==="file"?this.setState({viewFileDialog:a}):!this.state.filter.expertMode&&r.data.button?this.props.socket.setState(a,!0).catch(le=>window.alert(`Cannot write state "${a}": ${le}`)):!this.state.filter.expertMode&&r.data.switch?this.props.socket.setState(a,!this.states[a].val).catch(le=>window.alert(`Cannot write state "${a}": ${le}`)):(this.edit={val:this.states[a]?this.states[a].val:"",q:this.states[a]&&this.states[a].q||0,ack:!1,id:a},this.setState({updateOpened:!0})))}:void 0},ee):null,G=W||this.columnsVisibility.buttons?m.createElement("div",{style:{...Q.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(a,r)):null,te=null;if(this.props.width==="xs"&&this.state.focused===a){H=H.filter(re=>re);let le;H.length?le=H.map(re=>re?m.createElement("div",{key:re.type,style:Q.cellDetailsLine},m.createElement("span",{style:Q.cellDetailsName},this.texts[re.type],":"),re.el,m.createElement("div",{style:{flexGrow:1}}),re.onClick?m.createElement(rv,{style:Q.cellCopyButtonInDetails,onClick:()=>{re!=null&&re.onClick&&re.onClick()}}):null):null):le=null,q.length||(q=null),te=m.createElement(zn,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},m.createElement("div",{style:Q.cellDetailsLine},m.createElement("div",{style:{flexGrow:1}}),m.createElement(Di,{style:Q.cellCopyButtonInDetails,onClick:re=>this.onCopy(re,a)})),F&&m.createElement("div",{style:Q.cellDetailsLine},m.createElement("span",{style:Q.cellDetailsName},this.texts.name,":"),F,m.createElement("div",{style:{flexGrow:1}}),(Xe=r.data)!=null&&Xe.title?m.createElement(Di,{className:"copyButton",style:Q.cellCopyButtonInDetails,onClick:re=>{var He;return this.onCopy(re,(He=r.data)==null?void 0:He.title)}}):null),le,q&&m.createElement("div",{style:Q.cellDetailsLine},q),((ve=this.objects[a])==null?void 0:ve.type)==="state"&&m.createElement("div",{style:Q.cellDetailsLine},m.createElement("span",{style:Q.cellDetailsName},this.texts.value,":"),Y,m.createElement("div",{style:{flexGrow:1}}),m.createElement(Di,{className:"copyButton",style:Q.cellCopyButtonInDetails,onClick:re=>{const{valText:He}=CS({state:this.states[a],obj:this.objects[a],texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma});this.onCopy(re,He.v.toString())},key:"cc"})),G&&m.createElement("div",{style:{...Q.cellDetailsLine,justifyContent:"right"}},G)),F=null,H=null,q=null,Y=null,G=null}return{row:m.createElement(ws,{container:!0,direction:"row",wrap:"nowrap",sx:ue.getStyle(this.props.theme,Q.tableRow,this.state.linesEnabled&&Q.tableRowLines,!this.props.dragEnabled&&Q.tableRowNoDragging,$&&Q.tableRowAlias,E&&Q.tableRowAliasReadWrite,this.state.focused===a&&this.props.multiSelect&&Q.tableRowFocused,!r.data.visible&&Q.filteredOut,r.data.hasVisibleParent&&!r.data.visible&&!r.data.hasVisibleChildren&&Q.filteredParentOut,this.state.selected.includes(a)&&Q.itemSelected,this.state.selectedNonObject===a&&Q.itemSelected),key:a,id:a,onMouseDown:le=>{this.onSelect(a);let re;"which"in le?re=le.which===3:"button"in le&&(re=le.button===2),re?this.contextMenu={item:r,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{r.children?this.toggleExpanded(a):this.onSelect(a,!0)}},L,F,H==null?void 0:H.map(le=>le==null?void 0:le.el),q,Y,G),details:te}}renderItem(r,n,o){const a=[];o=o||{count:0};const i=this.renderLeaf(r,n,o);let s;const l=this.props.DragWrapper;return this.props.dragEnabled&&l?r.data.sumVisibility?s=m.createElement(l,{key:r.data.id,item:r,style:Q.draggable},i.row):s=m.createElement("div",{key:r.data.id,style:Q.nonDraggable},i.row):s=i.row,r.data.id&&s&&a.push(s),i.details&&a.push(i.details),n=n===void 0?uf(this.state.expanded,r.data.id):n,(!r.data.id||n)&&(this.state.foldersFirst?r.children&&(a.push(r.children.map(d=>d.children&&(!this.state.columnsSelectorShow||o.count<15)&&d.data.sumVisibility?this.renderItem(d,void 0,o):null)),a.push(r.children.map(d=>!d.children&&(!this.state.columnsSelectorShow||o.count<15)&&d.data.sumVisibility?this.renderItem(d,void 0,o):null))):r.children&&a.push(r.children.map(d=>(!this.state.columnsSelectorShow||o.count<15)&&d.data.sumVisibility?this.renderItem(d,void 0,o):null))),a}calculateColumnsVisibility(r,n,o,a){let i=a||this.state.columnsWidths;const s=o||this.state.columnsForAdmin,l=n||this.state.columns||[],d=typeof r!="boolean"?this.state.columnsAuto:r;i=JSON.parse(JSON.stringify(i)),Object.keys(i).forEach(u=>{i[u]&&(i[u]=parseInt(i[u],10)||0)}),this.adapterColumns=[];const h=Vr[this.props.width||"lg"].widths;if(d){if(this.columnsVisibility={id:Vr[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&h.name||0,nameHeader:this.visibleCols.includes("name")&&h.name||0,type:this.visibleCols.includes("type")&&h.type||0,role:this.visibleCols.includes("role")&&h.role||0,room:this.visibleCols.includes("room")&&h.room||0,func:this.visibleCols.includes("func")&&h.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&h.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&h.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&h.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&h.lastChange||0,val:this.visibleCols.includes("val")&&h.val||0,buttons:this.visibleCols.includes("buttons")&&h.buttons||0},this.columnsVisibility.name&&!this.customWidth){let u=this.columnsVisibility.id||0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${u+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${u+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let u=0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${u+5}px)`}}else{const u=this.props.width||"lg";this.columnsVisibility={id:i.id||Vr[u].idWidth,name:l.includes("name")&&(i.name||h.name||Vr[u].widths.name)||0,type:l.includes("type")&&(i.type||h.type||Vr[u].widths.type)||0,role:l.includes("role")&&(i.role||h.role||Vr[u].widths.role)||0,room:l.includes("room")&&(i.room||h.room||Vr[u].widths.room)||0,func:l.includes("func")&&(i.func||h.func||Vr[u].widths.func)||0};let f=this.columnsVisibility.id;if(this.columnsVisibility.name&&(f+=this.columnsVisibility.type||0,f+=this.columnsVisibility.role||0,f+=this.columnsVisibility.room||0,f+=this.columnsVisibility.func||0),s&&l&&Object.keys(s).sort().forEach(g=>s[g].forEach(y=>{const b=`_${g}_${y.path}`;if(l.includes(b)){const x={adapter:g,id:`_${g}_${y.path}`,name:y.name,path:y.path.split("."),pathText:y.path};y.edit&&(x.edit=!0,y.type&&(x.type=y.type),y.objTypes&&(x.objTypes=y.objTypes)),this.adapterColumns.push(x),this.columnsVisibility[b]=i[x.id]||y.width||Vr[u].widths.func||Vr.xl.widths.func||0,f+=this.columnsVisibility[b]}else this.columnsVisibility[b]=0})),this.adapterColumns.sort((g,y)=>g.id>y.id?-1:g.idb==="id"||typeof this.columnsVisibility[b]=="string"||!this.columnsVisibility[b]?y:y+this.columnsVisibility[b],0);this.columnsVisibility.id=`calc(100% - ${g}px)`}}}navigateKeyPress(r){var o,a;const n=this.state.selectedNonObject||this.state.selected[0];if(n){if(r.code==="ArrowUp"||r.code==="ArrowDown"){r.preventDefault();const i=[];(o=this.tableRef.current)==null||o.childNodes.forEach(h=>i.push(h.id));const s=i.indexOf(n),l=r.code==="ArrowDown"?s+1:s-1,d=i[l]||n;this.onSelect(d),this.scrollToItem(d)}if((r.code==="ArrowRight"||r.code==="ArrowLeft")&&this.toggleExpanded(n),r.code==="Delete"&&this.root&&n){const i=va.getItemFromRoot(this.root,n);if(i){const{obj:s}=i.data;s&&!((a=s.common)!=null&&a.dontDelete)&&this.showDeleteDialog({id:n,obj:s,item:i})}}}}static getItemFromRoot(r,n){const o=n.split(".");let a="",i=r;for(let s=0;sthis.clearFilter(),style:Q.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},m.createElement(a_t,null),m.createElement(Ar,{style:Q.buttonClearFilterIcon}))),this.props.width==="xs"?m.createElement("div",{style:Q.headerRow},m.createElement("div",{style:{...Q.headerCell,width:"100%"}},this.getFilterInput("id"))):m.createElement("div",{style:Q.headerRow},m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&m.createElement(m.Fragment,null,this.columnsVisibility.type?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?m.createElement("div",{style:{...Q.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&m.createElement(m.Fragment,null,m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(n=>m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility[n.id]},title:n.adapter,key:n.id,"data-min":100,"data-name":n.id},n.name)),this.columnsVisibility.val?m.createElement("div",{style:{...Q.headerCell,...Q.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),r):null,this.columnsVisibility.buttons?m.createElement("div",{title:this.texts.filter_custom,style:{...Q.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return m.createElement(Ov,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:m.createElement(Ie,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},m.createElement(Ar,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){const r=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==r?setTimeout(()=>this.setState({scrollBarWidth:r}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(r){this.selectFirst="";const n=window.document.getElementById(r);n==null||n.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){const r=this.props.objectCustomDialog;return m.createElement(r,{reportChangedIds:n=>this.changedIds=[...n],objectIDs:this.state.customDialog,allVisibleObjects:!!this.state.customDialogAll,expertMode:this.state.filter.expertMode,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,t:this.props.t,lang:this.props.lang,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objects:this.objects,customsInstances:this.info.customs,onClose:()=>{var n;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(n=this.props.router)==null||n.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(r){this.props.socket.setState(this.edit.id,{val:r.val,ack:r.ack,q:r.q||0,expire:r.expire||void 0}).catch(n=>this.showError(`Cannot write value: ${n}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;const r=this.props.objectBrowserEditObject;return m.createElement(r,{key:this.state.editObjectDialog,obj:this.objects[this.state.editObjectDialog],roleArray:this.info.roles,objects:this.objects,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,dialogName:this.props.dialogName,aliasTab:this.state.editObjectAlias,t:this.props.t,expertMode:!!this.state.filter.expertMode,onNewObject:n=>this.props.socket.setObject(n._id,n).then(()=>this.setState({editObjectDialog:n._id,editObjectAlias:!1},()=>this.onSelect(n._id))).catch(o=>this.showError(`Cannot write object: ${o}`)),onClose:n=>{var o,a;if(n){let i;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((o=this.objects[this.state.editObjectDialog].common)==null?void 0:o.alias)!==JSON.stringify((a=n.common)==null?void 0:a.alias)&&(i=this.state.editObjectDialog),this.props.socket.setObject(n._id,n).then(()=>{i&&this.subscribes.includes(i)&&(this.unsubscribe(i),setTimeout(()=>this.subscribe(i),100))}).catch(s=>this.showError(`Cannot write object: ${s}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;const r=this.props.objectBrowserViewFile;return m.createElement(r,{key:"viewFile",obj:this.objects[this.state.viewFileDialog],socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({viewFileDialog:""})})}renderAliasEditorDialog(){if(!this.props.objectBrowserAliasEditor||!this.state.showAliasEditor)return null;const r=this.props.objectBrowserAliasEditor;return m.createElement(r,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(n,o)=>setTimeout(()=>this.onSelect(n,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(n),setTimeout(()=>this.setState({editObjectDialog:n,showAliasEditor:"",editObjectAlias:!0}),300)})),o||0)})}showAddDataPointDialog(r,n,o){this.setState({showContextMenu:null,modalNewObj:{id:r,initialType:n,initialStateType:o}})}renderAliasMenu(){return this.state.aliasMenu?m.createElement(eu,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((r,n)=>m.createElement(Jt,{key:r,onClick:()=>this.onSelect(r)},m.createElement(_o,null,this.renderAliasLink(this.state.aliasMenu,n,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var g,y,b,x,S,T,E;if(!this.state.showContextMenu)return null;const r=this.state.showContextMenu.item,n=r.data.id,o=[],a=r.data.obj;let i="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!a)i="---";else{const $=a.acl?a.type==="state"?a.acl.state:a.acl.object:0,k=a.acl&&(a.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);i=Number.isNaN(Number($))?Number(k).toString(16):Number($).toString(16)}const s=!this.props.notEditable&&a&&(this.state.filter.expertMode||a.type==="state"||a.type==="channel"||a.type==="device"),l=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="channel"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",d=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",h=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",u=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",f={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&a&&(this.state.filter.expertMode||va.isNonExpertId(n))),icon:m.createElement(rv,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:r.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&a&&a.type==="state"&&((g=a.common)==null?void 0:g.type)!=="file"&&(this.state.filter.expertMode||a.common.write!==!1)),icon:m.createElement(Cve,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{this.edit={val:this.states[n]?this.states[n].val:"",q:this.states[n]&&this.states[n].q||0,ack:!1,id:n},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(a==null?void 0:a.type)==="state"&&((y=a.common)==null?void 0:y.type)==="file",icon:m.createElement(bve,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(a==null?void 0:a._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&a&&a.type==="state"&&((b=a.common)==null?void 0:b.type)!=="file"),icon:m.createElement(l2,{fontSize:"small",style:r.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:Q.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var $;this.pauseSubscribe(!0),($=this.props.router)==null||$.doNavigate(null,"customs",n),this.setState({customDialog:[n],showContextMenu:null})}},ACL:{key:"3",visibility:!!i,icon:i,iconStyle:{fontSize:"smaller"},listItemIconStyle:this.styles.contextMenuACL,style:this.styles.contextMenuACL,label:this.props.t("ra_Edit ACL"),onClick:()=>this.setState({showContextMenu:null,modalEditOfAccess:!0,modalEditOfAccessObjData:r.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&s&&this.props.objectBrowserEditRole),icon:m.createElement(hve,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:r.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!s,icon:m.createElement(dve,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const $=Jc(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:$,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify($)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!s,icon:m.createElement(gve,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const $=Jc(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:$,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify($)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(a==null?void 0:a.type)==="state"&&((x=a.common)==null?void 0:x.type)!=="file"),icon:m.createElement(JH,{style:(S=a==null?void 0:a.common)!=null&&S.alias?this.styles.cellButtonsButtonWithCustoms:Q.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[r.data.id]||r.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var $;($=a==null?void 0:a.common)!=null&&$.alias?this.setState({showContextMenu:null,editObjectDialog:r.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:r.data.id})}},CREATE:{key:"+",visibility:(r.data.id.startsWith("0_userdata.0")||r.data.id.startsWith("javascript."))&&(l||d||h||u),icon:m.createElement(Nv,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:Q.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","number")},{label:this.texts.createStringState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","string")},{label:this.texts.createState,visibility:l,icon:m.createElement(gh,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state")},{label:this.texts.createChannel,visibility:d,icon:m.createElement(gV,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"channel")},{label:this.texts.createDevice,visibility:h,icon:m.createElement(vV,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"device")},{label:this.texts.createFolder,icon:m.createElement(qH,{fontSize:"small"}),visibility:u,onClick:()=>this.showAddDataPointDialog(r.data.id,"folder")}]},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((T=r.children)!=null&&T.length||a&&!((E=a.common)!=null&&E.dontDelete))),icon:m.createElement(Ta,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:n,obj:a||{},item:r}))}};return Object.keys(f).forEach($=>{var k,O;f[$].visibility&&(f[$].subMenu?(o.push(m.createElement(Jt,{key:$,href:"",onClick:M=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:$,subAnchor:M.target}}),style:f[$].style},m.createElement(ba,{style:{...f[$].iconStyle,...f[$].listItemIconStyle}},f[$].icon),m.createElement(_o,null,f[$].label,"..."),m.createElement("div",{style:{...Q.contextMenuKeys,opacity:1}},m.createElement(lve,null)))),((k=this.state.showContextMenu)==null?void 0:k.subItem)===$&&o.push(m.createElement(eu,{key:"subContextMenu",open:!0,anchorEl:this.state.showContextMenu.subAnchor,onClose:()=>{this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position}}),this.contextMenu=null}},(O=f[$].subMenu)==null?void 0:O.map(M=>M.visibility?m.createElement(Jt,{key:M.label,onClick:M.onClick,style:M.style},m.createElement(ba,{style:{...M.iconStyle,...M.listItemIconStyle||void 0}},M.icon),m.createElement(_o,null,M.label)):null)))):o.push(m.createElement(Jt,{key:$,onClick:f[$].onClick,sx:f[$].style},m.createElement(ba,{style:{...f[$].iconStyle,...f[$].listItemIconStyle}},f[$].icon),m.createElement(_o,null,f[$].label),f[$].key?m.createElement("div",{style:Q.contextMenuKeys},`Alt+${f[$].key==="Delete"?this.props.t("ra_Del"):f[$].key}`):null)))}),o.length?m.createElement(eu,{key:"contextMenu",open:!0,onKeyUp:$=>{$.preventDefault(),$.altKey&&Object.keys(f).forEach(k=>{$.key===f[k].key&&f[k].onClick&&f[k].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},o):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var a;if(!this.state.updateOpened||!this.props.objectBrowserValue)return null;if(!this.edit.id)return console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`),null;if(!this.objects[this.edit.id])return console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`),null;const r=(a=this.objects[this.edit.id].common)!=null&&a.type?this.objects[this.edit.id].common.type:typeof this.edit.val,n=this.objects[this.edit.id].common.role,o=this.props.objectBrowserValue;return m.createElement(o,{t:this.props.t,lang:this.props.lang,type:r,role:n||"",states:ue.getStates(this.objects[this.edit.id]),themeType:this.props.themeType,theme:this.props.theme,expertMode:!!this.state.filter.expertMode,value:this.edit.val,socket:this.props.socket,object:this.objects[this.edit.id],defaultHistory:this.defaultHistory,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,onClose:i=>{this.setState({updateOpened:!1}),i&&this.onUpdate(i)},width:this.props.width})}render(){this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:ue.getStyle(this.props.theme,Q.cellIdIconFolder),cellIdIconDocument:ue.getStyle(this.props.theme,Q.cellIdIconDocument),iconDeviceError:ue.getStyle(this.props.theme,Q.iconDeviceError),iconDeviceConnected:ue.getStyle(this.props.theme,Q.iconDeviceConnected),iconDeviceDisconnected:ue.getStyle(this.props.theme,Q.iconDeviceDisconnected),cellButtonsButtonWithCustoms:ue.getStyle(this.props.theme,Q.cellButtonsButtonWithCustoms),invertedBackground:ue.getStyle(this.props.theme,Q.invertedBackground),invertedBackgroundFlex:ue.getStyle(this.props.theme,Q.invertedBackgroundFlex),contextMenuEdit:ue.getStyle(this.props.theme,Q.contextMenuEdit),contextMenuEditValue:ue.getStyle(this.props.theme,Q.contextMenuEditValue),contextMenuView:ue.getStyle(this.props.theme,Q.contextMenuView),contextMenuCustom:ue.getStyle(this.props.theme,Q.contextMenuCustom),contextMenuACL:ue.getStyle(this.props.theme,Q.contextMenuACL),contextMenuRoom:ue.getStyle(this.props.theme,Q.contextMenuRoom),contextMenuRole:ue.getStyle(this.props.theme,Q.contextMenuRole),contextMenuDelete:ue.getStyle(this.props.theme,Q.contextMenuDelete),filterInput:ue.getStyle(this.props.theme,Q.headerCellInput,Q.filterInput),iconCopy:ue.getStyle(this.props.theme,Q.cellButtonsValueButton,Q.cellButtonsValueButtonCopy),aliasReadWrite:ue.getStyle(this.props.theme,Q.cellIdAlias,Q.cellIdAliasReadWrite),aliasAlone:ue.getStyle(this.props.theme,Q.cellIdAlias,Q.cellIdAliasAlone)},this.styleTheme=this.props.themeType);const r=JSON.stringify(this.state.filter);if(this.lastAppliedFilter!==r&&this.objects&&this.root){const o={count:0};T2(this.root,this.state.filter,this.props.lang,this.objects,void 0,o,this.props.customFilter,this.props.types),o.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):o.count>=500&&this.state.expandAllVisible&&setTimeout(()=>this.setState({expandAllVisible:!1})),this.lastAppliedFilter=r}if(this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),!this.state.loaded)return m.createElement(pO,{key:`${this.props.dialogName}_c`});const n=this.root?this.renderItem(this.root,void 0):null;return m.createElement(i_t,{key:this.props.dialogName},m.createElement("style",null,` @keyframes newValueAnimation-light { 0% { color: #00f900; @@ -763,7 +763,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .newValueBrowser-light { animation: newValueAnimation-light 2s ease-in-out; } -`),m.createElement(s_t,null,this.getToolbar()),m.createElement(i_t,null,this.renderHeader(),m.createElement("div",{style:Q.tableDiv,ref:this.tableRef,onKeyDown:o=>this.navigateKeyPress(o)},n)),this.renderContextMenu(),this.renderAliasMenu(),this.renderToast(),this.renderColumnsEditCustomDialog(),this.renderColumnsSelectorDialog(),this.renderCustomDialog(),this.renderEditValueDialog(),this.renderEditObjectDialog(),this.renderViewObjectFileDialog(),this.renderAliasEditorDialog(),this.renderEditRoleDialog(),this.renderEnumDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.state.modalNewObj&&this.props.modalNewObject&&this.props.modalNewObject(this),this.state.modalEditOfAccess&&this.state.modalEditOfAccessObjData&&this.props.modalEditOfAccessControl&&this.props.modalEditOfAccessControl(this,this.state.modalEditOfAccessObjData))}};iy=new WeakMap,uP(va,iy,["0_userdata.0.","alias.0."]);let O2=va;const g_t=qs()(O2),we={hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:t=>({background:t.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:t=>({background:t.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowDates:t=>({background:t.palette.mode!=="dark"?"#DDDDFF":"#747a86"}),rowWeeks:t=>({background:t.palette.mode!=="dark"?"#DDDDFF":"#717680"}),rowMonths:t=>({background:t.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:t=>({background:t.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:t=>({background:t.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDaysDows:t=>({background:t.palette.mode!=="dark"?"#EEEAFF":"#573544",pl:"10px",pb:"10px"}),rowDowsDows:t=>({background:t.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},$S=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],jg=["January","February","March","April","May","June","July","August","September","October","November","December"],kS={minutes:"minutes",hours:"hours"},Hp=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function $i(t){return t<10?`0${t}`:`${t}`}const xz={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function ES(t){const e=t.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class gn extends A.Component{constructor(r){super(r);X(this,"refFrom");X(this,"refTo");X(this,"refOnce");X(this,"timerOnce",null);X(this,"timerFrom",null);X(this,"timerTo",null);let n;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{n=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(n=this.props.schedule);(!n||!Object.keys(n).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),n=xz),n={...xz,...n},n.valid.from=n.valid.from||gn.now2string(),this.refFrom=m.createRef(),this.refTo=m.createRef(),this.refOnce=m.createRef(),this.state={schedule:n,desc:gn.state2text(n)},JSON.stringify(n)!==this.props.schedule&&setTimeout(()=>this.props.onChange&&this.props.onChange(JSON.stringify(n)),100)}onChange(r,n){const o=JSON.stringify(r)!==JSON.stringify(this.state.schedule);if(n||o){o&&this.setState({schedule:r,desc:gn.state2text(r)});const a=JSON.parse(JSON.stringify(r));if(a.period.once){const i=a.period.once;delete a.period,a.period={once:i},delete a.valid}else if(a.period.days){const i=a.period.days,s=a.period.dows;delete a.period,a.period={days:i},s&&s!=="[]"&&(a.period.dows=s)}else if(a.period.weeks){const i=a.period.weeks,s=a.period.dows;delete a.period,a.period={weeks:i},s&&s!=="[]"&&(a.period.dows=s)}else if(a.period.months){const i=a.period.months,s=a.period.dates;delete a.period,a.period={months:i},s&&s!=="[]"&&(a.period.dates=s)}else if(a.period.years){const i=a.period.years,s=a.period.yearMonth,l=a.period.yearDate;delete a.period,a.period={years:i,yearDate:l},s&&(a.period.yearMonth=s)}if(a.time.exactTime?(delete a.time.end,delete a.time.mode,delete a.time.interval):delete a.time.exactTime,a.valid){if(a.valid.to||delete a.valid.to,a.period.days===1||a.period.weeks===1||a.period.months===1||a.period.years===1){const i=gn.string2date(a.valid.from),s=new Date;s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0),i<=s&&delete a.valid.from}!a.valid.from&&!a.valid.to&&delete a.valid}this.props.onChange&&this.props.onChange(JSON.stringify(a),gn.state2text(r))}}static state2text(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{return""}const n=[],o=gn.string2date(r.valid.from);if(r.period.once){const a=gn.string2date(r.period.once),i=new Date;if(i.setMilliseconds(0),i.setSeconds(0),i.setMinutes(0),i.setHours(0),aP.t($S[s]));if(i.length===1)n.push(P.t("sch_desc_onWeekday",i[0]));else if(i.length===7)n.push(P.t("sch_desc_everyDay"));else{const s=i.pop();n.push(P.t("sch_desc_onWeekdays",i.join(", "),s))}}}else n.push(P.t("sch_desc_everyDay"));else n.push(P.t("sch_desc_everyNDay",r.period.days.toString()));else if(r.period.weeks)if(r.period.weeks===1?n.push(P.t("sch_desc_everyWeek")):n.push(P.t("sch_desc_everyNWeeks",r.period.weeks.toString())),r.period.dows){const a=JSON.parse(r.period.dows);if(a.length===2&&a[0]===0&&a[1]===6)n.push(P.t("sch_desc_onWeekends"));else if(a.length===5&&a[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5)n.push(P.t("sch_desc_onWorkdays"));else{const i=a.map(s=>P.t($S[s]));if(i.length===1)n.push(P.t("sch_desc_onWeekday",i[0]));else if(i.length===7)n.push(P.t("sch_desc_everyDay"));else{const s=i.pop();n.push(P.t("sch_desc_onWeekdays",i.join(", "),s))}}}else return P.t("sch_desc_never");else if(r.period.months){if(r.period.dates){const a=JSON.parse(r.period.dates);if(a.length===1)n.push(P.t("sch_desc_onDate",a[0]));else if(a.length===31)n.push(P.t("sch_desc_onEveryDate"));else if(a.length){const i=a.pop();n.push(P.t("sch_desc_onDates",a.join(", "),i))}else return P.t("sch_desc_never")}else n.push(P.t("sch_desc_onEveryDate"));if(r.period.months===1)n.push(P.t("sch_desc_everyMonth"));else if(typeof r.period.months=="number")n.push(P.t("sch_desc_everyNMonths",r.period.months.toString()));else{const i=JSON.parse(r.period.months).map(s=>P.t(jg[s-1]));if(!i.length)return P.t("sch_desc_never");if(i.length===1)n.push(P.t("sch_desc_onMonth",i[0]));else if(i.length===12)n.push(P.t("sch_desc_everyMonth"));else{const s=i.pop();n.push(P.t("sch_desc_onMonths",i.join(", "),s))}}}else r.period.years&&(r.period.years===1?n.push(P.t("sch_desc_everyYear")):n.push(P.t("sch_desc_everyNYears",r.period.years.toString())),n.push(P.t("sch_desc_onDate",r.period.yearDate.toString(),r.period.yearMonth?P.t(jg[r.period.yearMonth-1]):P.t("sch_desc_everyMonth"))));if(r.time.exactTime)Hp.includes(r.time.start)?n.push(P.t("sch_desc_atTime",P.t(`sch_astro_${r.time.start}`))):n.push(P.t("sch_desc_atTime",r.time.start));else{r.time.mode===kS.minutes?r.time.interval===1?n.push(P.t("sch_desc_everyMinute")):n.push(P.t("sch_desc_everyNMinutes",r.time.interval.toString())):r.time.interval===1?n.push(P.t("sch_desc_everyHour")):n.push(P.t("sch_desc_everyNHours",r.time.interval.toString()));const a=Hp.indexOf(r.time.start)!==-1?P.t(`sch_astro_${r.time.start}`):r.time.start,i=Hp.indexOf(r.time.end)!==-1?P.t(`sch_astro_${r.time.end}`):r.time.end;(a!=="00:00"||i!=="24:00"&&i!=="23:59")&&n.push(P.t("sch_desc_intervalFromTo",a,i))}return r.period.once||(o.getTime()>Date.now()&&r.valid.to?n.push(P.t("sch_desc_validFromTo",r.valid.from,r.valid.to)):o.getTime()>Date.now()?n.push(P.t("sch_desc_validFrom",r.valid.from)):r.valid.to&&n.push(P.t("sch_desc_validTo",r.valid.to))),n.join(" ")}getTimePeriodElements(){const r=this.state.schedule;let n=!1,o=!1,a=!1,i=!0;return r.time.start==="00:00"&&r.time.end==="24:00"?(n=!0,i=!1):r.time.start==="sunrise"?(o=!0,i=!1):r.time.start==="sunset"&&(a=!0,i=!1),m.createElement("div",{key:"timePeriod",style:we.rowDiv},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!r.time.exactTime,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.exactTime=!1,this.onChange(s)}}),label:P.t("sch_intervalTime")})),m.createElement("div",{style:we.settingsDiv},m.createElement("div",{style:we.settingsDiv},!r.time.exactTime&&m.createElement("div",null,m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!i,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="23:59",this.onChange(s)}}),label:i?"":P.t("sch_fromTo")}),i&&[m.createElement(Ht,{variant:"standard",style:{...we.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:s=>{const l=JSON.parse(JSON.stringify(this.state.schedule));l.time.start=s.target.value,this.onChange(l)},slotProps:{inputLabel:{shrink:!0}},label:P.t("sch_from"),margin:"normal"}),m.createElement(Ht,{variant:"standard",style:we.inputTime,key:"exactTimeTo",type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:s=>{const l=JSON.parse(JSON.stringify(this.state.schedule));l.time.end=s.target.value,this.onChange(l)},slotProps:{inputLabel:{shrink:!0}},label:P.t("sch_to"),margin:"normal"})])),!r.time.exactTime&&m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!n,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="24:00",this.onChange(s)}}),label:P.t("sch_wholeDay")})),!r.time.exactTime&&m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!o,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunrise",s.time.end="sunset",this.onChange(s)}}),label:P.t("sch_astroDay")})),!r.time.exactTime&&m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!a,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunset",s.time.end="sunrise",this.onChange(s)}}),label:P.t("sch_astroNight")}))),!r.time.exactTime&&this.getPeriodSettingsMinutes(i)))}getTimeExactElements(){const r=Hp.includes(this.state.schedule.time.start);return m.createElement("div",{key:"timeExact",style:we.rowDiv},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.exactTime=!0,this.onChange(n)}}),label:P.t("sch_exactTime")})),this.state.schedule.time.exactTime&&m.createElement(Bn,{variant:"standard",value:r?this.state.schedule.time.start:"00:00",onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.start=n.target.value,this.onChange(o)}},m.createElement(Jt,{key:"specific",value:"00:00"},P.t("sch_specificTime")),Hp.map(n=>m.createElement(Jt,{key:n,value:n},P.t(`sch_astro_${n}`)))),this.state.schedule.time.exactTime&&!r&&m.createElement("div",{style:we.settingsDiv},m.createElement(Ht,{variant:"standard",style:we.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.start=n.target.value,this.onChange(o)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return m.createElement("hr",{style:we.hr})}getPeriodModes(){const r=this.state.schedule,n=!r.period.dows&&!r.period.months&&!r.period.dates&&!r.period.years&&!r.period.days&&!r.period.weeks;return n&&!r.period.once&&(r.period.once=gn.now2string(!0)),[m.createElement("div",{key:"once",style:{...we.rowDiv,...we.rowOnce}},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!n,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.once=o.period.once||gn.now2string(!0),o.period.dows="",o.period.months="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.days=0,this.onChange(o)}}),label:P.t("sch_periodOnce")})),n&&m.createElement("div",{style:we.settingsDiv},m.createElement(Ht,{variant:"standard",style:we.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:ES(r.period.once),onChange:o=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(a=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const i=JSON.parse(JSON.stringify(this.state.schedule)),s=gn.string2date(a);s.toString()!=="Invalid Date"&&(i.period.once=`${$i(s.getDate())}.${$i(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(i))},1500,o.target.value)},slotProps:{inputLabel:{shrink:!0}},label:P.t("sch_at"),margin:"normal"}))),m.createElement(Re,{component:"div",key:"days",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowDays)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.days,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=1,o.period.dows="",o.period.months="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodDaily")})),m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsDaily(),r.period.days?this.getPeriodSettingsWeekdays():null)),m.createElement(Re,{component:"div",key:"weeks",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowDows)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.weeks,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=r.period.weeks?0:1,o.period.dows=r.period.dows||"[0]",o.period.months="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodWeekly")})),m.createElement(Re,{component:"div",style:we.settingsDiv},m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsWeekly()),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,we.settingsDiv,we.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),m.createElement(Re,{component:"div",key:"months",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowMonths)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.months,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=1,o.period.dows="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodMonthly")})),m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsMonthly(),r.period.months?m.createElement(Re,null,m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,we.settingsDiv,we.rowMonthsDates)},m.createElement(St,{control:m.createElement(yr,{style:we.inputRadio,checked:!!r.period.dates,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=o.period.months||1;const a=[];for(let i=1;i<=31;i++)a.push(i);o.period.dates=o.period.dates||JSON.stringify(a),o.period.dows="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodDates")})),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,we.settingsDiv,we.rowMonthsDates)},this.getPeriodSettingsDates())):null)),m.createElement(Re,{component:"div",key:"years",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowYears)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.years,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=1,o.period.yearDate=1,o.period.yearMonth=1,o.period.dows="",o.period.months=0,o.period.dates="",o.period.weeks=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodYearly")})),m.createElement("div",{style:we.settingsDiv},m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsYearly()),!!r.period.years&&m.createElement("div",{style:we.settingsDiv},m.createElement("span",null,P.t("sch_on")),m.createElement(ya,{key:"input",value:this.state.schedule.period.yearDate,style:we.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.yearDate=parseInt(o.target.value,10),a.period.yearDate<1&&(a.period.yearDate=31),a.period.yearDate>31&&(a.period.yearDate=1),this.onChange(a)}}),m.createElement(Bn,{variant:"standard",value:r.period.yearMonth,onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.yearMonth=o.target.value,this.onChange(a)}},m.createElement(Jt,{key:"every",value:0},P.t("sch_yearEveryMonth")),jg.map((o,a)=>m.createElement(Jt,{key:o,value:a+1},P.t(o)))))))]}getPeriodSettingsMinutes(r){return m.createElement("div",{style:{display:"inline-block",marginTop:r?15:"inherit"}},m.createElement("label",{style:{marginLeft:4,marginRight:4}},P.t("sch_every")),m.createElement(ya,{value:this.state.schedule.time.interval,style:{...we.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.interval=parseInt(n.target.value,10),this.onChange(o)}}),m.createElement(Bn,{variant:"standard",value:this.state.schedule.time.mode,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.mode=n.target.value,this.onChange(o)}},m.createElement(Jt,{value:kS.minutes},P.t("sch_periodMinutes")),m.createElement(Jt,{value:kS.hours},P.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const r=this.state.schedule,n=r.period.dows&&r.period.dows!=="[1, 2, 3, 4, 5]"&&r.period.dows!=="[0, 6]";return[m.createElement("div",{key:"workdays"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dows="[1, 2, 3, 4, 5]",o.period.days&&(o.period.days=1),this.onChange(o)}}),label:P.t("sch_periodWorkdays")})),m.createElement("div",{key:"weekend"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.dows==="[0, 6]",onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dows="[0, 6]",o.period.days&&(o.period.days=1),this.onChange(o)}}),label:P.t("sch_periodWeekend")})),m.createElement("div",{key:"specific",style:{verticalAlign:"top"}},m.createElement(St,{style:{verticalAlign:"top"},control:m.createElement(ur,{style:we.inputRadio,checked:!!n,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dows="[0, 1, 2, 3, 4, 5, 6]",o.period.days&&(o.period.days=1),this.onChange(o)}}),label:P.t("sch_periodWeekdays")}),n&&(r.period.days===1||r.period.weeks)&&m.createElement(Kb,{row:!0,style:{...we.inputGroup,width:150}},[1,2,3,4,5,6,0].map(o=>m.createElement(St,{key:`specific_${o}`,style:we.inputGroupElement,control:m.createElement(yr,{style:we.inputSmallCheck,checked:r.period.dows.includes(o.toString()),onChange:a=>{const i=JSON.parse(JSON.stringify(this.state.schedule));let s;try{s=JSON.parse(i.period.dows)}catch{s=[]}a.target.checked&&!s.includes(o)?s.push(o):!a.target.checked&&s.includes(o)&&s.splice(s.indexOf(o),1),s.sort((l,d)=>l-d),i.period.dows=JSON.stringify(s),i.period.days&&(i.period.days=1),this.onChange(i)}}),label:P.t($S[o])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const r=this.state.schedule;return[m.createElement("div",{key:"every_day"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.days===1&&!r.period.dows,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=1,n.period.dows="",this.onChange(n)}}),label:P.t("sch_periodEveryDay")})),m.createElement("div",{key:"everyN_day"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.days>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=2,n.period.dows="",this.onChange(n)}}),label:P.t("sch_periodEvery")}),r.period.days>1&&[m.createElement(ya,{key:"input",value:this.state.schedule.period.days,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=parseInt(n.target.value,10),o.period.dows="",this.onChange(o)}}),m.createElement("span",{key:"span",style:{paddingRight:10}},P.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const r=this.state.schedule;return[m.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.weeks===1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=1,this.onChange(n)}}),label:P.t("sch_periodEveryWeek")})),m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.weeks>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=2,this.onChange(n)}}),label:P.t("sch_periodEvery")}),r.period.weeks>1&&[m.createElement(ya,{key:"input",value:this.state.schedule.period.weeks,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=parseInt(n.target.value,10),this.onChange(o)}}),m.createElement("span",{key:"text"},P.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const r=this.state.schedule,n=[];for(let a=1;a<=31;a++)n.push(a);const o=JSON.parse(r.period.dates);return m.createElement(Kb,{row:!0,style:{...we.inputGroup,maxWidth:620}},m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:o.length===31,onChange:()=>{const a=JSON.parse(JSON.stringify(this.state.schedule)),i=[];for(let s=1;s<=31;s++)i.push(s);a.period.dates=JSON.stringify(i),this.onChange(a)}}),label:P.t("sch_all")}),m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!o.length,onChange:()=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dates="[]",this.onChange(a)}}),label:P.t("sch_no_one")}),o.length!==31&&!!o.length&&m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!1,onChange:()=>{const a=JSON.parse(JSON.stringify(this.state.schedule)),i=[],s=JSON.parse(a.period.dates);for(let l=1;l<=31;l++)s.includes(l)||i.push(l);i.sort((l,d)=>l-d),a.period.dates=JSON.stringify(i),this.onChange(a)}}),label:P.t("sch_invert")}),m.createElement("div",null),n.map(a=>m.createElement(St,{key:`date_${a}`,style:a?we.inputDateDay:{...we.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:m.createElement(yr,{style:we.inputDateDayCheck,checked:JSON.parse(r.period.dates).includes(a),onChange:i=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.dates)}catch{l=[]}i.target.checked&&!l.includes(a)?l.push(a):!i.target.checked&&l.includes(a)&&l.splice(l.indexOf(a),1),l.sort((d,h)=>d-h),s.period.dates=JSON.stringify(l),this.onChange(s)}}),label:a<10?[m.createElement("span",{key:"0",style:{opacity:0}},"0"),m.createElement("span",{key:"num"},a)]:a})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const r=this.state.schedule,n=typeof r.period.months=="string"?JSON.parse(r.period.months):[];return[m.createElement("div",{key:"every"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:typeof r.period.months=="number"&&r.period.months===1,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=1,this.onChange(r)}}),label:P.t("sch_periodEveryMonth")})),m.createElement("div",{key:"everyN"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:typeof r.period.months=="number"&&r.period.months>1,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=2,this.onChange(o)}}),label:P.t("sch_periodEvery")}),typeof r.period.months=="number"&&r.period.months>1&&[m.createElement(ya,{key:"input",value:r.period.months,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=parseInt(o.target.value,10),a.period.months<1&&(a.period.months=1),this.onChange(a)}}),m.createElement("span",{key:"text"},P.t("sch_periodMonth"))]),m.createElement("div",{key:"specific",style:{verticalAlign:"top"}},m.createElement(St,{style:{verticalAlign:"top"},control:m.createElement(ur,{style:we.inputRadio,checked:typeof r.period.months=="string",onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(o)}}),label:P.t("sch_periodSpecificMonths")}),typeof r.period.months=="string"&&m.createElement(Kb,{row:!0,style:we.inputGroup},m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:n.length===12,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[];for(let i=1;i<=12;i++)a.push(i);o.period.months=JSON.stringify(a),this.onChange(o)}}),label:P.t("sch_all")}),m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!n.length,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months="[]",this.onChange(o)}}),label:P.t("sch_no_one")}),n.length!==12&&!!n.length&&m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!1,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[],i=JSON.parse(o.period.months);for(let s=1;s<=12;s++)i.includes(s)||a.push(s);a.sort((s,l)=>s-l),o.period.months=JSON.stringify(a),this.onChange(o)}}),label:P.t("sch_invert")}),m.createElement("div",null),jg.map((o,a)=>m.createElement(St,{key:`month_${a}`,style:we.inputGroupElement,control:m.createElement(yr,{style:we.inputSmallCheck,checked:typeof r.period.months=="string"?JSON.parse(r.period.months).includes(a+1):r.period.months===a,onChange:i=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.months)}catch{l=[]}i.target.checked&&!l.includes(a+1)?l.push(a+1):!i.target.checked&&l.includes(a+1)&&l.splice(l.indexOf(a+1),1),l.sort((d,h)=>d-h),s.period.months=JSON.stringify(l),this.onChange(s)}}),label:P.t(o)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const r=this.state.schedule;return[m.createElement("div",{key:"year"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.years===1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=1,this.onChange(n)}}),label:P.t("sch_periodEveryYear")})),m.createElement("div",{key:"every"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.years>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=2,this.onChange(n)}}),label:P.t("sch_periodEvery")}),r.period.years>1&&[m.createElement(ya,{key:"input",value:this.state.schedule.period.years,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=parseInt(n.target.value,10),o.period.years<1&&(o.period.years=1),this.onChange(o)}}),m.createElement("span",{key:"text"},P.t("sch_periodYear"))])]}static now2string(r){const n=new Date;return n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),r&&(n.setDate(n.getDate()+2),n.setMilliseconds(n.getMilliseconds()-1)),`${$i(n.getDate())}.${$i(n.getMonth()+1)}.${$i(n.getFullYear())}`}static string2date(r){let n=r.split(".");return n.length===1?(n=r.split("-"),new Date(parseInt(n[0],10),parseInt(n[1],10)-1,parseInt(n[2],10))):new Date(parseInt(n[2],10),parseInt(n[1],10)-1,parseInt(n[0],10))}getValidSettings(){const r=this.state.schedule;return m.createElement("div",{style:we.rowDiv},m.createElement("div",{style:{...we.modeDiv,verticalAlign:"middle"}},m.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},P.t("sch_valid")),m.createElement("span",null,P.t("sch_validFrom"))),m.createElement("div",{style:we.settingsDiv},m.createElement(Ht,{variant:"standard",style:{...we.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:ES(r.valid.from),type:"date",onChange:n=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(o=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const a=JSON.parse(JSON.stringify(this.state.schedule)),i=gn.string2date(o);i.toString()!=="Invalid Date"&&(a.valid.from=`${$i(i.getDate())}.${$i(i.getMonth()+1)}.${i.getFullYear()}`,this.onChange(a))},1500,n.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),m.createElement(St,{control:m.createElement(yr,{style:we.inputRadio,checked:!!r.valid.to,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.valid.to=n.valid.to?"":gn.now2string(!0),this.onChange(n)}}),label:P.t("sch_validTo")}),!!r.valid.to&&m.createElement(Ht,{variant:"standard",inputRef:this.refTo,style:{...we.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:ES(r.valid.to),onChange:n=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(o=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const a=JSON.parse(JSON.stringify(this.state.schedule)),i=gn.string2date(o);i.toString()!=="Invalid Date"&&(a.valid.to=`${$i(i.getDate())}.${$i(i.getMonth()+1)}.${i.getFullYear()}`,this.onChange(a))},1500,n.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return m.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},m.createElement("div",null,this.state.desc),m.createElement("div",{style:we.scrollWindow},m.createElement("h5",null,P.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),gn.getDivider(),m.createElement("h5",null,P.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&gn.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}class OV extends A.Component{constructor(r){super(r);X(this,"dialogName");X(this,"filters");X(this,"filterFunc");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const n=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(n)}catch{this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters||{}});let o=this.props.selected||[];if(Array.isArray(o)||(o=[o]),o=o.filter(a=>a),r.filterFunc)if(typeof r.filterFunc=="string")try{this.filterFunc=new Function("obj",r.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${r.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=r.filterFunc;this.state={selected:o,name:""}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect?this.state.selected:this.state.selected[0]||"",this.state.name),this.props.onClose()}render(){let r;return this.state.name||this.state.selected.length?this.state.selected.length===1?r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},P.t("%s items",this.state.selected.length.toString()))]:r=this.props.title||P.t("ra_Please select object ID..."),m.createElement(or,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{height:"95%",p:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)"}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectid_title"},m.createElement(_r,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},r),m.createElement(Wr,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},m.createElement(g_t,{foldersFirst:this.props.foldersFirst,imagePrefix:this.props.imagePrefix||this.props.prefix,dateFormat:this.props.dateFormat,defaultFilters:this.filters,dialogName:this.dialogName,isFloatComma:this.props.isFloatComma,showExpertButton:this.props.showExpertButton!==void 0?this.props.showExpertButton:!0,expertMode:this.props.expertMode,columns:this.props.columns||["name","type","role","room","func","val"],types:this.props.types?Array.isArray(this.props.types)?this.props.types:[this.props.types]:["state"],root:this.props.root,t:P.t,lang:this.props.lang||P.getLanguage(),socket:this.props.socket,selected:this.state.selected,multiSelect:this.props.multiSelect,notEditable:this.props.notEditable===void 0?!0:this.props.notEditable,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,customFilter:this.props.customFilter,allowNonObjects:this.props.allowNonObjects,onFilterChanged:n=>{this.filters=n,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(n))},onSelect:(n,o,a)=>{let i;Array.isArray(n)?i=n:i=[n],JSON.stringify(i)!==JSON.stringify(this.state.selected)?this.setState({selected:i,name:o},()=>a&&this.handleOk()):a&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),m.createElement(pr,null,m.createElement(tt,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:m.createElement(Ea,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}/*! +`),m.createElement(l_t,null,this.getToolbar()),m.createElement(s_t,null,this.renderHeader(),m.createElement("div",{style:Q.tableDiv,ref:this.tableRef,onKeyDown:o=>this.navigateKeyPress(o)},n)),this.renderContextMenu(),this.renderAliasMenu(),this.renderToast(),this.renderColumnsEditCustomDialog(),this.renderColumnsSelectorDialog(),this.renderCustomDialog(),this.renderEditValueDialog(),this.renderEditObjectDialog(),this.renderViewObjectFileDialog(),this.renderAliasEditorDialog(),this.renderEditRoleDialog(),this.renderEnumDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.state.modalNewObj&&this.props.modalNewObject&&this.props.modalNewObject(this),this.state.modalEditOfAccess&&this.state.modalEditOfAccessObjData&&this.props.modalEditOfAccessControl&&this.props.modalEditOfAccessControl(this,this.state.modalEditOfAccessObjData))}};iy=new WeakMap,uP(va,iy,["0_userdata.0.","alias.0."]);let O2=va;const v_t=qs()(O2),we={hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:t=>({background:t.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:t=>({background:t.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowDates:t=>({background:t.palette.mode!=="dark"?"#DDDDFF":"#747a86"}),rowWeeks:t=>({background:t.palette.mode!=="dark"?"#DDDDFF":"#717680"}),rowMonths:t=>({background:t.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:t=>({background:t.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:t=>({background:t.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDaysDows:t=>({background:t.palette.mode!=="dark"?"#EEEAFF":"#573544",pl:"10px",pb:"10px"}),rowDowsDows:t=>({background:t.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},$S=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],jg=["January","February","March","April","May","June","July","August","September","October","November","December"],kS={minutes:"minutes",hours:"hours"},Hp=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function $i(t){return t<10?`0${t}`:`${t}`}const xz={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function ES(t){const e=t.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class gn extends A.Component{constructor(r){super(r);X(this,"refFrom");X(this,"refTo");X(this,"refOnce");X(this,"timerOnce",null);X(this,"timerFrom",null);X(this,"timerTo",null);let n;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{n=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(n=this.props.schedule);(!n||!Object.keys(n).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),n=xz),n={...xz,...n},n.valid.from=n.valid.from||gn.now2string(),this.refFrom=m.createRef(),this.refTo=m.createRef(),this.refOnce=m.createRef(),this.state={schedule:n,desc:gn.state2text(n)},JSON.stringify(n)!==this.props.schedule&&setTimeout(()=>this.props.onChange&&this.props.onChange(JSON.stringify(n)),100)}onChange(r,n){const o=JSON.stringify(r)!==JSON.stringify(this.state.schedule);if(n||o){o&&this.setState({schedule:r,desc:gn.state2text(r)});const a=JSON.parse(JSON.stringify(r));if(a.period.once){const i=a.period.once;delete a.period,a.period={once:i},delete a.valid}else if(a.period.days){const i=a.period.days,s=a.period.dows;delete a.period,a.period={days:i},s&&s!=="[]"&&(a.period.dows=s)}else if(a.period.weeks){const i=a.period.weeks,s=a.period.dows;delete a.period,a.period={weeks:i},s&&s!=="[]"&&(a.period.dows=s)}else if(a.period.months){const i=a.period.months,s=a.period.dates;delete a.period,a.period={months:i},s&&s!=="[]"&&(a.period.dates=s)}else if(a.period.years){const i=a.period.years,s=a.period.yearMonth,l=a.period.yearDate;delete a.period,a.period={years:i,yearDate:l},s&&(a.period.yearMonth=s)}if(a.time.exactTime?(delete a.time.end,delete a.time.mode,delete a.time.interval):delete a.time.exactTime,a.valid){if(a.valid.to||delete a.valid.to,a.period.days===1||a.period.weeks===1||a.period.months===1||a.period.years===1){const i=gn.string2date(a.valid.from),s=new Date;s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0),i<=s&&delete a.valid.from}!a.valid.from&&!a.valid.to&&delete a.valid}this.props.onChange&&this.props.onChange(JSON.stringify(a),gn.state2text(r))}}static state2text(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{return""}const n=[],o=gn.string2date(r.valid.from);if(r.period.once){const a=gn.string2date(r.period.once),i=new Date;if(i.setMilliseconds(0),i.setSeconds(0),i.setMinutes(0),i.setHours(0),aP.t($S[s]));if(i.length===1)n.push(P.t("sch_desc_onWeekday",i[0]));else if(i.length===7)n.push(P.t("sch_desc_everyDay"));else{const s=i.pop();n.push(P.t("sch_desc_onWeekdays",i.join(", "),s))}}}else n.push(P.t("sch_desc_everyDay"));else n.push(P.t("sch_desc_everyNDay",r.period.days.toString()));else if(r.period.weeks)if(r.period.weeks===1?n.push(P.t("sch_desc_everyWeek")):n.push(P.t("sch_desc_everyNWeeks",r.period.weeks.toString())),r.period.dows){const a=JSON.parse(r.period.dows);if(a.length===2&&a[0]===0&&a[1]===6)n.push(P.t("sch_desc_onWeekends"));else if(a.length===5&&a[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5)n.push(P.t("sch_desc_onWorkdays"));else{const i=a.map(s=>P.t($S[s]));if(i.length===1)n.push(P.t("sch_desc_onWeekday",i[0]));else if(i.length===7)n.push(P.t("sch_desc_everyDay"));else{const s=i.pop();n.push(P.t("sch_desc_onWeekdays",i.join(", "),s))}}}else return P.t("sch_desc_never");else if(r.period.months){if(r.period.dates){const a=JSON.parse(r.period.dates);if(a.length===1)n.push(P.t("sch_desc_onDate",a[0]));else if(a.length===31)n.push(P.t("sch_desc_onEveryDate"));else if(a.length){const i=a.pop();n.push(P.t("sch_desc_onDates",a.join(", "),i))}else return P.t("sch_desc_never")}else n.push(P.t("sch_desc_onEveryDate"));if(r.period.months===1)n.push(P.t("sch_desc_everyMonth"));else if(typeof r.period.months=="number")n.push(P.t("sch_desc_everyNMonths",r.period.months.toString()));else{const i=JSON.parse(r.period.months).map(s=>P.t(jg[s-1]));if(!i.length)return P.t("sch_desc_never");if(i.length===1)n.push(P.t("sch_desc_onMonth",i[0]));else if(i.length===12)n.push(P.t("sch_desc_everyMonth"));else{const s=i.pop();n.push(P.t("sch_desc_onMonths",i.join(", "),s))}}}else r.period.years&&(r.period.years===1?n.push(P.t("sch_desc_everyYear")):n.push(P.t("sch_desc_everyNYears",r.period.years.toString())),n.push(P.t("sch_desc_onDate",r.period.yearDate.toString(),r.period.yearMonth?P.t(jg[r.period.yearMonth-1]):P.t("sch_desc_everyMonth"))));if(r.time.exactTime)Hp.includes(r.time.start)?n.push(P.t("sch_desc_atTime",P.t(`sch_astro_${r.time.start}`))):n.push(P.t("sch_desc_atTime",r.time.start));else{r.time.mode===kS.minutes?r.time.interval===1?n.push(P.t("sch_desc_everyMinute")):n.push(P.t("sch_desc_everyNMinutes",r.time.interval.toString())):r.time.interval===1?n.push(P.t("sch_desc_everyHour")):n.push(P.t("sch_desc_everyNHours",r.time.interval.toString()));const a=Hp.indexOf(r.time.start)!==-1?P.t(`sch_astro_${r.time.start}`):r.time.start,i=Hp.indexOf(r.time.end)!==-1?P.t(`sch_astro_${r.time.end}`):r.time.end;(a!=="00:00"||i!=="24:00"&&i!=="23:59")&&n.push(P.t("sch_desc_intervalFromTo",a,i))}return r.period.once||(o.getTime()>Date.now()&&r.valid.to?n.push(P.t("sch_desc_validFromTo",r.valid.from,r.valid.to)):o.getTime()>Date.now()?n.push(P.t("sch_desc_validFrom",r.valid.from)):r.valid.to&&n.push(P.t("sch_desc_validTo",r.valid.to))),n.join(" ")}getTimePeriodElements(){const r=this.state.schedule;let n=!1,o=!1,a=!1,i=!0;return r.time.start==="00:00"&&r.time.end==="24:00"?(n=!0,i=!1):r.time.start==="sunrise"?(o=!0,i=!1):r.time.start==="sunset"&&(a=!0,i=!1),m.createElement("div",{key:"timePeriod",style:we.rowDiv},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!r.time.exactTime,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.exactTime=!1,this.onChange(s)}}),label:P.t("sch_intervalTime")})),m.createElement("div",{style:we.settingsDiv},m.createElement("div",{style:we.settingsDiv},!r.time.exactTime&&m.createElement("div",null,m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!i,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="23:59",this.onChange(s)}}),label:i?"":P.t("sch_fromTo")}),i&&[m.createElement(Ht,{variant:"standard",style:{...we.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:s=>{const l=JSON.parse(JSON.stringify(this.state.schedule));l.time.start=s.target.value,this.onChange(l)},slotProps:{inputLabel:{shrink:!0}},label:P.t("sch_from"),margin:"normal"}),m.createElement(Ht,{variant:"standard",style:we.inputTime,key:"exactTimeTo",type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:s=>{const l=JSON.parse(JSON.stringify(this.state.schedule));l.time.end=s.target.value,this.onChange(l)},slotProps:{inputLabel:{shrink:!0}},label:P.t("sch_to"),margin:"normal"})])),!r.time.exactTime&&m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!n,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="24:00",this.onChange(s)}}),label:P.t("sch_wholeDay")})),!r.time.exactTime&&m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!o,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunrise",s.time.end="sunset",this.onChange(s)}}),label:P.t("sch_astroDay")})),!r.time.exactTime&&m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!a,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunset",s.time.end="sunrise",this.onChange(s)}}),label:P.t("sch_astroNight")}))),!r.time.exactTime&&this.getPeriodSettingsMinutes(i)))}getTimeExactElements(){const r=Hp.includes(this.state.schedule.time.start);return m.createElement("div",{key:"timeExact",style:we.rowDiv},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.exactTime=!0,this.onChange(n)}}),label:P.t("sch_exactTime")})),this.state.schedule.time.exactTime&&m.createElement(Bn,{variant:"standard",value:r?this.state.schedule.time.start:"00:00",onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.start=n.target.value,this.onChange(o)}},m.createElement(Jt,{key:"specific",value:"00:00"},P.t("sch_specificTime")),Hp.map(n=>m.createElement(Jt,{key:n,value:n},P.t(`sch_astro_${n}`)))),this.state.schedule.time.exactTime&&!r&&m.createElement("div",{style:we.settingsDiv},m.createElement(Ht,{variant:"standard",style:we.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.start=n.target.value,this.onChange(o)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return m.createElement("hr",{style:we.hr})}getPeriodModes(){const r=this.state.schedule,n=!r.period.dows&&!r.period.months&&!r.period.dates&&!r.period.years&&!r.period.days&&!r.period.weeks;return n&&!r.period.once&&(r.period.once=gn.now2string(!0)),[m.createElement("div",{key:"once",style:{...we.rowDiv,...we.rowOnce}},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!n,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.once=o.period.once||gn.now2string(!0),o.period.dows="",o.period.months="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.days=0,this.onChange(o)}}),label:P.t("sch_periodOnce")})),n&&m.createElement("div",{style:we.settingsDiv},m.createElement(Ht,{variant:"standard",style:we.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:ES(r.period.once),onChange:o=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(a=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const i=JSON.parse(JSON.stringify(this.state.schedule)),s=gn.string2date(a);s.toString()!=="Invalid Date"&&(i.period.once=`${$i(s.getDate())}.${$i(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(i))},1500,o.target.value)},slotProps:{inputLabel:{shrink:!0}},label:P.t("sch_at"),margin:"normal"}))),m.createElement(Re,{component:"div",key:"days",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowDays)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.days,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=1,o.period.dows="",o.period.months="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodDaily")})),m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsDaily(),r.period.days?this.getPeriodSettingsWeekdays():null)),m.createElement(Re,{component:"div",key:"weeks",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowDows)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.weeks,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=r.period.weeks?0:1,o.period.dows=r.period.dows||"[0]",o.period.months="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodWeekly")})),m.createElement(Re,{component:"div",style:we.settingsDiv},m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsWeekly()),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,we.settingsDiv,we.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),m.createElement(Re,{component:"div",key:"months",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowMonths)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.months,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=1,o.period.dows="",o.period.dates="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodMonthly")})),m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsMonthly(),r.period.months?m.createElement(Re,null,m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,we.settingsDiv,we.rowMonthsDates)},m.createElement(St,{control:m.createElement(yr,{style:we.inputRadio,checked:!!r.period.dates,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=o.period.months||1;const a=[];for(let i=1;i<=31;i++)a.push(i);o.period.dates=o.period.dates||JSON.stringify(a),o.period.dows="",o.period.years=0,o.period.yearDate=0,o.period.yearMonth=0,o.period.weeks=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodDates")})),m.createElement(Re,{component:"div",sx:ue.getStyle(this.props.theme,we.settingsDiv,we.rowMonthsDates)},this.getPeriodSettingsDates())):null)),m.createElement(Re,{component:"div",key:"years",sx:ue.getStyle(this.props.theme,we.rowDiv,we.rowYears)},m.createElement("div",{style:we.modeDiv},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:!!r.period.years,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=1,o.period.yearDate=1,o.period.yearMonth=1,o.period.dows="",o.period.months=0,o.period.dates="",o.period.weeks=0,o.period.days=0,o.period.once="",this.onChange(o)}}),label:P.t("sch_periodYearly")})),m.createElement("div",{style:we.settingsDiv},m.createElement("div",{style:we.settingsDiv},this.getPeriodSettingsYearly()),!!r.period.years&&m.createElement("div",{style:we.settingsDiv},m.createElement("span",null,P.t("sch_on")),m.createElement(ya,{key:"input",value:this.state.schedule.period.yearDate,style:we.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.yearDate=parseInt(o.target.value,10),a.period.yearDate<1&&(a.period.yearDate=31),a.period.yearDate>31&&(a.period.yearDate=1),this.onChange(a)}}),m.createElement(Bn,{variant:"standard",value:r.period.yearMonth,onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.yearMonth=o.target.value,this.onChange(a)}},m.createElement(Jt,{key:"every",value:0},P.t("sch_yearEveryMonth")),jg.map((o,a)=>m.createElement(Jt,{key:o,value:a+1},P.t(o)))))))]}getPeriodSettingsMinutes(r){return m.createElement("div",{style:{display:"inline-block",marginTop:r?15:"inherit"}},m.createElement("label",{style:{marginLeft:4,marginRight:4}},P.t("sch_every")),m.createElement(ya,{value:this.state.schedule.time.interval,style:{...we.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.interval=parseInt(n.target.value,10),this.onChange(o)}}),m.createElement(Bn,{variant:"standard",value:this.state.schedule.time.mode,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.time.mode=n.target.value,this.onChange(o)}},m.createElement(Jt,{value:kS.minutes},P.t("sch_periodMinutes")),m.createElement(Jt,{value:kS.hours},P.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const r=this.state.schedule,n=r.period.dows&&r.period.dows!=="[1, 2, 3, 4, 5]"&&r.period.dows!=="[0, 6]";return[m.createElement("div",{key:"workdays"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dows="[1, 2, 3, 4, 5]",o.period.days&&(o.period.days=1),this.onChange(o)}}),label:P.t("sch_periodWorkdays")})),m.createElement("div",{key:"weekend"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.dows==="[0, 6]",onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dows="[0, 6]",o.period.days&&(o.period.days=1),this.onChange(o)}}),label:P.t("sch_periodWeekend")})),m.createElement("div",{key:"specific",style:{verticalAlign:"top"}},m.createElement(St,{style:{verticalAlign:"top"},control:m.createElement(ur,{style:we.inputRadio,checked:!!n,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dows="[0, 1, 2, 3, 4, 5, 6]",o.period.days&&(o.period.days=1),this.onChange(o)}}),label:P.t("sch_periodWeekdays")}),n&&(r.period.days===1||r.period.weeks)&&m.createElement(Kb,{row:!0,style:{...we.inputGroup,width:150}},[1,2,3,4,5,6,0].map(o=>m.createElement(St,{key:`specific_${o}`,style:we.inputGroupElement,control:m.createElement(yr,{style:we.inputSmallCheck,checked:r.period.dows.includes(o.toString()),onChange:a=>{const i=JSON.parse(JSON.stringify(this.state.schedule));let s;try{s=JSON.parse(i.period.dows)}catch{s=[]}a.target.checked&&!s.includes(o)?s.push(o):!a.target.checked&&s.includes(o)&&s.splice(s.indexOf(o),1),s.sort((l,d)=>l-d),i.period.dows=JSON.stringify(s),i.period.days&&(i.period.days=1),this.onChange(i)}}),label:P.t($S[o])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const r=this.state.schedule;return[m.createElement("div",{key:"every_day"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.days===1&&!r.period.dows,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=1,n.period.dows="",this.onChange(n)}}),label:P.t("sch_periodEveryDay")})),m.createElement("div",{key:"everyN_day"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.days>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=2,n.period.dows="",this.onChange(n)}}),label:P.t("sch_periodEvery")}),r.period.days>1&&[m.createElement(ya,{key:"input",value:this.state.schedule.period.days,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=parseInt(n.target.value,10),o.period.dows="",this.onChange(o)}}),m.createElement("span",{key:"span",style:{paddingRight:10}},P.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const r=this.state.schedule;return[m.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.weeks===1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=1,this.onChange(n)}}),label:P.t("sch_periodEveryWeek")})),m.createElement("div",null,m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.weeks>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=2,this.onChange(n)}}),label:P.t("sch_periodEvery")}),r.period.weeks>1&&[m.createElement(ya,{key:"input",value:this.state.schedule.period.weeks,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=parseInt(n.target.value,10),this.onChange(o)}}),m.createElement("span",{key:"text"},P.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const r=this.state.schedule,n=[];for(let a=1;a<=31;a++)n.push(a);const o=JSON.parse(r.period.dates);return m.createElement(Kb,{row:!0,style:{...we.inputGroup,maxWidth:620}},m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:o.length===31,onChange:()=>{const a=JSON.parse(JSON.stringify(this.state.schedule)),i=[];for(let s=1;s<=31;s++)i.push(s);a.period.dates=JSON.stringify(i),this.onChange(a)}}),label:P.t("sch_all")}),m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!o.length,onChange:()=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dates="[]",this.onChange(a)}}),label:P.t("sch_no_one")}),o.length!==31&&!!o.length&&m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!1,onChange:()=>{const a=JSON.parse(JSON.stringify(this.state.schedule)),i=[],s=JSON.parse(a.period.dates);for(let l=1;l<=31;l++)s.includes(l)||i.push(l);i.sort((l,d)=>l-d),a.period.dates=JSON.stringify(i),this.onChange(a)}}),label:P.t("sch_invert")}),m.createElement("div",null),n.map(a=>m.createElement(St,{key:`date_${a}`,style:a?we.inputDateDay:{...we.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:m.createElement(yr,{style:we.inputDateDayCheck,checked:JSON.parse(r.period.dates).includes(a),onChange:i=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.dates)}catch{l=[]}i.target.checked&&!l.includes(a)?l.push(a):!i.target.checked&&l.includes(a)&&l.splice(l.indexOf(a),1),l.sort((d,h)=>d-h),s.period.dates=JSON.stringify(l),this.onChange(s)}}),label:a<10?[m.createElement("span",{key:"0",style:{opacity:0}},"0"),m.createElement("span",{key:"num"},a)]:a})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const r=this.state.schedule,n=typeof r.period.months=="string"?JSON.parse(r.period.months):[];return[m.createElement("div",{key:"every"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:typeof r.period.months=="number"&&r.period.months===1,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=1,this.onChange(r)}}),label:P.t("sch_periodEveryMonth")})),m.createElement("div",{key:"everyN"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:typeof r.period.months=="number"&&r.period.months>1,onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=2,this.onChange(o)}}),label:P.t("sch_periodEvery")}),typeof r.period.months=="number"&&r.period.months>1&&[m.createElement(ya,{key:"input",value:r.period.months,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=parseInt(o.target.value,10),a.period.months<1&&(a.period.months=1),this.onChange(a)}}),m.createElement("span",{key:"text"},P.t("sch_periodMonth"))]),m.createElement("div",{key:"specific",style:{verticalAlign:"top"}},m.createElement(St,{style:{verticalAlign:"top"},control:m.createElement(ur,{style:we.inputRadio,checked:typeof r.period.months=="string",onClick:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(o)}}),label:P.t("sch_periodSpecificMonths")}),typeof r.period.months=="string"&&m.createElement(Kb,{row:!0,style:we.inputGroup},m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:n.length===12,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[];for(let i=1;i<=12;i++)a.push(i);o.period.months=JSON.stringify(a),this.onChange(o)}}),label:P.t("sch_all")}),m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!n.length,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months="[]",this.onChange(o)}}),label:P.t("sch_no_one")}),n.length!==12&&!!n.length&&m.createElement(St,{style:we.inputDateDay,control:m.createElement(yr,{style:we.inputDateDayCheck,checked:!1,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[],i=JSON.parse(o.period.months);for(let s=1;s<=12;s++)i.includes(s)||a.push(s);a.sort((s,l)=>s-l),o.period.months=JSON.stringify(a),this.onChange(o)}}),label:P.t("sch_invert")}),m.createElement("div",null),jg.map((o,a)=>m.createElement(St,{key:`month_${a}`,style:we.inputGroupElement,control:m.createElement(yr,{style:we.inputSmallCheck,checked:typeof r.period.months=="string"?JSON.parse(r.period.months).includes(a+1):r.period.months===a,onChange:i=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.months)}catch{l=[]}i.target.checked&&!l.includes(a+1)?l.push(a+1):!i.target.checked&&l.includes(a+1)&&l.splice(l.indexOf(a+1),1),l.sort((d,h)=>d-h),s.period.months=JSON.stringify(l),this.onChange(s)}}),label:P.t(o)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const r=this.state.schedule;return[m.createElement("div",{key:"year"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.years===1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=1,this.onChange(n)}}),label:P.t("sch_periodEveryYear")})),m.createElement("div",{key:"every"},m.createElement(St,{control:m.createElement(ur,{style:we.inputRadio,checked:r.period.years>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=2,this.onChange(n)}}),label:P.t("sch_periodEvery")}),r.period.years>1&&[m.createElement(ya,{key:"input",value:this.state.schedule.period.years,style:we.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=parseInt(n.target.value,10),o.period.years<1&&(o.period.years=1),this.onChange(o)}}),m.createElement("span",{key:"text"},P.t("sch_periodYear"))])]}static now2string(r){const n=new Date;return n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),r&&(n.setDate(n.getDate()+2),n.setMilliseconds(n.getMilliseconds()-1)),`${$i(n.getDate())}.${$i(n.getMonth()+1)}.${$i(n.getFullYear())}`}static string2date(r){let n=r.split(".");return n.length===1?(n=r.split("-"),new Date(parseInt(n[0],10),parseInt(n[1],10)-1,parseInt(n[2],10))):new Date(parseInt(n[2],10),parseInt(n[1],10)-1,parseInt(n[0],10))}getValidSettings(){const r=this.state.schedule;return m.createElement("div",{style:we.rowDiv},m.createElement("div",{style:{...we.modeDiv,verticalAlign:"middle"}},m.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},P.t("sch_valid")),m.createElement("span",null,P.t("sch_validFrom"))),m.createElement("div",{style:we.settingsDiv},m.createElement(Ht,{variant:"standard",style:{...we.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:ES(r.valid.from),type:"date",onChange:n=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(o=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const a=JSON.parse(JSON.stringify(this.state.schedule)),i=gn.string2date(o);i.toString()!=="Invalid Date"&&(a.valid.from=`${$i(i.getDate())}.${$i(i.getMonth()+1)}.${i.getFullYear()}`,this.onChange(a))},1500,n.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),m.createElement(St,{control:m.createElement(yr,{style:we.inputRadio,checked:!!r.valid.to,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.valid.to=n.valid.to?"":gn.now2string(!0),this.onChange(n)}}),label:P.t("sch_validTo")}),!!r.valid.to&&m.createElement(Ht,{variant:"standard",inputRef:this.refTo,style:{...we.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:ES(r.valid.to),onChange:n=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(o=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const a=JSON.parse(JSON.stringify(this.state.schedule)),i=gn.string2date(o);i.toString()!=="Invalid Date"&&(a.valid.to=`${$i(i.getDate())}.${$i(i.getMonth()+1)}.${i.getFullYear()}`,this.onChange(a))},1500,n.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return m.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},m.createElement("div",null,this.state.desc),m.createElement("div",{style:we.scrollWindow},m.createElement("h5",null,P.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),gn.getDivider(),m.createElement("h5",null,P.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&gn.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}class OV extends A.Component{constructor(r){super(r);X(this,"dialogName");X(this,"filters");X(this,"filterFunc");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const n=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(n)}catch{this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters||{}});let o=this.props.selected||[];if(Array.isArray(o)||(o=[o]),o=o.filter(a=>a),r.filterFunc)if(typeof r.filterFunc=="string")try{this.filterFunc=new Function("obj",r.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${r.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=r.filterFunc;this.state={selected:o,name:""}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect?this.state.selected:this.state.selected[0]||"",this.state.name),this.props.onClose()}render(){let r;return this.state.name||this.state.selected.length?this.state.selected.length===1?r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},P.t("%s items",this.state.selected.length.toString()))]:r=this.props.title||P.t("ra_Please select object ID..."),m.createElement(or,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{height:"95%",p:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)"}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectid_title"},m.createElement(_r,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},r),m.createElement(Wr,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},m.createElement(v_t,{foldersFirst:this.props.foldersFirst,imagePrefix:this.props.imagePrefix||this.props.prefix,dateFormat:this.props.dateFormat,defaultFilters:this.filters,dialogName:this.dialogName,isFloatComma:this.props.isFloatComma,showExpertButton:this.props.showExpertButton!==void 0?this.props.showExpertButton:!0,expertMode:this.props.expertMode,columns:this.props.columns||["name","type","role","room","func","val"],types:this.props.types?Array.isArray(this.props.types)?this.props.types:[this.props.types]:["state"],root:this.props.root,t:P.t,lang:this.props.lang||P.getLanguage(),socket:this.props.socket,selected:this.state.selected,multiSelect:this.props.multiSelect,notEditable:this.props.notEditable===void 0?!0:this.props.notEditable,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,customFilter:this.props.customFilter,allowNonObjects:this.props.allowNonObjects,onFilterChanged:n=>{this.filters=n,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(n))},onSelect:(n,o,a)=>{let i;Array.isArray(n)?i=n:i=[n],JSON.stringify(i)!==JSON.stringify(this.state.selected)?this.setState({selected:i,name:o},()=>a&&this.handleOk()):a&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),m.createElement(pr,null,m.createElement(tt,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:m.createElement(Ea,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}/*! * Cropper.js v1.6.2 * https://fengyuanchen.github.io/cropperjs * @@ -771,10 +771,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * Released under the MIT license * * Date: 2024-04-21T07:43:05.335Z - */function Sz(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function DV(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r
',P_t=Number.isNaN||oi.isNaN;function Nt(t){return typeof t=="number"&&!P_t(t)}var Rz=function(e){return e>0&&e<1/0};function TS(t){return typeof t>"u"}function Fl(t){return D2(t)==="object"&&t!==null}var N_t=Object.prototype.hasOwnProperty;function Gd(t){if(!Fl(t))return!1;try{var e=t.constructor,r=e.prototype;return e&&r&&N_t.call(r,"isPrototypeOf")}catch{return!1}}function eo(t){return typeof t=="function"}var R_t=Array.prototype.slice;function FV(t){return Array.from?Array.from(t):R_t.call(t)}function en(t,e){return t&&eo(e)&&(Array.isArray(t)||Nt(t.length)?FV(t).forEach(function(r,n){e.call(t,r,n,t)}):Fl(t)&&Object.keys(t).forEach(function(r){e.call(t,t[r],r,t)})),t}var Ir=Object.assign||function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o0&&n.forEach(function(a){Fl(a)&&Object.keys(a).forEach(function(i){e[i]=a[i]})}),e},j_t=/\.\d*(?:0|9){12}\d*$/;function nu(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return j_t.test(t)?Math.round(t*e)/e:t}var L_t=/^width|height|left|top|marginLeft|marginTop$/;function $s(t,e){var r=t.style;en(e,function(n,o){L_t.test(o)&&Nt(n)&&(n="".concat(n,"px")),r[o]=n})}function z_t(t,e){return t.classList?t.classList.contains(e):t.className.indexOf(e)>-1}function dn(t,e){if(e){if(Nt(t.length)){en(t,function(n){dn(n,e)});return}if(t.classList){t.classList.add(e);return}var r=t.className.trim();r?r.indexOf(e)<0&&(t.className="".concat(r," ").concat(e)):t.className=e}}function ti(t,e){if(e){if(Nt(t.length)){en(t,function(r){ti(r,e)});return}if(t.classList){t.classList.remove(e);return}t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,""))}}function Xd(t,e,r){if(e){if(Nt(t.length)){en(t,function(n){Xd(n,e,r)});return}r?dn(t,e):ti(t,e)}}var F_t=/([a-z\d])([A-Z])/g;function DD(t){return t.replace(F_t,"$1-$2").toLowerCase()}function z2(t,e){return Fl(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(DD(e)))}function hf(t,e,r){Fl(r)?t[e]=r:t.dataset?t.dataset[e]=r:t.setAttribute("data-".concat(DD(e)),r)}function B_t(t,e){if(Fl(t[e]))try{delete t[e]}catch{t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch{t.dataset[e]=void 0}else t.removeAttribute("data-".concat(DD(e)))}var BV=/\s\s*/,WV=function(){var t=!1;if(l_){var e=!1,r=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(a){e=a}});oi.addEventListener("test",r,n),oi.removeEventListener("test",r,n)}return t}();function fa(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(BV).forEach(function(a){if(!WV){var i=t.listeners;i&&i[a]&&i[a][r]&&(o=i[a][r],delete i[a][r],Object.keys(i[a]).length===0&&delete i[a],Object.keys(i).length===0&&delete t.listeners)}t.removeEventListener(a,o,n)})}function Bo(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(BV).forEach(function(a){if(n.once&&!WV){var i=t.listeners,s=i===void 0?{}:i;o=function(){delete s[a][r],t.removeEventListener(a,o,n);for(var d=arguments.length,h=new Array(d),u=0;uMath.abs(r)&&(r=f)})}),r}function zg(t,e){var r=t.pageX,n=t.pageY,o={endX:r,endY:n};return e?o:DV({startX:r,startY:n},o)}function U_t(t){var e=0,r=0,n=0;return en(t,function(o){var a=o.startX,i=o.startY;e+=a,r+=i,n+=1}),e/=n,r/=n,{pageX:e,pageY:r}}function ks(t){var e=t.aspectRatio,r=t.height,n=t.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",a=Rz(n),i=Rz(r);if(a&&i){var s=r*e;o==="contain"&&s>n||o==="cover"&&s90?{width:l,height:s}:{width:s,height:l}}function q_t(t,e,r,n){var o=e.aspectRatio,a=e.naturalWidth,i=e.naturalHeight,s=e.rotate,l=s===void 0?0:s,d=e.scaleX,h=d===void 0?1:d,u=e.scaleY,f=u===void 0?1:u,g=r.aspectRatio,y=r.naturalWidth,b=r.naturalHeight,x=n.fillColor,S=x===void 0?"transparent":x,T=n.imageSmoothingEnabled,E=T===void 0?!0:T,$=n.imageSmoothingQuality,k=$===void 0?"low":$,O=n.maxWidth,M=O===void 0?1/0:O,R=n.maxHeight,j=R===void 0?1/0:R,I=n.minWidth,z=I===void 0?0:I,W=n.minHeight,L=W===void 0?0:W,F=document.createElement("canvas"),H=F.getContext("2d"),q=ks({aspectRatio:g,width:M,height:j}),ee=ks({aspectRatio:g,width:z,height:L},"cover"),Y=Math.min(q.width,Math.max(ee.width,y)),G=Math.min(q.height,Math.max(ee.height,b)),te=ks({aspectRatio:o,width:M,height:j}),B=ks({aspectRatio:o,width:z,height:L},"cover"),K=Math.min(te.width,Math.max(B.width,a)),he=Math.min(te.height,Math.max(B.height,i)),fe=[-K/2,-he/2,K,he];return F.width=nu(Y),F.height=nu(G),H.fillStyle=S,H.fillRect(0,0,Y,G),H.save(),H.translate(Y/2,G/2),H.rotate(l*Math.PI/180),H.scale(h,f),H.imageSmoothingEnabled=E,H.imageSmoothingQuality=k,H.drawImage.apply(H,[t].concat(IV(fe.map(function(ge){return Math.floor(nu(ge))})))),H.restore(),F}var UV=String.fromCharCode;function G_t(t,e,r){var n="";r+=e;for(var o=e;o0;)r.push(UV.apply(null,FV(o.subarray(0,n)))),o=o.subarray(n);return"data:".concat(e,";base64,").concat(btoa(r.join("")))}function K_t(t){var e=new DataView(t),r;try{var n,o,a;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var i=e.byteLength,s=2;s+1=8&&(a=d+u)}}}if(a){var f=e.getUint16(a,n),g,y;for(y=0;y=0?a:LV),height:Math.max(n.offsetHeight,i>=0?i:zV)};this.containerData=s,$s(o,{width:s.width,height:s.height}),dn(e,to),ti(o,to)},initCanvas:function(){var e=this.containerData,r=this.imageData,n=this.options.viewMode,o=Math.abs(r.rotate)%180===90,a=o?r.naturalHeight:r.naturalWidth,i=o?r.naturalWidth:r.naturalHeight,s=a/i,l=e.width,d=e.height;e.height*s>e.width?n===3?l=e.height*s:d=e.width/s:n===3?d=e.width/s:l=e.height*s;var h={aspectRatio:s,naturalWidth:a,naturalHeight:i,width:l,height:d};this.canvasData=h,this.limited=n===1||n===2,this.limitCanvas(!0,!0),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),h.left=(e.width-h.width)/2,h.top=(e.height-h.height)/2,h.oldLeft=h.left,h.oldTop=h.top,this.initialCanvasData=Ir({},h)},limitCanvas:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,i=this.cropBoxData,s=n.viewMode,l=a.aspectRatio,d=this.cropped&&i;if(e){var h=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;s>1?(h=Math.max(h,o.width),u=Math.max(u,o.height),s===3&&(u*l>h?h=u*l:u=h/l)):s>0&&(h?h=Math.max(h,d?i.width:0):u?u=Math.max(u,d?i.height:0):d&&(h=i.width,u=i.height,u*l>h?h=u*l:u=h/l));var f=ks({aspectRatio:l,width:h,height:u});h=f.width,u=f.height,a.minWidth=h,a.minHeight=u,a.maxWidth=1/0,a.maxHeight=1/0}if(r)if(s>(d?0:1)){var g=o.width-a.width,y=o.height-a.height;a.minLeft=Math.min(0,g),a.minTop=Math.min(0,y),a.maxLeft=Math.max(0,g),a.maxTop=Math.max(0,y),d&&this.limited&&(a.minLeft=Math.min(i.left,i.left+(i.width-a.width)),a.minTop=Math.min(i.top,i.top+(i.height-a.height)),a.maxLeft=i.left,a.maxTop=i.top,s===2&&(a.width>=o.width&&(a.minLeft=Math.min(0,g),a.maxLeft=Math.max(0,g)),a.height>=o.height&&(a.minTop=Math.min(0,y),a.maxTop=Math.max(0,y))))}else a.minLeft=-a.width,a.minTop=-a.height,a.maxLeft=o.width,a.maxTop=o.height},renderCanvas:function(e,r){var n=this.canvasData,o=this.imageData;if(r){var a=V_t({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),i=a.width,s=a.height,l=n.width*(i/n.naturalWidth),d=n.height*(s/n.naturalHeight);n.left-=(l-n.width)/2,n.top-=(d-n.height)/2,n.width=l,n.height=d,n.aspectRatio=i/s,n.naturalWidth=i,n.naturalHeight=s,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.widthn.maxHeight||n.heightr.width?a.height=a.width/n:a.width=a.height*n),this.cropBoxData=a,this.limitCropBox(!0,!0),a.width=Math.min(Math.max(a.width,a.minWidth),a.maxWidth),a.height=Math.min(Math.max(a.height,a.minHeight),a.maxHeight),a.width=Math.max(a.minWidth,a.width*o),a.height=Math.max(a.minHeight,a.height*o),a.left=r.left+(r.width-a.width)/2,a.top=r.top+(r.height-a.height)/2,a.oldLeft=a.left,a.oldTop=a.top,this.initialCropBoxData=Ir({},a)},limitCropBox:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,i=this.cropBoxData,s=this.limited,l=n.aspectRatio;if(e){var d=Number(n.minCropBoxWidth)||0,h=Number(n.minCropBoxHeight)||0,u=s?Math.min(o.width,a.width,a.width+a.left,o.width-a.left):o.width,f=s?Math.min(o.height,a.height,a.height+a.top,o.height-a.top):o.height;d=Math.min(d,o.width),h=Math.min(h,o.height),l&&(d&&h?h*l>d?h=d/l:d=h*l:d?h=d/l:h&&(d=h*l),f*l>u?f=u/l:u=f*l),i.minWidth=Math.min(d,u),i.minHeight=Math.min(h,f),i.maxWidth=u,i.maxHeight=f}r&&(s?(i.minLeft=Math.max(0,a.left),i.minTop=Math.max(0,a.top),i.maxLeft=Math.min(o.width,a.left+a.width)-i.width,i.maxTop=Math.min(o.height,a.top+a.height)-i.height):(i.minLeft=0,i.minTop=0,i.maxLeft=o.width-i.width,i.maxTop=o.height-i.height))},renderCropBox:function(){var e=this.options,r=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.widthn.maxHeight||n.height=r.width&&n.height>=r.height?PV:TD),$s(this.cropBox,Ir({width:n.width,height:n.height},Rh({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),ou(this.element,P2,this.getData())}},e0t={initPreview:function(){var e=this.element,r=this.crossOrigin,n=this.options.preview,o=r?this.crossOriginUrl:this.url,a=e.alt||"The image to preview",i=document.createElement("img");if(r&&(i.crossOrigin=r),i.src=o,i.alt=a,this.viewBox.appendChild(i),this.viewBoxImage=i,!!n){var s=n;typeof n=="string"?s=e.ownerDocument.querySelectorAll(n):n.querySelector&&(s=[n]),this.previews=s,en(s,function(l){var d=document.createElement("img");hf(l,Lg,{width:l.offsetWidth,height:l.offsetHeight,html:l.innerHTML}),r&&(d.crossOrigin=r),d.src=o,d.alt=a,d.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',l.innerHTML="",l.appendChild(d)})}},resetPreview:function(){en(this.previews,function(e){var r=z2(e,Lg);$s(e,{width:r.width,height:r.height}),e.innerHTML=r.html,B_t(e,Lg)})},preview:function(){var e=this.imageData,r=this.canvasData,n=this.cropBoxData,o=n.width,a=n.height,i=e.width,s=e.height,l=n.left-r.left-e.left,d=n.top-r.top-e.top;!this.cropped||this.disabled||($s(this.viewBoxImage,Ir({width:i,height:s},Rh(Ir({translateX:-l,translateY:-d},e)))),en(this.previews,function(h){var u=z2(h,Lg),f=u.width,g=u.height,y=f,b=g,x=1;o&&(x=f/o,b=a*x),a&&b>g&&(x=g/a,y=o*x,b=g),$s(h,{width:y,height:b}),$s(h.getElementsByTagName("img")[0],Ir({width:i*x,height:s*x},Rh(Ir({translateX:-l*x,translateY:-d*x},e))))}))}},t0t={bind:function(){var e=this.element,r=this.options,n=this.cropper;eo(r.cropstart)&&Bo(e,j2,r.cropstart),eo(r.cropmove)&&Bo(e,R2,r.cropmove),eo(r.cropend)&&Bo(e,N2,r.cropend),eo(r.crop)&&Bo(e,P2,r.crop),eo(r.zoom)&&Bo(e,L2,r.zoom),Bo(n,Tz,this.onCropStart=this.cropStart.bind(this)),r.zoomable&&r.zoomOnWheel&&Bo(n,Mz,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&Bo(n,Ez,this.onDblclick=this.dblclick.bind(this)),Bo(e.ownerDocument,Oz,this.onCropMove=this.cropMove.bind(this)),Bo(e.ownerDocument,Dz,this.onCropEnd=this.cropEnd.bind(this)),r.responsive&&Bo(window,Iz,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,r=this.options,n=this.cropper;eo(r.cropstart)&&fa(e,j2,r.cropstart),eo(r.cropmove)&&fa(e,R2,r.cropmove),eo(r.cropend)&&fa(e,N2,r.cropend),eo(r.crop)&&fa(e,P2,r.crop),eo(r.zoom)&&fa(e,L2,r.zoom),fa(n,Tz,this.onCropStart),r.zoomable&&r.zoomOnWheel&&fa(n,Mz,this.onWheel,{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&fa(n,Ez,this.onDblclick),fa(e.ownerDocument,Oz,this.onCropMove),fa(e.ownerDocument,Dz,this.onCropEnd),r.responsive&&fa(window,Iz,this.onResize)}},r0t={resize:function(){if(!this.disabled){var e=this.options,r=this.container,n=this.containerData,o=r.offsetWidth/n.width,a=r.offsetHeight/n.height,i=Math.abs(o-1)>Math.abs(a-1)?o:a;if(i!==1){var s,l;e.restore&&(s=this.getCanvasData(),l=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(en(s,function(d,h){s[h]=d*i})),this.setCropBoxData(en(l,function(d,h){l[h]=d*i})))}}},dblclick:function(){this.disabled||this.options.dragMode===jV||this.setDragMode(z_t(this.dragBox,I2)?RV:OD)},wheel:function(e){var r=this,n=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){r.wheeling=!1},50),e.deltaY?o=e.deltaY>0?1:-1:e.wheelDelta?o=-e.wheelDelta/120:e.detail&&(o=e.detail>0?1:-1),this.zoom(-o*n,e)))},cropStart:function(e){var r=e.buttons,n=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(Nt(r)&&r!==1||Nt(n)&&n!==0||e.ctrlKey))){var o=this.options,a=this.pointers,i;e.changedTouches?en(e.changedTouches,function(s){a[s.identifier]=zg(s)}):a[e.pointerId||0]=zg(e),Object.keys(a).length>1&&o.zoomable&&o.zoomOnTouch?i=NV:i=z2(e.target,pf),O_t.test(i)&&ou(this.element,j2,{originalEvent:e,action:i})!==!1&&(e.preventDefault(),this.action=i,this.cropping=!1,i===MV&&(this.cropping=!0,dn(this.dragBox,Xv)))}},cropMove:function(e){var r=this.action;if(!(this.disabled||!r)){var n=this.pointers;e.preventDefault(),ou(this.element,R2,{originalEvent:e,action:r})!==!1&&(e.changedTouches?en(e.changedTouches,function(o){Ir(n[o.identifier]||{},zg(o,!0))}):Ir(n[e.pointerId||0]||{},zg(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var r=this.action,n=this.pointers;e.changedTouches?en(e.changedTouches,function(o){delete n[o.identifier]}):delete n[e.pointerId||0],r&&(e.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,Xd(this.dragBox,Xv,this.cropped&&this.options.modal)),ou(this.element,N2,{originalEvent:e,action:r}))}}},n0t={change:function(e){var r=this.options,n=this.canvasData,o=this.containerData,a=this.cropBoxData,i=this.pointers,s=this.action,l=r.aspectRatio,d=a.left,h=a.top,u=a.width,f=a.height,g=d+u,y=h+f,b=0,x=0,S=o.width,T=o.height,E=!0,$;!l&&e.shiftKey&&(l=u&&f?u/f:1),this.limited&&(b=a.minLeft,x=a.minTop,S=b+Math.min(o.width,n.width,n.left+n.width),T=x+Math.min(o.height,n.height,n.top+n.height));var k=i[Object.keys(i)[0]],O={x:k.endX-k.startX,y:k.endY-k.startY},M=function(j){switch(j){case dl:g+O.x>S&&(O.x=S-g);break;case ul:d+O.xT&&(O.y=T-y);break}};switch(s){case TD:d+=O.x,h+=O.y;break;case dl:if(O.x>=0&&(g>=S||l&&(h<=x||y>=T))){E=!1;break}M(dl),u+=O.x,u<0&&(s=ul,u=-u,d-=u),l&&(f=u/l,h+=(a.height-f)/2);break;case hs:if(O.y<=0&&(h<=x||l&&(d<=b||g>=S))){E=!1;break}M(hs),f-=O.y,h+=O.y,f<0&&(s=Yc,f=-f,h-=f),l&&(u=f*l,d+=(a.width-u)/2);break;case ul:if(O.x<=0&&(d<=b||l&&(h<=x||y>=T))){E=!1;break}M(ul),u-=O.x,d+=O.x,u<0&&(s=dl,u=-u,d-=u),l&&(f=u/l,h+=(a.height-f)/2);break;case Yc:if(O.y>=0&&(y>=T||l&&(d<=b||g>=S))){E=!1;break}M(Yc),f+=O.y,f<0&&(s=hs,f=-f,h-=f),l&&(u=f*l,d+=(a.width-u)/2);break;case Up:if(l){if(O.y<=0&&(h<=x||g>=S)){E=!1;break}M(hs),f-=O.y,h+=O.y,u=f*l}else M(hs),M(dl),O.x>=0?gx&&(f-=O.y,h+=O.y):(f-=O.y,h+=O.y);u<0&&f<0?(s=Gp,f=-f,u=-u,h-=f,d-=u):u<0?(s=Vp,u=-u,d-=u):f<0&&(s=qp,f=-f,h-=f);break;case Vp:if(l){if(O.y<=0&&(h<=x||d<=b)){E=!1;break}M(hs),f-=O.y,h+=O.y,u=f*l,d+=a.width-u}else M(hs),M(ul),O.x<=0?d>b?(u-=O.x,d+=O.x):O.y<=0&&h<=x&&(E=!1):(u-=O.x,d+=O.x),O.y<=0?h>x&&(f-=O.y,h+=O.y):(f-=O.y,h+=O.y);u<0&&f<0?(s=qp,f=-f,u=-u,h-=f,d-=u):u<0?(s=Up,u=-u,d-=u):f<0&&(s=Gp,f=-f,h-=f);break;case Gp:if(l){if(O.x<=0&&(d<=b||y>=T)){E=!1;break}M(ul),u-=O.x,d+=O.x,f=u/l}else M(Yc),M(ul),O.x<=0?d>b?(u-=O.x,d+=O.x):O.y>=0&&y>=T&&(E=!1):(u-=O.x,d+=O.x),O.y>=0?y=0&&(g>=S||y>=T)){E=!1;break}M(dl),u+=O.x,f=u/l}else M(Yc),M(dl),O.x>=0?g=0&&y>=T&&(E=!1):u+=O.x,O.y>=0?y0?s=O.y>0?qp:Up:O.x<0&&(d-=u,s=O.y>0?Gp:Vp),O.y<0&&(h-=f),this.cropped||(ti(this.cropBox,to),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}E&&(a.width=u,a.height=f,a.left=d,a.top=h,this.action=s,this.renderCropBox()),en(i,function(R){R.startX=R.endX,R.startY=R.endY})}},o0t={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&dn(this.dragBox,Xv),ti(this.cropBox,to),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=Ir({},this.initialImageData),this.canvasData=Ir({},this.initialCanvasData),this.cropBoxData=Ir({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(Ir(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ti(this.dragBox,Xv),dn(this.cropBox,to)),this},replace:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),r?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,en(this.previews,function(n){n.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ti(this.cropper,$z)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,dn(this.cropper,$z)),this},destroy:function(){var e=this.element;return e[kr]?(e[kr]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,o=n.left,a=n.top;return this.moveTo(TS(e)?e:o+Number(e),TS(r)?r:a+Number(r))},moveTo:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,o=!1;return e=Number(e),r=Number(r),this.ready&&!this.disabled&&this.options.movable&&(Nt(e)&&(n.left=e,o=!0),Nt(r)&&(n.top=r,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(e,r){var n=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(n.width*e/n.naturalWidth,null,r)},zoomTo:function(e,r,n){var o=this.options,a=this.canvasData,i=a.width,s=a.height,l=a.naturalWidth,d=a.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&o.zoomable){var h=l*e,u=d*e;if(ou(this.element,L2,{ratio:e,oldRatio:i/l,originalEvent:n})===!1)return this;if(n){var f=this.pointers,g=HV(this.cropper),y=f&&Object.keys(f).length?U_t(f):{pageX:n.pageX,pageY:n.pageY};a.left-=(h-i)*((y.pageX-g.left-a.left)/i),a.top-=(u-s)*((y.pageY-g.top-a.top)/s)}else Gd(r)&&Nt(r.x)&&Nt(r.y)?(a.left-=(h-i)*((r.x-a.left)/i),a.top-=(u-s)*((r.y-a.top)/s)):(a.left-=(h-i)/2,a.top-=(u-s)/2);a.width=h,a.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),Nt(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var r=this.imageData.scaleY;return this.scale(e,Nt(r)?r:1)},scaleY:function(e){var r=this.imageData.scaleX;return this.scale(Nt(r)?r:1,e)},scale:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.imageData,o=!1;return e=Number(e),r=Number(r),this.ready&&!this.disabled&&this.options.scalable&&(Nt(e)&&(n.scaleX=e,o=!0),Nt(r)&&(n.scaleY=r,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.options,n=this.imageData,o=this.canvasData,a=this.cropBoxData,i;if(this.ready&&this.cropped){i={x:a.left-o.left,y:a.top-o.top,width:a.width,height:a.height};var s=n.width/n.naturalWidth;if(en(i,function(h,u){i[u]=h/s}),e){var l=Math.round(i.y+i.height),d=Math.round(i.x+i.width);i.x=Math.round(i.x),i.y=Math.round(i.y),i.width=d-i.x,i.height=l-i.y}}else i={x:0,y:0,width:0,height:0};return r.rotatable&&(i.rotate=n.rotate||0),r.scalable&&(i.scaleX=n.scaleX||1,i.scaleY=n.scaleY||1),i},setData:function(e){var r=this.options,n=this.imageData,o=this.canvasData,a={};if(this.ready&&!this.disabled&&Gd(e)){var i=!1;r.rotatable&&Nt(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,i=!0),r.scalable&&(Nt(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,i=!0),Nt(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,i=!0)),i&&this.renderCanvas(!0,!0);var s=n.width/n.naturalWidth;Nt(e.x)&&(a.left=e.x*s+o.left),Nt(e.y)&&(a.top=e.y*s+o.top),Nt(e.width)&&(a.width=e.width*s),Nt(e.height)&&(a.height=e.height*s),this.setCropBoxData(a)}return this},getContainerData:function(){return this.ready?Ir({},this.containerData):{}},getImageData:function(){return this.sized?Ir({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,r={};return this.ready&&en(["left","top","width","height","naturalWidth","naturalHeight"],function(n){r[n]=e[n]}),r},setCanvasData:function(e){var r=this.canvasData,n=r.aspectRatio;return this.ready&&!this.disabled&&Gd(e)&&(Nt(e.left)&&(r.left=e.left),Nt(e.top)&&(r.top=e.top),Nt(e.width)?(r.width=e.width,r.height=e.width/n):Nt(e.height)&&(r.height=e.height,r.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,r;return this.ready&&this.cropped&&(r={left:e.left,top:e.top,width:e.width,height:e.height}),r||{}},setCropBoxData:function(e){var r=this.cropBoxData,n=this.options.aspectRatio,o,a;return this.ready&&this.cropped&&!this.disabled&&Gd(e)&&(Nt(e.left)&&(r.left=e.left),Nt(e.top)&&(r.top=e.top),Nt(e.width)&&e.width!==r.width&&(o=!0,r.width=e.width),Nt(e.height)&&e.height!==r.height&&(a=!0,r.height=e.height),n&&(o?r.height=r.width/n:a&&(r.width=r.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var r=this.canvasData,n=q_t(this.image,this.imageData,r,e);if(!this.cropped)return n;var o=this.getData(e.rounded),a=o.x,i=o.y,s=o.width,l=o.height,d=n.width/Math.floor(r.naturalWidth);d!==1&&(a*=d,i*=d,s*=d,l*=d);var h=s/l,u=ks({aspectRatio:h,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),f=ks({aspectRatio:h,width:e.minWidth||0,height:e.minHeight||0},"cover"),g=ks({aspectRatio:h,width:e.width||(d!==1?n.width:s),height:e.height||(d!==1?n.height:l)}),y=g.width,b=g.height;y=Math.min(u.width,Math.max(f.width,y)),b=Math.min(u.height,Math.max(f.height,b));var x=document.createElement("canvas"),S=x.getContext("2d");x.width=nu(y),x.height=nu(b),S.fillStyle=e.fillColor||"transparent",S.fillRect(0,0,y,b);var T=e.imageSmoothingEnabled,E=T===void 0?!0:T,$=e.imageSmoothingQuality;S.imageSmoothingEnabled=E,$&&(S.imageSmoothingQuality=$);var k=n.width,O=n.height,M=a,R=i,j,I,z,W,L,F;M<=-s||M>k?(M=0,j=0,z=0,L=0):M<=0?(z=-M,M=0,j=Math.min(k,s+M),L=j):M<=k&&(z=0,j=Math.min(s,k-M),L=j),j<=0||R<=-l||R>O?(R=0,I=0,W=0,F=0):R<=0?(W=-R,R=0,I=Math.min(O,l+R),F=I):R<=O&&(W=0,I=Math.min(l,O-R),F=I);var H=[M,R,j,I];if(L>0&&F>0){var q=y/s;H.push(z*q,W*q,L*q,F*q)}return S.drawImage.apply(S,[n].concat(IV(H.map(function(ee){return Math.floor(nu(ee))})))),x},setAspectRatio:function(e){var r=this.options;return!this.disabled&&!TS(e)&&(r.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var r=this.options,n=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var a=e===OD,i=r.movable&&e===RV;e=a||i?e:jV,r.dragMode=e,hf(n,pf,e),Xd(n,I2,a),Xd(n,M2,i),r.cropBoxMovable||(hf(o,pf,e),Xd(o,I2,a),Xd(o,M2,i))}return this}},a0t=oi.Cropper,VV=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(y_t(this,t),!e||!I_t.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=Ir({},Nz,Gd(r)&&r),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return __t(t,[{key:"init",value:function(){var r=this.element,n=r.tagName.toLowerCase(),o;if(!r[kr]){if(r[kr]=this,n==="img"){if(this.isImg=!0,o=r.getAttribute("src")||"",this.originalUrl=o,!o)return;o=r.src}else n==="canvas"&&window.HTMLCanvasElement&&(o=r.toDataURL());this.load(o)}}},{key:"load",value:function(r){var n=this;if(r){this.url=r,this.imageData={};var o=this.element,a=this.options;if(!a.rotatable&&!a.scalable&&(a.checkOrientation=!1),!a.checkOrientation||!window.ArrayBuffer){this.clone();return}if(D_t.test(r)){A_t.test(r)?this.read(J_t(r)):this.clone();return}var i=new XMLHttpRequest,s=this.clone.bind(this);this.reloading=!0,this.xhr=i,i.onabort=s,i.onerror=s,i.ontimeout=s,i.onprogress=function(){i.getResponseHeader("content-type")!==Pz&&i.abort()},i.onload=function(){n.read(i.response)},i.onloadend=function(){n.reloading=!1,n.xhr=null},a.checkCrossOrigin&&jz(r)&&o.crossOrigin&&(r=Lz(r)),i.open("GET",r,!0),i.responseType="arraybuffer",i.withCredentials=o.crossOrigin==="use-credentials",i.send()}}},{key:"read",value:function(r){var n=this.options,o=this.imageData,a=K_t(r),i=0,s=1,l=1;if(a>1){this.url=Y_t(r,Pz);var d=Z_t(a);i=d.rotate,s=d.scaleX,l=d.scaleY}n.rotatable&&(o.rotate=i),n.scalable&&(o.scaleX=s,o.scaleY=l),this.clone()}},{key:"clone",value:function(){var r=this.element,n=this.url,o=r.crossOrigin,a=n;this.options.checkCrossOrigin&&jz(n)&&(o||(o="anonymous"),a=Lz(n)),this.crossOrigin=o,this.crossOriginUrl=a;var i=document.createElement("img");o&&(i.crossOrigin=o),i.src=a||n,i.alt=r.alt||"The image to crop",this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),dn(i,kz),r.parentNode.insertBefore(i,r.nextSibling)}},{key:"start",value:function(){var r=this,n=this.image;n.onload=null,n.onerror=null,this.sizing=!0;var o=oi.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(oi.navigator.userAgent),a=function(d,h){Ir(r.imageData,{naturalWidth:d,naturalHeight:h,aspectRatio:d/h}),r.initialImageData=Ir({},r.imageData),r.sizing=!1,r.sized=!0,r.build()};if(n.naturalWidth&&!o){a(n.naturalWidth,n.naturalHeight);return}var i=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){a(i.width,i.height),o||s.removeChild(i)},i.src=n.src,o||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",s.appendChild(i))}},{key:"stop",value:function(){var r=this.image;r.onload=null,r.onerror=null,r.parentNode.removeChild(r),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var r=this.element,n=this.options,o=this.image,a=r.parentNode,i=document.createElement("div");i.innerHTML=M_t;var s=i.querySelector(".".concat(kr,"-container")),l=s.querySelector(".".concat(kr,"-canvas")),d=s.querySelector(".".concat(kr,"-drag-box")),h=s.querySelector(".".concat(kr,"-crop-box")),u=h.querySelector(".".concat(kr,"-face"));this.container=a,this.cropper=s,this.canvas=l,this.dragBox=d,this.cropBox=h,this.viewBox=s.querySelector(".".concat(kr,"-view-box")),this.face=u,l.appendChild(o),dn(r,to),a.insertBefore(s,r.nextSibling),ti(o,kz),this.initPreview(),this.bind(),n.initialAspectRatio=Math.max(0,n.initialAspectRatio)||NaN,n.aspectRatio=Math.max(0,n.aspectRatio)||NaN,n.viewMode=Math.max(0,Math.min(3,Math.round(n.viewMode)))||0,dn(h,to),n.guides||dn(h.getElementsByClassName("".concat(kr,"-dashed")),to),n.center||dn(h.getElementsByClassName("".concat(kr,"-center")),to),n.background&&dn(s,"".concat(kr,"-bg")),n.highlight||dn(u,$_t),n.cropBoxMovable&&(dn(u,M2),hf(u,pf,TD)),n.cropBoxResizable||(dn(h.getElementsByClassName("".concat(kr,"-line")),to),dn(h.getElementsByClassName("".concat(kr,"-point")),to)),this.render(),this.ready=!0,this.setDragMode(n.dragMode),n.autoCrop&&this.crop(),this.setData(n.data),eo(n.ready)&&Bo(r,Az,n.ready,{once:!0}),ou(r,Az)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var r=this.cropper.parentNode;r&&r.removeChild(this.cropper),ti(this.element,to)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=a0t,t}},{key:"setDefaults",value:function(r){Ir(Nz,Gd(r)&&r)}}])}();Ir(VV.prototype,Q_t,e0t,t0t,r0t,n0t,o0t);var vl=function(){return vl=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0&&R.zoomTo(ee)}(M.currentTarget.cropper,E),x&&x(M)}}));S&&S(O)}return function(){var M,R;(R=(M=$.current)===null||M===void 0?void 0:M.cropper)===null||R===void 0||R.destroy()}},[$]);var k=function(O){return i0t.reduce(function(M,R){var j=M,I=R;return j[I],DS(j,[typeof I=="symbol"?I:I+""])},O)}(vl(vl({},T),{crossOrigin:l,src:a,alt:b}));return m.createElement("div",{style:i,className:s},m.createElement("img",vl({},k,{style:s0t,ref:$})))});const fs={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},l0t={once:"once",interval:"interval",intervalBetween:"intervalBetween",specific:"specific"},Tn={seconds:"seconds",minutes:"minutes"},zz=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function Xa(t){return t<10?`0${t}`:`${t}`}const c0t={mode:"interval",interval:{period:1,unit:Tn.minutes}};function av(t){if(t==="*")return[0,1,2,3,4,5,6];const e=t.split(","),r=[];return e.forEach(n=>{const o=n.split("-");if(o.length===2){const a=parseInt(o[0],10),i=parseInt(o[1],10);for(let s=a;s<=i;s++)r.includes(s===7?0:s)||r.push(s===7?0:s)}else{n==="7"&&(n="0");const a=parseInt(n,10);r.includes(a)||r.push(a)}}),r.sort(),r}function qV(t,e){t=t.replace(/['"]/g,"").trim();const r=t.split(" ");let n,o=null;return r.length===6?n={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",date:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:n={seconds:null,minutes:r[0]||"*",hours:r[1]||"*",date:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},n.seconds===null&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)&&(o={mode:"interval",interval:{period:1,unit:Tn.minutes}}),n.seconds==="*"&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:1,unit:Tn.seconds}}:n.seconds===null&&n.minutes.includes("/")&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(n.minutes.split("/")[1],10),unit:Tn.minutes}}:n.seconds!==null&&n.seconds.includes("/")&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(n.seconds.split("/")[1],10),unit:Tn.seconds}}:n.seconds!==null&&n.seconds.includes("/")&&n.minutes==="*"&&n.hours.includes("-")&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(n.seconds.split("/")[1],10),unit:Tn.seconds,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:av(n.dow)}}:n.seconds===null&&n.minutes.includes("/")&&n.hours.includes("-")&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(n.minutes.split("/")[1],10),unit:Tn.minutes,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:av(n.dow)}}:n.seconds===null&&parseInt(n.minutes,10).toString()===n.minutes&&parseInt(n.hours,10).toString()===n.hours&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"specific",specific:{time:`${Xa(parseInt(n.hours,10))}:${Xa(parseInt(n.minutes,10))}`,weekdays:av(n.dow)}}:n.seconds===null&&parseInt(n.minutes,10).toString()===n.minutes&&parseInt(n.hours,10).toString()===n.hours&&parseInt(n.date,10).toString()===n.date&&parseInt(n.months,10).toString()===n.months&&(n.dow==="*"||e)&&(o={mode:"once",once:{time:`${Xa(parseInt(n.hours,10))}:${Xa(parseInt(n.minutes,10))}`,date:`${Xa(parseInt(n.date,10))}.${Xa(parseInt(n.months,10))}`}}),o}class ff extends m.Component{constructor(e){super(e);let r=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";r[0]==="{"&&(r="");const n=qV(r||"* * * * *",!0)||c0t;this.state={extended:!1,cron:ff.state2cron(n),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Tn.minutes},intervalBetween:{period:1,unit:Tn.minutes,timeFrom:0,timeTo:23,weekdays:[0,1,2,3,4,5,6]},specific:{time:"00:00",weekdays:[0,1,2,3,4,5,6]}},Object.assign(this.state,n),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,r=7){if(r=r||7,e.length===r)return"*";const n=[];let o=null,a=null;if(!e.length)return"_";for(let i=0;i60&&(n.period=60),n.period!==void 0&&n.period<1&&(n.period=1),n.minutes!==void 0&&n.minutes!==null&&n.minutes>60&&(n.minutes=60),n.minutes!==void 0&&n.minutes!==null&&n.minutes<1&&(n.minutes=1),n.hours!==void 0&&n.hours!==null&&n.hours>24&&(n.hours=24),n.hours!==void 0&&n.hours!==null&&n.hours<1&&(n.hours=1),e.extended)r=`${n.minutes!==void 0&&n.minutes!==null&&n.minutes>1?`*/${n.minutes}`:"*"} ${n.hours!==void 0&&n.hours!==null&&n.hours>1?`*/${n.hours}`:"*"} * * *`;else switch(n.unit){case Tn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * * * * *`;break;case Tn.minutes:r=`${n.period>1?`*/${n.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const n=e.intervalBetween||{period:1,unit:Tn.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let o;switch(n.timeFrom=n.timeFrom||0,n.timeTo=n.timeTo===void 0?24:n.timeTo,n.timeFrom!==0&&n.timeTo===24&&(n.timeTo=23),n.timeFrom===0&&n.timeTo===24?o="*":o=n.timeFrom!==n.timeTo?`${n.timeFrom}-${n.timeTo}`:"*",n.period>60&&(n.period=60),n.period<1&&(n.period=1),n.unit=n.unit||Tn.minutes,n.unit){case Tn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * ${o} * * ${this.periodArray2text(n.weekdays)}`;break;case Tn.minutes:r=`${n.period>1?`*/${n.period}`:"*"} ${o} * * ${this.periodArray2text(n.weekdays)}`;break}}else if(e.mode==="specific"){const n=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},o=(n.time||"00:00").split(":");let a=parseInt(o[1],10)||0;a>59&&(a=59),a<0&&(a=0);let i=parseInt(o[0],10)||0;i>23&&(i=59),i<0&&(i=0),r=`${a} ${i} * * ${this.periodArray2text(n.weekdays||[])}`}else if(e.mode==="once"){const n=e.once||{time:"00:00",date:""};n.date||(n.date=`${new Date().getDate()}.${Xa(new Date().getMonth()+1)}`);const o=(n.time||"00:00").split(":"),a=n.date.split(".");let i=parseInt(o[1],10)||0;i>59&&(i=59),i<0&&(i=0);let s=parseInt(o[0],10)||0;s>23&&(s=59),s<0&&(s=0);let l=parseInt(a[0],10)||1;l>31&&(l=31),l<1&&(s=1);let d=parseInt(a[1],10)||1;d>12&&(d=12),d<1&&(d=1),r=`${i} ${s} ${l} ${d} *`}return r}recalcCron(){this.onChange(ff.state2cron(this.state))}getControlsWeekdaysElements(e){const r=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return m.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},m.createElement("h5",null,P.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(n=>m.createElement(St,{key:zz[n],control:m.createElement(yr,{checked:r.weekdays.includes(n),onChange:o=>{const a=JSON.parse(JSON.stringify(this.state[e])),i=a.weekdays.indexOf(n);o.target.checked?i===-1&&a.weekdays.push(n):i!==-1&&a.weekdays.splice(i,1),a.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:a},()=>this.recalcCron()):this.setState({specific:a},()=>this.recalcCron())},value:n.toString()}),label:P.t(zz[n])})))}getControlsPeriodElements(e){const r=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?m.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},m.createElement("h5",{style:{marginBottom:5}},P.t("sc_period")),m.createElement(Ht,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:P.t("sc_minutes"),value:r.minutes,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.minutes=parseInt(n.target.value,10),o.minutes<1&&(o.minutes=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),m.createElement(Ht,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:P.t("sc_hours"),value:r.hours,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.hours=parseInt(n.target.value,10),o.hours<1&&(o.hours=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):m.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},m.createElement("h5",{style:{marginBottom:5}},P.t("sc_period")),m.createElement(Ht,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:P.t("sc_every"),value:r.period,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.period=parseInt(n.target.value,10),o.period<1&&(o.period=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),m.createElement(Bn,{variant:"standard",style:{verticalAlign:"bottom"},value:r.unit,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.unit=n.target.value,e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())}},m.createElement(Jt,{value:"seconds"},P.t("sc_seconds")),")",m.createElement(Jt,{value:"minutes"},P.t("sc_minutes")),")"))}getControlsTime(e){const r=e==="once"?this.state.once:this.state.specific;return m.createElement(_a,{variant:"standard",sx:{...fs.formControl,"&.MuiFormControl-root":fs.formControlMarginRight}},m.createElement(Ht,{variant:"standard",key:"at",label:P.t("sc_time"),value:r.time,type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.time=n.target.value,e==="once"?this.setState({once:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const r=new Date;e.date=`${r.getDate()}.${Xa(r.getMonth()+1)}`}return m.createElement(_a,{variant:"standard",style:fs.formControl},m.createElement(Ht,{variant:"standard",key:"date",label:P.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:fs.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.once));n.date=r.target.value,this.setState({once:n},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return m.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),m.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},m.createElement("h5",{style:{marginBottom:5}},P.t("sc_hours")),m.createElement(_a,{variant:"standard",style:fs.formControl},m.createElement($l,{shrink:!0,htmlFor:"age-label-placeholder"},P.t("sc_from")),m.createElement(Bn,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.intervalBetween));n.timeFrom=parseInt(r.target.value,10),n.timeTo===24&&(n.timeTo=23),this.setState({intervalBetween:n},()=>this.recalcCron())}},[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>m.createElement(Jt,{key:`B_${r}`,value:r},`${Xa(r)}:00`)))),m.createElement(_a,{variant:"standard",style:fs.formControl},m.createElement($l,{shrink:!0,htmlFor:"age-label-placeholder"},P.t("sc_to")),m.createElement(Bn,{variant:"standard",style:{width:100},value:e.timeTo,onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.intervalBetween));n.timeTo=parseInt(r.target.value,10),this.setState({intervalBetween:n},()=>this.recalcCron())}},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>m.createElement(Jt,{key:`A_${r}`,value:r},`${Xa(r)}:00`)),!e.timeFrom&&m.createElement(Jt,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[m.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return m.createElement("div",{style:fs.mainDiv},m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},m.createElement(Ht,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?P.t("sc_invalid_cron"):tV(this.state.cron,this.props.language||"en")),m.createElement("div",null,m.createElement(_a,{variant:"standard",style:{...fs.formControl,marginLeft:8,marginTop:8}},m.createElement($l,null,P.t("ra_Repeat")),m.createElement(Bn,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},m.createElement(Jt,{value:"once"},P.t("sc_once")),m.createElement(Jt,{value:"interval"},P.t("sc_interval")),m.createElement(Jt,{value:"intervalBetween"},P.t("sc_intervalBetween")),m.createElement(Jt,{value:"specific"},P.t("sc_specific"))))),this.state.mode===l0t.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const d0t={headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"}};class Onr extends m.Component{constructor(e){super(e);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:r}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const r=Cs.cron2state(this.state.cron);if(r.seconds==="*"||r.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(r.minutes==="*"||r.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?m.createElement(PO,{title:P.t("ra_Please confirm"),text:P.t(this.state.showWarning==="everySecond"?"ra_The schedule will be executed every second. Are you sure?":"ra_The schedule will be executed every minute. Are you sure?"),onClose:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return m.createElement(or,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":d0t.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),m.createElement(_r,{id:"cron-dialog-title"},this.props.title||P.t("ra_Define schedule...")),m.createElement(Wr,{style:{height:"100%",overflow:"hidden"}},m.createElement(Cs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()})),m.createElement(pr,null,!!this.props.clearButton&&m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:m.createElement(Ta,null)},this.props.clear||P.t("ra_Clear")),m.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const u0t={dialogPaper:{height:"calc(100% - 96px)"}};class Dnr extends m.Component{constructor(e){super(e);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof r=="object"||r[0]==="{")&&!this.props.noWizard?"wizard":qV(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return m.createElement(or,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":u0t.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},m.createElement(_r,{id:"cron-dialog-title"},this.props.title||P.t("ra_Define schedule...")),m.createElement(Wr,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?m.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&m.createElement(m.Fragment,null,m.createElement(ur,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),m.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},P.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&m.createElement(m.Fragment,null,m.createElement(ur,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),m.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},P.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&m.createElement(m.Fragment,null,m.createElement(ur,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),m.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},P.t("sc_cron")))):null,this.state.mode==="simple"&&m.createElement(ff,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()}),this.state.mode==="wizard"&&m.createElement(gn,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&m.createElement(Cs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const pl={headerID:{fontWeight:"bold",fontStyle:"italic"},dialog:{height:"95%"},dialogMobile:{padding:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)",height:"100%"},content:{height:"100%",overflow:"hidden"},contentMobile:{padding:"8px 4px"},titleRoot:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}};class Anr extends m.Component{constructor(r){super(r);X(this,"dialogName");X(this,"filters");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const n=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(n)}catch{this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters});let o=this.props.selected||[];typeof o!="object"?o=[o]:o=[...o],o=o.filter(a=>a),this.state={selected:o}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||""),this.props.onClose()}render(){let r;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:pl.headerID},this.state.selected)]:r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:pl.headerID},P.t("%s items",this.state.selected.length))]:r=this.props.title||P.t("ra_Please select file..."),m.createElement(or,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...pl.dialog,...pl.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},m.createElement(_r,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":pl.titleRoot}},r),m.createElement(Wr,{style:{...pl.content,...pl.contentMobile}},m.createElement(Kyt,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||"../",allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(n,o,a)=>{this.setState({selected:Array.isArray(n)?n:[n]},()=>o&&(!this.props.selectOnlyFolders||a)&&this.handleOk())},t:this.props.t||P.t,lang:this.props.lang||P.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),startIcon:m.createElement(Ea,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const p0t={dialogPaper:{height:"calc(100% - 96px)"}};class Inr extends m.Component{constructor(e){super(e);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return m.createElement(or,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":p0t.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},m.createElement(_r,{id:"cron-dialog-title"},this.props.title||P.t("ra_Define CRON...")),m.createElement(Wr,{style:{height:"100%",overflow:"hidden"}},m.createElement(ff,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const h0t="Acknowledged",f0t="Add",m0t="Aggregate",g0t="Type",v0t="All",y0t="Appearance",_0t="Apply",b0t="Auto",w0t="Axis",x0t="Backgrounds",S0t="Bar",C0t="Border",$0t="Cancel",k0t="Circle",E0t="Close",T0t="Collapse",O0t="Color",D0t="Copy",A0t="Counts",I0t="Create",M0t="Data",P0t="Default",N0t="Delete",R0t="Dialog",j0t="Edit",L0t="End",z0t="Expand",F0t="Fill",B0t="Folder",W0t="From: ",H0t="Functions",U0t="Grid",V0t="Height",q0t="ID",G0t="IDs",X0t="Individual",J0t="Instance",Y0t="Intervals",K0t="Label",Z0t="Labels",Q0t="Left",ebt="Legend",tbt="Limits",rbt="Line",nbt="Link",obt="Main",abt="Marking",ibt="Markings",sbt="Max",lbt="Members",cbt="Min",dbt="MinMax",ubt="more",pbt="Multiple",hbt="Name",fbt="None",mbt="X-Offset",gbt="Ok",vbt="Open",ybt="Options",_bt="Orientation",bbt="Others",wbt="Paste",xbt="Percentile",Sbt="Pie",Cbt="Points",$bt="Polar chart (Radar)",kbt="Polygonal",Ebt="Presets",Tbt="Processing",Obt="Range",Dbt="Relative",Abt="Rename",Ibt="Right",Mbt="Role",Pbt="Room",Nbt="Rooms",Rbt="Root",jbt="Seconds",Lbt="Select",zbt="Smoothing",Fbt="Source",Bbt="Spline",Wbt="Stack",Hbt="Steps",Ubt="Style",Vbt="Text",qbt="Texts",Gbt="Theme",Xbt="Time",Jbt="Title",Ybt="Type",Kbt="Unit",Zbt="Update",Qbt="Value",e1t="Width",t1t="With",r1t="Without",n1t="Area",o1t="auto",a1t="average",i1t="Bar",s1t="bottom",l1t="bottom colored",c1t='Enter the formula like "val / 1000 + 3". This formula will be applied to all values of the selected datapoint.',d1t="copied",u1t="copy",p1t="count",h1t="counts",f1t="Current value",m1t="dashed",g1t="day",v1t="difference",y1t="dotted",_1t="Day of week",b1t="edit",w1t="horizontal",x1t="15 minutes",S1t="1 day",C1t="1 hour",$1t="30 days",k1t="integral",E1t="left",T1t="left colored",O1t="Line",D1t="linear",A1t="Line plot",I1t="load",M1t="max",P1t="middle",N1t="min",R1t="minmax",j1t="month",L1t="no",z1t="none",F1t="none",B1t="now",W1t="off",H1t="on change",U1t="percentile",V1t="Polar chart",q1t="raw",G1t="relative",X1t="reload",J1t="right",Y1t="right colored",K1t="role",Z1t="save",Q1t="Scatter plot",ewt="seconds",twt="solid",rwt="Spline",nwt="standard",owt="Steps",awt="to",iwt="today",swt="top",lwt="top colored",cwt="total",dwt="vertical",uwt="end of day",pwt="end of sunday",hwt="year",fwt="yes",mwt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s ago","ØL":"ØL","ØS":"ØS","0 seconds":"0 seconds","0s":"0 seconds","1 day":"1 day","1 hour":"1 hour","1 minute":"1 minute","1 month":"1 month","1 week":"1 week","1 year":"1 year","10 minutes":"10 minutes","10 seconds":"10 seconds","10m":"10 minutes","10minutes":"end of 10 minutes","10s":"10 seconds","12 hours":"12 hours","12H":"12 hours","12W":"12 weeks","12hours":"end of 12 hours","14 days":"14 days","15 minutes":"15 minutes","15 seconds":"15 seconds","15m":"15 minutes","1D":"1 day","1H":"1 hour","1M":"1 month","1W":"1 week","1Y":"1 year","1hour":"end of hour","1minute":"end of minute","1s":"1 second","2 days":"2 days","2 hours":"2 hours","2 minutes":"2 minutes","2 months":"2 months","2 weeks":"2 weeks","2 years":"2 years","20 minutes":"20 minutes","20 seconds":"20 seconds","26W":"26 weeks","2D":"2 days","2H":"2 hours","2M":"2 months","2W":"2 weeks","2Y":"2 years","2hours":"end of 2 hours","2m":"2 minutes","2s":"2 seconds","3 days":"3 days","3 hours":"3 hours","3 minutes":"3 minutes","3 months":"3 months","30 minutes":"30 minutes","30 seconds":"30 seconds","300ms":"300ms","30m":"30 minutes","30minutes":"end of 30 minutes","30s":"30 seconds","3D":"3 days","3M":"3 months","3hours":"end of 3 hours","3m":"3 minutes","3s":"3 seconds","4 days":"4 days","4 minutes":"4 minutes","45 minutes":"45 minutes","45m":"45 minutes","4D":"4 days","4W":"4 weeks","4hours":"end of 4 hours","4m":"4 minutes","5 minutes":"5 minutes","5 seconds":"5 seconds","500ms":"500ms","5m":"5 minutes","5minutes":"end of 5 minutes","5s":"5 seconds","6 hours":"6 hours","6 months":"6 months","60 seconds":"60 seconds","60s":"60 seconds","6H":"6 hours","6M":"6 months","6hours":"end of 6 hours","7 days":"7 days","8W":"8 weeks","8hours":"end of 8 hours","90 seconds":"90 seconds",Acknowledged:h0t,Add:f0t,"Add line to chart":"Add line to chart","Add marking line to chart":"Add marking line to chart","Add new line":"Add new line","Add new markings":"Add new markings","Add new state name":"Add new state name","Add new value":"Add new value","After comma":"After comma",Aggregate:m0t,"Aggregate for lines":"Aggregation for lines",Aggregation:g0t,"Aggregation:":"Type:",All:v0t,"Animation:":"Animation:",Appearance:y0t,Apply:_0t,"Are you sure for closing folder and discard unsaved changes?":"Are you sure for closing folder and discard unsaved changes?","Are you sure for delete this line?":"Are you sure for delete this line?","Are you sure for delete this mark?":"Are you sure for delete this mark?","Are you sure for delete this preset?":"Are you sure for delete this preset?","Are you sure for loading the chart and discard unsaved changes?":"Are you sure for loading the chart and discard unsaved changes?","Are you sure for loading the preset and discard unsaved changes?":"Are you sure for loading the preset and discard unsaved changes?","Arrange bools":"Arrange booleans",Auto:b0t,"Auto (Line or Steps)":"Auto (Line or Steps)","Auto padding":"Auto-padding","Auto save":"Auto save","Auto-refresh":"Auto-refresh","Auto-update:":"Auto-update:",Axis:w0t,"Background of radar chart":"Background of radar chart","Background:":"Background:",Backgrounds:x0t,Bar:S0t,"Bar settings":"Bar settings","Bars width:":"Bars width:",Border:C0t,"Border color:":"Border color:","Border padding":"Border padding","Border width":"Border width","Border width:":"Border width:","Bottom, center, inside":"Bottom, center, inside","Bottom, center, outside":"Bottom, center, outside","Bottom, left":"Bottom, left","Bottom, left, inside":"Bottom, left, inside","Bottom, right":"Bottom, right","Bottom, right, inside":"Bottom, right, inside","Bottom, right, outside":"Bottom, right, outside",Cancel:$0t,"Cannot create unique ID":"Cannot create unique ID","Chart Type":"Chart Type","Chart background":"Chart background","Chart background:":"Chart background:","Chart size":"Chart size","Chart type":"Chart type","Charts preview":"Charts preview",Circle:k0t,Close:E0t,Collapse:T0t,"Collapse all lines":"Collapse all lines","Collapse all markings":"Collapse all markings",Color:O0t,"Common Y Axis":"Common Y Axis","Convert formula":"Convertion formula",Copy:D0t,"Copy link to clipboard":"Copy link to clipboard",Counts:A0t,Create:I0t,"Create folder":"Create folder","Create new folder":"Create new folder","Create new preset":"Create new preset","Create preset":"Create preset","Custom chart background:":"Custom chart background:","Custom time format":"Custom time format",Data:M0t,Default:P0t,Delete:N0t,"Delete object":"Delete object","Delete text value":"Delete text value",Dialog:R0t,"Digits after comma":"Digits after comma","Drag me":"Drag me",Edit:j0t,"Edit folder name":"Edit folder name","Edit options for line %s":"Edit options for line %s","Edit state names":"Edit state names","Empty preset cannot be saved!":"Empty preset cannot be saved!","Enable logging for new state":"Enable logging for new state","Enable zoom and pan":"Enable zoom and pan","Enable zoom and pan:":"Enable zoom and pan:",End:L0t,"End:":"End:","Enter chart name":"Enter chart name",Expand:z0t,"Expand all lines":"Expand all lines","Expand all markings":"Expand all markings","Export data color":"Export data button color",Fill:F0t,"Fill color:":"Fill color:","Fill range:":"Fill range:","Fill(0to1)":"Fill(0to1)",Folder:B0t,"Font size":"Font size",From:W0t,"From line %s":"From line %s",Functions:H0t,Grid:U0t,"Grid color":"Grid color","Grid color:":"Grid color:","Group by":"Group by","HH:MM dd.mm":"HH:MM dd.mm",Height:V0t,"Height:":"Height:","Hide X grid":"Hide X grid","Hide Y grid":"Hide Y grid","Hide edit button:":"Hide edit button:","Hide nulls in tooltip":"Hide nulls in tooltip","Hover details":"Hover details","Hover details:":"Hover details:",ID:q0t,IDs:G0t,"If the current value is not older than X seconds, assume it is still the same.":"If the current value is not older than X seconds, assume it is still the same.","In seconds":"In seconds",Individual:X0t,"Input data":"Input data","Inside / No lines":"Inside / No lines","Inside / With lines":"Inside / With lines","Inside end":"Inside, on end","Inside end bottom":"Inside, at the end, on bottom","Inside end top":"Inside, at the end, on top","Inside middle":"Inside, in the middle","Inside middle bottom":"Inside, in the middle, on bottom","Inside middle top":"Inside, in the middle, at top","Inside start":"Inside, at start","Inside start bottom":"Inside, at start, on bottom","Inside start top":"Inside, at start, on top",Instance:J0t,"Integral unit":"Integral unit","Interpolate:":"Interpolate:","Interpolation method":"Interpolation method",Intervals:Y0t,"Invalid object":"Invalid object",Label:K0t,"Label color:":"Label color:","Label font size:":"Label font size:",Labels:Z0t,"Last changed":"Last changed",Left:Q0t,Legend:ebt,"Legend background":"Legend background","Legend background:":"Legend background:","Legend columns:":"Legend columns:","Legend opacity (from 0 to 1):":"Legend opacity (from 0 to 1):","Legend text color":"Legend text color",Limits:tbt,Line:rbt,"Line ID":"Line ID","Line Width":"Line Width","Line and area":"Line and area","Line style":"Line style",Link:nbt,"Live update every":"Live update every","Live update every:":"Live update every:","Load without save":"Load without save","Loading...":"Loading...","Lower value or ID":"Lower value or ID",Main:obt,Mark:abt,Markings:ibt,Max:sbt,"Max:":"Maximum:",Members:lbt,"Middle, left, inside":"Middle, left, inside","Middle, right, inside":"Middle, right, inside","Middle, right, outside":"Middle, right, outside",Min:cbt,"Min:":"Minimum:",MinMax:dbt,More:ubt,"Move to folder":"Move to folder",Multiple:pbt,"NULL as":"NULL as",Name:hbt,"Name:":"Name:","No ID yet":"No ID yet","No background":"No background","No border:":"No border:","No future":"No values in future","No interpolate in hover":"No interpolation in tooltip","No presets created yet":"No presets created yet",None:fbt,Offset:mbt,Ok:gbt,Open:vbt,"Open chart in own window":"Open chart in own window","Open in own window":"Open in own window",Options:ybt,Orientation:_bt,Others:bbt,"Outside / No lines":"Outside / No lines","Outside/ With lines":"Outside/ With lines",Paste:wbt,Percentile:xbt,Pie:Sbt,"Please confirm":"Please confirm",Points:Cbt,Polar:$bt,Polygonal:kbt,"Predefined background:":"Predefined background:",Presets:Ebt,Processing:Tbt,"Processing...":"Processing...",Range:Obt,"Range:":"Range:",Relative:Dbt,Rename:Abt,"Rename preset":"Rename preset","Reorder presets in folders":"Reorder presets in folders","Reset settings":"Reset settings","Reset zoom after idle":"Reset zoom after idle",Right:Ibt,Role:Mbt,Room:Pbt,Rooms:Nbt,Root:Rbt,"Save current preset and load":"Save current preset and load","Save image button color":"Save image button color","Save into:":"Save into:","Scatter plot":"Scatter plot",Seconds:jbt,Select:Lbt,"Select ID":"Select ID","Select for":"Select for","Shadow Size":"Shadow Size","Show controls":"Show controls","Show export data button":"Show export data button","Show labels:":"Show labels:","Show legend":"Show legend","Show legend:":"Show legend:","Show only in legend":"Show only in legend","Show points":"Show points","Show save image button":"Show save image button","Show values":"Show values",Smoothing:zbt,Source:Fbt,Spline:Bbt,Stack:Wbt,"Start:":"Start:","State value":"State value","State value text":"State value text","Step span:":"Step span:","Step type":"Step type","Step type:":"Step type:",Steps:Hbt,"Steps on start":"Steps on start",Style:Ubt,"System settings":"System settings",Text:Vbt,"Text X offset":"Text X-offset","Text Y offset":"Text Y-offset","Text by false":"Text by false","Text by true":"Text by true","Text color":"Text color","Text position":"Text position","Text size":"Text size","Text values not used":"Text values not used",Texts:qbt,Theme:Gbt,"This time offset will be added to the X label by displaying data on the chart":"This time offset will be added to the X label by displaying data on the chart","This time offset will be added to the request by reading data from DB":"This time offset will be added to the request by reading data from DB","Ticks from:":"Use X-ticks from:",Time:Xbt,"Time Span":"Time Span","Time format":"Time format","Time format:":"Time format:","Time span":"Time span","Time stamp":"Time stamp",Title:Jbt,"Title color":"Title color","Title color:":"Title color:","Title position":"Title position","Title position:":"Title position:","Title size":"Title size","Title size:":"Title size:","Title:":"Title:","Top, center, inside":"Top, center, inside","Top, left":"Top, left","Top, left, inside":"Top, left, inside","Top, right":"Top, right","Top, right, inside":"Top, right, inside","Top, right, outside":"Top, right, outside",Type:Ybt,Unit:Kbt,"Units:":"Units:",Update:Zbt,"Update objects":"Update objects","Update states":"Update states","Upper value or ID":"Upper value or ID","Use comma":"Use comma","Use comma:":"Use comma:","Use state names":"Use state names","User defined":"User defined","User defined names:":"User defined names:","Valid time (sec)":"Valid time (sec)",Value:Qbt,Width:e1t,"Width:":"Width:","Window background":"Window background","Window background:":"Window background:",With:t1t,"With border":"With border","With lines":"With lines",Without:r1t,"Without border":"Without border","Without lines":"Without lines","X Axis":"X Axis","X Axis position":"X Axis position","X axis labels color:":"X labels color:","X labels color":"X labels color","X labels size":"X font size","X ticks color":"X ticks color","X-Axis ticks":"X-Axis ticks","X-Label-Offset":"X-Label Offset","X-Offset":"X-Offset","Y Axis":"Y Axis","Y Axis position":"Y Axis position","Y axis labels color:":"Y labels color:","Y labels color":"Y labels color","Y labels size":"Y font size","Y ticks color":"Y ticks color","Y-Axis ticks":"Y-Axis ticks","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'You can create a new markings with a "+" on the right.',"You can drag and drop simple lines from the left list.":"You can drag and drop simple lines from the left list.","add children":"add children",area:n1t,auto:o1t,average:a1t,bar:i1t,bottom:s1t,bottomColor:l1t,convert_help:c1t,copied:d1t,copy:u1t,count:p1t,counts:h1t,current:f1t,dashed:m1t,day:g1t,default:"default",difference:v1t,dotted:y1t,dow:_1t,edit:b1t,"edit enum":"edit enum","edit file":"edit file","end of 10 minutes":"end of 10 minutes","end of 12 hours":"end of 12 hours","end of 2 hours":"end of 2 hours","end of 3 hours":"end of 3 hours","end of 30 minutes":"end of 30 minutes","end of 4 hours":"end of 4 hours","end of 5 minutes":"end of 5 minutes","end of 6 hours":"end of 6 hours","end of 8 hours":"end of 8 hours","end of day":"end of day","end of hour":"end of hour","end of minute":"end of minute","end of previous saturday":"end of previous saturday (2 weeks)","end of previous sunday":"end of previous sunday (2 weeks)","end of saturday":"end of saturday","end of sunday":"end of sunday",false:"null",horizontal:w1t,i15min:x1t,i1day:S1t,i1hour:C1t,i30days:$1t,"ignore 'null'":"ignore 'null'","ignore 'null':":"ignore 'null':","ignore null values":"ignore null values",integral:k1t,"last value":"last value",left:E1t,"left colored":"left colored",leftColor:T1t,line:O1t,linear:D1t,lineplot:A1t,load:I1t,max:M1t,middle:P1t,min:N1t,minmax:R1t,month:j1t,new:"new",no:L1t,"no null":" no null","non-processed":"non-processed",none:z1t,none_no:F1t,now:B1t,null:"null",off:W1t,onchange:H1t,"own axis":"own axis",percentile:U1t,polar:V1t,raw:q1t,relative:G1t,reload:X1t,"restart script":"restart script",right:J1t,"right colored":"right colored",rightColor:Y1t,role:K1t,save:Z1t,"save %s":"save %s",scatterplot:Q1t,seconds:ewt,solid:twt,spline:rwt,standard:nwt,static:"static",steps:owt,"this month":"this month","this year":"this year",to:awt,today:iwt,top:swt,"top over":"top over","top under":"top under",topColor:lwt,total:cwt,true:"last value","update Preview":"update Preview","use 0 instead of null values":"use 0 instead of null values",vertical:dwt,weekEurope:uwt,weekUsa:pwt,year:hwt,yes:fwt,ØL:"ØL","ØL - Line thickness":"ØL - Line thickness","ØL Line thickness":"ØL Line thickness",ØS:"ØS","ØS - Shadow size":"ØS - Shadow size","ØS Shadow size":"ØS Shadow size"},gwt="Bestätigt",vwt="Hinzufügen",ywt="Aggregat",_wt="Art",bwt="Alle",wwt="Erscheinung",xwt="Anwenden",Swt="Auto",Cwt="Achsen",$wt="Hintergründe",kwt="Bar",Ewt="Rand",Twt="Abbrechen",Owt="Kreis",Dwt="Schließen",Awt="Zusammenklappen",Iwt="Farbe",Mwt="Kopieren",Pwt="Anzahl",Nwt="Erstellen",Rwt="Datenquellen",jwt="Standard",Lwt="Löschen",zwt="Dialog",Fwt="Editieren",Bwt="Ende",Wwt="Ausklappen",Hwt="Füllen",Uwt="Mappe",Vwt="Von",qwt="Funktionen",Gwt="Gitter",Xwt="Höhe",Jwt="ID",Ywt="IDs",Kwt="Individuell",Zwt="Instanz",Qwt="Intervalle",ext="Etikette",txt="Etiketten",rxt="Links",nxt="Legende",oxt="Grenzen",axt="Linie",ixt="Link",sxt="Haupt-Einstellungen",lxt="Markierung",cxt="Markierungen",dxt="Max",uxt="Mitglied",pxt="Min",hxt="MinMax",fxt="mehr",mxt="Mehrere",gxt="Name",vxt="Nichts",yxt="X-Offset",_xt="Ok",bxt="Zeige im Fenster",wxt="Optionen",xxt="Orientierung",Sxt="Andere",Cxt="Einfügen",$xt="Perzentil",kxt="Kuchen",Ext="Punkte",Txt="Polardiagramm (Radar)",Oxt="Polygonal",Dxt="Voreinstellung",Axt="wird bearbeitet",Ixt="Reichweite",Mxt="Relativ",Pxt="Umbenennen",Nxt="Rechts",Rxt="Rolle",jxt="Raum",Lxt="Räume",zxt="Root-Ordner",Fxt="Sekunden",Bxt="Auswählen",Wxt="Glätten",Hxt="Quelle",Uxt="Spline",Vxt="Stack",qxt="Schritte",Gxt="Stil",Xxt="Text",Jxt="Texte",Yxt="Thema",Kxt="Zeit",Zxt="Beschriftung",Qxt="Typ",eSt="Einheiten",tSt="Aktualisieren",rSt="Wert",nSt="Breite",oSt="mit",aSt="ohne",iSt="Area",sSt="Auto",lSt="mittel",cSt="Bar",dSt="unten",uSt="unten farblich",pSt='Hier die Formel wie "val / 1000 + 3" eingeben. Diese Formel wird auf alle Werte des ausgewählten Datenpunkts angewendet.',hSt="kopiert",fSt="Kopieren",mSt="zählen",gSt="Anzahl",vSt="Aktueller Wert",ySt="gestrichelt",_St="Tag",bSt="Unterschied",wSt="gepunktet",xSt="Wochentag",SSt="bearbeiten",CSt="horizontal",$St="15 Minuten",kSt="1 Tag",ESt="1 Stunde",TSt="30 Tage",OSt="Integral",DSt="links",ASt="links farblich",ISt="Linie",MSt="linear",PSt="Liniendiagramm",NSt="laden",RSt="max",jSt="mittig",LSt="min",zSt="minmax",FSt="Monat",BSt="keine",WSt="nichts",HSt="keins",USt="jetzt",VSt="nichts",qSt="bei Änderung",GSt="Perzentil",XSt="Polardiagramm",JSt="unverarbeitet",YSt="relative",KSt="Neu laden",ZSt="rechts",QSt="rechts farblich",eCt="Rolle",tCt="Speichern",rCt="Streudiagramm",nCt="Sekunden",oCt="normal",aCt="Spline",iCt="Standard",sCt="Schritte",lCt="bis",cCt="heute",dCt="oben",uCt="oben farblich",pCt="total",hCt="vertikal",fCt="Tagesende",mCt="Wochenssende",gCt="Jahr",vCt="ja",yCt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"vor %s","ØL":"ØL","ØS":"ØS","0 seconds":"0 Sekunden","0s":"0s","1 day":"1 Tag","1 hour":"1 Stunde","1 minute":"1 Minute","1 month":"1 Monat","1 week":"1 Woche","1 year":"1 Jahr","10 minutes":"10 Minuten","10 seconds":"10 Sekunden","10m":"10 Minuten","10minutes":"Ende von 10 Minuten","10s":"10 Sekunden","12 hours":"12 Stunden","12H":"12 Stunden","12W":"12 Wochen","12hours":"Ende von 12 Stunden","14 days":"14 Tage","15 minutes":"15 Minuten","15 seconds":"15 Sekunden","15m":"15 Minuten","1D":"1 Tag","1H":"1 Stunde","1M":"1 Monat","1W":"1 Woche","1Y":"1 Jahr","1hour":"Stundenende","1minute":"Minutenende","1s":"1 Sekunde","2 days":"2 Tage","2 hours":"2 Stunden","2 minutes":"2 Minuten","2 months":"2 Monate","2 weeks":"2 Wochen","2 years":"2 Jahren","20 minutes":"20 Minuten","20 seconds":"20 Sekunden","26W":"26 Wochen","2D":"2 Tage","2H":"2 Stunden","2M":"2 Monate","2W":"2 Wochen","2Y":"2 Jahre","2hours":"Ende von 2 Stunden","2m":"2 Minuten","2s":"2 Sekunden","3 days":"3 Tage","3 hours":"3 Stunden","3 minutes":"3 Minuten","3 months":"3 Monate","30 minutes":"30 Minuten","30 seconds":"30 Sekunden","300ms":"300ms","30m":"30 Minuten","30minutes":"Ende von 30 Minuten","30s":"30 Sekunden","3D":"3 Tage","3M":"3 Monate","3hours":"Ende von 3 Stunden","3m":"3 Minuten","3s":"3 Sekunden","4 days":"4 Tage","4 minutes":"4 Minuten","45 minutes":"45 Minuten","45m":"45 Minuten","4D":"4 Tage","4W":"4 Wochen","4hours":"Ende von 4 Stunden","4m":"4 Minuten","5 minutes":"5 Minuten","5 seconds":"5 Sekunden","500ms":"500ms","5m":"5 Minuten","5minutes":"Ende von 5 Minuten","5s":"5 Sekunden","6 hours":"6 Stunden","6 months":"6 Monate","60 seconds":"60 Sekunden","60s":"60 Sekunden","6H":"6 Stunden","6M":"6 Monate","6hours":"Ende von 6 Stunden","7 days":"7 Tage","8W":"8 Wochen","8hours":"Ende von 8 Stunden","90 seconds":"90 Sekunden",Acknowledged:gwt,Add:vwt,"Add line to chart":"Linie zum Preset hinzufügen","Add marking line to chart":"Markierungslinie zum Preset hinzufügen","Add new line":"Linie hinzufügen","Add new markings":"Neue Markierung hinzufügen","Add new state name":"Neuen Statusnamen hinzufügen","Add new value":"Fügen Sie neuen Wert hinzu","After comma":"Nach Komma",Aggregate:ywt,"Aggregate for lines":"Aggregation für Zeilen",Aggregation:_wt,"Aggregation:":"Art:",All:bwt,"Animation:":"Animation:",Appearance:wwt,Apply:xwt,"Are you sure for closing folder and discard unsaved changes?":"Möchten Sie den Ordner wirklich schließen und nicht gespeicherte Änderungen verwerfen?","Are you sure for delete this line?":"Sind Sie sicher, diese Zeile zu löschen?","Are you sure for delete this mark?":"Sind Sie sicher, diese Marke zu löschen?","Are you sure for delete this preset?":"Sind Sie sicher, diese Voreinstellung zu löschen?","Are you sure for loading the chart and discard unsaved changes?":"Möchten Sie das Diagramm wirklich laden und nicht gespeicherte Änderungen verwerfen?","Are you sure for loading the preset and discard unsaved changes?":"Möchten Sie die Vorgabe wirklich laden und nicht gespeicherte Änderungen verwerfen?","Arrange bools":"Platziere Booleans",Auto:Swt,"Auto (Line or Steps)":"Auto (Linie oder Schritte)","Auto padding":"Auto-Abstand","Auto save":"Automatisch speichern","Auto-refresh":"Automatische Aktualisierung","Auto-update:":"Auto-update:",Axis:Cwt,"Background of radar chart":"Hintergrund der Radarkarte","Background:":"Hintergrund:",Backgrounds:$wt,Bar:kwt,"Bar settings":"Bar-Einstellungen","Bars width:":"Barbreite:",Border:Ewt,"Border color:":"Rahmenfarbe:","Border padding":"Randabstand","Border width":"Rahmenbreite","Border width:":"Rahmenbreite:","Bottom, center, inside":"Unten, mittig, innen","Bottom, center, outside":"Unten, mittig, außen","Bottom, left":"Unten, links","Bottom, left, inside":"Unten, links, innen","Bottom, right":"Unten, rechts","Bottom, right, inside":"Unten, rechts, innen","Bottom, right, outside":"Unten, rechts, außen",Cancel:Twt,"Cannot create unique ID":"Eindeutige ID kann nicht erstellt werden","Chart Type":"Chart Type","Chart background":"Diagrammhintergrund","Chart background:":"Chart-Hintergrund:","Chart size":"Diagrammgröße","Chart type":"Diagramm Typ","Charts preview":"Diagrammvorschau",Circle:Owt,Close:Dwt,Collapse:Awt,"Collapse all lines":"Alle Zeilen zumachen","Collapse all markings":"Alle Markierungen zusammenklappen",Color:Iwt,"Common Y Axis":"Gemeinsame Y-Achse","Convert formula":"Umrechnungsformel",Copy:Mwt,"Copy link to clipboard":"Link in Zwischenablage kopieren",Counts:Pwt,Create:Nwt,"Create folder":"Ordner erstellen","Create new folder":"Neuen Ordner erstellen","Create new preset":"Neues Preset erstellen","Create preset":"Preset erstellen","Custom chart background:":"Anwender-Chart-Hintergrund:","Custom time format":"Benutzerdefiniertes Zeitformat",Data:Rwt,Default:jwt,Delete:Lwt,"Delete object":"Object löschen","Delete text value":"Textwert löschen",Dialog:zwt,"Digits after comma":"Ziffern nach Komma","Drag me":"Zieh mich",Edit:Fwt,"Edit folder name":"Ordnername ändern","Edit options for line %s":"Editieren weitere Einstellungen für Linie %s","Edit state names":"Zustandsnamen bearbeiten","Empty preset cannot be saved!":"Leeres Preset kann nicht gespeichert werden!","Enable logging for new state":"Protokollierung für einen neuen Zustand aktivieren","Enable zoom and pan":"Zoom erlauben","Enable zoom and pan:":"Aktiviere Zoom und Schieben:",End:Bwt,"End:":"Ende:","Enter chart name":"Chartname eintragen",Expand:Wwt,"Expand all lines":"Alle Zeilen ausklappen","Expand all markings":"Alle Markierungen aufklappen","Export data color":"Farbe der Schaltfläche „Daten exportieren“.",Fill:Hwt,"Fill color:":"Füllfarbe color:","Fill range:":"Ganzer Bereich:","Fill(0to1)":"Füllen(0bis1)",Folder:Uwt,"Font size":"Schriftgröße",From:Vwt,"From line %s":"Zeile %s",Functions:qwt,Grid:Gwt,"Grid color":"Gitterfarbe","Grid color:":"Gitterfarbe:","Group by":"Gruppiere nach","HH:MM dd.mm":"SS:MM tt.mm.",Height:Xwt,"Height:":"Höhe:","Hide X grid":"X-Gitter ausblenden","Hide Y grid":"Y-Gitter ausblenden","Hide edit button:":"Kein 'Edit'-Knopf:","Hide nulls in tooltip":"Nullen im Tooltip ausblenden","Hover details":"Hover-Details","Hover details:":"Hover details:",ID:Jwt,IDs:Ywt,"If the current value is not older than X seconds, assume it is still the same.":"Wenn der aktuelle Wert nicht älter als X Sekunden ist, annehmen, dass er immer noch derselbe ist.","In seconds":"In Sekunden",Individual:Kwt,"Input data":"Eingangsdaten","Inside / No lines":"Innen / ohne Linien","Inside / With lines":"Innen / mit Linien","Inside end":"Innen, am Ende","Inside end bottom":"Innen, am Ende, unten","Inside end top":"Innen, am Ende, oben","Inside middle":"Innen, in der Mitte","Inside middle bottom":"Innen, in der Mitte, unten","Inside middle top":"Innen, in der Mitte, oben","Inside start":"Innen, am Start","Inside start bottom":"Innen, am Anfang, unten","Inside start top":"Innen, am Anfang, oben",Instance:Zwt,"Integral unit":"Integrale Einheit","Interpolate:":"Interpolieren:","Interpolation method":"Interpolationsmethode",Intervals:Qwt,"Invalid object":"Ungültiges Objekt",Label:ext,"Label color:":"Labelfarbe:","Label font size:":"Labelschriftgröße:",Labels:txt,"Last changed":"Letze Änderung",Left:rxt,Legend:nxt,"Legend background":"Legendenhintergrund","Legend background:":"Legende-Hintergrund:","Legend columns:":"Spalten in Legende:","Legend opacity (from 0 to 1):":"Legende-Opacity (von 0 bis 1):","Legend text color":"Legende Textfarbe",Limits:oxt,Line:axt,"Line ID":"Linie ID","Line Width":"Linienstärke","Line and area":"Linie und Fläche","Line style":"Linienstil",Link:ixt,"Live update every":"Autoupdate alle","Live update every:":"Autoupdate alle:","Load without save":"Laden ohne Speichern","Loading...":"Lade...","Lower value or ID":"Unterer Wert oder ID",Main:sxt,Mark:lxt,Markings:cxt,Max:dxt,"Max:":"Maximum:",Members:uxt,"Middle, left, inside":"Middle, links, innen","Middle, right, inside":"Middle, rechts, innen","Middle, right, outside":"Middle, rechts, außen",Min:pxt,"Min:":"Minimum:",MinMax:hxt,More:fxt,"Move to folder":"In den Ordner verschieben",Multiple:mxt,"NULL as":"NULL als",Name:gxt,"Name:":"Name:","No ID yet":"Noch kein ID","No background":"Kein Hintergrund","No border:":"Kein Rahmen:","No future":"Keine Werte in der Zukunft","No interpolate in hover":"Keine Interpolation im Tooltip","No presets created yet":"Noch keine Presets erstellt",None:vxt,Offset:yxt,Ok:_xt,Open:bxt,"Open chart in own window":"Das Diagramm in einem eigenen Fenster öffnen","Open in own window":"In eigenem Fenster öffnen",Options:wxt,Orientation:xxt,Others:Sxt,"Outside / No lines":"Außen / ohne Linien","Outside/ With lines":"Außen/ mit Linien",Paste:Cxt,Percentile:$xt,Pie:kxt,"Please confirm":"Bitte bestätigen",Points:Ext,Polar:Txt,Polygonal:Oxt,"Predefined background:":"Vordefinierter Hintergrund:",Presets:Dxt,Processing:Axt,"Processing...":"Bearbeite...",Range:Ixt,"Range:":"Umfang:",Relative:Mxt,Rename:Pxt,"Rename preset":"Preset umbenennen","Reorder presets in folders":"Presets in Ordnern neu anordnen","Reset settings":"Einstellungen löschen","Reset zoom after idle":"Zoom nach Leerlauf zurücksetzen",Right:Nxt,Role:Rxt,Room:jxt,Rooms:Lxt,Root:zxt,"Save current preset and load":"Aktuelles Preset speichern und laden","Save image button color":"Farbe der Bildschaltfläche speichern","Save into:":"Save into:","Scatter plot":"Scatter plot",Seconds:Fxt,Select:Bxt,"Select ID":"ID Auswählen","Select for":"Wählen Sie für","Shadow Size":"Schattengröße","Show controls":"Steuerelemente anzeigen","Show export data button":"Schaltfläche „Exportdaten anzeigen“.","Show labels:":"Zeige Labels:","Show legend":"Legende anzeigen","Show legend:":"Zeige Legende:","Show only in legend":"Nur in der Legende anzeigen","Show points":"Punkte anzeigen","Show save image button":"Schaltfläche „Bild speichern“ anzeigen","Show values":"Werte anzeigen",Smoothing:Wxt,Source:Hxt,Spline:Uxt,Stack:Vxt,"Start:":"Start:","State value":"Wert angeben","State value text":"Werttext angeben","Step span:":"Schrittweite:","Step type":"Schrittart","Step type:":"Schritttyp:",Steps:qxt,"Steps on start":"Schritte beim Start",Style:Gxt,"System settings":"Systemeinstellungen",Text:Xxt,"Text X offset":"Text-X-Offset","Text Y offset":"Text Y-Offset","Text by false":"Text bei falsch","Text by true":"Text bei wahr","Text color":"Textfarbe","Text position":"Textposition","Text size":"Textgröße","Text values not used":"Textwerte nicht verwendet",Texts:Jxt,Theme:Yxt,"This time offset will be added to the X label by displaying data on the chart":"Dieser Zeitversatz wird der X-Beschriftung hinzugefügt, indem Daten im Diagramm angezeigt werden","This time offset will be added to the request by reading data from DB":"Dieser Zeitversatz wird der Anfrage durch das Lesen von Daten aus der Datenbank hinzugefügt","Ticks from:":"Benutze X-Ticks aus:",Time:Kxt,"Time Span":"Zeit Spanne","Time format":"Zeitformat","Time format:":"Zeitformat:","Time span":"Zeitspanne","Time stamp":"Zeitstempel",Title:Zxt,"Title color":"Titelfarbe","Title color:":"Titelfarbe:","Title position":"Titelposition","Title position:":"Beschriftungs-Position:","Title size":"Titelgröße","Title size:":"Titelgröße:","Title:":"Beschriftung:","Top, center, inside":"Oben, mittig, innen","Top, left":"Oben, links","Top, left, inside":"Oben, links, innen","Top, right":"Oben, rechts","Top, right, inside":"Oben, rechts, innen","Top, right, outside":"Oben, rechts, außen",Type:Qxt,Unit:eSt,"Units:":"Einheiten:",Update:tSt,"Update objects":"Objekte aktualisieren","Update states":"States aktualisieren","Upper value or ID":"Oberer Wert oder ID","Use comma":"Komma benutzen","Use comma:":"Benutze Komma:","Use state names":"Zustandsnamen verwenden ","User defined":"Anwenderdefiniert","User defined names:":"Benutzerdefinierte Namen:","Valid time (sec)":"Gültige Zeit (Sek.)",Value:rSt,Width:nSt,"Width:":"Breite:","Window background":"Fensterhintergrund","Window background:":"Fenster-Hintergrund:",With:oSt,"With border":"Mit Grenze","With lines":"mit Linien",Without:aSt,"Without border":"Ohne Rand","Without lines":"ohne Linien","X Axis":"X Axe","X Axis position":"X Achsenposition","X axis labels color:":"X Beschriftungsfarbe:","X labels color":"X Beschriftungsfarbe","X labels size":"X Schriftgröße","X ticks color":"X-Strichfarbe","X-Axis ticks":"X-Achse-Ticks","X-Label-Offset":"X-Label-Offset","X-Offset":"X-Offset","Y Axis":"Y Axe","Y Axis position":"Y Achsenposition","Y axis labels color:":"Y Beschriftungsfarbe:","Y labels color":"Y Beschriftungsfarbe","Y labels size":"Y-Schriftgröße","Y ticks color":"Y-Strichfarbe","Y-Axis ticks":"Y-Achse-Ticks","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Man kann neue Markierungen mit einem "+" rechts erstellen.',"You can drag and drop simple lines from the left list.":"Man kann einfache Linien aus der linken Liste ziehen und ablegen.","add children":"Sub-enums einfügen",area:iSt,auto:sSt,average:lSt,bar:cSt,bottom:dSt,bottomColor:uSt,convert_help:pSt,copied:hSt,copy:fSt,count:mSt,counts:gSt,current:vSt,dashed:ySt,day:_St,default:"default",difference:bSt,dotted:wSt,dow:xSt,edit:SSt,"edit enum":"Enum ändern","edit file":"Datei editieren","end of 10 minutes":"Ende von 10 Minuten","end of 12 hours":"Ende von 12 Stunden","end of 2 hours":"Ende von 2 Stunden","end of 3 hours":"Ende von 3 Stunden","end of 30 minutes":"Ende von 30 Minuten","end of 4 hours":"Ende von 4 Stunden","end of 5 minutes":"Ende von 5 Minuten","end of 6 hours":"Ende von 6 Stunden","end of 8 hours":"Ende von 8 Stunden","end of day":"Tagesende","end of hour":"Stundenende","end of minute":"Minutenende","end of previous saturday":"Ende Vorsamstag (2 Wochen)","end of previous sunday":"Ende Vorsonntag (2 Wochen)","end of saturday":"Samstagsende","end of sunday":"Wochenssende",false:"null",horizontal:CSt,i15min:$St,i1day:kSt,i1hour:ESt,i30days:TSt,"ignore 'null'":"'null' ignorieren","ignore 'null':":"'null' ignorieren:","ignore null values":"null-Werte ignorieren",integral:OSt,"last value":"letztes Wert",left:DSt,"left colored":"links farbig",leftColor:ASt,line:ISt,linear:MSt,lineplot:PSt,load:NSt,max:RSt,middle:jSt,min:LSt,minmax:zSt,month:FSt,new:"unter neuen Namen",no:BSt,"no null":" kein NULL","non-processed":"unbearbeitet",none:WSt,none_no:HSt,now:USt,null:"null",off:VSt,onchange:qSt,"own axis":"eigene Achse",percentile:GSt,polar:XSt,raw:JSt,relative:YSt,reload:KSt,"restart script":"Skript neu starten",right:ZSt,"right colored":"rechts gefärbt",rightColor:QSt,role:eCt,save:tCt,"save %s":"Speichern %s",scatterplot:rCt,seconds:nCt,solid:oCt,spline:aCt,standard:iCt,static:"statik",steps:sCt,"this month":"dieser Monat","this year":"dieses Jahr",to:lCt,today:cCt,top:dCt,"top over":"oben über","top under":"oben unten",topColor:uCt,total:pCt,true:"letztes Wert","update Preview":"Vorschau aktualisieren","use 0 instead of null values":"0 statt null benutzen",vertical:hCt,weekEurope:fCt,weekUsa:mCt,year:gCt,yes:vCt,ØL:"ØL","ØL - Line thickness":"ØL - Liniendicke","ØL Line thickness":"ØL Linienstärke",ØS:"ØS","ØS - Shadow size":"ØS - Schattengröße","ØS Shadow size":"ØS Schattengröße"},_Ct="Подтверждён",bCt="Добавить",wCt="Агрегатная функция",xCt="Тип",SCt="все",CCt="Оформление",$Ct="Применить",kCt="Авто",ECt="Оси",TCt="Фоны",OCt="Bar",DCt="Граница",ACt="отменить",ICt="Круг",MCt="Закрыть",PCt="Свернуть",NCt="Цвет",RCt="Копировать",jCt="Кол-во значений",LCt="Создайте",zCt="Данные",FCt="по умолчанию",BCt="Удалить",WCt="Диалог",HCt="Edit",UCt="Конец",VCt="Развернуть",qCt="Заливка",GCt="Папка",XCt="От",JCt="Функции",YCt="Сетка",KCt="Высота",ZCt="ID",QCt="Объекты",e$t="Индивидуально",t$t="Драйвер",r$t="Интервалы",n$t="этикетка",o$t="Этикетки",a$t="слева",i$t="Легенда",s$t="Пределы",l$t="Линия",c$t="URL",d$t="Главные",u$t="Маркировка",p$t="Разметка",h$t="Макс",f$t="Объекты",m$t="Мин",g$t="MinMax",v$t="ещё",y$t="Несколько",_$t="Имя",b$t="Нет",w$t="Сдвиг по Х",x$t="Ok",S$t="Показать",C$t="Опции",$$t="Ориентация",k$t="Другие",E$t="Вставить",T$t="Процентиль",O$t="Круговая диаграмма",D$t="Точки",A$t="Полярная карта (Радар)",I$t="Полигональный",M$t="Пресеты",P$t="Обработка",N$t="Диапазон",R$t="Родственник",j$t="Переименовать",L$t="справа",z$t="Роль",F$t="Комната",B$t="Номера",W$t="Корневая папка",H$t="Cекунды",U$t="Выбрать",V$t="Сглаживание",q$t="Источник",G$t="Сплайн",X$t="Stack",J$t="Ступени",Y$t="Стиль",K$t="Текст",Z$t="Тексты",Q$t="Тема",ekt="Время",tkt="Подпись",rkt="Тип",nkt="Единицы",okt="Обновить",akt="Значение",ikt="Ширина",skt="с",lkt="без",ckt="Область",dkt="авто",ukt="среднее",pkt="Bar",hkt="снизу",fkt="снизу цветом",mkt="Введите формулу типа «val / 1000 + 3». Эта формула будет применяться ко всем значениям выбранной точки данных.",gkt="скопировано",vkt="Скопировать",ykt="считать",_kt="кол-во",bkt="Текущая стоимость",wkt="пунктирная",xkt="День",Skt="разница",Ckt="пунктирный",$kt="День недели",kkt="редактировать",Ekt="горизонтальный",Tkt="15 минут",Okt="1 день",Dkt="1 час",Akt="30 дней",Ikt="интеграл",Mkt="слева",Pkt="слева цветом",Nkt="Линия",Rkt="линейный",jkt="Линия с точками",Lkt="загрузить",zkt="макс",Fkt="В середине",Bkt="мин",Wkt="minmax",Hkt="month",Ukt="нет",Vkt="ничего",qkt="нет",Gkt="сейчас",Xkt="скрыть",Jkt="при изменении",Ykt="процентиль",Kkt="Полярная карта (радар)",Zkt="необработанные",Qkt="относительно",eEt="Перезагрузить",tEt="справа",rEt="справа цветом",nEt="Роль",oEt="сохранить",aEt="Точки",iEt="секунды",sEt="обычный",lEt="Сллайн",cEt="стандарт",dEt="Шаги",uEt="до",pEt="сегодня",hEt="сверху",fEt="сверху цветом",mEt="всего",gEt="вертикальный",vEt="Конец дня",yEt="Конец недели",_Et="year",bEt="да",wEt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s назад","ØL":"ØL","ØS":"ØS","0 seconds":"0 секунд","0s":"0c","1 day":"1 день","1 hour":"1 час","1 minute":"1 минуту","1 month":"1 месяц","1 week":"1 неделя","1 year":"1 год","10 minutes":"10 минут","10 seconds":"10 секунд","10m":"10 минут","10minutes":"Конец 10 minutes","10s":"10 секунд","12 hours":"12 часов","12H":"12 часов","12W":"12 недель","12hours":"Конец 12 часов","14 days":"14 дней","15 minutes":"15 минут","15 seconds":"15 секунд","15m":"15 минут","1D":"1 день","1H":"1 час","1M":"1 месяц","1W":"1 неделя","1Y":"1 год","1hour":"Конец часа","1minute":"Конец минуты","1s":"1 секунда","2 days":"2 дня","2 hours":"2 часа","2 minutes":"2 минуты","2 months":"2 месяца","2 weeks":"2 недели","2 years":"2 года","20 minutes":"20 минут","20 seconds":"20 секунд","26W":"26 недель","2D":"2 дня","2H":"2 часа","2M":"2 месяца","2W":"2 недели","2Y":"2 года","2hours":"Конец 2 часов","2m":"2 минуты","2s":"2 секунды","3 days":"3 дня","3 hours":"3 часа","3 minutes":"3 минуты","3 months":"3 месяца","30 minutes":"30 минут","30 seconds":"30 секунд","300ms":"300мс","30m":"30 минут","30minutes":"Конец 30 minutes","30s":"30 секунд","3D":"3 дня","3M":"3 месяца","3hours":"Конец 3 часов","3m":"3 минуты","3s":"3 секунды","4 days":"4 дня","4 minutes":"4 минуты","45 minutes":"45 минут","45m":"45 минут","4D":"4 дня","4W":"4 недели","4hours":"Конец 4 часов","4m":"4 минуты","5 minutes":"5 минут","5 seconds":"5 секунд","500ms":"500мс","5m":"5 минут","5minutes":"Конец 5 minutes","5s":"5 секунд","6 hours":"6 часов","6 months":"6 месяцев","60 seconds":"60 секунд","60s":"60 секунд","6H":"6 часов","6M":"6 месяцев","6hours":"Конец 6 часов","7 days":"7 дней","8W":"8 недель","8hours":"Конец 8 часов","90 seconds":"90 секунд",Acknowledged:_Ct,Add:bCt,"Add line to chart":"Добавить линию в пресет","Add marking line to chart":"Добавить линию разметки на график","Add new line":"Добавить линию","Add new markings":"Добавить разметку","Add new state name":"Добавить новое название штата","Add new value":"Добавить новое значение","After comma":"После запятой",Aggregate:wCt,"Aggregate for lines":"Агрегация для линий",Aggregation:xCt,"Aggregation:":"Тип:",All:SCt,"Animation:":"Анимация:",Appearance:CCt,Apply:$Ct,"Are you sure for closing folder and discard unsaved changes?":"Вы уверены, что хотите закрыть папку и отменить несохраненные изменения?","Are you sure for delete this line?":"Вы уверены, что удалите эту строку?","Are you sure for delete this mark?":"Вы уверены, что удалите эту отметку?","Are you sure for delete this preset?":"Вы уверены, что хотите удалить этот пресет?","Are you sure for loading the chart and discard unsaved changes?":"Вы уверены, что хотите загрузить диаграмму и отменить несохраненные изменения?","Are you sure for loading the preset and discard unsaved changes?":"Вы уверены, что хотите загрузить предустановку и отменить несохраненные изменения?","Arrange bools":"Выстроить bool графики",Auto:kCt,"Auto (Line or Steps)":"Авто (линия или шаги)","Auto padding":"Авто-отступы","Auto save":"Автосохранение","Auto-refresh":"Автообновление","Auto-update:":"Обновлять сразу:",Axis:ECt,"Background of radar chart":"Фон радиолокационной диаграммы","Background:":"Фон:",Backgrounds:TCt,Bar:OCt,"Bar settings":"Настройки Bar","Bars width:":"Ширина бара:",Border:DCt,"Border color:":"Цвет рамки:","Border padding":"Отступы границы","Border width":"Ширина рамки","Border width:":"Ширина рамки:","Bottom, center, inside":"Снизу, по центру, внутри","Bottom, center, outside":"Снизу, по центру, снаружи","Bottom, left":"Снизу, слева","Bottom, left, inside":"Снизу, слева, внутри","Bottom, right":"Снизу, справа","Bottom, right, inside":"Снизу, справа, внутри","Bottom, right, outside":"Снизу, справа, снаружи",Cancel:ACt,"Cannot create unique ID":"Невозможно создать уникальный идентификатор","Chart Type":"Тип графика","Chart background":"Фон диаграммы","Chart background:":"Фон графика:","Chart size":"Размер диаграммы","Chart type":"Тип диаграммы","Charts preview":"Предварительный просмотр диаграмм",Circle:ICt,Close:MCt,Collapse:PCt,"Collapse all lines":"Свернуть все строки","Collapse all markings":"Свернуть все маркировки",Color:NCt,"Common Y Axis":"Общая ось Y","Convert formula":"Формула преобразования",Copy:RCt,"Copy link to clipboard":"Скопировать ссылку в буфер обмена",Counts:jCt,Create:LCt,"Create folder":"Создать папку","Create new folder":"Создать новую папку","Create new preset":"Создать новый пресет","Create preset":"Создать пресет","Custom chart background:":"Пользовательский фон графика:","Custom time format":"Пользовательский формат времени",Data:zCt,Default:FCt,Delete:BCt,"Delete object":"Удалить объект","Delete text value":"Удалить текстовое значение",Dialog:WCt,"Digits after comma":"Цифры после запятой","Drag me":"Перетащи меня",Edit:HCt,"Edit folder name":"Изменить имя папки","Edit options for line %s":"Редактировать настройки для линии %s","Edit state names":"Изменить названия штатов","Empty preset cannot be saved!":"Пустой пресет не может быть сохранен!","Enable logging for new state":"Включить ведение журнала для нового состояния","Enable zoom and pan":"Разрешить зум","Enable zoom and pan:":"Разрешить увеличение и сдвиг:",End:UCt,"End:":"Конец:","Enter chart name":"Введите имя графика",Expand:VCt,"Expand all lines":"Развернуть все строки","Expand all markings":"Развернуть все маркировки","Export data color":"Цвет кнопки экспорта данных",Fill:qCt,"Fill color:":"Цвет заливки:","Fill range:":"Всегда весь интервал:","Fill(0to1)":"Фон(0to1)",Folder:GCt,"Font size":"Размер шрифта",From:XCt,"From line %s":"Из строки %s",Functions:JCt,Grid:YCt,"Grid color":"Цвет сетки","Grid color:":"Цвет сетки:","Group by":"Группа по","HH:MM dd.mm":"ЧЧ:ММ дд.мм",Height:KCt,"Height:":"Высота:","Hide X grid":"Скрыть сетку X","Hide Y grid":"Скрыть сетку Y","Hide edit button:":"Скрыть кнопку 'Редактировать':","Hide nulls in tooltip":"Скрыть нули в подсказке","Hover details":"Детали при наведении","Hover details:":"Показывать подсказку:",ID:ZCt,IDs:QCt,"If the current value is not older than X seconds, assume it is still the same.":"Если текущее значение не старше X секунд, предположим, что оно осталось прежним.","In seconds":"В секундах",Individual:e$t,"Input data":"Входные данные","Inside / No lines":"Внутри / Без линий","Inside / With lines":"Внутри / С линиями","Inside end":"Внутри, на конце","Inside end bottom":"Внутри, в конце, внизу","Inside end top":"Внутри, в конце, сверху","Inside middle":"Внутри, посередине","Inside middle bottom":"Внутри, посередине, снизу","Inside middle top":"Внутри, посередине, вверху","Inside start":"Внутри, в начале","Inside start bottom":"Внутри, в начале, внизу","Inside start top":"Внутри, на старте, сверху",Instance:t$t,"Integral unit":"Интегральный блок","Interpolate:":"Интерполяция:","Interpolation method":"Метод интерполяции",Intervals:r$t,"Invalid object":"Недопустимый объект",Label:n$t,"Label color:":"Цвет подписи:","Label font size:":"Шрифт подписи:",Labels:o$t,"Last changed":"Изменён",Left:a$t,Legend:i$t,"Legend background":"Фон легенды","Legend background:":"Фон легенды:","Legend columns:":"Колонок в легенде:","Legend opacity (from 0 to 1):":"Прозрачность легенды (от 0 до 1):","Legend text color":"Цвет текста легенды",Limits:s$t,Line:l$t,"Line ID":"ID линии","Line Width":"Ширина линии","Line and area":"Линия и область","Line style":"Стиль линии",Link:c$t,"Live update every":"Обновление каждые","Live update every:":"Обновлять каждые:","Load without save":"Загрузить без сохранения","Loading...":"Загрузка...","Lower value or ID":"Нижнее значение или ID",Main:d$t,Mark:u$t,Markings:p$t,Max:h$t,"Max:":"Максимум:",Members:f$t,"Middle, left, inside":"Посередине, слева, внутри","Middle, right, inside":"Посередине, справа, внутри","Middle, right, outside":"Посередине, справа, снаружи",Min:m$t,"Min:":"Минимум:",MinMax:g$t,More:v$t,"Move to folder":"Переместить в папку",Multiple:y$t,"NULL as":"NULL как",Name:_$t,"Name:":"Имя:","No ID yet":"ID еще нет","No background":"Без фона","No border:":"Без рамки:","No future":"Никаких ценностей в будущем","No interpolate in hover":"В подсказке не интерполировать","No presets created yet":"Предварительные настройки еще не созданы",None:b$t,Offset:w$t,Ok:x$t,Open:S$t,"Open chart in own window":"Открыть график в собственном окне","Open in own window":"Открыть в собственном окне",Options:C$t,Orientation:$$t,Others:k$t,"Outside / No lines":"Снаружи / Без линий","Outside/ With lines":"Снаружи/ С линиями",Paste:E$t,Percentile:T$t,Pie:O$t,"Please confirm":"Пожалуйста, подтвердите",Points:D$t,Polar:A$t,Polygonal:I$t,"Predefined background:":"Выбрать фон:",Presets:M$t,Processing:P$t,"Processing...":"Обработка...",Range:N$t,"Range:":"Интервал:",Relative:R$t,Rename:j$t,"Rename preset":"Переименовать пресет","Reorder presets in folders":"Изменить порядок пресетов в папках","Reset settings":"Сбросить настройки","Reset zoom after idle":"Сбросить масштаб после простоя",Right:L$t,Role:z$t,Room:F$t,Rooms:B$t,Root:W$t,"Save current preset and load":"Сохранить текущую предустановку и загрузить","Save image button color":"Сохранить цвет кнопки изображения","Save into:":"Сохранить как:","Scatter plot":"Scatter plot",Seconds:H$t,Select:U$t,"Select ID":"Выбрать ID","Select for":"Выберите для","Shadow Size":"Ширина тени","Show controls":"Показать элементы управления","Show export data button":"Показать кнопку экспорта данных","Show labels:":"Подписи:","Show legend":"Показать легенду","Show legend:":"Показать легенду:","Show only in legend":"Показать только в легенде","Show points":"Показать баллы","Show save image button":"Показать кнопку сохранения изображения","Show values":"Показать значения",Smoothing:V$t,Source:q$t,Spline:G$t,Stack:X$t,"Start:":"Начало:","State value":"Числовое значение","State value text":"Текст значения","Step span:":"Интервал шага:","Step type":"Тип шага","Step type:":"Шаги:",Steps:J$t,"Steps on start":"Шаги на старте",Style:Y$t,"System settings":"Системные настройки",Text:K$t,"Text X offset":"Сдвиг текста по X","Text Y offset":"Смещение текста по Y","Text by false":"Текст для false","Text by true":"Текст для true","Text color":"Цвет текста","Text position":"Расположение текста","Text size":"Размер текста","Text values not used":"Текстовые значения не используются",Texts:Z$t,Theme:Q$t,"This time offset will be added to the X label by displaying data on the chart":"Это временное смещение будет добавлено к метке X при отображении данных на диаграмме.","This time offset will be added to the request by reading data from DB":"Это смещение времени будет добавлено к запросу при чтении данных из БД.","Ticks from:":"Подписи X-делений из:",Time:ekt,"Time Span":"Временной интервал","Time format":"Формат времени","Time format:":"Формат времени:","Time span":"Промежуток времени","Time stamp":"Время",Title:tkt,"Title color":"Цвет заголовка","Title color:":"Цвет названия:","Title position":"Позиция заголовка","Title position:":"Позиция названия:","Title size":"Размер заголовка","Title size:":"Размер названия:","Title:":"Название:","Top, center, inside":"Сверху, по центру, внутри","Top, left":"Сверху, слева","Top, left, inside":"Сверху, слева, внутри","Top, right":"Сверху, справа","Top, right, inside":"Сверху, справа, внутри","Top, right, outside":"Сверху, справа, снаружи",Type:rkt,Unit:nkt,"Units:":"Единицы:",Update:okt,"Update objects":"Обновить объекты","Update states":"Обновить состояния","Upper value or ID":"Верхнее значение или ID","Use comma":"Используйте запятую","Use comma:":"Запятая-разделитель:","Use state names":"Используйте имена значений","User defined":"Пользовательские","User defined names:":"Задать имена графиков:","Valid time (sec)":"Действительное время (сек)",Value:akt,Width:ikt,"Width:":"Ширина:","Window background":"Фон окна","Window background:":"Фон окна:",With:skt,"With border":"С границей","With lines":"С линиями",Without:lkt,"Without border":"Без границы","Without lines":"Без линий","X Axis":"Ось X","X Axis position":"Положение оси X","X axis labels color:":"Цвет текста по оси X:","X labels color":"Цвет меток X","X labels size":"Размер шрифта X","X ticks color":"Цвет меток X","X-Axis ticks":"Кол-во делений на шкале X","X-Label-Offset":"Смещение X-метки","X-Offset":"X-смещение","Y Axis":"Ось Y","Y Axis position":"Положение оси Y","Y axis labels color:":"Цвет текста по оси Y:","Y labels color":"Цвет ярлыков Y","Y labels size":"Размер шрифта Y","Y ticks color":"Цвет отметок Y","Y-Axis ticks":"Кол-во делений на шкале Y","Y-Offset":"Сдвиг по Y",'You can create a new markings with a "+" on the right.':"Вы можете создать новую маркировку знаком «+» справа.","You can drag and drop simple lines from the left list.":"Вы можете перетаскивать простые линии из левого списка.","add children":"Добавить под-категории",area:ckt,auto:dkt,average:ukt,bar:pkt,bottom:hkt,bottomColor:fkt,convert_help:mkt,copied:gkt,copy:vkt,count:ykt,counts:_kt,current:bkt,dashed:wkt,day:xkt,default:"по умолчанию",difference:Skt,dotted:Ckt,dow:$kt,edit:kkt,"edit enum":"Изменить категорию","edit file":"Редактировать","end of 10 minutes":"Конец 10 minutes","end of 12 hours":"Конец 12 часов","end of 2 hours":"Конец 2 часов","end of 3 hours":"Конец 3 часов","end of 30 minutes":"Конец 30 minutes","end of 4 hours":"Конец 4 часов","end of 5 minutes":"Конец 5 minutes","end of 6 hours":"Конец 6 часов","end of 8 hours":"Конец 8 часов","end of day":"Конец дня","end of hour":"Конец часа","end of minute":"Конец минуты","end of previous saturday":"конец предыдущей субботы (2 недели)","end of previous sunday":"конец предыдущего воскресенья (2 недели)","end of saturday":"Конец субботы","end of sunday":"Конец недели",false:"null",horizontal:Ekt,i15min:Tkt,i1day:Okt,i1hour:Dkt,i30days:Akt,"ignore 'null'":"Игнорировать 'null'","ignore 'null':":"Игнорировать 'null':","ignore null values":"игнорировать значения null",integral:Ikt,"last value":"пред. значение",left:Mkt,"left colored":"cлева в цвете",leftColor:Pkt,line:Nkt,linear:Rkt,lineplot:jkt,load:Lkt,max:zkt,middle:Fkt,min:Bkt,minmax:Wkt,month:Hkt,new:"новое",no:Ukt,"no null":" без null","non-processed":"необработанный",none:Vkt,none_no:qkt,now:Gkt,null:"null",off:Xkt,onchange:Jkt,"own axis":"собственная ось",percentile:Ykt,polar:Kkt,raw:Zkt,relative:Qkt,reload:eEt,"restart script":"Перезапустить скрипт",right:tEt,"right colored":"справа в цвете",rightColor:rEt,role:nEt,save:oEt,"save %s":"сохранить %s",scatterplot:aEt,seconds:iEt,solid:sEt,spline:lEt,standard:cEt,static:"постоянный",steps:dEt,"this month":"этот месяц","this year":"этот год",to:uEt,today:pEt,top:hEt,"top over":"Сверху над","top under":"Сверху под",topColor:fEt,total:mEt,true:"пред. значение","update Preview":"Обновить","use 0 instead of null values":"Заменять null на 0",vertical:gEt,weekEurope:vEt,weekUsa:yEt,year:_Et,yes:bEt,ØL:"ØL","ØL - Line thickness":"ØL - толщина линии","ØL Line thickness":"ØL Толщина линии",ØS:"ØS","ØS - Shadow size":"ØS - Размер тени","ØS Shadow size":"ØS Размер тени"},xEt="Reconhecido",SEt="Adicionar",CEt="Agregar",$Et="Tipo",kEt="Todos",EEt="Aparência",TEt="Aplicar",OEt="Auto",DEt="Eixo",AEt="Fundos",IEt="Bar",MEt="Fronteira",PEt="Cancelar",NEt="Círculo",REt="Fechar",jEt="Colapso",LEt="Cor",zEt="cópia de",FEt="Contagens",BEt="Crio",WEt="Dados",HEt="Padrão",UEt="Excluir",VEt="Diálogo",qEt="Editar",GEt="Fim",XEt="Expandir",JEt="Preencher",YEt="Pasta",KEt="A partir de:",ZEt="Funções",QEt="Rede",e2t="Altura",t2t="identidade",r2t="IDs",n2t="Individual",o2t="Instância",a2t="intervalos",i2t="Rótulo",s2t="Etiquetas",l2t="Esquerda",c2t="lenda",d2t="Limites",u2t="Linha",p2t="Ligação",h2t="a Principal",f2t="Marcando",m2t="Marcas",g2t="Max",v2t="Membros",y2t="Min",_2t="Mínimo máximo",b2t="Mais",w2t="Múltiplo",x2t="Nome",S2t="Nenhum",C2t="X-Offset",$2t="Está bem",k2t="Aberto",E2t="Opções",T2t="Orientação",O2t="Outras",D2t="Colar",A2t="Percentil",I2t="Torta",M2t="Pontos",P2t="Gráfico polar",N2t="Poligonal",R2t="Presets",j2t="Em processamento",L2t="Alcance",z2t="Relativo",F2t="Renomear",B2t="Certo",W2t="Função",H2t="Quarto",U2t="quartos",V2t="Raiz",q2t="Segundos",G2t="Selecione",X2t="Suavização",J2t="Fonte",Y2t="Spline",K2t="Pilha",Z2t="Passos",Q2t="Estilo",eTt="Texto",tTt="Texto:% s",rTt="Tema",nTt="Tempo",oTt="Título",aTt="Tipo",iTt="Unidade",sTt="Atualizar",lTt="Valor",cTt="Largura",dTt="Com",uTt="Sem",pTt="Área",hTt="auto",fTt="média",mTt="Barra",gTt="inferior",vTt="colorido inferior",yTt='Digite a fórmula como "val / 1000 + 3". Esta fórmula será aplicada a todos os valores do ponto de dados selecionado.',_Tt="copiado",bTt="cópia",wTt="contar",xTt="contagens",STt="Valor atual",CTt="tracejadas",$Tt="dia",kTt="diferença",ETt="pontilhado",TTt="Dia da semana",OTt="editar",DTt="horizontal",ATt="15 minutos",ITt="1 dia",MTt="1 hora",PTt="30 dias",NTt="integrante",RTt="esquerda",jTt="colorido esquerdo",LTt="Linha",zTt="linear",FTt="Trama de linha",BTt="carga",WTt="máximo",HTt="meio",UTt="min",VTt="mínimo máximo",qTt="mês",GTt="não",XTt="Nenhum",JTt="Nenhum",YTt="agora",KTt="fora",ZTt="em mudança",QTt="percentil",eOt="Gráfico polar",tOt="cru",rOt="relativo",nOt="recarregar",oOt="certo",aOt="cor clara",iOt="Função",sOt="Salve ",lOt="Parcela de dispersão",cOt="segundos",dOt="sólido",uOt="Spline",pOt="padrão",hOt="Passos",fOt="para",mOt="hoje",gOt="topo",vOt="colorido superior",yOt="total",_Ot="vertical",bOt="fim do dia",wOt="fim de domingo",xOt="ano",SOt="sim",COt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"% s atrás","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 segundos","0s":"0 segundos","1 day":"1 dia","1 hour":"1 hora","1 minute":"1 minuto","1 month":"1 mês","1 week":"1 semana","1 year":"1 ano","10 minutes":"10 minutos","10 seconds":"10 segundos","10m":"10 minutos","10minutes":"fim de 10 minutos","10s":"10 segundos","12 hours":"12 horas","12H":"12 horas","12W":"12 semanas","12hours":"fim de 12 horas","14 days":"14 dias","15 minutes":"15 minutos","15 seconds":"15 segundos","15m":"15 minutos","1D":"1 dia","1H":"1 hora","1M":"1 mês","1W":"1 semana","1Y":"1 ano","1hour":"fim de hora","1minute":"fim de minuto","1s":"1 segundo","2 days":"2 dias","2 hours":"2 horas","2 minutes":"2 minutos","2 months":"2 meses","2 weeks":"2 semanas","2 years":"2 anos","20 minutes":"20 minutos","20 seconds":"20 segundos","26W":"26 semanas","2D":"2 dias","2H":"2 horas","2M":"2 meses","2W":"2 semanas","2Y":"2 anos","2hours":"fim de 2 horas","2m":"2 minutos","2s":"2 segundos","3 days":"3 dias","3 hours":"3 horas","3 minutes":"3 minutos","3 months":"3 meses","30 minutes":"30 minutos","30 seconds":"30 segundos","300ms":"300ms","30m":"30 minutos","30minutes":"fim de 30 minutos","30s":"30 segundos","3D":"3 dias","3M":"3 meses","3hours":"fim de 3 horas","3m":"3 minutos","3s":"3 segundos","4 days":"4 dias","4 minutes":"4 minutos","45 minutes":"45 minutos","45m":"45 minutos","4D":"4 dias","4W":"4 semanas","4hours":"fim de 4 horas","4m":"4 minutos","5 minutes":"5 minutos","5 seconds":"5 segundos","500ms":"500ms","5m":"5 minutos","5minutes":"fim de 5 minutos","5s":"5 segundos","6 hours":"6 horas","6 months":"6 meses","60 seconds":"60 segundos","60s":"60 segundos","6H":"6 horas","6M":"6 meses","6hours":"fim de 6 horas","7 days":"7 dias","8W":"8 semanas","8hours":"fim de 8 horas","90 seconds":"90 segundos",Acknowledged:xEt,Add:SEt,"Add line to chart":"Adicionar linha ao gráfico","Add marking line to chart":"Adicionar linha de marcação ao gráfico","Add new line":"Adicionar nova linha","Add new markings":"Adicionar novas marcações","Add new state name":"Adicionar novo nome de estado","Add new value":"Adicionar novo valor","After comma":"Após a vírgula",Aggregate:CEt,"Aggregate for lines":"Agregação para linhas",Aggregation:$Et,"Aggregation:":"Tipo:",All:kEt,"Animation:":"Animação:",Appearance:EEt,Apply:TEt,"Are you sure for closing folder and discard unsaved changes?":"Tem certeza de que deseja fechar a pasta e descartar as alterações não salvas?","Are you sure for delete this line?":"Tem certeza que deseja excluir esta linha?","Are you sure for delete this mark?":"Tem certeza de que deseja excluir esta marca?","Are you sure for delete this preset?":"Tem certeza de que deseja excluir esta predefinição?","Are you sure for loading the chart and discard unsaved changes?":"Tem certeza de que deseja carregar o gráfico e descartar as alterações não salvas?","Are you sure for loading the preset and discard unsaved changes?":"Tem certeza de que deseja carregar a predefinição e descartar as alterações não salvas?","Arrange bools":"Organizar booleanos",Auto:OEt,"Auto (Line or Steps)":"Auto (linha ou etapas)","Auto padding":"Recuo automático","Auto save":"Salvamento automático","Auto-refresh":"Atualização automática","Auto-update:":"Atualização automática:",Axis:DEt,"Background of radar chart":"Plano de fundo do gráfico de radar","Background:":"Fundo:",Backgrounds:AEt,Bar:IEt,"Bar settings":"Configurações da barra","Bars width:":"Largura das barras:",Border:MEt,"Border color:":"Cor da borda:","Border padding":"Preenchimento de borda","Border width":"Largura da borda","Border width:":"Largura da borda:","Bottom, center, inside":"No fundo, no centro, no interior","Bottom, center, outside":"Fundo, centro, fora","Bottom, left":"Inferior esquerdo","Bottom, left, inside":"Parte inferior, esquerda, dentro","Bottom, right":"Canto inferior direito","Bottom, right, inside":"Parte inferior, direita, dentro","Bottom, right, outside":"Parte inferior, direita, fora",Cancel:PEt,"Cannot create unique ID":"Não é possível criar ID exclusivo","Chart Type":"Tipo de gráfico","Chart background":"Plano de fundo do gráfico","Chart background:":"Contexto do gráfico:","Chart size":"Tamanho do gráfico","Chart type":"Tipo de Gráfico","Charts preview":"Visualização de gráficos",Circle:NEt,Close:REt,Collapse:jEt,"Collapse all lines":"Recolher todas as linhas","Collapse all markings":"Recolher todas as marcações",Color:LEt,"Common Y Axis":"Eixo Y comum","Convert formula":"Fórmula de conversão",Copy:zEt,"Copy link to clipboard":"Copiar link para a área de transferência",Counts:FEt,Create:BEt,"Create folder":"Criar pasta","Create new folder":"Criar nova pasta","Create new preset":"Criar uma nova predefinição","Create preset":"Criar predefinição","Custom chart background:":"Fundo de gráfico personalizado:","Custom time format":"Formato de hora personalizado",Data:WEt,Default:HEt,Delete:UEt,"Delete object":"Eliminar objeto","Delete text value":"Excluir valor de texto",Dialog:VEt,"Digits after comma":"Dígitos depois da vírgula","Drag me":"Arraste-me",Edit:qEt,"Edit folder name":"Editar o nome da pasta","Edit options for line %s":"Editar opções para a linha% s","Edit state names":"Editar nomes de estado","Empty preset cannot be saved!":"Predefinição vazia não pode ser salva!","Enable logging for new state":"Ativar registro para novo estado","Enable zoom and pan":"Ativar zoom e panorâmica","Enable zoom and pan:":"Ative o zoom e pan:",End:GEt,"End:":"Fim:","Enter chart name":"Digite o nome do gráfico",Expand:XEt,"Expand all lines":"Expandir todas as linhas","Expand all markings":"Expanda todas as marcações","Export data color":"Cor do botão de exportação de dados",Fill:JEt,"Fill color:":"Cor de preenchimento:","Fill range:":"Faixa de preenchimento:","Fill(0to1)":"Preencher (0 a 1)",Folder:YEt,"Font size":"Tamanho da fonte",From:KEt,"From line %s":"Da linha %s",Functions:ZEt,Grid:QEt,"Grid color":"Cor da grade","Grid color:":"Cor da grade:","Group by":"Grupo por","HH:MM dd.mm":"HH:MM dd.mm",Height:e2t,"Height:":"Altura:","Hide X grid":"Ocultar grade X","Hide Y grid":"Ocultar grade Y","Hide edit button:":"Ocultar botão de edição:","Hide nulls in tooltip":"Ocultar nulos na dica de ferramenta","Hover details":"Detalhes de navegação","Hover details:":"Detalhes do mouse:",ID:t2t,IDs:r2t,"If the current value is not older than X seconds, assume it is still the same.":"Se o valor atual não for mais antigo do que X segundos, assuma que ainda é o mesmo.","In seconds":"Em segundos",Individual:n2t,"Input data":"Dados de entrada","Inside / No lines":"Dentro / Sem linhas","Inside / With lines":"Dentro / Com linhas","Inside end":"Dentro, no final","Inside end bottom":"Dentro, no final, no fundo","Inside end top":"Dentro, no final, em cima","Inside middle":"Dentro, no meio","Inside middle bottom":"Dentro, no meio, embaixo","Inside middle top":"Dentro, no meio, em cima","Inside start":"Dentro, no começo","Inside start bottom":"Dentro, no início, na parte inferior","Inside start top":"Dentro, no começo, no topo",Instance:o2t,"Integral unit":"Unidade integral","Interpolate:":"Interpolar:","Interpolation method":"Método de interpolação",Intervals:a2t,"Invalid object":"Objeto inválido",Label:i2t,"Label color:":"Cor do rótulo:","Label font size:":"Etiquetar tamanho da fonte:",Labels:s2t,"Last changed":"Última modificação",Left:l2t,Legend:c2t,"Legend background":"Fundo da legenda","Legend background:":"Legend background:","Legend columns:":"Colunas da legenda:","Legend opacity (from 0 to 1):":"Opacidade da legenda (de 0 a 1):","Legend text color":"Cor do texto da legenda",Limits:d2t,Line:u2t,"Line ID":"ID da linha","Line Width":"Espessura da linha","Line and area":"Linha e área","Line style":"Estilo de linha",Link:p2t,"Live update every":"Atualização ao vivo a cada","Live update every:":"Atualização ao vivo a cada:","Load without save":"Carregar sem salvar","Loading...":"Carregando...","Lower value or ID":"Menor valor ou ID",Main:h2t,Mark:f2t,Markings:m2t,Max:g2t,"Max:":"Máximo:",Members:v2t,"Middle, left, inside":"Médio, esquerda, dentro","Middle, right, inside":"Médio, direito, dentro","Middle, right, outside":"Médio, direito, fora",Min:y2t,"Min:":"Mínimo:",MinMax:_2t,More:b2t,"Move to folder":"Mover para a pasta",Multiple:w2t,"NULL as":"NULL como",Name:x2t,"Name:":"Nome:","No ID yet":"Sem ID ainda","No background":"Sem fundo","No border:":"Sem borda:","No future":"Sem valores no futuro","No interpolate in hover":"Sem interpolação na dica de ferramenta","No presets created yet":"Nenhuma predefinição criada ainda",None:S2t,Offset:C2t,Ok:$2t,Open:k2t,"Open chart in own window":"Abra o gráfico na própria janela","Open in own window":"Abra na própria janela",Options:E2t,Orientation:T2t,Others:O2t,"Outside / No lines":"Fora / Sem linhas","Outside/ With lines":"Fora / Com linhas",Paste:D2t,Percentile:A2t,Pie:I2t,"Please confirm":"Por favor confirme",Points:M2t,Polar:P2t,Polygonal:N2t,"Predefined background:":"Antecedentes predefinidos:",Presets:R2t,Processing:j2t,"Processing...":"Em processamento...",Range:L2t,"Range:":"Alcance:",Relative:z2t,Rename:F2t,"Rename preset":"Renomear predefinição","Reorder presets in folders":"Reordenar predefinições em pastas","Reset settings":"Redefinir configurações","Reset zoom after idle":"Redefinir o zoom após inatividade",Right:B2t,Role:W2t,Room:H2t,Rooms:U2t,Root:V2t,"Save current preset and load":"Salvar predefinição atual e carregar","Save image button color":"Salvar cor do botão de imagem","Save into:":"Salvar em:","Scatter plot":"Gráfico de dispersão",Seconds:q2t,Select:G2t,"Select ID":"Selecione ID","Select for":"Selecione para","Shadow Size":"Tamanho da sombra","Show controls":"Mostrar controles","Show export data button":"Mostrar botão de exportação de dados","Show labels:":"Mostrar rótulos:","Show legend":"Mostrar legenda","Show legend:":"Mostrar lenda:","Show only in legend":"Mostrar apenas na legenda","Show points":"Mostrar pontos","Show save image button":"Mostrar botão de salvar imagem","Show values":"Mostrar valores",Smoothing:X2t,Source:J2t,Spline:Y2t,Stack:K2t,"Start:":"Começar:","State value":"valor do estado","State value text":"Texto do valor do estado","Step span:":"Passo:","Step type":"Tipo de etapa","Step type:":"Tipo de etapa:",Steps:Z2t,"Steps on start":"Passos no início",Style:Q2t,"System settings":"Configurações de sistema",Text:eTt,"Text X offset":"X-Deslocamento de texto","Text Y offset":"Deslocamento Y do texto","Text by false":"Texto por falso","Text by true":"Texto por verdadeiro","Text color":"Cor do texto","Text position":"Posição de texto","Text size":"Tamanho do texto","Text values not used":"Valores de texto não usados",Texts:tTt,Theme:rTt,"This time offset will be added to the X label by displaying data on the chart":"Este deslocamento de tempo será adicionado ao rótulo X exibindo dados no gráfico","This time offset will be added to the request by reading data from DB":"Este deslocamento de tempo será adicionado à solicitação lendo os dados do banco de dados","Ticks from:":"Use X-ticks de:",Time:nTt,"Time Span":"Intervalo de tempo","Time format":"Formato de hora","Time format:":"Formato do tempo:","Time span":"Intervalo de tempo","Time stamp":"Marca de horário",Title:oTt,"Title color":"Cor do título","Title color:":"Cor do título:","Title position":"Posição do título","Title position:":"Posição do título:","Title size":"Tamanho do título","Title size:":"Tamanho do título:","Title:":"Título:","Top, center, inside":"Topo, centro, dentro","Top, left":"Superior esquerdo","Top, left, inside":"Topo, esquerda, dentro","Top, right":"Canto superior direito","Top, right, inside":"Topo, direito, dentro","Top, right, outside":"Topo, direito, fora",Type:aTt,Unit:iTt,"Units:":"Unidades:",Update:sTt,"Update objects":"Atualizar objetos","Update states":"Estado de atualização","Upper value or ID":"Valor superior ou ID","Use comma":"Use vírgula","Use comma:":"Usar vírgula:","Use state names":"Usar nomes de estado","User defined":"Usuário definido","User defined names:":"Nomes definidos pelo usuário:","Valid time (sec)":"Tempo válido (s)",Value:lTt,Width:cTt,"Width:":"Largura:","Window background":"Fundo da janela","Window background:":"Fundo da janela:",With:dTt,"With border":"Com fronteira","With lines":"Com linhas",Without:uTt,"Without border":"Sem fronteira","Without lines":"Sem linhas","X Axis":"X Axis","X Axis position":"Posição do eixo X","X axis labels color:":"Cor de etiquetas X:","X labels color":"Cor dos rótulos X","X labels size":"Tamanho da fonte X","X ticks color":"Cor X carrapatos","X-Axis ticks":"Carrapatos do X-Axis","X-Label-Offset":"Deslocamento da etiqueta X","X-Offset":"X-Offset","Y Axis":"Eixo Y","Y Axis position":"Posição do eixo Y","Y axis labels color:":"Etiquetas de etiquetas Y:","Y labels color":"Cor dos rótulos Y","Y labels size":"Tamanho da fonte Y","Y ticks color":"Cor dos carrapatos Y","Y-Axis ticks":"Carrapatos do Y-Axis","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Você pode criar uma nova marcação com um "+" à direita.',"You can drag and drop simple lines from the left list.":"Você pode arrastar e soltar linhas simples da lista à esquerda.","add children":"adicionar filhos",area:pTt,auto:hTt,average:fTt,bar:mTt,bottom:gTt,bottomColor:vTt,convert_help:yTt,copied:_Tt,copy:bTt,count:wTt,counts:xTt,current:STt,dashed:CTt,day:$Tt,default:"padrão",difference:kTt,dotted:ETt,dow:TTt,edit:OTt,"edit enum":"editar enum","edit file":"editar arquivo","end of 10 minutes":"fim de 10 minutos","end of 12 hours":"fim de 12 horas","end of 2 hours":"fim de 2 horas","end of 3 hours":"fim de 3 horas","end of 30 minutes":"fim de 30 minutos","end of 4 hours":"fim de 4 horas","end of 5 minutes":"fim de 5 minutos","end of 6 hours":"fim de 6 horas","end of 8 hours":"fim de 8 horas","end of day":"fim do dia","end of hour":"fim de hora","end of minute":"fim de minuto","end of previous saturday":"final do sábado anterior (2 semanas)","end of previous sunday":"final do domingo anterior (2 semanas)","end of saturday":"fim de sábado","end of sunday":"fim de domingo",false:"nulo",horizontal:DTt,i15min:ATt,i1day:ITt,i1hour:MTt,i30days:PTt,"ignore 'null'":"ignore 'null'","ignore 'null':":"ignore 'null':","ignore null values":"ignore valores nulos",integral:NTt,"last value":"último valor",left:RTt,"left colored":"cor esquerda",leftColor:jTt,line:LTt,linear:zTt,lineplot:FTt,load:BTt,max:WTt,middle:HTt,min:UTt,minmax:VTt,month:qTt,new:"Novo",no:GTt,"no null":"& nbsp; nulo","non-processed":"não processado",none:XTt,none_no:JTt,now:YTt,null:"nulo",off:KTt,onchange:ZTt,"own axis":"próprio eixo",percentile:QTt,polar:eOt,raw:tOt,relative:rOt,reload:nOt,"restart script":"reiniciar o script",right:oOt,"right colored":"cor certa",rightColor:aOt,role:iOt,save:sOt,"save %s":"salvar% s",scatterplot:lOt,seconds:cOt,solid:dOt,spline:uOt,standard:pOt,static:"estático",steps:hOt,"this month":"este mês","this year":"este ano",to:fOt,today:mOt,top:gOt,"top over":"mais alto","top under":"top sob",topColor:vOt,total:yOt,true:"último valor","update Preview":"atualização Visualização","use 0 instead of null values":"use 0 em vez de valores nulos",vertical:_Ot,weekEurope:bOt,weekUsa:wOt,year:xOt,yes:SOt,ØL:"ØL","ØL - Line thickness":"ØL - Espessura da linha","ØL Line thickness":"Espessura da linha ØL",ØS:"ØS","ØS - Shadow size":"ØS - Tamanho da sombra","ØS Shadow size":"ØS tamanho da sombra"},$Ot="Erkend",kOt="Toevoegen",EOt="Totaal",TOt="Type",OOt="Alle",DOt="Uiterlijk",AOt="Toepassen",IOt="Auto",MOt="As",POt="Achtergronden",NOt="Bar",ROt="Grens",jOt="Annuleer",LOt="Cirkel",zOt="Dichtbij",FOt="Ineenstorting",BOt="Kleur",WOt="Kopiëren",HOt="tellingen",UOt="Creëer",VOt="Gegevens",qOt="Standaard",GOt="Verwijderen",XOt="Dialoog",JOt="Bewerk",YOt="Einde",KOt="Uitbreiden",ZOt="Vullen",QOt="Map",eDt="Van:",tDt="Functies",rDt="Raster",nDt="Hoogte",oDt="ID kaart",aDt="IDs",iDt="individu",sDt="Aanleg",lDt="intervallen",cDt="Etiket",dDt="Etiketten",uDt="Links",pDt="Legende",hDt="Grenzen",fDt="Lijn",mDt="Link",gDt="Hoofd",vDt="Markering",yDt="markeringen",_Dt="Max",bDt="leden",wDt="min",xDt="MinMax",SDt="meer",CDt="Meerdere",$Dt="Naam",kDt="Geen",EDt="-X Offset",TDt="OK",ODt="Open",DDt="opties",ADt="Oriëntatie",IDt="Anderen",MDt="Plakken",PDt="percentiel",NDt="Taart",RDt="punten",jDt="Polaire kaart",LDt="Veelhoekig",zDt="presets",FDt="Verwerken",BDt="Bereik",WDt="Familielid",HDt="Hernoemen",UDt="Rechts",VDt="Rol",qDt="Kamer",GDt="Kamers",XDt="Wortel",JDt="seconden",YDt="kiezen",KDt="smoothing",ZDt="Bron",QDt="Spline",eAt="stack",tAt="Stappen",rAt="Stijl",nAt="Tekst",oAt="Teksten",aAt="Thema",iAt="Tijd",sAt="Titel",lAt="Type",cAt="Eenheid",dAt="Bijwerken",uAt="Waarde",pAt="Breedte",hAt="Met",fAt="Zonder",mAt="Gebied",gAt="auto",vAt="gemiddelde",yAt="Bar",_At="bodem",bAt="onderaan gekleurd",wAt='Voer de formule in zoals "val / 1000 + 3". Deze formule wordt toegepast op alle waarden van het geselecteerde datapunt.',xAt="gekopieerd",SAt="kopiëren",CAt="graaf",$At="tellingen",kAt="Huidige waarde",EAt="onderbroken",TAt="dag",OAt="verschil",DAt="gestippeld",AAt="Dag van de week",IAt="bewerking",MAt="horizontaal",PAt="15 minuten",NAt="1 dag",RAt="1 uur",jAt="30 dagen",LAt="integraal",zAt="links",FAt="links gekleurd",BAt="Lijn",WAt="lineair",HAt="Lijnplot",UAt="laden",VAt="max",qAt="midden-",GAt="min",XAt="MinMax",JAt="maand",YAt="Nee",KAt="geen",ZAt="geen",QAt="nu",eIt="uit",tIt="over verandering",rIt="percentiel",nIt="Polaire kaart",oIt="rauw",aIt="familielid",iIt="herladen",sIt="rechts",lIt="rechts gekleurd",cIt="rol",dIt="opslaan",uIt="Scatterplot",pIt="seconden",hIt="solide",fIt="spline",mIt="standaard-",gIt="Stappen",vIt="naar",yIt="vandaag",_It="top",bIt="bovenaan gekleurd",wIt="totaal",xIt="verticaal",SIt="einde van de dag",CIt="einde van zondag",$It="jaar",kIt="Ja",EIt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"% s geleden","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 seconden","0s":"0 seconden","1 day":"1 dag","1 hour":"1 uur","1 minute":"1 minuut","1 month":"1 maand","1 week":"1 week","1 year":"1 jaar","10 minutes":"10 minuten","10 seconds":"10 seconden","10m":"10 minuten","10minutes":"einde van 10 minuten","10s":"10 seconden","12 hours":"12 uren","12H":"12 uren","12W":"12 weken","12hours":"einde van 12 uur","14 days":"14 dagen","15 minutes":"15 minuten","15 seconds":"15 seconden","15m":"15 minuten","1D":"1 dag","1H":"1 uur","1M":"1 maand","1W":"1 week","1Y":"1 jaar","1hour":"einde van het uur","1minute":"einde van de minuut","1s":"1 seconde","2 days":"2 dagen","2 hours":"twee uur","2 minutes":"2 minuten","2 months":"2 maanden","2 weeks":"2 weken","2 years":"2 jaar","20 minutes":"20 minuten","20 seconds":"20 seconden","26W":"26 weken","2D":"2 dagen","2H":"twee uur","2M":"2 maanden","2W":"2 weken","2Y":"2 jaar","2hours":"einde van 2 uur","2m":"2 minuten","2s":"2 seconden","3 days":"3 dagen","3 hours":"3 uur","3 minutes":"3 minuten","3 months":"3 maanden","30 minutes":"30 minuten","30 seconds":"30 seconden","300ms":"300ms","30m":"30 minuten","30minutes":"einde van 30 minuten","30s":"30 seconden","3D":"3 dagen","3M":"3 maanden","3hours":"einde van 3 uur","3m":"3 minuten","3s":"3 seconden","4 days":"4 dagen","4 minutes":"4 minuten","45 minutes":"45 minuten","45m":"45 minuten","4D":"4 dagen","4W":"4 weken","4hours":"einde van 4 uur","4m":"4 minuten","5 minutes":"5 minuten","5 seconds":"5 seconden","500ms":"500ms","5m":"5 minuten","5minutes":"einde van 5 minuten","5s":"5 seconden","6 hours":"6 uur","6 months":"6 maanden","60 seconds":"60 seconden","60s":"60 seconden","6H":"6 uur","6M":"6 maanden","6hours":"einde van 6 uur","7 days":"7 dagen","8W":"8 weken","8hours":"einde van 8 uur","90 seconds":"90 seconden",Acknowledged:$Ot,Add:kOt,"Add line to chart":"Voeg lijn toe aan diagram","Add marking line to chart":"Voeg een markeringslijn toe aan de grafiek","Add new line":"Voeg een nieuwe regel toe","Add new markings":"Voeg nieuwe markeringen toe","Add new state name":"Nieuwe staatsnaam toevoegen","Add new value":"Nieuwe waarde toevoegen","After comma":"Na een komma",Aggregate:EOt,"Aggregate for lines":"Aggregatie voor lijnen",Aggregation:TOt,"Aggregation:":"Type:",All:OOt,"Animation:":"animatie:",Appearance:DOt,Apply:AOt,"Are you sure for closing folder and discard unsaved changes?":"Weet u zeker dat u de map wilt sluiten en de niet-opgeslagen wijzigingen wilt verwijderen?","Are you sure for delete this line?":"Weet u zeker dat u deze regel wilt verwijderen?","Are you sure for delete this mark?":"Weet u zeker dat u deze markering wilt verwijderen?","Are you sure for delete this preset?":"Weet u zeker dat u deze voorinstelling wilt verwijderen?","Are you sure for loading the chart and discard unsaved changes?":"Weet u zeker dat u de grafiek wilt laden en niet-opgeslagen wijzigingen wilt verwijderen?","Are you sure for loading the preset and discard unsaved changes?":"Weet u zeker dat u de voorinstelling wilt laden en niet-opgeslagen wijzigingen wilt verwijderen?","Arrange bools":"Booleans regelen",Auto:IOt,"Auto (Line or Steps)":"Auto (lijn of stappen)","Auto padding":"Automatisch inspringen","Auto save":"Automatisch opslaan","Auto-refresh":"Automatisch vernieuwen","Auto-update:":"Auto update:",Axis:MOt,"Background of radar chart":"Achtergrond van radargrafiek","Background:":"Achtergrond:",Backgrounds:POt,Bar:NOt,"Bar settings":"Bar-instellingen","Bars width:":"Staaf breedte:",Border:ROt,"Border color:":"Rand kleur:","Border padding":"Rand opvulling","Border width":"Grensbreedte","Border width:":"Grensbreedte:","Bottom, center, inside":"Onder, midden, binnen","Bottom, center, outside":"Onder, midden, buiten","Bottom, left":"Linksonder","Bottom, left, inside":"Onder, links, binnen","Bottom, right":"Rechts onder","Bottom, right, inside":"Onder, rechts, binnen","Bottom, right, outside":"Onder, rechts, buiten",Cancel:jOt,"Cannot create unique ID":"Kan geen unieke ID aanmaken","Chart Type":"Diagramtype","Chart background":"Grafiek achtergrond","Chart background:":"Grafiek achtergrond:","Chart size":"Grootte van de grafiek","Chart type":"Grafiektype","Charts preview":"Grafiekvoorbeeld",Circle:LOt,Close:zOt,Collapse:FOt,"Collapse all lines":"Vouw alle regels samen","Collapse all markings":"Vouw alle markeringen samen",Color:BOt,"Common Y Axis":"Gemeenschappelijke Y-as","Convert formula":"Conversie formule",Copy:WOt,"Copy link to clipboard":"Kopieer link naar klembord",Counts:HOt,Create:UOt,"Create folder":"Map aanmaken","Create new folder":"Maak een nieuwe map","Create new preset":"Maak een nieuwe voorinstelling","Create preset":"Maak een voorinstelling","Custom chart background:":"Aangepaste grafiek achtergrond:","Custom time format":"Aangepast tijdformaat",Data:VOt,Default:qOt,Delete:GOt,"Delete object":"Object verwijderen","Delete text value":"Tekstwaarde verwijderen",Dialog:XOt,"Digits after comma":"Cijfers na komma","Drag me":"Sleep me",Edit:JOt,"Edit folder name":"Bewerk mapnaam","Edit options for line %s":"Bewerk opties voor regel% s","Edit state names":"Staatsnamen bewerken","Empty preset cannot be saved!":"Lege presets kunnen niet worden opgeslagen!","Enable logging for new state":"Schakel logboekregistratie in voor nieuwe staat","Enable zoom and pan":"Schakel zoomen en pannen in","Enable zoom and pan:":"Zoom en pan inschakelen:",End:YOt,"End:":"Einde:","Enter chart name":"Voer de diagramnaam in",Expand:KOt,"Expand all lines":"Vouw alle regels uit","Expand all markings":"Vouw alle markeringen uit","Export data color":"Knopkleur gegevens exporteren",Fill:ZOt,"Fill color:":"Opvulkleur:","Fill range:":"Vulbereik:","Fill(0to1)":"Fill (0to1)",Folder:QOt,"Font size":"Lettertypegrootte",From:eDt,"From line %s":"Van regel %s",Functions:tDt,Grid:rDt,"Grid color":"Rasterkleur","Grid color:":"Raster kleur:","Group by":"Groeperen op","HH:MM dd.mm":"UU:MM dd.mm",Height:nDt,"Height:":"Hoogte:","Hide X grid":"Verberg X-raster","Hide Y grid":"Verberg Y-raster","Hide edit button:":"Verberg bewerken knop:","Hide nulls in tooltip":"Verberg null-waarden in tooltip","Hover details":"Beweeg de details","Hover details:":"Hover details:",ID:oDt,IDs:aDt,"If the current value is not older than X seconds, assume it is still the same.":"Als de huidige waarde niet ouder is dan X seconden, neem dan aan dat deze nog steeds hetzelfde is.","In seconds":"In seconden",Individual:iDt,"Input data":"Invoergegevens","Inside / No lines":"Binnenkant / Geen regels","Inside / With lines":"Binnen / met lijnen","Inside end":"Binnen, aan het einde","Inside end bottom":"Binnen, aan het einde, onderaan","Inside end top":"Binnen, aan het einde, bovenop","Inside middle":"Binnen, in het midden","Inside middle bottom":"Binnen, in het midden, onderaan","Inside middle top":"Binnen, in het midden, bovenaan","Inside start":"Binnen, aan het begin","Inside start bottom":"Binnen, aan het begin, aan de onderkant","Inside start top":"Binnen, aan het begin, bovenop",Instance:sDt,"Integral unit":"Integrale eenheid","Interpolate:":"Interpoleren:","Interpolation method":"Interpolatie methode:",Intervals:lDt,"Invalid object":"Ongeldig object",Label:cDt,"Label color:":"Label kleur:","Label font size:":"Label lettergrootte:",Labels:dDt,"Last changed":"Laatst gewijzigd",Left:uDt,Legend:pDt,"Legend background":"Legenda achtergrond","Legend background:":"Legenda achtergrond:","Legend columns:":"Legenda kolommen:","Legend opacity (from 0 to 1):":"Legenda opaciteit (van 0 tot 1):","Legend text color":"Tekstkleur legenda",Limits:hDt,Line:fDt,"Line ID":"Lijn-ID","Line Width":"Lijnbreedte","Line and area":"Lijn en gebied","Line style":"Lijnstijl",Link:mDt,"Live update every":"Live update elke","Live update every:":"Live update elke:","Load without save":"Laden zonder opslaan","Loading...":"Bezig met laden...","Lower value or ID":"Lagere waarde of ID",Main:gDt,Mark:vDt,Markings:yDt,Max:_Dt,"Max:":"maximaal:",Members:bDt,"Middle, left, inside":"Midden, links, binnenkant","Middle, right, inside":"Midden, rechts, binnenkant","Middle, right, outside":"Midden, rechts, buiten",Min:wDt,"Min:":"Minimum:",MinMax:xDt,More:SDt,"Move to folder":"Verplaats naar map",Multiple:CDt,"NULL as":"NULL als",Name:$Dt,"Name:":"Naam:","No ID yet":"Nog geen ID","No background":"Geen achtergrond","No border:":"Geen grens:","No future":"Geen waarden in de toekomst","No interpolate in hover":"Geen interpolatie in tooltip","No presets created yet":"Er zijn nog geen voorinstellingen gemaakt",None:kDt,Offset:EDt,Ok:TDt,Open:ODt,"Open chart in own window":"Open kaart in eigen venster","Open in own window":"Openen in eigen raam",Options:DDt,Orientation:ADt,Others:IDt,"Outside / No lines":"Buiten / Geen lijnen","Outside/ With lines":"Buiten / met lijnen",Paste:MDt,Percentile:PDt,Pie:NDt,"Please confirm":"Bevestig alstublieft",Points:RDt,Polar:jDt,Polygonal:LDt,"Predefined background:":"Voorgedefinieerde achtergrond:",Presets:zDt,Processing:FDt,"Processing...":"Verwerken...",Range:BDt,"Range:":"bereik:",Relative:WDt,Rename:HDt,"Rename preset":"Hernoem preset","Reorder presets in folders":"Voorinstellingen in mappen opnieuw ordenen","Reset settings":"Reset instellingen","Reset zoom after idle":"Zoom opnieuw instellen na inactiviteit",Right:UDt,Role:VDt,Room:qDt,Rooms:GDt,Root:XDt,"Save current preset and load":"Huidige voorinstelling opslaan en laden","Save image button color":"Bewaar de kleur van de afbeeldingsknop","Save into:":"Bewaar in:","Scatter plot":"Scatterplot",Seconds:JDt,Select:YDt,"Select ID":"Selecteer ID","Select for":"Selecteer voor","Shadow Size":"Schaduwgrootte","Show controls":"Bedieningselementen weergeven","Show export data button":"Knop Exportgegevens weergeven","Show labels:":"Toon labels:","Show legend":"Legenda weergeven","Show legend:":"Legenda weergeven:","Show only in legend":"Alleen in legenda weergeven","Show points":"Toon punten","Show save image button":"Toon knop afbeelding opslaan","Show values":"Toon waarden",Smoothing:KDt,Source:ZDt,Spline:QDt,Stack:eAt,"Start:":"Begin:","State value":"Staat waarde","State value text":"Staat waarde tekst","Step span:":"Stap overspanning:","Step type":"Stap type","Step type:":"Stap type:",Steps:tAt,"Steps on start":"Stappen bij het starten",Style:rAt,"System settings":"Systeem instellingen",Text:nAt,"Text X offset":"Tekst X-offset","Text Y offset":"Tekst Y-offset","Text by false":"Tekst door vals","Text by true":"Tekst door waar","Text color":"Tekst kleur","Text position":"Tekstpositie","Text size":"Lettergrootte","Text values not used":"Tekstwaarden worden niet gebruikt",Texts:oAt,Theme:aAt,"This time offset will be added to the X label by displaying data on the chart":"Deze tijdsverschuiving wordt toegevoegd aan het X-label door gegevens op de kaart weer te geven","This time offset will be added to the request by reading data from DB":"Deze tijdverschuiving wordt aan het verzoek toegevoegd door gegevens uit DB te lezen","Ticks from:":"Gebruik X-ticks van:",Time:iAt,"Time Span":"Tijdspanne","Time format":"Tijd formaat","Time format:":"Tijd formaat:","Time span":"Tijdspanne","Time stamp":"Tijdstempel",Title:sAt,"Title color":"Titel kleur","Title color:":"Titel kleur:","Title position":"Titelpositie","Title position:":"Titel positie:","Title size":"Titel grootte","Title size:":"Titel grootte:","Title:":"Titel:","Top, center, inside":"Boven, midden, binnenkant","Top, left":"Linksboven","Top, left, inside":"Boven, links, binnen","Top, right":"Rechtsboven","Top, right, inside":"Boven, rechts, binnen","Top, right, outside":"Boven, rechts, buiten",Type:lAt,Unit:cAt,"Units:":"units:",Update:dAt,"Update objects":"Objecten bijwerken","Update states":"Status bijwerken","Upper value or ID":"Hoogste waarde of ID","Use comma":"Gebruik een komma","Use comma:":"Gebruik komma:","Use state names":"Gebruik staatsnamen","User defined":"Gebruiker gedefinieerde","User defined names:":"Door de gebruiker gedefinieerde namen:","Valid time (sec)":"Geldige tijd (sec)",Value:uAt,Width:pAt,"Width:":"Breedte:","Window background":"Venster achtergrond","Window background:":"Venster achtergrond:",With:hAt,"With border":"Met rand","With lines":"Met lijnen",Without:fAt,"Without border":"Zonder rand","Without lines":"Zonder lijnen","X Axis":"X-as","X Axis position":"X-as positie","X axis labels color:":"X labels kleur:","X labels color":"X labels kleur","X labels size":"X lettergrootte","X ticks color":"X tikt kleur","X-Axis ticks":"X-as-teken","X-Label-Offset":"X-label-offset","X-Offset":"X-offset","Y Axis":"Y-as","Y Axis position":"Y-as positie","Y axis labels color:":"Y-labels kleur:","Y labels color":"Y-labels kleur","Y labels size":"Y-lettergrootte","Y ticks color":"Y tikt kleur","Y-Axis ticks":"Y-as tikken","Y-Offset":"Y-offset",'You can create a new markings with a "+" on the right.':'U kunt nieuwe markeringen maken met een "+" aan de rechterkant.',"You can drag and drop simple lines from the left list.":"U kunt eenvoudige regels vanuit de linkerlijst slepen en neerzetten.","add children":"voeg kinderen toe",area:mAt,auto:gAt,average:vAt,bar:yAt,bottom:_At,bottomColor:bAt,convert_help:wAt,copied:xAt,copy:SAt,count:CAt,counts:$At,current:kAt,dashed:EAt,day:TAt,default:"standaard",difference:OAt,dotted:DAt,dow:AAt,edit:IAt,"edit enum":"edit enum","edit file":"bestand bewerken","end of 10 minutes":"einde van 10 minuten","end of 12 hours":"einde van 12 uur","end of 2 hours":"einde van 2 uur","end of 3 hours":"einde van 3 uur","end of 30 minutes":"einde van 30 minuten","end of 4 hours":"einde van 4 uur","end of 5 minutes":"einde van 5 minuten","end of 6 hours":"einde van 6 uur","end of 8 hours":"einde van 8 uur","end of day":"einde van de dag","end of hour":"einde van het uur","end of minute":"einde van de minuut","end of previous saturday":"eind vorige zaterdag (2 weken)","end of previous sunday":"eind vorige zondag (2 weken)","end of saturday":"einde van zaterdag","end of sunday":"einde van zondag",false:"nul",horizontal:MAt,i15min:PAt,i1day:NAt,i1hour:RAt,i30days:jAt,"ignore 'null'":"negeer 'null'","ignore 'null':":"negeer 'null':","ignore null values":"Negeer waarden negeren",integral:LAt,"last value":"laatste waarde",left:zAt,"left colored":"links gekleurd",leftColor:FAt,line:BAt,linear:WAt,lineplot:HAt,load:UAt,max:VAt,middle:qAt,min:GAt,minmax:XAt,month:JAt,new:"nieuwe",no:YAt,"no null":"& nbsp; geen null","non-processed":"niet-verwerkt",none:KAt,none_no:ZAt,now:QAt,null:"nul",off:eIt,onchange:tIt,"own axis":"eigen as",percentile:rIt,polar:nIt,raw:oIt,relative:aIt,reload:iIt,"restart script":"herstart script",right:sIt,"right colored":"rechts gekleurd",rightColor:lIt,role:cIt,save:dIt,"save %s":"bespaar% s",scatterplot:uIt,seconds:pIt,solid:hIt,spline:fIt,standard:mIt,static:"statisch",steps:gIt,"this month":"deze maand","this year":"dit jaar",to:vIt,today:yIt,top:_It,"top over":"opnieuw gedaan","top under":"top onder",topColor:bIt,total:wIt,true:"laatste waarde","update Preview":"voorproefje van de nieuwe versie","use 0 instead of null values":"gebruik 0 in plaats van nulwaarden",vertical:xIt,weekEurope:SIt,weekUsa:CIt,year:$It,yes:kIt,ØL:"ØL","ØL - Line thickness":"ØL - Lijndikte","ØL Line thickness":"ØL Lijndikte",ØS:"Os","ØS - Shadow size":"ØS - Schaduwmaat","ØS Shadow size":"ØS Schaduwmaat"},TIt="Reconnu",OIt="Ajouter",DIt="Agrégat",AIt="Type",IIt="Tout",MIt="Apparence",PIt="Appliquer",NIt="Auto",RIt="Axe",jIt="Arrière-plans",LIt="Bar",zIt="Frontière",FIt="Annuler",BIt="Cercle",WIt="Fermer",HIt="Effondrer",UIt="Couleur",VIt="Copie",qIt="Compte",GIt="Créer",XIt="Les données",JIt="Défaut",YIt="Effacer",KIt="Dialogue",ZIt="modifier",QIt="Fin",eMt="Développer",tMt="Remplir",rMt="Dossier",nMt="De:",oMt="Les fonctions",aMt="la grille",iMt="la taille",sMt="ID",lMt="ID",cMt="Individuel",dMt="Exemple",uMt="Intervalles",pMt="Étiquette",hMt="Étiquettes",fMt="La gauche",mMt="Légende",gMt="Limites",vMt="Ligne",yMt="Lien",_Mt="Principale",bMt="Marquage",wMt="Marquages",xMt="Max",SMt="Membres",CMt="Min",$Mt="Min max",kMt="plus",EMt="Plusieurs",TMt="prénom",OMt="Aucun",DMt="X-Offset",AMt="D'accord",IMt="Ouvrir",MMt="Options",PMt="Orientation",NMt="Autres",RMt="Pâte",jMt="Centile",LMt="Tarte",zMt="Points",FMt="Carte polaire",BMt="Polygonal",WMt="Presets",HMt="Traitement",UMt="Gamme",VMt="Relatif",qMt="Renommer",GMt="Droite",XMt="Rôle",JMt="Chambre",YMt="Pièces",KMt="Racine",ZMt="Secondes",QMt="Sélectionner",ePt="Lissage",tPt="Source",rPt="Spline",nPt="Empiler",oPt="Pas",aPt="Style",iPt="Texte",sPt="Les textes",lPt="Thème",cPt="Temps",dPt="Titre",uPt="Type",pPt="Unité",hPt="Mettre à jour",fPt="Valeur",mPt="Largeur",gPt="Avec",vPt="Sans pour autant",yPt="Région",_Pt="auto",bPt="moyenne",wPt="Bar",xPt="bas",SPt="fond coloré",CPt='Entrez la formule comme "val / 1000 + 3". Cette formule sera appliquée à toutes les valeurs du point de données sélectionné.',$Pt="copié",kPt="copie",EPt="compter",TPt="compte",OPt="Valeur actuelle",DPt="brisé",APt="journée",IPt="différence",MPt="pointé",PPt="Jour de la semaine",NPt="modifier",RPt="horizontal",jPt="15 minutes",LPt="Un jour",zPt="1 heure",FPt="30 jours",BPt="intégral",WPt="la gauche",HPt="laissé coloré",UPt="Ligne",VPt="linéaire",qPt="Graphique linéaire",GPt="charge",XPt="max",JPt="milieu",YPt="min",KPt="min max",ZPt="mois",QPt="non",eNt="aucun",tNt="rien",rNt="à présent",nNt="de",oNt="sur le changement",aNt="centile",iNt="Carte polaire",sNt="brut",lNt="relatif",cNt="recharger",dNt="droite",uNt="couleur droite",pNt="rôle",hNt="enregistrer",fNt="Scatter plot",mNt="secondes",gNt="solide",vNt="Spline",yNt="la norme",_Nt="Pas",bNt="à",wNt="aujourd'hui",xNt="Haut",SNt="top coloré",CNt="total",$Nt="verticale",kNt="fin de la journée",ENt="fin de dimanche",TNt="an",ONt="Oui",DNt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"il y a% s","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 seconde","0s":"0 seconde","1 day":"Un jour","1 hour":"1 heure","1 minute":"1 minute","1 month":"1 mois","1 week":"1 semaine","1 year":"1 an","10 minutes":"10 minutes","10 seconds":"10 secondes","10m":"10 minutes","10minutes":"fin de 10 minutes","10s":"10 secondes","12 hours":"12 heures","12H":"12 heures","12W":"12 semaines","12hours":"fin de 12 heures","14 days":"14 jours","15 minutes":"15 minutes","15 seconds":"15 secondes","15m":"15 minutes","1D":"Un jour","1H":"1 heure","1M":"1 mois","1W":"1 semaine","1Y":"1 an","1hour":"fin de l'heure","1minute":"fin de minute","1s":"1 seconde","2 days":"2 jours","2 hours":"2 heures","2 minutes":"2 minutes","2 months":"2 mois","2 weeks":"2 semaines","2 years":"2 ans","20 minutes":"20 minutes","20 seconds":"20 secondes","26W":"26 semaines","2D":"2 jours","2H":"2 heures","2M":"2 mois","2W":"2 semaines","2Y":"2 ans","2hours":"fin de 2 heures","2m":"2 minutes","2s":"2 secondes","3 days":"3 jours","3 hours":"3 heures","3 minutes":"3 minutes","3 months":"3 mois","30 minutes":"30 minutes","30 seconds":"30 secondes","300ms":"300ms","30m":"30 minutes","30minutes":"fin de 30 minutes","30s":"30 secondes","3D":"3 jours","3M":"3 mois","3hours":"fin de 3 heures","3m":"3 minutes","3s":"3 secondes","4 days":"4 jours","4 minutes":"4 minutes","45 minutes":"45 minutes","45m":"45 minutes","4D":"4 jours","4W":"4 semaines","4hours":"fin de 4 heures","4m":"4 minutes","5 minutes":"5 minutes","5 seconds":"5 secondes","500ms":"500ms","5m":"5 minutes","5minutes":"fin de 5 minutes","5s":"5 secondes","6 hours":"6 heures","6 months":"6 mois","60 seconds":"60 secondes","60s":"60 secondes","6H":"6 heures","6M":"6 mois","6hours":"fin de 6 heures","7 days":"7 jours","8W":"8 semaines","8hours":"fin de 8 heures","90 seconds":"90 secondes",Acknowledged:TIt,Add:OIt,"Add line to chart":"Ajouter une ligne au graphique","Add marking line to chart":"Ajouter une ligne de marquage au graphique","Add new line":"Ajouter une nouvelle ligne","Add new markings":"Ajouter de nouvelles marques","Add new state name":"Ajouter un nouveau nom d'état","Add new value":"Ajouter une nouvelle valeur","After comma":"Après la virgule",Aggregate:DIt,"Aggregate for lines":"Agrégation pour les lignes",Aggregation:AIt,"Aggregation:":"Type:",All:IIt,"Animation:":"Animation:",Appearance:MIt,Apply:PIt,"Are you sure for closing folder and discard unsaved changes?":"Êtes-vous sûr de vouloir fermer le dossier et d’ignorer les modifications non enregistrées ?","Are you sure for delete this line?":"Êtes-vous sûr de vouloir supprimer cette ligne?","Are you sure for delete this mark?":"Êtes-vous sûr de vouloir supprimer cette marque?","Are you sure for delete this preset?":"Êtes-vous sûr de vouloir supprimer ce préréglage?","Are you sure for loading the chart and discard unsaved changes?":"Êtes-vous sûr de vouloir charger le graphique et d’ignorer les modifications non enregistrées ?","Are you sure for loading the preset and discard unsaved changes?":"Êtes-vous sûr de vouloir charger le préréglage et d’ignorer les modifications non enregistrées ?","Arrange bools":"Organiser les booléens",Auto:NIt,"Auto (Line or Steps)":"Auto (ligne ou pas)","Auto padding":"Retrait automatique","Auto save":"Sauvegarde automatique","Auto-refresh":"Actualisation automatique","Auto-update:":"Mise à jour automatique:",Axis:RIt,"Background of radar chart":"Fond de carte radar","Background:":"Contexte:",Backgrounds:jIt,Bar:LIt,"Bar settings":"Paramètres du bar","Bars width:":"Largeur des barres:",Border:zIt,"Border color:":"Couleur de la bordure:","Border padding":"Rembourrage de la bordure","Border width":"Largeur de la bordure","Border width:":"Largeur de la bordure:","Bottom, center, inside":"Bas, centre, intérieur","Bottom, center, outside":"Bas, centre, extérieur","Bottom, left":"En bas à gauche","Bottom, left, inside":"Bas, gauche, intérieur","Bottom, right":"En bas à droite","Bottom, right, inside":"En bas, à droite, à l'intérieur","Bottom, right, outside":"En bas, à droite, à l'extérieur",Cancel:FIt,"Cannot create unique ID":"Impossible de créer un identifiant unique","Chart Type":"Type de graphique","Chart background":"Fond de graphique","Chart background:":"Arrière-plan du graphique","Chart size":"Taille du graphique","Chart type":"Type de graphique","Charts preview":"Aperçu des graphiques",Circle:BIt,Close:WIt,Collapse:HIt,"Collapse all lines":"Réduire toutes les lignes","Collapse all markings":"Réduire toutes les marques",Color:UIt,"Common Y Axis":"Axe Y commun","Convert formula":"Formule de conversion",Copy:VIt,"Copy link to clipboard":"Copier le lien dans le presse-papiers",Counts:qIt,Create:GIt,"Create folder":"Créer le dossier","Create new folder":"Créer un nouveau dossier","Create new preset":"Créer un nouveau préréglage","Create preset":"Créer un préréglage","Custom chart background:":"Arrière-plan de graphique personnalisé:","Custom time format":"Format d'heure personnalisé",Data:XIt,Default:JIt,Delete:YIt,"Delete object":"Supprimer un objet","Delete text value":"Supprimer la valeur du texte",Dialog:KIt,"Digits after comma":"Chiffres après virgule","Drag me":"Tire moi",Edit:ZIt,"Edit folder name":"Modifier le nom du dossier","Edit options for line %s":"Modifier les options pour la ligne% s","Edit state names":"Modifier les noms d'état","Empty preset cannot be saved!":"Un préréglage vide ne peut pas être enregistré !","Enable logging for new state":"Activer la journalisation pour le nouvel état","Enable zoom and pan":"Activer le zoom et le panoramique","Enable zoom and pan:":"Activer le zoom et le panoramique:",End:QIt,"End:":"Fin:","Enter chart name":"Entrez le nom du diagramme",Expand:eMt,"Expand all lines":"Développer toutes les lignes","Expand all markings":"Développer toutes les marques","Export data color":"Couleur du bouton Exporter les données",Fill:tMt,"Fill color:":"La couleur de remplissage:","Fill range:":"Remplir gamme:","Fill(0to1)":"Remplir (0to1)",Folder:rMt,"Font size":"Taille de police",From:nMt,"From line %s":"De la ligne %s",Functions:oMt,Grid:aMt,"Grid color":"Couleur de la grille","Grid color:":"Couleur de la grille:","Group by":"Par groupe","HH:MM dd.mm":"HH:MM jj.mm",Height:iMt,"Height:":"La taille:","Hide X grid":"Masquer la grille X","Hide Y grid":"Masquer la grille Y","Hide edit button:":"Masquer le bouton d'édition:","Hide nulls in tooltip":"Masquer les valeurs nulles dans l'info-bulle","Hover details":"Survolez les détails","Hover details:":"Hover détails:",ID:sMt,IDs:lMt,"If the current value is not older than X seconds, assume it is still the same.":"Si la valeur actuelle n'est pas plus ancienne que X secondes, supposez qu'elle est toujours la même.","In seconds":"En secondes",Individual:cMt,"Input data":"Des données d'entrée","Inside / No lines":"À l'intérieur / Pas de lignes","Inside / With lines":"À l'intérieur / Avec des lignes","Inside end":"À l'intérieur, à la fin","Inside end bottom":"À l'intérieur, à la fin, en bas","Inside end top":"À l'intérieur, à la fin, au-dessus","Inside middle":"A l'intérieur, au milieu","Inside middle bottom":"A l'intérieur, au milieu, en bas","Inside middle top":"A l'intérieur, au milieu, en haut","Inside start":"À l'intérieur, au début","Inside start bottom":"À l'intérieur, au début, en bas","Inside start top":"À l'intérieur, au début, au-dessus",Instance:dMt,"Integral unit":"Unité intégrale","Interpolate:":"Interpoler:","Interpolation method":"Méthode d'interpolation",Intervals:uMt,"Invalid object":"Objet invalide",Label:pMt,"Label color:":"Étiquette couleur:","Label font size:":"Étiquette taille de la police:",Labels:hMt,"Last changed":"Dernière modification",Left:fMt,Legend:mMt,"Legend background":"Arrière-plan de la légende","Legend background:":"Contexte de la légende","Legend columns:":"Colonnes de légende:","Legend opacity (from 0 to 1):":"Opacité de la légende (de 0 à 1):","Legend text color":"Couleur du texte de la légende",Limits:gMt,Line:vMt,"Line ID":"Id de ligne","Line Width":"Largeur de ligne","Line and area":"Ligne et zone","Line style":"Style de ligne",Link:yMt,"Live update every":"Mise à jour en direct tous les","Live update every:":"Mise à jour en direct tous les:","Load without save":"Charger sans sauvegarder","Loading...":"Chargement...","Lower value or ID":"Valeur inférieure ou ID",Main:_Mt,Mark:bMt,Markings:wMt,Max:xMt,"Max:":"Maximum:",Members:SMt,"Middle, left, inside":"Milieu, gauche, intérieur","Middle, right, inside":"Moyen, droit, intérieur","Middle, right, outside":"Moyen, droit, dehors",Min:CMt,"Min:":"Le minimum:",MinMax:$Mt,More:kMt,"Move to folder":"Déplacer vers un dossier",Multiple:EMt,"NULL as":"NULL comme",Name:TMt,"Name:":"Prénom:","No ID yet":"Pas encore d'ID ","No background":"Pas de fond","No border:":"Pas de frontière:","No future":"Aucune valeur à l'avenir","No interpolate in hover":"Aucune interpolation dans l'info-bulle","No presets created yet":"Aucun préréglage n'a encore été créé",None:OMt,Offset:DMt,Ok:AMt,Open:IMt,"Open chart in own window":"Ouvrir le graphique dans sa propre fenêtre","Open in own window":"Ouvrir dans sa propre fenêtre",Options:MMt,Orientation:PMt,Others:NMt,"Outside / No lines":"Extérieur / Pas de lignes","Outside/ With lines":"Extérieur / Avec lignes",Paste:RMt,Percentile:jMt,Pie:LMt,"Please confirm":"Veuillez confirmer",Points:zMt,Polar:FMt,Polygonal:BMt,"Predefined background:":"Arrière-plan prédéfini:",Presets:WMt,Processing:HMt,"Processing...":"En traitement...",Range:UMt,"Range:":"Gamme:",Relative:VMt,Rename:qMt,"Rename preset":"Renommer le préréglage","Reorder presets in folders":"Réorganiser les préréglages dans les dossiers","Reset settings":"Réinitialiser les options","Reset zoom after idle":"Réinitialiser le zoom après inactivité",Right:GMt,Role:XMt,Room:JMt,Rooms:YMt,Root:KMt,"Save current preset and load":"Enregistrer le préréglage actuel et charger","Save image button color":"Couleur du bouton Enregistrer l'image","Save into:":"Enregistrer dans:","Scatter plot":"Nuage de points",Seconds:ZMt,Select:QMt,"Select ID":"Sélectionner un identifiant","Select for":"Sélectionnez pour","Shadow Size":"Taille de l'ombre","Show controls":"Afficher les contrôles","Show export data button":"Afficher le bouton d'exportation des données","Show labels:":"Afficher les étiquettes:","Show legend":"Afficher la légende","Show legend:":"Afficher la légende:","Show only in legend":"Afficher uniquement dans la légende","Show points":"Afficher les points","Show save image button":"Afficher le bouton d'enregistrement de l'image","Show values":"Afficher les valeurs",Smoothing:ePt,Source:tPt,Spline:rPt,Stack:nPt,"Start:":"Début:","State value":"Valeur d'état","State value text":"Texte de la valeur d'état","Step span:":"Étape span:","Step type":"Type d'étape","Step type:":"Type d'étape:",Steps:oPt,"Steps on start":"Étapes au démarrage",Style:aPt,"System settings":"Les paramètres du système",Text:iPt,"Text X offset":"X-Décalage de texte","Text Y offset":"Décalage Y du texte","Text by false":"Texte par faux","Text by true":"Texte par vrai","Text color":"Couleur du texte","Text position":"Position du texte","Text size":"Taille du texte","Text values not used":"Valeurs de texte non utilisées",Texts:sPt,Theme:lPt,"This time offset will be added to the X label by displaying data on the chart":"Ce décalage temporel sera ajouté à l'étiquette X en affichant les données sur le graphique","This time offset will be added to the request by reading data from DB":"Ce décalage horaire sera ajouté à la requête en lisant les données de la base de données","Ticks from:":"Utilisez les X-ticks de:",Time:cPt,"Time Span":"Durée","Time format":"Format de l'heure","Time format:":"Format de l'heure:","Time span":"Durée","Time stamp":"Horodatage",Title:dPt,"Title color":"Couleur du titre","Title color:":"Couleur du titre:","Title position":"Position du titre","Title position:":"Titre du poste:","Title size":"Taille du titre","Title size:":"Taille du titre:","Title:":"Titre:","Top, center, inside":"Haut, centre, intérieur","Top, left":"En haut à gauche","Top, left, inside":"Haut, gauche, intérieur","Top, right":"En haut à droite","Top, right, inside":"En haut, à droite, à l'intérieur","Top, right, outside":"Haut, droit, dehors",Type:uPt,Unit:pPt,"Units:":"Unités:",Update:hPt,"Update objects":"Mettre à jour","Update states":"Mettre à jour","Upper value or ID":"Valeur supérieure ou ID","Use comma":"Utilisez une virgule","Use comma:":"Utilisez une virgule:","Use state names":"Utiliser les noms d'état","User defined":"Défini par l'utilisateur","User defined names:":"Noms définis par l'utilisateur:","Valid time (sec)":"Temps valide (sec)",Value:fPt,Width:mPt,"Width:":"Largeur:","Window background":"Fond de fenêtre","Window background:":"Fond de fenêtre:",With:gPt,"With border":"Avec bordure","With lines":"Avec des lignes",Without:vPt,"Without border":"Sans bordure","Without lines":"Sans lignes","X Axis":"Axe X","X Axis position":"Position de l'axe X","X axis labels color:":"X étiquettes couleur:","X labels color":"Couleur des étiquettes X","X labels size":"X taille de police","X ticks color":"X ticks couleur","X-Axis ticks":"Tiques de l'axe des X","X-Label-Offset":"Décalage de l'étiquette X","X-Offset":"Décalage X","Y Axis":"Axe Y","Y Axis position":"Position de l'axe Y","Y axis labels color:":"Couleur des étiquettes Y:","Y labels color":"Couleur des étiquettes Y","Y labels size":"Taille de police Y","Y ticks color":"Couleur des graduations Y","Y-Axis ticks":"Tiques de l'axe des Y","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Vous pouvez créer un nouveau marquage avec un "+" sur la droite.',"You can drag and drop simple lines from the left list.":"Vous pouvez faire glisser et déposer des lignes simples à partir de la liste de gauche.","add children":"ajouter des enfants",area:yPt,auto:_Pt,average:bPt,bar:wPt,bottom:xPt,bottomColor:SPt,convert_help:CPt,copied:$Pt,copy:kPt,count:EPt,counts:TPt,current:OPt,dashed:DPt,day:APt,default:"défaut",difference:IPt,dotted:MPt,dow:PPt,edit:NPt,"edit enum":"éditer enum","edit file":"modifier le fichier","end of 10 minutes":"fin de 10 minutes","end of 12 hours":"fin de 12 heures","end of 2 hours":"fin de 2 heures","end of 3 hours":"fin de 3 heures","end of 30 minutes":"fin de 30 minutes","end of 4 hours":"fin de 4 heures","end of 5 minutes":"fin de 5 minutes","end of 6 hours":"fin de 6 heures","end of 8 hours":"fin de 8 heures","end of day":"fin de la journée","end of hour":"fin de l'heure","end of minute":"fin de minute","end of previous saturday":"fin du samedi précédent (2 semaines)","end of previous sunday":"fin du dimanche précédent (2 semaines)","end of saturday":"fin de samedi","end of sunday":"fin de dimanche",false:"nul",horizontal:RPt,i15min:jPt,i1day:LPt,i1hour:zPt,i30days:FPt,"ignore 'null'":"ignore 'null'","ignore 'null':":"ignore 'null':","ignore null values":"ignorer les valeurs nulles",integral:BPt,"last value":"dernière valeur",left:WPt,"left colored":"gauche coloré",leftColor:HPt,line:UPt,linear:VPt,lineplot:qPt,load:GPt,max:XPt,middle:JPt,min:YPt,minmax:KPt,month:ZPt,new:"Nouveau",no:QPt,"no null":"& nbsp; non nul","non-processed":"non transformé",none:eNt,none_no:tNt,now:rNt,null:"nul",off:nNt,onchange:oNt,"own axis":"propre axe",percentile:aNt,polar:iNt,raw:sNt,relative:lNt,reload:cNt,"restart script":"redémarrer le script",right:dNt,"right colored":"bonne couleur",rightColor:uNt,role:pNt,save:hNt,"save %s":"enregistrer% s",scatterplot:fNt,seconds:mNt,solid:gNt,spline:vNt,standard:yNt,static:"statique",steps:_Nt,"this month":"ce mois-ci","this year":"cette année",to:bNt,today:wNt,top:xNt,"top over":"dessus","top under":"haut sous",topColor:SNt,total:CNt,true:"dernière valeur","update Preview":"aperçu de mise à jour","use 0 instead of null values":"utilise 0 au lieu de valeurs nulles",vertical:$Nt,weekEurope:kNt,weekUsa:ENt,year:TNt,yes:ONt,ØL:"ØL","ØL - Line thickness":"ØL - Épaisseur de ligne","ØL Line thickness":"ØL Épaisseur de ligne",ØS:"ØS","ØS - Shadow size":"ØS - Taille de l'ombre","ØS Shadow size":"ØS Taille de l'ombre"},ANt="Riconosciuto",INt="Aggiungere",MNt="Aggregato",PNt="Associazione",NNt="Tutti",RNt="Aspetto",jNt="Fare domanda a",LNt="Auto",zNt="Asse",FNt="Sfondi",BNt="Bar",WNt="Confine",HNt="Annulla",UNt="Cerchio",VNt="Vicino",qNt="Crollo",GNt="Colore",XNt="copia",JNt="Conteggio",YNt="Creare",KNt="Dati",ZNt="Predefinito",QNt="Elimina",eRt="Dialogo",tRt="Modifica",rRt="Fine",nRt="Espandere",oRt="Riempire",aRt="Cartella",iRt="A partire da:",sRt="Funzioni",lRt="Griglia",cRt="Altezza",dRt="ID",uRt="ID",pRt="Individuale",hRt="Esempio",fRt="Intervalli",mRt="Etichetta",gRt="Etichette",vRt="Sinistra",yRt="Leggenda",_Rt="Limiti",bRt="Linea",wRt="Collegamento",xRt="Principale",SRt="Marcatura",CRt="Marcature",$Rt="Massimo",kRt="Utenti",ERt="Minimo",TRt="MinMax",ORt="Oltre",DRt="Molteplici",ARt="Nome",IRt="Nessuna",MRt="X-Offset",PRt="Ok",NRt="Aperto",RRt="Opzioni",jRt="Orientamento",LRt="Altri",zRt="Incolla",FRt="percentile",BRt="Torta",WRt="Punti",HRt="Carta polare",URt="Poligonale",VRt="Predefiniti",qRt="in lavorazione",GRt="Gamma",XRt="Parente",JRt="Rinominare",YRt="Destra",KRt="Ruolo",ZRt="Stanza",QRt="Camere",e5t="Radice",t5t="Secondi",r5t="Seleziona",n5t="Smussare",o5t="Fonte",a5t="Spline",i5t="Catasta",s5t="Passi",l5t="Stile",c5t="Testo",d5t="Testi",u5t="Tema",p5t="Orario",h5t="Titolo",f5t="genere",m5t="Unità",g5t="Aggiorna",v5t="Valore",y5t="Larghezza",_5t="Con",b5t="Senza",w5t="Area",x5t="auto",S5t="Media",C5t="Barretta",$5t="In basso",k5t="Colorato in basso",E5t='Inserisci la formula come "val / 1000 + 3". Questa formula verrà applicata a tutti i valori del datapoint selezionato.',T5t="copiato",O5t="copia",D5t="contare",A5t="Conteggi",I5t="Valore corrente",M5t="tratteggiata",P5t="Giorno",N5t="differenza",R5t="punteggiato",j5t="Giorno della settimana",L5t="modificare",z5t="orizzontale",F5t="15 minuti",B5t="1 giorno",W5t="1 ora",H5t="30 giorni",U5t="integrante",V5t="sinistra",q5t="Colorato a sinistra",G5t="Linea",X5t="lineare",J5t="Plot linea",Y5t="Carica",K5t="Massimo",Z5t="In mezzo",Q5t="Minimo",e3t="minmax",t3t="Mese",r3t="No",n3t="Nulla",o3t="nessuno",a3t="Adesso",i3t="Spento",s3t="Con cambiamento",l3t="percentile",c3t="Carta polare",d3t="crudo",u3t="Corrispondente",p3t="Ricarica",h3t="destra",f3t="Colorato a destra",m3t="Ruolo",g3t="Salva",v3t="Diagramma di dispersione",y3t="secondi",_3t="solido",b3t="Linguetta",w3t="standard",x3t="Passi",S3t="per",C3t="Oggi",$3t="In alto",k3t="Colorato in alto",E3t="Totale",T3t="verticale",O3t="Fine del giorno",D3t="Fine della domenica",A3t="Anno",I3t="Sì",M3t={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s fa","ØL":"ØL","ØS":"ØS","0 seconds":"0 secondi","0s":"0 secondi","1 day":"1 giorno","1 hour":"1 ora","1 minute":"1 minuto","1 month":"1 mese","1 week":"1 settimana","1 year":"1 anno","10 minutes":"10 minuti","10 seconds":"10 secondi","10m":"10 minuti","10minutes":"Fine di 10 minuti","10s":"10 secondi","12 hours":"12 ore","12H":"12 ore","12W":"12 settimane","12hours":"Fine di 12 ore","14 days":"14 giorni","15 minutes":"15 minuti","15 seconds":"15 secondi","15m":"15 minuti","1D":"1 giorno","1H":"1 ora","1M":"1 mese","1W":"1 settimana","1Y":"1 anno","1hour":"Fine dell'ora","1minute":"Fine del minuto","1s":"1 secondo","2 days":"2 giorni","2 hours":"2 ore","2 minutes":"2 minuti","2 months":"2 mesi","2 weeks":"2 settimane","2 years":"2 anni","20 minutes":"20 minuti","20 seconds":"20 secondi","26W":"26 settimane","2D":"2 giorni","2H":"2 ore","2M":"2 mesi","2W":"2 settimane","2Y":"2 anni","2hours":"Fine di 2 ore","2m":"2 minuti","2s":"2 secondi","3 days":"3 giorni","3 hours":"3 ore","3 minutes":"3 minuti","3 months":"3 mesi","30 minutes":"30 minuti","30 seconds":"30 secondi","300ms":"300ms","30m":"30 minuti","30minutes":"Fine di 30 minuti","30s":"30 secondi","3D":"3 giorni","3M":"3 mesi","3hours":"Fine di 3 ore","3m":"3 minuti","3s":"3 secondi","4 days":"4 giorni","4 minutes":"4 minuti","45 minutes":"45 minuti","45m":"45 minuti","4D":"4 giorni","4W":"4 settimane","4hours":"Fine di 4 ore","4m":"4 minuti","5 minutes":"5 minuti","5 seconds":"5 secondi","500ms":"500ms","5m":"5 minuti","5minutes":"Fine di 5 minuti","5s":"5 secondi","6 hours":"6 ore","6 months":"6 mesi","60 seconds":"60 secondi","60s":"60 secondi","6H":"6 ore","6M":"6 mesi","6hours":"Fine di 6 ore","7 days":"7 giorni","8W":"8 settimane","8hours":"Fine di 8 ore","90 seconds":"90 secondi",Acknowledged:ANt,Add:INt,"Add line to chart":"Aggiungi linea al grafico","Add marking line to chart":"Aggiungi una linea di marcatura al grafico","Add new line":"Aggiungi una nuova linea","Add new markings":"Aggiungi nuovi segni","Add new state name":"Aggiungi il nome del nuovo stato","Add new value":"Aggiungi nuovo valore","After comma":"Dopo la virgola",Aggregate:MNt,"Aggregate for lines":"Aggregazione per linee",Aggregation:PNt,"Aggregation:":"Genere:",All:NNt,"Animation:":"Animazione:",Appearance:RNt,Apply:jNt,"Are you sure for closing folder and discard unsaved changes?":"Vuoi chiudere la cartella e ignorare le modifiche non salvate?","Are you sure for delete this line?":"Sei sicuro di cancellare questa riga?","Are you sure for delete this mark?":"Sei sicuro di cancellare questo segno?","Are you sure for delete this preset?":"Sei sicuro di eliminare questo preset?","Are you sure for loading the chart and discard unsaved changes?":"Vuoi caricare il grafico e ignorare le modifiche non salvate?","Are you sure for loading the preset and discard unsaved changes?":"Vuoi caricare il preset e ignorare le modifiche non salvate?","Arrange bools":"Disponi sfere",Auto:LNt,"Auto (Line or Steps)":"Auto (linea o gradini)","Auto padding":"Rientro automatico","Auto save":"Salvataggio automatico","Auto-refresh":"Auto aggiornamento","Auto-update:":"Aggiornamento automatico:",Axis:zNt,"Background of radar chart":"Sfondo del grafico radar","Background:":"Sfondo:",Backgrounds:FNt,Bar:BNt,"Bar settings":"Impostazioni della barra","Bars width:":"Larghezza delle barre:",Border:WNt,"Border color:":"Colore del bordo:","Border padding":"Imbottitura del bordo","Border width":"Larghezza del bordo","Border width:":"Larghezza del bordo:","Bottom, center, inside":"In basso, centrato, interno","Bottom, center, outside":"In basso, centrato, esterno","Bottom, left":"In basso, a sinistra","Bottom, left, inside":"In basso, a sinistra, interno","Bottom, right":"In basso, a destra","Bottom, right, inside":"In basso, a destra, interno","Bottom, right, outside":"In basso, a destra, esterno",Cancel:HNt,"Cannot create unique ID":"Impossibile creare un ID univoco","Chart Type":"Tipo di grafico","Chart background":"Sfondo grafico","Chart background:":"Sfondo del grafico:","Chart size":"Dimensioni del grafico","Chart type":"Tipo di grafico","Charts preview":"Anteprima dei grafici",Circle:UNt,Close:VNt,Collapse:qNt,"Collapse all lines":"Comprimi tutte le righe","Collapse all markings":"Comprimi tutti i contrassegni",Color:GNt,"Common Y Axis":"Asse comune Y","Convert formula":"Formula di conversione",Copy:XNt,"Copy link to clipboard":"Copia il link negli appunti",Counts:JNt,Create:YNt,"Create folder":"Creare una cartella","Create new folder":"Crea una nuova cartella","Create new preset":"Crea nuovo preset","Create preset":"Crea preset","Custom chart background:":"Sfondo grafico personalizzato:","Custom time format":"Formato ora personalizzato",Data:KNt,Default:ZNt,Delete:QNt,"Delete object":"Elimina oggetto","Delete text value":"Elimina il valore del testo",Dialog:eRt,"Digits after comma":"Cifre dopo la virgola","Drag me":"Trascinami",Edit:tRt,"Edit folder name":"Modifica il nome della cartella","Edit options for line %s":"Modifica le opzioni per la riga %s","Edit state names":"Modifica i nomi degli stati","Empty preset cannot be saved!":"Non è possibile salvare il preset vuoto!","Enable logging for new state":"Abilita la registrazione per il nuovo stato","Enable zoom and pan":"Abilita zoom e panoramica","Enable zoom and pan:":"Abilita zoom e panoramica:",End:rRt,"End:":"Fine:","Enter chart name":"Inserisci il nome del grafico",Expand:nRt,"Expand all lines":"Espandi tutte le linee","Expand all markings":"Espandi tutti i segni","Export data color":"Esporta colore pulsante dati",Fill:oRt,"Fill color:":"Colore di riempimento:","Fill range:":"Gamma di riempimento:","Fill(0to1)":"Riempi(0to1)",Folder:aRt,"Font size":"Dimensione del font",From:iRt,"From line %s":"Dalla riga %s",Functions:sRt,Grid:lRt,"Grid color":"Colore griglia","Grid color:":"Colore griglia:","Group by":"Raggruppare per","HH:MM dd.mm":"HH:MM gg.mm",Height:cRt,"Height:":"Altezza:","Hide X grid":"Nascondi griglia X.","Hide Y grid":"Nascondi griglia Y.","Hide edit button:":"Nascondi pulsante di modifica:","Hide nulls in tooltip":"Nascondi i valori nulli nella descrizione comando","Hover details":"Dettagli al passaggio del mouse","Hover details:":"Dettagli al passaggio del mouse:",ID:dRt,IDs:uRt,"If the current value is not older than X seconds, assume it is still the same.":"Se il valore corrente non è più vecchio di X secondi, supponi che sia sempre lo stesso.","In seconds":"In secondi",Individual:pRt,"Input data":"Dati in ingresso","Inside / No lines":"Interno / Senza linea","Inside / With lines":"Interno / Con linee","Inside end":"Dentro, alla fine","Inside end bottom":"Dentro, alla fine, in fondo","Inside end top":"Dentro, alla fine, sopra","Inside middle":"Dentro, in mezzo","Inside middle bottom":"Dentro, in mezzo, in basso","Inside middle top":"Dentro, in mezzo, in alto","Inside start":"All'interno, all'inizio","Inside start bottom":"All'interno, all'inizio, in basso","Inside start top":"Dentro, all'inizio, sopra",Instance:hRt,"Integral unit":"Unità integrale","Interpolate:":"Interpolare:","Interpolation method":"Metodo di interpolazione",Intervals:fRt,"Invalid object":"Oggetto non valido",Label:mRt,"Label color:":"Colore dell'etichetta:","Label font size:":"Dimensione del carattere dell'etichetta:",Labels:gRt,"Last changed":"Ultima modifica",Left:vRt,Legend:yRt,"Legend background":"Sfondo della legenda","Legend background:":"Sfondo leggenda:","Legend columns:":"Colonne della legenda:","Legend opacity (from 0 to 1):":"Opacità della legenda (da 0 a 1):","Legend text color":"Colore del testo della legenda",Limits:_Rt,Line:bRt,"Line ID":"ID linea","Line Width":"Larghezza della linea","Line and area":"Linea e area","Line style":"Stile della linea",Link:wRt,"Live update every":"Aggiornamento live ogni","Live update every:":"Aggiornamento in tempo reale ogni:","Load without save":"Carica senza salvare","Loading...":"Sto caricando...","Lower value or ID":"Valore minimo o ID",Main:xRt,Mark:SRt,Markings:CRt,Max:$Rt,"Max:":"Massimo:",Members:kRt,"Middle, left, inside":"In mezzo, a sinistra, interno","Middle, right, inside":"In mezzo, a destra, interno","Middle, right, outside":"In mezzo, a destra, esterno",Min:ERt,"Min:":"Minimo:",MinMax:TRt,More:ORt,"Move to folder":"Sposta nella cartella",Multiple:DRt,"NULL as":"NULL come",Name:ARt,"Name:":"Nome:","No ID yet":"Nessun ID ancora","No background":"Nessuno sfondo","No border:":"Nessun bordo:","No future":"Nessun valore in futuro","No interpolate in hover":"Nessuna interpolazione nel tooltip","No presets created yet":"Nessun preset ancora creato",None:IRt,Offset:MRt,Ok:PRt,Open:NRt,"Open chart in own window":"Apri il grafico nella propria finestra","Open in own window":"Apri nella propria finestra",Options:RRt,Orientation:jRt,Others:LRt,"Outside / No lines":"Esterno / Senza linea","Outside/ With lines":"Esterno / Con linee",Paste:zRt,Percentile:FRt,Pie:BRt,"Please confirm":"Per favore conferma",Points:WRt,Polar:HRt,Polygonal:URt,"Predefined background:":"Sfondo predefinito:",Presets:VRt,Processing:qRt,"Processing...":"In elaborazione...",Range:GRt,"Range:":"Intervallo:",Relative:XRt,Rename:JRt,"Rename preset":"Rinomina preset","Reorder presets in folders":"Riordina i preset nelle cartelle","Reset settings":"Ripristina l'impostazioni","Reset zoom after idle":"Reimposta lo zoom dopo il periodo di inattività",Right:YRt,Role:KRt,Room:ZRt,Rooms:QRt,Root:e5t,"Save current preset and load":"Salva il preset corrente e carica","Save image button color":"Salva il colore del pulsante dell'immagine","Save into:":"Salva in:","Scatter plot":"Trama a dispersione",Seconds:t5t,Select:r5t,"Select ID":"Seleziona ID","Select for":"Seleziona per","Shadow Size":"Dimensione ombreggatura","Show controls":"Mostra controlli","Show export data button":"Pulsante Mostra dati di esportazione","Show labels:":"Mostra etichette:","Show legend":"Mostra legenda","Show legend:":"Mostra legenda:","Show only in legend":"Mostra solo nella legenda","Show points":"Mostra punti","Show save image button":"Mostra pulsante salva immagine","Show values":"Mostra valori",Smoothing:n5t,Source:o5t,Spline:a5t,Stack:i5t,"Start:":"Inizio:","State value":"Valore statale","State value text":"Testo del valore di stato","Step span:":"Intervallo:","Step type":"Tipo di passo","Step type:":"Tipo di passa:",Steps:s5t,"Steps on start":"Passi all'avvio",Style:l5t,"System settings":"Impostazioni di sistema",Text:c5t,"Text X offset":"X-Offset del testo","Text Y offset":"Offset Y del testo","Text by false":"Testo per falso","Text by true":"Testo per vero","Text color":"Colore del testo","Text position":"Posizione del testo","Text size":"Dimensione del testo","Text values not used":"Valori di testo non utilizzati",Texts:d5t,Theme:u5t,"This time offset will be added to the X label by displaying data on the chart":"Questa differenza di tempo verrà aggiunta all'etichetta X visualizzando i dati sul grafico","This time offset will be added to the request by reading data from DB":"Questo offset temporale verrà aggiunto alla richiesta leggendo i dati dal DB","Ticks from:":"Usa X-tick da:",Time:p5t,"Time Span":"Arco di tempo","Time format":"Formato orario","Time format:":"Formato orario:","Time span":"Arco di tempo","Time stamp":"Data e ora",Title:h5t,"Title color":"Colore del titolo","Title color:":"Colore del titolo:","Title position":"Posizione del titolo","Title position:":"Posizione del titolo:","Title size":"Dimensioni del titolo","Title size:":"Dimensione del titolo:","Title:":"Titolo:","Top, center, inside":"In alto, centrato, interno","Top, left":"In alto, a sinistra","Top, left, inside":"In alto, a sinistra, interno","Top, right":"In alto, a destra","Top, right, inside":"In alto, a destra, interno","Top, right, outside":"In alto, a destra, esterno",Type:f5t,Unit:m5t,"Units:":"Unità:",Update:g5t,"Update objects":"Aggiorna gli Oggetti","Update states":"Stati di aggiornamento","Upper value or ID":"Valore massimo o ID","Use comma":"Usa la virgola","Use comma:":"Usa la virgola:","Use state names":"Usa nomi di stato","User defined":"Definito dall'utente","User defined names:":"Nomi definiti dall'utente:","Valid time (sec)":"Tempo valido (sec)",Value:v5t,Width:y5t,"Width:":"Larghezza:","Window background":"Sfondo della finestra","Window background:":"Sfondo finestra:",With:_5t,"With border":"Con bordo","With lines":"Con linee",Without:b5t,"Without border":"Senza bordo","Without lines":"Senza linee","X Axis":"Asse X.","X Axis position":"Posizione dell'asse X.","X axis labels color:":"Colore etichette asso X:","X labels color":"Colore delle etichette X.","X labels size":"Dimensione carattere X","X ticks color":"Colore delle zecche X.","X-Axis ticks":"Interasse Asse X","X-Label-Offset":"Offset etichetta X","X-Offset":"X-Offset","Y Axis":"Asse Y.","Y Axis position":"Posizione dell'asse Y.","Y axis labels color:":"Colore etichette asso Y:","Y labels color":"Colore etichette Y","Y labels size":"Y dimensione del carattere","Y ticks color":"Y fa il colore","Y-Axis ticks":"Interasse Asse Y.","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'È possibile creare una nuova marcatura con un "+" a destra.',"You can drag and drop simple lines from the left list.":"Puoi trascinare e rilasciare semplici righe dall'elenco a sinistra.","add children":"Aggiungi figlio",area:w5t,auto:x5t,average:S5t,bar:C5t,bottom:$5t,bottomColor:k5t,convert_help:E5t,copied:T5t,copy:O5t,count:D5t,counts:A5t,current:I5t,dashed:M5t,day:P5t,default:"Predefinito",difference:N5t,dotted:R5t,dow:j5t,edit:L5t,"edit enum":"Modifica enum","edit file":"Modifica file","end of 10 minutes":"Fine dei 10 minuti","end of 12 hours":"Fine di 12 ore","end of 2 hours":"Fine di 2 ore","end of 3 hours":"Fine di 3 ore","end of 30 minutes":"Fine dei 30 minuti","end of 4 hours":"Fine di 4 ore","end of 5 minutes":"Fine dei 5 minuti","end of 6 hours":"Fine di 6 ore","end of 8 hours":"Fine di 8 ore","end of day":"Fine del giorno","end of hour":"Fine dell'ora","end of minute":"Fine del minuto","end of previous saturday":"fine del sabato precedente (2 settimane)","end of previous sunday":"fine della domenica precedente (2 settimane)","end of saturday":"Fine di sabato","end of sunday":"Fine della domenica",false:"Null",horizontal:z5t,i15min:F5t,i1day:B5t,i1hour:W5t,i30days:H5t,"ignore 'null'":"Ignora 'null'","ignore 'null':":"Ignora 'null':","ignore null values":"Ignora valori null",integral:U5t,"last value":"Ultimo valore",left:V5t,"left colored":"lasciato colorato",leftColor:q5t,line:G5t,linear:X5t,lineplot:J5t,load:Y5t,max:K5t,middle:Z5t,min:Q5t,minmax:e3t,month:t3t,new:"Nuovo",no:r3t,"no null":"& nbsp; non null","non-processed":"non elaborato",none:n3t,none_no:o3t,now:a3t,null:"Null",off:i3t,onchange:s3t,"own axis":"proprio asse",percentile:l3t,polar:c3t,raw:d3t,relative:u3t,reload:p3t,"restart script":"Riavvia lo script",right:h3t,"right colored":"colore giusto",rightColor:f3t,role:m3t,save:g3t,"save %s":"salva %s",scatterplot:v3t,seconds:y3t,solid:_3t,spline:b3t,standard:w3t,static:"Statico",steps:x3t,"this month":"Questo mese","this year":"Quest'anno",to:S3t,today:C3t,top:$3t,"top over":"Al di sopra","top under":"Al di sotto",topColor:k3t,total:E3t,true:"Ultimo valore","update Preview":"Aggiorna anteprima","use 0 instead of null values":"usa 0 invece di valori null",vertical:T3t,weekEurope:O3t,weekUsa:D3t,year:A3t,yes:I3t,ØL:"ØL","ØL - Line thickness":"ØL - Spessore della linea","ØL Line thickness":"ØL Spessore della linea",ØS:"ØS","ØS - Shadow size":"ØS - Dimensione ombra","ØS Shadow size":"ØS Dimensione ombra"},P3t="Admitido",N3t="Agregar",R3t="Agregar",j3t="Tipo",L3t="Todas",z3t="Apariencia",F3t="Aplicar",B3t="Auto",W3t="Eje",H3t="Antecedentes",U3t="Bar",V3t="Frontera",q3t="Cancelar",G3t="Círculo",X3t="Cerca",J3t="Colapso",Y3t="Color",K3t="Copiar",Z3t="Cuenta",Q3t="Crear",ejt="Datos",tjt="Defecto",rjt="Eliminar",njt="Diálogo",ojt="Editar",ajt="Fin",ijt="Expandir",sjt="Llenar",ljt="Carpeta",cjt="De:",djt="Funciones",ujt="Cuadrícula",pjt="Altura",hjt="CARNÉ DE IDENTIDAD",fjt="IDs",mjt="Individual",gjt="Ejemplo",vjt="Intervalos",yjt="Etiqueta",_jt="Etiquetas",bjt="Izquierda",wjt="Leyenda",xjt="Limites",Sjt="Línea",Cjt="Enlazar",$jt="Principal",kjt="Calificación",Ejt="Marcas",Tjt="Max",Ojt="Miembros",Djt="Min.",Ajt="Mínimo máximo",Ijt="Más",Mjt="Múltiple",Pjt="Nombre",Njt="Ninguna",Rjt="X-Offset",jjt="De acuerdo",Ljt="Abierto",zjt="Opciones",Fjt="Orientación",Bjt="Otros",Wjt="Pegar",Hjt="percentil",Ujt="Tarta",Vjt="Puntos",qjt="carta polar",Gjt="Poligonal",Xjt="Presets",Jjt="Procesando",Yjt="Rango",Kjt="Relativo",Zjt="Rebautizar",Qjt="Derecha",e4t="Papel",t4t="Habitación",r4t="Habitaciones",n4t="Raíz",o4t="Segundos",a4t="Seleccionar",i4t="Suavizado",s4t="Fuente",l4t="Ranura",c4t="Apilar",d4t="Pasos",u4t="Estilo",p4t="Texto",h4t="Textos",f4t="Tema",m4t="Hora",g4t="Título",v4t="Tipo",y4t="Unidad",_4t="Actualizar",b4t="Valor",w4t="Anchura",x4t="Con",S4t="Sin",C4t="Zona",$4t="auto",k4t="promedio",E4t="Bar",T4t="fondo",O4t="color de fondo",D4t='Ingrese la fórmula como "val / 1000 + 3". Esta fórmula se aplicará a todos los valores del punto de datos seleccionado.',A4t="copiado",I4t="Copiar",M4t="contar",P4t="conteos",N4t="Valor actual",R4t="estropeado",j4t="día",L4t="diferencia",z4t="punteado",F4t="Día de la semana",B4t="editar",W4t="horizontal",H4t="15 minutos",U4t="1 día",V4t="1 hora",q4t="30 dias",G4t="integral",X4t="izquierda",J4t="color izquierdo",Y4t="Línea",K4t="lineal",Z4t="Linear plot",Q4t="carga",eLt="máximo",tLt="medio",rLt="min",nLt="mínimo máximo",oLt="mes",aLt="no",iLt="ninguna",sLt="ninguna",lLt="ahora",cLt="apagado",dLt="en cambio",uLt="percentil",pLt="Carta polar",hLt="crudo",fLt="relativo",mLt="recargar",gLt="derecho",vLt="color derecho",yLt="papel",_Lt="salvar",bLt="Gráfico de dispersión",wLt="segundos",xLt="sólido",SLt="Ranura",CLt="estándar",$Lt="Pasos",kLt="a",ELt="hoy",TLt="parte superior",OLt="tapa coloreada",DLt="total",ALt="vertical",ILt="fin del día",MLt="fin del domingo",PLt="año",NLt="sí",RLt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"hace% s","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 segundos","0s":"0 segundos","1 day":"1 día","1 hour":"1 hora","1 minute":"1 minuto","1 month":"1 mes","1 week":"1 semana","1 year":"1 año","10 minutes":"10 minutos","10 seconds":"10 segundos","10m":"10 minutos","10minutes":"fin de 10 minutos","10s":"10 segundos","12 hours":"12 horas","12H":"12 horas","12W":"12 semanas","12hours":"fin de 12 horas","14 days":"14 dias","15 minutes":"15 minutos","15 seconds":"15 segundos","15m":"15 minutos","1D":"1 día","1H":"1 hora","1M":"1 mes","1W":"1 semana","1Y":"1 año","1hour":"fin de hora","1minute":"fin del minuto","1s":"1 segundo","2 days":"2 días","2 hours":"2 horas","2 minutes":"2 minutos","2 months":"2 meses","2 weeks":"2 semanas","2 years":"2 años","20 minutes":"20 minutos","20 seconds":"20 segundos","26W":"26 semanas","2D":"2 días","2H":"2 horas","2M":"2 meses","2W":"2 semanas","2Y":"2 años","2hours":"fin de 2 horas","2m":"2 minutos","2s":"2 segundos","3 days":"3 días","3 hours":"3 horas","3 minutes":"3 minutos","3 months":"3 meses","30 minutes":"30 minutos","30 seconds":"30 segundos","300ms":"300ms","30m":"30 minutos","30minutes":"fin de 30 minutos","30s":"30 segundos","3D":"3 días","3M":"3 meses","3hours":"fin de 3 horas","3m":"3 minutos","3s":"3 segundos","4 days":"4 dias","4 minutes":"4 minutos","45 minutes":"45 minutos","45m":"45 minutos","4D":"4 dias","4W":"4 semanas","4hours":"fin de 4 horas","4m":"4 minutos","5 minutes":"5 minutos","5 seconds":"5 segundos","500ms":"500ms","5m":"5 minutos","5minutes":"fin de 5 minutos","5s":"5 segundos","6 hours":"6 horas","6 months":"6 meses","60 seconds":"60 segundos","60s":"60 segundos","6H":"6 horas","6M":"6 meses","6hours":"fin de 6 horas","7 days":"7 días","8W":"8 semanas","8hours":"fin de 8 horas","90 seconds":"90 segundos",Acknowledged:P3t,Add:N3t,"Add line to chart":"Agregar línea al gráfico","Add marking line to chart":"Agregar línea de marcado al gráfico","Add new line":"Agregar nueva línea","Add new markings":"Agregar nuevas marcas","Add new state name":"Agregar nuevo nombre de estado","Add new value":"Agregar nuevo valor","After comma":"Después de la coma",Aggregate:R3t,"Aggregate for lines":"Agregación por líneas",Aggregation:j3t,"Aggregation:":"Tipo:",All:L3t,"Animation:":"Animación:",Appearance:z3t,Apply:F3t,"Are you sure for closing folder and discard unsaved changes?":"¿Está seguro de cerrar la carpeta y descartar los cambios no guardados?","Are you sure for delete this line?":"¿Está seguro de eliminar esta línea?","Are you sure for delete this mark?":"¿Está seguro de eliminar esta marca?","Are you sure for delete this preset?":"¿Está seguro de eliminar este ajuste preestablecido?","Are you sure for loading the chart and discard unsaved changes?":"¿Está seguro de cargar el gráfico y descartar los cambios no guardados?","Are you sure for loading the preset and discard unsaved changes?":"¿Está seguro de cargar el ajuste preestablecido y descartar los cambios no guardados?","Arrange bools":"Organizar booleanos",Auto:B3t,"Auto (Line or Steps)":"Auto (línea o pasos)","Auto padding":"Sangría automática","Auto save":"Auto guardar","Auto-refresh":"Autorefrescar","Auto-update:":"Actualización automática:",Axis:W3t,"Background of radar chart":"Fondo del gráfico de radar","Background:":"Fondo:",Backgrounds:H3t,Bar:U3t,"Bar settings":"Configuración de barra","Bars width:":"Ancho de barras:",Border:V3t,"Border color:":"Color del borde:","Border padding":"Relleno de borde","Border width":"Ancho del borde","Border width:":"Ancho del borde:","Bottom, center, inside":"Abajo, centro, adentro","Bottom, center, outside":"Abajo, centro, afuera","Bottom, left":"Abajo, izquierda","Bottom, left, inside":"Abajo, izquierda, adentro","Bottom, right":"Abajo a la derecha","Bottom, right, inside":"Abajo, derecha, adentro","Bottom, right, outside":"Abajo, a la derecha, afuera",Cancel:q3t,"Cannot create unique ID":"No se puede crear una identificación única","Chart Type":"Tipo de gráfico","Chart background":"Fondo gráfico","Chart background:":"Fondo de la carta:","Chart size":"Tamaño del gráfico","Chart type":"Tipo de gráfico","Charts preview":"Vista previa de gráficos",Circle:G3t,Close:X3t,Collapse:J3t,"Collapse all lines":"Contraer todas las líneas","Collapse all markings":"Contraer todas las marcas",Color:Y3t,"Common Y Axis":"Eje Y común","Convert formula":"fórmula de conversión",Copy:K3t,"Copy link to clipboard":"Copiar enlace al portapapeles",Counts:Z3t,Create:Q3t,"Create folder":"Crear carpeta","Create new folder":"Crear nueva carpeta","Create new preset":"Crear nuevo preset","Create preset":"Crear preajuste","Custom chart background:":"Fondo de carta personalizada:","Custom time format":"Formato de hora personalizado",Data:ejt,Default:tjt,Delete:rjt,"Delete object":"Eliminar objeto","Delete text value":"Eliminar valor de texto",Dialog:njt,"Digits after comma":"Dígitos después de la coma","Drag me":"Arrástrame",Edit:ojt,"Edit folder name":"Editar nombre de carpeta","Edit options for line %s":"Editar opciones para la línea% s","Edit state names":"Editar nombres de estado","Empty preset cannot be saved!":"¡No se puede guardar un ajuste preestablecido vacío!","Enable logging for new state":"Habilitar el registro para el nuevo estado","Enable zoom and pan":"Habilitar zoom y panorámica","Enable zoom and pan:":"Habilitar zoom y pan:",End:ajt,"End:":"Fin:","Enter chart name":"Ingrese el nombre del gráfico",Expand:ijt,"Expand all lines":"Expandir todas las líneas","Expand all markings":"Expandir todas las marcas","Export data color":"Color del botón Exportar datos",Fill:sjt,"Fill color:":"Color de relleno:","Fill range:":"Rango de llenado:","Fill(0to1)":"Rellenar (0to1)",Folder:ljt,"Font size":"Tamaño de fuente",From:cjt,"From line %s":"De la línea %s",Functions:djt,Grid:ujt,"Grid color":"Color de cuadrícula","Grid color:":"Color de cuadrícula","Group by":"Agrupar por","HH:MM dd.mm":"HH:MM dd.mm",Height:pjt,"Height:":"Altura:","Hide X grid":"Ocultar cuadrícula X","Hide Y grid":"Ocultar cuadrícula Y","Hide edit button:":"Ocultar botón de edición:","Hide nulls in tooltip":"Ocultar nulos en la información sobre herramientas","Hover details":"Hover detalles","Hover details:":"Hover detalles:",ID:hjt,IDs:fjt,"If the current value is not older than X seconds, assume it is still the same.":"Si el valor actual no tiene más de X segundos, suponga que sigue siendo el mismo.","In seconds":"En segundos",Individual:mjt,"Input data":"Datos de entrada","Inside / No lines":"Dentro / Sin líneas","Inside / With lines":"Dentro / Con líneas","Inside end":"adentro, al final","Inside end bottom":"Adentro, al final, abajo","Inside end top":"Adentro, al final, arriba","Inside middle":"adentro, en el medio","Inside middle bottom":"Adentro, en el medio, abajo","Inside middle top":"Adentro, en el medio, arriba","Inside start":"Dentro, al principio","Inside start bottom":"En el interior, al principio, en la parte inferior","Inside start top":"Adentro, al principio, arriba",Instance:gjt,"Integral unit":"unidad integral","Interpolate:":"Interpolar:","Interpolation method":"método de interpolación",Intervals:vjt,"Invalid object":"Objeto no válido",Label:yjt,"Label color:":"Color de etiqueta:","Label font size:":"Tamaño de letra de la etiqueta:",Labels:_jt,"Last changed":"Último cambio",Left:bjt,Legend:wjt,"Legend background":"Fondo de leyenda","Legend background:":"Antecedentes de leyenda:","Legend columns:":"Columnas leyenda","Legend opacity (from 0 to 1):":"Opacidad de la leyenda (de 0 a 1):","Legend text color":"Color del texto de la leyenda",Limits:xjt,Line:Sjt,"Line ID":"Identificación de línea","Line Width":"Ancho de línea","Line and area":"Línea y área","Line style":"Estilo de línea",Link:Cjt,"Live update every":"Actualización en vivo cada","Live update every:":"Actualización en vivo cada:","Load without save":"Cargar sin guardar","Loading...":"Cargando...","Lower value or ID":"Menor valor o ID",Main:$jt,Mark:kjt,Markings:Ejt,Max:Tjt,"Max:":"Máximo:",Members:Ojt,"Middle, left, inside":"Medio, izquierdo, adentro","Middle, right, inside":"Medio, derecho, adentro","Middle, right, outside":"Medio, derecho, afuera",Min:Djt,"Min:":"Mínimo:",MinMax:Ajt,More:Ijt,"Move to folder":"Mover a la carpeta",Multiple:Mjt,"NULL as":"NULL como",Name:Pjt,"Name:":"Nombre:","No ID yet":"Sin ID todavía","No background":"Sin antecedentes","No border:":"Sin bordes:","No future":"Sin valores en el futuro","No interpolate in hover":"Sin interpolación en la información sobre herramientas","No presets created yet":"Aún no se han creado ajustes preestablecidos",None:Njt,Offset:Rjt,Ok:jjt,Open:Ljt,"Open chart in own window":"Abrir gráfico en su propia ventana","Open in own window":"Abrir en su propia ventana",Options:zjt,Orientation:Fjt,Others:Bjt,"Outside / No lines":"Fuera / Sin líneas","Outside/ With lines":"Fuera / Con líneas",Paste:Wjt,Percentile:Hjt,Pie:Ujt,"Please confirm":"Por favor confirme",Points:Vjt,Polar:qjt,Polygonal:Gjt,"Predefined background:":"Antecedentes predefinidos:",Presets:Xjt,Processing:Jjt,"Processing...":"Tratamiento...",Range:Yjt,"Range:":"Distancia:",Relative:Kjt,Rename:Zjt,"Rename preset":"Cambiar nombre de preset","Reorder presets in folders":"Reordenar los ajustes preestablecidos en carpetas","Reset settings":"Reiniciar ajustes","Reset zoom after idle":"Restablecer el zoom después de inactivo",Right:Qjt,Role:e4t,Room:t4t,Rooms:r4t,Root:n4t,"Save current preset and load":"Guardar el ajuste preestablecido actual y cargarlo","Save image button color":"Color del botón Guardar imagen","Save into:":"Guardar en:","Scatter plot":"Gráfico de dispersión",Seconds:o4t,Select:a4t,"Select ID":"Seleccionar ID","Select for":"Seleccionar para","Shadow Size":"Tamaño de las Sombras","Show controls":"Mostrar controles","Show export data button":"Mostrar botón de exportación de datos","Show labels:":"Mostrar etiquetas:","Show legend":"Mostrar leyenda","Show legend:":"Mostrar leyenda:","Show only in legend":"Mostrar solo en leyenda","Show points":"Mostrar puntos","Show save image button":"Mostrar el botón Guardar imagen","Show values":"Mostrar valores",Smoothing:i4t,Source:s4t,Spline:l4t,Stack:c4t,"Start:":"Comienzo:","State value":"valor del estado","State value text":"Texto de valor de estado","Step span:":"Lapso de paso:","Step type":"Tipo de paso","Step type:":"Tipo de paso:",Steps:d4t,"Steps on start":"Pasos al inicio",Style:u4t,"System settings":"Ajustes del sistema",Text:p4t,"Text X offset":"X-Offset de texto","Text Y offset":"Desplazamiento Y de texto","Text by false":"Texto por falso","Text by true":"Texto por verdadero","Text color":"Color de texto","Text position":"Posición del texto","Text size":"Tamano del texto","Text values not used":"Valores de texto no utilizados",Texts:h4t,Theme:f4t,"This time offset will be added to the X label by displaying data on the chart":"Este desplazamiento de tiempo se agregará a la etiqueta X al mostrar datos en el gráfico.","This time offset will be added to the request by reading data from DB":"Este desplazamiento de tiempo se agregará a la solicitud leyendo los datos de la base de datos.","Ticks from:":"Use X-ticks desde:",Time:m4t,"Time Span":"Espacio de tiempo","Time format":"Formato de tiempo","Time format:":"Formato de tiempo:","Time span":"Espacio de tiempo","Time stamp":"Marca de tiempo",Title:g4t,"Title color":"Color del título","Title color:":"Color del título:","Title position":"Posición del título","Title position:":"Posición del título:","Title size":"Tamaño del título","Title size:":"Tamaño del título:","Title:":"Título:","Top, center, inside":"Arriba, centro, adentro","Top, left":"Arriba a la izquierda","Top, left, inside":"Arriba, izquierda, adentro","Top, right":"Parte superior derecha","Top, right, inside":"Arriba, derecha, adentro","Top, right, outside":"Arriba, a la derecha, afuera",Type:v4t,Unit:y4t,"Units:":"Unidades:",Update:_4t,"Update objects":"Actualizar objetos","Update states":"Actualizar estados","Upper value or ID":"Valor superior o ID","Use comma":"Usa coma","Use comma:":"Usa la coma","Use state names":"Usar nombres de estado","User defined":"Usuario definido","User defined names:":"Nombres definidos por el usuario:","Valid time (sec)":"Tiempo válido (seg)",Value:b4t,Width:w4t,"Width:":"Anchura:","Window background":"Fondo de ventana","Window background:":"Fondo de la ventana:",With:x4t,"With border":"Con frontera","With lines":"Con líneas",Without:S4t,"Without border":"Sin borde","Without lines":"Sin líneas","X Axis":"Eje X","X Axis position":"Posición del eje X","X axis labels color:":"X etiquetas de color:","X labels color":"Color de etiquetas X","X labels size":"Tamaño de fuente X","X ticks color":"X ticks color","X-Axis ticks":"Garrapatas X-Axis","X-Label-Offset":"Desplazamiento de etiqueta X","X-Offset":"Desplazamiento X","Y Axis":"Eje Y","Y Axis position":"Posición del eje Y","Y axis labels color:":"Color de etiquetas Y:","Y labels color":"Y etiquetas de color","Y labels size":"Tamaño de fuente Y","Y ticks color":"Y ticks color","Y-Axis ticks":"Señales del eje Y","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Puede crear nuevas marcas con un "+" a la derecha.',"You can drag and drop simple lines from the left list.":"Puede arrastrar y soltar líneas simples de la lista de la izquierda.","add children":"agregar niños",area:C4t,auto:$4t,average:k4t,bar:E4t,bottom:T4t,bottomColor:O4t,convert_help:D4t,copied:A4t,copy:I4t,count:M4t,counts:P4t,current:N4t,dashed:R4t,day:j4t,default:"defecto",difference:L4t,dotted:z4t,dow:F4t,edit:B4t,"edit enum":"editar enum","edit file":"editar archivo","end of 10 minutes":"fin de 10 minutos","end of 12 hours":"fin de 12 horas","end of 2 hours":"fin de 2 horas","end of 3 hours":"fin de 3 horas","end of 30 minutes":"fin de 30 minutos","end of 4 hours":"fin de 4 horas","end of 5 minutes":"fin de 5 minutos","end of 6 hours":"fin de 6 horas","end of 8 hours":"fin de 8 horas","end of day":"fin del día","end of hour":"fin de hora","end of minute":"fin del minuto","end of previous saturday":"fin del sábado anterior (2 semanas)","end of previous sunday":"fin del domingo anterior (2 semanas)","end of saturday":"fin de sabado","end of sunday":"fin del domingo",false:"nulo",horizontal:W4t,i15min:H4t,i1day:U4t,i1hour:V4t,i30days:q4t,"ignore 'null'":"ignorar 'nulo'","ignore 'null':":"ignorar 'nulo':","ignore null values":"ignorar valores nulos",integral:G4t,"last value":"último valor",left:X4t,"left colored":"izquierda coloreada",leftColor:J4t,line:Y4t,linear:K4t,lineplot:Z4t,load:Q4t,max:eLt,middle:tLt,min:rLt,minmax:nLt,month:oLt,new:"nuevo",no:aLt,"no null":"& nbsp; no null","non-processed":"no procesado",none:iLt,none_no:sLt,now:lLt,null:"nulo",off:cLt,onchange:dLt,"own axis":"propio eje",percentile:uLt,polar:pLt,raw:hLt,relative:fLt,reload:mLt,"restart script":"script de reinicio",right:gLt,"right colored":"color correcto",rightColor:vLt,role:yLt,save:_Lt,"save %s":"ahorra",scatterplot:bLt,seconds:wLt,solid:xLt,spline:SLt,standard:CLt,static:"estático",steps:$Lt,"this month":"este mes","this year":"este año",to:kLt,today:ELt,top:TLt,"top over":"arriba encima","top under":"arriba debajo",topColor:OLt,total:DLt,true:"último valor","update Preview":"actualización de Vista previa","use 0 instead of null values":"use 0 en lugar de valores nulos",vertical:ALt,weekEurope:ILt,weekUsa:MLt,year:PLt,yes:NLt,ØL:"ØL","ØL - Line thickness":"ØL - Espesor de línea","ØL Line thickness":"ØL espesor de la línea",ØS:"ØS","ØS - Shadow size":"ØS - Tamaño de sombra","ØS Shadow size":"ØS tamaño de la sombra"},jLt="Przyznane",LLt="Dodać",zLt="Agregat",FLt="Rodzaj",BLt="Wszystko",WLt="Wygląd",HLt="Stosować",ULt="Automatyczny",VLt="Oś",qLt="Tła",GLt="Bar",XLt="Granica",JLt="Anuluj",YLt="Koło",KLt="Zamknąć",ZLt="Zawalić się",QLt="Kolor",ezt="Kopiuj",tzt="Liczy",rzt="Stwórz",nzt="Dane",ozt="Domyślna",azt="Kasować",izt="Dialog",szt="Edytować",lzt="Koniec",czt="Rozszerzać",dzt="Napełnić",uzt="Teczka",pzt="Od:",hzt="Funkcje",fzt="Krata",mzt="Wysokość",gzt="ID",vzt="ID",yzt="Indywidualny",_zt="Instancja",bzt="Interwały",wzt="Etykieta",xzt="Etykiety",Szt="Lewo",Czt="Legenda",$zt="Limity",kzt="Linia",Ezt="Połączyć",Tzt="Główny",Ozt="Cechowanie",Dzt="Znakowania",Azt="Max",Izt="Członkowie",Mzt="Min",Pzt="Minimum maksimum",Nzt="jeszcze",Rzt="Wielokrotność",jzt="Nazwa",Lzt="Żaden",zzt="X-Offset",Fzt="Ok",Bzt="otwarty",Wzt="Opcje",Hzt="Orientacja",Uzt="Inni",Vzt="Pasta",qzt="Percentyl",Gzt="Ciasto",Xzt="Zwrotnica",Jzt="Wykres polarny",Yzt="Wielokątny",Kzt="Presets",Zzt="Przetwarzanie",Qzt="Zasięg",eFt="Krewny",tFt="Przemianować",rFt="Dobrze",nFt="Rola",oFt="Pokój",aFt="Pokoje",iFt="Korzeń",sFt="sekundy",lFt="Wybierz",cFt="Wygładzanie",dFt="Źródło",uFt="Klin",pFt="Stos",hFt="Kroki",fFt="Styl",mFt="Tekst",gFt="Teksty",vFt="Motyw",yFt="Czas",_Ft="Tytuł",bFt="Rodzaj",wFt="Jednostka",xFt="Aktualizacja",SFt="Wartość",CFt="Szerokość",$Ft="Z",kFt="Bez",EFt="Powierzchnia",TFt="automatyczny",OFt="średni",DFt="Bar",AFt="Dolny",IFt="u dołu w kolorze",MFt="Wprowadź formułę, np. „val / 1000 + 3”. Ta formuła zostanie zastosowana do wszystkich wartości wybranego punktu danych.",PFt="skopiowane",NFt="kopia",RFt="liczyć",jFt="liczy",LFt="Aktualna wartość",zFt="przerywana",FFt="dzień",BFt="różnica",WFt="kropkowany",HFt="Dzień tygodnia",UFt="edytować",VFt="poziomy",qFt="15 minut",GFt="1 dzień",XFt="1 godzina",JFt="30 dni",YFt="całka",KFt="lewo",ZFt="pozostawione w kolorze",QFt="Linia",e6t="liniowy",t6t="Fabuła linii",r6t="obciążenie",n6t="maks",o6t="środkowy",a6t="min",i6t="minimum maksimum",s6t="miesiąc",l6t="Nie",c6t="Żaden",d6t="Żaden",u6t="teraz",p6t="poza",h6t="o zmianie",f6t="percentyl",m6t="Wykres polarny",g6t="surowy",v6t="krewny",y6t="przeładować",_6t="dobrze",b6t="prawe kolorowe",w6t="rola",x6t="zapisać",S6t="Wykres punktowy",C6t="sekundy",$6t="solidny",k6t="Klin",E6t="standard",T6t="Kroki",O6t="do",D6t="dzisiaj",A6t="Top",I6t="górne kolorowe",M6t="całkowity",P6t="pionowy",N6t="koniec dnia",R6t="koniec niedzieli",j6t="rok",L6t="tak",z6t={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"% s temu","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 sekund","0s":"0 sekund","1 day":"1 dzień","1 hour":"1 godzina","1 minute":"1 minuta","1 month":"1 miesiąc","1 week":"1 tydzień","1 year":"1 rok","10 minutes":"10 minut","10 seconds":"10 sekund","10m":"10 minut","10minutes":"koniec 10 minut","10s":"10 sekund","12 hours":"12 godzin","12H":"12 godzin","12W":"12 tygodni","12hours":"koniec 12 godzin","14 days":"14 dni","15 minutes":"15 minut","15 seconds":"15 sekund","15m":"15 minut","1D":"1 dzień","1H":"1 godzina","1M":"1 miesiąc","1W":"1 tydzień","1Y":"1 rok","1hour":"koniec godziny","1minute":"koniec minuty","1s":"1 sekunda","2 days":"2 dni","2 hours":"2 godziny","2 minutes":"2 minuty","2 months":"2 miesiące","2 weeks":"2 tygodnie","2 years":"2 lata","20 minutes":"20 minut","20 seconds":"20 sekund","26W":"26 tygodni","2D":"2 dni","2H":"2 godziny","2M":"2 miesiące","2W":"2 tygodnie","2Y":"2 lata","2hours":"koniec 2 godzin","2m":"2 minuty","2s":"2 sekundy","3 days":"3 dni","3 hours":"3 godziny","3 minutes":"3 minuty","3 months":"3 miesiące","30 minutes":"30 minut","30 seconds":"30 sekund","300ms":"300ms","30m":"30 minut","30minutes":"koniec 30 minut","30s":"30 sekund","3D":"3 dni","3M":"3 miesiące","3hours":"koniec 3 godzin","3m":"3 minuty","3s":"3 sekundy","4 days":"4 dni","4 minutes":"4 minuty","45 minutes":"45 minut","45m":"45 minut","4D":"4 dni","4W":"4 tygodnie","4hours":"koniec 4 godzin","4m":"4 minuty","5 minutes":"5 minut","5 seconds":"5 sekund","500ms":"500 ms","5m":"5 minut","5minutes":"koniec 5 minut","5s":"5 sekund","6 hours":"6 godzin","6 months":"6 miesięcy","60 seconds":"60 sekund","60s":"60 sekund","6H":"6 godzin","6M":"6 miesięcy","6hours":"koniec 6 godzin","7 days":"7 dni","8W":"8 tygodni","8hours":"koniec 8 godzin","90 seconds":"90 sekund",Acknowledged:jLt,Add:LLt,"Add line to chart":"Dodaj linię do wykresu","Add marking line to chart":"Dodaj linię zaznaczania do wykresu","Add new line":"Dodaj nową linię","Add new markings":"Dodaj nowe oznaczenia","Add new state name":"Dodaj nową nazwę stanu","Add new value":"Dodaj nową wartość","After comma":"Po przecinku",Aggregate:zLt,"Aggregate for lines":"Agregacja dla linii",Aggregation:FLt,"Aggregation:":"Rodzaj:",All:BLt,"Animation:":"Animacja:",Appearance:WLt,Apply:HLt,"Are you sure for closing folder and discard unsaved changes?":"Czy na pewno chcesz zamknąć folder i odrzucić niezapisane zmiany?","Are you sure for delete this line?":"Czy na pewno chcesz usunąć tę linię?","Are you sure for delete this mark?":"Czy na pewno chcesz usunąć ten znak?","Are you sure for delete this preset?":"Czy na pewno chcesz usunąć to ustawienie wstępne?","Are you sure for loading the chart and discard unsaved changes?":"Czy na pewno chcesz załadować wykres i odrzucić niezapisane zmiany?","Are you sure for loading the preset and discard unsaved changes?":"Czy na pewno chcesz załadować ustawienia wstępne i odrzucić niezapisane zmiany?","Arrange bools":"Rozmieść booleans",Auto:ULt,"Auto (Line or Steps)":"Auto (linia lub kroki)","Auto padding":"Automatyczne wcięcie","Auto save":"Automatyczne zapisywanie","Auto-refresh":"Automatyczne odświeżanie","Auto-update:":"Automatyczna aktualizacja:",Axis:VLt,"Background of radar chart":"Tło mapy radarowej","Background:":"Tło:",Backgrounds:qLt,Bar:GLt,"Bar settings":"Ustawienia paska","Bars width:":"Szerokość prętów:",Border:XLt,"Border color:":"Kolor ramki:","Border padding":"Obramowanie","Border width":"Szerokość granicy","Border width:":"Szerokość granicy:","Bottom, center, inside":"Dół, środek, wnętrze","Bottom, center, outside":"Dół, środek, na zewnątrz","Bottom, left":"Na dole po lewej","Bottom, left, inside":"Dół, lewo, wnętrze","Bottom, right":"Prawy dolny","Bottom, right, inside":"Dół, prawo, wewnątrz","Bottom, right, outside":"Dół, prawo, na zewnątrz",Cancel:JLt,"Cannot create unique ID":"Nie można utworzyć unikalnego identyfikatora","Chart Type":"Typ wykresu","Chart background":"Tło wykresu","Chart background:":"Tło wykresu:","Chart size":"Rozmiar wykresu","Chart type":"Typ wykresu","Charts preview":"Podgląd wykresów",Circle:YLt,Close:KLt,Collapse:ZLt,"Collapse all lines":"Zwiń wszystkie linie","Collapse all markings":"Zwiń wszystkie oznaczenia",Color:QLt,"Common Y Axis":"Wspólna oś Y.","Convert formula":"Formuła konwersji",Copy:ezt,"Copy link to clipboard":"Skopiuj link do schowka",Counts:tzt,Create:rzt,"Create folder":"Utwórz folder","Create new folder":"Stwórz nowy folder","Create new preset":"Utwórz nowe ustawienie wstępne","Create preset":"Utwórz ustawienie wstępne","Custom chart background:":"Niestandardowe tło wykresu:","Custom time format":"Niestandardowy format czasu",Data:nzt,Default:ozt,Delete:azt,"Delete object":"Usuń obiekt","Delete text value":"Usuń wartość tekstową",Dialog:izt,"Digits after comma":"Cyfry po przecinku","Drag me":"Pociągnij mnie",Edit:szt,"Edit folder name":"Edytuj nazwę folderu","Edit options for line %s":"Edytuj opcje linii% s","Edit state names":"Edytuj nazwy stanów","Empty preset cannot be saved!":"Nie można zapisać pustego ustawienia wstępnego!","Enable logging for new state":"Włącz rejestrowanie dla nowego stanu","Enable zoom and pan":"Włącz powiększanie i przesuwanie","Enable zoom and pan:":"Włącz powiększanie i panoramowanie:",End:lzt,"End:":"Koniec:","Enter chart name":"Wprowadź nazwę wykresu",Expand:czt,"Expand all lines":"Rozwiń wszystkie linie","Expand all markings":"Rozwiń wszystkie oznaczenia","Export data color":"Kolor przycisku eksportu danych",Fill:dzt,"Fill color:":"Kolor wypełnienia:","Fill range:":"Zakres wypełnienia:","Fill(0to1)":"Wypełnij (0to1)",Folder:uzt,"Font size":"Rozmiar czcionki",From:pzt,"From line %s":"Z linii %s",Functions:hzt,Grid:fzt,"Grid color":"Kolor siatki","Grid color:":"Kolor siatki:","Group by":"Grupuj według","HH:MM dd.mm":"HH:MM dd.mm",Height:mzt,"Height:":"Wysokość:","Hide X grid":"Ukryj siatkę X.","Hide Y grid":"Ukryj siatkę Y.","Hide edit button:":"Ukryj przycisk edycji:","Hide nulls in tooltip":"Ukryj null w podpowiedzi","Hover details":"Najedź na szczegóły","Hover details:":"Po najechaniu szczegóły:",ID:gzt,IDs:vzt,"If the current value is not older than X seconds, assume it is still the same.":"Jeśli bieżąca wartość nie jest starsza niż X sekund, załóżmy, że nadal jest taka sama.","In seconds":"W sekundy",Individual:yzt,"Input data":"Dane wejściowe","Inside / No lines":"Wewnątrz / Bez linii","Inside / With lines":"Wewnątrz / Z liniami","Inside end":"Wewnątrz, na końcu","Inside end bottom":"Wewnątrz, na końcu, na dole","Inside end top":"Wewnątrz, na końcu, na górze","Inside middle":"Wewnątrz, w środku","Inside middle bottom":"Wewnątrz, na środku, na dole","Inside middle top":"Wewnątrz, w środku, na górze","Inside start":"Wewnątrz, na początku","Inside start bottom":"Wewnątrz, na początku, na dole","Inside start top":"Wewnątrz, na początku, na górze",Instance:_zt,"Integral unit":"Jednostka integralna","Interpolate:":"Interpolować:","Interpolation method":"Metoda interpolacji",Intervals:bzt,"Invalid object":"Nieprawidłowy obiekt",Label:wzt,"Label color:":"Kolor etykiety:","Label font size:":"Rozmiar czcionki etykiety:",Labels:xzt,"Last changed":"Ostatnia zmiana",Left:Szt,Legend:Czt,"Legend background":"Tło legendy","Legend background:":"Tło legendy:","Legend columns:":"Kolumny legendy:","Legend opacity (from 0 to 1):":"Krycie Legendy (od 0 do 1):","Legend text color":"Kolor tekstu legendy",Limits:$zt,Line:kzt,"Line ID":"Identyfikator linii","Line Width":"Szerokość linii","Line and area":"Linia i obszar","Line style":"Styl linii",Link:Ezt,"Live update every":"Aktualizacja na żywo co","Live update every:":"Aktualizacja na żywo co:","Load without save":"Załaduj bez zapisywania","Loading...":"Ładuję...","Lower value or ID":"Niższa wartość lub ID",Main:Tzt,Mark:Ozt,Markings:Dzt,Max:Azt,"Max:":"Maksymalny:",Members:Izt,"Middle, left, inside":"Środkowy, lewy, w środku","Middle, right, inside":"Środkowy, prawy, wewnątrz","Middle, right, outside":"Środkowy, prawy, na zewnątrz",Min:Mzt,"Min:":"Minimum:",MinMax:Pzt,More:Nzt,"Move to folder":"Przenieś do folderu",Multiple:Rzt,"NULL as":"NULL as",Name:jzt,"Name:":"Nazwa:","No ID yet":"Nie ma ID tożsamości","No background":"Bez tła","No border:":"Bez granic:","No future":"Żadnych wartości w przyszłości","No interpolate in hover":"Brak interpolacji w podpowiedzi","No presets created yet":"Nie utworzono jeszcze żadnych ustawień wstępnych",None:Lzt,Offset:zzt,Ok:Fzt,Open:Bzt,"Open chart in own window":"Otwórz wykres we własnym oknie","Open in own window":"Otwórz we własnym oknie",Options:Wzt,Orientation:Hzt,Others:Uzt,"Outside / No lines":"Poza / Bez linii","Outside/ With lines":"Na zewnątrz / Z liniami",Paste:Vzt,Percentile:qzt,Pie:Gzt,"Please confirm":"Proszę potwierdzić",Points:Xzt,Polar:Jzt,Polygonal:Yzt,"Predefined background:":"Wstępnie zdefiniowane tło:",Presets:Kzt,Processing:Zzt,"Processing...":"Przetwarzanie...",Range:Qzt,"Range:":"Zasięg:",Relative:eFt,Rename:tFt,"Rename preset":"Zmień nazwę ustawienia wstępnego","Reorder presets in folders":"Zmień kolejność ustawień wstępnych w folderach","Reset settings":"Resetowanie ustawień","Reset zoom after idle":"Zresetuj powiększenie po bezczynności",Right:rFt,Role:nFt,Room:oFt,Rooms:aFt,Root:iFt,"Save current preset and load":"Zapisz bieżące ustawienie wstępne i załaduj","Save image button color":"Zapisz kolor przycisku obrazu","Save into:":"Zapisz w:","Scatter plot":"Wykres punktowy",Seconds:sFt,Select:lFt,"Select ID":"Wybierz ID","Select for":"Wybierz dla","Shadow Size":"Rozmiar cienia","Show controls":"Pokaż kontrolki","Show export data button":"Pokaż przycisk eksportu danych","Show labels:":"Pokaż etykiety:","Show legend":"Pokaż legendę","Show legend:":"Pokaż legendę:","Show only in legend":"Pokaż tylko w legendzie","Show points":"Pokaż punkty","Show save image button":"Pokaż przycisk zapisywania obrazu","Show values":"Pokaż wartości",Smoothing:cFt,Source:dFt,Spline:uFt,Stack:pFt,"Start:":"Początek:","State value":"Wartość stanu","State value text":"Podaj tekst wartości","Step span:":"Zakres kroku:","Step type":"Typ kroku","Step type:":"Rodzaj kroku:",Steps:hFt,"Steps on start":"Kroki na starcie",Style:fFt,"System settings":"Ustawienia systemowe",Text:mFt,"Text X offset":"X-Przesunięcie tekstu","Text Y offset":"Przesunięcie Y tekstu","Text by false":"Tekst fałszywy","Text by true":"Tekst od prawda","Text color":"Kolor tekstu","Text position":"Pozycja tekstu","Text size":"Rozmiar czcionki","Text values not used":"Wartości tekstowe nie są używane",Texts:gFt,Theme:vFt,"This time offset will be added to the X label by displaying data on the chart":"To przesunięcie czasowe zostanie dodane do etykiety X poprzez wyświetlenie danych na wykresie","This time offset will be added to the request by reading data from DB":"To przesunięcie czasowe zostanie dodane do żądania poprzez odczyt danych z bazy danych","Ticks from:":"Użyj tyknięć X z:",Time:yFt,"Time Span":"Okres czasu","Time format":"Format czasu","Time format:":"Format czasu:","Time span":"Okres czasu","Time stamp":"Znak czasu",Title:_Ft,"Title color":"Kolor tytułu","Title color:":"Kolor tytułu:","Title position":"Pozycja tytułu","Title position:":"Pozycja tytułu:","Title size":"Rozmiar tytułu","Title size:":"Rozmiar tytułu:","Title:":"Tytuł:","Top, center, inside":"Góra, środek, wnętrze","Top, left":"Lewy górny","Top, left, inside":"Góra, lewa, wewnątrz","Top, right":"W prawym górnym rogu","Top, right, inside":"Góra, prawo, wewnątrz","Top, right, outside":"Góra, prawo, na zewnątrz",Type:bFt,Unit:wFt,"Units:":"Jednostki:",Update:xFt,"Update objects":"Zaktualizuj obiekty","Update states":"Zaktualizuj stany","Upper value or ID":"Górna wartość lub ID","Use comma":"Użyj przecinka","Use comma:":"Użyj przecinka:","Use state names":"Używaj nazw stanów","User defined":"Określony przez użytkownika","User defined names:":"Nazwy zdefiniowane przez użytkownika:","Valid time (sec)":"Ważny czas (s)",Value:SFt,Width:CFt,"Width:":"Szerokość:","Window background":"Tło okna","Window background:":"Tło okna:",With:$Ft,"With border":"Z obramowaniem","With lines":"Z liniami",Without:kFt,"Without border":"Bez obramowania","Without lines":"Bez linii","X Axis":"Oś X.","X Axis position":"Położenie osi X.","X axis labels color:":"Kolor etykiet X:","X labels color":"Kolor etykiet X.","X labels size":"X rozmiar czcionki","X ticks color":"X zaznacza kolor","X-Axis ticks":"Tiki X-Axis","X-Label-Offset":"Przesunięcie etykiety X","X-Offset":"Przesunięcie X","Y Axis":"Oś Y.","Y Axis position":"Pozycja osi Y.","Y axis labels color:":"Kolor etykiet Y:","Y labels color":"Kolor etykiety Y.","Y labels size":"Rozmiar czcionki Y","Y ticks color":"Y zaznacza kolor","Y-Axis ticks":"Tyksy Y-Axis","Y-Offset":"Przesunięcie Y",'You can create a new markings with a "+" on the right.':"Możesz utworzyć nowe oznaczenia ze znakiem „+” po prawej stronie.","You can drag and drop simple lines from the left list.":"Możesz przeciągać i upuszczać proste linie z lewej listy.","add children":"dodaj dzieci",area:EFt,auto:TFt,average:OFt,bar:DFt,bottom:AFt,bottomColor:IFt,convert_help:MFt,copied:PFt,copy:NFt,count:RFt,counts:jFt,current:LFt,dashed:zFt,day:FFt,default:"domyślna",difference:BFt,dotted:WFt,dow:HFt,edit:UFt,"edit enum":"edytuj wyliczenie","edit file":"edytuj plik","end of 10 minutes":"koniec 10 minut","end of 12 hours":"koniec 12 godzin","end of 2 hours":"koniec 2 godzin","end of 3 hours":"koniec 3 godzin","end of 30 minutes":"koniec 30 minut","end of 4 hours":"koniec 4 godzin","end of 5 minutes":"koniec 5 minut","end of 6 hours":"koniec 6 godzin","end of 8 hours":"koniec 8 godzin","end of day":"koniec dnia","end of hour":"koniec godziny","end of minute":"koniec minuty","end of previous saturday":"koniec poprzedniej soboty (2 tygodnie)","end of previous sunday":"koniec poprzedniej niedzieli (2 tygodnie)","end of saturday":"koniec soboty","end of sunday":"koniec niedzieli",false:"zero",horizontal:VFt,i15min:qFt,i1day:GFt,i1hour:XFt,i30days:JFt,"ignore 'null'":'zignoruj ​​"zero"',"ignore 'null':":'zignoruj ​​"null":',"ignore null values":"ignoruj ​​wartości puste",integral:YFt,"last value":"ostatnia wartość",left:KFt,"left colored":"lewy kolorowy",leftColor:ZFt,line:QFt,linear:e6t,lineplot:t6t,load:r6t,max:n6t,middle:o6t,min:a6t,minmax:i6t,month:s6t,new:"Nowy",no:l6t,"no null":"& nbsp; no null","non-processed":"nieprzetworzone",none:c6t,none_no:d6t,now:u6t,null:"zero",off:p6t,onchange:h6t,"own axis":"własną oś",percentile:f6t,polar:m6t,raw:g6t,relative:v6t,reload:y6t,"restart script":"zrestartuj skrypt",right:_6t,"right colored":"w odpowiednim kolorze",rightColor:b6t,role:w6t,save:x6t,"save %s":"zapisz% s",scatterplot:S6t,seconds:C6t,solid:$6t,spline:k6t,standard:E6t,static:"statyczny",steps:T6t,"this month":"ten miesiąc","this year":"W tym roku",to:O6t,today:D6t,top:A6t,"top over":"do góry","top under":"górny pod",topColor:I6t,total:M6t,true:"ostatnia wartość","update Preview":"aktualizuj podgląd","use 0 instead of null values":"użyj 0 zamiast wartości zerowych",vertical:P6t,weekEurope:N6t,weekUsa:R6t,year:j6t,yes:L6t,ØL:"ØL","ØL - Line thickness":"ØL - grubość linii","ØL Line thickness":"ØL Grubość linii",ØS:"ØS","ØS - Shadow size":"ØS - Rozmiar cienia","ØS Shadow size":"ØS Rozmiar cienia"},F6t="Визнано",B6t="додати",W6t="Агрегатний",H6t="Тип",U6t="все",V6t="Зовнішній вигляд",q6t="Застосувати",G6t="Авто",X6t="Вісь",J6t="Фони",Y6t="Bar",K6t="Кордон",Z6t="Скасувати",Q6t="Коло",e8t="Закрити",t8t="Згорнути",r8t="колір",n8t="Копія",o8t="Розраховує",a8t="Створити",i8t="Дані",s8t="За замовчуванням",l8t="Видалити",c8t="Діалог",d8t="Редагувати",u8t="Кінець",p8t="Розгорнути",h8t="Заповнити",f8t="Папка",m8t="Від:",g8t="Функції",v8t="Сітка",y8t="Висота",_8t="ID",b8t="ідентифікатори",w8t="Індивідуальний",x8t="Екземпляр",S8t="Інтервали",C8t="Мітка",$8t="етикетки",k8t="Ліворуч",E8t="Легенда",T8t="Межі",O8t="лінія",D8t="Посилання",A8t="Головна",I8t="Маркування",M8t="Маркування",P8t="Макс",N8t="Члени",R8t="Хв",j8t="MinMax",L8t="більше",z8t="множинний",F8t="Ім'я",B8t="Жодного",W8t="Х-зсув",H8t="В порядку",U8t="ВІДЧИНЕНО",V8t="Опції",q8t="Орієнтація",G8t="інші",X8t="Вставити",J8t="Процентиль",Y8t="пиріг",K8t="Очки",Z8t="Полярна діаграма",Q8t="Багатокутний",eBt="Предустановки",tBt="Обробка",rBt="Діапазон",nBt="Відносна",oBt="Перейменувати",aBt="правильно",iBt="Роль",sBt="Кімната",lBt="Кімнати",cBt="Корінь",dBt="секунд",uBt="Виберіть",pBt="Згладжування",hBt="Джерело",fBt="Сплайн",mBt="Стек",gBt="Кроки",vBt="Стиль",yBt="текст",_Bt="Тексти",bBt="Тема",wBt="час",xBt="Назва",SBt="Тип",CBt="одиниця",$Bt="оновлення",kBt="Значення",EBt="Ширина",TBt="с",OBt="без",DBt="Площа",ABt="авто",IBt="середній",MBt="Бар",PBt="дно",NBt="низ кольоровий",RBt="Введіть формулу на зразок «val / 1000 + 3». Ця формула буде застосована до всіх значень вибраної точки даних.",jBt="скопійовано",LBt="копія",zBt="розраховувати",FBt="розраховує",BBt="Поточне значення",WBt="штриховий",HBt="день",UBt="різниця",VBt="пунктирний",qBt="День тижня",GBt="редагувати",XBt="горизонтальний",JBt="15 хвилин",YBt="1 день",KBt="1 година",ZBt="30 днів",QBt="інтегральний",e9t="зліва",t9t="лівий кольоровий",r9t="лінія",n9t="лінійний",o9t="Лінійний сюжет",a9t="навантаження",i9t="макс",s9t="середина",l9t="хв",c9t="minmax",d9t="місяць",u9t="ні",p9t="немає",h9t="немає",f9t="зараз",m9t="вимкнено",g9t="на зміну",v9t="процентиль",y9t="Полярна діаграма",_9t="сирий",b9t="відносний",w9t="перезавантажити",x9t="правильно",S9t="правильний колір",C9t="роль",$9t="зберегти",k9t="Діаграма розкиду",E9t="секунд",T9t="твердий",O9t="Сплайн",D9t="стандарт",A9t="Кроки",I9t="до",M9t="сьогодні",P9t="зверху",N9t="верх кольоровий",R9t="всього",j9t="вертикальний",L9t="кінець дня",z9t="кінець неділі",F9t="рік",B9t="так",W9t={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s тому","ØL":"ØL","ØS":"ØS","0 seconds":"0 секунд","0s":"0 секунд","1 day":"1 день","1 hour":"1 година","1 minute":"1 хвилина","1 month":"1 місяць","1 week":"1 тиждень","1 year":"1 рік","10 minutes":"10 хвилин","10 seconds":"10 секунд","10m":"10 хвилин","10minutes":"кінець 10 хвилин","10s":"10 секунд","12 hours":"12 годин","12H":"12 годин","12W":"12 тижнів","12hours":"кінець 12 год","14 days":"14 днів","15 minutes":"15 хвилин","15 seconds":"15 секунд","15m":"15 хвилин","1D":"1 день","1H":"1 година","1M":"1 місяць","1W":"1 тиждень","1Y":"1 рік","1hour":"кінець години","1minute":"кінець хвилини","1s":"1 секунда","2 days":"2 дні","2 hours":"2 години","2 minutes":"2 хвилини","2 months":"2 місяці","2 weeks":"2 тижні","2 years":"2 роки","20 minutes":"20 хвилин","20 seconds":"20 секунд","26W":"26 тижнів","2D":"2 дні","2H":"2 години","2M":"2 місяці","2W":"2 тижні","2Y":"2 роки","2hours":"кінець 2 год","2m":"2 хвилини","2s":"2 секунди","3 days":"3 дні","3 hours":"3 години","3 minutes":"3 хвилини","3 months":"3 місяці","30 minutes":"30 хвилин","30 seconds":"30 секунд","300ms":"300 мс","30m":"30 хвилин","30minutes":"закінчення 30 хвилин","30s":"30 секунд","3D":"3 дні","3M":"3 місяці","3hours":"кінець 3 год","3m":"3 хвилини","3s":"3 секунди","4 days":"4 дні","4 minutes":"4 хвилини","45 minutes":"45 хвилин","45m":"45 хвилин","4D":"4 дні","4W":"4 тижні","4hours":"кінець 4 год","4m":"4 хвилини","5 minutes":"5 хвилин","5 seconds":"5 секунд","500ms":"500 мс","5m":"5 хвилин","5minutes":"закінчення 5 хвилин","5s":"5 секунд","6 hours":"6 годин","6 months":"6 місяців","60 seconds":"60 секунд","60s":"60 секунд","6H":"6 годин","6M":"6 місяців","6hours":"кінець 6 год","7 days":"7 днів","8W":"8 тижнів","8hours":"кінець 8 год","90 seconds":"90 секунд",Acknowledged:F6t,Add:B6t,"Add line to chart":"Додайте лінію до діаграми","Add marking line to chart":"Додати лінію розмітки до діаграми","Add new line":"Додайте новий рядок","Add new markings":"Додайте нові позначки","Add new state name":"Додайте нову назву штату","Add new value":"Додати нове значення","After comma":"Після коми",Aggregate:W6t,"Aggregate for lines":"Агрегація для ліній",Aggregation:H6t,"Aggregation:":"тип:",All:U6t,"Animation:":"анімація:",Appearance:V6t,Apply:q6t,"Are you sure for closing folder and discard unsaved changes?":"Ви впевнені, що хочете закрити папку та скасувати незбережені зміни?","Are you sure for delete this line?":"Ви впевнені, що хочете видалити цей рядок?","Are you sure for delete this mark?":"Ви впевнені, що хочете видалити цю позначку?","Are you sure for delete this preset?":"Ви впевнені, що хочете видалити цей стиль?","Are you sure for loading the chart and discard unsaved changes?":"Ви впевнені, що хочете завантажити діаграму та відхилити незбережені зміни?","Are you sure for loading the preset and discard unsaved changes?":"Ви впевнені, що хочете завантажити попередні налаштування та відхилити незбережені зміни?","Arrange bools":"Упорядкуйте логічні значення",Auto:G6t,"Auto (Line or Steps)":"Авто (лінії або кроки)","Auto padding":"Авто-відступи","Auto save":"Автоматичне збереження","Auto-refresh":"Автооновлення","Auto-update:":"Автоматичне оновлення:",Axis:X6t,"Background of radar chart":"Фон радіолокаційної діаграми","Background:":"фон:",Backgrounds:J6t,Bar:Y6t,"Bar settings":"Налаштування панелі","Bars width:":"Ширина барів:",Border:K6t,"Border color:":"Колір рамки:","Border padding":"Заповнення межі","Border width":"Ширина кордону","Border width:":"Ширина межі:","Bottom, center, inside":"Знизу, по центру, всередині","Bottom, center, outside":"Знизу, по центру, зовні","Bottom, left":"Внизу, зліва","Bottom, left, inside":"Внизу, зліва, всередині","Bottom, right":"Внизу праворуч","Bottom, right, inside":"Внизу, справа, всередині","Bottom, right, outside":"Внизу, справа, зовні",Cancel:Z6t,"Cannot create unique ID":"Неможливо створити унікальний ідентифікатор","Chart Type":"Тип діаграми","Chart background":"Тло діаграми","Chart background:":"Фон діаграми:","Chart size":"Розмір діаграми","Chart type":"Тип діаграми","Charts preview":"Попередній перегляд діаграм",Circle:Q6t,Close:e8t,Collapse:t8t,"Collapse all lines":"Згорнути всі рядки","Collapse all markings":"Згорнути всі позначки",Color:r8t,"Common Y Axis":"Загальна вісь Y","Convert formula":"Формула перетворення",Copy:n8t,"Copy link to clipboard":"Копіювати посилання в буфер обміну",Counts:o8t,Create:a8t,"Create folder":"Створити папку","Create new folder":"Створити нову папку","Create new preset":"Створити новий стиль","Create preset":"Створити пресет","Custom chart background:":"Користувацький фон діаграми:","Custom time format":"Спеціальний формат часу",Data:i8t,Default:s8t,Delete:l8t,"Delete object":"Видалити об'єкт","Delete text value":"Видалити текстове значення",Dialog:c8t,"Digits after comma":"Цифри після коми","Drag me":"Перетягни мене",Edit:d8t,"Edit folder name":"Редагувати назву папки","Edit options for line %s":"Редагувати параметри для лінії %s","Edit state names":"Редагувати назви штатів","Empty preset cannot be saved!":"Порожній пресет неможливо зберегти!","Enable logging for new state":"Увімкнути журналювання для нового стану","Enable zoom and pan":"Увімкніть масштабування та панорамування","Enable zoom and pan:":"Увімкнути масштабування та панорамування:",End:u8t,"End:":"Кінець:","Enter chart name":"Введіть назву діаграми",Expand:p8t,"Expand all lines":"Розгорнути всі рядки","Expand all markings":"Розгорнути всі позначки","Export data color":"Колір кнопки експорту даних",Fill:h8t,"Fill color:":"Колір заливки:","Fill range:":"Діапазон заповнення:","Fill(0to1)":"Заповнити (0до1)",Folder:f8t,"Font size":"Розмір шрифту",From:m8t,"From line %s":"З рядка %s",Functions:g8t,Grid:v8t,"Grid color":"Колір сітки","Grid color:":"Колір сітки:","Group by":"Групувати за","HH:MM dd.mm":"ГГ:МХ дд.хв",Height:y8t,"Height:":"Висота:","Hide X grid":"Приховати сітку X","Hide Y grid":"Приховати сітку Y","Hide edit button:":"Приховати кнопку редагування:","Hide nulls in tooltip":"Приховати нулі у підказці","Hover details":"Деталі наведення","Hover details:":"Деталі наведення:",ID:_8t,IDs:b8t,"If the current value is not older than X seconds, assume it is still the same.":"Якщо поточне значення не старше X секунд, припустимо, що воно все ще те саме.","In seconds":"За секунди",Individual:w8t,"Input data":"Вхідні дані","Inside / No lines":"Всередині / без ліній","Inside / With lines":"Всередині / З лініями","Inside end":"Всередині, на кінці","Inside end bottom":"Всередині, на кінці, на дні","Inside end top":"Всередині, в кінці, зверху","Inside middle":"Всередині, посередині","Inside middle bottom":"Всередині, посередині, внизу","Inside middle top":"Всередині, посередині, зверху","Inside start":"Всередині, на початку","Inside start bottom":"Всередині, на початку, внизу","Inside start top":"Всередині, на початку, зверху",Instance:x8t,"Integral unit":"Цілісний блок","Interpolate:":"Інтерполяція:","Interpolation method":"Метод інтерполяції",Intervals:S8t,"Invalid object":"Недійсний об'єкт",Label:C8t,"Label color:":"Колір етикетки:","Label font size:":"Розмір шрифту етикетки:",Labels:$8t,"Last changed":"Востаннє змінено",Left:k8t,Legend:E8t,"Legend background":"Легенда фону","Legend background:":"Фон легенди:","Legend columns:":"Умовні стовпці:","Legend opacity (from 0 to 1):":"Непрозорість легенди (від 0 до 1):","Legend text color":"Колір тексту легенди",Limits:T8t,Line:O8t,"Line ID":"Ідентифікатор лінії","Line Width":"Ширина лінії","Line and area":"Лінія і площа","Line style":"Стиль лінії",Link:D8t,"Live update every":"Оновлення в реальному часі кожні","Live update every:":"Оновлення в реальному часі кожні:","Load without save":"Завантажити без збереження","Loading...":"Завантаження...","Lower value or ID":"Нижнє значення або ID",Main:A8t,Mark:I8t,Markings:M8t,Max:P8t,"Max:":"Максимум:",Members:N8t,"Middle, left, inside":"Посередині, зліва, всередині","Middle, right, inside":"Посередині, справа, всередині","Middle, right, outside":"Посередині, справа, зовні",Min:R8t,"Min:":"мінімум:",MinMax:j8t,More:L8t,"Move to folder":"Перемістити в папку",Multiple:z8t,"NULL as":"NULL як",Name:F8t,"Name:":"Ім'я:","No ID yet":"Поки що немає ідентифікатора","No background":"Без фону","No border:":"Без кордону:","No future":"Жодних цінностей у майбутньому","No interpolate in hover":"Немає інтерполяції в спливаючій підказці","No presets created yet":"Попередніх налаштувань ще не створено",None:B8t,Offset:W8t,Ok:H8t,Open:U8t,"Open chart in own window":"Відкрити діаграму у власному вікні","Open in own window":"Відкрити у власному вікні",Options:V8t,Orientation:q8t,Others:G8t,"Outside / No lines":"Зовні / без ліній","Outside/ With lines":"Зовні/ З лініями",Paste:X8t,Percentile:J8t,Pie:Y8t,"Please confirm":"Будь ласка, підтвердьте",Points:K8t,Polar:Z8t,Polygonal:Q8t,"Predefined background:":"Попередньо визначений фон:",Presets:eBt,Processing:tBt,"Processing...":"Обробка...",Range:rBt,"Range:":"діапазон:",Relative:nBt,Rename:oBt,"Rename preset":"Перейменувати стиль","Reorder presets in folders":"Зміна порядку налаштувань у папках","Reset settings":"Скидання налаштувань","Reset zoom after idle":"Скинути масштаб після простою",Right:aBt,Role:iBt,Room:sBt,Rooms:lBt,Root:cBt,"Save current preset and load":"Зберегти поточний пресет і завантажити","Save image button color":"Зберегти колір кнопки зображення","Save into:":"Зберегти в:","Scatter plot":"Діаграма розкиду",Seconds:dBt,Select:uBt,"Select ID":"Виберіть ID","Select for":"Виберіть для","Shadow Size":"Розмір тіні","Show controls":"Показати елементи керування","Show export data button":"Показати кнопку експорту даних","Show labels:":"Показати мітки:","Show legend":"Показати легенду","Show legend:":"Показати легенду:","Show only in legend":"Показувати лише в легенді","Show points":"Показати бали","Show save image button":"Показати кнопку збереження зображення","Show values":"Показати значення",Smoothing:pBt,Source:hBt,Spline:fBt,Stack:mBt,"Start:":"початок:","State value":"Державне значення","State value text":"Вкажіть текст значення","Step span:":"Діапазон кроків:","Step type":"Тип кроку","Step type:":"Тип кроку:",Steps:gBt,"Steps on start":"Кроки на старті",Style:vBt,"System settings":"Налаштування системи",Text:yBt,"Text X offset":"Зміщення тексту X","Text Y offset":"Текст Y-зсув","Text by false":"Текст від false","Text by true":"Текст від правда","Text color":"Колір тексту","Text position":"Позиція тексту","Text size":"Розмір тексту","Text values not used":"Текстові значення не використовуються",Texts:_Bt,Theme:bBt,"This time offset will be added to the X label by displaying data on the chart":"Цей часовий зсув буде додано до мітки X шляхом відображення даних на діаграмі","This time offset will be added to the request by reading data from DB":"Цей часовий зсув буде додано до запиту шляхом читання даних з БД","Ticks from:":"Використовуйте X-ticks з:",Time:wBt,"Time Span":"Проміжок часу","Time format":"Формат часу","Time format:":"Формат часу:","Time span":"Проміжок часу","Time stamp":"Позначка часу",Title:xBt,"Title color":"Колір заголовка","Title color:":"Колір заголовка:","Title position":"Титульна позиція","Title position:":"Титульна позиція:","Title size":"Розмір заголовка","Title size:":"Розмір назви:","Title:":"Назва:","Top, center, inside":"Верх, центр, всередині","Top, left":"Зверху, зліва","Top, left, inside":"Зверху, зліва, всередині","Top, right":"Зверху, справа","Top, right, inside":"Зверху, справа, всередині","Top, right, outside":"Зверху, справа, зовні",Type:SBt,Unit:CBt,"Units:":"Одиниці вимірювання:",Update:$Bt,"Update objects":"Оновлення об'єктів","Update states":"Оновити штати","Upper value or ID":"Верхнє значення або ID","Use comma":"Використовуйте кому","Use comma:":"Використовуйте кому:","Use state names":"Використовуйте назви держав","User defined":"Визначений користувачем","User defined names:":"Визначені користувачем імена:","Valid time (sec)":"Дійсний час (с)",Value:kBt,Width:EBt,"Width:":"Ширина:","Window background":"Фон вікна","Window background:":"Фон вікна:",With:TBt,"With border":"З бордюром","With lines":"З лініями",Without:OBt,"Without border":"Без кордону","Without lines":"Без ліній","X Axis":"Вісь X","X Axis position":"Положення осі X","X axis labels color:":"Колір міток X:","X labels color":"Колір міток X","X labels size":"Розмір шрифту X","X ticks color":"Колір галочок X","X-Axis ticks":"Кліщі осі X","X-Label-Offset":"X-Label Offset","X-Offset":"Х-зсув","Y Axis":"Вісь Y","Y Axis position":"Положення осі Y","Y axis labels color:":"Колір міток Y:","Y labels color":"Колір міток Y","Y labels size":"Розмір шрифту Y","Y ticks color":"Колір галочок Y","Y-Axis ticks":"Відмітки осі Y","Y-Offset":"Y-зсув",'You can create a new markings with a "+" on the right.':"Ви можете створити нові позначки за допомогою «+» праворуч.","You can drag and drop simple lines from the left list.":"Ви можете перетягувати прості лінії зі списку ліворуч.","add children":"додати дітей",area:DBt,auto:ABt,average:IBt,bar:MBt,bottom:PBt,bottomColor:NBt,convert_help:RBt,copied:jBt,copy:LBt,count:zBt,counts:FBt,current:BBt,dashed:WBt,day:HBt,default:"за замовчуванням",difference:UBt,dotted:VBt,dow:qBt,edit:GBt,"edit enum":"редагувати enum","edit file":"редагувати файл","end of 10 minutes":"кінець 10 хвилин","end of 12 hours":"кінець 12 год","end of 2 hours":"кінець 2 год","end of 3 hours":"кінець 3 год","end of 30 minutes":"закінчення 30 хвилин","end of 4 hours":"кінець 4 год","end of 5 minutes":"закінчення 5 хвилин","end of 6 hours":"кінець 6 год","end of 8 hours":"кінець 8 год","end of day":"кінець дня","end of hour":"кінець години","end of minute":"кінець хвилини","end of previous saturday":"кінець попередньої суботи (2 тижні)","end of previous sunday":"кінець попередньої неділі (2 тижні)","end of saturday":"кінець суботи","end of sunday":"кінець неділі",false:"нуль",horizontal:XBt,i15min:JBt,i1day:YBt,i1hour:KBt,i30days:ZBt,"ignore 'null'":'ігнорувати "null"',"ignore 'null':":"ігнорувати 'null':","ignore null values":"ігнорувати нульові значення",integral:QBt,"last value":"останнє значення",left:e9t,"left colored":"лівий кольоровий",leftColor:t9t,line:r9t,linear:n9t,lineplot:o9t,load:a9t,max:i9t,middle:s9t,min:l9t,minmax:c9t,month:d9t,new:"новий",no:u9t,"no null":" немає нуля","non-processed":"необроблені",none:p9t,none_no:h9t,now:f9t,null:"нуль",off:m9t,onchange:g9t,"own axis":"власна вісь",percentile:v9t,polar:y9t,raw:_9t,relative:b9t,reload:w9t,"restart script":"перезапустити сценарій",right:x9t,"right colored":"правильний колір",rightColor:S9t,role:C9t,save:$9t,"save %s":"зберегти %s",scatterplot:k9t,seconds:E9t,solid:T9t,spline:O9t,standard:D9t,static:"статичний",steps:A9t,"this month":"цього місяця","this year":"цього року",to:I9t,today:M9t,top:P9t,"top over":"зверху","top under":"зверху під",topColor:N9t,total:R9t,true:"останнє значення","update Preview":"оновлення попереднього перегляду","use 0 instead of null values":"використовувати 0 замість нульових значень",vertical:j9t,weekEurope:L9t,weekUsa:z9t,year:F9t,yes:B9t,ØL:"ØL","ØL - Line thickness":"ØL - Товщина лінії","ØL Line thickness":"ØL Товщина лінії",ØS:"ØS","ØS - Shadow size":"ØS - розмір тіні","ØS Shadow size":"ØS Розмір тіні"},H9t="承认",U9t="添加",V9t="总计的",q9t="类型",G9t="所有",X9t="外观",J9t="申请",Y9t="汽车",K9t="轴",Z9t="背景资料",Q9t="Bar",e7t="边界",t7t="取消",r7t="圆圈",n7t="关闭",o7t="坍方",a7t="颜色",i7t="复制",s7t="计数",l7t="创造",c7t="数据",d7t="默认的",u7t="删除",p7t="对话",h7t="编辑",f7t="结束",m7t="扩大",g7t="填充",v7t="夹",y7t="自: ",_7t="功能",b7t="格",w7t="高度",x7t="ID",S7t="IDs",C7t="个人",$7t="实例",k7t="间隔",E7t="标签",T7t="标签",O7t="左",D7t="传说",A7t="限度",I7t="线",M7t="链接",P7t="主要",N7t="打标",R7t="标记",j7t="Max",L7t="成员",z7t="Min",F7t="MinMax",B7t="更多",W7t="多",H7t="名称",U7t="没有",V7t="X-Offset",q7t='"确定"',G7t="打开",X7t="选项",J7t="方向",Y7t="其他",K7t="糊",Z7t="百分位数",Q7t="馅饼",eWt="点",tWt="极坐标图",rWt="多边形",nWt="预置",oWt="加工",aWt="范围",iWt="相对的",sWt="改名",lWt="右",cWt="作用",dWt="房间",uWt="房间数",pWt="根",hWt="几秒钟",fWt="选择",mWt="平滑",gWt="来源",vWt="花键",yWt="栈",_Wt="步骤",bWt="风格",wWt="文本",xWt="文字",SWt="主题",CWt="时间",$Wt="标题",kWt="类型",EWt="单元",TWt="更新",OWt="值",DWt="宽度",AWt="与",IWt="没有",MWt="区域",PWt="汽车",NWt="平均",RWt="酒吧",jWt="底部",LWt="底色",zWt="输入公式,如“val / 1000 + 3”。此公式将应用于所选数据点的所有值。",FWt="复制的",BWt="复制",WWt="数数",HWt="计数",UWt="当前值",VWt="虚线",qWt="一天",GWt="不同之处",XWt="点缀",JWt="星期几",YWt="编辑",KWt="水平的",ZWt="15分钟",QWt="1天",eHt="1小时",tHt="30天",rHt="不可缺少的",nHt="左",oHt="留着色",aHt="线",iHt="线性的",sHt="线图",lHt="负载",cHt="max",dHt="中间",uHt="min",pHt="minmax",hHt="一个月",fHt="没有",mHt="没有",gHt="没有任何",vHt="现在",yHt="关闭",_Ht="在改变",bHt="百分位数",wHt="极坐标图",xHt="生的",SHt="相对",CHt="重新加载",$Ht="右",kHt="右色",EHt="作用",THt="保存",OHt="散点图",DHt="几秒钟",AHt="固体",IHt="样",MHt="标准",PHt="步骤",NHt="至",RHt="今天",jHt="顶部",LHt="顶颜色的",zHt="总",FHt="垂直",BHt="结束一天",WHt="结束的星期天",HHt="年",UHt="是的",VHt={0:"零",1:"一个",2:"两个",3:"三",4:"四个",5:"五个","%s ago":"%s前","ØL":"ØL","ØS":"ØS","0 seconds":"0秒","0s":"0秒","1 day":"1天","1 hour":"1小时","1 minute":"1分钟","1 month":"1个月","1 week":"1周","1 year":"1年","10 minutes":"10分钟","10 seconds":"10秒钟","10m":"10分钟","10minutes":"结束的10分钟","10s":"10秒钟","12 hours":"12小时","12H":"12小时","12W":"12周","12hours":"结束的12小时","14 days":"14天","15 minutes":"15分钟","15 seconds":"15秒","15m":"15分钟","1D":"1天","1H":"1小时","1M":"1个月","1W":"1星期","1Y":"1年","1hour":"结束小时","1minute":"结束的分钟","1s":"1秒","2 days":"2天","2 hours":"2小时","2 minutes":"2分钟","2 months":"2个月","2 weeks":"2周","2 years":"2年","20 minutes":"20分钟","20 seconds":"20秒","26W":"26周","2D":"2天","2H":"2小时","2M":"2个月","2W":"2个星期","2Y":"2年","2hours":"结束2个小时","2m":"2分钟","2s":"2秒","3 days":"3天","3 hours":"3小时","3 minutes":"3分钟","3 months":"3个月","30 minutes":"30分钟","30 seconds":"30秒","300ms":"300毫秒","30m":"30分钟","30minutes":"30分钟","30s":"30秒","3D":"3天","3M":"3个月","3hours":"结束的3小时","3m":"3分钟","3s":"3秒","4 days":"4天","4 minutes":"4分钟","45 minutes":"45分钟","45m":"45分钟","4D":"4天","4W":"4个星期","4hours":"结束4个小时","4m":"4分钟","5 minutes":"5分钟","5 seconds":"5秒钟","500ms":"500毫秒","5m":"5分钟","5minutes":"结束5分钟","5s":"5秒钟","6 hours":"6小时","6 months":"6个月","60 seconds":"60秒","60s":"60秒","6H":"6小时","6M":"6个月","6hours":"结束的6个小时","7 days":"7天","8W":"8个星期","8hours":"端8个小时","90 seconds":"90秒",Acknowledged:H9t,Add:U9t,"Add line to chart":"向图表添加线","Add marking line to chart":"将标记线添加到图表","Add new line":"添加新的线","Add new markings":"添加新的标记","Add new state name":"添加新州名","Add new value":"增加新价值","After comma":"之后的逗号",Aggregate:V9t,"Aggregate for lines":"线路聚合",Aggregation:q9t,"Aggregation:":"类型:",All:G9t,"Animation:":"动画:",Appearance:X9t,Apply:J9t,"Are you sure for closing folder and discard unsaved changes?":"您确定要关闭文件夹并放弃未保存的更改吗?","Are you sure for delete this line?":"您确定要删除此行吗?","Are you sure for delete this mark?":"您确定要删除此标记吗?","Are you sure for delete this preset?":"您确定要删除此预设吗?","Are you sure for loading the chart and discard unsaved changes?":"您确定要加载图表并放弃未保存的更改吗?","Are you sure for loading the preset and discard unsaved changes?":"您确定要加载预设并放弃未保存的更改吗?","Arrange bools":"安排布尔",Auto:Y9t,"Auto (Line or Steps)":"自动(行或步)","Auto padding":"自动缩进","Auto save":"自动保存","Auto-refresh":"自动刷新","Auto-update:":"自动更新:",Axis:K9t,"Background of radar chart":"雷达图背景","Background:":"背景:",Backgrounds:Z9t,Bar:Q9t,"Bar settings":"酒吧设置","Bars width:":"酒吧宽度:",Border:e7t,"Border color:":"边界颜色:","Border padding":"边框填充","Border width":"边框宽度","Border width:":"边界的宽度:","Bottom, center, inside":"底,中心,里面","Bottom, center, outside":"底,中心,外","Bottom, left":"底,左","Bottom, left, inside":"底,左,内部","Bottom, right":"底,右","Bottom, right, inside":"底,右,内部","Bottom, right, outside":"底,右,外",Cancel:t7t,"Cannot create unique ID":"无法创建唯一 ID","Chart Type":"图表的类型","Chart background":"图表背景","Chart background:":"图背景:","Chart size":"图表大小","Chart type":"图表类型","Charts preview":"图表预览",Circle:r7t,Close:n7t,Collapse:o7t,"Collapse all lines":"收合所有行","Collapse all markings":"收起所有标记",Color:a7t,"Common Y Axis":"共同Y轴","Convert formula":"换算公式",Copy:i7t,"Copy link to clipboard":"复制链接到剪贴板",Counts:s7t,Create:l7t,"Create folder":"创建文件夹","Create new folder":"建立新资料夹","Create new preset":"创建新的预设","Create preset":"创建预设","Custom chart background:":"定制图背景:","Custom time format":"自定义时间格式",Data:c7t,Default:d7t,Delete:u7t,"Delete object":"删除的对象","Delete text value":"删除文本值",Dialog:p7t,"Digits after comma":"逗号后的数字","Drag me":"拉我一把",Edit:h7t,"Edit folder name":"编辑文件夹名称","Edit options for line %s":"编辑的选择行%s","Edit state names":"编辑州名称","Empty preset cannot be saved!":"空预设无法保存!","Enable logging for new state":"启用新状态的日志记录","Enable zoom and pan":"启用缩放和平移","Enable zoom and pan:":"使缩小和锅:",End:f7t,"End:":"结束:","Enter chart name":"该图表的名字",Expand:m7t,"Expand all lines":"展开所有行","Expand all markings":"展开所有标记","Export data color":"导出数据按钮颜色",Fill:g7t,"Fill color:":"填补颜色:","Fill range:":"填补范围:","Fill(0to1)":"填补(0to1)",Folder:v7t,"Font size":"字体大小",From:y7t,"From line %s":"从第%s行",Functions:_7t,Grid:b7t,"Grid color":"网格颜色","Grid color:":"格颜色:","Group by":"通过...分组","HH:MM dd.mm":"HH:MM dd.mm",Height:w7t,"Height:":"高度:","Hide X grid":"隐藏X网格","Hide Y grid":"隐藏Y格","Hide edit button:":"隐藏编辑按钮:","Hide nulls in tooltip":"在工具提示中隐藏空值","Hover details":"悬停详细信息","Hover details:":"悬停的详细信息:",ID:x7t,IDs:S7t,"If the current value is not older than X seconds, assume it is still the same.":"如果当前值不超过X秒,则假定它仍然相同。","In seconds":"马上",Individual:C7t,"Input data":"输入数据","Inside / No lines":"内部/无线","Inside / With lines":"内部/有线","Inside end":"里面,尽头","Inside end bottom":"里面,最后,底部","Inside end top":"在里面,在最后,在上面","Inside middle":"在里面,在中间","Inside middle bottom":"里面,中间,底部","Inside middle top":"里面,中间,顶部","Inside start":"里面,一开始","Inside start bottom":"里面,开始,底部","Inside start top":"里面,开始,在上面",Instance:$7t,"Integral unit":"整体单元","Interpolate:":"插入:","Interpolation method":"插值法",Intervals:k7t,"Invalid object":"无效对象",Label:E7t,"Label color:":"标签颜色:","Label font size:":"签字体大小:",Labels:T7t,"Last changed":"最后改变",Left:O7t,Legend:D7t,"Legend background":"图例背景","Legend background:":"传说背景:","Legend columns:":"图例列:","Legend opacity (from 0 to 1):":"传说不透明(从0至1):","Legend text color":"图例文字颜色",Limits:A7t,Line:I7t,"Line ID":"行ID","Line Width":"线宽度","Line and area":"线和面积","Line style":"线型",Link:M7t,"Live update every":"实时更新","Live update every:":"实时更新每:","Load without save":"载入但不保存","Loading...":"装载...","Lower value or ID":"值较低或身份",Main:P7t,Mark:N7t,Markings:R7t,Max:j7t,"Max:":"最大值:",Members:L7t,"Middle, left, inside":"中间,左,内部","Middle, right, inside":"中间,正确的,里面","Middle, right, outside":"中间,正确的,外",Min:z7t,"Min:":"最低限度:",MinMax:F7t,More:B7t,"Move to folder":"移至文件夹",Multiple:W7t,"NULL as":"NULL作",Name:H7t,"Name:":"名称:","No ID yet":"暂无ID","No background":"没有背景","No border:":"没有边界:","No future":"未来没有任何价值","No interpolate in hover":"工具提示中没有插值","No presets created yet":"尚未创建预设",None:U7t,Offset:V7t,Ok:q7t,Open:G7t,"Open chart in own window":"在自己的窗口中打开图表","Open in own window":"在自己的窗口中打开",Options:X7t,Orientation:J7t,Others:Y7t,"Outside / No lines":"外面/有线","Outside/ With lines":"外面/有线",Paste:K7t,Percentile:Z7t,Pie:Q7t,"Please confirm":"请确认",Points:eWt,Polar:tWt,Polygonal:rWt,"Predefined background:":"预先定义的背景:",Presets:nWt,Processing:oWt,"Processing...":"处理...",Range:aWt,"Range:":"范围:",Relative:iWt,Rename:sWt,"Rename preset":"重命名预设","Reorder presets in folders":"重新排序文件夹中的预设","Reset settings":"重置的设置","Reset zoom after idle":"闲置后重置变焦",Right:lWt,Role:cWt,Room:dWt,Rooms:uWt,Root:pWt,"Save current preset and load":"保存当前预设并加载","Save image button color":"保存图像按钮颜色","Save into:":"节省成:","Scatter plot":"散点图",Seconds:hWt,Select:fWt,"Select ID":"Select ID","Select for":"选择用于","Shadow Size":"影子的尺寸","Show controls":"显示控件","Show export data button":"显示导出数据按钮","Show labels:":"显示标签:","Show legend":"显示图例","Show legend:":"示例:","Show only in legend":"仅在图例中显示","Show points":"显示点","Show save image button":"显示保存图像按钮","Show values":"显示数值",Smoothing:mWt,Source:gWt,Spline:vWt,Stack:yWt,"Start:":"开始:","State value":"状态值","State value text":"状态值文本","Step span:":"步范围:","Step type":"步骤类型","Step type:":"步骤类型:",Steps:_Wt,"Steps on start":"开始步骤",Style:bWt,"System settings":"系统设置的",Text:wWt,"Text X offset":"文本偏 X","Text Y offset":"文本 Y 偏移","Text by false":"假文字","Text by true":"文字真实","Text color":"文字颜色","Text position":"文的位置","Text size":"文字的大小","Text values not used":"未使用文本值",Texts:xWt,Theme:SWt,"This time offset will be added to the X label by displaying data on the chart":"通过在图表上显示数据,此时间偏移量将添加到 X 标签","This time offset will be added to the request by reading data from DB":"该时间偏移量将通过从 DB 读取数据添加到请求中","Ticks from:":"使用X-蜱:",Time:CWt,"Time Span":"时间跨度","Time format":"时间格式","Time format:":"时间格式:","Time span":"时间跨度","Time stamp":"时间戳",Title:$Wt,"Title color":"标题颜色","Title color:":"标题颜色:","Title position":"头衔","Title position:":"标题中的位置:","Title size":"标题大小","Title size:":"标题尺寸:","Title:":"标题:","Top, center, inside":"顶部,中心,里面","Top, left":"顶,左","Top, left, inside":"顶,左,内部","Top, right":"顶部右","Top, right, inside":"上右内侧","Top, right, outside":"上右之外",Type:kWt,Unit:EWt,"Units:":"单位:",Update:TWt,"Update objects":"更新对象","Update states":"更新国家","Upper value or ID":"上值或身份","Use comma":"使用逗号","Use comma:":"使用逗号:","Use state names":"使用州名","User defined":"用户定义的","User defined names:":"用户限定的名称:","Valid time (sec)":"有效时间(秒)",Value:OWt,Width:DWt,"Width:":"宽度:","Window background":"窗口背景","Window background:":"窗口背景:",With:AWt,"With border":"有边框","With lines":"有线",Without:IWt,"Without border":"无国界","Without lines":"无线","X Axis":"X轴","X Axis position":"X轴位置","X axis labels color:":"X标颜色:","X labels color":"X标签颜色","X labels size":"X 字体大小","X ticks color":"X刻度颜色","X-Axis ticks":"X轴蜱","X-Label-Offset":"X 标签偏移","X-Offset":"X偏移","Y Axis":"Y轴","Y Axis position":"Y轴位置","Y axis labels color:":"Y颜色的标签:","Y labels color":"Y标签颜色","Y labels size":"Y字号","Y ticks color":"Y刻度颜色","Y-Axis ticks":"Y轴蜱","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':"您可以在右侧创建带有“ +”的新标记。","You can drag and drop simple lines from the left list.":"您可以从左侧列表中拖放简单的行。","add children":"添加儿童",area:MWt,auto:PWt,average:NWt,bar:RWt,bottom:jWt,bottomColor:LWt,convert_help:zWt,copied:FWt,copy:BWt,count:WWt,counts:HWt,current:UWt,dashed:VWt,day:qWt,default:"默认的",difference:GWt,dotted:XWt,dow:JWt,edit:YWt,"edit enum":"编辑enum","edit file":"编辑的文件","end of 10 minutes":"结束的10分钟","end of 12 hours":"结束的12小时","end of 2 hours":"结束2个小时","end of 3 hours":"结束的3小时","end of 30 minutes":"30分钟","end of 4 hours":"结束4个小时","end of 5 minutes":"结束5分钟","end of 6 hours":"结束的6个小时","end of 8 hours":"端8个小时","end of day":"结束一天","end of hour":"结束小时","end of minute":"结束的分钟","end of previous saturday":"上周六结束(2周)","end of previous sunday":"上周日结束(2 周)","end of saturday":"结束的星期六","end of sunday":"结束的星期天",false:"空",horizontal:KWt,i15min:ZWt,i1day:QWt,i1hour:eHt,i30days:tHt,"ignore 'null'":"忽略'null'","ignore 'null':":"忽略'null':","ignore null values":"忽略空值",integral:rHt,"last value":"最后一个值",left:nHt,"left colored":"左色",leftColor:oHt,line:aHt,linear:iHt,lineplot:sHt,load:lHt,max:cHt,middle:dHt,min:uHt,minmax:pHt,month:hHt,new:"新的",no:fHt,"no null":"与nbsp;没有空","non-processed":"未加工",none:mHt,none_no:gHt,now:vHt,null:"空",off:yHt,onchange:_Ht,"own axis":"自己的轴",percentile:bHt,polar:wHt,raw:xHt,relative:SHt,reload:CHt,"restart script":"重新启动脚本",right:$Ht,"right colored":"正确的颜色",rightColor:kHt,role:EHt,save:THt,"save %s":"保存%s",scatterplot:OHt,seconds:DHt,solid:AHt,spline:IHt,standard:MHt,static:"静",steps:PHt,"this month":"这个月","this year":"今年",to:NHt,today:RHt,top:jHt,"top over":"顶上","top under":"顶下",topColor:LHt,total:zHt,true:"最后一个值","update Preview":"更新预览","use 0 instead of null values":"使用0,而不是空值",vertical:FHt,weekEurope:BHt,weekUsa:WHt,year:HHt,yes:UHt,ØL:"ØL","ØL - Line thickness":"ØL-线宽","ØL Line thickness":"ØL线宽",ØS:"ØS","ØS - Shadow size":"ØS-阴影尺寸","ØS Shadow size":"ØS阴影尺寸"};var Zn={},Kc={},AS,Fz;function GV(){if(Fz)return AS;Fz=1;var t=typeof xs=="object"&&xs&&xs.Object===Object&&xs;return AS=t,AS}var IS,Bz;function ui(){if(Bz)return IS;Bz=1;var t=GV(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return IS=r,IS}var MS,Wz;function Ff(){if(Wz)return MS;Wz=1;var t=ui(),e=t.Symbol;return MS=e,MS}var PS,Hz;function qHt(){if(Hz)return PS;Hz=1;var t=Ff(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,o=t?t.toStringTag:void 0;function a(i){var s=r.call(i,o),l=i[o];try{i[o]=void 0;var d=!0}catch{}var h=n.call(i);return d&&(s?i[o]=l:delete i[o]),h}return PS=a,PS}var NS,Uz;function GHt(){if(Uz)return NS;Uz=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return NS=r,NS}var RS,Vz;function nc(){if(Vz)return RS;Vz=1;var t=Ff(),e=qHt(),r=GHt(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function i(s){return s==null?s===void 0?o:n:a&&a in Object(s)?e(s):r(s)}return RS=i,RS}var jS,qz;function Ma(){if(qz)return jS;qz=1;var t=Array.isArray;return jS=t,jS}var LS,Gz;function Wi(){if(Gz)return LS;Gz=1;function t(e){return e!=null&&typeof e=="object"}return LS=t,LS}var zS,Xz;function XHt(){if(Xz)return zS;Xz=1;var t=nc(),e=Ma(),r=Wi(),n="[object String]";function o(a){return typeof a=="string"||!e(a)&&r(a)&&t(a)==n}return zS=o,zS}var FS,Jz;function JHt(){if(Jz)return FS;Jz=1;function t(e){return function(r,n,o){for(var a=-1,i=Object(r),s=o(r),l=s.length;l--;){var d=s[e?l:++a];if(n(i[d],d,i)===!1)break}return r}}return FS=t,FS}var BS,Yz;function YHt(){if(Yz)return BS;Yz=1;var t=JHt(),e=t();return BS=e,BS}var WS,Kz;function KHt(){if(Kz)return WS;Kz=1;function t(e,r){for(var n=-1,o=Array(e);++n-1&&n%1==0&&n-1&&r%1==0&&r<=t}return GS=e,GS}var XS,oF;function eUt(){if(oF)return XS;oF=1;var t=nc(),e=ID(),r=Wi(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",i="[object Date]",s="[object Error]",l="[object Function]",d="[object Map]",h="[object Number]",u="[object Object]",f="[object RegExp]",g="[object Set]",y="[object String]",b="[object WeakMap]",x="[object ArrayBuffer]",S="[object DataView]",T="[object Float32Array]",E="[object Float64Array]",$="[object Int8Array]",k="[object Int16Array]",O="[object Int32Array]",M="[object Uint8Array]",R="[object Uint8ClampedArray]",j="[object Uint16Array]",I="[object Uint32Array]",z={};z[T]=z[E]=z[$]=z[k]=z[O]=z[M]=z[R]=z[j]=z[I]=!0,z[n]=z[o]=z[x]=z[a]=z[S]=z[i]=z[s]=z[l]=z[d]=z[h]=z[u]=z[f]=z[g]=z[y]=z[b]=!1;function W(L){return r(L)&&e(L.length)&&!!z[t(L)]}return XS=W,XS}var JS,aF;function MD(){if(aF)return JS;aF=1;function t(e){return function(r){return e(r)}}return JS=t,JS}var yh={exports:{}};yh.exports;var iF;function PD(){return iF||(iF=1,function(t,e){var r=GV(),n=e&&!e.nodeType&&e,o=n&&!0&&t&&!t.nodeType&&t,a=o&&o.exports===n,i=a&&r.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||i&&i.binding&&i.binding("util")}catch{}}();t.exports=s}(yh,yh.exports)),yh.exports}var YS,sF;function YV(){if(sF)return YS;sF=1;var t=eUt(),e=MD(),r=PD(),n=r&&r.isTypedArray,o=n?e(n):t;return YS=o,YS}var KS,lF;function KV(){if(lF)return KS;lF=1;var t=KHt(),e=XV(),r=Ma(),n=AD(),o=JV(),a=YV(),i=Object.prototype,s=i.hasOwnProperty;function l(d,h){var u=r(d),f=!u&&e(d),g=!u&&!f&&n(d),y=!u&&!f&&!g&&a(d),b=u||f||g||y,x=b?t(d.length,String):[],S=x.length;for(var T in d)(h||s.call(d,T))&&!(b&&(T=="length"||g&&(T=="offset"||T=="parent")||y&&(T=="buffer"||T=="byteLength"||T=="byteOffset")||o(T,S)))&&x.push(T);return x}return KS=l,KS}var ZS,cF;function ND(){if(cF)return ZS;cF=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,o=typeof n=="function"&&n.prototype||t;return r===o}return ZS=e,ZS}var QS,dF;function ZV(){if(dF)return QS;dF=1;function t(e,r){return function(n){return e(r(n))}}return QS=t,QS}var eC,uF;function tUt(){if(uF)return eC;uF=1;var t=ZV(),e=t(Object.keys,Object);return eC=e,eC}var tC,pF;function rUt(){if(pF)return tC;pF=1;var t=ND(),e=tUt(),r=Object.prototype,n=r.hasOwnProperty;function o(a){if(!t(a))return e(a);var i=[];for(var s in Object(a))n.call(a,s)&&s!="constructor"&&i.push(s);return i}return tC=o,tC}var rC,hF;function zu(){if(hF)return rC;hF=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return rC=t,rC}var nC,fF;function QV(){if(fF)return nC;fF=1;var t=nc(),e=zu(),r="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function i(s){if(!e(s))return!1;var l=t(s);return l==n||l==o||l==r||l==a}return nC=i,nC}var oC,mF;function c_(){if(mF)return oC;mF=1;var t=QV(),e=ID();function r(n){return n!=null&&e(n.length)&&!t(n)}return oC=r,oC}var aC,gF;function Bf(){if(gF)return aC;gF=1;var t=KV(),e=rUt(),r=c_();function n(o){return r(o)?t(o):e(o)}return aC=n,aC}var iC,vF;function eq(){if(vF)return iC;vF=1;var t=YHt(),e=Bf();function r(n,o){return n&&t(n,o,e)}return iC=r,iC}var sC,yF;function tq(){if(yF)return sC;yF=1;function t(e){return e}return sC=t,sC}var lC,_F;function nUt(){if(_F)return lC;_F=1;var t=tq();function e(r){return typeof r=="function"?r:t}return lC=e,lC}var cC,bF;function RD(){if(bF)return cC;bF=1;var t=eq(),e=nUt();function r(n,o){return n&&t(n,e(o))}return cC=r,cC}var dC,wF;function jD(){if(wF)return dC;wF=1;var t=ZV(),e=t(Object.getPrototypeOf,Object);return dC=e,dC}var uC,xF;function oUt(){if(xF)return uC;xF=1;var t=nc(),e=jD(),r=Wi(),n="[object Object]",o=Function.prototype,a=Object.prototype,i=o.toString,s=a.hasOwnProperty,l=i.call(Object);function d(h){if(!r(h)||t(h)!=n)return!1;var u=e(h);if(u===null)return!0;var f=s.call(u,"constructor")&&u.constructor;return typeof f=="function"&&f instanceof f&&i.call(f)==l}return uC=d,uC}var pC,SF;function rq(){if(SF)return pC;SF=1;function t(e,r){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n-1}return yC=e,yC}var _C,DF;function cUt(){if(DF)return _C;DF=1;var t=d_();function e(r,n){var o=this.__data__,a=t(o,r);return a<0?(++this.size,o.push([r,n])):o[a][1]=n,this}return _C=e,_C}var bC,AF;function u_(){if(AF)return bC;AF=1;var t=aUt(),e=iUt(),r=sUt(),n=lUt(),o=cUt();function a(i){var s=-1,l=i==null?0:i.length;for(this.clear();++sg))return!1;var b=u.get(i),x=u.get(s);if(b&&x)return b==s&&x==i;var S=-1,T=!0,E=l&o?new t:void 0;for(u.set(i,s),u.set(s,i);++S0&&arguments[0]!==void 0?arguments[0]:[],f=[];return(0,s.default)(u,function(g){Array.isArray(g)?h(g).map(function(y){return f.push(y)}):(0,a.default)(g)?(0,n.default)(g,function(y,b){y===!0&&f.push(b),f.push(b+"-"+y)}):(0,e.default)(g)&&f.push(g)}),f};return Kc.default=d,Kc}var Zc={},G$,a8;function fVt(){if(a8)return G$;a8=1;function t(e,r){for(var n=-1,o=e==null?0:e.length;++n1&&arguments[1]!==void 0?arguments[1]:[],h=l.default&&(0,n.default)(l.default)||{};return d.map(function(u){var f=l[u];return f&&(0,e.default)(f,function(g,y){h[y]||(h[y]={}),h[y]=o({},h[y],f[y])}),u}),h};return Zc.default=i,Zc}var Qc={},j8;function FVt(){if(j8)return Qc;j8=1,Object.defineProperty(Qc,"__esModule",{value:!0}),Qc.autoprefix=void 0;var t=RD(),e=n(t),r=Object.assign||function(i){for(var s=1;s1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:!0;o[s]=l};return r===0&&a("first-child"),r===n-1&&a("last-child"),(r===0||r%2===0)&&a("even"),Math.abs(r%2)===1&&a("odd"),a("nth-child",r),o};return Fg.default=t,Fg}var B8;function UVt(){if(B8)return Zn;B8=1,Object.defineProperty(Zn,"__esModule",{value:!0}),Zn.ReactCSS=Zn.loop=Zn.handleActive=Zn.handleHover=Zn.hover=void 0;var t=hVt(),e=f(t),r=zVt(),n=f(r),o=FVt(),a=f(o),i=BVt(),s=f(i),l=WVt(),d=f(l),h=HVt(),u=f(h);function f(y){return y&&y.__esModule?y:{default:y}}Zn.hover=s.default,Zn.handleHover=s.default,Zn.handleActive=d.default,Zn.loop=u.default;var g=Zn.ReactCSS=function(b){for(var x=arguments.length,S=Array(x>1?x-1:0),T=1;Ts?f=1:f=Math.round(u*100/s)/100,r.a!==f)return{h:r.h,s:r.s,l:r.l,a:f,source:"rgb"}}else{var g=void 0;if(h<0?g=0:h>i?g=1:g=Math.round(h*100/i)/100,o!==g)return{h:r.h,s:r.s,l:r.l,a:g,source:"rgb"}}return null},Sk={},qVt=function(e,r,n,o){if(typeof document>"u"&&!o)return null;var a=o?new o:document.createElement("canvas");a.width=n*2,a.height=n*2;var i=a.getContext("2d");return i?(i.fillStyle=e,i.fillRect(0,0,a.width,a.height),i.fillStyle=r,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),a.toDataURL()):null},GVt=function(e,r,n,o){var a=e+"-"+r+"-"+n+(o?"-server":"");if(Sk[a])return Sk[a];var i=qVt(e,r,n,o);return Sk[a]=i,i},W8=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r
',N_t=Number.isNaN||oi.isNaN;function Nt(t){return typeof t=="number"&&!N_t(t)}var Rz=function(e){return e>0&&e<1/0};function TS(t){return typeof t>"u"}function Fl(t){return D2(t)==="object"&&t!==null}var R_t=Object.prototype.hasOwnProperty;function Gd(t){if(!Fl(t))return!1;try{var e=t.constructor,r=e.prototype;return e&&r&&R_t.call(r,"isPrototypeOf")}catch{return!1}}function eo(t){return typeof t=="function"}var j_t=Array.prototype.slice;function FV(t){return Array.from?Array.from(t):j_t.call(t)}function en(t,e){return t&&eo(e)&&(Array.isArray(t)||Nt(t.length)?FV(t).forEach(function(r,n){e.call(t,r,n,t)}):Fl(t)&&Object.keys(t).forEach(function(r){e.call(t,t[r],r,t)})),t}var Ir=Object.assign||function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o0&&n.forEach(function(a){Fl(a)&&Object.keys(a).forEach(function(i){e[i]=a[i]})}),e},L_t=/\.\d*(?:0|9){12}\d*$/;function nu(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return L_t.test(t)?Math.round(t*e)/e:t}var z_t=/^width|height|left|top|marginLeft|marginTop$/;function $s(t,e){var r=t.style;en(e,function(n,o){z_t.test(o)&&Nt(n)&&(n="".concat(n,"px")),r[o]=n})}function F_t(t,e){return t.classList?t.classList.contains(e):t.className.indexOf(e)>-1}function dn(t,e){if(e){if(Nt(t.length)){en(t,function(n){dn(n,e)});return}if(t.classList){t.classList.add(e);return}var r=t.className.trim();r?r.indexOf(e)<0&&(t.className="".concat(r," ").concat(e)):t.className=e}}function ti(t,e){if(e){if(Nt(t.length)){en(t,function(r){ti(r,e)});return}if(t.classList){t.classList.remove(e);return}t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,""))}}function Xd(t,e,r){if(e){if(Nt(t.length)){en(t,function(n){Xd(n,e,r)});return}r?dn(t,e):ti(t,e)}}var B_t=/([a-z\d])([A-Z])/g;function DD(t){return t.replace(B_t,"$1-$2").toLowerCase()}function z2(t,e){return Fl(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(DD(e)))}function hf(t,e,r){Fl(r)?t[e]=r:t.dataset?t.dataset[e]=r:t.setAttribute("data-".concat(DD(e)),r)}function W_t(t,e){if(Fl(t[e]))try{delete t[e]}catch{t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch{t.dataset[e]=void 0}else t.removeAttribute("data-".concat(DD(e)))}var BV=/\s\s*/,WV=function(){var t=!1;if(l_){var e=!1,r=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(a){e=a}});oi.addEventListener("test",r,n),oi.removeEventListener("test",r,n)}return t}();function fa(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(BV).forEach(function(a){if(!WV){var i=t.listeners;i&&i[a]&&i[a][r]&&(o=i[a][r],delete i[a][r],Object.keys(i[a]).length===0&&delete i[a],Object.keys(i).length===0&&delete t.listeners)}t.removeEventListener(a,o,n)})}function Bo(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(BV).forEach(function(a){if(n.once&&!WV){var i=t.listeners,s=i===void 0?{}:i;o=function(){delete s[a][r],t.removeEventListener(a,o,n);for(var d=arguments.length,h=new Array(d),u=0;uMath.abs(r)&&(r=f)})}),r}function zg(t,e){var r=t.pageX,n=t.pageY,o={endX:r,endY:n};return e?o:DV({startX:r,startY:n},o)}function V_t(t){var e=0,r=0,n=0;return en(t,function(o){var a=o.startX,i=o.startY;e+=a,r+=i,n+=1}),e/=n,r/=n,{pageX:e,pageY:r}}function ks(t){var e=t.aspectRatio,r=t.height,n=t.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",a=Rz(n),i=Rz(r);if(a&&i){var s=r*e;o==="contain"&&s>n||o==="cover"&&s90?{width:l,height:s}:{width:s,height:l}}function G_t(t,e,r,n){var o=e.aspectRatio,a=e.naturalWidth,i=e.naturalHeight,s=e.rotate,l=s===void 0?0:s,d=e.scaleX,h=d===void 0?1:d,u=e.scaleY,f=u===void 0?1:u,g=r.aspectRatio,y=r.naturalWidth,b=r.naturalHeight,x=n.fillColor,S=x===void 0?"transparent":x,T=n.imageSmoothingEnabled,E=T===void 0?!0:T,$=n.imageSmoothingQuality,k=$===void 0?"low":$,O=n.maxWidth,M=O===void 0?1/0:O,R=n.maxHeight,j=R===void 0?1/0:R,I=n.minWidth,z=I===void 0?0:I,W=n.minHeight,L=W===void 0?0:W,F=document.createElement("canvas"),H=F.getContext("2d"),q=ks({aspectRatio:g,width:M,height:j}),ee=ks({aspectRatio:g,width:z,height:L},"cover"),Y=Math.min(q.width,Math.max(ee.width,y)),G=Math.min(q.height,Math.max(ee.height,b)),te=ks({aspectRatio:o,width:M,height:j}),B=ks({aspectRatio:o,width:z,height:L},"cover"),K=Math.min(te.width,Math.max(B.width,a)),he=Math.min(te.height,Math.max(B.height,i)),fe=[-K/2,-he/2,K,he];return F.width=nu(Y),F.height=nu(G),H.fillStyle=S,H.fillRect(0,0,Y,G),H.save(),H.translate(Y/2,G/2),H.rotate(l*Math.PI/180),H.scale(h,f),H.imageSmoothingEnabled=E,H.imageSmoothingQuality=k,H.drawImage.apply(H,[t].concat(IV(fe.map(function(ge){return Math.floor(nu(ge))})))),H.restore(),F}var UV=String.fromCharCode;function X_t(t,e,r){var n="";r+=e;for(var o=e;o0;)r.push(UV.apply(null,FV(o.subarray(0,n)))),o=o.subarray(n);return"data:".concat(e,";base64,").concat(btoa(r.join("")))}function Z_t(t){var e=new DataView(t),r;try{var n,o,a;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var i=e.byteLength,s=2;s+1=8&&(a=d+u)}}}if(a){var f=e.getUint16(a,n),g,y;for(y=0;y=0?a:LV),height:Math.max(n.offsetHeight,i>=0?i:zV)};this.containerData=s,$s(o,{width:s.width,height:s.height}),dn(e,to),ti(o,to)},initCanvas:function(){var e=this.containerData,r=this.imageData,n=this.options.viewMode,o=Math.abs(r.rotate)%180===90,a=o?r.naturalHeight:r.naturalWidth,i=o?r.naturalWidth:r.naturalHeight,s=a/i,l=e.width,d=e.height;e.height*s>e.width?n===3?l=e.height*s:d=e.width/s:n===3?d=e.width/s:l=e.height*s;var h={aspectRatio:s,naturalWidth:a,naturalHeight:i,width:l,height:d};this.canvasData=h,this.limited=n===1||n===2,this.limitCanvas(!0,!0),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),h.left=(e.width-h.width)/2,h.top=(e.height-h.height)/2,h.oldLeft=h.left,h.oldTop=h.top,this.initialCanvasData=Ir({},h)},limitCanvas:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,i=this.cropBoxData,s=n.viewMode,l=a.aspectRatio,d=this.cropped&&i;if(e){var h=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;s>1?(h=Math.max(h,o.width),u=Math.max(u,o.height),s===3&&(u*l>h?h=u*l:u=h/l)):s>0&&(h?h=Math.max(h,d?i.width:0):u?u=Math.max(u,d?i.height:0):d&&(h=i.width,u=i.height,u*l>h?h=u*l:u=h/l));var f=ks({aspectRatio:l,width:h,height:u});h=f.width,u=f.height,a.minWidth=h,a.minHeight=u,a.maxWidth=1/0,a.maxHeight=1/0}if(r)if(s>(d?0:1)){var g=o.width-a.width,y=o.height-a.height;a.minLeft=Math.min(0,g),a.minTop=Math.min(0,y),a.maxLeft=Math.max(0,g),a.maxTop=Math.max(0,y),d&&this.limited&&(a.minLeft=Math.min(i.left,i.left+(i.width-a.width)),a.minTop=Math.min(i.top,i.top+(i.height-a.height)),a.maxLeft=i.left,a.maxTop=i.top,s===2&&(a.width>=o.width&&(a.minLeft=Math.min(0,g),a.maxLeft=Math.max(0,g)),a.height>=o.height&&(a.minTop=Math.min(0,y),a.maxTop=Math.max(0,y))))}else a.minLeft=-a.width,a.minTop=-a.height,a.maxLeft=o.width,a.maxTop=o.height},renderCanvas:function(e,r){var n=this.canvasData,o=this.imageData;if(r){var a=q_t({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),i=a.width,s=a.height,l=n.width*(i/n.naturalWidth),d=n.height*(s/n.naturalHeight);n.left-=(l-n.width)/2,n.top-=(d-n.height)/2,n.width=l,n.height=d,n.aspectRatio=i/s,n.naturalWidth=i,n.naturalHeight=s,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.widthn.maxHeight||n.heightr.width?a.height=a.width/n:a.width=a.height*n),this.cropBoxData=a,this.limitCropBox(!0,!0),a.width=Math.min(Math.max(a.width,a.minWidth),a.maxWidth),a.height=Math.min(Math.max(a.height,a.minHeight),a.maxHeight),a.width=Math.max(a.minWidth,a.width*o),a.height=Math.max(a.minHeight,a.height*o),a.left=r.left+(r.width-a.width)/2,a.top=r.top+(r.height-a.height)/2,a.oldLeft=a.left,a.oldTop=a.top,this.initialCropBoxData=Ir({},a)},limitCropBox:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,i=this.cropBoxData,s=this.limited,l=n.aspectRatio;if(e){var d=Number(n.minCropBoxWidth)||0,h=Number(n.minCropBoxHeight)||0,u=s?Math.min(o.width,a.width,a.width+a.left,o.width-a.left):o.width,f=s?Math.min(o.height,a.height,a.height+a.top,o.height-a.top):o.height;d=Math.min(d,o.width),h=Math.min(h,o.height),l&&(d&&h?h*l>d?h=d/l:d=h*l:d?h=d/l:h&&(d=h*l),f*l>u?f=u/l:u=f*l),i.minWidth=Math.min(d,u),i.minHeight=Math.min(h,f),i.maxWidth=u,i.maxHeight=f}r&&(s?(i.minLeft=Math.max(0,a.left),i.minTop=Math.max(0,a.top),i.maxLeft=Math.min(o.width,a.left+a.width)-i.width,i.maxTop=Math.min(o.height,a.top+a.height)-i.height):(i.minLeft=0,i.minTop=0,i.maxLeft=o.width-i.width,i.maxTop=o.height-i.height))},renderCropBox:function(){var e=this.options,r=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.widthn.maxHeight||n.height=r.width&&n.height>=r.height?PV:TD),$s(this.cropBox,Ir({width:n.width,height:n.height},Rh({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),ou(this.element,P2,this.getData())}},t0t={initPreview:function(){var e=this.element,r=this.crossOrigin,n=this.options.preview,o=r?this.crossOriginUrl:this.url,a=e.alt||"The image to preview",i=document.createElement("img");if(r&&(i.crossOrigin=r),i.src=o,i.alt=a,this.viewBox.appendChild(i),this.viewBoxImage=i,!!n){var s=n;typeof n=="string"?s=e.ownerDocument.querySelectorAll(n):n.querySelector&&(s=[n]),this.previews=s,en(s,function(l){var d=document.createElement("img");hf(l,Lg,{width:l.offsetWidth,height:l.offsetHeight,html:l.innerHTML}),r&&(d.crossOrigin=r),d.src=o,d.alt=a,d.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',l.innerHTML="",l.appendChild(d)})}},resetPreview:function(){en(this.previews,function(e){var r=z2(e,Lg);$s(e,{width:r.width,height:r.height}),e.innerHTML=r.html,W_t(e,Lg)})},preview:function(){var e=this.imageData,r=this.canvasData,n=this.cropBoxData,o=n.width,a=n.height,i=e.width,s=e.height,l=n.left-r.left-e.left,d=n.top-r.top-e.top;!this.cropped||this.disabled||($s(this.viewBoxImage,Ir({width:i,height:s},Rh(Ir({translateX:-l,translateY:-d},e)))),en(this.previews,function(h){var u=z2(h,Lg),f=u.width,g=u.height,y=f,b=g,x=1;o&&(x=f/o,b=a*x),a&&b>g&&(x=g/a,y=o*x,b=g),$s(h,{width:y,height:b}),$s(h.getElementsByTagName("img")[0],Ir({width:i*x,height:s*x},Rh(Ir({translateX:-l*x,translateY:-d*x},e))))}))}},r0t={bind:function(){var e=this.element,r=this.options,n=this.cropper;eo(r.cropstart)&&Bo(e,j2,r.cropstart),eo(r.cropmove)&&Bo(e,R2,r.cropmove),eo(r.cropend)&&Bo(e,N2,r.cropend),eo(r.crop)&&Bo(e,P2,r.crop),eo(r.zoom)&&Bo(e,L2,r.zoom),Bo(n,Tz,this.onCropStart=this.cropStart.bind(this)),r.zoomable&&r.zoomOnWheel&&Bo(n,Mz,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&Bo(n,Ez,this.onDblclick=this.dblclick.bind(this)),Bo(e.ownerDocument,Oz,this.onCropMove=this.cropMove.bind(this)),Bo(e.ownerDocument,Dz,this.onCropEnd=this.cropEnd.bind(this)),r.responsive&&Bo(window,Iz,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,r=this.options,n=this.cropper;eo(r.cropstart)&&fa(e,j2,r.cropstart),eo(r.cropmove)&&fa(e,R2,r.cropmove),eo(r.cropend)&&fa(e,N2,r.cropend),eo(r.crop)&&fa(e,P2,r.crop),eo(r.zoom)&&fa(e,L2,r.zoom),fa(n,Tz,this.onCropStart),r.zoomable&&r.zoomOnWheel&&fa(n,Mz,this.onWheel,{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&fa(n,Ez,this.onDblclick),fa(e.ownerDocument,Oz,this.onCropMove),fa(e.ownerDocument,Dz,this.onCropEnd),r.responsive&&fa(window,Iz,this.onResize)}},n0t={resize:function(){if(!this.disabled){var e=this.options,r=this.container,n=this.containerData,o=r.offsetWidth/n.width,a=r.offsetHeight/n.height,i=Math.abs(o-1)>Math.abs(a-1)?o:a;if(i!==1){var s,l;e.restore&&(s=this.getCanvasData(),l=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(en(s,function(d,h){s[h]=d*i})),this.setCropBoxData(en(l,function(d,h){l[h]=d*i})))}}},dblclick:function(){this.disabled||this.options.dragMode===jV||this.setDragMode(F_t(this.dragBox,I2)?RV:OD)},wheel:function(e){var r=this,n=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){r.wheeling=!1},50),e.deltaY?o=e.deltaY>0?1:-1:e.wheelDelta?o=-e.wheelDelta/120:e.detail&&(o=e.detail>0?1:-1),this.zoom(-o*n,e)))},cropStart:function(e){var r=e.buttons,n=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(Nt(r)&&r!==1||Nt(n)&&n!==0||e.ctrlKey))){var o=this.options,a=this.pointers,i;e.changedTouches?en(e.changedTouches,function(s){a[s.identifier]=zg(s)}):a[e.pointerId||0]=zg(e),Object.keys(a).length>1&&o.zoomable&&o.zoomOnTouch?i=NV:i=z2(e.target,pf),D_t.test(i)&&ou(this.element,j2,{originalEvent:e,action:i})!==!1&&(e.preventDefault(),this.action=i,this.cropping=!1,i===MV&&(this.cropping=!0,dn(this.dragBox,Xv)))}},cropMove:function(e){var r=this.action;if(!(this.disabled||!r)){var n=this.pointers;e.preventDefault(),ou(this.element,R2,{originalEvent:e,action:r})!==!1&&(e.changedTouches?en(e.changedTouches,function(o){Ir(n[o.identifier]||{},zg(o,!0))}):Ir(n[e.pointerId||0]||{},zg(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var r=this.action,n=this.pointers;e.changedTouches?en(e.changedTouches,function(o){delete n[o.identifier]}):delete n[e.pointerId||0],r&&(e.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,Xd(this.dragBox,Xv,this.cropped&&this.options.modal)),ou(this.element,N2,{originalEvent:e,action:r}))}}},o0t={change:function(e){var r=this.options,n=this.canvasData,o=this.containerData,a=this.cropBoxData,i=this.pointers,s=this.action,l=r.aspectRatio,d=a.left,h=a.top,u=a.width,f=a.height,g=d+u,y=h+f,b=0,x=0,S=o.width,T=o.height,E=!0,$;!l&&e.shiftKey&&(l=u&&f?u/f:1),this.limited&&(b=a.minLeft,x=a.minTop,S=b+Math.min(o.width,n.width,n.left+n.width),T=x+Math.min(o.height,n.height,n.top+n.height));var k=i[Object.keys(i)[0]],O={x:k.endX-k.startX,y:k.endY-k.startY},M=function(j){switch(j){case dl:g+O.x>S&&(O.x=S-g);break;case ul:d+O.xT&&(O.y=T-y);break}};switch(s){case TD:d+=O.x,h+=O.y;break;case dl:if(O.x>=0&&(g>=S||l&&(h<=x||y>=T))){E=!1;break}M(dl),u+=O.x,u<0&&(s=ul,u=-u,d-=u),l&&(f=u/l,h+=(a.height-f)/2);break;case hs:if(O.y<=0&&(h<=x||l&&(d<=b||g>=S))){E=!1;break}M(hs),f-=O.y,h+=O.y,f<0&&(s=Yc,f=-f,h-=f),l&&(u=f*l,d+=(a.width-u)/2);break;case ul:if(O.x<=0&&(d<=b||l&&(h<=x||y>=T))){E=!1;break}M(ul),u-=O.x,d+=O.x,u<0&&(s=dl,u=-u,d-=u),l&&(f=u/l,h+=(a.height-f)/2);break;case Yc:if(O.y>=0&&(y>=T||l&&(d<=b||g>=S))){E=!1;break}M(Yc),f+=O.y,f<0&&(s=hs,f=-f,h-=f),l&&(u=f*l,d+=(a.width-u)/2);break;case Up:if(l){if(O.y<=0&&(h<=x||g>=S)){E=!1;break}M(hs),f-=O.y,h+=O.y,u=f*l}else M(hs),M(dl),O.x>=0?gx&&(f-=O.y,h+=O.y):(f-=O.y,h+=O.y);u<0&&f<0?(s=Gp,f=-f,u=-u,h-=f,d-=u):u<0?(s=Vp,u=-u,d-=u):f<0&&(s=qp,f=-f,h-=f);break;case Vp:if(l){if(O.y<=0&&(h<=x||d<=b)){E=!1;break}M(hs),f-=O.y,h+=O.y,u=f*l,d+=a.width-u}else M(hs),M(ul),O.x<=0?d>b?(u-=O.x,d+=O.x):O.y<=0&&h<=x&&(E=!1):(u-=O.x,d+=O.x),O.y<=0?h>x&&(f-=O.y,h+=O.y):(f-=O.y,h+=O.y);u<0&&f<0?(s=qp,f=-f,u=-u,h-=f,d-=u):u<0?(s=Up,u=-u,d-=u):f<0&&(s=Gp,f=-f,h-=f);break;case Gp:if(l){if(O.x<=0&&(d<=b||y>=T)){E=!1;break}M(ul),u-=O.x,d+=O.x,f=u/l}else M(Yc),M(ul),O.x<=0?d>b?(u-=O.x,d+=O.x):O.y>=0&&y>=T&&(E=!1):(u-=O.x,d+=O.x),O.y>=0?y=0&&(g>=S||y>=T)){E=!1;break}M(dl),u+=O.x,f=u/l}else M(Yc),M(dl),O.x>=0?g=0&&y>=T&&(E=!1):u+=O.x,O.y>=0?y0?s=O.y>0?qp:Up:O.x<0&&(d-=u,s=O.y>0?Gp:Vp),O.y<0&&(h-=f),this.cropped||(ti(this.cropBox,to),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}E&&(a.width=u,a.height=f,a.left=d,a.top=h,this.action=s,this.renderCropBox()),en(i,function(R){R.startX=R.endX,R.startY=R.endY})}},a0t={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&dn(this.dragBox,Xv),ti(this.cropBox,to),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=Ir({},this.initialImageData),this.canvasData=Ir({},this.initialCanvasData),this.cropBoxData=Ir({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(Ir(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ti(this.dragBox,Xv),dn(this.cropBox,to)),this},replace:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),r?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,en(this.previews,function(n){n.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ti(this.cropper,$z)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,dn(this.cropper,$z)),this},destroy:function(){var e=this.element;return e[kr]?(e[kr]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,o=n.left,a=n.top;return this.moveTo(TS(e)?e:o+Number(e),TS(r)?r:a+Number(r))},moveTo:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,o=!1;return e=Number(e),r=Number(r),this.ready&&!this.disabled&&this.options.movable&&(Nt(e)&&(n.left=e,o=!0),Nt(r)&&(n.top=r,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(e,r){var n=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(n.width*e/n.naturalWidth,null,r)},zoomTo:function(e,r,n){var o=this.options,a=this.canvasData,i=a.width,s=a.height,l=a.naturalWidth,d=a.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&o.zoomable){var h=l*e,u=d*e;if(ou(this.element,L2,{ratio:e,oldRatio:i/l,originalEvent:n})===!1)return this;if(n){var f=this.pointers,g=HV(this.cropper),y=f&&Object.keys(f).length?V_t(f):{pageX:n.pageX,pageY:n.pageY};a.left-=(h-i)*((y.pageX-g.left-a.left)/i),a.top-=(u-s)*((y.pageY-g.top-a.top)/s)}else Gd(r)&&Nt(r.x)&&Nt(r.y)?(a.left-=(h-i)*((r.x-a.left)/i),a.top-=(u-s)*((r.y-a.top)/s)):(a.left-=(h-i)/2,a.top-=(u-s)/2);a.width=h,a.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),Nt(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var r=this.imageData.scaleY;return this.scale(e,Nt(r)?r:1)},scaleY:function(e){var r=this.imageData.scaleX;return this.scale(Nt(r)?r:1,e)},scale:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.imageData,o=!1;return e=Number(e),r=Number(r),this.ready&&!this.disabled&&this.options.scalable&&(Nt(e)&&(n.scaleX=e,o=!0),Nt(r)&&(n.scaleY=r,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.options,n=this.imageData,o=this.canvasData,a=this.cropBoxData,i;if(this.ready&&this.cropped){i={x:a.left-o.left,y:a.top-o.top,width:a.width,height:a.height};var s=n.width/n.naturalWidth;if(en(i,function(h,u){i[u]=h/s}),e){var l=Math.round(i.y+i.height),d=Math.round(i.x+i.width);i.x=Math.round(i.x),i.y=Math.round(i.y),i.width=d-i.x,i.height=l-i.y}}else i={x:0,y:0,width:0,height:0};return r.rotatable&&(i.rotate=n.rotate||0),r.scalable&&(i.scaleX=n.scaleX||1,i.scaleY=n.scaleY||1),i},setData:function(e){var r=this.options,n=this.imageData,o=this.canvasData,a={};if(this.ready&&!this.disabled&&Gd(e)){var i=!1;r.rotatable&&Nt(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,i=!0),r.scalable&&(Nt(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,i=!0),Nt(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,i=!0)),i&&this.renderCanvas(!0,!0);var s=n.width/n.naturalWidth;Nt(e.x)&&(a.left=e.x*s+o.left),Nt(e.y)&&(a.top=e.y*s+o.top),Nt(e.width)&&(a.width=e.width*s),Nt(e.height)&&(a.height=e.height*s),this.setCropBoxData(a)}return this},getContainerData:function(){return this.ready?Ir({},this.containerData):{}},getImageData:function(){return this.sized?Ir({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,r={};return this.ready&&en(["left","top","width","height","naturalWidth","naturalHeight"],function(n){r[n]=e[n]}),r},setCanvasData:function(e){var r=this.canvasData,n=r.aspectRatio;return this.ready&&!this.disabled&&Gd(e)&&(Nt(e.left)&&(r.left=e.left),Nt(e.top)&&(r.top=e.top),Nt(e.width)?(r.width=e.width,r.height=e.width/n):Nt(e.height)&&(r.height=e.height,r.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,r;return this.ready&&this.cropped&&(r={left:e.left,top:e.top,width:e.width,height:e.height}),r||{}},setCropBoxData:function(e){var r=this.cropBoxData,n=this.options.aspectRatio,o,a;return this.ready&&this.cropped&&!this.disabled&&Gd(e)&&(Nt(e.left)&&(r.left=e.left),Nt(e.top)&&(r.top=e.top),Nt(e.width)&&e.width!==r.width&&(o=!0,r.width=e.width),Nt(e.height)&&e.height!==r.height&&(a=!0,r.height=e.height),n&&(o?r.height=r.width/n:a&&(r.width=r.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var r=this.canvasData,n=G_t(this.image,this.imageData,r,e);if(!this.cropped)return n;var o=this.getData(e.rounded),a=o.x,i=o.y,s=o.width,l=o.height,d=n.width/Math.floor(r.naturalWidth);d!==1&&(a*=d,i*=d,s*=d,l*=d);var h=s/l,u=ks({aspectRatio:h,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),f=ks({aspectRatio:h,width:e.minWidth||0,height:e.minHeight||0},"cover"),g=ks({aspectRatio:h,width:e.width||(d!==1?n.width:s),height:e.height||(d!==1?n.height:l)}),y=g.width,b=g.height;y=Math.min(u.width,Math.max(f.width,y)),b=Math.min(u.height,Math.max(f.height,b));var x=document.createElement("canvas"),S=x.getContext("2d");x.width=nu(y),x.height=nu(b),S.fillStyle=e.fillColor||"transparent",S.fillRect(0,0,y,b);var T=e.imageSmoothingEnabled,E=T===void 0?!0:T,$=e.imageSmoothingQuality;S.imageSmoothingEnabled=E,$&&(S.imageSmoothingQuality=$);var k=n.width,O=n.height,M=a,R=i,j,I,z,W,L,F;M<=-s||M>k?(M=0,j=0,z=0,L=0):M<=0?(z=-M,M=0,j=Math.min(k,s+M),L=j):M<=k&&(z=0,j=Math.min(s,k-M),L=j),j<=0||R<=-l||R>O?(R=0,I=0,W=0,F=0):R<=0?(W=-R,R=0,I=Math.min(O,l+R),F=I):R<=O&&(W=0,I=Math.min(l,O-R),F=I);var H=[M,R,j,I];if(L>0&&F>0){var q=y/s;H.push(z*q,W*q,L*q,F*q)}return S.drawImage.apply(S,[n].concat(IV(H.map(function(ee){return Math.floor(nu(ee))})))),x},setAspectRatio:function(e){var r=this.options;return!this.disabled&&!TS(e)&&(r.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var r=this.options,n=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var a=e===OD,i=r.movable&&e===RV;e=a||i?e:jV,r.dragMode=e,hf(n,pf,e),Xd(n,I2,a),Xd(n,M2,i),r.cropBoxMovable||(hf(o,pf,e),Xd(o,I2,a),Xd(o,M2,i))}return this}},i0t=oi.Cropper,VV=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(__t(this,t),!e||!M_t.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=Ir({},Nz,Gd(r)&&r),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return b_t(t,[{key:"init",value:function(){var r=this.element,n=r.tagName.toLowerCase(),o;if(!r[kr]){if(r[kr]=this,n==="img"){if(this.isImg=!0,o=r.getAttribute("src")||"",this.originalUrl=o,!o)return;o=r.src}else n==="canvas"&&window.HTMLCanvasElement&&(o=r.toDataURL());this.load(o)}}},{key:"load",value:function(r){var n=this;if(r){this.url=r,this.imageData={};var o=this.element,a=this.options;if(!a.rotatable&&!a.scalable&&(a.checkOrientation=!1),!a.checkOrientation||!window.ArrayBuffer){this.clone();return}if(A_t.test(r)){I_t.test(r)?this.read(Y_t(r)):this.clone();return}var i=new XMLHttpRequest,s=this.clone.bind(this);this.reloading=!0,this.xhr=i,i.onabort=s,i.onerror=s,i.ontimeout=s,i.onprogress=function(){i.getResponseHeader("content-type")!==Pz&&i.abort()},i.onload=function(){n.read(i.response)},i.onloadend=function(){n.reloading=!1,n.xhr=null},a.checkCrossOrigin&&jz(r)&&o.crossOrigin&&(r=Lz(r)),i.open("GET",r,!0),i.responseType="arraybuffer",i.withCredentials=o.crossOrigin==="use-credentials",i.send()}}},{key:"read",value:function(r){var n=this.options,o=this.imageData,a=Z_t(r),i=0,s=1,l=1;if(a>1){this.url=K_t(r,Pz);var d=Q_t(a);i=d.rotate,s=d.scaleX,l=d.scaleY}n.rotatable&&(o.rotate=i),n.scalable&&(o.scaleX=s,o.scaleY=l),this.clone()}},{key:"clone",value:function(){var r=this.element,n=this.url,o=r.crossOrigin,a=n;this.options.checkCrossOrigin&&jz(n)&&(o||(o="anonymous"),a=Lz(n)),this.crossOrigin=o,this.crossOriginUrl=a;var i=document.createElement("img");o&&(i.crossOrigin=o),i.src=a||n,i.alt=r.alt||"The image to crop",this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),dn(i,kz),r.parentNode.insertBefore(i,r.nextSibling)}},{key:"start",value:function(){var r=this,n=this.image;n.onload=null,n.onerror=null,this.sizing=!0;var o=oi.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(oi.navigator.userAgent),a=function(d,h){Ir(r.imageData,{naturalWidth:d,naturalHeight:h,aspectRatio:d/h}),r.initialImageData=Ir({},r.imageData),r.sizing=!1,r.sized=!0,r.build()};if(n.naturalWidth&&!o){a(n.naturalWidth,n.naturalHeight);return}var i=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){a(i.width,i.height),o||s.removeChild(i)},i.src=n.src,o||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",s.appendChild(i))}},{key:"stop",value:function(){var r=this.image;r.onload=null,r.onerror=null,r.parentNode.removeChild(r),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var r=this.element,n=this.options,o=this.image,a=r.parentNode,i=document.createElement("div");i.innerHTML=P_t;var s=i.querySelector(".".concat(kr,"-container")),l=s.querySelector(".".concat(kr,"-canvas")),d=s.querySelector(".".concat(kr,"-drag-box")),h=s.querySelector(".".concat(kr,"-crop-box")),u=h.querySelector(".".concat(kr,"-face"));this.container=a,this.cropper=s,this.canvas=l,this.dragBox=d,this.cropBox=h,this.viewBox=s.querySelector(".".concat(kr,"-view-box")),this.face=u,l.appendChild(o),dn(r,to),a.insertBefore(s,r.nextSibling),ti(o,kz),this.initPreview(),this.bind(),n.initialAspectRatio=Math.max(0,n.initialAspectRatio)||NaN,n.aspectRatio=Math.max(0,n.aspectRatio)||NaN,n.viewMode=Math.max(0,Math.min(3,Math.round(n.viewMode)))||0,dn(h,to),n.guides||dn(h.getElementsByClassName("".concat(kr,"-dashed")),to),n.center||dn(h.getElementsByClassName("".concat(kr,"-center")),to),n.background&&dn(s,"".concat(kr,"-bg")),n.highlight||dn(u,k_t),n.cropBoxMovable&&(dn(u,M2),hf(u,pf,TD)),n.cropBoxResizable||(dn(h.getElementsByClassName("".concat(kr,"-line")),to),dn(h.getElementsByClassName("".concat(kr,"-point")),to)),this.render(),this.ready=!0,this.setDragMode(n.dragMode),n.autoCrop&&this.crop(),this.setData(n.data),eo(n.ready)&&Bo(r,Az,n.ready,{once:!0}),ou(r,Az)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var r=this.cropper.parentNode;r&&r.removeChild(this.cropper),ti(this.element,to)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=i0t,t}},{key:"setDefaults",value:function(r){Ir(Nz,Gd(r)&&r)}}])}();Ir(VV.prototype,e0t,t0t,r0t,n0t,o0t,a0t);var vl=function(){return vl=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0&&R.zoomTo(ee)}(M.currentTarget.cropper,E),x&&x(M)}}));S&&S(O)}return function(){var M,R;(R=(M=$.current)===null||M===void 0?void 0:M.cropper)===null||R===void 0||R.destroy()}},[$]);var k=function(O){return s0t.reduce(function(M,R){var j=M,I=R;return j[I],DS(j,[typeof I=="symbol"?I:I+""])},O)}(vl(vl({},T),{crossOrigin:l,src:a,alt:b}));return m.createElement("div",{style:i,className:s},m.createElement("img",vl({},k,{style:l0t,ref:$})))});const fs={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},c0t={once:"once",interval:"interval",intervalBetween:"intervalBetween",specific:"specific"},Tn={seconds:"seconds",minutes:"minutes"},zz=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function Xa(t){return t<10?`0${t}`:`${t}`}const d0t={mode:"interval",interval:{period:1,unit:Tn.minutes}};function av(t){if(t==="*")return[0,1,2,3,4,5,6];const e=t.split(","),r=[];return e.forEach(n=>{const o=n.split("-");if(o.length===2){const a=parseInt(o[0],10),i=parseInt(o[1],10);for(let s=a;s<=i;s++)r.includes(s===7?0:s)||r.push(s===7?0:s)}else{n==="7"&&(n="0");const a=parseInt(n,10);r.includes(a)||r.push(a)}}),r.sort(),r}function qV(t,e){t=t.replace(/['"]/g,"").trim();const r=t.split(" ");let n,o=null;return r.length===6?n={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",date:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:n={seconds:null,minutes:r[0]||"*",hours:r[1]||"*",date:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},n.seconds===null&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)&&(o={mode:"interval",interval:{period:1,unit:Tn.minutes}}),n.seconds==="*"&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:1,unit:Tn.seconds}}:n.seconds===null&&n.minutes.includes("/")&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(n.minutes.split("/")[1],10),unit:Tn.minutes}}:n.seconds!==null&&n.seconds.includes("/")&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(n.seconds.split("/")[1],10),unit:Tn.seconds}}:n.seconds!==null&&n.seconds.includes("/")&&n.minutes==="*"&&n.hours.includes("-")&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(n.seconds.split("/")[1],10),unit:Tn.seconds,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:av(n.dow)}}:n.seconds===null&&n.minutes.includes("/")&&n.hours.includes("-")&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(n.minutes.split("/")[1],10),unit:Tn.minutes,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:av(n.dow)}}:n.seconds===null&&parseInt(n.minutes,10).toString()===n.minutes&&parseInt(n.hours,10).toString()===n.hours&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"specific",specific:{time:`${Xa(parseInt(n.hours,10))}:${Xa(parseInt(n.minutes,10))}`,weekdays:av(n.dow)}}:n.seconds===null&&parseInt(n.minutes,10).toString()===n.minutes&&parseInt(n.hours,10).toString()===n.hours&&parseInt(n.date,10).toString()===n.date&&parseInt(n.months,10).toString()===n.months&&(n.dow==="*"||e)&&(o={mode:"once",once:{time:`${Xa(parseInt(n.hours,10))}:${Xa(parseInt(n.minutes,10))}`,date:`${Xa(parseInt(n.date,10))}.${Xa(parseInt(n.months,10))}`}}),o}class ff extends m.Component{constructor(e){super(e);let r=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";r[0]==="{"&&(r="");const n=qV(r||"* * * * *",!0)||d0t;this.state={extended:!1,cron:ff.state2cron(n),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Tn.minutes},intervalBetween:{period:1,unit:Tn.minutes,timeFrom:0,timeTo:23,weekdays:[0,1,2,3,4,5,6]},specific:{time:"00:00",weekdays:[0,1,2,3,4,5,6]}},Object.assign(this.state,n),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,r=7){if(r=r||7,e.length===r)return"*";const n=[];let o=null,a=null;if(!e.length)return"_";for(let i=0;i60&&(n.period=60),n.period!==void 0&&n.period<1&&(n.period=1),n.minutes!==void 0&&n.minutes!==null&&n.minutes>60&&(n.minutes=60),n.minutes!==void 0&&n.minutes!==null&&n.minutes<1&&(n.minutes=1),n.hours!==void 0&&n.hours!==null&&n.hours>24&&(n.hours=24),n.hours!==void 0&&n.hours!==null&&n.hours<1&&(n.hours=1),e.extended)r=`${n.minutes!==void 0&&n.minutes!==null&&n.minutes>1?`*/${n.minutes}`:"*"} ${n.hours!==void 0&&n.hours!==null&&n.hours>1?`*/${n.hours}`:"*"} * * *`;else switch(n.unit){case Tn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * * * * *`;break;case Tn.minutes:r=`${n.period>1?`*/${n.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const n=e.intervalBetween||{period:1,unit:Tn.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let o;switch(n.timeFrom=n.timeFrom||0,n.timeTo=n.timeTo===void 0?24:n.timeTo,n.timeFrom!==0&&n.timeTo===24&&(n.timeTo=23),n.timeFrom===0&&n.timeTo===24?o="*":o=n.timeFrom!==n.timeTo?`${n.timeFrom}-${n.timeTo}`:"*",n.period>60&&(n.period=60),n.period<1&&(n.period=1),n.unit=n.unit||Tn.minutes,n.unit){case Tn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * ${o} * * ${this.periodArray2text(n.weekdays)}`;break;case Tn.minutes:r=`${n.period>1?`*/${n.period}`:"*"} ${o} * * ${this.periodArray2text(n.weekdays)}`;break}}else if(e.mode==="specific"){const n=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},o=(n.time||"00:00").split(":");let a=parseInt(o[1],10)||0;a>59&&(a=59),a<0&&(a=0);let i=parseInt(o[0],10)||0;i>23&&(i=59),i<0&&(i=0),r=`${a} ${i} * * ${this.periodArray2text(n.weekdays||[])}`}else if(e.mode==="once"){const n=e.once||{time:"00:00",date:""};n.date||(n.date=`${new Date().getDate()}.${Xa(new Date().getMonth()+1)}`);const o=(n.time||"00:00").split(":"),a=n.date.split(".");let i=parseInt(o[1],10)||0;i>59&&(i=59),i<0&&(i=0);let s=parseInt(o[0],10)||0;s>23&&(s=59),s<0&&(s=0);let l=parseInt(a[0],10)||1;l>31&&(l=31),l<1&&(s=1);let d=parseInt(a[1],10)||1;d>12&&(d=12),d<1&&(d=1),r=`${i} ${s} ${l} ${d} *`}return r}recalcCron(){this.onChange(ff.state2cron(this.state))}getControlsWeekdaysElements(e){const r=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return m.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},m.createElement("h5",null,P.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(n=>m.createElement(St,{key:zz[n],control:m.createElement(yr,{checked:r.weekdays.includes(n),onChange:o=>{const a=JSON.parse(JSON.stringify(this.state[e])),i=a.weekdays.indexOf(n);o.target.checked?i===-1&&a.weekdays.push(n):i!==-1&&a.weekdays.splice(i,1),a.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:a},()=>this.recalcCron()):this.setState({specific:a},()=>this.recalcCron())},value:n.toString()}),label:P.t(zz[n])})))}getControlsPeriodElements(e){const r=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?m.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},m.createElement("h5",{style:{marginBottom:5}},P.t("sc_period")),m.createElement(Ht,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:P.t("sc_minutes"),value:r.minutes,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.minutes=parseInt(n.target.value,10),o.minutes<1&&(o.minutes=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),m.createElement(Ht,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:P.t("sc_hours"),value:r.hours,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.hours=parseInt(n.target.value,10),o.hours<1&&(o.hours=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):m.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},m.createElement("h5",{style:{marginBottom:5}},P.t("sc_period")),m.createElement(Ht,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:P.t("sc_every"),value:r.period,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.period=parseInt(n.target.value,10),o.period<1&&(o.period=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),m.createElement(Bn,{variant:"standard",style:{verticalAlign:"bottom"},value:r.unit,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.unit=n.target.value,e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())}},m.createElement(Jt,{value:"seconds"},P.t("sc_seconds")),")",m.createElement(Jt,{value:"minutes"},P.t("sc_minutes")),")"))}getControlsTime(e){const r=e==="once"?this.state.once:this.state.specific;return m.createElement(_a,{variant:"standard",sx:{...fs.formControl,"&.MuiFormControl-root":fs.formControlMarginRight}},m.createElement(Ht,{variant:"standard",key:"at",label:P.t("sc_time"),value:r.time,type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:n=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.time=n.target.value,e==="once"?this.setState({once:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const r=new Date;e.date=`${r.getDate()}.${Xa(r.getMonth()+1)}`}return m.createElement(_a,{variant:"standard",style:fs.formControl},m.createElement(Ht,{variant:"standard",key:"date",label:P.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:fs.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.once));n.date=r.target.value,this.setState({once:n},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return m.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),m.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},m.createElement("h5",{style:{marginBottom:5}},P.t("sc_hours")),m.createElement(_a,{variant:"standard",style:fs.formControl},m.createElement($l,{shrink:!0,htmlFor:"age-label-placeholder"},P.t("sc_from")),m.createElement(Bn,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.intervalBetween));n.timeFrom=parseInt(r.target.value,10),n.timeTo===24&&(n.timeTo=23),this.setState({intervalBetween:n},()=>this.recalcCron())}},[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>m.createElement(Jt,{key:`B_${r}`,value:r},`${Xa(r)}:00`)))),m.createElement(_a,{variant:"standard",style:fs.formControl},m.createElement($l,{shrink:!0,htmlFor:"age-label-placeholder"},P.t("sc_to")),m.createElement(Bn,{variant:"standard",style:{width:100},value:e.timeTo,onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.intervalBetween));n.timeTo=parseInt(r.target.value,10),this.setState({intervalBetween:n},()=>this.recalcCron())}},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>m.createElement(Jt,{key:`A_${r}`,value:r},`${Xa(r)}:00`)),!e.timeFrom&&m.createElement(Jt,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[m.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return m.createElement("div",{style:fs.mainDiv},m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},m.createElement(Ht,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),m.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?P.t("sc_invalid_cron"):tV(this.state.cron,this.props.language||"en")),m.createElement("div",null,m.createElement(_a,{variant:"standard",style:{...fs.formControl,marginLeft:8,marginTop:8}},m.createElement($l,null,P.t("ra_Repeat")),m.createElement(Bn,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},m.createElement(Jt,{value:"once"},P.t("sc_once")),m.createElement(Jt,{value:"interval"},P.t("sc_interval")),m.createElement(Jt,{value:"intervalBetween"},P.t("sc_intervalBetween")),m.createElement(Jt,{value:"specific"},P.t("sc_specific"))))),this.state.mode===c0t.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const u0t={headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"}};class Dnr extends m.Component{constructor(e){super(e);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:r}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const r=Cs.cron2state(this.state.cron);if(r.seconds==="*"||r.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(r.minutes==="*"||r.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?m.createElement(PO,{title:P.t("ra_Please confirm"),text:P.t(this.state.showWarning==="everySecond"?"ra_The schedule will be executed every second. Are you sure?":"ra_The schedule will be executed every minute. Are you sure?"),onClose:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return m.createElement(or,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":u0t.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),m.createElement(_r,{id:"cron-dialog-title"},this.props.title||P.t("ra_Define schedule...")),m.createElement(Wr,{style:{height:"100%",overflow:"hidden"}},m.createElement(Cs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()})),m.createElement(pr,null,!!this.props.clearButton&&m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:m.createElement(Ta,null)},this.props.clear||P.t("ra_Clear")),m.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const p0t={dialogPaper:{height:"calc(100% - 96px)"}};class Anr extends m.Component{constructor(e){super(e);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof r=="object"||r[0]==="{")&&!this.props.noWizard?"wizard":qV(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return m.createElement(or,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":p0t.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},m.createElement(_r,{id:"cron-dialog-title"},this.props.title||P.t("ra_Define schedule...")),m.createElement(Wr,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?m.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&m.createElement(m.Fragment,null,m.createElement(ur,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),m.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},P.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&m.createElement(m.Fragment,null,m.createElement(ur,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),m.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},P.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&m.createElement(m.Fragment,null,m.createElement(ur,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),m.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},P.t("sc_cron")))):null,this.state.mode==="simple"&&m.createElement(ff,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()}),this.state.mode==="wizard"&&m.createElement(gn,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&m.createElement(Cs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const pl={headerID:{fontWeight:"bold",fontStyle:"italic"},dialog:{height:"95%"},dialogMobile:{padding:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)",height:"100%"},content:{height:"100%",overflow:"hidden"},contentMobile:{padding:"8px 4px"},titleRoot:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}};class Inr extends m.Component{constructor(r){super(r);X(this,"dialogName");X(this,"filters");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const n=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(n)}catch{this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters});let o=this.props.selected||[];typeof o!="object"?o=[o]:o=[...o],o=o.filter(a=>a),this.state={selected:o}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||""),this.props.onClose()}render(){let r;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:pl.headerID},this.state.selected)]:r=[m.createElement("span",{key:"selected"},P.t("ra_Selected")," "),m.createElement("span",{key:"id",style:pl.headerID},P.t("%s items",this.state.selected.length))]:r=this.props.title||P.t("ra_Please select file..."),m.createElement(or,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...pl.dialog,...pl.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},m.createElement(_r,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":pl.titleRoot}},r),m.createElement(Wr,{style:{...pl.content,...pl.contentMobile}},m.createElement(Zyt,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||"../",allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(n,o,a)=>{this.setState({selected:Array.isArray(n)?n:[n]},()=>o&&(!this.props.selectOnlyFolders||a)&&this.handleOk())},t:this.props.t||P.t,lang:this.props.lang||P.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),startIcon:m.createElement(Ea,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const h0t={dialogPaper:{height:"calc(100% - 96px)"}};class Mnr extends m.Component{constructor(e){super(e);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return m.createElement(or,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":h0t.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},m.createElement(_r,{id:"cron-dialog-title"},this.props.title||P.t("ra_Define CRON...")),m.createElement(Wr,{style:{height:"100%",overflow:"hidden"}},m.createElement(ff,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:P.getLanguage()})),m.createElement(pr,null,m.createElement(tt,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:m.createElement(Ea,null)},this.props.ok||P.t("ra_Ok")),m.createElement(tt,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:m.createElement(Nf,null)},this.props.cancel||P.t("ra_Cancel"))))}}const f0t="Acknowledged",m0t="Add",g0t="Aggregate",v0t="Type",y0t="All",_0t="Appearance",b0t="Apply",w0t="Auto",x0t="Axis",S0t="Backgrounds",C0t="Bar",$0t="Border",k0t="Cancel",E0t="Circle",T0t="Close",O0t="Collapse",D0t="Color",A0t="Copy",I0t="Counts",M0t="Create",P0t="Data",N0t="Default",R0t="Delete",j0t="Dialog",L0t="Edit",z0t="End",F0t="Expand",B0t="Fill",W0t="Folder",H0t="From: ",U0t="Functions",V0t="Grid",q0t="Height",G0t="ID",X0t="IDs",J0t="Individual",Y0t="Instance",K0t="Intervals",Z0t="Label",Q0t="Labels",ebt="Left",tbt="Legend",rbt="Limits",nbt="Line",obt="Link",abt="Main",ibt="Marking",sbt="Markings",lbt="Max",cbt="Members",dbt="Min",ubt="MinMax",pbt="more",hbt="Multiple",fbt="Name",mbt="None",gbt="X-Offset",vbt="Ok",ybt="Open",_bt="Options",bbt="Orientation",wbt="Others",xbt="Paste",Sbt="Percentile",Cbt="Pie",$bt="Points",kbt="Polar chart (Radar)",Ebt="Polygonal",Tbt="Presets",Obt="Processing",Dbt="Range",Abt="Relative",Ibt="Rename",Mbt="Right",Pbt="Role",Nbt="Room",Rbt="Rooms",jbt="Root",Lbt="Seconds",zbt="Select",Fbt="Smoothing",Bbt="Source",Wbt="Spline",Hbt="Stack",Ubt="Steps",Vbt="Style",qbt="Text",Gbt="Texts",Xbt="Theme",Jbt="Time",Ybt="Title",Kbt="Type",Zbt="Unit",Qbt="Update",e1t="Value",t1t="Width",r1t="With",n1t="Without",o1t="Area",a1t="auto",i1t="average",s1t="Bar",l1t="bottom",c1t="bottom colored",d1t='Enter the formula like "val / 1000 + 3". This formula will be applied to all values of the selected datapoint.',u1t="copied",p1t="copy",h1t="count",f1t="counts",m1t="Current value",g1t="dashed",v1t="day",y1t="difference",_1t="dotted",b1t="Day of week",w1t="edit",x1t="horizontal",S1t="15 minutes",C1t="1 day",$1t="1 hour",k1t="30 days",E1t="integral",T1t="left",O1t="left colored",D1t="Line",A1t="linear",I1t="Line plot",M1t="load",P1t="max",N1t="middle",R1t="min",j1t="minmax",L1t="month",z1t="no",F1t="none",B1t="none",W1t="now",H1t="off",U1t="on change",V1t="percentile",q1t="Polar chart",G1t="raw",X1t="relative",J1t="reload",Y1t="right",K1t="right colored",Z1t="role",Q1t="save",ewt="Scatter plot",twt="seconds",rwt="solid",nwt="Spline",owt="standard",awt="Steps",iwt="to",swt="today",lwt="top",cwt="top colored",dwt="total",uwt="vertical",pwt="end of day",hwt="end of sunday",fwt="year",mwt="yes",gwt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s ago","ØL":"ØL","ØS":"ØS","0 seconds":"0 seconds","0s":"0 seconds","1 day":"1 day","1 hour":"1 hour","1 minute":"1 minute","1 month":"1 month","1 week":"1 week","1 year":"1 year","10 minutes":"10 minutes","10 seconds":"10 seconds","10m":"10 minutes","10minutes":"end of 10 minutes","10s":"10 seconds","12 hours":"12 hours","12H":"12 hours","12W":"12 weeks","12hours":"end of 12 hours","14 days":"14 days","15 minutes":"15 minutes","15 seconds":"15 seconds","15m":"15 minutes","1D":"1 day","1H":"1 hour","1M":"1 month","1W":"1 week","1Y":"1 year","1hour":"end of hour","1minute":"end of minute","1s":"1 second","2 days":"2 days","2 hours":"2 hours","2 minutes":"2 minutes","2 months":"2 months","2 weeks":"2 weeks","2 years":"2 years","20 minutes":"20 minutes","20 seconds":"20 seconds","26W":"26 weeks","2D":"2 days","2H":"2 hours","2M":"2 months","2W":"2 weeks","2Y":"2 years","2hours":"end of 2 hours","2m":"2 minutes","2s":"2 seconds","3 days":"3 days","3 hours":"3 hours","3 minutes":"3 minutes","3 months":"3 months","30 minutes":"30 minutes","30 seconds":"30 seconds","300ms":"300ms","30m":"30 minutes","30minutes":"end of 30 minutes","30s":"30 seconds","3D":"3 days","3M":"3 months","3hours":"end of 3 hours","3m":"3 minutes","3s":"3 seconds","4 days":"4 days","4 minutes":"4 minutes","45 minutes":"45 minutes","45m":"45 minutes","4D":"4 days","4W":"4 weeks","4hours":"end of 4 hours","4m":"4 minutes","5 minutes":"5 minutes","5 seconds":"5 seconds","500ms":"500ms","5m":"5 minutes","5minutes":"end of 5 minutes","5s":"5 seconds","6 hours":"6 hours","6 months":"6 months","60 seconds":"60 seconds","60s":"60 seconds","6H":"6 hours","6M":"6 months","6hours":"end of 6 hours","7 days":"7 days","8W":"8 weeks","8hours":"end of 8 hours","90 seconds":"90 seconds",Acknowledged:f0t,Add:m0t,"Add line to chart":"Add line to chart","Add marking line to chart":"Add marking line to chart","Add new line":"Add new line","Add new markings":"Add new markings","Add new state name":"Add new state name","Add new value":"Add new value","After comma":"After comma",Aggregate:g0t,"Aggregate for lines":"Aggregation for lines",Aggregation:v0t,"Aggregation:":"Type:",All:y0t,"Animation:":"Animation:",Appearance:_0t,Apply:b0t,"Are you sure for closing folder and discard unsaved changes?":"Are you sure for closing folder and discard unsaved changes?","Are you sure for delete this line?":"Are you sure for delete this line?","Are you sure for delete this mark?":"Are you sure for delete this mark?","Are you sure for delete this preset?":"Are you sure for delete this preset?","Are you sure for loading the chart and discard unsaved changes?":"Are you sure for loading the chart and discard unsaved changes?","Are you sure for loading the preset and discard unsaved changes?":"Are you sure for loading the preset and discard unsaved changes?","Arrange bools":"Arrange booleans",Auto:w0t,"Auto (Line or Steps)":"Auto (Line or Steps)","Auto padding":"Auto-padding","Auto save":"Auto save","Auto-refresh":"Auto-refresh","Auto-update:":"Auto-update:",Axis:x0t,"Background of radar chart":"Background of radar chart","Background:":"Background:",Backgrounds:S0t,Bar:C0t,"Bar settings":"Bar settings","Bars width:":"Bars width:",Border:$0t,"Border color:":"Border color:","Border padding":"Border padding","Border width":"Border width","Border width:":"Border width:","Bottom, center, inside":"Bottom, center, inside","Bottom, center, outside":"Bottom, center, outside","Bottom, left":"Bottom, left","Bottom, left, inside":"Bottom, left, inside","Bottom, right":"Bottom, right","Bottom, right, inside":"Bottom, right, inside","Bottom, right, outside":"Bottom, right, outside",Cancel:k0t,"Cannot create unique ID":"Cannot create unique ID","Chart Type":"Chart Type","Chart background":"Chart background","Chart background:":"Chart background:","Chart size":"Chart size","Chart type":"Chart type","Charts preview":"Charts preview",Circle:E0t,Close:T0t,Collapse:O0t,"Collapse all lines":"Collapse all lines","Collapse all markings":"Collapse all markings",Color:D0t,"Common Y Axis":"Common Y Axis","Convert formula":"Convertion formula",Copy:A0t,"Copy link to clipboard":"Copy link to clipboard",Counts:I0t,Create:M0t,"Create folder":"Create folder","Create new folder":"Create new folder","Create new preset":"Create new preset","Create preset":"Create preset","Custom chart background:":"Custom chart background:","Custom time format":"Custom time format",Data:P0t,Default:N0t,Delete:R0t,"Delete object":"Delete object","Delete text value":"Delete text value",Dialog:j0t,"Digits after comma":"Digits after comma","Drag me":"Drag me",Edit:L0t,"Edit folder name":"Edit folder name","Edit options for line %s":"Edit options for line %s","Edit state names":"Edit state names","Empty preset cannot be saved!":"Empty preset cannot be saved!","Enable logging for new state":"Enable logging for new state","Enable zoom and pan":"Enable zoom and pan","Enable zoom and pan:":"Enable zoom and pan:",End:z0t,"End:":"End:","Enter chart name":"Enter chart name",Expand:F0t,"Expand all lines":"Expand all lines","Expand all markings":"Expand all markings","Export data color":"Export data button color",Fill:B0t,"Fill color:":"Fill color:","Fill range:":"Fill range:","Fill(0to1)":"Fill(0to1)",Folder:W0t,"Font size":"Font size",From:H0t,"From line %s":"From line %s",Functions:U0t,Grid:V0t,"Grid color":"Grid color","Grid color:":"Grid color:","Group by":"Group by","HH:MM dd.mm":"HH:MM dd.mm",Height:q0t,"Height:":"Height:","Hide X grid":"Hide X grid","Hide Y grid":"Hide Y grid","Hide edit button:":"Hide edit button:","Hide nulls in tooltip":"Hide nulls in tooltip","Hover details":"Hover details","Hover details:":"Hover details:",ID:G0t,IDs:X0t,"If the current value is not older than X seconds, assume it is still the same.":"If the current value is not older than X seconds, assume it is still the same.","In seconds":"In seconds",Individual:J0t,"Input data":"Input data","Inside / No lines":"Inside / No lines","Inside / With lines":"Inside / With lines","Inside end":"Inside, on end","Inside end bottom":"Inside, at the end, on bottom","Inside end top":"Inside, at the end, on top","Inside middle":"Inside, in the middle","Inside middle bottom":"Inside, in the middle, on bottom","Inside middle top":"Inside, in the middle, at top","Inside start":"Inside, at start","Inside start bottom":"Inside, at start, on bottom","Inside start top":"Inside, at start, on top",Instance:Y0t,"Integral unit":"Integral unit","Interpolate:":"Interpolate:","Interpolation method":"Interpolation method",Intervals:K0t,"Invalid object":"Invalid object",Label:Z0t,"Label color:":"Label color:","Label font size:":"Label font size:",Labels:Q0t,"Last changed":"Last changed",Left:ebt,Legend:tbt,"Legend background":"Legend background","Legend background:":"Legend background:","Legend columns:":"Legend columns:","Legend opacity (from 0 to 1):":"Legend opacity (from 0 to 1):","Legend text color":"Legend text color",Limits:rbt,Line:nbt,"Line ID":"Line ID","Line Width":"Line Width","Line and area":"Line and area","Line style":"Line style",Link:obt,"Live update every":"Live update every","Live update every:":"Live update every:","Load without save":"Load without save","Loading...":"Loading...","Lower value or ID":"Lower value or ID",Main:abt,Mark:ibt,Markings:sbt,Max:lbt,"Max:":"Maximum:",Members:cbt,"Middle, left, inside":"Middle, left, inside","Middle, right, inside":"Middle, right, inside","Middle, right, outside":"Middle, right, outside",Min:dbt,"Min:":"Minimum:",MinMax:ubt,More:pbt,"Move to folder":"Move to folder",Multiple:hbt,"NULL as":"NULL as",Name:fbt,"Name:":"Name:","No ID yet":"No ID yet","No background":"No background","No border:":"No border:","No future":"No values in future","No interpolate in hover":"No interpolation in tooltip","No presets created yet":"No presets created yet",None:mbt,Offset:gbt,Ok:vbt,Open:ybt,"Open chart in own window":"Open chart in own window","Open in own window":"Open in own window",Options:_bt,Orientation:bbt,Others:wbt,"Outside / No lines":"Outside / No lines","Outside/ With lines":"Outside/ With lines",Paste:xbt,Percentile:Sbt,Pie:Cbt,"Please confirm":"Please confirm",Points:$bt,Polar:kbt,Polygonal:Ebt,"Predefined background:":"Predefined background:",Presets:Tbt,Processing:Obt,"Processing...":"Processing...",Range:Dbt,"Range:":"Range:",Relative:Abt,Rename:Ibt,"Rename preset":"Rename preset","Reorder presets in folders":"Reorder presets in folders","Reset settings":"Reset settings","Reset zoom after idle":"Reset zoom after idle",Right:Mbt,Role:Pbt,Room:Nbt,Rooms:Rbt,Root:jbt,"Save current preset and load":"Save current preset and load","Save image button color":"Save image button color","Save into:":"Save into:","Scatter plot":"Scatter plot",Seconds:Lbt,Select:zbt,"Select ID":"Select ID","Select for":"Select for","Shadow Size":"Shadow Size","Show controls":"Show controls","Show export data button":"Show export data button","Show labels:":"Show labels:","Show legend":"Show legend","Show legend:":"Show legend:","Show only in legend":"Show only in legend","Show points":"Show points","Show save image button":"Show save image button","Show values":"Show values",Smoothing:Fbt,Source:Bbt,Spline:Wbt,Stack:Hbt,"Start:":"Start:","State value":"State value","State value text":"State value text","Step span:":"Step span:","Step type":"Step type","Step type:":"Step type:",Steps:Ubt,"Steps on start":"Steps on start",Style:Vbt,"System settings":"System settings",Text:qbt,"Text X offset":"Text X-offset","Text Y offset":"Text Y-offset","Text by false":"Text by false","Text by true":"Text by true","Text color":"Text color","Text position":"Text position","Text size":"Text size","Text values not used":"Text values not used",Texts:Gbt,Theme:Xbt,"This time offset will be added to the X label by displaying data on the chart":"This time offset will be added to the X label by displaying data on the chart","This time offset will be added to the request by reading data from DB":"This time offset will be added to the request by reading data from DB","Ticks from:":"Use X-ticks from:",Time:Jbt,"Time Span":"Time Span","Time format":"Time format","Time format:":"Time format:","Time span":"Time span","Time stamp":"Time stamp",Title:Ybt,"Title color":"Title color","Title color:":"Title color:","Title position":"Title position","Title position:":"Title position:","Title size":"Title size","Title size:":"Title size:","Title:":"Title:","Top, center, inside":"Top, center, inside","Top, left":"Top, left","Top, left, inside":"Top, left, inside","Top, right":"Top, right","Top, right, inside":"Top, right, inside","Top, right, outside":"Top, right, outside",Type:Kbt,Unit:Zbt,"Units:":"Units:",Update:Qbt,"Update objects":"Update objects","Update states":"Update states","Upper value or ID":"Upper value or ID","Use comma":"Use comma","Use comma:":"Use comma:","Use state names":"Use state names","User defined":"User defined","User defined names:":"User defined names:","Valid time (sec)":"Valid time (sec)",Value:e1t,Width:t1t,"Width:":"Width:","Window background":"Window background","Window background:":"Window background:",With:r1t,"With border":"With border","With lines":"With lines",Without:n1t,"Without border":"Without border","Without lines":"Without lines","X Axis":"X Axis","X Axis position":"X Axis position","X axis labels color:":"X labels color:","X labels color":"X labels color","X labels size":"X font size","X ticks color":"X ticks color","X-Axis ticks":"X-Axis ticks","X-Label-Offset":"X-Label Offset","X-Offset":"X-Offset","Y Axis":"Y Axis","Y Axis position":"Y Axis position","Y axis labels color:":"Y labels color:","Y labels color":"Y labels color","Y labels size":"Y font size","Y ticks color":"Y ticks color","Y-Axis ticks":"Y-Axis ticks","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'You can create a new markings with a "+" on the right.',"You can drag and drop simple lines from the left list.":"You can drag and drop simple lines from the left list.","add children":"add children",area:o1t,auto:a1t,average:i1t,bar:s1t,bottom:l1t,bottomColor:c1t,convert_help:d1t,copied:u1t,copy:p1t,count:h1t,counts:f1t,current:m1t,dashed:g1t,day:v1t,default:"default",difference:y1t,dotted:_1t,dow:b1t,edit:w1t,"edit enum":"edit enum","edit file":"edit file","end of 10 minutes":"end of 10 minutes","end of 12 hours":"end of 12 hours","end of 2 hours":"end of 2 hours","end of 3 hours":"end of 3 hours","end of 30 minutes":"end of 30 minutes","end of 4 hours":"end of 4 hours","end of 5 minutes":"end of 5 minutes","end of 6 hours":"end of 6 hours","end of 8 hours":"end of 8 hours","end of day":"end of day","end of hour":"end of hour","end of minute":"end of minute","end of previous saturday":"end of previous saturday (2 weeks)","end of previous sunday":"end of previous sunday (2 weeks)","end of saturday":"end of saturday","end of sunday":"end of sunday",false:"null",horizontal:x1t,i15min:S1t,i1day:C1t,i1hour:$1t,i30days:k1t,"ignore 'null'":"ignore 'null'","ignore 'null':":"ignore 'null':","ignore null values":"ignore null values",integral:E1t,"last value":"last value",left:T1t,"left colored":"left colored",leftColor:O1t,line:D1t,linear:A1t,lineplot:I1t,load:M1t,max:P1t,middle:N1t,min:R1t,minmax:j1t,month:L1t,new:"new",no:z1t,"no null":" no null","non-processed":"non-processed",none:F1t,none_no:B1t,now:W1t,null:"null",off:H1t,onchange:U1t,"own axis":"own axis",percentile:V1t,polar:q1t,raw:G1t,relative:X1t,reload:J1t,"restart script":"restart script",right:Y1t,"right colored":"right colored",rightColor:K1t,role:Z1t,save:Q1t,"save %s":"save %s",scatterplot:ewt,seconds:twt,solid:rwt,spline:nwt,standard:owt,static:"static",steps:awt,"this month":"this month","this year":"this year",to:iwt,today:swt,top:lwt,"top over":"top over","top under":"top under",topColor:cwt,total:dwt,true:"last value","update Preview":"update Preview","use 0 instead of null values":"use 0 instead of null values",vertical:uwt,weekEurope:pwt,weekUsa:hwt,year:fwt,yes:mwt,ØL:"ØL","ØL - Line thickness":"ØL - Line thickness","ØL Line thickness":"ØL Line thickness",ØS:"ØS","ØS - Shadow size":"ØS - Shadow size","ØS Shadow size":"ØS Shadow size"},vwt="Bestätigt",ywt="Hinzufügen",_wt="Aggregat",bwt="Art",wwt="Alle",xwt="Erscheinung",Swt="Anwenden",Cwt="Auto",$wt="Achsen",kwt="Hintergründe",Ewt="Bar",Twt="Rand",Owt="Abbrechen",Dwt="Kreis",Awt="Schließen",Iwt="Zusammenklappen",Mwt="Farbe",Pwt="Kopieren",Nwt="Anzahl",Rwt="Erstellen",jwt="Datenquellen",Lwt="Standard",zwt="Löschen",Fwt="Dialog",Bwt="Editieren",Wwt="Ende",Hwt="Ausklappen",Uwt="Füllen",Vwt="Mappe",qwt="Von",Gwt="Funktionen",Xwt="Gitter",Jwt="Höhe",Ywt="ID",Kwt="IDs",Zwt="Individuell",Qwt="Instanz",ext="Intervalle",txt="Etikette",rxt="Etiketten",nxt="Links",oxt="Legende",axt="Grenzen",ixt="Linie",sxt="Link",lxt="Haupt-Einstellungen",cxt="Markierung",dxt="Markierungen",uxt="Max",pxt="Mitglied",hxt="Min",fxt="MinMax",mxt="mehr",gxt="Mehrere",vxt="Name",yxt="Nichts",_xt="X-Offset",bxt="Ok",wxt="Zeige im Fenster",xxt="Optionen",Sxt="Orientierung",Cxt="Andere",$xt="Einfügen",kxt="Perzentil",Ext="Kuchen",Txt="Punkte",Oxt="Polardiagramm (Radar)",Dxt="Polygonal",Axt="Voreinstellung",Ixt="wird bearbeitet",Mxt="Reichweite",Pxt="Relativ",Nxt="Umbenennen",Rxt="Rechts",jxt="Rolle",Lxt="Raum",zxt="Räume",Fxt="Root-Ordner",Bxt="Sekunden",Wxt="Auswählen",Hxt="Glätten",Uxt="Quelle",Vxt="Spline",qxt="Stack",Gxt="Schritte",Xxt="Stil",Jxt="Text",Yxt="Texte",Kxt="Thema",Zxt="Zeit",Qxt="Beschriftung",eSt="Typ",tSt="Einheiten",rSt="Aktualisieren",nSt="Wert",oSt="Breite",aSt="mit",iSt="ohne",sSt="Area",lSt="Auto",cSt="mittel",dSt="Bar",uSt="unten",pSt="unten farblich",hSt='Hier die Formel wie "val / 1000 + 3" eingeben. Diese Formel wird auf alle Werte des ausgewählten Datenpunkts angewendet.',fSt="kopiert",mSt="Kopieren",gSt="zählen",vSt="Anzahl",ySt="Aktueller Wert",_St="gestrichelt",bSt="Tag",wSt="Unterschied",xSt="gepunktet",SSt="Wochentag",CSt="bearbeiten",$St="horizontal",kSt="15 Minuten",ESt="1 Tag",TSt="1 Stunde",OSt="30 Tage",DSt="Integral",ASt="links",ISt="links farblich",MSt="Linie",PSt="linear",NSt="Liniendiagramm",RSt="laden",jSt="max",LSt="mittig",zSt="min",FSt="minmax",BSt="Monat",WSt="keine",HSt="nichts",USt="keins",VSt="jetzt",qSt="nichts",GSt="bei Änderung",XSt="Perzentil",JSt="Polardiagramm",YSt="unverarbeitet",KSt="relative",ZSt="Neu laden",QSt="rechts",eCt="rechts farblich",tCt="Rolle",rCt="Speichern",nCt="Streudiagramm",oCt="Sekunden",aCt="normal",iCt="Spline",sCt="Standard",lCt="Schritte",cCt="bis",dCt="heute",uCt="oben",pCt="oben farblich",hCt="total",fCt="vertikal",mCt="Tagesende",gCt="Wochenssende",vCt="Jahr",yCt="ja",_Ct={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"vor %s","ØL":"ØL","ØS":"ØS","0 seconds":"0 Sekunden","0s":"0s","1 day":"1 Tag","1 hour":"1 Stunde","1 minute":"1 Minute","1 month":"1 Monat","1 week":"1 Woche","1 year":"1 Jahr","10 minutes":"10 Minuten","10 seconds":"10 Sekunden","10m":"10 Minuten","10minutes":"Ende von 10 Minuten","10s":"10 Sekunden","12 hours":"12 Stunden","12H":"12 Stunden","12W":"12 Wochen","12hours":"Ende von 12 Stunden","14 days":"14 Tage","15 minutes":"15 Minuten","15 seconds":"15 Sekunden","15m":"15 Minuten","1D":"1 Tag","1H":"1 Stunde","1M":"1 Monat","1W":"1 Woche","1Y":"1 Jahr","1hour":"Stundenende","1minute":"Minutenende","1s":"1 Sekunde","2 days":"2 Tage","2 hours":"2 Stunden","2 minutes":"2 Minuten","2 months":"2 Monate","2 weeks":"2 Wochen","2 years":"2 Jahren","20 minutes":"20 Minuten","20 seconds":"20 Sekunden","26W":"26 Wochen","2D":"2 Tage","2H":"2 Stunden","2M":"2 Monate","2W":"2 Wochen","2Y":"2 Jahre","2hours":"Ende von 2 Stunden","2m":"2 Minuten","2s":"2 Sekunden","3 days":"3 Tage","3 hours":"3 Stunden","3 minutes":"3 Minuten","3 months":"3 Monate","30 minutes":"30 Minuten","30 seconds":"30 Sekunden","300ms":"300ms","30m":"30 Minuten","30minutes":"Ende von 30 Minuten","30s":"30 Sekunden","3D":"3 Tage","3M":"3 Monate","3hours":"Ende von 3 Stunden","3m":"3 Minuten","3s":"3 Sekunden","4 days":"4 Tage","4 minutes":"4 Minuten","45 minutes":"45 Minuten","45m":"45 Minuten","4D":"4 Tage","4W":"4 Wochen","4hours":"Ende von 4 Stunden","4m":"4 Minuten","5 minutes":"5 Minuten","5 seconds":"5 Sekunden","500ms":"500ms","5m":"5 Minuten","5minutes":"Ende von 5 Minuten","5s":"5 Sekunden","6 hours":"6 Stunden","6 months":"6 Monate","60 seconds":"60 Sekunden","60s":"60 Sekunden","6H":"6 Stunden","6M":"6 Monate","6hours":"Ende von 6 Stunden","7 days":"7 Tage","8W":"8 Wochen","8hours":"Ende von 8 Stunden","90 seconds":"90 Sekunden",Acknowledged:vwt,Add:ywt,"Add line to chart":"Linie zum Preset hinzufügen","Add marking line to chart":"Markierungslinie zum Preset hinzufügen","Add new line":"Linie hinzufügen","Add new markings":"Neue Markierung hinzufügen","Add new state name":"Neuen Statusnamen hinzufügen","Add new value":"Fügen Sie neuen Wert hinzu","After comma":"Nach Komma",Aggregate:_wt,"Aggregate for lines":"Aggregation für Zeilen",Aggregation:bwt,"Aggregation:":"Art:",All:wwt,"Animation:":"Animation:",Appearance:xwt,Apply:Swt,"Are you sure for closing folder and discard unsaved changes?":"Möchten Sie den Ordner wirklich schließen und nicht gespeicherte Änderungen verwerfen?","Are you sure for delete this line?":"Sind Sie sicher, diese Zeile zu löschen?","Are you sure for delete this mark?":"Sind Sie sicher, diese Marke zu löschen?","Are you sure for delete this preset?":"Sind Sie sicher, diese Voreinstellung zu löschen?","Are you sure for loading the chart and discard unsaved changes?":"Möchten Sie das Diagramm wirklich laden und nicht gespeicherte Änderungen verwerfen?","Are you sure for loading the preset and discard unsaved changes?":"Möchten Sie die Vorgabe wirklich laden und nicht gespeicherte Änderungen verwerfen?","Arrange bools":"Platziere Booleans",Auto:Cwt,"Auto (Line or Steps)":"Auto (Linie oder Schritte)","Auto padding":"Auto-Abstand","Auto save":"Automatisch speichern","Auto-refresh":"Automatische Aktualisierung","Auto-update:":"Auto-update:",Axis:$wt,"Background of radar chart":"Hintergrund der Radarkarte","Background:":"Hintergrund:",Backgrounds:kwt,Bar:Ewt,"Bar settings":"Bar-Einstellungen","Bars width:":"Barbreite:",Border:Twt,"Border color:":"Rahmenfarbe:","Border padding":"Randabstand","Border width":"Rahmenbreite","Border width:":"Rahmenbreite:","Bottom, center, inside":"Unten, mittig, innen","Bottom, center, outside":"Unten, mittig, außen","Bottom, left":"Unten, links","Bottom, left, inside":"Unten, links, innen","Bottom, right":"Unten, rechts","Bottom, right, inside":"Unten, rechts, innen","Bottom, right, outside":"Unten, rechts, außen",Cancel:Owt,"Cannot create unique ID":"Eindeutige ID kann nicht erstellt werden","Chart Type":"Chart Type","Chart background":"Diagrammhintergrund","Chart background:":"Chart-Hintergrund:","Chart size":"Diagrammgröße","Chart type":"Diagramm Typ","Charts preview":"Diagrammvorschau",Circle:Dwt,Close:Awt,Collapse:Iwt,"Collapse all lines":"Alle Zeilen zumachen","Collapse all markings":"Alle Markierungen zusammenklappen",Color:Mwt,"Common Y Axis":"Gemeinsame Y-Achse","Convert formula":"Umrechnungsformel",Copy:Pwt,"Copy link to clipboard":"Link in Zwischenablage kopieren",Counts:Nwt,Create:Rwt,"Create folder":"Ordner erstellen","Create new folder":"Neuen Ordner erstellen","Create new preset":"Neues Preset erstellen","Create preset":"Preset erstellen","Custom chart background:":"Anwender-Chart-Hintergrund:","Custom time format":"Benutzerdefiniertes Zeitformat",Data:jwt,Default:Lwt,Delete:zwt,"Delete object":"Object löschen","Delete text value":"Textwert löschen",Dialog:Fwt,"Digits after comma":"Ziffern nach Komma","Drag me":"Zieh mich",Edit:Bwt,"Edit folder name":"Ordnername ändern","Edit options for line %s":"Editieren weitere Einstellungen für Linie %s","Edit state names":"Zustandsnamen bearbeiten","Empty preset cannot be saved!":"Leeres Preset kann nicht gespeichert werden!","Enable logging for new state":"Protokollierung für einen neuen Zustand aktivieren","Enable zoom and pan":"Zoom erlauben","Enable zoom and pan:":"Aktiviere Zoom und Schieben:",End:Wwt,"End:":"Ende:","Enter chart name":"Chartname eintragen",Expand:Hwt,"Expand all lines":"Alle Zeilen ausklappen","Expand all markings":"Alle Markierungen aufklappen","Export data color":"Farbe der Schaltfläche „Daten exportieren“.",Fill:Uwt,"Fill color:":"Füllfarbe color:","Fill range:":"Ganzer Bereich:","Fill(0to1)":"Füllen(0bis1)",Folder:Vwt,"Font size":"Schriftgröße",From:qwt,"From line %s":"Zeile %s",Functions:Gwt,Grid:Xwt,"Grid color":"Gitterfarbe","Grid color:":"Gitterfarbe:","Group by":"Gruppiere nach","HH:MM dd.mm":"SS:MM tt.mm.",Height:Jwt,"Height:":"Höhe:","Hide X grid":"X-Gitter ausblenden","Hide Y grid":"Y-Gitter ausblenden","Hide edit button:":"Kein 'Edit'-Knopf:","Hide nulls in tooltip":"Nullen im Tooltip ausblenden","Hover details":"Hover-Details","Hover details:":"Hover details:",ID:Ywt,IDs:Kwt,"If the current value is not older than X seconds, assume it is still the same.":"Wenn der aktuelle Wert nicht älter als X Sekunden ist, annehmen, dass er immer noch derselbe ist.","In seconds":"In Sekunden",Individual:Zwt,"Input data":"Eingangsdaten","Inside / No lines":"Innen / ohne Linien","Inside / With lines":"Innen / mit Linien","Inside end":"Innen, am Ende","Inside end bottom":"Innen, am Ende, unten","Inside end top":"Innen, am Ende, oben","Inside middle":"Innen, in der Mitte","Inside middle bottom":"Innen, in der Mitte, unten","Inside middle top":"Innen, in der Mitte, oben","Inside start":"Innen, am Start","Inside start bottom":"Innen, am Anfang, unten","Inside start top":"Innen, am Anfang, oben",Instance:Qwt,"Integral unit":"Integrale Einheit","Interpolate:":"Interpolieren:","Interpolation method":"Interpolationsmethode",Intervals:ext,"Invalid object":"Ungültiges Objekt",Label:txt,"Label color:":"Labelfarbe:","Label font size:":"Labelschriftgröße:",Labels:rxt,"Last changed":"Letze Änderung",Left:nxt,Legend:oxt,"Legend background":"Legendenhintergrund","Legend background:":"Legende-Hintergrund:","Legend columns:":"Spalten in Legende:","Legend opacity (from 0 to 1):":"Legende-Opacity (von 0 bis 1):","Legend text color":"Legende Textfarbe",Limits:axt,Line:ixt,"Line ID":"Linie ID","Line Width":"Linienstärke","Line and area":"Linie und Fläche","Line style":"Linienstil",Link:sxt,"Live update every":"Autoupdate alle","Live update every:":"Autoupdate alle:","Load without save":"Laden ohne Speichern","Loading...":"Lade...","Lower value or ID":"Unterer Wert oder ID",Main:lxt,Mark:cxt,Markings:dxt,Max:uxt,"Max:":"Maximum:",Members:pxt,"Middle, left, inside":"Middle, links, innen","Middle, right, inside":"Middle, rechts, innen","Middle, right, outside":"Middle, rechts, außen",Min:hxt,"Min:":"Minimum:",MinMax:fxt,More:mxt,"Move to folder":"In den Ordner verschieben",Multiple:gxt,"NULL as":"NULL als",Name:vxt,"Name:":"Name:","No ID yet":"Noch kein ID","No background":"Kein Hintergrund","No border:":"Kein Rahmen:","No future":"Keine Werte in der Zukunft","No interpolate in hover":"Keine Interpolation im Tooltip","No presets created yet":"Noch keine Presets erstellt",None:yxt,Offset:_xt,Ok:bxt,Open:wxt,"Open chart in own window":"Das Diagramm in einem eigenen Fenster öffnen","Open in own window":"In eigenem Fenster öffnen",Options:xxt,Orientation:Sxt,Others:Cxt,"Outside / No lines":"Außen / ohne Linien","Outside/ With lines":"Außen/ mit Linien",Paste:$xt,Percentile:kxt,Pie:Ext,"Please confirm":"Bitte bestätigen",Points:Txt,Polar:Oxt,Polygonal:Dxt,"Predefined background:":"Vordefinierter Hintergrund:",Presets:Axt,Processing:Ixt,"Processing...":"Bearbeite...",Range:Mxt,"Range:":"Umfang:",Relative:Pxt,Rename:Nxt,"Rename preset":"Preset umbenennen","Reorder presets in folders":"Presets in Ordnern neu anordnen","Reset settings":"Einstellungen löschen","Reset zoom after idle":"Zoom nach Leerlauf zurücksetzen",Right:Rxt,Role:jxt,Room:Lxt,Rooms:zxt,Root:Fxt,"Save current preset and load":"Aktuelles Preset speichern und laden","Save image button color":"Farbe der Bildschaltfläche speichern","Save into:":"Save into:","Scatter plot":"Scatter plot",Seconds:Bxt,Select:Wxt,"Select ID":"ID Auswählen","Select for":"Wählen Sie für","Shadow Size":"Schattengröße","Show controls":"Steuerelemente anzeigen","Show export data button":"Schaltfläche „Exportdaten anzeigen“.","Show labels:":"Zeige Labels:","Show legend":"Legende anzeigen","Show legend:":"Zeige Legende:","Show only in legend":"Nur in der Legende anzeigen","Show points":"Punkte anzeigen","Show save image button":"Schaltfläche „Bild speichern“ anzeigen","Show values":"Werte anzeigen",Smoothing:Hxt,Source:Uxt,Spline:Vxt,Stack:qxt,"Start:":"Start:","State value":"Wert angeben","State value text":"Werttext angeben","Step span:":"Schrittweite:","Step type":"Schrittart","Step type:":"Schritttyp:",Steps:Gxt,"Steps on start":"Schritte beim Start",Style:Xxt,"System settings":"Systemeinstellungen",Text:Jxt,"Text X offset":"Text-X-Offset","Text Y offset":"Text Y-Offset","Text by false":"Text bei falsch","Text by true":"Text bei wahr","Text color":"Textfarbe","Text position":"Textposition","Text size":"Textgröße","Text values not used":"Textwerte nicht verwendet",Texts:Yxt,Theme:Kxt,"This time offset will be added to the X label by displaying data on the chart":"Dieser Zeitversatz wird der X-Beschriftung hinzugefügt, indem Daten im Diagramm angezeigt werden","This time offset will be added to the request by reading data from DB":"Dieser Zeitversatz wird der Anfrage durch das Lesen von Daten aus der Datenbank hinzugefügt","Ticks from:":"Benutze X-Ticks aus:",Time:Zxt,"Time Span":"Zeit Spanne","Time format":"Zeitformat","Time format:":"Zeitformat:","Time span":"Zeitspanne","Time stamp":"Zeitstempel",Title:Qxt,"Title color":"Titelfarbe","Title color:":"Titelfarbe:","Title position":"Titelposition","Title position:":"Beschriftungs-Position:","Title size":"Titelgröße","Title size:":"Titelgröße:","Title:":"Beschriftung:","Top, center, inside":"Oben, mittig, innen","Top, left":"Oben, links","Top, left, inside":"Oben, links, innen","Top, right":"Oben, rechts","Top, right, inside":"Oben, rechts, innen","Top, right, outside":"Oben, rechts, außen",Type:eSt,Unit:tSt,"Units:":"Einheiten:",Update:rSt,"Update objects":"Objekte aktualisieren","Update states":"States aktualisieren","Upper value or ID":"Oberer Wert oder ID","Use comma":"Komma benutzen","Use comma:":"Benutze Komma:","Use state names":"Zustandsnamen verwenden ","User defined":"Anwenderdefiniert","User defined names:":"Benutzerdefinierte Namen:","Valid time (sec)":"Gültige Zeit (Sek.)",Value:nSt,Width:oSt,"Width:":"Breite:","Window background":"Fensterhintergrund","Window background:":"Fenster-Hintergrund:",With:aSt,"With border":"Mit Grenze","With lines":"mit Linien",Without:iSt,"Without border":"Ohne Rand","Without lines":"ohne Linien","X Axis":"X Axe","X Axis position":"X Achsenposition","X axis labels color:":"X Beschriftungsfarbe:","X labels color":"X Beschriftungsfarbe","X labels size":"X Schriftgröße","X ticks color":"X-Strichfarbe","X-Axis ticks":"X-Achse-Ticks","X-Label-Offset":"X-Label-Offset","X-Offset":"X-Offset","Y Axis":"Y Axe","Y Axis position":"Y Achsenposition","Y axis labels color:":"Y Beschriftungsfarbe:","Y labels color":"Y Beschriftungsfarbe","Y labels size":"Y-Schriftgröße","Y ticks color":"Y-Strichfarbe","Y-Axis ticks":"Y-Achse-Ticks","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Man kann neue Markierungen mit einem "+" rechts erstellen.',"You can drag and drop simple lines from the left list.":"Man kann einfache Linien aus der linken Liste ziehen und ablegen.","add children":"Sub-enums einfügen",area:sSt,auto:lSt,average:cSt,bar:dSt,bottom:uSt,bottomColor:pSt,convert_help:hSt,copied:fSt,copy:mSt,count:gSt,counts:vSt,current:ySt,dashed:_St,day:bSt,default:"default",difference:wSt,dotted:xSt,dow:SSt,edit:CSt,"edit enum":"Enum ändern","edit file":"Datei editieren","end of 10 minutes":"Ende von 10 Minuten","end of 12 hours":"Ende von 12 Stunden","end of 2 hours":"Ende von 2 Stunden","end of 3 hours":"Ende von 3 Stunden","end of 30 minutes":"Ende von 30 Minuten","end of 4 hours":"Ende von 4 Stunden","end of 5 minutes":"Ende von 5 Minuten","end of 6 hours":"Ende von 6 Stunden","end of 8 hours":"Ende von 8 Stunden","end of day":"Tagesende","end of hour":"Stundenende","end of minute":"Minutenende","end of previous saturday":"Ende Vorsamstag (2 Wochen)","end of previous sunday":"Ende Vorsonntag (2 Wochen)","end of saturday":"Samstagsende","end of sunday":"Wochenssende",false:"null",horizontal:$St,i15min:kSt,i1day:ESt,i1hour:TSt,i30days:OSt,"ignore 'null'":"'null' ignorieren","ignore 'null':":"'null' ignorieren:","ignore null values":"null-Werte ignorieren",integral:DSt,"last value":"letztes Wert",left:ASt,"left colored":"links farbig",leftColor:ISt,line:MSt,linear:PSt,lineplot:NSt,load:RSt,max:jSt,middle:LSt,min:zSt,minmax:FSt,month:BSt,new:"unter neuen Namen",no:WSt,"no null":" kein NULL","non-processed":"unbearbeitet",none:HSt,none_no:USt,now:VSt,null:"null",off:qSt,onchange:GSt,"own axis":"eigene Achse",percentile:XSt,polar:JSt,raw:YSt,relative:KSt,reload:ZSt,"restart script":"Skript neu starten",right:QSt,"right colored":"rechts gefärbt",rightColor:eCt,role:tCt,save:rCt,"save %s":"Speichern %s",scatterplot:nCt,seconds:oCt,solid:aCt,spline:iCt,standard:sCt,static:"statik",steps:lCt,"this month":"dieser Monat","this year":"dieses Jahr",to:cCt,today:dCt,top:uCt,"top over":"oben über","top under":"oben unten",topColor:pCt,total:hCt,true:"letztes Wert","update Preview":"Vorschau aktualisieren","use 0 instead of null values":"0 statt null benutzen",vertical:fCt,weekEurope:mCt,weekUsa:gCt,year:vCt,yes:yCt,ØL:"ØL","ØL - Line thickness":"ØL - Liniendicke","ØL Line thickness":"ØL Linienstärke",ØS:"ØS","ØS - Shadow size":"ØS - Schattengröße","ØS Shadow size":"ØS Schattengröße"},bCt="Подтверждён",wCt="Добавить",xCt="Агрегатная функция",SCt="Тип",CCt="все",$Ct="Оформление",kCt="Применить",ECt="Авто",TCt="Оси",OCt="Фоны",DCt="Bar",ACt="Граница",ICt="отменить",MCt="Круг",PCt="Закрыть",NCt="Свернуть",RCt="Цвет",jCt="Копировать",LCt="Кол-во значений",zCt="Создайте",FCt="Данные",BCt="по умолчанию",WCt="Удалить",HCt="Диалог",UCt="Edit",VCt="Конец",qCt="Развернуть",GCt="Заливка",XCt="Папка",JCt="От",YCt="Функции",KCt="Сетка",ZCt="Высота",QCt="ID",e$t="Объекты",t$t="Индивидуально",r$t="Драйвер",n$t="Интервалы",o$t="этикетка",a$t="Этикетки",i$t="слева",s$t="Легенда",l$t="Пределы",c$t="Линия",d$t="URL",u$t="Главные",p$t="Маркировка",h$t="Разметка",f$t="Макс",m$t="Объекты",g$t="Мин",v$t="MinMax",y$t="ещё",_$t="Несколько",b$t="Имя",w$t="Нет",x$t="Сдвиг по Х",S$t="Ok",C$t="Показать",$$t="Опции",k$t="Ориентация",E$t="Другие",T$t="Вставить",O$t="Процентиль",D$t="Круговая диаграмма",A$t="Точки",I$t="Полярная карта (Радар)",M$t="Полигональный",P$t="Пресеты",N$t="Обработка",R$t="Диапазон",j$t="Родственник",L$t="Переименовать",z$t="справа",F$t="Роль",B$t="Комната",W$t="Номера",H$t="Корневая папка",U$t="Cекунды",V$t="Выбрать",q$t="Сглаживание",G$t="Источник",X$t="Сплайн",J$t="Stack",Y$t="Ступени",K$t="Стиль",Z$t="Текст",Q$t="Тексты",ekt="Тема",tkt="Время",rkt="Подпись",nkt="Тип",okt="Единицы",akt="Обновить",ikt="Значение",skt="Ширина",lkt="с",ckt="без",dkt="Область",ukt="авто",pkt="среднее",hkt="Bar",fkt="снизу",mkt="снизу цветом",gkt="Введите формулу типа «val / 1000 + 3». Эта формула будет применяться ко всем значениям выбранной точки данных.",vkt="скопировано",ykt="Скопировать",_kt="считать",bkt="кол-во",wkt="Текущая стоимость",xkt="пунктирная",Skt="День",Ckt="разница",$kt="пунктирный",kkt="День недели",Ekt="редактировать",Tkt="горизонтальный",Okt="15 минут",Dkt="1 день",Akt="1 час",Ikt="30 дней",Mkt="интеграл",Pkt="слева",Nkt="слева цветом",Rkt="Линия",jkt="линейный",Lkt="Линия с точками",zkt="загрузить",Fkt="макс",Bkt="В середине",Wkt="мин",Hkt="minmax",Ukt="month",Vkt="нет",qkt="ничего",Gkt="нет",Xkt="сейчас",Jkt="скрыть",Ykt="при изменении",Kkt="процентиль",Zkt="Полярная карта (радар)",Qkt="необработанные",eEt="относительно",tEt="Перезагрузить",rEt="справа",nEt="справа цветом",oEt="Роль",aEt="сохранить",iEt="Точки",sEt="секунды",lEt="обычный",cEt="Сллайн",dEt="стандарт",uEt="Шаги",pEt="до",hEt="сегодня",fEt="сверху",mEt="сверху цветом",gEt="всего",vEt="вертикальный",yEt="Конец дня",_Et="Конец недели",bEt="year",wEt="да",xEt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s назад","ØL":"ØL","ØS":"ØS","0 seconds":"0 секунд","0s":"0c","1 day":"1 день","1 hour":"1 час","1 minute":"1 минуту","1 month":"1 месяц","1 week":"1 неделя","1 year":"1 год","10 minutes":"10 минут","10 seconds":"10 секунд","10m":"10 минут","10minutes":"Конец 10 minutes","10s":"10 секунд","12 hours":"12 часов","12H":"12 часов","12W":"12 недель","12hours":"Конец 12 часов","14 days":"14 дней","15 minutes":"15 минут","15 seconds":"15 секунд","15m":"15 минут","1D":"1 день","1H":"1 час","1M":"1 месяц","1W":"1 неделя","1Y":"1 год","1hour":"Конец часа","1minute":"Конец минуты","1s":"1 секунда","2 days":"2 дня","2 hours":"2 часа","2 minutes":"2 минуты","2 months":"2 месяца","2 weeks":"2 недели","2 years":"2 года","20 minutes":"20 минут","20 seconds":"20 секунд","26W":"26 недель","2D":"2 дня","2H":"2 часа","2M":"2 месяца","2W":"2 недели","2Y":"2 года","2hours":"Конец 2 часов","2m":"2 минуты","2s":"2 секунды","3 days":"3 дня","3 hours":"3 часа","3 minutes":"3 минуты","3 months":"3 месяца","30 minutes":"30 минут","30 seconds":"30 секунд","300ms":"300мс","30m":"30 минут","30minutes":"Конец 30 minutes","30s":"30 секунд","3D":"3 дня","3M":"3 месяца","3hours":"Конец 3 часов","3m":"3 минуты","3s":"3 секунды","4 days":"4 дня","4 minutes":"4 минуты","45 minutes":"45 минут","45m":"45 минут","4D":"4 дня","4W":"4 недели","4hours":"Конец 4 часов","4m":"4 минуты","5 minutes":"5 минут","5 seconds":"5 секунд","500ms":"500мс","5m":"5 минут","5minutes":"Конец 5 minutes","5s":"5 секунд","6 hours":"6 часов","6 months":"6 месяцев","60 seconds":"60 секунд","60s":"60 секунд","6H":"6 часов","6M":"6 месяцев","6hours":"Конец 6 часов","7 days":"7 дней","8W":"8 недель","8hours":"Конец 8 часов","90 seconds":"90 секунд",Acknowledged:bCt,Add:wCt,"Add line to chart":"Добавить линию в пресет","Add marking line to chart":"Добавить линию разметки на график","Add new line":"Добавить линию","Add new markings":"Добавить разметку","Add new state name":"Добавить новое название штата","Add new value":"Добавить новое значение","After comma":"После запятой",Aggregate:xCt,"Aggregate for lines":"Агрегация для линий",Aggregation:SCt,"Aggregation:":"Тип:",All:CCt,"Animation:":"Анимация:",Appearance:$Ct,Apply:kCt,"Are you sure for closing folder and discard unsaved changes?":"Вы уверены, что хотите закрыть папку и отменить несохраненные изменения?","Are you sure for delete this line?":"Вы уверены, что удалите эту строку?","Are you sure for delete this mark?":"Вы уверены, что удалите эту отметку?","Are you sure for delete this preset?":"Вы уверены, что хотите удалить этот пресет?","Are you sure for loading the chart and discard unsaved changes?":"Вы уверены, что хотите загрузить диаграмму и отменить несохраненные изменения?","Are you sure for loading the preset and discard unsaved changes?":"Вы уверены, что хотите загрузить предустановку и отменить несохраненные изменения?","Arrange bools":"Выстроить bool графики",Auto:ECt,"Auto (Line or Steps)":"Авто (линия или шаги)","Auto padding":"Авто-отступы","Auto save":"Автосохранение","Auto-refresh":"Автообновление","Auto-update:":"Обновлять сразу:",Axis:TCt,"Background of radar chart":"Фон радиолокационной диаграммы","Background:":"Фон:",Backgrounds:OCt,Bar:DCt,"Bar settings":"Настройки Bar","Bars width:":"Ширина бара:",Border:ACt,"Border color:":"Цвет рамки:","Border padding":"Отступы границы","Border width":"Ширина рамки","Border width:":"Ширина рамки:","Bottom, center, inside":"Снизу, по центру, внутри","Bottom, center, outside":"Снизу, по центру, снаружи","Bottom, left":"Снизу, слева","Bottom, left, inside":"Снизу, слева, внутри","Bottom, right":"Снизу, справа","Bottom, right, inside":"Снизу, справа, внутри","Bottom, right, outside":"Снизу, справа, снаружи",Cancel:ICt,"Cannot create unique ID":"Невозможно создать уникальный идентификатор","Chart Type":"Тип графика","Chart background":"Фон диаграммы","Chart background:":"Фон графика:","Chart size":"Размер диаграммы","Chart type":"Тип диаграммы","Charts preview":"Предварительный просмотр диаграмм",Circle:MCt,Close:PCt,Collapse:NCt,"Collapse all lines":"Свернуть все строки","Collapse all markings":"Свернуть все маркировки",Color:RCt,"Common Y Axis":"Общая ось Y","Convert formula":"Формула преобразования",Copy:jCt,"Copy link to clipboard":"Скопировать ссылку в буфер обмена",Counts:LCt,Create:zCt,"Create folder":"Создать папку","Create new folder":"Создать новую папку","Create new preset":"Создать новый пресет","Create preset":"Создать пресет","Custom chart background:":"Пользовательский фон графика:","Custom time format":"Пользовательский формат времени",Data:FCt,Default:BCt,Delete:WCt,"Delete object":"Удалить объект","Delete text value":"Удалить текстовое значение",Dialog:HCt,"Digits after comma":"Цифры после запятой","Drag me":"Перетащи меня",Edit:UCt,"Edit folder name":"Изменить имя папки","Edit options for line %s":"Редактировать настройки для линии %s","Edit state names":"Изменить названия штатов","Empty preset cannot be saved!":"Пустой пресет не может быть сохранен!","Enable logging for new state":"Включить ведение журнала для нового состояния","Enable zoom and pan":"Разрешить зум","Enable zoom and pan:":"Разрешить увеличение и сдвиг:",End:VCt,"End:":"Конец:","Enter chart name":"Введите имя графика",Expand:qCt,"Expand all lines":"Развернуть все строки","Expand all markings":"Развернуть все маркировки","Export data color":"Цвет кнопки экспорта данных",Fill:GCt,"Fill color:":"Цвет заливки:","Fill range:":"Всегда весь интервал:","Fill(0to1)":"Фон(0to1)",Folder:XCt,"Font size":"Размер шрифта",From:JCt,"From line %s":"Из строки %s",Functions:YCt,Grid:KCt,"Grid color":"Цвет сетки","Grid color:":"Цвет сетки:","Group by":"Группа по","HH:MM dd.mm":"ЧЧ:ММ дд.мм",Height:ZCt,"Height:":"Высота:","Hide X grid":"Скрыть сетку X","Hide Y grid":"Скрыть сетку Y","Hide edit button:":"Скрыть кнопку 'Редактировать':","Hide nulls in tooltip":"Скрыть нули в подсказке","Hover details":"Детали при наведении","Hover details:":"Показывать подсказку:",ID:QCt,IDs:e$t,"If the current value is not older than X seconds, assume it is still the same.":"Если текущее значение не старше X секунд, предположим, что оно осталось прежним.","In seconds":"В секундах",Individual:t$t,"Input data":"Входные данные","Inside / No lines":"Внутри / Без линий","Inside / With lines":"Внутри / С линиями","Inside end":"Внутри, на конце","Inside end bottom":"Внутри, в конце, внизу","Inside end top":"Внутри, в конце, сверху","Inside middle":"Внутри, посередине","Inside middle bottom":"Внутри, посередине, снизу","Inside middle top":"Внутри, посередине, вверху","Inside start":"Внутри, в начале","Inside start bottom":"Внутри, в начале, внизу","Inside start top":"Внутри, на старте, сверху",Instance:r$t,"Integral unit":"Интегральный блок","Interpolate:":"Интерполяция:","Interpolation method":"Метод интерполяции",Intervals:n$t,"Invalid object":"Недопустимый объект",Label:o$t,"Label color:":"Цвет подписи:","Label font size:":"Шрифт подписи:",Labels:a$t,"Last changed":"Изменён",Left:i$t,Legend:s$t,"Legend background":"Фон легенды","Legend background:":"Фон легенды:","Legend columns:":"Колонок в легенде:","Legend opacity (from 0 to 1):":"Прозрачность легенды (от 0 до 1):","Legend text color":"Цвет текста легенды",Limits:l$t,Line:c$t,"Line ID":"ID линии","Line Width":"Ширина линии","Line and area":"Линия и область","Line style":"Стиль линии",Link:d$t,"Live update every":"Обновление каждые","Live update every:":"Обновлять каждые:","Load without save":"Загрузить без сохранения","Loading...":"Загрузка...","Lower value or ID":"Нижнее значение или ID",Main:u$t,Mark:p$t,Markings:h$t,Max:f$t,"Max:":"Максимум:",Members:m$t,"Middle, left, inside":"Посередине, слева, внутри","Middle, right, inside":"Посередине, справа, внутри","Middle, right, outside":"Посередине, справа, снаружи",Min:g$t,"Min:":"Минимум:",MinMax:v$t,More:y$t,"Move to folder":"Переместить в папку",Multiple:_$t,"NULL as":"NULL как",Name:b$t,"Name:":"Имя:","No ID yet":"ID еще нет","No background":"Без фона","No border:":"Без рамки:","No future":"Никаких ценностей в будущем","No interpolate in hover":"В подсказке не интерполировать","No presets created yet":"Предварительные настройки еще не созданы",None:w$t,Offset:x$t,Ok:S$t,Open:C$t,"Open chart in own window":"Открыть график в собственном окне","Open in own window":"Открыть в собственном окне",Options:$$t,Orientation:k$t,Others:E$t,"Outside / No lines":"Снаружи / Без линий","Outside/ With lines":"Снаружи/ С линиями",Paste:T$t,Percentile:O$t,Pie:D$t,"Please confirm":"Пожалуйста, подтвердите",Points:A$t,Polar:I$t,Polygonal:M$t,"Predefined background:":"Выбрать фон:",Presets:P$t,Processing:N$t,"Processing...":"Обработка...",Range:R$t,"Range:":"Интервал:",Relative:j$t,Rename:L$t,"Rename preset":"Переименовать пресет","Reorder presets in folders":"Изменить порядок пресетов в папках","Reset settings":"Сбросить настройки","Reset zoom after idle":"Сбросить масштаб после простоя",Right:z$t,Role:F$t,Room:B$t,Rooms:W$t,Root:H$t,"Save current preset and load":"Сохранить текущую предустановку и загрузить","Save image button color":"Сохранить цвет кнопки изображения","Save into:":"Сохранить как:","Scatter plot":"Scatter plot",Seconds:U$t,Select:V$t,"Select ID":"Выбрать ID","Select for":"Выберите для","Shadow Size":"Ширина тени","Show controls":"Показать элементы управления","Show export data button":"Показать кнопку экспорта данных","Show labels:":"Подписи:","Show legend":"Показать легенду","Show legend:":"Показать легенду:","Show only in legend":"Показать только в легенде","Show points":"Показать баллы","Show save image button":"Показать кнопку сохранения изображения","Show values":"Показать значения",Smoothing:q$t,Source:G$t,Spline:X$t,Stack:J$t,"Start:":"Начало:","State value":"Числовое значение","State value text":"Текст значения","Step span:":"Интервал шага:","Step type":"Тип шага","Step type:":"Шаги:",Steps:Y$t,"Steps on start":"Шаги на старте",Style:K$t,"System settings":"Системные настройки",Text:Z$t,"Text X offset":"Сдвиг текста по X","Text Y offset":"Смещение текста по Y","Text by false":"Текст для false","Text by true":"Текст для true","Text color":"Цвет текста","Text position":"Расположение текста","Text size":"Размер текста","Text values not used":"Текстовые значения не используются",Texts:Q$t,Theme:ekt,"This time offset will be added to the X label by displaying data on the chart":"Это временное смещение будет добавлено к метке X при отображении данных на диаграмме.","This time offset will be added to the request by reading data from DB":"Это смещение времени будет добавлено к запросу при чтении данных из БД.","Ticks from:":"Подписи X-делений из:",Time:tkt,"Time Span":"Временной интервал","Time format":"Формат времени","Time format:":"Формат времени:","Time span":"Промежуток времени","Time stamp":"Время",Title:rkt,"Title color":"Цвет заголовка","Title color:":"Цвет названия:","Title position":"Позиция заголовка","Title position:":"Позиция названия:","Title size":"Размер заголовка","Title size:":"Размер названия:","Title:":"Название:","Top, center, inside":"Сверху, по центру, внутри","Top, left":"Сверху, слева","Top, left, inside":"Сверху, слева, внутри","Top, right":"Сверху, справа","Top, right, inside":"Сверху, справа, внутри","Top, right, outside":"Сверху, справа, снаружи",Type:nkt,Unit:okt,"Units:":"Единицы:",Update:akt,"Update objects":"Обновить объекты","Update states":"Обновить состояния","Upper value or ID":"Верхнее значение или ID","Use comma":"Используйте запятую","Use comma:":"Запятая-разделитель:","Use state names":"Используйте имена значений","User defined":"Пользовательские","User defined names:":"Задать имена графиков:","Valid time (sec)":"Действительное время (сек)",Value:ikt,Width:skt,"Width:":"Ширина:","Window background":"Фон окна","Window background:":"Фон окна:",With:lkt,"With border":"С границей","With lines":"С линиями",Without:ckt,"Without border":"Без границы","Without lines":"Без линий","X Axis":"Ось X","X Axis position":"Положение оси X","X axis labels color:":"Цвет текста по оси X:","X labels color":"Цвет меток X","X labels size":"Размер шрифта X","X ticks color":"Цвет меток X","X-Axis ticks":"Кол-во делений на шкале X","X-Label-Offset":"Смещение X-метки","X-Offset":"X-смещение","Y Axis":"Ось Y","Y Axis position":"Положение оси Y","Y axis labels color:":"Цвет текста по оси Y:","Y labels color":"Цвет ярлыков Y","Y labels size":"Размер шрифта Y","Y ticks color":"Цвет отметок Y","Y-Axis ticks":"Кол-во делений на шкале Y","Y-Offset":"Сдвиг по Y",'You can create a new markings with a "+" on the right.':"Вы можете создать новую маркировку знаком «+» справа.","You can drag and drop simple lines from the left list.":"Вы можете перетаскивать простые линии из левого списка.","add children":"Добавить под-категории",area:dkt,auto:ukt,average:pkt,bar:hkt,bottom:fkt,bottomColor:mkt,convert_help:gkt,copied:vkt,copy:ykt,count:_kt,counts:bkt,current:wkt,dashed:xkt,day:Skt,default:"по умолчанию",difference:Ckt,dotted:$kt,dow:kkt,edit:Ekt,"edit enum":"Изменить категорию","edit file":"Редактировать","end of 10 minutes":"Конец 10 minutes","end of 12 hours":"Конец 12 часов","end of 2 hours":"Конец 2 часов","end of 3 hours":"Конец 3 часов","end of 30 minutes":"Конец 30 minutes","end of 4 hours":"Конец 4 часов","end of 5 minutes":"Конец 5 minutes","end of 6 hours":"Конец 6 часов","end of 8 hours":"Конец 8 часов","end of day":"Конец дня","end of hour":"Конец часа","end of minute":"Конец минуты","end of previous saturday":"конец предыдущей субботы (2 недели)","end of previous sunday":"конец предыдущего воскресенья (2 недели)","end of saturday":"Конец субботы","end of sunday":"Конец недели",false:"null",horizontal:Tkt,i15min:Okt,i1day:Dkt,i1hour:Akt,i30days:Ikt,"ignore 'null'":"Игнорировать 'null'","ignore 'null':":"Игнорировать 'null':","ignore null values":"игнорировать значения null",integral:Mkt,"last value":"пред. значение",left:Pkt,"left colored":"cлева в цвете",leftColor:Nkt,line:Rkt,linear:jkt,lineplot:Lkt,load:zkt,max:Fkt,middle:Bkt,min:Wkt,minmax:Hkt,month:Ukt,new:"новое",no:Vkt,"no null":" без null","non-processed":"необработанный",none:qkt,none_no:Gkt,now:Xkt,null:"null",off:Jkt,onchange:Ykt,"own axis":"собственная ось",percentile:Kkt,polar:Zkt,raw:Qkt,relative:eEt,reload:tEt,"restart script":"Перезапустить скрипт",right:rEt,"right colored":"справа в цвете",rightColor:nEt,role:oEt,save:aEt,"save %s":"сохранить %s",scatterplot:iEt,seconds:sEt,solid:lEt,spline:cEt,standard:dEt,static:"постоянный",steps:uEt,"this month":"этот месяц","this year":"этот год",to:pEt,today:hEt,top:fEt,"top over":"Сверху над","top under":"Сверху под",topColor:mEt,total:gEt,true:"пред. значение","update Preview":"Обновить","use 0 instead of null values":"Заменять null на 0",vertical:vEt,weekEurope:yEt,weekUsa:_Et,year:bEt,yes:wEt,ØL:"ØL","ØL - Line thickness":"ØL - толщина линии","ØL Line thickness":"ØL Толщина линии",ØS:"ØS","ØS - Shadow size":"ØS - Размер тени","ØS Shadow size":"ØS Размер тени"},SEt="Reconhecido",CEt="Adicionar",$Et="Agregar",kEt="Tipo",EEt="Todos",TEt="Aparência",OEt="Aplicar",DEt="Auto",AEt="Eixo",IEt="Fundos",MEt="Bar",PEt="Fronteira",NEt="Cancelar",REt="Círculo",jEt="Fechar",LEt="Colapso",zEt="Cor",FEt="cópia de",BEt="Contagens",WEt="Crio",HEt="Dados",UEt="Padrão",VEt="Excluir",qEt="Diálogo",GEt="Editar",XEt="Fim",JEt="Expandir",YEt="Preencher",KEt="Pasta",ZEt="A partir de:",QEt="Funções",e2t="Rede",t2t="Altura",r2t="identidade",n2t="IDs",o2t="Individual",a2t="Instância",i2t="intervalos",s2t="Rótulo",l2t="Etiquetas",c2t="Esquerda",d2t="lenda",u2t="Limites",p2t="Linha",h2t="Ligação",f2t="a Principal",m2t="Marcando",g2t="Marcas",v2t="Max",y2t="Membros",_2t="Min",b2t="Mínimo máximo",w2t="Mais",x2t="Múltiplo",S2t="Nome",C2t="Nenhum",$2t="X-Offset",k2t="Está bem",E2t="Aberto",T2t="Opções",O2t="Orientação",D2t="Outras",A2t="Colar",I2t="Percentil",M2t="Torta",P2t="Pontos",N2t="Gráfico polar",R2t="Poligonal",j2t="Presets",L2t="Em processamento",z2t="Alcance",F2t="Relativo",B2t="Renomear",W2t="Certo",H2t="Função",U2t="Quarto",V2t="quartos",q2t="Raiz",G2t="Segundos",X2t="Selecione",J2t="Suavização",Y2t="Fonte",K2t="Spline",Z2t="Pilha",Q2t="Passos",eTt="Estilo",tTt="Texto",rTt="Texto:% s",nTt="Tema",oTt="Tempo",aTt="Título",iTt="Tipo",sTt="Unidade",lTt="Atualizar",cTt="Valor",dTt="Largura",uTt="Com",pTt="Sem",hTt="Área",fTt="auto",mTt="média",gTt="Barra",vTt="inferior",yTt="colorido inferior",_Tt='Digite a fórmula como "val / 1000 + 3". Esta fórmula será aplicada a todos os valores do ponto de dados selecionado.',bTt="copiado",wTt="cópia",xTt="contar",STt="contagens",CTt="Valor atual",$Tt="tracejadas",kTt="dia",ETt="diferença",TTt="pontilhado",OTt="Dia da semana",DTt="editar",ATt="horizontal",ITt="15 minutos",MTt="1 dia",PTt="1 hora",NTt="30 dias",RTt="integrante",jTt="esquerda",LTt="colorido esquerdo",zTt="Linha",FTt="linear",BTt="Trama de linha",WTt="carga",HTt="máximo",UTt="meio",VTt="min",qTt="mínimo máximo",GTt="mês",XTt="não",JTt="Nenhum",YTt="Nenhum",KTt="agora",ZTt="fora",QTt="em mudança",eOt="percentil",tOt="Gráfico polar",rOt="cru",nOt="relativo",oOt="recarregar",aOt="certo",iOt="cor clara",sOt="Função",lOt="Salve ",cOt="Parcela de dispersão",dOt="segundos",uOt="sólido",pOt="Spline",hOt="padrão",fOt="Passos",mOt="para",gOt="hoje",vOt="topo",yOt="colorido superior",_Ot="total",bOt="vertical",wOt="fim do dia",xOt="fim de domingo",SOt="ano",COt="sim",$Ot={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"% s atrás","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 segundos","0s":"0 segundos","1 day":"1 dia","1 hour":"1 hora","1 minute":"1 minuto","1 month":"1 mês","1 week":"1 semana","1 year":"1 ano","10 minutes":"10 minutos","10 seconds":"10 segundos","10m":"10 minutos","10minutes":"fim de 10 minutos","10s":"10 segundos","12 hours":"12 horas","12H":"12 horas","12W":"12 semanas","12hours":"fim de 12 horas","14 days":"14 dias","15 minutes":"15 minutos","15 seconds":"15 segundos","15m":"15 minutos","1D":"1 dia","1H":"1 hora","1M":"1 mês","1W":"1 semana","1Y":"1 ano","1hour":"fim de hora","1minute":"fim de minuto","1s":"1 segundo","2 days":"2 dias","2 hours":"2 horas","2 minutes":"2 minutos","2 months":"2 meses","2 weeks":"2 semanas","2 years":"2 anos","20 minutes":"20 minutos","20 seconds":"20 segundos","26W":"26 semanas","2D":"2 dias","2H":"2 horas","2M":"2 meses","2W":"2 semanas","2Y":"2 anos","2hours":"fim de 2 horas","2m":"2 minutos","2s":"2 segundos","3 days":"3 dias","3 hours":"3 horas","3 minutes":"3 minutos","3 months":"3 meses","30 minutes":"30 minutos","30 seconds":"30 segundos","300ms":"300ms","30m":"30 minutos","30minutes":"fim de 30 minutos","30s":"30 segundos","3D":"3 dias","3M":"3 meses","3hours":"fim de 3 horas","3m":"3 minutos","3s":"3 segundos","4 days":"4 dias","4 minutes":"4 minutos","45 minutes":"45 minutos","45m":"45 minutos","4D":"4 dias","4W":"4 semanas","4hours":"fim de 4 horas","4m":"4 minutos","5 minutes":"5 minutos","5 seconds":"5 segundos","500ms":"500ms","5m":"5 minutos","5minutes":"fim de 5 minutos","5s":"5 segundos","6 hours":"6 horas","6 months":"6 meses","60 seconds":"60 segundos","60s":"60 segundos","6H":"6 horas","6M":"6 meses","6hours":"fim de 6 horas","7 days":"7 dias","8W":"8 semanas","8hours":"fim de 8 horas","90 seconds":"90 segundos",Acknowledged:SEt,Add:CEt,"Add line to chart":"Adicionar linha ao gráfico","Add marking line to chart":"Adicionar linha de marcação ao gráfico","Add new line":"Adicionar nova linha","Add new markings":"Adicionar novas marcações","Add new state name":"Adicionar novo nome de estado","Add new value":"Adicionar novo valor","After comma":"Após a vírgula",Aggregate:$Et,"Aggregate for lines":"Agregação para linhas",Aggregation:kEt,"Aggregation:":"Tipo:",All:EEt,"Animation:":"Animação:",Appearance:TEt,Apply:OEt,"Are you sure for closing folder and discard unsaved changes?":"Tem certeza de que deseja fechar a pasta e descartar as alterações não salvas?","Are you sure for delete this line?":"Tem certeza que deseja excluir esta linha?","Are you sure for delete this mark?":"Tem certeza de que deseja excluir esta marca?","Are you sure for delete this preset?":"Tem certeza de que deseja excluir esta predefinição?","Are you sure for loading the chart and discard unsaved changes?":"Tem certeza de que deseja carregar o gráfico e descartar as alterações não salvas?","Are you sure for loading the preset and discard unsaved changes?":"Tem certeza de que deseja carregar a predefinição e descartar as alterações não salvas?","Arrange bools":"Organizar booleanos",Auto:DEt,"Auto (Line or Steps)":"Auto (linha ou etapas)","Auto padding":"Recuo automático","Auto save":"Salvamento automático","Auto-refresh":"Atualização automática","Auto-update:":"Atualização automática:",Axis:AEt,"Background of radar chart":"Plano de fundo do gráfico de radar","Background:":"Fundo:",Backgrounds:IEt,Bar:MEt,"Bar settings":"Configurações da barra","Bars width:":"Largura das barras:",Border:PEt,"Border color:":"Cor da borda:","Border padding":"Preenchimento de borda","Border width":"Largura da borda","Border width:":"Largura da borda:","Bottom, center, inside":"No fundo, no centro, no interior","Bottom, center, outside":"Fundo, centro, fora","Bottom, left":"Inferior esquerdo","Bottom, left, inside":"Parte inferior, esquerda, dentro","Bottom, right":"Canto inferior direito","Bottom, right, inside":"Parte inferior, direita, dentro","Bottom, right, outside":"Parte inferior, direita, fora",Cancel:NEt,"Cannot create unique ID":"Não é possível criar ID exclusivo","Chart Type":"Tipo de gráfico","Chart background":"Plano de fundo do gráfico","Chart background:":"Contexto do gráfico:","Chart size":"Tamanho do gráfico","Chart type":"Tipo de Gráfico","Charts preview":"Visualização de gráficos",Circle:REt,Close:jEt,Collapse:LEt,"Collapse all lines":"Recolher todas as linhas","Collapse all markings":"Recolher todas as marcações",Color:zEt,"Common Y Axis":"Eixo Y comum","Convert formula":"Fórmula de conversão",Copy:FEt,"Copy link to clipboard":"Copiar link para a área de transferência",Counts:BEt,Create:WEt,"Create folder":"Criar pasta","Create new folder":"Criar nova pasta","Create new preset":"Criar uma nova predefinição","Create preset":"Criar predefinição","Custom chart background:":"Fundo de gráfico personalizado:","Custom time format":"Formato de hora personalizado",Data:HEt,Default:UEt,Delete:VEt,"Delete object":"Eliminar objeto","Delete text value":"Excluir valor de texto",Dialog:qEt,"Digits after comma":"Dígitos depois da vírgula","Drag me":"Arraste-me",Edit:GEt,"Edit folder name":"Editar o nome da pasta","Edit options for line %s":"Editar opções para a linha% s","Edit state names":"Editar nomes de estado","Empty preset cannot be saved!":"Predefinição vazia não pode ser salva!","Enable logging for new state":"Ativar registro para novo estado","Enable zoom and pan":"Ativar zoom e panorâmica","Enable zoom and pan:":"Ative o zoom e pan:",End:XEt,"End:":"Fim:","Enter chart name":"Digite o nome do gráfico",Expand:JEt,"Expand all lines":"Expandir todas as linhas","Expand all markings":"Expanda todas as marcações","Export data color":"Cor do botão de exportação de dados",Fill:YEt,"Fill color:":"Cor de preenchimento:","Fill range:":"Faixa de preenchimento:","Fill(0to1)":"Preencher (0 a 1)",Folder:KEt,"Font size":"Tamanho da fonte",From:ZEt,"From line %s":"Da linha %s",Functions:QEt,Grid:e2t,"Grid color":"Cor da grade","Grid color:":"Cor da grade:","Group by":"Grupo por","HH:MM dd.mm":"HH:MM dd.mm",Height:t2t,"Height:":"Altura:","Hide X grid":"Ocultar grade X","Hide Y grid":"Ocultar grade Y","Hide edit button:":"Ocultar botão de edição:","Hide nulls in tooltip":"Ocultar nulos na dica de ferramenta","Hover details":"Detalhes de navegação","Hover details:":"Detalhes do mouse:",ID:r2t,IDs:n2t,"If the current value is not older than X seconds, assume it is still the same.":"Se o valor atual não for mais antigo do que X segundos, assuma que ainda é o mesmo.","In seconds":"Em segundos",Individual:o2t,"Input data":"Dados de entrada","Inside / No lines":"Dentro / Sem linhas","Inside / With lines":"Dentro / Com linhas","Inside end":"Dentro, no final","Inside end bottom":"Dentro, no final, no fundo","Inside end top":"Dentro, no final, em cima","Inside middle":"Dentro, no meio","Inside middle bottom":"Dentro, no meio, embaixo","Inside middle top":"Dentro, no meio, em cima","Inside start":"Dentro, no começo","Inside start bottom":"Dentro, no início, na parte inferior","Inside start top":"Dentro, no começo, no topo",Instance:a2t,"Integral unit":"Unidade integral","Interpolate:":"Interpolar:","Interpolation method":"Método de interpolação",Intervals:i2t,"Invalid object":"Objeto inválido",Label:s2t,"Label color:":"Cor do rótulo:","Label font size:":"Etiquetar tamanho da fonte:",Labels:l2t,"Last changed":"Última modificação",Left:c2t,Legend:d2t,"Legend background":"Fundo da legenda","Legend background:":"Legend background:","Legend columns:":"Colunas da legenda:","Legend opacity (from 0 to 1):":"Opacidade da legenda (de 0 a 1):","Legend text color":"Cor do texto da legenda",Limits:u2t,Line:p2t,"Line ID":"ID da linha","Line Width":"Espessura da linha","Line and area":"Linha e área","Line style":"Estilo de linha",Link:h2t,"Live update every":"Atualização ao vivo a cada","Live update every:":"Atualização ao vivo a cada:","Load without save":"Carregar sem salvar","Loading...":"Carregando...","Lower value or ID":"Menor valor ou ID",Main:f2t,Mark:m2t,Markings:g2t,Max:v2t,"Max:":"Máximo:",Members:y2t,"Middle, left, inside":"Médio, esquerda, dentro","Middle, right, inside":"Médio, direito, dentro","Middle, right, outside":"Médio, direito, fora",Min:_2t,"Min:":"Mínimo:",MinMax:b2t,More:w2t,"Move to folder":"Mover para a pasta",Multiple:x2t,"NULL as":"NULL como",Name:S2t,"Name:":"Nome:","No ID yet":"Sem ID ainda","No background":"Sem fundo","No border:":"Sem borda:","No future":"Sem valores no futuro","No interpolate in hover":"Sem interpolação na dica de ferramenta","No presets created yet":"Nenhuma predefinição criada ainda",None:C2t,Offset:$2t,Ok:k2t,Open:E2t,"Open chart in own window":"Abra o gráfico na própria janela","Open in own window":"Abra na própria janela",Options:T2t,Orientation:O2t,Others:D2t,"Outside / No lines":"Fora / Sem linhas","Outside/ With lines":"Fora / Com linhas",Paste:A2t,Percentile:I2t,Pie:M2t,"Please confirm":"Por favor confirme",Points:P2t,Polar:N2t,Polygonal:R2t,"Predefined background:":"Antecedentes predefinidos:",Presets:j2t,Processing:L2t,"Processing...":"Em processamento...",Range:z2t,"Range:":"Alcance:",Relative:F2t,Rename:B2t,"Rename preset":"Renomear predefinição","Reorder presets in folders":"Reordenar predefinições em pastas","Reset settings":"Redefinir configurações","Reset zoom after idle":"Redefinir o zoom após inatividade",Right:W2t,Role:H2t,Room:U2t,Rooms:V2t,Root:q2t,"Save current preset and load":"Salvar predefinição atual e carregar","Save image button color":"Salvar cor do botão de imagem","Save into:":"Salvar em:","Scatter plot":"Gráfico de dispersão",Seconds:G2t,Select:X2t,"Select ID":"Selecione ID","Select for":"Selecione para","Shadow Size":"Tamanho da sombra","Show controls":"Mostrar controles","Show export data button":"Mostrar botão de exportação de dados","Show labels:":"Mostrar rótulos:","Show legend":"Mostrar legenda","Show legend:":"Mostrar lenda:","Show only in legend":"Mostrar apenas na legenda","Show points":"Mostrar pontos","Show save image button":"Mostrar botão de salvar imagem","Show values":"Mostrar valores",Smoothing:J2t,Source:Y2t,Spline:K2t,Stack:Z2t,"Start:":"Começar:","State value":"valor do estado","State value text":"Texto do valor do estado","Step span:":"Passo:","Step type":"Tipo de etapa","Step type:":"Tipo de etapa:",Steps:Q2t,"Steps on start":"Passos no início",Style:eTt,"System settings":"Configurações de sistema",Text:tTt,"Text X offset":"X-Deslocamento de texto","Text Y offset":"Deslocamento Y do texto","Text by false":"Texto por falso","Text by true":"Texto por verdadeiro","Text color":"Cor do texto","Text position":"Posição de texto","Text size":"Tamanho do texto","Text values not used":"Valores de texto não usados",Texts:rTt,Theme:nTt,"This time offset will be added to the X label by displaying data on the chart":"Este deslocamento de tempo será adicionado ao rótulo X exibindo dados no gráfico","This time offset will be added to the request by reading data from DB":"Este deslocamento de tempo será adicionado à solicitação lendo os dados do banco de dados","Ticks from:":"Use X-ticks de:",Time:oTt,"Time Span":"Intervalo de tempo","Time format":"Formato de hora","Time format:":"Formato do tempo:","Time span":"Intervalo de tempo","Time stamp":"Marca de horário",Title:aTt,"Title color":"Cor do título","Title color:":"Cor do título:","Title position":"Posição do título","Title position:":"Posição do título:","Title size":"Tamanho do título","Title size:":"Tamanho do título:","Title:":"Título:","Top, center, inside":"Topo, centro, dentro","Top, left":"Superior esquerdo","Top, left, inside":"Topo, esquerda, dentro","Top, right":"Canto superior direito","Top, right, inside":"Topo, direito, dentro","Top, right, outside":"Topo, direito, fora",Type:iTt,Unit:sTt,"Units:":"Unidades:",Update:lTt,"Update objects":"Atualizar objetos","Update states":"Estado de atualização","Upper value or ID":"Valor superior ou ID","Use comma":"Use vírgula","Use comma:":"Usar vírgula:","Use state names":"Usar nomes de estado","User defined":"Usuário definido","User defined names:":"Nomes definidos pelo usuário:","Valid time (sec)":"Tempo válido (s)",Value:cTt,Width:dTt,"Width:":"Largura:","Window background":"Fundo da janela","Window background:":"Fundo da janela:",With:uTt,"With border":"Com fronteira","With lines":"Com linhas",Without:pTt,"Without border":"Sem fronteira","Without lines":"Sem linhas","X Axis":"X Axis","X Axis position":"Posição do eixo X","X axis labels color:":"Cor de etiquetas X:","X labels color":"Cor dos rótulos X","X labels size":"Tamanho da fonte X","X ticks color":"Cor X carrapatos","X-Axis ticks":"Carrapatos do X-Axis","X-Label-Offset":"Deslocamento da etiqueta X","X-Offset":"X-Offset","Y Axis":"Eixo Y","Y Axis position":"Posição do eixo Y","Y axis labels color:":"Etiquetas de etiquetas Y:","Y labels color":"Cor dos rótulos Y","Y labels size":"Tamanho da fonte Y","Y ticks color":"Cor dos carrapatos Y","Y-Axis ticks":"Carrapatos do Y-Axis","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Você pode criar uma nova marcação com um "+" à direita.',"You can drag and drop simple lines from the left list.":"Você pode arrastar e soltar linhas simples da lista à esquerda.","add children":"adicionar filhos",area:hTt,auto:fTt,average:mTt,bar:gTt,bottom:vTt,bottomColor:yTt,convert_help:_Tt,copied:bTt,copy:wTt,count:xTt,counts:STt,current:CTt,dashed:$Tt,day:kTt,default:"padrão",difference:ETt,dotted:TTt,dow:OTt,edit:DTt,"edit enum":"editar enum","edit file":"editar arquivo","end of 10 minutes":"fim de 10 minutos","end of 12 hours":"fim de 12 horas","end of 2 hours":"fim de 2 horas","end of 3 hours":"fim de 3 horas","end of 30 minutes":"fim de 30 minutos","end of 4 hours":"fim de 4 horas","end of 5 minutes":"fim de 5 minutos","end of 6 hours":"fim de 6 horas","end of 8 hours":"fim de 8 horas","end of day":"fim do dia","end of hour":"fim de hora","end of minute":"fim de minuto","end of previous saturday":"final do sábado anterior (2 semanas)","end of previous sunday":"final do domingo anterior (2 semanas)","end of saturday":"fim de sábado","end of sunday":"fim de domingo",false:"nulo",horizontal:ATt,i15min:ITt,i1day:MTt,i1hour:PTt,i30days:NTt,"ignore 'null'":"ignore 'null'","ignore 'null':":"ignore 'null':","ignore null values":"ignore valores nulos",integral:RTt,"last value":"último valor",left:jTt,"left colored":"cor esquerda",leftColor:LTt,line:zTt,linear:FTt,lineplot:BTt,load:WTt,max:HTt,middle:UTt,min:VTt,minmax:qTt,month:GTt,new:"Novo",no:XTt,"no null":"& nbsp; nulo","non-processed":"não processado",none:JTt,none_no:YTt,now:KTt,null:"nulo",off:ZTt,onchange:QTt,"own axis":"próprio eixo",percentile:eOt,polar:tOt,raw:rOt,relative:nOt,reload:oOt,"restart script":"reiniciar o script",right:aOt,"right colored":"cor certa",rightColor:iOt,role:sOt,save:lOt,"save %s":"salvar% s",scatterplot:cOt,seconds:dOt,solid:uOt,spline:pOt,standard:hOt,static:"estático",steps:fOt,"this month":"este mês","this year":"este ano",to:mOt,today:gOt,top:vOt,"top over":"mais alto","top under":"top sob",topColor:yOt,total:_Ot,true:"último valor","update Preview":"atualização Visualização","use 0 instead of null values":"use 0 em vez de valores nulos",vertical:bOt,weekEurope:wOt,weekUsa:xOt,year:SOt,yes:COt,ØL:"ØL","ØL - Line thickness":"ØL - Espessura da linha","ØL Line thickness":"Espessura da linha ØL",ØS:"ØS","ØS - Shadow size":"ØS - Tamanho da sombra","ØS Shadow size":"ØS tamanho da sombra"},kOt="Erkend",EOt="Toevoegen",TOt="Totaal",OOt="Type",DOt="Alle",AOt="Uiterlijk",IOt="Toepassen",MOt="Auto",POt="As",NOt="Achtergronden",ROt="Bar",jOt="Grens",LOt="Annuleer",zOt="Cirkel",FOt="Dichtbij",BOt="Ineenstorting",WOt="Kleur",HOt="Kopiëren",UOt="tellingen",VOt="Creëer",qOt="Gegevens",GOt="Standaard",XOt="Verwijderen",JOt="Dialoog",YOt="Bewerk",KOt="Einde",ZOt="Uitbreiden",QOt="Vullen",eDt="Map",tDt="Van:",rDt="Functies",nDt="Raster",oDt="Hoogte",aDt="ID kaart",iDt="IDs",sDt="individu",lDt="Aanleg",cDt="intervallen",dDt="Etiket",uDt="Etiketten",pDt="Links",hDt="Legende",fDt="Grenzen",mDt="Lijn",gDt="Link",vDt="Hoofd",yDt="Markering",_Dt="markeringen",bDt="Max",wDt="leden",xDt="min",SDt="MinMax",CDt="meer",$Dt="Meerdere",kDt="Naam",EDt="Geen",TDt="-X Offset",ODt="OK",DDt="Open",ADt="opties",IDt="Oriëntatie",MDt="Anderen",PDt="Plakken",NDt="percentiel",RDt="Taart",jDt="punten",LDt="Polaire kaart",zDt="Veelhoekig",FDt="presets",BDt="Verwerken",WDt="Bereik",HDt="Familielid",UDt="Hernoemen",VDt="Rechts",qDt="Rol",GDt="Kamer",XDt="Kamers",JDt="Wortel",YDt="seconden",KDt="kiezen",ZDt="smoothing",QDt="Bron",eAt="Spline",tAt="stack",rAt="Stappen",nAt="Stijl",oAt="Tekst",aAt="Teksten",iAt="Thema",sAt="Tijd",lAt="Titel",cAt="Type",dAt="Eenheid",uAt="Bijwerken",pAt="Waarde",hAt="Breedte",fAt="Met",mAt="Zonder",gAt="Gebied",vAt="auto",yAt="gemiddelde",_At="Bar",bAt="bodem",wAt="onderaan gekleurd",xAt='Voer de formule in zoals "val / 1000 + 3". Deze formule wordt toegepast op alle waarden van het geselecteerde datapunt.',SAt="gekopieerd",CAt="kopiëren",$At="graaf",kAt="tellingen",EAt="Huidige waarde",TAt="onderbroken",OAt="dag",DAt="verschil",AAt="gestippeld",IAt="Dag van de week",MAt="bewerking",PAt="horizontaal",NAt="15 minuten",RAt="1 dag",jAt="1 uur",LAt="30 dagen",zAt="integraal",FAt="links",BAt="links gekleurd",WAt="Lijn",HAt="lineair",UAt="Lijnplot",VAt="laden",qAt="max",GAt="midden-",XAt="min",JAt="MinMax",YAt="maand",KAt="Nee",ZAt="geen",QAt="geen",eIt="nu",tIt="uit",rIt="over verandering",nIt="percentiel",oIt="Polaire kaart",aIt="rauw",iIt="familielid",sIt="herladen",lIt="rechts",cIt="rechts gekleurd",dIt="rol",uIt="opslaan",pIt="Scatterplot",hIt="seconden",fIt="solide",mIt="spline",gIt="standaard-",vIt="Stappen",yIt="naar",_It="vandaag",bIt="top",wIt="bovenaan gekleurd",xIt="totaal",SIt="verticaal",CIt="einde van de dag",$It="einde van zondag",kIt="jaar",EIt="Ja",TIt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"% s geleden","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 seconden","0s":"0 seconden","1 day":"1 dag","1 hour":"1 uur","1 minute":"1 minuut","1 month":"1 maand","1 week":"1 week","1 year":"1 jaar","10 minutes":"10 minuten","10 seconds":"10 seconden","10m":"10 minuten","10minutes":"einde van 10 minuten","10s":"10 seconden","12 hours":"12 uren","12H":"12 uren","12W":"12 weken","12hours":"einde van 12 uur","14 days":"14 dagen","15 minutes":"15 minuten","15 seconds":"15 seconden","15m":"15 minuten","1D":"1 dag","1H":"1 uur","1M":"1 maand","1W":"1 week","1Y":"1 jaar","1hour":"einde van het uur","1minute":"einde van de minuut","1s":"1 seconde","2 days":"2 dagen","2 hours":"twee uur","2 minutes":"2 minuten","2 months":"2 maanden","2 weeks":"2 weken","2 years":"2 jaar","20 minutes":"20 minuten","20 seconds":"20 seconden","26W":"26 weken","2D":"2 dagen","2H":"twee uur","2M":"2 maanden","2W":"2 weken","2Y":"2 jaar","2hours":"einde van 2 uur","2m":"2 minuten","2s":"2 seconden","3 days":"3 dagen","3 hours":"3 uur","3 minutes":"3 minuten","3 months":"3 maanden","30 minutes":"30 minuten","30 seconds":"30 seconden","300ms":"300ms","30m":"30 minuten","30minutes":"einde van 30 minuten","30s":"30 seconden","3D":"3 dagen","3M":"3 maanden","3hours":"einde van 3 uur","3m":"3 minuten","3s":"3 seconden","4 days":"4 dagen","4 minutes":"4 minuten","45 minutes":"45 minuten","45m":"45 minuten","4D":"4 dagen","4W":"4 weken","4hours":"einde van 4 uur","4m":"4 minuten","5 minutes":"5 minuten","5 seconds":"5 seconden","500ms":"500ms","5m":"5 minuten","5minutes":"einde van 5 minuten","5s":"5 seconden","6 hours":"6 uur","6 months":"6 maanden","60 seconds":"60 seconden","60s":"60 seconden","6H":"6 uur","6M":"6 maanden","6hours":"einde van 6 uur","7 days":"7 dagen","8W":"8 weken","8hours":"einde van 8 uur","90 seconds":"90 seconden",Acknowledged:kOt,Add:EOt,"Add line to chart":"Voeg lijn toe aan diagram","Add marking line to chart":"Voeg een markeringslijn toe aan de grafiek","Add new line":"Voeg een nieuwe regel toe","Add new markings":"Voeg nieuwe markeringen toe","Add new state name":"Nieuwe staatsnaam toevoegen","Add new value":"Nieuwe waarde toevoegen","After comma":"Na een komma",Aggregate:TOt,"Aggregate for lines":"Aggregatie voor lijnen",Aggregation:OOt,"Aggregation:":"Type:",All:DOt,"Animation:":"animatie:",Appearance:AOt,Apply:IOt,"Are you sure for closing folder and discard unsaved changes?":"Weet u zeker dat u de map wilt sluiten en de niet-opgeslagen wijzigingen wilt verwijderen?","Are you sure for delete this line?":"Weet u zeker dat u deze regel wilt verwijderen?","Are you sure for delete this mark?":"Weet u zeker dat u deze markering wilt verwijderen?","Are you sure for delete this preset?":"Weet u zeker dat u deze voorinstelling wilt verwijderen?","Are you sure for loading the chart and discard unsaved changes?":"Weet u zeker dat u de grafiek wilt laden en niet-opgeslagen wijzigingen wilt verwijderen?","Are you sure for loading the preset and discard unsaved changes?":"Weet u zeker dat u de voorinstelling wilt laden en niet-opgeslagen wijzigingen wilt verwijderen?","Arrange bools":"Booleans regelen",Auto:MOt,"Auto (Line or Steps)":"Auto (lijn of stappen)","Auto padding":"Automatisch inspringen","Auto save":"Automatisch opslaan","Auto-refresh":"Automatisch vernieuwen","Auto-update:":"Auto update:",Axis:POt,"Background of radar chart":"Achtergrond van radargrafiek","Background:":"Achtergrond:",Backgrounds:NOt,Bar:ROt,"Bar settings":"Bar-instellingen","Bars width:":"Staaf breedte:",Border:jOt,"Border color:":"Rand kleur:","Border padding":"Rand opvulling","Border width":"Grensbreedte","Border width:":"Grensbreedte:","Bottom, center, inside":"Onder, midden, binnen","Bottom, center, outside":"Onder, midden, buiten","Bottom, left":"Linksonder","Bottom, left, inside":"Onder, links, binnen","Bottom, right":"Rechts onder","Bottom, right, inside":"Onder, rechts, binnen","Bottom, right, outside":"Onder, rechts, buiten",Cancel:LOt,"Cannot create unique ID":"Kan geen unieke ID aanmaken","Chart Type":"Diagramtype","Chart background":"Grafiek achtergrond","Chart background:":"Grafiek achtergrond:","Chart size":"Grootte van de grafiek","Chart type":"Grafiektype","Charts preview":"Grafiekvoorbeeld",Circle:zOt,Close:FOt,Collapse:BOt,"Collapse all lines":"Vouw alle regels samen","Collapse all markings":"Vouw alle markeringen samen",Color:WOt,"Common Y Axis":"Gemeenschappelijke Y-as","Convert formula":"Conversie formule",Copy:HOt,"Copy link to clipboard":"Kopieer link naar klembord",Counts:UOt,Create:VOt,"Create folder":"Map aanmaken","Create new folder":"Maak een nieuwe map","Create new preset":"Maak een nieuwe voorinstelling","Create preset":"Maak een voorinstelling","Custom chart background:":"Aangepaste grafiek achtergrond:","Custom time format":"Aangepast tijdformaat",Data:qOt,Default:GOt,Delete:XOt,"Delete object":"Object verwijderen","Delete text value":"Tekstwaarde verwijderen",Dialog:JOt,"Digits after comma":"Cijfers na komma","Drag me":"Sleep me",Edit:YOt,"Edit folder name":"Bewerk mapnaam","Edit options for line %s":"Bewerk opties voor regel% s","Edit state names":"Staatsnamen bewerken","Empty preset cannot be saved!":"Lege presets kunnen niet worden opgeslagen!","Enable logging for new state":"Schakel logboekregistratie in voor nieuwe staat","Enable zoom and pan":"Schakel zoomen en pannen in","Enable zoom and pan:":"Zoom en pan inschakelen:",End:KOt,"End:":"Einde:","Enter chart name":"Voer de diagramnaam in",Expand:ZOt,"Expand all lines":"Vouw alle regels uit","Expand all markings":"Vouw alle markeringen uit","Export data color":"Knopkleur gegevens exporteren",Fill:QOt,"Fill color:":"Opvulkleur:","Fill range:":"Vulbereik:","Fill(0to1)":"Fill (0to1)",Folder:eDt,"Font size":"Lettertypegrootte",From:tDt,"From line %s":"Van regel %s",Functions:rDt,Grid:nDt,"Grid color":"Rasterkleur","Grid color:":"Raster kleur:","Group by":"Groeperen op","HH:MM dd.mm":"UU:MM dd.mm",Height:oDt,"Height:":"Hoogte:","Hide X grid":"Verberg X-raster","Hide Y grid":"Verberg Y-raster","Hide edit button:":"Verberg bewerken knop:","Hide nulls in tooltip":"Verberg null-waarden in tooltip","Hover details":"Beweeg de details","Hover details:":"Hover details:",ID:aDt,IDs:iDt,"If the current value is not older than X seconds, assume it is still the same.":"Als de huidige waarde niet ouder is dan X seconden, neem dan aan dat deze nog steeds hetzelfde is.","In seconds":"In seconden",Individual:sDt,"Input data":"Invoergegevens","Inside / No lines":"Binnenkant / Geen regels","Inside / With lines":"Binnen / met lijnen","Inside end":"Binnen, aan het einde","Inside end bottom":"Binnen, aan het einde, onderaan","Inside end top":"Binnen, aan het einde, bovenop","Inside middle":"Binnen, in het midden","Inside middle bottom":"Binnen, in het midden, onderaan","Inside middle top":"Binnen, in het midden, bovenaan","Inside start":"Binnen, aan het begin","Inside start bottom":"Binnen, aan het begin, aan de onderkant","Inside start top":"Binnen, aan het begin, bovenop",Instance:lDt,"Integral unit":"Integrale eenheid","Interpolate:":"Interpoleren:","Interpolation method":"Interpolatie methode:",Intervals:cDt,"Invalid object":"Ongeldig object",Label:dDt,"Label color:":"Label kleur:","Label font size:":"Label lettergrootte:",Labels:uDt,"Last changed":"Laatst gewijzigd",Left:pDt,Legend:hDt,"Legend background":"Legenda achtergrond","Legend background:":"Legenda achtergrond:","Legend columns:":"Legenda kolommen:","Legend opacity (from 0 to 1):":"Legenda opaciteit (van 0 tot 1):","Legend text color":"Tekstkleur legenda",Limits:fDt,Line:mDt,"Line ID":"Lijn-ID","Line Width":"Lijnbreedte","Line and area":"Lijn en gebied","Line style":"Lijnstijl",Link:gDt,"Live update every":"Live update elke","Live update every:":"Live update elke:","Load without save":"Laden zonder opslaan","Loading...":"Bezig met laden...","Lower value or ID":"Lagere waarde of ID",Main:vDt,Mark:yDt,Markings:_Dt,Max:bDt,"Max:":"maximaal:",Members:wDt,"Middle, left, inside":"Midden, links, binnenkant","Middle, right, inside":"Midden, rechts, binnenkant","Middle, right, outside":"Midden, rechts, buiten",Min:xDt,"Min:":"Minimum:",MinMax:SDt,More:CDt,"Move to folder":"Verplaats naar map",Multiple:$Dt,"NULL as":"NULL als",Name:kDt,"Name:":"Naam:","No ID yet":"Nog geen ID","No background":"Geen achtergrond","No border:":"Geen grens:","No future":"Geen waarden in de toekomst","No interpolate in hover":"Geen interpolatie in tooltip","No presets created yet":"Er zijn nog geen voorinstellingen gemaakt",None:EDt,Offset:TDt,Ok:ODt,Open:DDt,"Open chart in own window":"Open kaart in eigen venster","Open in own window":"Openen in eigen raam",Options:ADt,Orientation:IDt,Others:MDt,"Outside / No lines":"Buiten / Geen lijnen","Outside/ With lines":"Buiten / met lijnen",Paste:PDt,Percentile:NDt,Pie:RDt,"Please confirm":"Bevestig alstublieft",Points:jDt,Polar:LDt,Polygonal:zDt,"Predefined background:":"Voorgedefinieerde achtergrond:",Presets:FDt,Processing:BDt,"Processing...":"Verwerken...",Range:WDt,"Range:":"bereik:",Relative:HDt,Rename:UDt,"Rename preset":"Hernoem preset","Reorder presets in folders":"Voorinstellingen in mappen opnieuw ordenen","Reset settings":"Reset instellingen","Reset zoom after idle":"Zoom opnieuw instellen na inactiviteit",Right:VDt,Role:qDt,Room:GDt,Rooms:XDt,Root:JDt,"Save current preset and load":"Huidige voorinstelling opslaan en laden","Save image button color":"Bewaar de kleur van de afbeeldingsknop","Save into:":"Bewaar in:","Scatter plot":"Scatterplot",Seconds:YDt,Select:KDt,"Select ID":"Selecteer ID","Select for":"Selecteer voor","Shadow Size":"Schaduwgrootte","Show controls":"Bedieningselementen weergeven","Show export data button":"Knop Exportgegevens weergeven","Show labels:":"Toon labels:","Show legend":"Legenda weergeven","Show legend:":"Legenda weergeven:","Show only in legend":"Alleen in legenda weergeven","Show points":"Toon punten","Show save image button":"Toon knop afbeelding opslaan","Show values":"Toon waarden",Smoothing:ZDt,Source:QDt,Spline:eAt,Stack:tAt,"Start:":"Begin:","State value":"Staat waarde","State value text":"Staat waarde tekst","Step span:":"Stap overspanning:","Step type":"Stap type","Step type:":"Stap type:",Steps:rAt,"Steps on start":"Stappen bij het starten",Style:nAt,"System settings":"Systeem instellingen",Text:oAt,"Text X offset":"Tekst X-offset","Text Y offset":"Tekst Y-offset","Text by false":"Tekst door vals","Text by true":"Tekst door waar","Text color":"Tekst kleur","Text position":"Tekstpositie","Text size":"Lettergrootte","Text values not used":"Tekstwaarden worden niet gebruikt",Texts:aAt,Theme:iAt,"This time offset will be added to the X label by displaying data on the chart":"Deze tijdsverschuiving wordt toegevoegd aan het X-label door gegevens op de kaart weer te geven","This time offset will be added to the request by reading data from DB":"Deze tijdverschuiving wordt aan het verzoek toegevoegd door gegevens uit DB te lezen","Ticks from:":"Gebruik X-ticks van:",Time:sAt,"Time Span":"Tijdspanne","Time format":"Tijd formaat","Time format:":"Tijd formaat:","Time span":"Tijdspanne","Time stamp":"Tijdstempel",Title:lAt,"Title color":"Titel kleur","Title color:":"Titel kleur:","Title position":"Titelpositie","Title position:":"Titel positie:","Title size":"Titel grootte","Title size:":"Titel grootte:","Title:":"Titel:","Top, center, inside":"Boven, midden, binnenkant","Top, left":"Linksboven","Top, left, inside":"Boven, links, binnen","Top, right":"Rechtsboven","Top, right, inside":"Boven, rechts, binnen","Top, right, outside":"Boven, rechts, buiten",Type:cAt,Unit:dAt,"Units:":"units:",Update:uAt,"Update objects":"Objecten bijwerken","Update states":"Status bijwerken","Upper value or ID":"Hoogste waarde of ID","Use comma":"Gebruik een komma","Use comma:":"Gebruik komma:","Use state names":"Gebruik staatsnamen","User defined":"Gebruiker gedefinieerde","User defined names:":"Door de gebruiker gedefinieerde namen:","Valid time (sec)":"Geldige tijd (sec)",Value:pAt,Width:hAt,"Width:":"Breedte:","Window background":"Venster achtergrond","Window background:":"Venster achtergrond:",With:fAt,"With border":"Met rand","With lines":"Met lijnen",Without:mAt,"Without border":"Zonder rand","Without lines":"Zonder lijnen","X Axis":"X-as","X Axis position":"X-as positie","X axis labels color:":"X labels kleur:","X labels color":"X labels kleur","X labels size":"X lettergrootte","X ticks color":"X tikt kleur","X-Axis ticks":"X-as-teken","X-Label-Offset":"X-label-offset","X-Offset":"X-offset","Y Axis":"Y-as","Y Axis position":"Y-as positie","Y axis labels color:":"Y-labels kleur:","Y labels color":"Y-labels kleur","Y labels size":"Y-lettergrootte","Y ticks color":"Y tikt kleur","Y-Axis ticks":"Y-as tikken","Y-Offset":"Y-offset",'You can create a new markings with a "+" on the right.':'U kunt nieuwe markeringen maken met een "+" aan de rechterkant.',"You can drag and drop simple lines from the left list.":"U kunt eenvoudige regels vanuit de linkerlijst slepen en neerzetten.","add children":"voeg kinderen toe",area:gAt,auto:vAt,average:yAt,bar:_At,bottom:bAt,bottomColor:wAt,convert_help:xAt,copied:SAt,copy:CAt,count:$At,counts:kAt,current:EAt,dashed:TAt,day:OAt,default:"standaard",difference:DAt,dotted:AAt,dow:IAt,edit:MAt,"edit enum":"edit enum","edit file":"bestand bewerken","end of 10 minutes":"einde van 10 minuten","end of 12 hours":"einde van 12 uur","end of 2 hours":"einde van 2 uur","end of 3 hours":"einde van 3 uur","end of 30 minutes":"einde van 30 minuten","end of 4 hours":"einde van 4 uur","end of 5 minutes":"einde van 5 minuten","end of 6 hours":"einde van 6 uur","end of 8 hours":"einde van 8 uur","end of day":"einde van de dag","end of hour":"einde van het uur","end of minute":"einde van de minuut","end of previous saturday":"eind vorige zaterdag (2 weken)","end of previous sunday":"eind vorige zondag (2 weken)","end of saturday":"einde van zaterdag","end of sunday":"einde van zondag",false:"nul",horizontal:PAt,i15min:NAt,i1day:RAt,i1hour:jAt,i30days:LAt,"ignore 'null'":"negeer 'null'","ignore 'null':":"negeer 'null':","ignore null values":"Negeer waarden negeren",integral:zAt,"last value":"laatste waarde",left:FAt,"left colored":"links gekleurd",leftColor:BAt,line:WAt,linear:HAt,lineplot:UAt,load:VAt,max:qAt,middle:GAt,min:XAt,minmax:JAt,month:YAt,new:"nieuwe",no:KAt,"no null":"& nbsp; geen null","non-processed":"niet-verwerkt",none:ZAt,none_no:QAt,now:eIt,null:"nul",off:tIt,onchange:rIt,"own axis":"eigen as",percentile:nIt,polar:oIt,raw:aIt,relative:iIt,reload:sIt,"restart script":"herstart script",right:lIt,"right colored":"rechts gekleurd",rightColor:cIt,role:dIt,save:uIt,"save %s":"bespaar% s",scatterplot:pIt,seconds:hIt,solid:fIt,spline:mIt,standard:gIt,static:"statisch",steps:vIt,"this month":"deze maand","this year":"dit jaar",to:yIt,today:_It,top:bIt,"top over":"opnieuw gedaan","top under":"top onder",topColor:wIt,total:xIt,true:"laatste waarde","update Preview":"voorproefje van de nieuwe versie","use 0 instead of null values":"gebruik 0 in plaats van nulwaarden",vertical:SIt,weekEurope:CIt,weekUsa:$It,year:kIt,yes:EIt,ØL:"ØL","ØL - Line thickness":"ØL - Lijndikte","ØL Line thickness":"ØL Lijndikte",ØS:"Os","ØS - Shadow size":"ØS - Schaduwmaat","ØS Shadow size":"ØS Schaduwmaat"},OIt="Reconnu",DIt="Ajouter",AIt="Agrégat",IIt="Type",MIt="Tout",PIt="Apparence",NIt="Appliquer",RIt="Auto",jIt="Axe",LIt="Arrière-plans",zIt="Bar",FIt="Frontière",BIt="Annuler",WIt="Cercle",HIt="Fermer",UIt="Effondrer",VIt="Couleur",qIt="Copie",GIt="Compte",XIt="Créer",JIt="Les données",YIt="Défaut",KIt="Effacer",ZIt="Dialogue",QIt="modifier",eMt="Fin",tMt="Développer",rMt="Remplir",nMt="Dossier",oMt="De:",aMt="Les fonctions",iMt="la grille",sMt="la taille",lMt="ID",cMt="ID",dMt="Individuel",uMt="Exemple",pMt="Intervalles",hMt="Étiquette",fMt="Étiquettes",mMt="La gauche",gMt="Légende",vMt="Limites",yMt="Ligne",_Mt="Lien",bMt="Principale",wMt="Marquage",xMt="Marquages",SMt="Max",CMt="Membres",$Mt="Min",kMt="Min max",EMt="plus",TMt="Plusieurs",OMt="prénom",DMt="Aucun",AMt="X-Offset",IMt="D'accord",MMt="Ouvrir",PMt="Options",NMt="Orientation",RMt="Autres",jMt="Pâte",LMt="Centile",zMt="Tarte",FMt="Points",BMt="Carte polaire",WMt="Polygonal",HMt="Presets",UMt="Traitement",VMt="Gamme",qMt="Relatif",GMt="Renommer",XMt="Droite",JMt="Rôle",YMt="Chambre",KMt="Pièces",ZMt="Racine",QMt="Secondes",ePt="Sélectionner",tPt="Lissage",rPt="Source",nPt="Spline",oPt="Empiler",aPt="Pas",iPt="Style",sPt="Texte",lPt="Les textes",cPt="Thème",dPt="Temps",uPt="Titre",pPt="Type",hPt="Unité",fPt="Mettre à jour",mPt="Valeur",gPt="Largeur",vPt="Avec",yPt="Sans pour autant",_Pt="Région",bPt="auto",wPt="moyenne",xPt="Bar",SPt="bas",CPt="fond coloré",$Pt='Entrez la formule comme "val / 1000 + 3". Cette formule sera appliquée à toutes les valeurs du point de données sélectionné.',kPt="copié",EPt="copie",TPt="compter",OPt="compte",DPt="Valeur actuelle",APt="brisé",IPt="journée",MPt="différence",PPt="pointé",NPt="Jour de la semaine",RPt="modifier",jPt="horizontal",LPt="15 minutes",zPt="Un jour",FPt="1 heure",BPt="30 jours",WPt="intégral",HPt="la gauche",UPt="laissé coloré",VPt="Ligne",qPt="linéaire",GPt="Graphique linéaire",XPt="charge",JPt="max",YPt="milieu",KPt="min",ZPt="min max",QPt="mois",eNt="non",tNt="aucun",rNt="rien",nNt="à présent",oNt="de",aNt="sur le changement",iNt="centile",sNt="Carte polaire",lNt="brut",cNt="relatif",dNt="recharger",uNt="droite",pNt="couleur droite",hNt="rôle",fNt="enregistrer",mNt="Scatter plot",gNt="secondes",vNt="solide",yNt="Spline",_Nt="la norme",bNt="Pas",wNt="à",xNt="aujourd'hui",SNt="Haut",CNt="top coloré",$Nt="total",kNt="verticale",ENt="fin de la journée",TNt="fin de dimanche",ONt="an",DNt="Oui",ANt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"il y a% s","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 seconde","0s":"0 seconde","1 day":"Un jour","1 hour":"1 heure","1 minute":"1 minute","1 month":"1 mois","1 week":"1 semaine","1 year":"1 an","10 minutes":"10 minutes","10 seconds":"10 secondes","10m":"10 minutes","10minutes":"fin de 10 minutes","10s":"10 secondes","12 hours":"12 heures","12H":"12 heures","12W":"12 semaines","12hours":"fin de 12 heures","14 days":"14 jours","15 minutes":"15 minutes","15 seconds":"15 secondes","15m":"15 minutes","1D":"Un jour","1H":"1 heure","1M":"1 mois","1W":"1 semaine","1Y":"1 an","1hour":"fin de l'heure","1minute":"fin de minute","1s":"1 seconde","2 days":"2 jours","2 hours":"2 heures","2 minutes":"2 minutes","2 months":"2 mois","2 weeks":"2 semaines","2 years":"2 ans","20 minutes":"20 minutes","20 seconds":"20 secondes","26W":"26 semaines","2D":"2 jours","2H":"2 heures","2M":"2 mois","2W":"2 semaines","2Y":"2 ans","2hours":"fin de 2 heures","2m":"2 minutes","2s":"2 secondes","3 days":"3 jours","3 hours":"3 heures","3 minutes":"3 minutes","3 months":"3 mois","30 minutes":"30 minutes","30 seconds":"30 secondes","300ms":"300ms","30m":"30 minutes","30minutes":"fin de 30 minutes","30s":"30 secondes","3D":"3 jours","3M":"3 mois","3hours":"fin de 3 heures","3m":"3 minutes","3s":"3 secondes","4 days":"4 jours","4 minutes":"4 minutes","45 minutes":"45 minutes","45m":"45 minutes","4D":"4 jours","4W":"4 semaines","4hours":"fin de 4 heures","4m":"4 minutes","5 minutes":"5 minutes","5 seconds":"5 secondes","500ms":"500ms","5m":"5 minutes","5minutes":"fin de 5 minutes","5s":"5 secondes","6 hours":"6 heures","6 months":"6 mois","60 seconds":"60 secondes","60s":"60 secondes","6H":"6 heures","6M":"6 mois","6hours":"fin de 6 heures","7 days":"7 jours","8W":"8 semaines","8hours":"fin de 8 heures","90 seconds":"90 secondes",Acknowledged:OIt,Add:DIt,"Add line to chart":"Ajouter une ligne au graphique","Add marking line to chart":"Ajouter une ligne de marquage au graphique","Add new line":"Ajouter une nouvelle ligne","Add new markings":"Ajouter de nouvelles marques","Add new state name":"Ajouter un nouveau nom d'état","Add new value":"Ajouter une nouvelle valeur","After comma":"Après la virgule",Aggregate:AIt,"Aggregate for lines":"Agrégation pour les lignes",Aggregation:IIt,"Aggregation:":"Type:",All:MIt,"Animation:":"Animation:",Appearance:PIt,Apply:NIt,"Are you sure for closing folder and discard unsaved changes?":"Êtes-vous sûr de vouloir fermer le dossier et d’ignorer les modifications non enregistrées ?","Are you sure for delete this line?":"Êtes-vous sûr de vouloir supprimer cette ligne?","Are you sure for delete this mark?":"Êtes-vous sûr de vouloir supprimer cette marque?","Are you sure for delete this preset?":"Êtes-vous sûr de vouloir supprimer ce préréglage?","Are you sure for loading the chart and discard unsaved changes?":"Êtes-vous sûr de vouloir charger le graphique et d’ignorer les modifications non enregistrées ?","Are you sure for loading the preset and discard unsaved changes?":"Êtes-vous sûr de vouloir charger le préréglage et d’ignorer les modifications non enregistrées ?","Arrange bools":"Organiser les booléens",Auto:RIt,"Auto (Line or Steps)":"Auto (ligne ou pas)","Auto padding":"Retrait automatique","Auto save":"Sauvegarde automatique","Auto-refresh":"Actualisation automatique","Auto-update:":"Mise à jour automatique:",Axis:jIt,"Background of radar chart":"Fond de carte radar","Background:":"Contexte:",Backgrounds:LIt,Bar:zIt,"Bar settings":"Paramètres du bar","Bars width:":"Largeur des barres:",Border:FIt,"Border color:":"Couleur de la bordure:","Border padding":"Rembourrage de la bordure","Border width":"Largeur de la bordure","Border width:":"Largeur de la bordure:","Bottom, center, inside":"Bas, centre, intérieur","Bottom, center, outside":"Bas, centre, extérieur","Bottom, left":"En bas à gauche","Bottom, left, inside":"Bas, gauche, intérieur","Bottom, right":"En bas à droite","Bottom, right, inside":"En bas, à droite, à l'intérieur","Bottom, right, outside":"En bas, à droite, à l'extérieur",Cancel:BIt,"Cannot create unique ID":"Impossible de créer un identifiant unique","Chart Type":"Type de graphique","Chart background":"Fond de graphique","Chart background:":"Arrière-plan du graphique","Chart size":"Taille du graphique","Chart type":"Type de graphique","Charts preview":"Aperçu des graphiques",Circle:WIt,Close:HIt,Collapse:UIt,"Collapse all lines":"Réduire toutes les lignes","Collapse all markings":"Réduire toutes les marques",Color:VIt,"Common Y Axis":"Axe Y commun","Convert formula":"Formule de conversion",Copy:qIt,"Copy link to clipboard":"Copier le lien dans le presse-papiers",Counts:GIt,Create:XIt,"Create folder":"Créer le dossier","Create new folder":"Créer un nouveau dossier","Create new preset":"Créer un nouveau préréglage","Create preset":"Créer un préréglage","Custom chart background:":"Arrière-plan de graphique personnalisé:","Custom time format":"Format d'heure personnalisé",Data:JIt,Default:YIt,Delete:KIt,"Delete object":"Supprimer un objet","Delete text value":"Supprimer la valeur du texte",Dialog:ZIt,"Digits after comma":"Chiffres après virgule","Drag me":"Tire moi",Edit:QIt,"Edit folder name":"Modifier le nom du dossier","Edit options for line %s":"Modifier les options pour la ligne% s","Edit state names":"Modifier les noms d'état","Empty preset cannot be saved!":"Un préréglage vide ne peut pas être enregistré !","Enable logging for new state":"Activer la journalisation pour le nouvel état","Enable zoom and pan":"Activer le zoom et le panoramique","Enable zoom and pan:":"Activer le zoom et le panoramique:",End:eMt,"End:":"Fin:","Enter chart name":"Entrez le nom du diagramme",Expand:tMt,"Expand all lines":"Développer toutes les lignes","Expand all markings":"Développer toutes les marques","Export data color":"Couleur du bouton Exporter les données",Fill:rMt,"Fill color:":"La couleur de remplissage:","Fill range:":"Remplir gamme:","Fill(0to1)":"Remplir (0to1)",Folder:nMt,"Font size":"Taille de police",From:oMt,"From line %s":"De la ligne %s",Functions:aMt,Grid:iMt,"Grid color":"Couleur de la grille","Grid color:":"Couleur de la grille:","Group by":"Par groupe","HH:MM dd.mm":"HH:MM jj.mm",Height:sMt,"Height:":"La taille:","Hide X grid":"Masquer la grille X","Hide Y grid":"Masquer la grille Y","Hide edit button:":"Masquer le bouton d'édition:","Hide nulls in tooltip":"Masquer les valeurs nulles dans l'info-bulle","Hover details":"Survolez les détails","Hover details:":"Hover détails:",ID:lMt,IDs:cMt,"If the current value is not older than X seconds, assume it is still the same.":"Si la valeur actuelle n'est pas plus ancienne que X secondes, supposez qu'elle est toujours la même.","In seconds":"En secondes",Individual:dMt,"Input data":"Des données d'entrée","Inside / No lines":"À l'intérieur / Pas de lignes","Inside / With lines":"À l'intérieur / Avec des lignes","Inside end":"À l'intérieur, à la fin","Inside end bottom":"À l'intérieur, à la fin, en bas","Inside end top":"À l'intérieur, à la fin, au-dessus","Inside middle":"A l'intérieur, au milieu","Inside middle bottom":"A l'intérieur, au milieu, en bas","Inside middle top":"A l'intérieur, au milieu, en haut","Inside start":"À l'intérieur, au début","Inside start bottom":"À l'intérieur, au début, en bas","Inside start top":"À l'intérieur, au début, au-dessus",Instance:uMt,"Integral unit":"Unité intégrale","Interpolate:":"Interpoler:","Interpolation method":"Méthode d'interpolation",Intervals:pMt,"Invalid object":"Objet invalide",Label:hMt,"Label color:":"Étiquette couleur:","Label font size:":"Étiquette taille de la police:",Labels:fMt,"Last changed":"Dernière modification",Left:mMt,Legend:gMt,"Legend background":"Arrière-plan de la légende","Legend background:":"Contexte de la légende","Legend columns:":"Colonnes de légende:","Legend opacity (from 0 to 1):":"Opacité de la légende (de 0 à 1):","Legend text color":"Couleur du texte de la légende",Limits:vMt,Line:yMt,"Line ID":"Id de ligne","Line Width":"Largeur de ligne","Line and area":"Ligne et zone","Line style":"Style de ligne",Link:_Mt,"Live update every":"Mise à jour en direct tous les","Live update every:":"Mise à jour en direct tous les:","Load without save":"Charger sans sauvegarder","Loading...":"Chargement...","Lower value or ID":"Valeur inférieure ou ID",Main:bMt,Mark:wMt,Markings:xMt,Max:SMt,"Max:":"Maximum:",Members:CMt,"Middle, left, inside":"Milieu, gauche, intérieur","Middle, right, inside":"Moyen, droit, intérieur","Middle, right, outside":"Moyen, droit, dehors",Min:$Mt,"Min:":"Le minimum:",MinMax:kMt,More:EMt,"Move to folder":"Déplacer vers un dossier",Multiple:TMt,"NULL as":"NULL comme",Name:OMt,"Name:":"Prénom:","No ID yet":"Pas encore d'ID ","No background":"Pas de fond","No border:":"Pas de frontière:","No future":"Aucune valeur à l'avenir","No interpolate in hover":"Aucune interpolation dans l'info-bulle","No presets created yet":"Aucun préréglage n'a encore été créé",None:DMt,Offset:AMt,Ok:IMt,Open:MMt,"Open chart in own window":"Ouvrir le graphique dans sa propre fenêtre","Open in own window":"Ouvrir dans sa propre fenêtre",Options:PMt,Orientation:NMt,Others:RMt,"Outside / No lines":"Extérieur / Pas de lignes","Outside/ With lines":"Extérieur / Avec lignes",Paste:jMt,Percentile:LMt,Pie:zMt,"Please confirm":"Veuillez confirmer",Points:FMt,Polar:BMt,Polygonal:WMt,"Predefined background:":"Arrière-plan prédéfini:",Presets:HMt,Processing:UMt,"Processing...":"En traitement...",Range:VMt,"Range:":"Gamme:",Relative:qMt,Rename:GMt,"Rename preset":"Renommer le préréglage","Reorder presets in folders":"Réorganiser les préréglages dans les dossiers","Reset settings":"Réinitialiser les options","Reset zoom after idle":"Réinitialiser le zoom après inactivité",Right:XMt,Role:JMt,Room:YMt,Rooms:KMt,Root:ZMt,"Save current preset and load":"Enregistrer le préréglage actuel et charger","Save image button color":"Couleur du bouton Enregistrer l'image","Save into:":"Enregistrer dans:","Scatter plot":"Nuage de points",Seconds:QMt,Select:ePt,"Select ID":"Sélectionner un identifiant","Select for":"Sélectionnez pour","Shadow Size":"Taille de l'ombre","Show controls":"Afficher les contrôles","Show export data button":"Afficher le bouton d'exportation des données","Show labels:":"Afficher les étiquettes:","Show legend":"Afficher la légende","Show legend:":"Afficher la légende:","Show only in legend":"Afficher uniquement dans la légende","Show points":"Afficher les points","Show save image button":"Afficher le bouton d'enregistrement de l'image","Show values":"Afficher les valeurs",Smoothing:tPt,Source:rPt,Spline:nPt,Stack:oPt,"Start:":"Début:","State value":"Valeur d'état","State value text":"Texte de la valeur d'état","Step span:":"Étape span:","Step type":"Type d'étape","Step type:":"Type d'étape:",Steps:aPt,"Steps on start":"Étapes au démarrage",Style:iPt,"System settings":"Les paramètres du système",Text:sPt,"Text X offset":"X-Décalage de texte","Text Y offset":"Décalage Y du texte","Text by false":"Texte par faux","Text by true":"Texte par vrai","Text color":"Couleur du texte","Text position":"Position du texte","Text size":"Taille du texte","Text values not used":"Valeurs de texte non utilisées",Texts:lPt,Theme:cPt,"This time offset will be added to the X label by displaying data on the chart":"Ce décalage temporel sera ajouté à l'étiquette X en affichant les données sur le graphique","This time offset will be added to the request by reading data from DB":"Ce décalage horaire sera ajouté à la requête en lisant les données de la base de données","Ticks from:":"Utilisez les X-ticks de:",Time:dPt,"Time Span":"Durée","Time format":"Format de l'heure","Time format:":"Format de l'heure:","Time span":"Durée","Time stamp":"Horodatage",Title:uPt,"Title color":"Couleur du titre","Title color:":"Couleur du titre:","Title position":"Position du titre","Title position:":"Titre du poste:","Title size":"Taille du titre","Title size:":"Taille du titre:","Title:":"Titre:","Top, center, inside":"Haut, centre, intérieur","Top, left":"En haut à gauche","Top, left, inside":"Haut, gauche, intérieur","Top, right":"En haut à droite","Top, right, inside":"En haut, à droite, à l'intérieur","Top, right, outside":"Haut, droit, dehors",Type:pPt,Unit:hPt,"Units:":"Unités:",Update:fPt,"Update objects":"Mettre à jour","Update states":"Mettre à jour","Upper value or ID":"Valeur supérieure ou ID","Use comma":"Utilisez une virgule","Use comma:":"Utilisez une virgule:","Use state names":"Utiliser les noms d'état","User defined":"Défini par l'utilisateur","User defined names:":"Noms définis par l'utilisateur:","Valid time (sec)":"Temps valide (sec)",Value:mPt,Width:gPt,"Width:":"Largeur:","Window background":"Fond de fenêtre","Window background:":"Fond de fenêtre:",With:vPt,"With border":"Avec bordure","With lines":"Avec des lignes",Without:yPt,"Without border":"Sans bordure","Without lines":"Sans lignes","X Axis":"Axe X","X Axis position":"Position de l'axe X","X axis labels color:":"X étiquettes couleur:","X labels color":"Couleur des étiquettes X","X labels size":"X taille de police","X ticks color":"X ticks couleur","X-Axis ticks":"Tiques de l'axe des X","X-Label-Offset":"Décalage de l'étiquette X","X-Offset":"Décalage X","Y Axis":"Axe Y","Y Axis position":"Position de l'axe Y","Y axis labels color:":"Couleur des étiquettes Y:","Y labels color":"Couleur des étiquettes Y","Y labels size":"Taille de police Y","Y ticks color":"Couleur des graduations Y","Y-Axis ticks":"Tiques de l'axe des Y","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Vous pouvez créer un nouveau marquage avec un "+" sur la droite.',"You can drag and drop simple lines from the left list.":"Vous pouvez faire glisser et déposer des lignes simples à partir de la liste de gauche.","add children":"ajouter des enfants",area:_Pt,auto:bPt,average:wPt,bar:xPt,bottom:SPt,bottomColor:CPt,convert_help:$Pt,copied:kPt,copy:EPt,count:TPt,counts:OPt,current:DPt,dashed:APt,day:IPt,default:"défaut",difference:MPt,dotted:PPt,dow:NPt,edit:RPt,"edit enum":"éditer enum","edit file":"modifier le fichier","end of 10 minutes":"fin de 10 minutes","end of 12 hours":"fin de 12 heures","end of 2 hours":"fin de 2 heures","end of 3 hours":"fin de 3 heures","end of 30 minutes":"fin de 30 minutes","end of 4 hours":"fin de 4 heures","end of 5 minutes":"fin de 5 minutes","end of 6 hours":"fin de 6 heures","end of 8 hours":"fin de 8 heures","end of day":"fin de la journée","end of hour":"fin de l'heure","end of minute":"fin de minute","end of previous saturday":"fin du samedi précédent (2 semaines)","end of previous sunday":"fin du dimanche précédent (2 semaines)","end of saturday":"fin de samedi","end of sunday":"fin de dimanche",false:"nul",horizontal:jPt,i15min:LPt,i1day:zPt,i1hour:FPt,i30days:BPt,"ignore 'null'":"ignore 'null'","ignore 'null':":"ignore 'null':","ignore null values":"ignorer les valeurs nulles",integral:WPt,"last value":"dernière valeur",left:HPt,"left colored":"gauche coloré",leftColor:UPt,line:VPt,linear:qPt,lineplot:GPt,load:XPt,max:JPt,middle:YPt,min:KPt,minmax:ZPt,month:QPt,new:"Nouveau",no:eNt,"no null":"& nbsp; non nul","non-processed":"non transformé",none:tNt,none_no:rNt,now:nNt,null:"nul",off:oNt,onchange:aNt,"own axis":"propre axe",percentile:iNt,polar:sNt,raw:lNt,relative:cNt,reload:dNt,"restart script":"redémarrer le script",right:uNt,"right colored":"bonne couleur",rightColor:pNt,role:hNt,save:fNt,"save %s":"enregistrer% s",scatterplot:mNt,seconds:gNt,solid:vNt,spline:yNt,standard:_Nt,static:"statique",steps:bNt,"this month":"ce mois-ci","this year":"cette année",to:wNt,today:xNt,top:SNt,"top over":"dessus","top under":"haut sous",topColor:CNt,total:$Nt,true:"dernière valeur","update Preview":"aperçu de mise à jour","use 0 instead of null values":"utilise 0 au lieu de valeurs nulles",vertical:kNt,weekEurope:ENt,weekUsa:TNt,year:ONt,yes:DNt,ØL:"ØL","ØL - Line thickness":"ØL - Épaisseur de ligne","ØL Line thickness":"ØL Épaisseur de ligne",ØS:"ØS","ØS - Shadow size":"ØS - Taille de l'ombre","ØS Shadow size":"ØS Taille de l'ombre"},INt="Riconosciuto",MNt="Aggiungere",PNt="Aggregato",NNt="Associazione",RNt="Tutti",jNt="Aspetto",LNt="Fare domanda a",zNt="Auto",FNt="Asse",BNt="Sfondi",WNt="Bar",HNt="Confine",UNt="Annulla",VNt="Cerchio",qNt="Vicino",GNt="Crollo",XNt="Colore",JNt="copia",YNt="Conteggio",KNt="Creare",ZNt="Dati",QNt="Predefinito",eRt="Elimina",tRt="Dialogo",rRt="Modifica",nRt="Fine",oRt="Espandere",aRt="Riempire",iRt="Cartella",sRt="A partire da:",lRt="Funzioni",cRt="Griglia",dRt="Altezza",uRt="ID",pRt="ID",hRt="Individuale",fRt="Esempio",mRt="Intervalli",gRt="Etichetta",vRt="Etichette",yRt="Sinistra",_Rt="Leggenda",bRt="Limiti",wRt="Linea",xRt="Collegamento",SRt="Principale",CRt="Marcatura",$Rt="Marcature",kRt="Massimo",ERt="Utenti",TRt="Minimo",ORt="MinMax",DRt="Oltre",ARt="Molteplici",IRt="Nome",MRt="Nessuna",PRt="X-Offset",NRt="Ok",RRt="Aperto",jRt="Opzioni",LRt="Orientamento",zRt="Altri",FRt="Incolla",BRt="percentile",WRt="Torta",HRt="Punti",URt="Carta polare",VRt="Poligonale",qRt="Predefiniti",GRt="in lavorazione",XRt="Gamma",JRt="Parente",YRt="Rinominare",KRt="Destra",ZRt="Ruolo",QRt="Stanza",e5t="Camere",t5t="Radice",r5t="Secondi",n5t="Seleziona",o5t="Smussare",a5t="Fonte",i5t="Spline",s5t="Catasta",l5t="Passi",c5t="Stile",d5t="Testo",u5t="Testi",p5t="Tema",h5t="Orario",f5t="Titolo",m5t="genere",g5t="Unità",v5t="Aggiorna",y5t="Valore",_5t="Larghezza",b5t="Con",w5t="Senza",x5t="Area",S5t="auto",C5t="Media",$5t="Barretta",k5t="In basso",E5t="Colorato in basso",T5t='Inserisci la formula come "val / 1000 + 3". Questa formula verrà applicata a tutti i valori del datapoint selezionato.',O5t="copiato",D5t="copia",A5t="contare",I5t="Conteggi",M5t="Valore corrente",P5t="tratteggiata",N5t="Giorno",R5t="differenza",j5t="punteggiato",L5t="Giorno della settimana",z5t="modificare",F5t="orizzontale",B5t="15 minuti",W5t="1 giorno",H5t="1 ora",U5t="30 giorni",V5t="integrante",q5t="sinistra",G5t="Colorato a sinistra",X5t="Linea",J5t="lineare",Y5t="Plot linea",K5t="Carica",Z5t="Massimo",Q5t="In mezzo",e3t="Minimo",t3t="minmax",r3t="Mese",n3t="No",o3t="Nulla",a3t="nessuno",i3t="Adesso",s3t="Spento",l3t="Con cambiamento",c3t="percentile",d3t="Carta polare",u3t="crudo",p3t="Corrispondente",h3t="Ricarica",f3t="destra",m3t="Colorato a destra",g3t="Ruolo",v3t="Salva",y3t="Diagramma di dispersione",_3t="secondi",b3t="solido",w3t="Linguetta",x3t="standard",S3t="Passi",C3t="per",$3t="Oggi",k3t="In alto",E3t="Colorato in alto",T3t="Totale",O3t="verticale",D3t="Fine del giorno",A3t="Fine della domenica",I3t="Anno",M3t="Sì",P3t={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s fa","ØL":"ØL","ØS":"ØS","0 seconds":"0 secondi","0s":"0 secondi","1 day":"1 giorno","1 hour":"1 ora","1 minute":"1 minuto","1 month":"1 mese","1 week":"1 settimana","1 year":"1 anno","10 minutes":"10 minuti","10 seconds":"10 secondi","10m":"10 minuti","10minutes":"Fine di 10 minuti","10s":"10 secondi","12 hours":"12 ore","12H":"12 ore","12W":"12 settimane","12hours":"Fine di 12 ore","14 days":"14 giorni","15 minutes":"15 minuti","15 seconds":"15 secondi","15m":"15 minuti","1D":"1 giorno","1H":"1 ora","1M":"1 mese","1W":"1 settimana","1Y":"1 anno","1hour":"Fine dell'ora","1minute":"Fine del minuto","1s":"1 secondo","2 days":"2 giorni","2 hours":"2 ore","2 minutes":"2 minuti","2 months":"2 mesi","2 weeks":"2 settimane","2 years":"2 anni","20 minutes":"20 minuti","20 seconds":"20 secondi","26W":"26 settimane","2D":"2 giorni","2H":"2 ore","2M":"2 mesi","2W":"2 settimane","2Y":"2 anni","2hours":"Fine di 2 ore","2m":"2 minuti","2s":"2 secondi","3 days":"3 giorni","3 hours":"3 ore","3 minutes":"3 minuti","3 months":"3 mesi","30 minutes":"30 minuti","30 seconds":"30 secondi","300ms":"300ms","30m":"30 minuti","30minutes":"Fine di 30 minuti","30s":"30 secondi","3D":"3 giorni","3M":"3 mesi","3hours":"Fine di 3 ore","3m":"3 minuti","3s":"3 secondi","4 days":"4 giorni","4 minutes":"4 minuti","45 minutes":"45 minuti","45m":"45 minuti","4D":"4 giorni","4W":"4 settimane","4hours":"Fine di 4 ore","4m":"4 minuti","5 minutes":"5 minuti","5 seconds":"5 secondi","500ms":"500ms","5m":"5 minuti","5minutes":"Fine di 5 minuti","5s":"5 secondi","6 hours":"6 ore","6 months":"6 mesi","60 seconds":"60 secondi","60s":"60 secondi","6H":"6 ore","6M":"6 mesi","6hours":"Fine di 6 ore","7 days":"7 giorni","8W":"8 settimane","8hours":"Fine di 8 ore","90 seconds":"90 secondi",Acknowledged:INt,Add:MNt,"Add line to chart":"Aggiungi linea al grafico","Add marking line to chart":"Aggiungi una linea di marcatura al grafico","Add new line":"Aggiungi una nuova linea","Add new markings":"Aggiungi nuovi segni","Add new state name":"Aggiungi il nome del nuovo stato","Add new value":"Aggiungi nuovo valore","After comma":"Dopo la virgola",Aggregate:PNt,"Aggregate for lines":"Aggregazione per linee",Aggregation:NNt,"Aggregation:":"Genere:",All:RNt,"Animation:":"Animazione:",Appearance:jNt,Apply:LNt,"Are you sure for closing folder and discard unsaved changes?":"Vuoi chiudere la cartella e ignorare le modifiche non salvate?","Are you sure for delete this line?":"Sei sicuro di cancellare questa riga?","Are you sure for delete this mark?":"Sei sicuro di cancellare questo segno?","Are you sure for delete this preset?":"Sei sicuro di eliminare questo preset?","Are you sure for loading the chart and discard unsaved changes?":"Vuoi caricare il grafico e ignorare le modifiche non salvate?","Are you sure for loading the preset and discard unsaved changes?":"Vuoi caricare il preset e ignorare le modifiche non salvate?","Arrange bools":"Disponi sfere",Auto:zNt,"Auto (Line or Steps)":"Auto (linea o gradini)","Auto padding":"Rientro automatico","Auto save":"Salvataggio automatico","Auto-refresh":"Auto aggiornamento","Auto-update:":"Aggiornamento automatico:",Axis:FNt,"Background of radar chart":"Sfondo del grafico radar","Background:":"Sfondo:",Backgrounds:BNt,Bar:WNt,"Bar settings":"Impostazioni della barra","Bars width:":"Larghezza delle barre:",Border:HNt,"Border color:":"Colore del bordo:","Border padding":"Imbottitura del bordo","Border width":"Larghezza del bordo","Border width:":"Larghezza del bordo:","Bottom, center, inside":"In basso, centrato, interno","Bottom, center, outside":"In basso, centrato, esterno","Bottom, left":"In basso, a sinistra","Bottom, left, inside":"In basso, a sinistra, interno","Bottom, right":"In basso, a destra","Bottom, right, inside":"In basso, a destra, interno","Bottom, right, outside":"In basso, a destra, esterno",Cancel:UNt,"Cannot create unique ID":"Impossibile creare un ID univoco","Chart Type":"Tipo di grafico","Chart background":"Sfondo grafico","Chart background:":"Sfondo del grafico:","Chart size":"Dimensioni del grafico","Chart type":"Tipo di grafico","Charts preview":"Anteprima dei grafici",Circle:VNt,Close:qNt,Collapse:GNt,"Collapse all lines":"Comprimi tutte le righe","Collapse all markings":"Comprimi tutti i contrassegni",Color:XNt,"Common Y Axis":"Asse comune Y","Convert formula":"Formula di conversione",Copy:JNt,"Copy link to clipboard":"Copia il link negli appunti",Counts:YNt,Create:KNt,"Create folder":"Creare una cartella","Create new folder":"Crea una nuova cartella","Create new preset":"Crea nuovo preset","Create preset":"Crea preset","Custom chart background:":"Sfondo grafico personalizzato:","Custom time format":"Formato ora personalizzato",Data:ZNt,Default:QNt,Delete:eRt,"Delete object":"Elimina oggetto","Delete text value":"Elimina il valore del testo",Dialog:tRt,"Digits after comma":"Cifre dopo la virgola","Drag me":"Trascinami",Edit:rRt,"Edit folder name":"Modifica il nome della cartella","Edit options for line %s":"Modifica le opzioni per la riga %s","Edit state names":"Modifica i nomi degli stati","Empty preset cannot be saved!":"Non è possibile salvare il preset vuoto!","Enable logging for new state":"Abilita la registrazione per il nuovo stato","Enable zoom and pan":"Abilita zoom e panoramica","Enable zoom and pan:":"Abilita zoom e panoramica:",End:nRt,"End:":"Fine:","Enter chart name":"Inserisci il nome del grafico",Expand:oRt,"Expand all lines":"Espandi tutte le linee","Expand all markings":"Espandi tutti i segni","Export data color":"Esporta colore pulsante dati",Fill:aRt,"Fill color:":"Colore di riempimento:","Fill range:":"Gamma di riempimento:","Fill(0to1)":"Riempi(0to1)",Folder:iRt,"Font size":"Dimensione del font",From:sRt,"From line %s":"Dalla riga %s",Functions:lRt,Grid:cRt,"Grid color":"Colore griglia","Grid color:":"Colore griglia:","Group by":"Raggruppare per","HH:MM dd.mm":"HH:MM gg.mm",Height:dRt,"Height:":"Altezza:","Hide X grid":"Nascondi griglia X.","Hide Y grid":"Nascondi griglia Y.","Hide edit button:":"Nascondi pulsante di modifica:","Hide nulls in tooltip":"Nascondi i valori nulli nella descrizione comando","Hover details":"Dettagli al passaggio del mouse","Hover details:":"Dettagli al passaggio del mouse:",ID:uRt,IDs:pRt,"If the current value is not older than X seconds, assume it is still the same.":"Se il valore corrente non è più vecchio di X secondi, supponi che sia sempre lo stesso.","In seconds":"In secondi",Individual:hRt,"Input data":"Dati in ingresso","Inside / No lines":"Interno / Senza linea","Inside / With lines":"Interno / Con linee","Inside end":"Dentro, alla fine","Inside end bottom":"Dentro, alla fine, in fondo","Inside end top":"Dentro, alla fine, sopra","Inside middle":"Dentro, in mezzo","Inside middle bottom":"Dentro, in mezzo, in basso","Inside middle top":"Dentro, in mezzo, in alto","Inside start":"All'interno, all'inizio","Inside start bottom":"All'interno, all'inizio, in basso","Inside start top":"Dentro, all'inizio, sopra",Instance:fRt,"Integral unit":"Unità integrale","Interpolate:":"Interpolare:","Interpolation method":"Metodo di interpolazione",Intervals:mRt,"Invalid object":"Oggetto non valido",Label:gRt,"Label color:":"Colore dell'etichetta:","Label font size:":"Dimensione del carattere dell'etichetta:",Labels:vRt,"Last changed":"Ultima modifica",Left:yRt,Legend:_Rt,"Legend background":"Sfondo della legenda","Legend background:":"Sfondo leggenda:","Legend columns:":"Colonne della legenda:","Legend opacity (from 0 to 1):":"Opacità della legenda (da 0 a 1):","Legend text color":"Colore del testo della legenda",Limits:bRt,Line:wRt,"Line ID":"ID linea","Line Width":"Larghezza della linea","Line and area":"Linea e area","Line style":"Stile della linea",Link:xRt,"Live update every":"Aggiornamento live ogni","Live update every:":"Aggiornamento in tempo reale ogni:","Load without save":"Carica senza salvare","Loading...":"Sto caricando...","Lower value or ID":"Valore minimo o ID",Main:SRt,Mark:CRt,Markings:$Rt,Max:kRt,"Max:":"Massimo:",Members:ERt,"Middle, left, inside":"In mezzo, a sinistra, interno","Middle, right, inside":"In mezzo, a destra, interno","Middle, right, outside":"In mezzo, a destra, esterno",Min:TRt,"Min:":"Minimo:",MinMax:ORt,More:DRt,"Move to folder":"Sposta nella cartella",Multiple:ARt,"NULL as":"NULL come",Name:IRt,"Name:":"Nome:","No ID yet":"Nessun ID ancora","No background":"Nessuno sfondo","No border:":"Nessun bordo:","No future":"Nessun valore in futuro","No interpolate in hover":"Nessuna interpolazione nel tooltip","No presets created yet":"Nessun preset ancora creato",None:MRt,Offset:PRt,Ok:NRt,Open:RRt,"Open chart in own window":"Apri il grafico nella propria finestra","Open in own window":"Apri nella propria finestra",Options:jRt,Orientation:LRt,Others:zRt,"Outside / No lines":"Esterno / Senza linea","Outside/ With lines":"Esterno / Con linee",Paste:FRt,Percentile:BRt,Pie:WRt,"Please confirm":"Per favore conferma",Points:HRt,Polar:URt,Polygonal:VRt,"Predefined background:":"Sfondo predefinito:",Presets:qRt,Processing:GRt,"Processing...":"In elaborazione...",Range:XRt,"Range:":"Intervallo:",Relative:JRt,Rename:YRt,"Rename preset":"Rinomina preset","Reorder presets in folders":"Riordina i preset nelle cartelle","Reset settings":"Ripristina l'impostazioni","Reset zoom after idle":"Reimposta lo zoom dopo il periodo di inattività",Right:KRt,Role:ZRt,Room:QRt,Rooms:e5t,Root:t5t,"Save current preset and load":"Salva il preset corrente e carica","Save image button color":"Salva il colore del pulsante dell'immagine","Save into:":"Salva in:","Scatter plot":"Trama a dispersione",Seconds:r5t,Select:n5t,"Select ID":"Seleziona ID","Select for":"Seleziona per","Shadow Size":"Dimensione ombreggatura","Show controls":"Mostra controlli","Show export data button":"Pulsante Mostra dati di esportazione","Show labels:":"Mostra etichette:","Show legend":"Mostra legenda","Show legend:":"Mostra legenda:","Show only in legend":"Mostra solo nella legenda","Show points":"Mostra punti","Show save image button":"Mostra pulsante salva immagine","Show values":"Mostra valori",Smoothing:o5t,Source:a5t,Spline:i5t,Stack:s5t,"Start:":"Inizio:","State value":"Valore statale","State value text":"Testo del valore di stato","Step span:":"Intervallo:","Step type":"Tipo di passo","Step type:":"Tipo di passa:",Steps:l5t,"Steps on start":"Passi all'avvio",Style:c5t,"System settings":"Impostazioni di sistema",Text:d5t,"Text X offset":"X-Offset del testo","Text Y offset":"Offset Y del testo","Text by false":"Testo per falso","Text by true":"Testo per vero","Text color":"Colore del testo","Text position":"Posizione del testo","Text size":"Dimensione del testo","Text values not used":"Valori di testo non utilizzati",Texts:u5t,Theme:p5t,"This time offset will be added to the X label by displaying data on the chart":"Questa differenza di tempo verrà aggiunta all'etichetta X visualizzando i dati sul grafico","This time offset will be added to the request by reading data from DB":"Questo offset temporale verrà aggiunto alla richiesta leggendo i dati dal DB","Ticks from:":"Usa X-tick da:",Time:h5t,"Time Span":"Arco di tempo","Time format":"Formato orario","Time format:":"Formato orario:","Time span":"Arco di tempo","Time stamp":"Data e ora",Title:f5t,"Title color":"Colore del titolo","Title color:":"Colore del titolo:","Title position":"Posizione del titolo","Title position:":"Posizione del titolo:","Title size":"Dimensioni del titolo","Title size:":"Dimensione del titolo:","Title:":"Titolo:","Top, center, inside":"In alto, centrato, interno","Top, left":"In alto, a sinistra","Top, left, inside":"In alto, a sinistra, interno","Top, right":"In alto, a destra","Top, right, inside":"In alto, a destra, interno","Top, right, outside":"In alto, a destra, esterno",Type:m5t,Unit:g5t,"Units:":"Unità:",Update:v5t,"Update objects":"Aggiorna gli Oggetti","Update states":"Stati di aggiornamento","Upper value or ID":"Valore massimo o ID","Use comma":"Usa la virgola","Use comma:":"Usa la virgola:","Use state names":"Usa nomi di stato","User defined":"Definito dall'utente","User defined names:":"Nomi definiti dall'utente:","Valid time (sec)":"Tempo valido (sec)",Value:y5t,Width:_5t,"Width:":"Larghezza:","Window background":"Sfondo della finestra","Window background:":"Sfondo finestra:",With:b5t,"With border":"Con bordo","With lines":"Con linee",Without:w5t,"Without border":"Senza bordo","Without lines":"Senza linee","X Axis":"Asse X.","X Axis position":"Posizione dell'asse X.","X axis labels color:":"Colore etichette asso X:","X labels color":"Colore delle etichette X.","X labels size":"Dimensione carattere X","X ticks color":"Colore delle zecche X.","X-Axis ticks":"Interasse Asse X","X-Label-Offset":"Offset etichetta X","X-Offset":"X-Offset","Y Axis":"Asse Y.","Y Axis position":"Posizione dell'asse Y.","Y axis labels color:":"Colore etichette asso Y:","Y labels color":"Colore etichette Y","Y labels size":"Y dimensione del carattere","Y ticks color":"Y fa il colore","Y-Axis ticks":"Interasse Asse Y.","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'È possibile creare una nuova marcatura con un "+" a destra.',"You can drag and drop simple lines from the left list.":"Puoi trascinare e rilasciare semplici righe dall'elenco a sinistra.","add children":"Aggiungi figlio",area:x5t,auto:S5t,average:C5t,bar:$5t,bottom:k5t,bottomColor:E5t,convert_help:T5t,copied:O5t,copy:D5t,count:A5t,counts:I5t,current:M5t,dashed:P5t,day:N5t,default:"Predefinito",difference:R5t,dotted:j5t,dow:L5t,edit:z5t,"edit enum":"Modifica enum","edit file":"Modifica file","end of 10 minutes":"Fine dei 10 minuti","end of 12 hours":"Fine di 12 ore","end of 2 hours":"Fine di 2 ore","end of 3 hours":"Fine di 3 ore","end of 30 minutes":"Fine dei 30 minuti","end of 4 hours":"Fine di 4 ore","end of 5 minutes":"Fine dei 5 minuti","end of 6 hours":"Fine di 6 ore","end of 8 hours":"Fine di 8 ore","end of day":"Fine del giorno","end of hour":"Fine dell'ora","end of minute":"Fine del minuto","end of previous saturday":"fine del sabato precedente (2 settimane)","end of previous sunday":"fine della domenica precedente (2 settimane)","end of saturday":"Fine di sabato","end of sunday":"Fine della domenica",false:"Null",horizontal:F5t,i15min:B5t,i1day:W5t,i1hour:H5t,i30days:U5t,"ignore 'null'":"Ignora 'null'","ignore 'null':":"Ignora 'null':","ignore null values":"Ignora valori null",integral:V5t,"last value":"Ultimo valore",left:q5t,"left colored":"lasciato colorato",leftColor:G5t,line:X5t,linear:J5t,lineplot:Y5t,load:K5t,max:Z5t,middle:Q5t,min:e3t,minmax:t3t,month:r3t,new:"Nuovo",no:n3t,"no null":"& nbsp; non null","non-processed":"non elaborato",none:o3t,none_no:a3t,now:i3t,null:"Null",off:s3t,onchange:l3t,"own axis":"proprio asse",percentile:c3t,polar:d3t,raw:u3t,relative:p3t,reload:h3t,"restart script":"Riavvia lo script",right:f3t,"right colored":"colore giusto",rightColor:m3t,role:g3t,save:v3t,"save %s":"salva %s",scatterplot:y3t,seconds:_3t,solid:b3t,spline:w3t,standard:x3t,static:"Statico",steps:S3t,"this month":"Questo mese","this year":"Quest'anno",to:C3t,today:$3t,top:k3t,"top over":"Al di sopra","top under":"Al di sotto",topColor:E3t,total:T3t,true:"Ultimo valore","update Preview":"Aggiorna anteprima","use 0 instead of null values":"usa 0 invece di valori null",vertical:O3t,weekEurope:D3t,weekUsa:A3t,year:I3t,yes:M3t,ØL:"ØL","ØL - Line thickness":"ØL - Spessore della linea","ØL Line thickness":"ØL Spessore della linea",ØS:"ØS","ØS - Shadow size":"ØS - Dimensione ombra","ØS Shadow size":"ØS Dimensione ombra"},N3t="Admitido",R3t="Agregar",j3t="Agregar",L3t="Tipo",z3t="Todas",F3t="Apariencia",B3t="Aplicar",W3t="Auto",H3t="Eje",U3t="Antecedentes",V3t="Bar",q3t="Frontera",G3t="Cancelar",X3t="Círculo",J3t="Cerca",Y3t="Colapso",K3t="Color",Z3t="Copiar",Q3t="Cuenta",ejt="Crear",tjt="Datos",rjt="Defecto",njt="Eliminar",ojt="Diálogo",ajt="Editar",ijt="Fin",sjt="Expandir",ljt="Llenar",cjt="Carpeta",djt="De:",ujt="Funciones",pjt="Cuadrícula",hjt="Altura",fjt="CARNÉ DE IDENTIDAD",mjt="IDs",gjt="Individual",vjt="Ejemplo",yjt="Intervalos",_jt="Etiqueta",bjt="Etiquetas",wjt="Izquierda",xjt="Leyenda",Sjt="Limites",Cjt="Línea",$jt="Enlazar",kjt="Principal",Ejt="Calificación",Tjt="Marcas",Ojt="Max",Djt="Miembros",Ajt="Min.",Ijt="Mínimo máximo",Mjt="Más",Pjt="Múltiple",Njt="Nombre",Rjt="Ninguna",jjt="X-Offset",Ljt="De acuerdo",zjt="Abierto",Fjt="Opciones",Bjt="Orientación",Wjt="Otros",Hjt="Pegar",Ujt="percentil",Vjt="Tarta",qjt="Puntos",Gjt="carta polar",Xjt="Poligonal",Jjt="Presets",Yjt="Procesando",Kjt="Rango",Zjt="Relativo",Qjt="Rebautizar",e4t="Derecha",t4t="Papel",r4t="Habitación",n4t="Habitaciones",o4t="Raíz",a4t="Segundos",i4t="Seleccionar",s4t="Suavizado",l4t="Fuente",c4t="Ranura",d4t="Apilar",u4t="Pasos",p4t="Estilo",h4t="Texto",f4t="Textos",m4t="Tema",g4t="Hora",v4t="Título",y4t="Tipo",_4t="Unidad",b4t="Actualizar",w4t="Valor",x4t="Anchura",S4t="Con",C4t="Sin",$4t="Zona",k4t="auto",E4t="promedio",T4t="Bar",O4t="fondo",D4t="color de fondo",A4t='Ingrese la fórmula como "val / 1000 + 3". Esta fórmula se aplicará a todos los valores del punto de datos seleccionado.',I4t="copiado",M4t="Copiar",P4t="contar",N4t="conteos",R4t="Valor actual",j4t="estropeado",L4t="día",z4t="diferencia",F4t="punteado",B4t="Día de la semana",W4t="editar",H4t="horizontal",U4t="15 minutos",V4t="1 día",q4t="1 hora",G4t="30 dias",X4t="integral",J4t="izquierda",Y4t="color izquierdo",K4t="Línea",Z4t="lineal",Q4t="Linear plot",eLt="carga",tLt="máximo",rLt="medio",nLt="min",oLt="mínimo máximo",aLt="mes",iLt="no",sLt="ninguna",lLt="ninguna",cLt="ahora",dLt="apagado",uLt="en cambio",pLt="percentil",hLt="Carta polar",fLt="crudo",mLt="relativo",gLt="recargar",vLt="derecho",yLt="color derecho",_Lt="papel",bLt="salvar",wLt="Gráfico de dispersión",xLt="segundos",SLt="sólido",CLt="Ranura",$Lt="estándar",kLt="Pasos",ELt="a",TLt="hoy",OLt="parte superior",DLt="tapa coloreada",ALt="total",ILt="vertical",MLt="fin del día",PLt="fin del domingo",NLt="año",RLt="sí",jLt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"hace% s","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 segundos","0s":"0 segundos","1 day":"1 día","1 hour":"1 hora","1 minute":"1 minuto","1 month":"1 mes","1 week":"1 semana","1 year":"1 año","10 minutes":"10 minutos","10 seconds":"10 segundos","10m":"10 minutos","10minutes":"fin de 10 minutos","10s":"10 segundos","12 hours":"12 horas","12H":"12 horas","12W":"12 semanas","12hours":"fin de 12 horas","14 days":"14 dias","15 minutes":"15 minutos","15 seconds":"15 segundos","15m":"15 minutos","1D":"1 día","1H":"1 hora","1M":"1 mes","1W":"1 semana","1Y":"1 año","1hour":"fin de hora","1minute":"fin del minuto","1s":"1 segundo","2 days":"2 días","2 hours":"2 horas","2 minutes":"2 minutos","2 months":"2 meses","2 weeks":"2 semanas","2 years":"2 años","20 minutes":"20 minutos","20 seconds":"20 segundos","26W":"26 semanas","2D":"2 días","2H":"2 horas","2M":"2 meses","2W":"2 semanas","2Y":"2 años","2hours":"fin de 2 horas","2m":"2 minutos","2s":"2 segundos","3 days":"3 días","3 hours":"3 horas","3 minutes":"3 minutos","3 months":"3 meses","30 minutes":"30 minutos","30 seconds":"30 segundos","300ms":"300ms","30m":"30 minutos","30minutes":"fin de 30 minutos","30s":"30 segundos","3D":"3 días","3M":"3 meses","3hours":"fin de 3 horas","3m":"3 minutos","3s":"3 segundos","4 days":"4 dias","4 minutes":"4 minutos","45 minutes":"45 minutos","45m":"45 minutos","4D":"4 dias","4W":"4 semanas","4hours":"fin de 4 horas","4m":"4 minutos","5 minutes":"5 minutos","5 seconds":"5 segundos","500ms":"500ms","5m":"5 minutos","5minutes":"fin de 5 minutos","5s":"5 segundos","6 hours":"6 horas","6 months":"6 meses","60 seconds":"60 segundos","60s":"60 segundos","6H":"6 horas","6M":"6 meses","6hours":"fin de 6 horas","7 days":"7 días","8W":"8 semanas","8hours":"fin de 8 horas","90 seconds":"90 segundos",Acknowledged:N3t,Add:R3t,"Add line to chart":"Agregar línea al gráfico","Add marking line to chart":"Agregar línea de marcado al gráfico","Add new line":"Agregar nueva línea","Add new markings":"Agregar nuevas marcas","Add new state name":"Agregar nuevo nombre de estado","Add new value":"Agregar nuevo valor","After comma":"Después de la coma",Aggregate:j3t,"Aggregate for lines":"Agregación por líneas",Aggregation:L3t,"Aggregation:":"Tipo:",All:z3t,"Animation:":"Animación:",Appearance:F3t,Apply:B3t,"Are you sure for closing folder and discard unsaved changes?":"¿Está seguro de cerrar la carpeta y descartar los cambios no guardados?","Are you sure for delete this line?":"¿Está seguro de eliminar esta línea?","Are you sure for delete this mark?":"¿Está seguro de eliminar esta marca?","Are you sure for delete this preset?":"¿Está seguro de eliminar este ajuste preestablecido?","Are you sure for loading the chart and discard unsaved changes?":"¿Está seguro de cargar el gráfico y descartar los cambios no guardados?","Are you sure for loading the preset and discard unsaved changes?":"¿Está seguro de cargar el ajuste preestablecido y descartar los cambios no guardados?","Arrange bools":"Organizar booleanos",Auto:W3t,"Auto (Line or Steps)":"Auto (línea o pasos)","Auto padding":"Sangría automática","Auto save":"Auto guardar","Auto-refresh":"Autorefrescar","Auto-update:":"Actualización automática:",Axis:H3t,"Background of radar chart":"Fondo del gráfico de radar","Background:":"Fondo:",Backgrounds:U3t,Bar:V3t,"Bar settings":"Configuración de barra","Bars width:":"Ancho de barras:",Border:q3t,"Border color:":"Color del borde:","Border padding":"Relleno de borde","Border width":"Ancho del borde","Border width:":"Ancho del borde:","Bottom, center, inside":"Abajo, centro, adentro","Bottom, center, outside":"Abajo, centro, afuera","Bottom, left":"Abajo, izquierda","Bottom, left, inside":"Abajo, izquierda, adentro","Bottom, right":"Abajo a la derecha","Bottom, right, inside":"Abajo, derecha, adentro","Bottom, right, outside":"Abajo, a la derecha, afuera",Cancel:G3t,"Cannot create unique ID":"No se puede crear una identificación única","Chart Type":"Tipo de gráfico","Chart background":"Fondo gráfico","Chart background:":"Fondo de la carta:","Chart size":"Tamaño del gráfico","Chart type":"Tipo de gráfico","Charts preview":"Vista previa de gráficos",Circle:X3t,Close:J3t,Collapse:Y3t,"Collapse all lines":"Contraer todas las líneas","Collapse all markings":"Contraer todas las marcas",Color:K3t,"Common Y Axis":"Eje Y común","Convert formula":"fórmula de conversión",Copy:Z3t,"Copy link to clipboard":"Copiar enlace al portapapeles",Counts:Q3t,Create:ejt,"Create folder":"Crear carpeta","Create new folder":"Crear nueva carpeta","Create new preset":"Crear nuevo preset","Create preset":"Crear preajuste","Custom chart background:":"Fondo de carta personalizada:","Custom time format":"Formato de hora personalizado",Data:tjt,Default:rjt,Delete:njt,"Delete object":"Eliminar objeto","Delete text value":"Eliminar valor de texto",Dialog:ojt,"Digits after comma":"Dígitos después de la coma","Drag me":"Arrástrame",Edit:ajt,"Edit folder name":"Editar nombre de carpeta","Edit options for line %s":"Editar opciones para la línea% s","Edit state names":"Editar nombres de estado","Empty preset cannot be saved!":"¡No se puede guardar un ajuste preestablecido vacío!","Enable logging for new state":"Habilitar el registro para el nuevo estado","Enable zoom and pan":"Habilitar zoom y panorámica","Enable zoom and pan:":"Habilitar zoom y pan:",End:ijt,"End:":"Fin:","Enter chart name":"Ingrese el nombre del gráfico",Expand:sjt,"Expand all lines":"Expandir todas las líneas","Expand all markings":"Expandir todas las marcas","Export data color":"Color del botón Exportar datos",Fill:ljt,"Fill color:":"Color de relleno:","Fill range:":"Rango de llenado:","Fill(0to1)":"Rellenar (0to1)",Folder:cjt,"Font size":"Tamaño de fuente",From:djt,"From line %s":"De la línea %s",Functions:ujt,Grid:pjt,"Grid color":"Color de cuadrícula","Grid color:":"Color de cuadrícula","Group by":"Agrupar por","HH:MM dd.mm":"HH:MM dd.mm",Height:hjt,"Height:":"Altura:","Hide X grid":"Ocultar cuadrícula X","Hide Y grid":"Ocultar cuadrícula Y","Hide edit button:":"Ocultar botón de edición:","Hide nulls in tooltip":"Ocultar nulos en la información sobre herramientas","Hover details":"Hover detalles","Hover details:":"Hover detalles:",ID:fjt,IDs:mjt,"If the current value is not older than X seconds, assume it is still the same.":"Si el valor actual no tiene más de X segundos, suponga que sigue siendo el mismo.","In seconds":"En segundos",Individual:gjt,"Input data":"Datos de entrada","Inside / No lines":"Dentro / Sin líneas","Inside / With lines":"Dentro / Con líneas","Inside end":"adentro, al final","Inside end bottom":"Adentro, al final, abajo","Inside end top":"Adentro, al final, arriba","Inside middle":"adentro, en el medio","Inside middle bottom":"Adentro, en el medio, abajo","Inside middle top":"Adentro, en el medio, arriba","Inside start":"Dentro, al principio","Inside start bottom":"En el interior, al principio, en la parte inferior","Inside start top":"Adentro, al principio, arriba",Instance:vjt,"Integral unit":"unidad integral","Interpolate:":"Interpolar:","Interpolation method":"método de interpolación",Intervals:yjt,"Invalid object":"Objeto no válido",Label:_jt,"Label color:":"Color de etiqueta:","Label font size:":"Tamaño de letra de la etiqueta:",Labels:bjt,"Last changed":"Último cambio",Left:wjt,Legend:xjt,"Legend background":"Fondo de leyenda","Legend background:":"Antecedentes de leyenda:","Legend columns:":"Columnas leyenda","Legend opacity (from 0 to 1):":"Opacidad de la leyenda (de 0 a 1):","Legend text color":"Color del texto de la leyenda",Limits:Sjt,Line:Cjt,"Line ID":"Identificación de línea","Line Width":"Ancho de línea","Line and area":"Línea y área","Line style":"Estilo de línea",Link:$jt,"Live update every":"Actualización en vivo cada","Live update every:":"Actualización en vivo cada:","Load without save":"Cargar sin guardar","Loading...":"Cargando...","Lower value or ID":"Menor valor o ID",Main:kjt,Mark:Ejt,Markings:Tjt,Max:Ojt,"Max:":"Máximo:",Members:Djt,"Middle, left, inside":"Medio, izquierdo, adentro","Middle, right, inside":"Medio, derecho, adentro","Middle, right, outside":"Medio, derecho, afuera",Min:Ajt,"Min:":"Mínimo:",MinMax:Ijt,More:Mjt,"Move to folder":"Mover a la carpeta",Multiple:Pjt,"NULL as":"NULL como",Name:Njt,"Name:":"Nombre:","No ID yet":"Sin ID todavía","No background":"Sin antecedentes","No border:":"Sin bordes:","No future":"Sin valores en el futuro","No interpolate in hover":"Sin interpolación en la información sobre herramientas","No presets created yet":"Aún no se han creado ajustes preestablecidos",None:Rjt,Offset:jjt,Ok:Ljt,Open:zjt,"Open chart in own window":"Abrir gráfico en su propia ventana","Open in own window":"Abrir en su propia ventana",Options:Fjt,Orientation:Bjt,Others:Wjt,"Outside / No lines":"Fuera / Sin líneas","Outside/ With lines":"Fuera / Con líneas",Paste:Hjt,Percentile:Ujt,Pie:Vjt,"Please confirm":"Por favor confirme",Points:qjt,Polar:Gjt,Polygonal:Xjt,"Predefined background:":"Antecedentes predefinidos:",Presets:Jjt,Processing:Yjt,"Processing...":"Tratamiento...",Range:Kjt,"Range:":"Distancia:",Relative:Zjt,Rename:Qjt,"Rename preset":"Cambiar nombre de preset","Reorder presets in folders":"Reordenar los ajustes preestablecidos en carpetas","Reset settings":"Reiniciar ajustes","Reset zoom after idle":"Restablecer el zoom después de inactivo",Right:e4t,Role:t4t,Room:r4t,Rooms:n4t,Root:o4t,"Save current preset and load":"Guardar el ajuste preestablecido actual y cargarlo","Save image button color":"Color del botón Guardar imagen","Save into:":"Guardar en:","Scatter plot":"Gráfico de dispersión",Seconds:a4t,Select:i4t,"Select ID":"Seleccionar ID","Select for":"Seleccionar para","Shadow Size":"Tamaño de las Sombras","Show controls":"Mostrar controles","Show export data button":"Mostrar botón de exportación de datos","Show labels:":"Mostrar etiquetas:","Show legend":"Mostrar leyenda","Show legend:":"Mostrar leyenda:","Show only in legend":"Mostrar solo en leyenda","Show points":"Mostrar puntos","Show save image button":"Mostrar el botón Guardar imagen","Show values":"Mostrar valores",Smoothing:s4t,Source:l4t,Spline:c4t,Stack:d4t,"Start:":"Comienzo:","State value":"valor del estado","State value text":"Texto de valor de estado","Step span:":"Lapso de paso:","Step type":"Tipo de paso","Step type:":"Tipo de paso:",Steps:u4t,"Steps on start":"Pasos al inicio",Style:p4t,"System settings":"Ajustes del sistema",Text:h4t,"Text X offset":"X-Offset de texto","Text Y offset":"Desplazamiento Y de texto","Text by false":"Texto por falso","Text by true":"Texto por verdadero","Text color":"Color de texto","Text position":"Posición del texto","Text size":"Tamano del texto","Text values not used":"Valores de texto no utilizados",Texts:f4t,Theme:m4t,"This time offset will be added to the X label by displaying data on the chart":"Este desplazamiento de tiempo se agregará a la etiqueta X al mostrar datos en el gráfico.","This time offset will be added to the request by reading data from DB":"Este desplazamiento de tiempo se agregará a la solicitud leyendo los datos de la base de datos.","Ticks from:":"Use X-ticks desde:",Time:g4t,"Time Span":"Espacio de tiempo","Time format":"Formato de tiempo","Time format:":"Formato de tiempo:","Time span":"Espacio de tiempo","Time stamp":"Marca de tiempo",Title:v4t,"Title color":"Color del título","Title color:":"Color del título:","Title position":"Posición del título","Title position:":"Posición del título:","Title size":"Tamaño del título","Title size:":"Tamaño del título:","Title:":"Título:","Top, center, inside":"Arriba, centro, adentro","Top, left":"Arriba a la izquierda","Top, left, inside":"Arriba, izquierda, adentro","Top, right":"Parte superior derecha","Top, right, inside":"Arriba, derecha, adentro","Top, right, outside":"Arriba, a la derecha, afuera",Type:y4t,Unit:_4t,"Units:":"Unidades:",Update:b4t,"Update objects":"Actualizar objetos","Update states":"Actualizar estados","Upper value or ID":"Valor superior o ID","Use comma":"Usa coma","Use comma:":"Usa la coma","Use state names":"Usar nombres de estado","User defined":"Usuario definido","User defined names:":"Nombres definidos por el usuario:","Valid time (sec)":"Tiempo válido (seg)",Value:w4t,Width:x4t,"Width:":"Anchura:","Window background":"Fondo de ventana","Window background:":"Fondo de la ventana:",With:S4t,"With border":"Con frontera","With lines":"Con líneas",Without:C4t,"Without border":"Sin borde","Without lines":"Sin líneas","X Axis":"Eje X","X Axis position":"Posición del eje X","X axis labels color:":"X etiquetas de color:","X labels color":"Color de etiquetas X","X labels size":"Tamaño de fuente X","X ticks color":"X ticks color","X-Axis ticks":"Garrapatas X-Axis","X-Label-Offset":"Desplazamiento de etiqueta X","X-Offset":"Desplazamiento X","Y Axis":"Eje Y","Y Axis position":"Posición del eje Y","Y axis labels color:":"Color de etiquetas Y:","Y labels color":"Y etiquetas de color","Y labels size":"Tamaño de fuente Y","Y ticks color":"Y ticks color","Y-Axis ticks":"Señales del eje Y","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':'Puede crear nuevas marcas con un "+" a la derecha.',"You can drag and drop simple lines from the left list.":"Puede arrastrar y soltar líneas simples de la lista de la izquierda.","add children":"agregar niños",area:$4t,auto:k4t,average:E4t,bar:T4t,bottom:O4t,bottomColor:D4t,convert_help:A4t,copied:I4t,copy:M4t,count:P4t,counts:N4t,current:R4t,dashed:j4t,day:L4t,default:"defecto",difference:z4t,dotted:F4t,dow:B4t,edit:W4t,"edit enum":"editar enum","edit file":"editar archivo","end of 10 minutes":"fin de 10 minutos","end of 12 hours":"fin de 12 horas","end of 2 hours":"fin de 2 horas","end of 3 hours":"fin de 3 horas","end of 30 minutes":"fin de 30 minutos","end of 4 hours":"fin de 4 horas","end of 5 minutes":"fin de 5 minutos","end of 6 hours":"fin de 6 horas","end of 8 hours":"fin de 8 horas","end of day":"fin del día","end of hour":"fin de hora","end of minute":"fin del minuto","end of previous saturday":"fin del sábado anterior (2 semanas)","end of previous sunday":"fin del domingo anterior (2 semanas)","end of saturday":"fin de sabado","end of sunday":"fin del domingo",false:"nulo",horizontal:H4t,i15min:U4t,i1day:V4t,i1hour:q4t,i30days:G4t,"ignore 'null'":"ignorar 'nulo'","ignore 'null':":"ignorar 'nulo':","ignore null values":"ignorar valores nulos",integral:X4t,"last value":"último valor",left:J4t,"left colored":"izquierda coloreada",leftColor:Y4t,line:K4t,linear:Z4t,lineplot:Q4t,load:eLt,max:tLt,middle:rLt,min:nLt,minmax:oLt,month:aLt,new:"nuevo",no:iLt,"no null":"& nbsp; no null","non-processed":"no procesado",none:sLt,none_no:lLt,now:cLt,null:"nulo",off:dLt,onchange:uLt,"own axis":"propio eje",percentile:pLt,polar:hLt,raw:fLt,relative:mLt,reload:gLt,"restart script":"script de reinicio",right:vLt,"right colored":"color correcto",rightColor:yLt,role:_Lt,save:bLt,"save %s":"ahorra",scatterplot:wLt,seconds:xLt,solid:SLt,spline:CLt,standard:$Lt,static:"estático",steps:kLt,"this month":"este mes","this year":"este año",to:ELt,today:TLt,top:OLt,"top over":"arriba encima","top under":"arriba debajo",topColor:DLt,total:ALt,true:"último valor","update Preview":"actualización de Vista previa","use 0 instead of null values":"use 0 en lugar de valores nulos",vertical:ILt,weekEurope:MLt,weekUsa:PLt,year:NLt,yes:RLt,ØL:"ØL","ØL - Line thickness":"ØL - Espesor de línea","ØL Line thickness":"ØL espesor de la línea",ØS:"ØS","ØS - Shadow size":"ØS - Tamaño de sombra","ØS Shadow size":"ØS tamaño de la sombra"},LLt="Przyznane",zLt="Dodać",FLt="Agregat",BLt="Rodzaj",WLt="Wszystko",HLt="Wygląd",ULt="Stosować",VLt="Automatyczny",qLt="Oś",GLt="Tła",XLt="Bar",JLt="Granica",YLt="Anuluj",KLt="Koło",ZLt="Zamknąć",QLt="Zawalić się",ezt="Kolor",tzt="Kopiuj",rzt="Liczy",nzt="Stwórz",ozt="Dane",azt="Domyślna",izt="Kasować",szt="Dialog",lzt="Edytować",czt="Koniec",dzt="Rozszerzać",uzt="Napełnić",pzt="Teczka",hzt="Od:",fzt="Funkcje",mzt="Krata",gzt="Wysokość",vzt="ID",yzt="ID",_zt="Indywidualny",bzt="Instancja",wzt="Interwały",xzt="Etykieta",Szt="Etykiety",Czt="Lewo",$zt="Legenda",kzt="Limity",Ezt="Linia",Tzt="Połączyć",Ozt="Główny",Dzt="Cechowanie",Azt="Znakowania",Izt="Max",Mzt="Członkowie",Pzt="Min",Nzt="Minimum maksimum",Rzt="jeszcze",jzt="Wielokrotność",Lzt="Nazwa",zzt="Żaden",Fzt="X-Offset",Bzt="Ok",Wzt="otwarty",Hzt="Opcje",Uzt="Orientacja",Vzt="Inni",qzt="Pasta",Gzt="Percentyl",Xzt="Ciasto",Jzt="Zwrotnica",Yzt="Wykres polarny",Kzt="Wielokątny",Zzt="Presets",Qzt="Przetwarzanie",e6t="Zasięg",t6t="Krewny",r6t="Przemianować",n6t="Dobrze",o6t="Rola",a6t="Pokój",i6t="Pokoje",s6t="Korzeń",l6t="sekundy",c6t="Wybierz",d6t="Wygładzanie",u6t="Źródło",p6t="Klin",h6t="Stos",f6t="Kroki",m6t="Styl",g6t="Tekst",v6t="Teksty",y6t="Motyw",_6t="Czas",b6t="Tytuł",w6t="Rodzaj",x6t="Jednostka",S6t="Aktualizacja",C6t="Wartość",$6t="Szerokość",k6t="Z",E6t="Bez",T6t="Powierzchnia",O6t="automatyczny",D6t="średni",A6t="Bar",I6t="Dolny",M6t="u dołu w kolorze",P6t="Wprowadź formułę, np. „val / 1000 + 3”. Ta formuła zostanie zastosowana do wszystkich wartości wybranego punktu danych.",N6t="skopiowane",R6t="kopia",j6t="liczyć",L6t="liczy",z6t="Aktualna wartość",F6t="przerywana",B6t="dzień",W6t="różnica",H6t="kropkowany",U6t="Dzień tygodnia",V6t="edytować",q6t="poziomy",G6t="15 minut",X6t="1 dzień",J6t="1 godzina",Y6t="30 dni",K6t="całka",Z6t="lewo",Q6t="pozostawione w kolorze",eFt="Linia",tFt="liniowy",rFt="Fabuła linii",nFt="obciążenie",oFt="maks",aFt="środkowy",iFt="min",sFt="minimum maksimum",lFt="miesiąc",cFt="Nie",dFt="Żaden",uFt="Żaden",pFt="teraz",hFt="poza",fFt="o zmianie",mFt="percentyl",gFt="Wykres polarny",vFt="surowy",yFt="krewny",_Ft="przeładować",bFt="dobrze",wFt="prawe kolorowe",xFt="rola",SFt="zapisać",CFt="Wykres punktowy",$Ft="sekundy",kFt="solidny",EFt="Klin",TFt="standard",OFt="Kroki",DFt="do",AFt="dzisiaj",IFt="Top",MFt="górne kolorowe",PFt="całkowity",NFt="pionowy",RFt="koniec dnia",jFt="koniec niedzieli",LFt="rok",zFt="tak",FFt={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"% s temu","ØL":"& # 216L","ØS":"& # 216S","0 seconds":"0 sekund","0s":"0 sekund","1 day":"1 dzień","1 hour":"1 godzina","1 minute":"1 minuta","1 month":"1 miesiąc","1 week":"1 tydzień","1 year":"1 rok","10 minutes":"10 minut","10 seconds":"10 sekund","10m":"10 minut","10minutes":"koniec 10 minut","10s":"10 sekund","12 hours":"12 godzin","12H":"12 godzin","12W":"12 tygodni","12hours":"koniec 12 godzin","14 days":"14 dni","15 minutes":"15 minut","15 seconds":"15 sekund","15m":"15 minut","1D":"1 dzień","1H":"1 godzina","1M":"1 miesiąc","1W":"1 tydzień","1Y":"1 rok","1hour":"koniec godziny","1minute":"koniec minuty","1s":"1 sekunda","2 days":"2 dni","2 hours":"2 godziny","2 minutes":"2 minuty","2 months":"2 miesiące","2 weeks":"2 tygodnie","2 years":"2 lata","20 minutes":"20 minut","20 seconds":"20 sekund","26W":"26 tygodni","2D":"2 dni","2H":"2 godziny","2M":"2 miesiące","2W":"2 tygodnie","2Y":"2 lata","2hours":"koniec 2 godzin","2m":"2 minuty","2s":"2 sekundy","3 days":"3 dni","3 hours":"3 godziny","3 minutes":"3 minuty","3 months":"3 miesiące","30 minutes":"30 minut","30 seconds":"30 sekund","300ms":"300ms","30m":"30 minut","30minutes":"koniec 30 minut","30s":"30 sekund","3D":"3 dni","3M":"3 miesiące","3hours":"koniec 3 godzin","3m":"3 minuty","3s":"3 sekundy","4 days":"4 dni","4 minutes":"4 minuty","45 minutes":"45 minut","45m":"45 minut","4D":"4 dni","4W":"4 tygodnie","4hours":"koniec 4 godzin","4m":"4 minuty","5 minutes":"5 minut","5 seconds":"5 sekund","500ms":"500 ms","5m":"5 minut","5minutes":"koniec 5 minut","5s":"5 sekund","6 hours":"6 godzin","6 months":"6 miesięcy","60 seconds":"60 sekund","60s":"60 sekund","6H":"6 godzin","6M":"6 miesięcy","6hours":"koniec 6 godzin","7 days":"7 dni","8W":"8 tygodni","8hours":"koniec 8 godzin","90 seconds":"90 sekund",Acknowledged:LLt,Add:zLt,"Add line to chart":"Dodaj linię do wykresu","Add marking line to chart":"Dodaj linię zaznaczania do wykresu","Add new line":"Dodaj nową linię","Add new markings":"Dodaj nowe oznaczenia","Add new state name":"Dodaj nową nazwę stanu","Add new value":"Dodaj nową wartość","After comma":"Po przecinku",Aggregate:FLt,"Aggregate for lines":"Agregacja dla linii",Aggregation:BLt,"Aggregation:":"Rodzaj:",All:WLt,"Animation:":"Animacja:",Appearance:HLt,Apply:ULt,"Are you sure for closing folder and discard unsaved changes?":"Czy na pewno chcesz zamknąć folder i odrzucić niezapisane zmiany?","Are you sure for delete this line?":"Czy na pewno chcesz usunąć tę linię?","Are you sure for delete this mark?":"Czy na pewno chcesz usunąć ten znak?","Are you sure for delete this preset?":"Czy na pewno chcesz usunąć to ustawienie wstępne?","Are you sure for loading the chart and discard unsaved changes?":"Czy na pewno chcesz załadować wykres i odrzucić niezapisane zmiany?","Are you sure for loading the preset and discard unsaved changes?":"Czy na pewno chcesz załadować ustawienia wstępne i odrzucić niezapisane zmiany?","Arrange bools":"Rozmieść booleans",Auto:VLt,"Auto (Line or Steps)":"Auto (linia lub kroki)","Auto padding":"Automatyczne wcięcie","Auto save":"Automatyczne zapisywanie","Auto-refresh":"Automatyczne odświeżanie","Auto-update:":"Automatyczna aktualizacja:",Axis:qLt,"Background of radar chart":"Tło mapy radarowej","Background:":"Tło:",Backgrounds:GLt,Bar:XLt,"Bar settings":"Ustawienia paska","Bars width:":"Szerokość prętów:",Border:JLt,"Border color:":"Kolor ramki:","Border padding":"Obramowanie","Border width":"Szerokość granicy","Border width:":"Szerokość granicy:","Bottom, center, inside":"Dół, środek, wnętrze","Bottom, center, outside":"Dół, środek, na zewnątrz","Bottom, left":"Na dole po lewej","Bottom, left, inside":"Dół, lewo, wnętrze","Bottom, right":"Prawy dolny","Bottom, right, inside":"Dół, prawo, wewnątrz","Bottom, right, outside":"Dół, prawo, na zewnątrz",Cancel:YLt,"Cannot create unique ID":"Nie można utworzyć unikalnego identyfikatora","Chart Type":"Typ wykresu","Chart background":"Tło wykresu","Chart background:":"Tło wykresu:","Chart size":"Rozmiar wykresu","Chart type":"Typ wykresu","Charts preview":"Podgląd wykresów",Circle:KLt,Close:ZLt,Collapse:QLt,"Collapse all lines":"Zwiń wszystkie linie","Collapse all markings":"Zwiń wszystkie oznaczenia",Color:ezt,"Common Y Axis":"Wspólna oś Y.","Convert formula":"Formuła konwersji",Copy:tzt,"Copy link to clipboard":"Skopiuj link do schowka",Counts:rzt,Create:nzt,"Create folder":"Utwórz folder","Create new folder":"Stwórz nowy folder","Create new preset":"Utwórz nowe ustawienie wstępne","Create preset":"Utwórz ustawienie wstępne","Custom chart background:":"Niestandardowe tło wykresu:","Custom time format":"Niestandardowy format czasu",Data:ozt,Default:azt,Delete:izt,"Delete object":"Usuń obiekt","Delete text value":"Usuń wartość tekstową",Dialog:szt,"Digits after comma":"Cyfry po przecinku","Drag me":"Pociągnij mnie",Edit:lzt,"Edit folder name":"Edytuj nazwę folderu","Edit options for line %s":"Edytuj opcje linii% s","Edit state names":"Edytuj nazwy stanów","Empty preset cannot be saved!":"Nie można zapisać pustego ustawienia wstępnego!","Enable logging for new state":"Włącz rejestrowanie dla nowego stanu","Enable zoom and pan":"Włącz powiększanie i przesuwanie","Enable zoom and pan:":"Włącz powiększanie i panoramowanie:",End:czt,"End:":"Koniec:","Enter chart name":"Wprowadź nazwę wykresu",Expand:dzt,"Expand all lines":"Rozwiń wszystkie linie","Expand all markings":"Rozwiń wszystkie oznaczenia","Export data color":"Kolor przycisku eksportu danych",Fill:uzt,"Fill color:":"Kolor wypełnienia:","Fill range:":"Zakres wypełnienia:","Fill(0to1)":"Wypełnij (0to1)",Folder:pzt,"Font size":"Rozmiar czcionki",From:hzt,"From line %s":"Z linii %s",Functions:fzt,Grid:mzt,"Grid color":"Kolor siatki","Grid color:":"Kolor siatki:","Group by":"Grupuj według","HH:MM dd.mm":"HH:MM dd.mm",Height:gzt,"Height:":"Wysokość:","Hide X grid":"Ukryj siatkę X.","Hide Y grid":"Ukryj siatkę Y.","Hide edit button:":"Ukryj przycisk edycji:","Hide nulls in tooltip":"Ukryj null w podpowiedzi","Hover details":"Najedź na szczegóły","Hover details:":"Po najechaniu szczegóły:",ID:vzt,IDs:yzt,"If the current value is not older than X seconds, assume it is still the same.":"Jeśli bieżąca wartość nie jest starsza niż X sekund, załóżmy, że nadal jest taka sama.","In seconds":"W sekundy",Individual:_zt,"Input data":"Dane wejściowe","Inside / No lines":"Wewnątrz / Bez linii","Inside / With lines":"Wewnątrz / Z liniami","Inside end":"Wewnątrz, na końcu","Inside end bottom":"Wewnątrz, na końcu, na dole","Inside end top":"Wewnątrz, na końcu, na górze","Inside middle":"Wewnątrz, w środku","Inside middle bottom":"Wewnątrz, na środku, na dole","Inside middle top":"Wewnątrz, w środku, na górze","Inside start":"Wewnątrz, na początku","Inside start bottom":"Wewnątrz, na początku, na dole","Inside start top":"Wewnątrz, na początku, na górze",Instance:bzt,"Integral unit":"Jednostka integralna","Interpolate:":"Interpolować:","Interpolation method":"Metoda interpolacji",Intervals:wzt,"Invalid object":"Nieprawidłowy obiekt",Label:xzt,"Label color:":"Kolor etykiety:","Label font size:":"Rozmiar czcionki etykiety:",Labels:Szt,"Last changed":"Ostatnia zmiana",Left:Czt,Legend:$zt,"Legend background":"Tło legendy","Legend background:":"Tło legendy:","Legend columns:":"Kolumny legendy:","Legend opacity (from 0 to 1):":"Krycie Legendy (od 0 do 1):","Legend text color":"Kolor tekstu legendy",Limits:kzt,Line:Ezt,"Line ID":"Identyfikator linii","Line Width":"Szerokość linii","Line and area":"Linia i obszar","Line style":"Styl linii",Link:Tzt,"Live update every":"Aktualizacja na żywo co","Live update every:":"Aktualizacja na żywo co:","Load without save":"Załaduj bez zapisywania","Loading...":"Ładuję...","Lower value or ID":"Niższa wartość lub ID",Main:Ozt,Mark:Dzt,Markings:Azt,Max:Izt,"Max:":"Maksymalny:",Members:Mzt,"Middle, left, inside":"Środkowy, lewy, w środku","Middle, right, inside":"Środkowy, prawy, wewnątrz","Middle, right, outside":"Środkowy, prawy, na zewnątrz",Min:Pzt,"Min:":"Minimum:",MinMax:Nzt,More:Rzt,"Move to folder":"Przenieś do folderu",Multiple:jzt,"NULL as":"NULL as",Name:Lzt,"Name:":"Nazwa:","No ID yet":"Nie ma ID tożsamości","No background":"Bez tła","No border:":"Bez granic:","No future":"Żadnych wartości w przyszłości","No interpolate in hover":"Brak interpolacji w podpowiedzi","No presets created yet":"Nie utworzono jeszcze żadnych ustawień wstępnych",None:zzt,Offset:Fzt,Ok:Bzt,Open:Wzt,"Open chart in own window":"Otwórz wykres we własnym oknie","Open in own window":"Otwórz we własnym oknie",Options:Hzt,Orientation:Uzt,Others:Vzt,"Outside / No lines":"Poza / Bez linii","Outside/ With lines":"Na zewnątrz / Z liniami",Paste:qzt,Percentile:Gzt,Pie:Xzt,"Please confirm":"Proszę potwierdzić",Points:Jzt,Polar:Yzt,Polygonal:Kzt,"Predefined background:":"Wstępnie zdefiniowane tło:",Presets:Zzt,Processing:Qzt,"Processing...":"Przetwarzanie...",Range:e6t,"Range:":"Zasięg:",Relative:t6t,Rename:r6t,"Rename preset":"Zmień nazwę ustawienia wstępnego","Reorder presets in folders":"Zmień kolejność ustawień wstępnych w folderach","Reset settings":"Resetowanie ustawień","Reset zoom after idle":"Zresetuj powiększenie po bezczynności",Right:n6t,Role:o6t,Room:a6t,Rooms:i6t,Root:s6t,"Save current preset and load":"Zapisz bieżące ustawienie wstępne i załaduj","Save image button color":"Zapisz kolor przycisku obrazu","Save into:":"Zapisz w:","Scatter plot":"Wykres punktowy",Seconds:l6t,Select:c6t,"Select ID":"Wybierz ID","Select for":"Wybierz dla","Shadow Size":"Rozmiar cienia","Show controls":"Pokaż kontrolki","Show export data button":"Pokaż przycisk eksportu danych","Show labels:":"Pokaż etykiety:","Show legend":"Pokaż legendę","Show legend:":"Pokaż legendę:","Show only in legend":"Pokaż tylko w legendzie","Show points":"Pokaż punkty","Show save image button":"Pokaż przycisk zapisywania obrazu","Show values":"Pokaż wartości",Smoothing:d6t,Source:u6t,Spline:p6t,Stack:h6t,"Start:":"Początek:","State value":"Wartość stanu","State value text":"Podaj tekst wartości","Step span:":"Zakres kroku:","Step type":"Typ kroku","Step type:":"Rodzaj kroku:",Steps:f6t,"Steps on start":"Kroki na starcie",Style:m6t,"System settings":"Ustawienia systemowe",Text:g6t,"Text X offset":"X-Przesunięcie tekstu","Text Y offset":"Przesunięcie Y tekstu","Text by false":"Tekst fałszywy","Text by true":"Tekst od prawda","Text color":"Kolor tekstu","Text position":"Pozycja tekstu","Text size":"Rozmiar czcionki","Text values not used":"Wartości tekstowe nie są używane",Texts:v6t,Theme:y6t,"This time offset will be added to the X label by displaying data on the chart":"To przesunięcie czasowe zostanie dodane do etykiety X poprzez wyświetlenie danych na wykresie","This time offset will be added to the request by reading data from DB":"To przesunięcie czasowe zostanie dodane do żądania poprzez odczyt danych z bazy danych","Ticks from:":"Użyj tyknięć X z:",Time:_6t,"Time Span":"Okres czasu","Time format":"Format czasu","Time format:":"Format czasu:","Time span":"Okres czasu","Time stamp":"Znak czasu",Title:b6t,"Title color":"Kolor tytułu","Title color:":"Kolor tytułu:","Title position":"Pozycja tytułu","Title position:":"Pozycja tytułu:","Title size":"Rozmiar tytułu","Title size:":"Rozmiar tytułu:","Title:":"Tytuł:","Top, center, inside":"Góra, środek, wnętrze","Top, left":"Lewy górny","Top, left, inside":"Góra, lewa, wewnątrz","Top, right":"W prawym górnym rogu","Top, right, inside":"Góra, prawo, wewnątrz","Top, right, outside":"Góra, prawo, na zewnątrz",Type:w6t,Unit:x6t,"Units:":"Jednostki:",Update:S6t,"Update objects":"Zaktualizuj obiekty","Update states":"Zaktualizuj stany","Upper value or ID":"Górna wartość lub ID","Use comma":"Użyj przecinka","Use comma:":"Użyj przecinka:","Use state names":"Używaj nazw stanów","User defined":"Określony przez użytkownika","User defined names:":"Nazwy zdefiniowane przez użytkownika:","Valid time (sec)":"Ważny czas (s)",Value:C6t,Width:$6t,"Width:":"Szerokość:","Window background":"Tło okna","Window background:":"Tło okna:",With:k6t,"With border":"Z obramowaniem","With lines":"Z liniami",Without:E6t,"Without border":"Bez obramowania","Without lines":"Bez linii","X Axis":"Oś X.","X Axis position":"Położenie osi X.","X axis labels color:":"Kolor etykiet X:","X labels color":"Kolor etykiet X.","X labels size":"X rozmiar czcionki","X ticks color":"X zaznacza kolor","X-Axis ticks":"Tiki X-Axis","X-Label-Offset":"Przesunięcie etykiety X","X-Offset":"Przesunięcie X","Y Axis":"Oś Y.","Y Axis position":"Pozycja osi Y.","Y axis labels color:":"Kolor etykiet Y:","Y labels color":"Kolor etykiety Y.","Y labels size":"Rozmiar czcionki Y","Y ticks color":"Y zaznacza kolor","Y-Axis ticks":"Tyksy Y-Axis","Y-Offset":"Przesunięcie Y",'You can create a new markings with a "+" on the right.':"Możesz utworzyć nowe oznaczenia ze znakiem „+” po prawej stronie.","You can drag and drop simple lines from the left list.":"Możesz przeciągać i upuszczać proste linie z lewej listy.","add children":"dodaj dzieci",area:T6t,auto:O6t,average:D6t,bar:A6t,bottom:I6t,bottomColor:M6t,convert_help:P6t,copied:N6t,copy:R6t,count:j6t,counts:L6t,current:z6t,dashed:F6t,day:B6t,default:"domyślna",difference:W6t,dotted:H6t,dow:U6t,edit:V6t,"edit enum":"edytuj wyliczenie","edit file":"edytuj plik","end of 10 minutes":"koniec 10 minut","end of 12 hours":"koniec 12 godzin","end of 2 hours":"koniec 2 godzin","end of 3 hours":"koniec 3 godzin","end of 30 minutes":"koniec 30 minut","end of 4 hours":"koniec 4 godzin","end of 5 minutes":"koniec 5 minut","end of 6 hours":"koniec 6 godzin","end of 8 hours":"koniec 8 godzin","end of day":"koniec dnia","end of hour":"koniec godziny","end of minute":"koniec minuty","end of previous saturday":"koniec poprzedniej soboty (2 tygodnie)","end of previous sunday":"koniec poprzedniej niedzieli (2 tygodnie)","end of saturday":"koniec soboty","end of sunday":"koniec niedzieli",false:"zero",horizontal:q6t,i15min:G6t,i1day:X6t,i1hour:J6t,i30days:Y6t,"ignore 'null'":'zignoruj ​​"zero"',"ignore 'null':":'zignoruj ​​"null":',"ignore null values":"ignoruj ​​wartości puste",integral:K6t,"last value":"ostatnia wartość",left:Z6t,"left colored":"lewy kolorowy",leftColor:Q6t,line:eFt,linear:tFt,lineplot:rFt,load:nFt,max:oFt,middle:aFt,min:iFt,minmax:sFt,month:lFt,new:"Nowy",no:cFt,"no null":"& nbsp; no null","non-processed":"nieprzetworzone",none:dFt,none_no:uFt,now:pFt,null:"zero",off:hFt,onchange:fFt,"own axis":"własną oś",percentile:mFt,polar:gFt,raw:vFt,relative:yFt,reload:_Ft,"restart script":"zrestartuj skrypt",right:bFt,"right colored":"w odpowiednim kolorze",rightColor:wFt,role:xFt,save:SFt,"save %s":"zapisz% s",scatterplot:CFt,seconds:$Ft,solid:kFt,spline:EFt,standard:TFt,static:"statyczny",steps:OFt,"this month":"ten miesiąc","this year":"W tym roku",to:DFt,today:AFt,top:IFt,"top over":"do góry","top under":"górny pod",topColor:MFt,total:PFt,true:"ostatnia wartość","update Preview":"aktualizuj podgląd","use 0 instead of null values":"użyj 0 zamiast wartości zerowych",vertical:NFt,weekEurope:RFt,weekUsa:jFt,year:LFt,yes:zFt,ØL:"ØL","ØL - Line thickness":"ØL - grubość linii","ØL Line thickness":"ØL Grubość linii",ØS:"ØS","ØS - Shadow size":"ØS - Rozmiar cienia","ØS Shadow size":"ØS Rozmiar cienia"},BFt="Визнано",WFt="додати",HFt="Агрегатний",UFt="Тип",VFt="все",qFt="Зовнішній вигляд",GFt="Застосувати",XFt="Авто",JFt="Вісь",YFt="Фони",KFt="Bar",ZFt="Кордон",QFt="Скасувати",e8t="Коло",t8t="Закрити",r8t="Згорнути",n8t="колір",o8t="Копія",a8t="Розраховує",i8t="Створити",s8t="Дані",l8t="За замовчуванням",c8t="Видалити",d8t="Діалог",u8t="Редагувати",p8t="Кінець",h8t="Розгорнути",f8t="Заповнити",m8t="Папка",g8t="Від:",v8t="Функції",y8t="Сітка",_8t="Висота",b8t="ID",w8t="ідентифікатори",x8t="Індивідуальний",S8t="Екземпляр",C8t="Інтервали",$8t="Мітка",k8t="етикетки",E8t="Ліворуч",T8t="Легенда",O8t="Межі",D8t="лінія",A8t="Посилання",I8t="Головна",M8t="Маркування",P8t="Маркування",N8t="Макс",R8t="Члени",j8t="Хв",L8t="MinMax",z8t="більше",F8t="множинний",B8t="Ім'я",W8t="Жодного",H8t="Х-зсув",U8t="В порядку",V8t="ВІДЧИНЕНО",q8t="Опції",G8t="Орієнтація",X8t="інші",J8t="Вставити",Y8t="Процентиль",K8t="пиріг",Z8t="Очки",Q8t="Полярна діаграма",eBt="Багатокутний",tBt="Предустановки",rBt="Обробка",nBt="Діапазон",oBt="Відносна",aBt="Перейменувати",iBt="правильно",sBt="Роль",lBt="Кімната",cBt="Кімнати",dBt="Корінь",uBt="секунд",pBt="Виберіть",hBt="Згладжування",fBt="Джерело",mBt="Сплайн",gBt="Стек",vBt="Кроки",yBt="Стиль",_Bt="текст",bBt="Тексти",wBt="Тема",xBt="час",SBt="Назва",CBt="Тип",$Bt="одиниця",kBt="оновлення",EBt="Значення",TBt="Ширина",OBt="с",DBt="без",ABt="Площа",IBt="авто",MBt="середній",PBt="Бар",NBt="дно",RBt="низ кольоровий",jBt="Введіть формулу на зразок «val / 1000 + 3». Ця формула буде застосована до всіх значень вибраної точки даних.",LBt="скопійовано",zBt="копія",FBt="розраховувати",BBt="розраховує",WBt="Поточне значення",HBt="штриховий",UBt="день",VBt="різниця",qBt="пунктирний",GBt="День тижня",XBt="редагувати",JBt="горизонтальний",YBt="15 хвилин",KBt="1 день",ZBt="1 година",QBt="30 днів",e9t="інтегральний",t9t="зліва",r9t="лівий кольоровий",n9t="лінія",o9t="лінійний",a9t="Лінійний сюжет",i9t="навантаження",s9t="макс",l9t="середина",c9t="хв",d9t="minmax",u9t="місяць",p9t="ні",h9t="немає",f9t="немає",m9t="зараз",g9t="вимкнено",v9t="на зміну",y9t="процентиль",_9t="Полярна діаграма",b9t="сирий",w9t="відносний",x9t="перезавантажити",S9t="правильно",C9t="правильний колір",$9t="роль",k9t="зберегти",E9t="Діаграма розкиду",T9t="секунд",O9t="твердий",D9t="Сплайн",A9t="стандарт",I9t="Кроки",M9t="до",P9t="сьогодні",N9t="зверху",R9t="верх кольоровий",j9t="всього",L9t="вертикальний",z9t="кінець дня",F9t="кінець неділі",B9t="рік",W9t="так",H9t={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5","%s ago":"%s тому","ØL":"ØL","ØS":"ØS","0 seconds":"0 секунд","0s":"0 секунд","1 day":"1 день","1 hour":"1 година","1 minute":"1 хвилина","1 month":"1 місяць","1 week":"1 тиждень","1 year":"1 рік","10 minutes":"10 хвилин","10 seconds":"10 секунд","10m":"10 хвилин","10minutes":"кінець 10 хвилин","10s":"10 секунд","12 hours":"12 годин","12H":"12 годин","12W":"12 тижнів","12hours":"кінець 12 год","14 days":"14 днів","15 minutes":"15 хвилин","15 seconds":"15 секунд","15m":"15 хвилин","1D":"1 день","1H":"1 година","1M":"1 місяць","1W":"1 тиждень","1Y":"1 рік","1hour":"кінець години","1minute":"кінець хвилини","1s":"1 секунда","2 days":"2 дні","2 hours":"2 години","2 minutes":"2 хвилини","2 months":"2 місяці","2 weeks":"2 тижні","2 years":"2 роки","20 minutes":"20 хвилин","20 seconds":"20 секунд","26W":"26 тижнів","2D":"2 дні","2H":"2 години","2M":"2 місяці","2W":"2 тижні","2Y":"2 роки","2hours":"кінець 2 год","2m":"2 хвилини","2s":"2 секунди","3 days":"3 дні","3 hours":"3 години","3 minutes":"3 хвилини","3 months":"3 місяці","30 minutes":"30 хвилин","30 seconds":"30 секунд","300ms":"300 мс","30m":"30 хвилин","30minutes":"закінчення 30 хвилин","30s":"30 секунд","3D":"3 дні","3M":"3 місяці","3hours":"кінець 3 год","3m":"3 хвилини","3s":"3 секунди","4 days":"4 дні","4 minutes":"4 хвилини","45 minutes":"45 хвилин","45m":"45 хвилин","4D":"4 дні","4W":"4 тижні","4hours":"кінець 4 год","4m":"4 хвилини","5 minutes":"5 хвилин","5 seconds":"5 секунд","500ms":"500 мс","5m":"5 хвилин","5minutes":"закінчення 5 хвилин","5s":"5 секунд","6 hours":"6 годин","6 months":"6 місяців","60 seconds":"60 секунд","60s":"60 секунд","6H":"6 годин","6M":"6 місяців","6hours":"кінець 6 год","7 days":"7 днів","8W":"8 тижнів","8hours":"кінець 8 год","90 seconds":"90 секунд",Acknowledged:BFt,Add:WFt,"Add line to chart":"Додайте лінію до діаграми","Add marking line to chart":"Додати лінію розмітки до діаграми","Add new line":"Додайте новий рядок","Add new markings":"Додайте нові позначки","Add new state name":"Додайте нову назву штату","Add new value":"Додати нове значення","After comma":"Після коми",Aggregate:HFt,"Aggregate for lines":"Агрегація для ліній",Aggregation:UFt,"Aggregation:":"тип:",All:VFt,"Animation:":"анімація:",Appearance:qFt,Apply:GFt,"Are you sure for closing folder and discard unsaved changes?":"Ви впевнені, що хочете закрити папку та скасувати незбережені зміни?","Are you sure for delete this line?":"Ви впевнені, що хочете видалити цей рядок?","Are you sure for delete this mark?":"Ви впевнені, що хочете видалити цю позначку?","Are you sure for delete this preset?":"Ви впевнені, що хочете видалити цей стиль?","Are you sure for loading the chart and discard unsaved changes?":"Ви впевнені, що хочете завантажити діаграму та відхилити незбережені зміни?","Are you sure for loading the preset and discard unsaved changes?":"Ви впевнені, що хочете завантажити попередні налаштування та відхилити незбережені зміни?","Arrange bools":"Упорядкуйте логічні значення",Auto:XFt,"Auto (Line or Steps)":"Авто (лінії або кроки)","Auto padding":"Авто-відступи","Auto save":"Автоматичне збереження","Auto-refresh":"Автооновлення","Auto-update:":"Автоматичне оновлення:",Axis:JFt,"Background of radar chart":"Фон радіолокаційної діаграми","Background:":"фон:",Backgrounds:YFt,Bar:KFt,"Bar settings":"Налаштування панелі","Bars width:":"Ширина барів:",Border:ZFt,"Border color:":"Колір рамки:","Border padding":"Заповнення межі","Border width":"Ширина кордону","Border width:":"Ширина межі:","Bottom, center, inside":"Знизу, по центру, всередині","Bottom, center, outside":"Знизу, по центру, зовні","Bottom, left":"Внизу, зліва","Bottom, left, inside":"Внизу, зліва, всередині","Bottom, right":"Внизу праворуч","Bottom, right, inside":"Внизу, справа, всередині","Bottom, right, outside":"Внизу, справа, зовні",Cancel:QFt,"Cannot create unique ID":"Неможливо створити унікальний ідентифікатор","Chart Type":"Тип діаграми","Chart background":"Тло діаграми","Chart background:":"Фон діаграми:","Chart size":"Розмір діаграми","Chart type":"Тип діаграми","Charts preview":"Попередній перегляд діаграм",Circle:e8t,Close:t8t,Collapse:r8t,"Collapse all lines":"Згорнути всі рядки","Collapse all markings":"Згорнути всі позначки",Color:n8t,"Common Y Axis":"Загальна вісь Y","Convert formula":"Формула перетворення",Copy:o8t,"Copy link to clipboard":"Копіювати посилання в буфер обміну",Counts:a8t,Create:i8t,"Create folder":"Створити папку","Create new folder":"Створити нову папку","Create new preset":"Створити новий стиль","Create preset":"Створити пресет","Custom chart background:":"Користувацький фон діаграми:","Custom time format":"Спеціальний формат часу",Data:s8t,Default:l8t,Delete:c8t,"Delete object":"Видалити об'єкт","Delete text value":"Видалити текстове значення",Dialog:d8t,"Digits after comma":"Цифри після коми","Drag me":"Перетягни мене",Edit:u8t,"Edit folder name":"Редагувати назву папки","Edit options for line %s":"Редагувати параметри для лінії %s","Edit state names":"Редагувати назви штатів","Empty preset cannot be saved!":"Порожній пресет неможливо зберегти!","Enable logging for new state":"Увімкнути журналювання для нового стану","Enable zoom and pan":"Увімкніть масштабування та панорамування","Enable zoom and pan:":"Увімкнути масштабування та панорамування:",End:p8t,"End:":"Кінець:","Enter chart name":"Введіть назву діаграми",Expand:h8t,"Expand all lines":"Розгорнути всі рядки","Expand all markings":"Розгорнути всі позначки","Export data color":"Колір кнопки експорту даних",Fill:f8t,"Fill color:":"Колір заливки:","Fill range:":"Діапазон заповнення:","Fill(0to1)":"Заповнити (0до1)",Folder:m8t,"Font size":"Розмір шрифту",From:g8t,"From line %s":"З рядка %s",Functions:v8t,Grid:y8t,"Grid color":"Колір сітки","Grid color:":"Колір сітки:","Group by":"Групувати за","HH:MM dd.mm":"ГГ:МХ дд.хв",Height:_8t,"Height:":"Висота:","Hide X grid":"Приховати сітку X","Hide Y grid":"Приховати сітку Y","Hide edit button:":"Приховати кнопку редагування:","Hide nulls in tooltip":"Приховати нулі у підказці","Hover details":"Деталі наведення","Hover details:":"Деталі наведення:",ID:b8t,IDs:w8t,"If the current value is not older than X seconds, assume it is still the same.":"Якщо поточне значення не старше X секунд, припустимо, що воно все ще те саме.","In seconds":"За секунди",Individual:x8t,"Input data":"Вхідні дані","Inside / No lines":"Всередині / без ліній","Inside / With lines":"Всередині / З лініями","Inside end":"Всередині, на кінці","Inside end bottom":"Всередині, на кінці, на дні","Inside end top":"Всередині, в кінці, зверху","Inside middle":"Всередині, посередині","Inside middle bottom":"Всередині, посередині, внизу","Inside middle top":"Всередині, посередині, зверху","Inside start":"Всередині, на початку","Inside start bottom":"Всередині, на початку, внизу","Inside start top":"Всередині, на початку, зверху",Instance:S8t,"Integral unit":"Цілісний блок","Interpolate:":"Інтерполяція:","Interpolation method":"Метод інтерполяції",Intervals:C8t,"Invalid object":"Недійсний об'єкт",Label:$8t,"Label color:":"Колір етикетки:","Label font size:":"Розмір шрифту етикетки:",Labels:k8t,"Last changed":"Востаннє змінено",Left:E8t,Legend:T8t,"Legend background":"Легенда фону","Legend background:":"Фон легенди:","Legend columns:":"Умовні стовпці:","Legend opacity (from 0 to 1):":"Непрозорість легенди (від 0 до 1):","Legend text color":"Колір тексту легенди",Limits:O8t,Line:D8t,"Line ID":"Ідентифікатор лінії","Line Width":"Ширина лінії","Line and area":"Лінія і площа","Line style":"Стиль лінії",Link:A8t,"Live update every":"Оновлення в реальному часі кожні","Live update every:":"Оновлення в реальному часі кожні:","Load without save":"Завантажити без збереження","Loading...":"Завантаження...","Lower value or ID":"Нижнє значення або ID",Main:I8t,Mark:M8t,Markings:P8t,Max:N8t,"Max:":"Максимум:",Members:R8t,"Middle, left, inside":"Посередині, зліва, всередині","Middle, right, inside":"Посередині, справа, всередині","Middle, right, outside":"Посередині, справа, зовні",Min:j8t,"Min:":"мінімум:",MinMax:L8t,More:z8t,"Move to folder":"Перемістити в папку",Multiple:F8t,"NULL as":"NULL як",Name:B8t,"Name:":"Ім'я:","No ID yet":"Поки що немає ідентифікатора","No background":"Без фону","No border:":"Без кордону:","No future":"Жодних цінностей у майбутньому","No interpolate in hover":"Немає інтерполяції в спливаючій підказці","No presets created yet":"Попередніх налаштувань ще не створено",None:W8t,Offset:H8t,Ok:U8t,Open:V8t,"Open chart in own window":"Відкрити діаграму у власному вікні","Open in own window":"Відкрити у власному вікні",Options:q8t,Orientation:G8t,Others:X8t,"Outside / No lines":"Зовні / без ліній","Outside/ With lines":"Зовні/ З лініями",Paste:J8t,Percentile:Y8t,Pie:K8t,"Please confirm":"Будь ласка, підтвердьте",Points:Z8t,Polar:Q8t,Polygonal:eBt,"Predefined background:":"Попередньо визначений фон:",Presets:tBt,Processing:rBt,"Processing...":"Обробка...",Range:nBt,"Range:":"діапазон:",Relative:oBt,Rename:aBt,"Rename preset":"Перейменувати стиль","Reorder presets in folders":"Зміна порядку налаштувань у папках","Reset settings":"Скидання налаштувань","Reset zoom after idle":"Скинути масштаб після простою",Right:iBt,Role:sBt,Room:lBt,Rooms:cBt,Root:dBt,"Save current preset and load":"Зберегти поточний пресет і завантажити","Save image button color":"Зберегти колір кнопки зображення","Save into:":"Зберегти в:","Scatter plot":"Діаграма розкиду",Seconds:uBt,Select:pBt,"Select ID":"Виберіть ID","Select for":"Виберіть для","Shadow Size":"Розмір тіні","Show controls":"Показати елементи керування","Show export data button":"Показати кнопку експорту даних","Show labels:":"Показати мітки:","Show legend":"Показати легенду","Show legend:":"Показати легенду:","Show only in legend":"Показувати лише в легенді","Show points":"Показати бали","Show save image button":"Показати кнопку збереження зображення","Show values":"Показати значення",Smoothing:hBt,Source:fBt,Spline:mBt,Stack:gBt,"Start:":"початок:","State value":"Державне значення","State value text":"Вкажіть текст значення","Step span:":"Діапазон кроків:","Step type":"Тип кроку","Step type:":"Тип кроку:",Steps:vBt,"Steps on start":"Кроки на старті",Style:yBt,"System settings":"Налаштування системи",Text:_Bt,"Text X offset":"Зміщення тексту X","Text Y offset":"Текст Y-зсув","Text by false":"Текст від false","Text by true":"Текст від правда","Text color":"Колір тексту","Text position":"Позиція тексту","Text size":"Розмір тексту","Text values not used":"Текстові значення не використовуються",Texts:bBt,Theme:wBt,"This time offset will be added to the X label by displaying data on the chart":"Цей часовий зсув буде додано до мітки X шляхом відображення даних на діаграмі","This time offset will be added to the request by reading data from DB":"Цей часовий зсув буде додано до запиту шляхом читання даних з БД","Ticks from:":"Використовуйте X-ticks з:",Time:xBt,"Time Span":"Проміжок часу","Time format":"Формат часу","Time format:":"Формат часу:","Time span":"Проміжок часу","Time stamp":"Позначка часу",Title:SBt,"Title color":"Колір заголовка","Title color:":"Колір заголовка:","Title position":"Титульна позиція","Title position:":"Титульна позиція:","Title size":"Розмір заголовка","Title size:":"Розмір назви:","Title:":"Назва:","Top, center, inside":"Верх, центр, всередині","Top, left":"Зверху, зліва","Top, left, inside":"Зверху, зліва, всередині","Top, right":"Зверху, справа","Top, right, inside":"Зверху, справа, всередині","Top, right, outside":"Зверху, справа, зовні",Type:CBt,Unit:$Bt,"Units:":"Одиниці вимірювання:",Update:kBt,"Update objects":"Оновлення об'єктів","Update states":"Оновити штати","Upper value or ID":"Верхнє значення або ID","Use comma":"Використовуйте кому","Use comma:":"Використовуйте кому:","Use state names":"Використовуйте назви держав","User defined":"Визначений користувачем","User defined names:":"Визначені користувачем імена:","Valid time (sec)":"Дійсний час (с)",Value:EBt,Width:TBt,"Width:":"Ширина:","Window background":"Фон вікна","Window background:":"Фон вікна:",With:OBt,"With border":"З бордюром","With lines":"З лініями",Without:DBt,"Without border":"Без кордону","Without lines":"Без ліній","X Axis":"Вісь X","X Axis position":"Положення осі X","X axis labels color:":"Колір міток X:","X labels color":"Колір міток X","X labels size":"Розмір шрифту X","X ticks color":"Колір галочок X","X-Axis ticks":"Кліщі осі X","X-Label-Offset":"X-Label Offset","X-Offset":"Х-зсув","Y Axis":"Вісь Y","Y Axis position":"Положення осі Y","Y axis labels color:":"Колір міток Y:","Y labels color":"Колір міток Y","Y labels size":"Розмір шрифту Y","Y ticks color":"Колір галочок Y","Y-Axis ticks":"Відмітки осі Y","Y-Offset":"Y-зсув",'You can create a new markings with a "+" on the right.':"Ви можете створити нові позначки за допомогою «+» праворуч.","You can drag and drop simple lines from the left list.":"Ви можете перетягувати прості лінії зі списку ліворуч.","add children":"додати дітей",area:ABt,auto:IBt,average:MBt,bar:PBt,bottom:NBt,bottomColor:RBt,convert_help:jBt,copied:LBt,copy:zBt,count:FBt,counts:BBt,current:WBt,dashed:HBt,day:UBt,default:"за замовчуванням",difference:VBt,dotted:qBt,dow:GBt,edit:XBt,"edit enum":"редагувати enum","edit file":"редагувати файл","end of 10 minutes":"кінець 10 хвилин","end of 12 hours":"кінець 12 год","end of 2 hours":"кінець 2 год","end of 3 hours":"кінець 3 год","end of 30 minutes":"закінчення 30 хвилин","end of 4 hours":"кінець 4 год","end of 5 minutes":"закінчення 5 хвилин","end of 6 hours":"кінець 6 год","end of 8 hours":"кінець 8 год","end of day":"кінець дня","end of hour":"кінець години","end of minute":"кінець хвилини","end of previous saturday":"кінець попередньої суботи (2 тижні)","end of previous sunday":"кінець попередньої неділі (2 тижні)","end of saturday":"кінець суботи","end of sunday":"кінець неділі",false:"нуль",horizontal:JBt,i15min:YBt,i1day:KBt,i1hour:ZBt,i30days:QBt,"ignore 'null'":'ігнорувати "null"',"ignore 'null':":"ігнорувати 'null':","ignore null values":"ігнорувати нульові значення",integral:e9t,"last value":"останнє значення",left:t9t,"left colored":"лівий кольоровий",leftColor:r9t,line:n9t,linear:o9t,lineplot:a9t,load:i9t,max:s9t,middle:l9t,min:c9t,minmax:d9t,month:u9t,new:"новий",no:p9t,"no null":" немає нуля","non-processed":"необроблені",none:h9t,none_no:f9t,now:m9t,null:"нуль",off:g9t,onchange:v9t,"own axis":"власна вісь",percentile:y9t,polar:_9t,raw:b9t,relative:w9t,reload:x9t,"restart script":"перезапустити сценарій",right:S9t,"right colored":"правильний колір",rightColor:C9t,role:$9t,save:k9t,"save %s":"зберегти %s",scatterplot:E9t,seconds:T9t,solid:O9t,spline:D9t,standard:A9t,static:"статичний",steps:I9t,"this month":"цього місяця","this year":"цього року",to:M9t,today:P9t,top:N9t,"top over":"зверху","top under":"зверху під",topColor:R9t,total:j9t,true:"останнє значення","update Preview":"оновлення попереднього перегляду","use 0 instead of null values":"використовувати 0 замість нульових значень",vertical:L9t,weekEurope:z9t,weekUsa:F9t,year:B9t,yes:W9t,ØL:"ØL","ØL - Line thickness":"ØL - Товщина лінії","ØL Line thickness":"ØL Товщина лінії",ØS:"ØS","ØS - Shadow size":"ØS - розмір тіні","ØS Shadow size":"ØS Розмір тіні"},U9t="承认",V9t="添加",q9t="总计的",G9t="类型",X9t="所有",J9t="外观",Y9t="申请",K9t="汽车",Z9t="轴",Q9t="背景资料",e7t="Bar",t7t="边界",r7t="取消",n7t="圆圈",o7t="关闭",a7t="坍方",i7t="颜色",s7t="复制",l7t="计数",c7t="创造",d7t="数据",u7t="默认的",p7t="删除",h7t="对话",f7t="编辑",m7t="结束",g7t="扩大",v7t="填充",y7t="夹",_7t="自: ",b7t="功能",w7t="格",x7t="高度",S7t="ID",C7t="IDs",$7t="个人",k7t="实例",E7t="间隔",T7t="标签",O7t="标签",D7t="左",A7t="传说",I7t="限度",M7t="线",P7t="链接",N7t="主要",R7t="打标",j7t="标记",L7t="Max",z7t="成员",F7t="Min",B7t="MinMax",W7t="更多",H7t="多",U7t="名称",V7t="没有",q7t="X-Offset",G7t='"确定"',X7t="打开",J7t="选项",Y7t="方向",K7t="其他",Z7t="糊",Q7t="百分位数",eWt="馅饼",tWt="点",rWt="极坐标图",nWt="多边形",oWt="预置",aWt="加工",iWt="范围",sWt="相对的",lWt="改名",cWt="右",dWt="作用",uWt="房间",pWt="房间数",hWt="根",fWt="几秒钟",mWt="选择",gWt="平滑",vWt="来源",yWt="花键",_Wt="栈",bWt="步骤",wWt="风格",xWt="文本",SWt="文字",CWt="主题",$Wt="时间",kWt="标题",EWt="类型",TWt="单元",OWt="更新",DWt="值",AWt="宽度",IWt="与",MWt="没有",PWt="区域",NWt="汽车",RWt="平均",jWt="酒吧",LWt="底部",zWt="底色",FWt="输入公式,如“val / 1000 + 3”。此公式将应用于所选数据点的所有值。",BWt="复制的",WWt="复制",HWt="数数",UWt="计数",VWt="当前值",qWt="虚线",GWt="一天",XWt="不同之处",JWt="点缀",YWt="星期几",KWt="编辑",ZWt="水平的",QWt="15分钟",eHt="1天",tHt="1小时",rHt="30天",nHt="不可缺少的",oHt="左",aHt="留着色",iHt="线",sHt="线性的",lHt="线图",cHt="负载",dHt="max",uHt="中间",pHt="min",hHt="minmax",fHt="一个月",mHt="没有",gHt="没有",vHt="没有任何",yHt="现在",_Ht="关闭",bHt="在改变",wHt="百分位数",xHt="极坐标图",SHt="生的",CHt="相对",$Ht="重新加载",kHt="右",EHt="右色",THt="作用",OHt="保存",DHt="散点图",AHt="几秒钟",IHt="固体",MHt="样",PHt="标准",NHt="步骤",RHt="至",jHt="今天",LHt="顶部",zHt="顶颜色的",FHt="总",BHt="垂直",WHt="结束一天",HHt="结束的星期天",UHt="年",VHt="是的",qHt={0:"零",1:"一个",2:"两个",3:"三",4:"四个",5:"五个","%s ago":"%s前","ØL":"ØL","ØS":"ØS","0 seconds":"0秒","0s":"0秒","1 day":"1天","1 hour":"1小时","1 minute":"1分钟","1 month":"1个月","1 week":"1周","1 year":"1年","10 minutes":"10分钟","10 seconds":"10秒钟","10m":"10分钟","10minutes":"结束的10分钟","10s":"10秒钟","12 hours":"12小时","12H":"12小时","12W":"12周","12hours":"结束的12小时","14 days":"14天","15 minutes":"15分钟","15 seconds":"15秒","15m":"15分钟","1D":"1天","1H":"1小时","1M":"1个月","1W":"1星期","1Y":"1年","1hour":"结束小时","1minute":"结束的分钟","1s":"1秒","2 days":"2天","2 hours":"2小时","2 minutes":"2分钟","2 months":"2个月","2 weeks":"2周","2 years":"2年","20 minutes":"20分钟","20 seconds":"20秒","26W":"26周","2D":"2天","2H":"2小时","2M":"2个月","2W":"2个星期","2Y":"2年","2hours":"结束2个小时","2m":"2分钟","2s":"2秒","3 days":"3天","3 hours":"3小时","3 minutes":"3分钟","3 months":"3个月","30 minutes":"30分钟","30 seconds":"30秒","300ms":"300毫秒","30m":"30分钟","30minutes":"30分钟","30s":"30秒","3D":"3天","3M":"3个月","3hours":"结束的3小时","3m":"3分钟","3s":"3秒","4 days":"4天","4 minutes":"4分钟","45 minutes":"45分钟","45m":"45分钟","4D":"4天","4W":"4个星期","4hours":"结束4个小时","4m":"4分钟","5 minutes":"5分钟","5 seconds":"5秒钟","500ms":"500毫秒","5m":"5分钟","5minutes":"结束5分钟","5s":"5秒钟","6 hours":"6小时","6 months":"6个月","60 seconds":"60秒","60s":"60秒","6H":"6小时","6M":"6个月","6hours":"结束的6个小时","7 days":"7天","8W":"8个星期","8hours":"端8个小时","90 seconds":"90秒",Acknowledged:U9t,Add:V9t,"Add line to chart":"向图表添加线","Add marking line to chart":"将标记线添加到图表","Add new line":"添加新的线","Add new markings":"添加新的标记","Add new state name":"添加新州名","Add new value":"增加新价值","After comma":"之后的逗号",Aggregate:q9t,"Aggregate for lines":"线路聚合",Aggregation:G9t,"Aggregation:":"类型:",All:X9t,"Animation:":"动画:",Appearance:J9t,Apply:Y9t,"Are you sure for closing folder and discard unsaved changes?":"您确定要关闭文件夹并放弃未保存的更改吗?","Are you sure for delete this line?":"您确定要删除此行吗?","Are you sure for delete this mark?":"您确定要删除此标记吗?","Are you sure for delete this preset?":"您确定要删除此预设吗?","Are you sure for loading the chart and discard unsaved changes?":"您确定要加载图表并放弃未保存的更改吗?","Are you sure for loading the preset and discard unsaved changes?":"您确定要加载预设并放弃未保存的更改吗?","Arrange bools":"安排布尔",Auto:K9t,"Auto (Line or Steps)":"自动(行或步)","Auto padding":"自动缩进","Auto save":"自动保存","Auto-refresh":"自动刷新","Auto-update:":"自动更新:",Axis:Z9t,"Background of radar chart":"雷达图背景","Background:":"背景:",Backgrounds:Q9t,Bar:e7t,"Bar settings":"酒吧设置","Bars width:":"酒吧宽度:",Border:t7t,"Border color:":"边界颜色:","Border padding":"边框填充","Border width":"边框宽度","Border width:":"边界的宽度:","Bottom, center, inside":"底,中心,里面","Bottom, center, outside":"底,中心,外","Bottom, left":"底,左","Bottom, left, inside":"底,左,内部","Bottom, right":"底,右","Bottom, right, inside":"底,右,内部","Bottom, right, outside":"底,右,外",Cancel:r7t,"Cannot create unique ID":"无法创建唯一 ID","Chart Type":"图表的类型","Chart background":"图表背景","Chart background:":"图背景:","Chart size":"图表大小","Chart type":"图表类型","Charts preview":"图表预览",Circle:n7t,Close:o7t,Collapse:a7t,"Collapse all lines":"收合所有行","Collapse all markings":"收起所有标记",Color:i7t,"Common Y Axis":"共同Y轴","Convert formula":"换算公式",Copy:s7t,"Copy link to clipboard":"复制链接到剪贴板",Counts:l7t,Create:c7t,"Create folder":"创建文件夹","Create new folder":"建立新资料夹","Create new preset":"创建新的预设","Create preset":"创建预设","Custom chart background:":"定制图背景:","Custom time format":"自定义时间格式",Data:d7t,Default:u7t,Delete:p7t,"Delete object":"删除的对象","Delete text value":"删除文本值",Dialog:h7t,"Digits after comma":"逗号后的数字","Drag me":"拉我一把",Edit:f7t,"Edit folder name":"编辑文件夹名称","Edit options for line %s":"编辑的选择行%s","Edit state names":"编辑州名称","Empty preset cannot be saved!":"空预设无法保存!","Enable logging for new state":"启用新状态的日志记录","Enable zoom and pan":"启用缩放和平移","Enable zoom and pan:":"使缩小和锅:",End:m7t,"End:":"结束:","Enter chart name":"该图表的名字",Expand:g7t,"Expand all lines":"展开所有行","Expand all markings":"展开所有标记","Export data color":"导出数据按钮颜色",Fill:v7t,"Fill color:":"填补颜色:","Fill range:":"填补范围:","Fill(0to1)":"填补(0to1)",Folder:y7t,"Font size":"字体大小",From:_7t,"From line %s":"从第%s行",Functions:b7t,Grid:w7t,"Grid color":"网格颜色","Grid color:":"格颜色:","Group by":"通过...分组","HH:MM dd.mm":"HH:MM dd.mm",Height:x7t,"Height:":"高度:","Hide X grid":"隐藏X网格","Hide Y grid":"隐藏Y格","Hide edit button:":"隐藏编辑按钮:","Hide nulls in tooltip":"在工具提示中隐藏空值","Hover details":"悬停详细信息","Hover details:":"悬停的详细信息:",ID:S7t,IDs:C7t,"If the current value is not older than X seconds, assume it is still the same.":"如果当前值不超过X秒,则假定它仍然相同。","In seconds":"马上",Individual:$7t,"Input data":"输入数据","Inside / No lines":"内部/无线","Inside / With lines":"内部/有线","Inside end":"里面,尽头","Inside end bottom":"里面,最后,底部","Inside end top":"在里面,在最后,在上面","Inside middle":"在里面,在中间","Inside middle bottom":"里面,中间,底部","Inside middle top":"里面,中间,顶部","Inside start":"里面,一开始","Inside start bottom":"里面,开始,底部","Inside start top":"里面,开始,在上面",Instance:k7t,"Integral unit":"整体单元","Interpolate:":"插入:","Interpolation method":"插值法",Intervals:E7t,"Invalid object":"无效对象",Label:T7t,"Label color:":"标签颜色:","Label font size:":"签字体大小:",Labels:O7t,"Last changed":"最后改变",Left:D7t,Legend:A7t,"Legend background":"图例背景","Legend background:":"传说背景:","Legend columns:":"图例列:","Legend opacity (from 0 to 1):":"传说不透明(从0至1):","Legend text color":"图例文字颜色",Limits:I7t,Line:M7t,"Line ID":"行ID","Line Width":"线宽度","Line and area":"线和面积","Line style":"线型",Link:P7t,"Live update every":"实时更新","Live update every:":"实时更新每:","Load without save":"载入但不保存","Loading...":"装载...","Lower value or ID":"值较低或身份",Main:N7t,Mark:R7t,Markings:j7t,Max:L7t,"Max:":"最大值:",Members:z7t,"Middle, left, inside":"中间,左,内部","Middle, right, inside":"中间,正确的,里面","Middle, right, outside":"中间,正确的,外",Min:F7t,"Min:":"最低限度:",MinMax:B7t,More:W7t,"Move to folder":"移至文件夹",Multiple:H7t,"NULL as":"NULL作",Name:U7t,"Name:":"名称:","No ID yet":"暂无ID","No background":"没有背景","No border:":"没有边界:","No future":"未来没有任何价值","No interpolate in hover":"工具提示中没有插值","No presets created yet":"尚未创建预设",None:V7t,Offset:q7t,Ok:G7t,Open:X7t,"Open chart in own window":"在自己的窗口中打开图表","Open in own window":"在自己的窗口中打开",Options:J7t,Orientation:Y7t,Others:K7t,"Outside / No lines":"外面/有线","Outside/ With lines":"外面/有线",Paste:Z7t,Percentile:Q7t,Pie:eWt,"Please confirm":"请确认",Points:tWt,Polar:rWt,Polygonal:nWt,"Predefined background:":"预先定义的背景:",Presets:oWt,Processing:aWt,"Processing...":"处理...",Range:iWt,"Range:":"范围:",Relative:sWt,Rename:lWt,"Rename preset":"重命名预设","Reorder presets in folders":"重新排序文件夹中的预设","Reset settings":"重置的设置","Reset zoom after idle":"闲置后重置变焦",Right:cWt,Role:dWt,Room:uWt,Rooms:pWt,Root:hWt,"Save current preset and load":"保存当前预设并加载","Save image button color":"保存图像按钮颜色","Save into:":"节省成:","Scatter plot":"散点图",Seconds:fWt,Select:mWt,"Select ID":"Select ID","Select for":"选择用于","Shadow Size":"影子的尺寸","Show controls":"显示控件","Show export data button":"显示导出数据按钮","Show labels:":"显示标签:","Show legend":"显示图例","Show legend:":"示例:","Show only in legend":"仅在图例中显示","Show points":"显示点","Show save image button":"显示保存图像按钮","Show values":"显示数值",Smoothing:gWt,Source:vWt,Spline:yWt,Stack:_Wt,"Start:":"开始:","State value":"状态值","State value text":"状态值文本","Step span:":"步范围:","Step type":"步骤类型","Step type:":"步骤类型:",Steps:bWt,"Steps on start":"开始步骤",Style:wWt,"System settings":"系统设置的",Text:xWt,"Text X offset":"文本偏 X","Text Y offset":"文本 Y 偏移","Text by false":"假文字","Text by true":"文字真实","Text color":"文字颜色","Text position":"文的位置","Text size":"文字的大小","Text values not used":"未使用文本值",Texts:SWt,Theme:CWt,"This time offset will be added to the X label by displaying data on the chart":"通过在图表上显示数据,此时间偏移量将添加到 X 标签","This time offset will be added to the request by reading data from DB":"该时间偏移量将通过从 DB 读取数据添加到请求中","Ticks from:":"使用X-蜱:",Time:$Wt,"Time Span":"时间跨度","Time format":"时间格式","Time format:":"时间格式:","Time span":"时间跨度","Time stamp":"时间戳",Title:kWt,"Title color":"标题颜色","Title color:":"标题颜色:","Title position":"头衔","Title position:":"标题中的位置:","Title size":"标题大小","Title size:":"标题尺寸:","Title:":"标题:","Top, center, inside":"顶部,中心,里面","Top, left":"顶,左","Top, left, inside":"顶,左,内部","Top, right":"顶部右","Top, right, inside":"上右内侧","Top, right, outside":"上右之外",Type:EWt,Unit:TWt,"Units:":"单位:",Update:OWt,"Update objects":"更新对象","Update states":"更新国家","Upper value or ID":"上值或身份","Use comma":"使用逗号","Use comma:":"使用逗号:","Use state names":"使用州名","User defined":"用户定义的","User defined names:":"用户限定的名称:","Valid time (sec)":"有效时间(秒)",Value:DWt,Width:AWt,"Width:":"宽度:","Window background":"窗口背景","Window background:":"窗口背景:",With:IWt,"With border":"有边框","With lines":"有线",Without:MWt,"Without border":"无国界","Without lines":"无线","X Axis":"X轴","X Axis position":"X轴位置","X axis labels color:":"X标颜色:","X labels color":"X标签颜色","X labels size":"X 字体大小","X ticks color":"X刻度颜色","X-Axis ticks":"X轴蜱","X-Label-Offset":"X 标签偏移","X-Offset":"X偏移","Y Axis":"Y轴","Y Axis position":"Y轴位置","Y axis labels color:":"Y颜色的标签:","Y labels color":"Y标签颜色","Y labels size":"Y字号","Y ticks color":"Y刻度颜色","Y-Axis ticks":"Y轴蜱","Y-Offset":"Y-Offset",'You can create a new markings with a "+" on the right.':"您可以在右侧创建带有“ +”的新标记。","You can drag and drop simple lines from the left list.":"您可以从左侧列表中拖放简单的行。","add children":"添加儿童",area:PWt,auto:NWt,average:RWt,bar:jWt,bottom:LWt,bottomColor:zWt,convert_help:FWt,copied:BWt,copy:WWt,count:HWt,counts:UWt,current:VWt,dashed:qWt,day:GWt,default:"默认的",difference:XWt,dotted:JWt,dow:YWt,edit:KWt,"edit enum":"编辑enum","edit file":"编辑的文件","end of 10 minutes":"结束的10分钟","end of 12 hours":"结束的12小时","end of 2 hours":"结束2个小时","end of 3 hours":"结束的3小时","end of 30 minutes":"30分钟","end of 4 hours":"结束4个小时","end of 5 minutes":"结束5分钟","end of 6 hours":"结束的6个小时","end of 8 hours":"端8个小时","end of day":"结束一天","end of hour":"结束小时","end of minute":"结束的分钟","end of previous saturday":"上周六结束(2周)","end of previous sunday":"上周日结束(2 周)","end of saturday":"结束的星期六","end of sunday":"结束的星期天",false:"空",horizontal:ZWt,i15min:QWt,i1day:eHt,i1hour:tHt,i30days:rHt,"ignore 'null'":"忽略'null'","ignore 'null':":"忽略'null':","ignore null values":"忽略空值",integral:nHt,"last value":"最后一个值",left:oHt,"left colored":"左色",leftColor:aHt,line:iHt,linear:sHt,lineplot:lHt,load:cHt,max:dHt,middle:uHt,min:pHt,minmax:hHt,month:fHt,new:"新的",no:mHt,"no null":"与nbsp;没有空","non-processed":"未加工",none:gHt,none_no:vHt,now:yHt,null:"空",off:_Ht,onchange:bHt,"own axis":"自己的轴",percentile:wHt,polar:xHt,raw:SHt,relative:CHt,reload:$Ht,"restart script":"重新启动脚本",right:kHt,"right colored":"正确的颜色",rightColor:EHt,role:THt,save:OHt,"save %s":"保存%s",scatterplot:DHt,seconds:AHt,solid:IHt,spline:MHt,standard:PHt,static:"静",steps:NHt,"this month":"这个月","this year":"今年",to:RHt,today:jHt,top:LHt,"top over":"顶上","top under":"顶下",topColor:zHt,total:FHt,true:"最后一个值","update Preview":"更新预览","use 0 instead of null values":"使用0,而不是空值",vertical:BHt,weekEurope:WHt,weekUsa:HHt,year:UHt,yes:VHt,ØL:"ØL","ØL - Line thickness":"ØL-线宽","ØL Line thickness":"ØL线宽",ØS:"ØS","ØS - Shadow size":"ØS-阴影尺寸","ØS Shadow size":"ØS阴影尺寸"};var Zn={},Kc={},AS,Fz;function GV(){if(Fz)return AS;Fz=1;var t=typeof xs=="object"&&xs&&xs.Object===Object&&xs;return AS=t,AS}var IS,Bz;function ui(){if(Bz)return IS;Bz=1;var t=GV(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return IS=r,IS}var MS,Wz;function Ff(){if(Wz)return MS;Wz=1;var t=ui(),e=t.Symbol;return MS=e,MS}var PS,Hz;function GHt(){if(Hz)return PS;Hz=1;var t=Ff(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,o=t?t.toStringTag:void 0;function a(i){var s=r.call(i,o),l=i[o];try{i[o]=void 0;var d=!0}catch{}var h=n.call(i);return d&&(s?i[o]=l:delete i[o]),h}return PS=a,PS}var NS,Uz;function XHt(){if(Uz)return NS;Uz=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return NS=r,NS}var RS,Vz;function nc(){if(Vz)return RS;Vz=1;var t=Ff(),e=GHt(),r=XHt(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function i(s){return s==null?s===void 0?o:n:a&&a in Object(s)?e(s):r(s)}return RS=i,RS}var jS,qz;function Ma(){if(qz)return jS;qz=1;var t=Array.isArray;return jS=t,jS}var LS,Gz;function Wi(){if(Gz)return LS;Gz=1;function t(e){return e!=null&&typeof e=="object"}return LS=t,LS}var zS,Xz;function JHt(){if(Xz)return zS;Xz=1;var t=nc(),e=Ma(),r=Wi(),n="[object String]";function o(a){return typeof a=="string"||!e(a)&&r(a)&&t(a)==n}return zS=o,zS}var FS,Jz;function YHt(){if(Jz)return FS;Jz=1;function t(e){return function(r,n,o){for(var a=-1,i=Object(r),s=o(r),l=s.length;l--;){var d=s[e?l:++a];if(n(i[d],d,i)===!1)break}return r}}return FS=t,FS}var BS,Yz;function KHt(){if(Yz)return BS;Yz=1;var t=YHt(),e=t();return BS=e,BS}var WS,Kz;function ZHt(){if(Kz)return WS;Kz=1;function t(e,r){for(var n=-1,o=Array(e);++n-1&&n%1==0&&n-1&&r%1==0&&r<=t}return GS=e,GS}var XS,o6;function tUt(){if(o6)return XS;o6=1;var t=nc(),e=ID(),r=Wi(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",i="[object Date]",s="[object Error]",l="[object Function]",d="[object Map]",h="[object Number]",u="[object Object]",f="[object RegExp]",g="[object Set]",y="[object String]",b="[object WeakMap]",x="[object ArrayBuffer]",S="[object DataView]",T="[object Float32Array]",E="[object Float64Array]",$="[object Int8Array]",k="[object Int16Array]",O="[object Int32Array]",M="[object Uint8Array]",R="[object Uint8ClampedArray]",j="[object Uint16Array]",I="[object Uint32Array]",z={};z[T]=z[E]=z[$]=z[k]=z[O]=z[M]=z[R]=z[j]=z[I]=!0,z[n]=z[o]=z[x]=z[a]=z[S]=z[i]=z[s]=z[l]=z[d]=z[h]=z[u]=z[f]=z[g]=z[y]=z[b]=!1;function W(L){return r(L)&&e(L.length)&&!!z[t(L)]}return XS=W,XS}var JS,a6;function MD(){if(a6)return JS;a6=1;function t(e){return function(r){return e(r)}}return JS=t,JS}var yh={exports:{}};yh.exports;var i6;function PD(){return i6||(i6=1,function(t,e){var r=GV(),n=e&&!e.nodeType&&e,o=n&&!0&&t&&!t.nodeType&&t,a=o&&o.exports===n,i=a&&r.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||i&&i.binding&&i.binding("util")}catch{}}();t.exports=s}(yh,yh.exports)),yh.exports}var YS,s6;function YV(){if(s6)return YS;s6=1;var t=tUt(),e=MD(),r=PD(),n=r&&r.isTypedArray,o=n?e(n):t;return YS=o,YS}var KS,l6;function KV(){if(l6)return KS;l6=1;var t=ZHt(),e=XV(),r=Ma(),n=AD(),o=JV(),a=YV(),i=Object.prototype,s=i.hasOwnProperty;function l(d,h){var u=r(d),f=!u&&e(d),g=!u&&!f&&n(d),y=!u&&!f&&!g&&a(d),b=u||f||g||y,x=b?t(d.length,String):[],S=x.length;for(var T in d)(h||s.call(d,T))&&!(b&&(T=="length"||g&&(T=="offset"||T=="parent")||y&&(T=="buffer"||T=="byteLength"||T=="byteOffset")||o(T,S)))&&x.push(T);return x}return KS=l,KS}var ZS,c6;function ND(){if(c6)return ZS;c6=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,o=typeof n=="function"&&n.prototype||t;return r===o}return ZS=e,ZS}var QS,d6;function ZV(){if(d6)return QS;d6=1;function t(e,r){return function(n){return e(r(n))}}return QS=t,QS}var eC,u6;function rUt(){if(u6)return eC;u6=1;var t=ZV(),e=t(Object.keys,Object);return eC=e,eC}var tC,p6;function nUt(){if(p6)return tC;p6=1;var t=ND(),e=rUt(),r=Object.prototype,n=r.hasOwnProperty;function o(a){if(!t(a))return e(a);var i=[];for(var s in Object(a))n.call(a,s)&&s!="constructor"&&i.push(s);return i}return tC=o,tC}var rC,h6;function zu(){if(h6)return rC;h6=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return rC=t,rC}var nC,f6;function QV(){if(f6)return nC;f6=1;var t=nc(),e=zu(),r="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function i(s){if(!e(s))return!1;var l=t(s);return l==n||l==o||l==r||l==a}return nC=i,nC}var oC,m6;function c_(){if(m6)return oC;m6=1;var t=QV(),e=ID();function r(n){return n!=null&&e(n.length)&&!t(n)}return oC=r,oC}var aC,g6;function Bf(){if(g6)return aC;g6=1;var t=KV(),e=nUt(),r=c_();function n(o){return r(o)?t(o):e(o)}return aC=n,aC}var iC,v6;function eq(){if(v6)return iC;v6=1;var t=KHt(),e=Bf();function r(n,o){return n&&t(n,o,e)}return iC=r,iC}var sC,y6;function tq(){if(y6)return sC;y6=1;function t(e){return e}return sC=t,sC}var lC,_6;function oUt(){if(_6)return lC;_6=1;var t=tq();function e(r){return typeof r=="function"?r:t}return lC=e,lC}var cC,b6;function RD(){if(b6)return cC;b6=1;var t=eq(),e=oUt();function r(n,o){return n&&t(n,e(o))}return cC=r,cC}var dC,w6;function jD(){if(w6)return dC;w6=1;var t=ZV(),e=t(Object.getPrototypeOf,Object);return dC=e,dC}var uC,x6;function aUt(){if(x6)return uC;x6=1;var t=nc(),e=jD(),r=Wi(),n="[object Object]",o=Function.prototype,a=Object.prototype,i=o.toString,s=a.hasOwnProperty,l=i.call(Object);function d(h){if(!r(h)||t(h)!=n)return!1;var u=e(h);if(u===null)return!0;var f=s.call(u,"constructor")&&u.constructor;return typeof f=="function"&&f instanceof f&&i.call(f)==l}return uC=d,uC}var pC,S6;function rq(){if(S6)return pC;S6=1;function t(e,r){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n-1}return yC=e,yC}var _C,D6;function dUt(){if(D6)return _C;D6=1;var t=d_();function e(r,n){var o=this.__data__,a=t(o,r);return a<0?(++this.size,o.push([r,n])):o[a][1]=n,this}return _C=e,_C}var bC,A6;function u_(){if(A6)return bC;A6=1;var t=iUt(),e=sUt(),r=lUt(),n=cUt(),o=dUt();function a(i){var s=-1,l=i==null?0:i.length;for(this.clear();++sg))return!1;var b=u.get(i),x=u.get(s);if(b&&x)return b==s&&x==i;var S=-1,T=!0,E=l&o?new t:void 0;for(u.set(i,s),u.set(s,i);++S0&&arguments[0]!==void 0?arguments[0]:[],f=[];return(0,s.default)(u,function(g){Array.isArray(g)?h(g).map(function(y){return f.push(y)}):(0,a.default)(g)?(0,n.default)(g,function(y,b){y===!0&&f.push(b),f.push(b+"-"+y)}):(0,e.default)(g)&&f.push(g)}),f};return Kc.default=d,Kc}var Zc={},G$,a8;function mVt(){if(a8)return G$;a8=1;function t(e,r){for(var n=-1,o=e==null?0:e.length;++n1&&arguments[1]!==void 0?arguments[1]:[],h=l.default&&(0,n.default)(l.default)||{};return d.map(function(u){var f=l[u];return f&&(0,e.default)(f,function(g,y){h[y]||(h[y]={}),h[y]=o({},h[y],f[y])}),u}),h};return Zc.default=i,Zc}var Qc={},j8;function BVt(){if(j8)return Qc;j8=1,Object.defineProperty(Qc,"__esModule",{value:!0}),Qc.autoprefix=void 0;var t=RD(),e=n(t),r=Object.assign||function(i){for(var s=1;s1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){i(f,u);function f(){var g,y,b,x;o(this,f);for(var S=arguments.length,T=Array(S),E=0;E1&&arguments[1]!==void 0?arguments[1]:!0;o[s]=l};return r===0&&a("first-child"),r===n-1&&a("last-child"),(r===0||r%2===0)&&a("even"),Math.abs(r%2)===1&&a("odd"),a("nth-child",r),o};return Fg.default=t,Fg}var B8;function VVt(){if(B8)return Zn;B8=1,Object.defineProperty(Zn,"__esModule",{value:!0}),Zn.ReactCSS=Zn.loop=Zn.handleActive=Zn.handleHover=Zn.hover=void 0;var t=fVt(),e=f(t),r=FVt(),n=f(r),o=BVt(),a=f(o),i=WVt(),s=f(i),l=HVt(),d=f(l),h=UVt(),u=f(h);function f(y){return y&&y.__esModule?y:{default:y}}Zn.hover=s.default,Zn.handleHover=s.default,Zn.handleActive=d.default,Zn.loop=u.default;var g=Zn.ReactCSS=function(b){for(var x=arguments.length,S=Array(x>1?x-1:0),T=1;Ts?f=1:f=Math.round(u*100/s)/100,r.a!==f)return{h:r.h,s:r.s,l:r.l,a:f,source:"rgb"}}else{var g=void 0;if(h<0?g=0:h>i?g=1:g=Math.round(h*100/i)/100,o!==g)return{h:r.h,s:r.s,l:r.l,a:g,source:"rgb"}}return null},Sk={},GVt=function(e,r,n,o){if(typeof document>"u"&&!o)return null;var a=o?new o:document.createElement("canvas");a.width=n*2,a.height=n*2;var i=a.getContext("2d");return i?(i.fillStyle=e,i.fillRect(0,0,a.width,a.height),i.fillStyle=r,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),a.toDataURL()):null},XVt=function(e,r,n,o){var a=e+"-"+r+"-"+n+(o?"-server":"");if(Sk[a])return Sk[a];var i=GVt(e,r,n,o);return Sk[a]=i,i},W8=Object.assign||function(t){for(var e=1;e-1},sqt=function(e){return Number(String(e).replace(/%/g,""))},lqt=1,zt=function(t){rqt(e,t);function e(r){eqt(this,e);var n=tqt(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.handleBlur=function(){n.state.blurValue&&n.setState({value:n.state.blurValue,blurValue:null})},n.handleChange=function(o){n.setUpdatedValue(o.target.value,o)},n.handleKeyDown=function(o){var a=sqt(o.target.value);if(!isNaN(a)&&iqt(o.keyCode)){var i=n.getArrowOffset(),s=o.keyCode===yq?a+i:a-i;n.setUpdatedValue(s,o)}},n.handleDrag=function(o){if(n.props.dragLabel){var a=Math.round(n.props.value+o.movementX);a>=0&&a<=n.props.dragMax&&n.props.onChange&&n.props.onChange(n.getValueObjectWithLabel(a),o)}},n.handleMouseDown=function(o){n.props.dragLabel&&(o.preventDefault(),n.handleDrag(o),window.addEventListener("mousemove",n.handleDrag),window.addEventListener("mouseup",n.handleMouseUp))},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleDrag),window.removeEventListener("mouseup",n.handleMouseUp)},n.state={value:String(r.value).toUpperCase(),blurValue:String(r.value).toUpperCase()},n.inputId="rc-editable-input-"+lqt++,n}return ZVt(e,[{key:"componentDidUpdate",value:function(n,o){this.props.value!==this.state.value&&(n.value!==this.props.value||o.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(n){return QVt({},this.props.label,n)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||nqt}},{key:"setUpdatedValue",value:function(n,o){var a=this.props.label?this.getValueObjectWithLabel(n):n;this.props.onChange&&this.props.onChange(a,o),this.setState({value:n})}},{key:"render",value:function(){var n=this,o=Et({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return m.createElement("div",{style:o.wrap},m.createElement("input",{id:this.inputId,style:o.input,ref:function(i){return n.input=i},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?m.createElement("label",{htmlFor:this.inputId,style:o.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(A.PureComponent||A.Component),cqt=function(e,r,n,o){var a=o.clientWidth,i=o.clientHeight,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(o.getBoundingClientRect().left+window.pageXOffset),h=l-(o.getBoundingClientRect().top+window.pageYOffset);if(r==="vertical"){var u=void 0;if(h<0)u=359;else if(h>i)u=0;else{var f=-(h*100/i)+100;u=360*f/100}if(n.h!==u)return{h:u,s:n.s,l:n.l,a:n.a,source:"hsl"}}else{var g=void 0;if(d<0)g=0;else if(d>a)g=359;else{var y=d*100/a;g=360*y/100}if(n.h!==g)return{h:g,s:n.s,l:n.l,a:n.a,source:"hsl"}}return null},dqt=function(){function t(e,r){for(var n=0;n-1},lqt=function(e){return Number(String(e).replace(/%/g,""))},cqt=1,zt=function(t){nqt(e,t);function e(r){tqt(this,e);var n=rqt(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.handleBlur=function(){n.state.blurValue&&n.setState({value:n.state.blurValue,blurValue:null})},n.handleChange=function(o){n.setUpdatedValue(o.target.value,o)},n.handleKeyDown=function(o){var a=lqt(o.target.value);if(!isNaN(a)&&sqt(o.keyCode)){var i=n.getArrowOffset(),s=o.keyCode===yq?a+i:a-i;n.setUpdatedValue(s,o)}},n.handleDrag=function(o){if(n.props.dragLabel){var a=Math.round(n.props.value+o.movementX);a>=0&&a<=n.props.dragMax&&n.props.onChange&&n.props.onChange(n.getValueObjectWithLabel(a),o)}},n.handleMouseDown=function(o){n.props.dragLabel&&(o.preventDefault(),n.handleDrag(o),window.addEventListener("mousemove",n.handleDrag),window.addEventListener("mouseup",n.handleMouseUp))},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleDrag),window.removeEventListener("mouseup",n.handleMouseUp)},n.state={value:String(r.value).toUpperCase(),blurValue:String(r.value).toUpperCase()},n.inputId="rc-editable-input-"+cqt++,n}return QVt(e,[{key:"componentDidUpdate",value:function(n,o){this.props.value!==this.state.value&&(n.value!==this.props.value||o.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(n){return eqt({},this.props.label,n)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||oqt}},{key:"setUpdatedValue",value:function(n,o){var a=this.props.label?this.getValueObjectWithLabel(n):n;this.props.onChange&&this.props.onChange(a,o),this.setState({value:n})}},{key:"render",value:function(){var n=this,o=Et({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return m.createElement("div",{style:o.wrap},m.createElement("input",{id:this.inputId,style:o.input,ref:function(i){return n.input=i},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?m.createElement("label",{htmlFor:this.inputId,style:o.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(A.PureComponent||A.Component),dqt=function(e,r,n,o){var a=o.clientWidth,i=o.clientHeight,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(o.getBoundingClientRect().left+window.pageXOffset),h=l-(o.getBoundingClientRect().top+window.pageYOffset);if(r==="vertical"){var u=void 0;if(h<0)u=359;else if(h>i)u=0;else{var f=-(h*100/i)+100;u=360*f/100}if(n.h!==u)return{h:u,s:n.s,l:n.l,a:n.a,source:"hsl"}}else{var g=void 0;if(d<0)g=0;else if(d>a)g=359;else{var y=d*100/a;g=360*y/100}if(n.h!==g)return{h:g,s:n.s,l:n.l,a:n.a,source:"hsl"}}return null},uqt=function(){function t(e,r){for(var n=0;n-1}function _qt(t,e){var r=this.__data__,n=v_(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Hi(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=kGt}function Wu(t){return t!=null&&ZD(t.length)&&!JD(t)}function EGt(t){return zs(t)&&Wu(t)}function TGt(){return!1}var kq=typeof br=="object"&&br&&!br.nodeType&&br,K8=kq&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,OGt=K8&&K8.exports===kq,Z8=OGt?Pa.Buffer:void 0,DGt=Z8?Z8.isBuffer:void 0,Zv=DGt||TGt,AGt="[object Object]",IGt=Function.prototype,MGt=Object.prototype,Eq=IGt.toString,PGt=MGt.hasOwnProperty,NGt=Eq.call(Object);function RGt(t){if(!zs(t)||ac(t)!=AGt)return!1;var e=Cq(t);if(e===null)return!0;var r=PGt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Eq.call(r)==NGt}var jGt="[object Arguments]",LGt="[object Array]",zGt="[object Boolean]",FGt="[object Date]",BGt="[object Error]",WGt="[object Function]",HGt="[object Map]",UGt="[object Number]",VGt="[object Object]",qGt="[object RegExp]",GGt="[object Set]",XGt="[object String]",JGt="[object WeakMap]",YGt="[object ArrayBuffer]",KGt="[object DataView]",ZGt="[object Float32Array]",QGt="[object Float64Array]",eXt="[object Int8Array]",tXt="[object Int16Array]",rXt="[object Int32Array]",nXt="[object Uint8Array]",oXt="[object Uint8ClampedArray]",aXt="[object Uint16Array]",iXt="[object Uint32Array]",vr={};vr[ZGt]=vr[QGt]=vr[eXt]=vr[tXt]=vr[rXt]=vr[nXt]=vr[oXt]=vr[aXt]=vr[iXt]=!0;vr[jGt]=vr[LGt]=vr[YGt]=vr[zGt]=vr[KGt]=vr[FGt]=vr[BGt]=vr[WGt]=vr[HGt]=vr[UGt]=vr[VGt]=vr[qGt]=vr[GGt]=vr[XGt]=vr[JGt]=!1;function sXt(t){return zs(t)&&ZD(t.length)&&!!vr[ac(t)]}function lXt(t){return function(e){return t(e)}}var Tq=typeof br=="object"&&br&&!br.nodeType&&br,jh=Tq&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,cXt=jh&&jh.exports===Tq,$k=cXt&&_q.process,Q8=function(){try{var t=jh&&jh.require&&jh.require("util").types;return t||$k&&$k.binding&&$k.binding("util")}catch{}}(),eB=Q8&&Q8.isTypedArray,QD=eB?lXt(eB):sXt;function B2(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var dXt=Object.prototype,uXt=dXt.hasOwnProperty;function pXt(t,e,r){var n=t[e];(!(uXt.call(t,e)&&Wf(n,r))||r===void 0&&!(e in t))&&YD(t,e,r)}function hXt(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a-1&&t%1==0&&t0){if(++e>=OXt)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var MXt=IXt(TXt);function PXt(t,e){return MXt(kXt(t,e,__),t+"")}function NXt(t,e,r){if(!oa(r))return!1;var n=typeof e;return(n=="number"?Wu(r)&&eA(e,r.length):n=="string"&&e in r)?Wf(r[e],t):!1}function RXt(t){return PXt(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(o--,a):void 0,i&&NXt(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n=e||M<0||u&&R>=a}function S(){var O=kk();if(x(O))return T(O);s=setTimeout(S,b(O))}function T(O){return s=void 0,f&&n?g(O):(n=o=void 0,i)}function E(){s!==void 0&&clearTimeout(s),d=0,n=l=o=s=void 0}function $(){return s===void 0?i:T(kk())}function k(){var O=kk(),M=x(O);if(n=arguments,o=this,l=O,M){if(s===void 0)return y(l);if(u)return clearTimeout(s),s=setTimeout(S,e),g(l)}return s===void 0&&(s=setTimeout(S,e)),i}return k.cancel=E,k.flush=$,k}var JXt="Expected a function";function YXt(t,e,r){var n=!0,o=!0;if(typeof t!="function")throw new TypeError(JXt);return oa(r)&&(n="leading"in r?!!r.leading:n,o="trailing"in r?!!r.trailing:o),Iq(t,e,{leading:n,maxWait:e,trailing:o})}var KXt=function(e,r,n){var o=n.getBoundingClientRect(),a=o.width,i=o.height,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(n.getBoundingClientRect().left+window.pageXOffset),h=l-(n.getBoundingClientRect().top+window.pageYOffset);d<0?d=0:d>a&&(d=a),h<0?h=0:h>i&&(h=i);var u=d/a,f=1-h/i;return{h:r.h,s:u,v:f,a:r.a,source:"hsv"}},ZXt=function(){function t(e,r){for(var n=0;n-1}function bqt(t,e){var r=this.__data__,n=v_(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Hi(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=EGt}function Wu(t){return t!=null&&ZD(t.length)&&!JD(t)}function TGt(t){return zs(t)&&Wu(t)}function OGt(){return!1}var kq=typeof br=="object"&&br&&!br.nodeType&&br,K8=kq&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,DGt=K8&&K8.exports===kq,Z8=DGt?Pa.Buffer:void 0,AGt=Z8?Z8.isBuffer:void 0,Zv=AGt||OGt,IGt="[object Object]",MGt=Function.prototype,PGt=Object.prototype,Eq=MGt.toString,NGt=PGt.hasOwnProperty,RGt=Eq.call(Object);function jGt(t){if(!zs(t)||ac(t)!=IGt)return!1;var e=Cq(t);if(e===null)return!0;var r=NGt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Eq.call(r)==RGt}var LGt="[object Arguments]",zGt="[object Array]",FGt="[object Boolean]",BGt="[object Date]",WGt="[object Error]",HGt="[object Function]",UGt="[object Map]",VGt="[object Number]",qGt="[object Object]",GGt="[object RegExp]",XGt="[object Set]",JGt="[object String]",YGt="[object WeakMap]",KGt="[object ArrayBuffer]",ZGt="[object DataView]",QGt="[object Float32Array]",eXt="[object Float64Array]",tXt="[object Int8Array]",rXt="[object Int16Array]",nXt="[object Int32Array]",oXt="[object Uint8Array]",aXt="[object Uint8ClampedArray]",iXt="[object Uint16Array]",sXt="[object Uint32Array]",vr={};vr[QGt]=vr[eXt]=vr[tXt]=vr[rXt]=vr[nXt]=vr[oXt]=vr[aXt]=vr[iXt]=vr[sXt]=!0;vr[LGt]=vr[zGt]=vr[KGt]=vr[FGt]=vr[ZGt]=vr[BGt]=vr[WGt]=vr[HGt]=vr[UGt]=vr[VGt]=vr[qGt]=vr[GGt]=vr[XGt]=vr[JGt]=vr[YGt]=!1;function lXt(t){return zs(t)&&ZD(t.length)&&!!vr[ac(t)]}function cXt(t){return function(e){return t(e)}}var Tq=typeof br=="object"&&br&&!br.nodeType&&br,jh=Tq&&typeof wr=="object"&&wr&&!wr.nodeType&&wr,dXt=jh&&jh.exports===Tq,$k=dXt&&_q.process,Q8=function(){try{var t=jh&&jh.require&&jh.require("util").types;return t||$k&&$k.binding&&$k.binding("util")}catch{}}(),eB=Q8&&Q8.isTypedArray,QD=eB?cXt(eB):lXt;function B2(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var uXt=Object.prototype,pXt=uXt.hasOwnProperty;function hXt(t,e,r){var n=t[e];(!(pXt.call(t,e)&&Wf(n,r))||r===void 0&&!(e in t))&&YD(t,e,r)}function fXt(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a-1&&t%1==0&&t0){if(++e>=DXt)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var PXt=MXt(OXt);function NXt(t,e){return PXt(EXt(t,e,__),t+"")}function RXt(t,e,r){if(!oa(r))return!1;var n=typeof e;return(n=="number"?Wu(r)&&eA(e,r.length):n=="string"&&e in r)?Wf(r[e],t):!1}function jXt(t){return NXt(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(o--,a):void 0,i&&RXt(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n=e||M<0||u&&R>=a}function S(){var O=kk();if(x(O))return T(O);s=setTimeout(S,b(O))}function T(O){return s=void 0,f&&n?g(O):(n=o=void 0,i)}function E(){s!==void 0&&clearTimeout(s),d=0,n=l=o=s=void 0}function $(){return s===void 0?i:T(kk())}function k(){var O=kk(),M=x(O);if(n=arguments,o=this,l=O,M){if(s===void 0)return y(l);if(u)return clearTimeout(s),s=setTimeout(S,e),g(l)}return s===void 0&&(s=setTimeout(S,e)),i}return k.cancel=E,k.flush=$,k}var YXt="Expected a function";function KXt(t,e,r){var n=!0,o=!0;if(typeof t!="function")throw new TypeError(YXt);return oa(r)&&(n="leading"in r?!!r.leading:n,o="trailing"in r?!!r.trailing:o),Iq(t,e,{leading:n,maxWait:e,trailing:o})}var ZXt=function(e,r,n){var o=n.getBoundingClientRect(),a=o.width,i=o.height,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,l=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,d=s-(n.getBoundingClientRect().left+window.pageXOffset),h=l-(n.getBoundingClientRect().top+window.pageYOffset);d<0?d=0:d>a&&(d=a),h<0?h=0:h>i&&(h=i);var u=d/a,f=1-h/i;return{h:r.h,s:u,v:f,a:r.a,source:"hsv"}},QXt=function(){function t(e,r){for(var n=0;n=0,a=!r&&o&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return a?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(n=this.toRgbString()),e==="prgb"&&(n=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(n=this.toHexString()),e==="hex3"&&(n=this.toHexString(!0)),e==="hex4"&&(n=this.toHex8String(!0)),e==="hex8"&&(n=this.toHex8String()),e==="name"&&(n=this.toName()),e==="hsl"&&(n=this.toHslString()),e==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return lt(this.toString())},_applyModification:function(e,r){var n=e.apply(null,[this].concat([].slice.call(r)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(wJt,arguments)},brighten:function(){return this._applyModification(xJt,arguments)},darken:function(){return this._applyModification(SJt,arguments)},desaturate:function(){return this._applyModification(yJt,arguments)},saturate:function(){return this._applyModification(_Jt,arguments)},greyscale:function(){return this._applyModification(bJt,arguments)},spin:function(){return this._applyModification(CJt,arguments)},_applyCombination:function(e,r){return e.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(EJt,arguments)},complement:function(){return this._applyCombination($Jt,arguments)},monochromatic:function(){return this._applyCombination(TJt,arguments)},splitcomplement:function(){return this._applyCombination(kJt,arguments)},triad:function(){return this._applyCombination(lB,[3])},tetrad:function(){return this._applyCombination(lB,[4])}};lt.fromRatio=function(t,e){if(Qv(t)=="object"){var r={};for(var n in t)t.hasOwnProperty(n)&&(n==="a"?r[n]=t[n]:r[n]=bh(t[n]));t=r}return lt(t,e)};function hJt(t){var e={r:0,g:0,b:0},r=1,n=null,o=null,a=null,i=!1,s=!1;return typeof t=="string"&&(t=MJt(t)),Qv(t)=="object"&&(ki(t.r)&&ki(t.g)&&ki(t.b)?(e=fJt(t.r,t.g,t.b),i=!0,s=String(t.r).substr(-1)==="%"?"prgb":"rgb"):ki(t.h)&&ki(t.s)&&ki(t.v)?(n=bh(t.s),o=bh(t.v),e=gJt(t.h,n,o),i=!0,s="hsv"):ki(t.h)&&ki(t.s)&&ki(t.l)&&(n=bh(t.s),a=bh(t.l),e=mJt(t.h,n,a),i=!0,s="hsl"),t.hasOwnProperty("a")&&(r=t.a)),r=Pq(r),{ok:i,format:t.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:r}}function fJt(t,e,r){return{r:Dr(t,255)*255,g:Dr(e,255)*255,b:Dr(r,255)*255}}function oB(t,e,r){t=Dr(t,255),e=Dr(e,255),r=Dr(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=(n+o)/2;if(n==o)a=i=0;else{var l=n-o;switch(i=s>.5?l/(2-n-o):l/(n+o),n){case t:a=(e-r)/l+(e1&&(u-=1),u<1/6?d+(h-d)*6*u:u<1/2?h:u<2/3?d+(h-d)*(2/3-u)*6:d}if(e===0)n=o=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=i(l,s,t+1/3),o=i(l,s,t),a=i(l,s,t-1/3)}return{r:n*255,g:o*255,b:a*255}}function aB(t,e,r){t=Dr(t,255),e=Dr(e,255),r=Dr(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=n,l=n-o;if(i=n===0?0:l/n,n==o)a=0;else{switch(n){case t:a=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+o)%360,a.push(lt(n));return a}function TJt(t,e){e=e||6;for(var r=lt(t).toHsv(),n=r.h,o=r.s,a=r.v,i=[],s=1/e;e--;)i.push(lt({h:n,s:o,v:a})),a=(a+s)%1;return i}lt.mix=function(t,e,r){r=r===0?0:r||50;var n=lt(t).toRgb(),o=lt(e).toRgb(),a=r/100,i={r:(o.r-n.r)*a+n.r,g:(o.g-n.g)*a+n.g,b:(o.b-n.b)*a+n.b,a:(o.a-n.a)*a+n.a};return lt(i)};lt.readability=function(t,e){var r=lt(t),n=lt(e);return(Math.max(r.getLuminance(),n.getLuminance())+.05)/(Math.min(r.getLuminance(),n.getLuminance())+.05)};lt.isReadable=function(t,e,r){var n=lt.readability(t,e),o,a;switch(a=!1,o=PJt(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=n>=4.5;break;case"AAlarge":a=n>=3;break;case"AAAsmall":a=n>=7;break}return a};lt.mostReadable=function(t,e,r){var n=null,o=0,a,i,s,l;r=r||{},i=r.includeFallbackColors,s=r.level,l=r.size;for(var d=0;do&&(o=a,n=lt(e[d]));return lt.isReadable(t,n,{level:s,size:l})||!i?n:(r.includeFallbackColors=!1,lt.mostReadable(t,["#fff","#000"],r))};var W2=lt.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},OJt=lt.hexNames=DJt(W2);function DJt(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}function Pq(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Dr(t,e){AJt(t)&&(t="100%");var r=IJt(t);return t=Math.min(e,Math.max(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function x_(t){return Math.min(1,Math.max(0,t))}function yo(t){return parseInt(t,16)}function AJt(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function IJt(t){return typeof t=="string"&&t.indexOf("%")!=-1}function Sa(t){return t.length==1?"0"+t:""+t}function bh(t){return t<=1&&(t=t*100+"%"),t}function Nq(t){return Math.round(parseFloat(t)*255).toString(16)}function cB(t){return yo(t)/255}var ga=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",r="(?:"+e+")|(?:"+t+")",n="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function ki(t){return!!ga.CSS_UNIT.exec(t)}function MJt(t){t=t.replace(uJt,"").replace(pJt,"").toLowerCase();var e=!1;if(W2[t])t=W2[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=ga.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=ga.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=ga.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=ga.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=ga.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=ga.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=ga.hex8.exec(t))?{r:yo(r[1]),g:yo(r[2]),b:yo(r[3]),a:cB(r[4]),format:e?"name":"hex8"}:(r=ga.hex6.exec(t))?{r:yo(r[1]),g:yo(r[2]),b:yo(r[3]),format:e?"name":"hex"}:(r=ga.hex4.exec(t))?{r:yo(r[1]+""+r[1]),g:yo(r[2]+""+r[2]),b:yo(r[3]+""+r[3]),a:cB(r[4]+""+r[4]),format:e?"name":"hex8"}:(r=ga.hex3.exec(t))?{r:yo(r[1]+""+r[1]),g:yo(r[2]+""+r[2]),b:yo(r[3]+""+r[3]),format:e?"name":"hex"}:!1}function PJt(t){var e,r;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:e,size:r}}var dB=function(e){var r=["r","g","b","a","h","s","l","v"],n=0,o=0;return dJt(r,function(a){if(e[a]&&(n+=1,isNaN(e[a])||(o+=1),a==="s"||a==="l")){var i=/^\d+%$/;i.test(e[a])&&(o+=1)}}),n===o?e:!1},wh=function(e,r){var n=e.hex?lt(e.hex):lt(e),o=n.toHsl(),a=n.toHsv(),i=n.toRgb(),s=n.toHex();o.s===0&&(o.h=r||0,a.h=r||0);var l=s==="000000"&&i.a===0;return{hsl:o,hex:l?"transparent":"#"+s,rgb:i,hsv:a,oldHue:e.h||r||o.h,source:e.source}},Gs=function(e){if(e==="transparent")return!0;var r=String(e).charAt(0)==="#"?1:0;return e.length!==4+r&&e.length<7+r&<(e).isValid()},rA=function(e){if(!e)return"#fff";var r=wh(e);if(r.hex==="transparent")return"rgba(0,0,0,0.4)";var n=(r.rgb.r*299+r.rgb.g*587+r.rgb.b*114)/1e3;return n>=128?"#000":"#fff"},Ek=function(e,r){var n=e.replace("°","");return lt(r+" ("+n+")")._ok},Jp=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){WJt(o,n);function o(){var a,i,s,l;BJt(this,o);for(var d=arguments.length,h=Array(d),u=0;us))return!1;var d=a.get(t),h=a.get(e);if(d&&h)return d==e&&h==t;var u=-1,f=!0,g=r&eYt?new ey:void 0;for(a.set(t,e),a.set(e,t);++u=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Wg.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Wg}var fKt=hKt();const mKt=so(fKt);var gKt=function(){function t(e,r){for(var n=0;n1&&(o.a=1),n.props.onChange({h:n.props.hsl.h,s:n.props.hsl.s,l:n.props.hsl.l,a:Math.round(o.a*100)/100,source:"rgb"},a)):(o.h||o.s||o.l)&&(typeof o.s=="string"&&o.s.includes("%")&&(o.s=o.s.replace("%","")),typeof o.l=="string"&&o.l.includes("%")&&(o.l=o.l.replace("%","")),o.s==1?o.s=.01:o.l==1&&(o.l=.01),n.props.onChange({h:o.h||n.props.hsl.h,s:Number(kB(o.s)?n.props.hsl.s:o.s),l:Number(kB(o.l)?n.props.hsl.l:o.l),source:"hsl"},a))},n.showHighlight=function(o){o.currentTarget.style.background="#eee"},n.hideHighlight=function(o){o.currentTarget.style.background="transparent"},r.hsl.a!==1&&r.view==="hex"?n.state={view:"rgb"}:n.state={view:r.view},n}return gKt(e,[{key:"render",value:function(){var n=this,o=Et({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),a=void 0;return this.state.view==="hex"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(zt,{style:{input:o.input,label:o.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(zt,{style:{input:o.input,label:o.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),m.createElement("div",{style:o.wrap,className:"flexbox-fix"},a,m.createElement("div",{style:o.toggle},m.createElement("div",{style:o.icon,onClick:this.toggleViews,ref:function(s){return n.icon=s}},m.createElement(mKt,{style:o.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(n,o){return n.hsl.a!==1&&o.view==="hex"?{view:"rgb"}:null}}]),e}(m.Component);Vq.defaultProps={view:"hex"};var TB=function(){var e=Et({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return m.createElement("div",{style:e.picker})},bKt=function(){var e=Et({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return m.createElement("div",{style:e.picker})},lA=function(e){var r=e.width,n=e.onChange,o=e.disableAlpha,a=e.rgb,i=e.hsl,s=e.hsv,l=e.hex,d=e.renderers,h=e.styles,u=h===void 0?{}:h,f=e.className,g=f===void 0?"":f,y=e.defaultView,b=Et(uo({default:{picker:{width:r,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+a.r+", "+a.g+", "+a.b+", "+a.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},u),{disableAlpha:o});return m.createElement("div",{style:b.picker,className:"chrome-picker "+g},m.createElement("div",{style:b.saturation},m.createElement(w_,{style:b.Saturation,hsl:i,hsv:s,pointer:bKt,onChange:n})),m.createElement("div",{style:b.body},m.createElement("div",{style:b.controls,className:"flexbox-fix"},m.createElement("div",{style:b.color},m.createElement("div",{style:b.swatch},m.createElement("div",{style:b.active}),m.createElement(Fu,{renderers:d}))),m.createElement("div",{style:b.toggles},m.createElement("div",{style:b.hue},m.createElement(Bu,{style:b.Hue,hsl:i,pointer:TB,onChange:n})),m.createElement("div",{style:b.alpha},m.createElement(XD,{style:b.Alpha,rgb:a,hsl:i,pointer:TB,renderers:d,onChange:n})))),m.createElement(Vq,{rgb:a,hsl:i,hex:l,view:y,onChange:n,disableAlpha:o})))};lA.propTypes={width:We.oneOfType([We.string,We.number]),disableAlpha:We.bool,styles:We.object,defaultView:We.oneOf(["hex","rgb","hsl"])};lA.defaultProps={width:225,disableAlpha:!1,styles:{}};const wKt=po(lA);var xKt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.active,s=Et({default:{color:{background:r,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:rA(r),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:i,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(lc,{style:s.color,color:r,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:s.dot}))},SKt=function(e){var r=e.hex,n=e.rgb,o=e.onChange,a=Et({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:r},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),i=function(l,d){l.r||l.g||l.b?o({r:l.r||n.r,g:l.g||n.g,b:l.b||n.b,source:"rgb"},d):o({hex:l.hex,source:"hex"},d)};return m.createElement("div",{style:a.fields,className:"flexbox-fix"},m.createElement("div",{style:a.active}),m.createElement(zt,{style:{wrap:a.HEXwrap,input:a.HEXinput,label:a.HEXlabel},label:"hex",value:r,onChange:i}),m.createElement(zt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"r",value:n.r,onChange:i}),m.createElement(zt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"g",value:n.g,onChange:i}),m.createElement(zt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"b",value:n.b,onChange:i}))},cA=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.colors,a=e.hex,i=e.rgb,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=Et(uo({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},l)),f=function(y,b){y.hex?Gs(y.hex)&&r({hex:y.hex,source:"hex"},b):r(y,b)};return m.createElement(Hf,{style:u.Compact,styles:l},m.createElement("div",{style:u.compact,className:"compact-picker "+h},m.createElement("div",null,cc(o,function(g){return m.createElement(xKt,{key:g,color:g,active:g.toLowerCase()===a,onClick:f,onSwatchHover:n})}),m.createElement("div",{style:u.clear})),m.createElement(SKt,{hex:a,rgb:i,onChange:f})))};cA.propTypes={colors:We.arrayOf(We.string),styles:We.object};cA.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};po(cA);var CKt=function(e){var r=e.hover,n=e.color,o=e.onClick,a=e.onSwatchHover,i={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},s=Et({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:i}},{hover:r});return m.createElement("div",{style:s.swatch},m.createElement(lc,{color:n,onClick:o,onHover:a,focusStyle:i}))};const $Kt=GD.handleHover(CKt);var dA=function(e){var r=e.width,n=e.colors,o=e.onChange,a=e.onSwatchHover,i=e.triangle,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=Et(uo({default:{card:{width:r,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},l),{"hide-triangle":i==="hide","top-left-triangle":i==="top-left","top-right-triangle":i==="top-right","bottom-left-triangle":i==="bottom-left","bottom-right-triangle":i==="bottom-right"}),f=function(y,b){return o({hex:y,source:"hex"},b)};return m.createElement("div",{style:u.card,className:"github-picker "+h},m.createElement("div",{style:u.triangleShadow}),m.createElement("div",{style:u.triangle}),cc(n,function(g){return m.createElement($Kt,{color:g,key:g,onClick:f,onSwatchHover:a})}))};dA.propTypes={width:We.oneOfType([We.string,We.number]),colors:We.arrayOf(We.string),triangle:We.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:We.object};dA.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};po(dA);var kKt=function(e){var r=e.direction,n=Et({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:r==="vertical"});return m.createElement("div",{style:n.picker})},EKt=Object.assign||function(t){for(var e=1;e.5});return m.createElement("div",{style:n.picker})},AKt=function(){var e=Et({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return m.createElement("div",{style:e.pointer},m.createElement("div",{style:e.left},m.createElement("div",{style:e.leftInside})),m.createElement("div",{style:e.right},m.createElement("div",{style:e.rightInside})))},OB=function(e){var r=e.onClick,n=e.label,o=e.children,a=e.active,i=Et({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:a});return m.createElement("div",{style:i.button,onClick:r},n||o)},IKt=function(e){var r=e.rgb,n=e.currentColor,o=Et({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+r.r+","+r.g+", "+r.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:n,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return m.createElement("div",null,m.createElement("div",{style:o.label},"new"),m.createElement("div",{style:o.swatches},m.createElement("div",{style:o.new}),m.createElement("div",{style:o.current})),m.createElement("div",{style:o.label},"current"))},MKt=function(){function t(e,r){for(var n=0;n100&&(h.a=100),h.a/=100,r({h:o.h,s:o.s,l:o.l,a:h.a,source:"rgb"},u))};return m.createElement("div",{style:s.fields,className:"flexbox-fix"},m.createElement("div",{style:s.double},m.createElement(zt,{style:{input:s.input,label:s.label},label:"hex",value:a.replace("#",""),onChange:l})),m.createElement("div",{style:s.single},m.createElement(zt,{style:{input:s.input,label:s.label},label:"r",value:n.r,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(zt,{style:{input:s.input,label:s.label},label:"g",value:n.g,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(zt,{style:{input:s.input,label:s.label},label:"b",value:n.b,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.alpha},m.createElement(zt,{style:{input:s.input,label:s.label},label:"a",value:Math.round(n.a*100),onChange:l,dragLabel:"true",dragMax:"100"})))},LKt=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Hg.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},Hg}var HKt=WKt();const UKt=so(HKt);var VKt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.first,s=e.last,l=e.active,d=Et({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:r,marginBottom:"1px"},check:{color:rA(r),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:i,last:s,active:l,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(lc,{color:r,style:d.color,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:d.check},m.createElement(UKt,null)))},qKt=function(e){var r=e.onClick,n=e.onSwatchHover,o=e.group,a=e.active,i=Et({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return m.createElement("div",{style:i.group},cc(o,function(s,l){return m.createElement(VKt,{key:s,color:s,active:s.toLowerCase()===a,first:l===0,last:l===o.length-1,onClick:r,onSwatchHover:n})}))},mA=function(e){var r=e.width,n=e.height,o=e.onChange,a=e.onSwatchHover,i=e.colors,s=e.hex,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=Et(uo({default:{picker:{width:r,height:n},overflow:{height:n,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},d)),g=function(b,x){return o({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.picker,className:"swatches-picker "+u},m.createElement(Hf,null,m.createElement("div",{style:f.overflow},m.createElement("div",{style:f.body},cc(i,function(y){return m.createElement(qKt,{key:y.toString(),group:y,active:s,onClick:g,onSwatchHover:a})}),m.createElement("div",{style:f.clear})))))};mA.propTypes={width:We.oneOfType([We.string,We.number]),height:We.oneOfType([We.string,We.number]),colors:We.arrayOf(We.arrayOf(We.string)),styles:We.object};mA.defaultProps={width:320,height:240,colors:[[Td[900],Td[700],Td[500],Td[300],Td[100]],[Od[900],Od[700],Od[500],Od[300],Od[100]],[Dd[900],Dd[700],Dd[500],Dd[300],Dd[100]],[Ad[900],Ad[700],Ad[500],Ad[300],Ad[100]],[Id[900],Id[700],Id[500],Id[300],Id[100]],[Md[900],Md[700],Md[500],Md[300],Md[100]],[Pd[900],Pd[700],Pd[500],Pd[300],Pd[100]],[Nd[900],Nd[700],Nd[500],Nd[300],Nd[100]],[Rd[900],Rd[700],Rd[500],Rd[300],Rd[100]],["#194D33",xh[700],xh[500],xh[300],xh[100]],[jd[900],jd[700],jd[500],jd[300],jd[100]],[Ld[900],Ld[700],Ld[500],Ld[300],Ld[100]],[zd[900],zd[700],zd[500],zd[300],zd[100]],[Fd[900],Fd[700],Fd[500],Fd[300],Fd[100]],[Bd[900],Bd[700],Bd[500],Bd[300],Bd[100]],[Wd[900],Wd[700],Wd[500],Wd[300],Wd[100]],[Hd[900],Hd[700],Hd[500],Hd[300],Hd[100]],[Ud[900],Ud[700],Ud[500],Ud[300],Ud[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};po(mA);var gA=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.hex,a=e.colors,i=e.width,s=e.triangle,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=Et(uo({default:{card:{width:i,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},d),{"hide-triangle":s==="hide","top-left-triangle":s==="top-left","top-right-triangle":s==="top-right"}),g=function(b,x){Gs(b)&&r({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.card,className:"twitter-picker "+u},m.createElement("div",{style:f.triangleShadow}),m.createElement("div",{style:f.triangle}),m.createElement("div",{style:f.body},cc(a,function(y,b){return m.createElement(lc,{key:b,color:y,hex:y,style:f.swatch,onClick:g,onHover:n,focusStyle:{boxShadow:"0 0 4px "+y}})}),m.createElement("div",{style:f.hash},"#"),m.createElement(zt,{label:null,style:{input:f.input},value:o.replace("#",""),onChange:g}),m.createElement("div",{style:f.clear})))};gA.propTypes={width:We.oneOfType([We.string,We.number]),triangle:We.oneOf(["hide","top-left","top-right"]),colors:We.arrayOf(We.string),styles:We.object};gA.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};po(gA);var vA=function(e){var r=Et({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return m.createElement("div",{style:r.picker})};vA.propTypes={hsl:We.shape({h:We.number,s:We.number,l:We.number,a:We.number})};vA.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var yA=function(e){var r=Et({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return m.createElement("div",{style:r.picker})};yA.propTypes={hsl:We.shape({h:We.number,s:We.number,l:We.number,a:We.number})};yA.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var GKt=function(e){var r=e.onChange,n=e.rgb,o=e.hsl,a=e.hex,i=e.hsv,s=function(g,y){if(g.hex)Gs(g.hex)&&r({hex:g.hex,source:"hex"},y);else if(g.rgb){var b=g.rgb.split(",");Ek(g.rgb,"rgb")&&r({r:b[0],g:b[1],b:b[2],a:1,source:"rgb"},y)}else if(g.hsv){var x=g.hsv.split(",");Ek(g.hsv,"hsv")&&(x[2]=x[2].replace("%",""),x[1]=x[1].replace("%",""),x[0]=x[0].replace("°",""),x[1]==1?x[1]=.01:x[2]==1&&(x[2]=.01),r({h:Number(x[0]),s:Number(x[1]),v:Number(x[2]),source:"hsv"},y))}else if(g.hsl){var S=g.hsl.split(",");Ek(g.hsl,"hsl")&&(S[2]=S[2].replace("%",""),S[1]=S[1].replace("%",""),S[0]=S[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),r({h:Number(S[0]),s:Number(S[1]),v:Number(S[2]),source:"hsl"},y))}},l=Et({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),d=n.r+", "+n.g+", "+n.b,h=Math.round(o.h)+"°, "+Math.round(o.s*100)+"%, "+Math.round(o.l*100)+"%",u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.v*100)+"%";return m.createElement("div",{style:l.wrap,className:"flexbox-fix"},m.createElement("div",{style:l.fields},m.createElement("div",{style:l.double},m.createElement(zt,{style:{input:l.input,label:l.label},label:"hex",value:a,onChange:s})),m.createElement("div",{style:l.column},m.createElement("div",{style:l.single},m.createElement(zt,{style:{input:l.input2,label:l.label2},label:"rgb",value:d,onChange:s})),m.createElement("div",{style:l.single},m.createElement(zt,{style:{input:l.input2,label:l.label2},label:"hsv",value:u,onChange:s})),m.createElement("div",{style:l.single},m.createElement(zt,{style:{input:l.input2,label:l.label2},label:"hsl",value:h,onChange:s})))))},_A=function(e){var r=e.width,n=e.onChange,o=e.rgb,a=e.hsl,i=e.hsv,s=e.hex,l=e.header,d=e.styles,h=d===void 0?{}:d,u=e.className,f=u===void 0?"":u,g=Et(uo({default:{picker:{width:r,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+o.r+", "+o.g+", "+o.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},h));return m.createElement("div",{style:g.picker,className:"google-picker "+f},m.createElement("div",{style:g.head},l),m.createElement("div",{style:g.swatch}),m.createElement("div",{style:g.saturation},m.createElement(w_,{hsl:a,hsv:i,pointer:vA,onChange:n})),m.createElement("div",{style:g.body},m.createElement("div",{style:g.controls,className:"flexbox-fix"},m.createElement("div",{style:g.hue},m.createElement(Bu,{style:g.Hue,hsl:a,radius:"4px",pointer:yA,onChange:n}))),m.createElement(GKt,{rgb:o,hsl:a,hex:s,hsv:i,onChange:n})))};_A.propTypes={width:We.oneOfType([We.string,We.number]),styles:We.object,header:We.string};_A.defaultProps={width:652,styles:{},header:"Color picker"};po(_A);const Wn={fieldContainer:{paddingTop:10,whiteSpace:"nowrap"},checkBoxLabel:{fontSize:"0.8rem",whiteSpace:"break-spaces"},objectContainer:{display:"flex",alignItems:"center"},objectField:{flex:1},objectButton:{marginTop:"auto",paddingLeft:0,maxHeight:29,height:29},sliderContainer:{position:"relative"},sliderLabel:{position:"absolute",top:0,left:0,fontSize:"small"},sliderRoot:{paddingBottom:0,paddingTop:16},selectIcon:{paddingRight:4},tooltip:{pointerEvents:"none"}},Dt=t=>{var r;const e=P.t(t.label);return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((r=t.styles)==null?void 0:r.fieldContainer)||Wn.fieldContainer,...t.style},children:w.jsx(Zr,{title:t.tooltip?P.t(t.tooltip):null,slotProps:{popper:{sx:Wn.tooltip}},children:w.jsxs(_a,{fullWidth:t.fullWidth,style:{minWidth:t.minWidth||200,width:t.width},variant:"standard",children:[w.jsx($l,{shrink:!0,children:e}),w.jsx(Bn,{fullWidth:t.fullWidth,variant:"standard",disabled:!!t.disabled,label:e,style:{color:t.colors&&t.colors[t.value]||void 0},onChange:n=>t.updateValue(n.target.value),value:t.value||"",renderValue:t.renderValue,displayEmpty:!0,children:t.options?Object.keys(t.options).map(n=>t.options[n]===void 0?null:w.jsxs(Jt,{value:n,style:{color:t.colors&&t.colors[n]||void 0},children:[t.icons&&t.icons[n]?w.jsx("span",{style:Wn.selectIcon,children:t.icons[n]}):null,t.noTranslate?t.options[n]:t.options[n]!==""&&t.options[n]!==null&&t.options[n]!==void 0?t.options[n].startsWith("-")?`-${P.t(t.options[n].substring(1))}`:P.t(t.options[n]):""]},n)):null})]})})})},kn=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(St,{style:{paddingTop:10},label:w.jsx("span",{style:Wn.checkBoxLabel,children:P.t(t.label)}),control:w.jsx(yr,{disabled:!!t.disabled,onChange:r=>t.updateValue(r.target.checked),checked:t.value||!1})})})},Ln=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(Ht,{variant:"standard",disabled:!!t.disabled,fullWidth:!0,style:{minWidth:t.minWidth},label:P.t(t.label),onChange:r=>t.updateValue(r.target.value),value:t.value||"",type:"text",title:t.tooltip||"",slotProps:{inputLabel:{shrink:!0},input:{startAdornment:!t.disabled&&t.helperLink?w.jsx(Ie,{size:"small",onClick:()=>{typeof t.helperLink=="function"?t.helperLink():window.open(t.helperLink,"_blank")},children:w.jsx(GH,{})}):void 0,endAdornment:!t.disabled&&t.value?w.jsx(Ie,{size:"small",onClick:()=>t.updateValue(""),children:w.jsx(Ar,{})}):void 0}}})})},Er=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(Ht,{variant:"standard",disabled:!!t.disabled,fullWidth:t.fullWidth,style:{width:t.width||"100%"},label:P.t(t.label),onChange:r=>t.updateValue(parseInt(r.target.value)),value:t.value||"",type:"number",title:t.tooltip||"",slotProps:{inputLabel:{shrink:!0},htmlInput:{min:t.min,max:t.max}}})})},ty=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(Ht,{variant:"standard",type:"datetime-local",label:P.t(t.label),fullWidth:t.fullWidth,slotProps:{inputLabel:{shrink:!0}},onChange:r=>{const n=r.target.value.split("T");t.updateValue(n[0],n[1])},value:t.date?`${t.date}T${t.time}`:""})})},Jd=t=>{var n,o,a;const[e,r]=A.useState(!1);return w.jsxs("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((n=t.styles)==null?void 0:n.fieldContainer)||Wn.fieldContainer,width:t.width,minWidth:t.minWidth},children:[w.jsxs("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((o=t.styles)==null?void 0:o.objectContainer)||Wn.objectContainer},children:[w.jsx(Ht,{variant:"standard",disabled:!!t.disabled,style:(a=t.styles)==null?void 0:a.objectField,label:P.t(t.label),fullWidth:!0,slotProps:{inputLabel:{shrink:!0},input:{endAdornment:!t.disabled&&t.value?w.jsx(Ie,{size:"small",onClick:()=>t.updateValue(""),children:w.jsx(Ar,{})}):void 0}},value:t.value||"",onChange:i=>t.updateValue(i.target.value)}),w.jsx(Ie,{disabled:!!t.disabled,size:"small",onClick:()=>r(!0),style:Wn.objectButton,children:w.jsx(jve,{})})]}),e?w.jsx(OV,{theme:t.theme,imagePrefix:"../..",socket:t.socket,dialogName:t.name,customFilter:t.customFilter,title:`${P.t("Select for")} ${t.label}`,selected:t.value,onOk:i=>{Array.isArray(i)?t.updateValue(i[0]||""):t.updateValue(i),r(!1)},onClose:()=>r(!1)},`selectDialog_${t.name}`):null]})},$u=t=>{var e,r,n,o;return w.jsxs("div",{style:{...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer,...((r=t.styles)==null?void 0:r.sliderContainer)||Wn.sliderContainer},children:[w.jsx(Ka,{style:((n=t.styles)==null?void 0:n.sliderLabel)||Wn.sliderLabel,children:t.label}),w.jsx(Rue,{disabled:!!t.disabled,style:((o=t.styles)==null?void 0:o.sliderRoot)||Wn.sliderRoot,value:parseFloat(t.value||t.min)||0,step:parseFloat(t.step)||(parseFloat(t.max)||1)-(parseFloat(t.min)||0)/10||.1,marks:!0,onChange:(a,i)=>t.updateValue(i),min:parseFloat(t.min)||0,max:parseFloat(t.max)||1,valueLabelDisplay:"auto"})]})};function vf(t){return Pr({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(t)}function yf(t){return Pr({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"},child:[]}]})(t)}function XKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z"},child:[]}]})(t)}function JKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z"},child:[]}]})(t)}function YKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M4 11H8V13H4V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M10 11H14V13H10V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M20 11H16V13H20V11Z",fill:"currentColor"},child:[]}]})(t)}function KKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M3 11H1V13H3V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M7 11H5V13H7V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M9 11H11V13H9V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M15 11H13V13H15V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M17 11H19V13H17V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M23 11H21V13H23V11Z",fill:"currentColor"},child:[]}]})(t)}function ZKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M2 11H22V13H2V11Z",fill:"currentColor"},child:[]}]})(t)}const AB={dialogSlider:{padding:"20px 0px"}};class QKt extends m.Component{render(){return w.jsxs(or,{open:this.props.open,onClose:this.props.onClose,children:[w.jsxs(_r,{children:[P.t("Line")," ",this.props.index+1,this.props.line.name?` - ${this.props.line.name}`:""," ",P.t("edit")]}),w.jsxs(Wr,{children:[w.jsx(Dt,{value:this.props.line.lineStyle,updateValue:e=>{const r=JSON.parse(JSON.stringify(this.props.line));r.lineStyle=e,this.props.updateLine(this.props.index,r)},label:"Line style",options:{solid:"solid",dashed:"dashed",dotted:"dotted"},icons:{solid:w.jsx(ZKt,{}),dashed:w.jsx(YKt,{}),dotted:w.jsx(KKt,{})}}),w.jsx("div",{style:AB.dialogSlider,children:w.jsx($u,{value:this.props.line.fill,updateValue:e=>{const r=JSON.parse(JSON.stringify(this.props.line));r.fill=e,e<.01&&!parseFloat(r.thickness)&&(r.thickness=1),this.props.updateLine(this.props.index,r)},min:0,max:1,step:.1,label:"Fill (from 0 to 1)"})}),w.jsx("div",{style:AB.dialogSlider,children:w.jsx($u,{value:this.props.line.thickness,updateValue:e=>{const r=JSON.parse(JSON.stringify(this.props.line));r.thickness=e,this.props.updateLine(this.props.index,r)},label:"ØL - Line thickness",min:this.props.line.fill>.01?0:1,max:10,step:1})})]}),w.jsx(pr,{children:w.jsx(tt,{variant:"contained",color:"primary",onClick:this.props.onClose,startIcon:w.jsx(wo,{}),children:P.t("Close")})})]})}}const Ok={stateValueEdit:{marginBottom:10}};class eZt extends m.Component{constructor(r){super(r);X(this,"originalStates");X(this,"statesBeforeEdit");this.originalStates=JSON.parse(r.originalStates),this.statesBeforeEdit=JSON.stringify(r.withStates);const n=r.withStates?JSON.parse(JSON.stringify(r.withStates)):{};r.isBoolean&&(n.true&&(n[1]=n.true,delete n.true),n.false&&(n[0]=n.false,delete n.false),n[1]=n[1]||"true",n[0]=n[0]||"false"),this.state={withStates:n,disabledStates:this.props.withStates?JSON.stringify(r.withStates):r.originalStates,showAddStateDialog:!1,newValue:"",newTextValue:""}}renderAddStateDialog(){return this.state.showAddStateDialog?w.jsxs(or,{open:!0,onClose:()=>this.setState({showAddStateDialog:!1}),children:[w.jsx(_r,{children:P.t("Add new state name")}),w.jsxs(Wr,{children:[w.jsx(Ht,{style:Ok.stateValueEdit,variant:"standard",label:P.t("State value"),value:this.state.newValue,onChange:r=>this.setState({newValue:r.target.value})}),w.jsx("br",{}),w.jsx(Ht,{style:Ok.stateValueEdit,variant:"standard",label:P.t("State value text"),value:this.state.newTextValue,onChange:r=>this.setState({newTextValue:r.target.value}),onKeyUp:r=>{if(r.key==="Enter"&&this.state.newValue&&this.state.withStates[this.state.newValue]===void 0){const n=JSON.parse(JSON.stringify(this.state.withStates));n[this.state.newValue]=this.state.newTextValue,this.setState({showAddStateDialog:null,withStates:n})}}})]}),w.jsxs(pr,{children:[w.jsx(tt,{variant:"contained",color:"primary",autoFocus:!0,disabled:!this.state.newValue||this.state.withStates[this.state.newValue]!==void 0,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.withStates));r[this.state.newValue]=this.state.newTextValue,this.setState({showAddStateDialog:null,withStates:r})},startIcon:w.jsx(Il,{}),children:P.t("Add")}),w.jsx(tt,{variant:"contained",color:"grey",onClick:()=>this.setState({showAddStateDialog:!1}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]}):null}render(){return w.jsxs(w.Fragment,{children:[this.renderAddStateDialog(),w.jsxs(or,{open:!0,onClose:()=>this.props.onClose(),children:[w.jsx(_r,{children:P.t("Edit state names")}),w.jsxs(Wr,{children:[w.jsx(St,{control:w.jsx(ih,{checked:this.state.withStates!==!1,onChange:()=>{this.state.withStates===!1?this.setState({withStates:JSON.parse(this.state.disabledStates)}):this.setState({withStates:!1,disabledStates:JSON.stringify(this.state.withStates)})}}),label:P.t("Use state names")}),this.state.withStates!==!1?w.jsxs(w.Fragment,{children:[w.jsx("br",{}),this.props.isBoolean?null:w.jsx(Ie,{onClick:()=>{const r=Object.keys(this.state.withStates).sort();let n="";window.isFinite(parseInt(r[r.length-1],10))&&(n=(parseInt(r[r.length-1],10)+1).toString()),this.setState({showAddStateDialog:!0,newValue:n,newTextValue:""})},title:P.t("Add new value"),children:w.jsx(Il,{})}),w.jsx("br",{}),Object.keys(this.state.withStates).map(r=>w.jsxs("div",{children:[w.jsx(Ht,{style:Ok.stateValueEdit,variant:"standard",label:this.props.isBoolean?r==="1"?P.t("TRUE"):r==="0"?P.t("FALSE"):r:r.toString(),value:this.state.withStates[r],onChange:n=>this.setState({withStates:{...this.state.withStates,[r]:n.target.value}}),slotProps:{input:{endAdornment:this.state.withStates[r]?w.jsx(Ie,{size:"small",onClick:()=>this.setState({withStates:{...this.state.withStates,[r]:""}}),children:w.jsx(wo,{})}):void 0}}}),!this.props.isBoolean&&this.originalStates[r]===void 0?w.jsx(Ie,{onClick:()=>{const n={...this.state.withStates};delete n[r],this.setState({withStates:n})},title:P.t("Delete text value"),children:w.jsx(yu,{})}):null]},r))]}):null]}),w.jsxs(pr,{children:[w.jsx(tt,{variant:"contained",color:"primary",autoFocus:!0,disabled:this.statesBeforeEdit===JSON.stringify(this.state.withStates),onClick:()=>this.props.onClose(this.state.withStates),startIcon:w.jsx(sh,{}),children:P.t("Apply")}),w.jsx(tt,{variant:"contained",color:"grey",onClick:()=>this.props.onClose(),startIcon:w.jsx(wo,{}),children:P.t("Close")})]})]})]})}}const jt={instance:100,id:100,chartType:120,dataType:110,color:100,name:150,buttons:166},Ct={card:t=>({borderStyle:"dashed",borderWidth:1,mb:"8px",p:"8px",borderColor:t.palette.grey[600],overflow:"initial"}),cardPaste:t=>({borderColor:t.palette.mode==="dark"?t.palette.grey[400]:t.palette.grey[800],backgroundColor:"rgba(0,0,0,0)",opacity:.8}),cardContent:{p:0,m:0,"&:last-child":{p:0}},shortFields:t=>({display:"flex","& > div":{display:"inline-flex",pr:"20px",width:200},flexWrap:"wrap",alignItems:"center",position:"relative",pb:"16px",borderBottom:`1px dotted ${t.palette.grey[400]}`}),lineClosed:{display:"flex",gap:4,alignItems:"center"},title:{width:"inherit",position:"absolute",whiteSpace:"nowrap",right:0,fontSize:48,opacity:.1,lineHeight:"48px",padding:0,marginTop:20,marginLeft:0,marginRight:0,marginBottom:0,paddingRight:10},shortFieldsLast:{borderBottom:"0px",paddingBottom:0},shortInstanceField:{display:"inline-block",minWidth:jt.instance,paddingTop:0,verticalAlign:"top"},shortIdField:{display:"inline-block",minWidth:jt.id,paddingTop:0,verticalAlign:"top"},shortDataTypeField:{display:"inline-block",minWidth:jt.dataType,paddingTop:0,verticalAlign:"top"},shortChartTypeField:{display:"inline-block",minWidth:jt.chartType,paddingTop:0,verticalAlign:"top"},shortColorField:{display:"inline-block",minWidth:jt.color,width:jt.color,paddingTop:0,verticalAlign:"top"},shortNameField:{display:"inline-block",minWidth:jt.name,paddingTop:0,verticalAlign:"top"},shortButtonsField:{display:"inline-block",minWidth:jt.buttons,paddingTop:0,verticalAlign:"top"},editButton:{},deleteButton:{},editButtonFull:{},deleteButtonFull:{},copyButtonFull:{},fullWidth:{width:"100%",minWidth:200},paste:{opacity:.3},emptyDrag:{display:"inline-block",width:16},chapterMain:{backgroundColor:"rgba(3,104,255,0.1)"},chapterTexts:{backgroundColor:"rgba(101,253,0,0.1)"},chapterLine:{backgroundColor:"rgba(255,20,0,0.1)"},chapterAxis:{backgroundColor:"rgba(179,2,255,0.1)"},chapterOther:{backgroundColor:"rgba(255,146,0,0.1)"},states:{verticalAlign:"top",marginTop:12},state:{textAlign:"center",marginRight:8},stateValue:{fontSize:10},stateText:{fontSize:12,fontStyle:"italic",display:"block",whiteSpace:"nowrap"}};class IB extends m.Component{constructor(r){super(r);X(this,"onIdChanged",async r=>{var o,a,i,s,l;const n=JSON.parse(JSON.stringify(this.props.line));if(n.id=r,this.props.updateLine(this.props.index,n),this.props.line.id!==r){try{const u=await this.props.socket.getObject(r),f=JSON.parse(JSON.stringify(this.props.line));let g;if((o=u==null?void 0:u.common)!=null&&o.name)g=ue.getObjectNameFromObj(u,null,{language:P.getLanguage()});else{const b=r.split(".");g=b.length?b[b.length-1]:""}(a=u==null?void 0:u.common)!=null&&a.unit&&(f.unit=u.common.unit),u!=null&&u.common&&(u.common.type==="boolean"||u.common.type==="number")&&(f.chartType="auto",delete f.aggregate);const y={isBoolean:((i=u==null?void 0:u.common)==null?void 0:i.type)==="boolean"};(s=u==null?void 0:u.common)!=null&&s.states&&typeof((l=u==null?void 0:u.common)==null?void 0:l.states)!="string"&&!Array.isArray(u.common.states)&&!u.common.unit?(y.withStates=u.common.states,y.originalStates=JSON.stringify(u.common.states),f.states?Object.assign(y.withStates,f.states):f.states===!1&&(y.withStates=!1)):(y.withStates=null,delete f.states),(y.isBoolean!==this.state.isBoolean||JSON.stringify(this.state.withStates)!==JSON.stringify(y.withStates)||this.state.originalStates!==y.originalStates)&&setTimeout(b=>this.setState(b),50,y),f.name=g,this.props.updateLine(this.props.index,f);return}catch(u){console.error(u)}const d=JSON.parse(JSON.stringify(this.props.line)),h=r.split(".");d.name=h.length?h[h.length-1]:"",this.props.updateLine(this.props.index,d)}});X(this,"showConvertHelp",()=>this.setState({showConvertHelp:!0}));this.state={width:this.props.width,dialogOpen:!1,showConvertHelp:!1,isBoolean:!1,withStates:null,color:this.props.line.color||""},this.props.line.id&&this.props.socket.getObject(this.props.line.id).then(n=>{var a,i;let o=null;((a=n==null?void 0:n.common)==null?void 0:a.type)==="boolean"&&(o={isBoolean:!0}),(i=n==null?void 0:n.common)!=null&&i.states&&typeof n.common.states!="string"&&!Array.isArray(n.common.states)&&!n.common.unit&&(o=o||{},o.withStates=n.common.states,o.originalStates=JSON.stringify(n.common.states),this.props.line.states?Object.assign(o.withStates,this.props.line.states):this.props.line.states===!1&&(o.withStates=!1)),o&&this.setState(o)}).catch(()=>{})}static getDerivedStateFromProps(r,n){return r.width!==n.width?{width:r.width}:null}renderClosedLine(){const r={},n=(this.props.width||1024)-32-40-20,o=4;n>=jt.instance+jt.id+jt.chartType+jt.dataType+jt.color+jt.name+jt.buttons+o*6?(r.chartType=!0,r.dataType=!0,r.color=!0,r.name=!0):n>=jt.instance+jt.id+jt.chartType+jt.dataType+jt.color+jt.buttons+o*5?(r.chartType=!0,r.dataType=!0,r.color=!0):n>=jt.instance+jt.id+jt.chartType+jt.dataType+jt.buttons+o*4?(r.chartType=!0,r.dataType=!0):n>=jt.instance+jt.id+jt.chartType+jt.buttons+o*3&&(r.chartType=!0);const a=this.props.presetData.l.find(s=>s.chartType==="bar"||s.chartType==="polar"),i={minmax:"minmax",average:"average",min:"min",max:"max",total:"total",count:"count",onchange:"raw",percentile:"percentile",integral:"integral",current:void 0,none:void 0};return a&&(delete i.minmax,this.props.presetData.l.find(s=>s.chartType==="polar")&&(i.current="current")),w.jsxs("div",{style:Ct.lineClosed,children:[this.props.provided?w.jsx("span",{title:P.t("Drag me"),style:{marginTop:4},...this.props.provided.dragHandleProps,children:w.jsx(HE,{})}):w.jsx("div",{style:Ct.emptyDrag}),this.props.onPaste?w.jsx(Ie,{title:P.t("Paste"),onClick:()=>this.props.onPaste(),children:w.jsx(uH,{})}):w.jsx(Ie,{title:P.t("Edit"),onClick:()=>this.props.lineOpenToggle(this.props.index),children:w.jsx(yf,{})}),w.jsx(Dt,{disabled:!!this.props.onPaste,value:this.props.line.instance||"",updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.instance=s,this.props.updateLine(this.props.index,l)},label:"Source",noTranslate:!0,options:(()=>{const s={"":P.t("standard")};return this.props.instances.forEach(l=>s[l._id]=l._id.replace("system.adapter.","")),s.json="JSON",s[this.props.line.instance]||(s[this.props.line.instance]=this.props.line.instance.replace("system.adapter.","")),s})(),minWidth:jt.instance,styles:{fieldContainer:{...Ct.shortInstanceField,...this.props.onPaste?Ct.paste:void 0,marginTop:2}}}),w.jsx(Jd,{disabled:!!this.props.onPaste,value:this.props.line.id,updateValue:this.onIdChanged,theme:this.props.theme,name:"id",label:"ID",customFilter:this.props.line.instance!=="json"?{common:{custom:this.props.line.instance?this.props.line.instance.replace("system.adapter.",""):this.props.systemConfig.common.defaultHistory||!0}}:null,styles:{fieldContainer:{...Ct.shortIdField,...this.props.onPaste?Ct.paste:void 0,flexGrow:1}},socket:this.props.socket}),r.chartType?w.jsx(Dt,{disabled:!!this.props.onPaste,value:this.props.line.chartType,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.chartType=s,this.props.updateLine(this.props.index,l)},minWidth:jt.chartType,label:"Chart type",options:{auto:"Auto",line:"Line",bar:"Bar",polar:"Polar",scatterplot:"Scatter plot",steps:"Steps",stepsStart:"Steps on start",spline:"Spline"},styles:{fieldContainer:{...Ct.shortChartTypeField,...this.props.onPaste?Ct.paste:void 0,marginTop:2}}}):null,this.props.line.instance!=="json"&&r.dataType&&this.props.line.chartType!=="auto"?w.jsx(Dt,{disabled:!!this.props.onPaste,value:this.props.line.aggregate,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.aggregate=s,s==="percentile"&&(l.percentile===void 0||l.percentile<0||l.percentile>100)?l.percentile=50:s==="integral"&&(l.integralUnit=l.integralUnit||60,l.integralInterpolation=l.integralInterpolation||"none"),this.props.updateLine(this.props.index,l)},minWidth:jt.dataType,label:"Type",options:i,styles:{fieldContainer:{...Ct.shortDataTypeField,...this.props.onPaste?Ct.paste:void 0}}}):null,r.color?this.renderColorField(jt.color,{...Ct.shortColorField,...this.props.onPaste?Ct.paste:void 0},!0):null,r.name?w.jsx(Ln,{disabled:!!this.props.onPaste,width:jt.name,value:this.props.line.name,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.name=s,this.props.updateLine(this.props.index,l)},label:"Name",styles:{fieldContainer:{...Ct.shortNameField,...this.props.onPaste?Ct.paste:void 0}}}):null,!this.props.onPaste&&this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&(!this.props.index||this.props.line.chartType!=="polar")?w.jsx(Ie,{style:Ct.editButton,"aria-label":"Edit",title:P.t("Edit"),onClick:()=>this.setState({dialogOpen:!0}),children:w.jsx(r1,{})}):null,w.jsx(Ie,{style:Ct.deleteButton,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteLine(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]})}renderColorField(r,n,o){let a=ue.isUseBright(this.props.line.color,null);a===null&&(a=void 0);const i=s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.color=s,this.props.updateLine(this.props.index,l)};return w.jsx("div",{style:n,children:w.jsx(Ht,{variant:"standard",disabled:!!this.props.onPaste,style:{minWidth:r,width:"calc(100% - 8px)"},label:P.t("Color"),value:this.props.line.color||"",onClick:()=>{this.props.onPaste||this.setState({color:this.props.line.color},()=>this.props.onSelectColor(this.state.color,s=>this.setState({color:s},()=>i(Ai.getColor(s,!0)))))},onChange:s=>{const l=s.target.value;this.setState({color:l},()=>i(l))},slotProps:{htmlInput:{style:{paddingLeft:o?0:8,backgroundColor:this.props.line.color,color:a?"#FFF":"#000"}},input:{endAdornment:this.props.line.color?w.jsx(Ie,{disabled:!!this.props.onPaste,size:"small",onClick:s=>{s.stopPropagation(),this.setState({color:""},()=>{i("")})},children:w.jsx(Ar,{})}):void 0},inputLabel:{shrink:!0}}})})}renderConvertHelp(){return this.state.showConvertHelp?w.jsxs(or,{open:!0,onClose:()=>this.setState({showConvertHelp:!1}),children:[w.jsx(Wr,{children:w.jsx(Ds,{children:P.t("convert_help")})}),w.jsx(pr,{children:w.jsx(tt,{variant:"contained",onClick:()=>this.setState({showConvertHelp:!1}),color:"primary",startIcon:w.jsx(wo,{}),children:P.t("Close")})})]}):null}renderStates(){return this.state.withStates===null?null:w.jsxs("div",{style:Ct.states,children:[this.state.withStates?Object.keys(this.state.withStates).map(r=>w.jsxs("div",{style:Ct.state,children:[w.jsx("span",{style:Ct.stateValue,children:r}),"↓",w.jsx("span",{style:Ct.stateText,children:this.state.withStates[r]})]},r)):w.jsx("div",{style:Ct.state,children:w.jsx("span",{style:Ct.stateText,children:P.t("Text values not used")})}),w.jsx(tt,{variant:"outlined",onClick:()=>this.setState({showStatesEdit:!0}),startIcon:w.jsx(r1,{}),title:P.t("Edit state names"),children:"..."}),this.state.showStatesEdit?w.jsx(eZt,{withStates:this.state.withStates,originalStates:this.state.originalStates,isBoolean:this.state.isBoolean,onClose:r=>{if(r!==void 0){this.setState({showStatesEdit:!1,withStates:JSON.parse(JSON.stringify(r))});const n=JSON.parse(JSON.stringify(this.props.line));if(r){const o=JSON.parse(JSON.stringify(r)),a=JSON.parse(this.state.originalStates);Object.keys(o).forEach(i=>{o[i]===a[i]&&delete o[i]}),n.states=o}else n.states=!1;this.props.updateLine(this.props.index,n)}else this.setState({showStatesEdit:!1})}}):null]})}renderOpenedLine(){const r={"":P.t("own axis")};for(let s=0;ss.chartType==="bar"||s.chartType==="polar"),o={auto:"Auto (Line or Steps)",line:"Line",bar:"Bar",polar:"Polar",scatterplot:"Scatter plot",steps:"Steps",stepsStart:"Steps on start",spline:"Spline"},a={minmax:"minmax",average:"average",min:"min",max:"max",total:"total",count:"count",onchange:"raw",percentile:"percentile",integral:"integral",current:void 0,none:void 0};n&&(delete a.minmax,this.props.presetData.l.find(s=>s.chartType==="polar")&&(a.current="current"));const i=this.props.line.commonYAxis===void 0;return w.jsxs(w.Fragment,{children:[w.jsxs("div",{style:Ct.lineClosed,children:[this.props.provided?w.jsx("span",{title:P.t("Drag me"),...this.props.provided.dragHandleProps,children:w.jsx(HE,{})}):null,w.jsx(Ie,{title:P.t("Close"),onClick:()=>this.props.lineOpenToggle(this.props.index),children:w.jsx(vf,{})}),P.t("Line")," ",this.props.index+1,this.props.line.name?` - ${this.props.line.name}`:"",w.jsx("div",{style:{flexGrow:1}}),w.jsx(Ie,{style:Ct.copyButtonFull,"aria-label":"Copy",title:P.t("Copy"),onClick:()=>this.props.onCopy(this.props.line),children:w.jsx(dH,{})}),this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&(!this.props.index||this.props.line.chartType!=="polar")?w.jsx(Ie,{style:Ct.editButtonFull,"aria-label":"Edit",title:P.t("Edit"),onClick:()=>this.setState({dialogOpen:!0}),children:w.jsx(r1,{})}):null,w.jsx(Ie,{style:Ct.deleteButtonFull,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteLine(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]}),w.jsxs(Re,{component:"div",sx:Ct.shortFields,style:{marginRight:30},children:[w.jsx(Dt,{value:this.props.line.instance,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.instance=s,this.props.updateLine(this.props.index,l)},label:"Source",noTranslate:!0,options:(()=>{const s={};return this.props.instances.forEach(l=>s[l._id]=l._id.replace("system.adapter.","")),s.json="JSON",s})()}),w.jsx(Jd,{theme:this.props.theme,value:this.props.line.id,styles:{objectContainer:Ct.fullWidth},updateValue:this.onIdChanged,name:"id",label:"ID",width:"calc(100% - 250px)",customFilter:this.props.line.instance!=="json"?{common:{custom:this.props.line.instance?this.props.line.instance.replace("system.adapter.",""):this.props.systemConfig.common.defaultHistory||!0}}:void 0,socket:this.props.socket})]}),w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterMain),children:[w.jsx("p",{style:Ct.title,children:P.t("Main")}),!this.props.index||this.props.line.chartType!=="polar"?this.renderColorField():null,w.jsx(Dt,{value:this.props.line.chartType,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.chartType=s,this.props.updateLine(this.props.index,l)},label:"Chart type",options:o}),this.props.line.instance!=="json"&&this.props.line.chartType!=="auto"?w.jsx(Dt,{value:this.props.line.aggregate,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.aggregate=s,this.props.updateLine(this.props.index,l)},label:"Type",options:a}):null,this.props.line.chartType==="bar"?w.jsx(Dt,{value:this.props.line.postProcessing,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.postProcessing=s,this.props.updateLine(this.props.index,l)},label:"Processing",options:{"":"non-processed",diff:"difference"}}):null,this.props.line.aggregate==="percentile"?w.jsx($u,{value:this.props.line.percentile,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.percentile=s,this.props.updateLine(this.props.index,l)},step:5,min:0,max:100,label:"Percentile"}):null,this.props.line.aggregate==="integral"?w.jsx(Er,{value:this.props.line.integralUnit,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.integralUnit=s,this.props.updateLine(this.props.index,l)},label:"Integral unit",min:1,tooltip:P.t("In seconds")}):null,this.props.line.aggregate==="integral"?w.jsx(Dt,{value:this.props.line.integralInterpolation,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.integralInterpolation=s,this.props.updateLine(this.props.index,l)},label:"Interpolation method",options:{none:"none_no",linear:"linear"}}):null,this.props.line.chartType==="scatterplot"||this.props.line.points?w.jsx(Er,{value:this.props.line.symbolSize,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.symbolSize=s,this.props.updateLine(this.props.index,l)},label:"Point size",min:1}):null,this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&this.props.line.chartType!=="polar"?w.jsx(Er,{value:this.props.line.validTime,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.validTime=s,this.props.updateLine(this.props.index,l)},label:"Valid time (sec)",min:0,tooltip:P.t("If the current value is not older than X seconds, assume it is still the same.")}):null,this.props.presetData.legend?w.jsx(kn,{value:this.props.line.hide,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.hide=s,this.props.updateLine(this.props.index,l)},label:"Show only in legend"}):null,this.props.line.chartType!=="bar"&&this.props.line.chartType!=="polar"?w.jsx(kn,{value:this.props.line.noFuture,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.noFuture=s,this.props.updateLine(this.props.index,l)},label:"No future"}):null]}),w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterTexts),children:[w.jsx("p",{style:Ct.title,children:P.t("Texts")}),w.jsx(Ln,{value:this.props.line.name,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.name=s,this.props.updateLine(this.props.index,l)},label:"Name"}),!this.state.isBoolean&&i?w.jsx(Ln,{value:this.props.line.unit,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.unit=s,this.props.updateLine(this.props.index,l)},label:"Unit"}):null,this.state.isBoolean&&this.state.withStates===null?w.jsx(Ln,{value:this.props.line.falseText,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.falseText=s,this.props.updateLine(this.props.index,l)},label:"Text by false"}):null,this.state.isBoolean&&this.state.withStates===null?w.jsx(Ln,{value:this.props.line.trueText,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.trueText=s,this.props.updateLine(this.props.index,l)},label:"Text by true"}):null,this.renderStates()]}),this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&(!this.props.index||this.props.line.chartType!=="polar")?w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterLine),children:[w.jsx("p",{style:Ct.title,children:P.t("Line and area")}),w.jsx($u,{value:this.props.line.fill,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.fill=s,s<.01&&!parseFloat(l.thickness)&&(l.thickness=1),this.props.updateLine(this.props.index,l)},min:0,max:1,step:.1,label:"Fill (from 0 to 1)"}),w.jsx(kn,{value:this.props.line.points,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.points=s,this.props.updateLine(this.props.index,l)},label:"Show points"}),this.props.line.points?w.jsx(Er,{value:this.props.line.symbolSize,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.symbolSize=s,this.props.updateLine(this.props.index,l)},label:"Point size",min:1}):null,w.jsx(Er,{value:this.props.line.thickness,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.thickness=s,this.props.updateLine(this.props.index,l)},label:"ØL - Line thickness",min:this.props.line.fill>.01?0:1}),w.jsx(Er,{value:this.props.line.shadowsize,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.shadowsize=s,this.props.updateLine(this.props.index,l)},label:"ØS - Shadow size",min:0})]}):null,w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterAxis),children:[w.jsx("p",{style:Ct.title,children:P.t("Axis")}),!this.props.index&&this.props.line.chartType!=="polar"?w.jsx(Dt,{value:this.props.line.xaxe,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.xaxe=s,this.props.updateLine(this.props.index,l)},label:"X Axis position",options:{"":"bottom",top:"top",off:"off"}}):null,!this.props.index&&this.props.line.chartType!=="polar"?w.jsx(Er,{value:this.props.line.xticks,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.xticks=s,this.props.updateLine(this.props.index,l)},label:"X-Axis ticks",min:1}):null,this.props.line.chartType!=="polar"?w.jsx(Dt,{value:this.props.line.offset===void 0?"0":this.props.line.offset.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));s?l.offset=s:delete l.offset,this.props.updateLine(this.props.index,l)},tooltip:P.t("This time offset will be added to the request by reading data from DB"),label:"X-Offset",options:{0:"0 seconds",10:"10 seconds",30:"30 seconds",60:"60 seconds",120:"2 minutes",180:"3 minutes",240:"4 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1800:"30 minutes",2700:"45 minutes",3600:"1 hour",7200:"2 hours",21600:"6 hours",43200:"12 hours",86400:"1 day",172800:"2 days",259200:"3 days",345600:"4 days",604800:"1 week",1209600:"2 weeks","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years","-10":"-10 seconds","-30":"-30 seconds","-60":"-60 seconds","-120":"-2 minutes","-180":"-3 minutes","-240":"-4 minutes","-300":"-5 minutes","-600":"-10 minutes","-900":"-15 minutes","-1800":"-30 minutes","-2700":"-45 minutes","-3600":"-1 hour","-7200":"-2 hours","-21600":"-6 hours","-43200":"-12 hours","-86400":"-1 day","-172800":"-2 days","-259200":"-3 days","-345600":"-4 days","-604800":"-1 week","-1209600":"-2 weeks","-1m":"-1 month","-2m":"-2 months","-3m":"-3 months","-6m":"-6 months","-1y":"-1 year","-2y":"-2 years"}}):null,this.props.line.chartType!=="polar"?w.jsx(Er,{value:this.props.line.yOffset,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.yOffset=s,this.props.updateLine(this.props.index,l)},label:"Y-Offset"}):null,w.jsx("br",{}),this.props.line.chartType!=="polar"?w.jsx(Dt,{value:this.props.line.commonYAxis===void 0?"":this.props.line.commonYAxis.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.commonYAxis=s===""?void 0:parseInt(s,10),this.props.updateLine(this.props.index,l)},label:"Common Y Axis",noTranslate:!0,options:r}):null,this.props.line.chartType!=="polar"&&i?w.jsx(Dt,{value:this.props.line.yaxe,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.yaxe=s,this.props.updateLine(this.props.index,l)},label:"Y Axis position",options:{"":"",off:"off",left:"left",right:"right",leftColor:"left colored",rightColor:"right colored"}}):null,this.props.line.chartType!=="polar"&&i?w.jsx(Ln,{value:this.props.line.min===void 0?"":this.props.line.min.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.min=s,this.props.updateLine(this.props.index,l)},label:"Min"}):null,i?w.jsx(Ln,{value:this.props.line.max===void 0?"":this.props.line.max.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.max=s,this.props.updateLine(this.props.index,l)},label:"Max"}):null,this.props.line.chartType!=="polar"&&i?w.jsx(Er,{value:this.props.line.yticks,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.yticks=s,this.props.updateLine(this.props.index,l)},label:"Y-Axis ticks"}):null]}),w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterOther),children:[w.jsx("p",{style:Ct.title,children:P.t("Others")}),w.jsx(Dt,{value:this.props.line.ignoreNull===void 0?"false":this.props.line.ignoreNull.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.ignoreNull=s==="true"?!0:s==="0"?0:!1,this.props.updateLine(this.props.index,l)},label:"NULL as",options:{false:"default",true:"ignore null values",0:"use 0 instead of null values"}}),w.jsx(Er,{value:this.props.line.afterComma,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.afterComma=s,this.props.updateLine(this.props.index,l)},label:"Digits after comma",min:0}),this.props.line.chartType!=="bar"?w.jsx(Dt,{value:this.props.line.lineStyle,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.lineStyle=s,this.props.updateLine(this.props.index,l)},label:"Line style",options:{solid:"solid",dashed:"dashed",dotted:"dotted"}}):null,w.jsx(Ln,{value:this.props.line.convert,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.convert=s,this.props.updateLine(this.props.index,l)},label:"Convert formula",helperLink:this.showConvertHelp})]})]})}render(){var r;return w.jsxs(JW,{sx:ue.getStyle(this.props.theme,Ct.card,this.props.onPaste&&Ct.cardPaste),style:{background:(r=this.props.snapshot)!=null&&r.isDragging?this.props.theme.palette.secondary.light:void 0},children:[w.jsxs(YW,{sx:Ct.cardContent,children:[this.props.opened&&!this.props.onPaste?this.renderOpenedLine():this.renderClosedLine(),w.jsx(QKt,{open:this.state.dialogOpen,onClose:()=>this.setState({dialogOpen:!1}),line:this.props.line,index:this.props.index,updateLine:(n,o)=>this.props.updateLine(n,o)})]}),this.renderConvertHelp()]})}}const Ft={lineId:100,upperValueOrId:150,lowerValueOrId:100,color:100,fill:100,text:150,buttons:70},Kr={card:t=>({borderStyle:"dashed",borderWidth:1,mb:"8px",p:"8px",borderColor:t.palette.grey[600],overflow:"initial"}),cardPaste:t=>({borderColor:t.palette.mode==="dark"?t.palette.grey[400]:t.palette.grey[800],backgroundColor:"rgba(0,0,0,0)",opacity:.8}),cardContent:{p:0,m:0,"&:last-child":{p:0}},shortFields:t=>({display:"block","& > div":{display:"inline-flex",pr:"20px",width:200},pb:"16px",borderBottom:`1px dotted ${t.palette.grey[400]}`}),shortFieldsLast:{borderBottom:0,paddingBottom:0,position:"relative"},shortLineIdField:{display:"inline-flex",minWidth:Ft.lineId,paddingTop:0,verticalAlign:"top",marginTop:2},shortUpperValueOrIdField:{display:"inline-flex",minWidth:Ft.upperValueOrId,paddingTop:0,verticalAlign:"top"},shortLowerValueOrIdField:{display:"inline-flex",minWidth:Ft.lowerValueOrId,paddingTop:0,verticalAlign:"top"},shortColorField:{display:"inline-flex",minWidth:Ft.color,paddingTop:0,verticalAlign:"top"},shortFillField:{display:"inline-flex",width:Ft.fill,paddingTop:0,verticalAlign:"top"},sliderRoot:{marginTop:10},shortTextField:{display:"inline-flex",minWidth:Ft.text,paddingTop:0,verticalAlign:"top"},shortButtonsField:{display:"inline-flex",minWidth:Ft.buttons,paddingTop:0,verticalAlign:"top"},lineClosed:{display:"inline-flex",flexFlow:"column wrap",overflow:"hidden",flexDirection:"row",flex:1},lineClosedContainer:{display:"flex",alignItems:"center",gap:4},deleteButton:{},deleteButtonFull:{},copyButtonFull:{},title:{width:"inherit",position:"absolute",whiteSpace:"nowrap",right:0,fontSize:48,opacity:.1,lineHeight:"48px",padding:0,marginTop:20,marginLeft:0,marginRight:0,marginBottom:0,paddingRight:40}};class MB extends m.Component{constructor(e){super(e),this.state={color:e.mark.color,textColor:e.mark.textColor}}renderColorField(e,r){let n=ue.isUseBright(this.props.mark.color,null);n===null&&(n=void 0);const o=a=>{const i=JSON.parse(JSON.stringify(this.props.mark));i.color=a,this.props.updateMark(this.props.index,i)};return w.jsx("div",{style:r,children:w.jsx(Ht,{variant:"standard",disabled:!!this.props.onPaste,style:{minWidth:e,width:"calc(100% - 8px)"},label:P.t("Color"),value:this.props.mark.color,onClick:()=>!this.props.onPaste&&this.setState({color:this.props.mark.color},()=>this.props.onSelectColor(this.state.color,a=>this.setState({color:a},()=>o(Ai.getColor(a,!0))))),onChange:a=>{const i=a.target.value;this.setState({color:i},()=>o(i))},slotProps:{htmlInput:{style:{paddingLeft:8,backgroundColor:this.props.mark.color,color:n?"#FFF":"#000"}},input:{endAdornment:!this.props.onPaste&&this.props.mark.color?w.jsx(Ie,{size:"small",onClick:a=>{a.stopPropagation(),this.setState({color:""},()=>o(""))},children:w.jsx(Ar,{})}):void 0},inputLabel:{shrink:!0}}})})}renderTextColorField(e,r){let n=ue.isUseBright(this.props.mark.textColor,null);n===null&&(n=void 0);const o=a=>{const i=JSON.parse(JSON.stringify(this.props.mark));i.textColor=a,this.props.updateMark(this.props.index,i)};return w.jsx("div",{style:r,children:w.jsx(Ht,{variant:"standard",disabled:!!this.props.onPaste,style:{minWidth:e,width:"calc(100% - 8px)"},label:P.t("Text color"),value:this.props.mark.textColor,onClick:()=>!this.props.onPaste&&this.setState({textColor:this.props.mark.textColor},()=>this.props.onSelectColor(this.state.textColor,a=>this.setState({textColor:a},()=>o(Ai.getColor(a,!0))))),onChange:a=>{const i=a.target.value;this.setState({textColor:i},()=>o(i))},slotProps:{htmlInput:{style:{paddingLeft:8,backgroundColor:this.props.mark.textColor,color:n?"#FFF":"#000"}},input:{endAdornment:!this.props.onPaste&&this.props.mark.textColor?w.jsx(Ie,{size:"small",onClick:a=>{a.stopPropagation(),this.setState({textColor:""},()=>o(""))},children:w.jsx(Ar,{})}):void 0},inputLabel:{shrink:!0}}})})}renderClosedLine(e,r){const n={},o=this.props.mark.lineId!==null&&this.props.mark.lineId!==void 0?1:0,a=o&&this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""?1:0,i=a&&this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?1:0,s=(this.props.width||1024)-32-40,l=4;return s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.color*a+Ft.fill*i+Ft.text*a+Ft.buttons+l*6?(n.upper=!!o,n.lower=!!a,n.color=!!a,n.fill=!!i,n.text=!!a):s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.color*a+Ft.fill*i+Ft.buttons+l*5?(n.upper=!!o,n.lower=!!a,n.color=!!a,n.fill=!!i):s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.color*a+Ft.buttons+l*4?(n.upper=!!o,n.lower=!!a,n.color=!!a):s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.buttons+l*3?(n.upper=!!o,n.lower=!!a):n.upper=!!o,w.jsxs("div",{style:Kr.lineClosedContainer,children:[this.props.onPaste?w.jsx(Ie,{title:P.t("Paste"),onClick:()=>this.props.onPaste(),children:w.jsx(uH,{})}):w.jsx(Ie,{title:P.t("Edit"),onClick:()=>this.props.markOpenToggle(this.props.index),children:w.jsx(yf,{})}),w.jsx(Dt,{disabled:!!this.props.onPaste,noTranslate:!0,value:this.props.mark.lineId===void 0?"":this.props.mark.lineId.toString(),updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.lineId=d?parseInt(d,10):void 0,this.props.updateMark(this.props.index,h)},label:"Line ID",options:e,colors:r,styles:{fieldContainer:Kr.shortLineIdField},minWidth:Ft.lineId}),n.upper?w.jsx(Jd,{theme:this.props.theme,disabled:!!this.props.onPaste,value:this.props.mark.upperValueOrId===void 0?"":this.props.mark.upperValueOrId.toString(),updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.upperValueOrId=d,this.props.updateMark(this.props.index,h)},name:"upperValueOrId",label:"Upper value or ID",socket:this.props.socket,styles:{fieldContainer:Kr.shortUpperValueOrIdField},minWidth:Ft.upperValueOrId}):null,n.lower?w.jsx(Jd,{theme:this.props.theme,disabled:!!this.props.onPaste,value:this.props.mark.lowerValueOrId===void 0?"":this.props.mark.lowerValueOrId.toString(),updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.lowerValueOrId=d,this.props.updateMark(this.props.index,h)},name:"lowerValueOrId",label:"Lower value or ID",socket:this.props.socket,styles:{fieldContainer:Kr.shortLowerValueOrIdField},minWidth:Ft.lowerValueOrId}):null,n.color?this.renderColorField(Ft.color,Kr.shortColorField):null,n.fill?w.jsx($u,{disabled:!!this.props.onPaste,value:this.props.mark.fill,updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.fill=d,this.props.updateMark(this.props.index,h)},styles:{fieldContainer:Kr.shortFillField,sliderRoot:Kr.sliderRoot},label:"Fill (from 0 to 1)",min:0,max:1,step:.1}):null,n.text?w.jsx(Ln,{disabled:!!this.props.onPaste,value:this.props.mark.text,updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.text=d,this.props.updateMark(this.props.index,h)},label:"Text",styles:{fieldContainer:Kr.shortTextField},minWidth:Ft.fill}):null,w.jsx("div",{style:{flexGrow:1}}),w.jsx(Ie,{"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteMark(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]})}renderOpenedCard(e,r){return w.jsxs(w.Fragment,{children:[w.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[w.jsx(Ie,{title:P.t("Close"),onClick:()=>this.props.markOpenToggle(this.props.index),children:w.jsx(vf,{})}),P.t("Mark")," ",this.props.index+1,this.props.mark.text?` - ${this.props.mark.text}`:"",w.jsx("div",{style:{flexGrow:1}}),w.jsx(Ie,{style:Kr.copyButtonFull,"aria-label":"Copy",title:P.t("Copy"),onClick:()=>this.props.onCopy(this.props.mark),children:w.jsx(dH,{})}),w.jsx(Ie,{style:Kr.deleteButtonFull,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteMark(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]}),w.jsxs(Re,{component:"div",sx:Kr.shortFields,children:[w.jsx("p",{style:Kr.title,children:P.t("Limits")}),w.jsx(Dt,{value:this.props.mark.lineId===void 0||this.props.mark.lineId===null?"":this.props.mark.lineId.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.lineId=n?parseInt(n,10):void 0,this.props.updateMark(this.props.index,o)},noTranslate:!0,label:"Line ID",options:e,colors:r}),this.props.mark.lineId!==null&&this.props.mark.lineId!==void 0?w.jsx(Jd,{theme:this.props.theme,value:this.props.mark.upperValueOrId===void 0?"":this.props.mark.upperValueOrId.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.upperValueOrId=n,this.props.updateMark(this.props.index,o)},name:"upperValueOrId",label:"Upper value or ID",socket:this.props.socket}):null,this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""?w.jsx(Jd,{theme:this.props.theme,value:this.props.mark.lowerValueOrId===void 0?"":this.props.mark.lowerValueOrId.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.lowerValueOrId=n,this.props.updateMark(this.props.index,o)},name:"lowerValueOrId",label:"Lower value or ID",socket:this.props.socket}):null]}),this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""||this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?w.jsxs(Re,{component:"div",sx:Kr.shortFields,children:[w.jsx("p",{style:Kr.title,children:P.t("Style")}),this.renderColorField(),w.jsx(Er,{value:this.props.mark.ol,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.ol=n,this.props.updateMark(this.props.index,o)},label:"ØL Line thickness"}),w.jsx(Er,{value:this.props.mark.os,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.os=n,this.props.updateMark(this.props.index,o)},label:"ØS Shadow size"}),w.jsx(Dt,{value:this.props.mark.lineStyle,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.lineStyle=n,this.props.updateMark(this.props.index,o)},label:"Line style",options:{solid:"solid",dashed:"dashed",dotted:"dotted"}}),this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""&&this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?w.jsx($u,{value:this.props.mark.fill,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.fill=n,this.props.updateMark(this.props.index,o)},label:"Fill (from 0 to 1)",min:0,max:1,step:.1}):null]}):null,this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""||this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Kr.shortFields,Kr.shortFieldsLast),children:[w.jsx("p",{style:Kr.title,children:P.t("Label")}),w.jsx(Ln,{value:this.props.mark.text,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.text=n,this.props.updateMark(this.props.index,o)},label:"Text"}),this.props.mark.text?w.jsx(Dt,{value:this.props.mark.textPosition,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.textPosition=n,this.props.updateMark(this.props.index,o)},label:"Text position",options:{l:"Left",r:"Right",insideStart:"Inside start",insideStartTop:"Inside start top",insideStartBottom:"Inside start bottom",insideMiddle:"Inside middle",insideMiddleTop:"Inside middle top",insideMiddleBottom:"Inside middle bottom",insideEnd:"Inside end",insideEndTop:"Inside end top",insideEndBottom:"Inside end bottom"}}):null,this.props.mark.text?w.jsx(Er,{value:this.props.mark.textOffset,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.textOffset=n,this.props.updateMark(this.props.index,o)},label:"Text X offset"}):null,this.props.mark.text?w.jsx(Er,{value:this.props.mark.textSize,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.textSize=n,this.props.updateMark(this.props.index,o)},label:"Text size"}):null,this.props.mark.text?this.renderTextColorField():null]}):null]})}render(){var n;const e={},r={};return(n=this.props.presetData)==null||n.l.forEach((o,a)=>{e[a]=`${a} - ${o.id||P.t("No ID yet")}`,r[a]=o.color}),w.jsx(JW,{sx:ue.getStyle(this.props.theme,Kr.card,this.props.onPaste&&Kr.cardPaste),children:w.jsx(YW,{sx:Kr.cardContent,children:this.props.opened&&!this.props.onPaste?this.renderOpenedCard(e,r):this.renderClosedLine(e,r)})})}}const tZt={l:[],marks:[],timeType:"relative",relativeEnd:"30minutes",range:120,aggregateType:"count",aggregateSpan:300,legend:"ne",hoverDetail:!0,zoom:!0,animation:0,live:15,ticks:"",width:"100%",height:"100%",noBorder:"noborder",window_bg:"",bg_custom:"",x_labels_color:"",y_labels_color:"",border_color:"",grid_color:"",grid_hideX:!1,grid_hideY:!1,border_width:0,barLabels:"topover",barFontColor:"",title:"",titlePos:"",titleColor:"",legBg:"",timeFormat:"",export:!0};function Lh(t,e,r,n){var i,s,l;const o=((i=r==null?void 0:r.common)==null?void 0:i.type)==="boolean",a={name:(((s=r==null?void 0:r.common)==null?void 0:s.name)&&ue.getObjectNameFromObj(r,null,{language:n||P.getLanguage()})||"").trim(),id:(r==null?void 0:r._id)||"",instance:e===t.common.defaultHistory?"":e||"",thickness:2,chartType:o?"steps":"line",aggregate:o?"onchange":"minmax",isBoolean:o,symbolSize:3,validTime:35};return(l=r==null?void 0:r.common)!=null&&l.color&&(a.color=r.common.color),r&&r.common&&r.common.unit&&(a.unit=r.common.unit),o&&(a.yaxe="off",a.min=0,a.yticks=1,a.fill=.3,a.symbolSize=1),a}function G2(t,e,r,n){const o=JSON.parse(JSON.stringify(tZt));return o.useComma=t.common.isFloatComma||!1,t.common.dateFormat,o.l.push(Lh(t,e,r,n)),o}const Ue={tabsBody:{overflowY:"auto",flex:1,height:"calc(100% - 48px)"},tabsContainer:{flexDirection:"row"},tabContent:{padding:8,position:"relative",minHeight:"calc(100% - 32px)"},buttonAdd:{position:"absolute",top:8,right:8,zIndex:3},buttonExpandAll:{position:"absolute",top:50,right:8,opacity:.5,zIndex:3},buttonCollapseAll:{position:"absolute",top:8+42*2,right:8,opacity:.5,zIndex:3},button:{height:40,width:40,marginTop:5,marginLeft:5},buttonSave:{color:"#CC0000"},noContent:{padding:8,height:64,verticalAlign:"middle",lineHeight:"64px",width:"100%"},dragHint:{paddingLeft:8,fontSize:10,fontStyle:"italic",opacity:.8},marginTop:{marginTop:16},noPaddingOnSide:{},group:t=>({display:"block","& > div":{display:"inline-flex",pr:"20px",width:200},position:"relative",pb:"16px",borderBottom:`1px dotted ${t.palette.grey[400]}`}),title:{width:"inherit",position:"absolute",whiteSpace:"nowrap",right:0,fontSize:48,opacity:.1,lineHeight:"48px",padding:0,marginTop:20,marginLeft:0,marginRight:0,marginBottom:0,paddingRight:10},buttonCopyLink:{minHeight:30,marginTop:20,marginBottom:10,marginLeft:16},selected:t=>({color:t.palette.mode==="dark"?void 0:"#FFF !important"}),indicator:t=>({backgroundColor:(t.palette.mode==="dark",t.palette.secondary.main)})},PB=["#144578","#1868A8","#665191","#a05195","#d45087","#f95d6a","#ff7c43","#ffa600"],rZt=(t,e)=>({userSelect:"none",width:"100%",background:t?"lightgreen":"grey",...e});class nZt extends m.Component{constructor(r){super(r);X(this,"colorPickerCb");X(this,"paperLineRef");X(this,"paperMarkRef");X(this,"windowWidth");X(this,"handleResize",()=>{(!this.state.selectedTab||this.state.selectedTab==="data")&&this.paperLineRef.current&&this.paperLineRef.current.clientWidth!==this.state.clientWidth?this.setState({clientWidth:this.paperLineRef.current.clientWidth}):this.state.selectedTab==="markings"&&this.paperMarkRef.current&&this.paperMarkRef.current.clientWidth!==this.state.clientWidth&&this.setState({clientWidth:this.paperMarkRef.current.clientWidth})});X(this,"lineOpenToggle",r=>{const n=[...this.state.linesOpened];n[r]=!this.state.linesOpened[r],this.setState({linesOpened:n}),window.localStorage.setItem("App.echarts.Lines.opened",JSON.stringify(n))});X(this,"markOpenToggle",r=>{const n=[...this.state.marksOpened];n[r]=!this.state.marksOpened[r],this.setState({marksOpened:n}),window.localStorage.setItem("App.echarts.Marks.opened",JSON.stringify(n))});X(this,"updateMark",(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.marks[r]=n,this.props.onChange(o)});X(this,"updateLine",(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.l[r]=n,o.l[r].chartType==="bar"?o.l.forEach(a=>{a.chartType="bar",a.aggregate==="minmax"&&(a.aggregate="max")}):o.l[r].chartType==="polar"?o.l.forEach(a=>{a.chartType="polar",a.aggregate==="minmax"&&(a.aggregate="current")}):o.l.find(a=>a.chartType==="bar")?o.l.forEach(a=>{a.chartType=o.l[r].chartType,a.aggregate==="current"&&(a.aggregate="minmax")}):o.l.find(a=>a.chartType==="polar")&&o.l.forEach(a=>{a.chartType=o.l[r].chartType,a.aggregate==="current"&&(a.aggregate="minmax")}),this.props.onChange(o)});X(this,"expandAllLines",()=>{const r=this.props.presetData.l.map(()=>!0);window.localStorage.setItem("App.echarts.Lines.opened",JSON.stringify(r)),this.setState({linesOpened:r})});X(this,"collapseAllLines",()=>{window.localStorage.setItem("App.echarts.Lines.opened",JSON.stringify([])),this.setState({linesOpened:[]})});X(this,"expandAllMarks",()=>{const r=this.props.presetData.marks.map(()=>!0);window.localStorage.setItem("App.echarts.Marks.opened",JSON.stringify([])),this.setState({marksOpened:r})});X(this,"collapseAllMarks",()=>{window.localStorage.setItem("App.echarts.Marks.opened",JSON.stringify([])),this.setState({marksOpened:[]})});X(this,"deleteMark",r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.marks.splice(r,1);const o=[...this.state.marksOpened];o.splice(r,1),this.setState({marksOpened:o},()=>this.props.onChange(n))});X(this,"deleteLine",r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));for(let a=0;ar?n.l[a].commonYAxis=n.l[a].commonYAxis-1:n.l[a].commonYAxis===r&&delete n.l[a].commonYAxis);n.l.splice(r,1);const o=[...this.state.linesOpened];o.splice(r,1),this.setState({linesOpened:o},()=>this.props.onChange(n))});this.windowWidth=this.props.windowWidth;const n=window.sessionStorage.getItem("echarts.copiedObject");let o=null;if(n)try{o=JSON.parse(n),o.data&&(o.type==="line"?o.line=o.data:o.mark=o.data,delete o.data)}catch{o=null}this.state={presetData:G2(this.props.systemConfig),selectedTab:window.localStorage.getItem("App.echarts.presetTabs.selectedTab")!==null?window.localStorage.getItem("App.echarts.presetTabs.selectedTab"):"data",linesOpened:window.localStorage.getItem("App.echarts.Lines.opened")!==null?JSON.parse(window.localStorage.getItem("App.echarts.Lines.opened")):[],marksOpened:window.localStorage.getItem("App.echarts.Marks.opened")!==null?JSON.parse(window.localStorage.getItem("App.echarts.Marks.opened")):[],deleteLineDialog:null,deleteMarkDialog:null,showColorDialog:!1,colorDialogValue:"",webInstances:[],toast:"",copiedObject:o,clientWidth:0,legColor:"",legBg:"",exportColor:"",exportDataColor:"",titleColor:"",window_bg:"",bg_custom:"",x_labels_color:"",y_labels_color:"",y_ticks_color:"",border_color:"",barFontColor:"",x_ticks_color:"",grid_color:""},this.props.socket.getAdapterInstances("web").then(a=>{const i=a.map(s=>({index:s._id.split(".").pop(),link:`http${s.native.secure?"s":""}://${s.native.bind==="0.0.0.0"?window.location.hostname:s.native.bind}:${s.native.port}`}));this.setState({webInstances:i})}),this.paperLineRef=m.createRef(),this.paperMarkRef=m.createRef(),this.colorPickerCb=null}componentDidMount(){window.addEventListener("resize",this.handleResize)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}addMark(r){const n=JSON.parse(JSON.stringify(this.props.presetData));if(r)n.marks.push(JSON.parse(JSON.stringify(r)));else{const o=this.props.presetData.marks.length,a=PB[o%PB.length];n.marks.push({color:a})}this.props.onChange(n)}addLine(r){const n=JSON.parse(JSON.stringify(this.props.presetData));if(r)n.l.push(JSON.parse(JSON.stringify(r)));else{const o=this.props.presetData.l.length,a=Lh(this.props.systemConfig);a.xaxe=o?"off":void 0,n.l.push(a)}if(n.l.find(o=>o.chartType==="bar")){const o=n.l[n.l.length-1];o.chartType="bar",o.aggregate==="minmax"&&(o.aggregate="max")}else if(n.l.find(o=>o.chartType==="polar")){const o=n.l[n.l.length-1];o.chartType="polar",o.aggregate==="minmax"&&(o.aggregate="current")}this.props.onChange(n)}renderDeleteLineDialog(){return this.state.deleteLineDialog!==null?w.jsxs(or,{open:!0,onClose:()=>this.setState({deleteLineDialog:null}),children:[w.jsx(_r,{children:P.t("Are you sure for delete this line?")}),w.jsxs(pr,{style:{...Ue.alignRight,...Ue.buttonsContainer},children:[w.jsx(tt,{variant:"contained",color:"secondary",autoFocus:!0,onClick:()=>{this.deleteLine(this.state.deleteLineDialog),this.setState({deleteLineDialog:null})},startIcon:w.jsx(Ta,{}),children:P.t("Delete")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({deleteLineDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"deleteLineDialog"):null}renderDeleteMarkDialog(){return this.state.deleteMarkDialog!==null?w.jsxs(or,{open:!0,onClose:()=>this.setState({deleteMarkDialog:null}),children:[w.jsx(_r,{children:P.t("Are you sure for delete this mark?")}),w.jsxs(pr,{style:{...Ue.alignRight,...Ue.buttonsContainer},children:[w.jsx(tt,{variant:"contained",color:"secondary",onClick:()=>{this.deleteMark(this.state.deleteMarkDialog),this.setState({deleteMarkDialog:null})},startIcon:w.jsx(Ta,{}),children:P.t("Delete")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({deleteMarkDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"deleteMarkDialog"):null}showColorPicker(r,n){this.colorPickerCb=n,this.setState({colorDialogValue:r,showColorDialog:!0})}renderColorDialog(){return w.jsx(or,{onClose:()=>{this.colorPickerCb=null,this.setState({showColorDialog:!1})},open:this.state.showColorDialog,children:w.jsx(wKt,{color:this.state.colorDialogValue,onChange:r=>{this.setState({colorDialogValue:r.hex},()=>this.colorPickerCb&&this.colorPickerCb(r.hex))}})})}componentDidUpdate(){(!this.state.selectedTab||this.state.selectedTab==="data")&&this.paperLineRef.current&&this.paperLineRef.current.clientWidth!==this.state.clientWidth?(this.windowWidth=this.props.windowWidth,this.setState({clientWidth:this.paperLineRef.current.clientWidth})):this.state.selectedTab==="markings"&&this.paperMarkRef.current&&this.paperMarkRef.current.clientWidth!==this.state.clientWidth&&(this.windowWidth=this.props.windowWidth,this.setState({clientWidth:this.paperMarkRef.current.clientWidth}))}renderTabLines(){const r=this.props.presetData.l.length>1&&this.props.presetData.l.find((o,a)=>!this.state.linesOpened[a]),n=this.props.presetData.l.length>1&&this.props.presetData.l.find((o,a)=>this.state.linesOpened[a]);return w.jsx(QT,{droppableId:"tabs",children:(o,a)=>{var i;return w.jsx("div",{...o.droppableProps,ref:o.innerRef,style:{background:a.isDraggingOver?this.props.theme.palette.secondary.dark:void 0,width:"100%",minHeight:"calc(100% - 32px)"},children:w.jsxs(zn,{style:Ue.tabContent,ref:this.paperLineRef,children:[w.jsx(ro,{onClick:()=>this.addLine(),size:"small",color:"secondary",style:Ue.buttonAdd,title:P.t("Add line to chart"),children:w.jsx(Il,{})}),r?w.jsx(ro,{onClick:this.expandAllLines,size:"small",color:"default",style:Ue.buttonExpandAll,title:P.t("Expand all lines"),children:w.jsx(sf,{})}):null,n?w.jsx(ro,{onClick:this.collapseAllLines,size:"small",color:"default",style:Ue.buttonCollapseAll,title:P.t("Collapse all lines"),children:w.jsx(YR,{})}):null,this.props.presetData.l.length?this.props.presetData.l.map((s,l)=>w.jsx(EE,{draggableId:`${s.id}_${l}`,index:l,children:(d,h)=>w.jsx("div",{ref:d.innerRef,...d.draggableProps,style:rZt(h.isDragging,d.draggableProps.style),children:w.jsx(IB,{provided:d,snapshot:h,theme:this.props.theme,instances:this.props.instances,systemConfig:this.props.systemConfig,line:s,presetData:this.props.presetData,width:this.state.clientWidth,updateLine:this.updateLine,deleteLine:u=>this.setState({deleteLineDialog:u}),index:l,socket:this.props.socket,opened:typeof this.state.linesOpened[l]<"u"&&this.state.linesOpened[l]===!0,lineOpenToggle:this.lineOpenToggle,maxLines:this.props.presetData.l.length,onSelectColor:(u,f)=>this.showColorPicker(u,f),onCopy:u=>{this.setState({copiedObject:{type:"line",line:JSON.parse(JSON.stringify(u))}}),window.sessionStorage.setItem("echarts.copiedObject",JSON.stringify({type:"line",line:u}))}},l)})},`${s.id}_${l}`)):w.jsx("div",{style:Ue.noContent,children:P.t('Create a new line with a "+" on the right.')}),((i=this.state.copiedObject)==null?void 0:i.type)==="line"?w.jsx(IB,{presetData:this.props.presetData,line:this.state.copiedObject.line,theme:this.props.theme,instances:this.props.instances,systemConfig:this.props.systemConfig,width:this.state.clientWidth,deleteLine:()=>{window.sessionStorage.removeItem("echarts.copiedObject"),this.setState({copiedObject:null})},socket:this.props.socket,opened:!1,onPaste:()=>{var s;return((s=this.state.copiedObject)==null?void 0:s.type)==="line"&&this.addLine(this.state.copiedObject.line)}},"copiedLine"):null,o.placeholder,w.jsx("div",{style:Ue.dragHint,children:P.t("You can drag and drop simple lines from the left list.")})]})})}})}renderTabMarkings(){var o;const r=this.props.presetData.marks.length>1&&this.props.presetData.marks.find((a,i)=>!this.state.marksOpened[i]),n=this.props.presetData.marks.length>1&&this.props.presetData.marks.find((a,i)=>this.state.marksOpened[i]);return w.jsxs(zn,{style:Ue.tabContent,ref:this.paperMarkRef,children:[w.jsx(ro,{onClick:()=>this.addMark(),size:"small",color:"secondary",style:Ue.buttonAdd,title:P.t("Add marking line to chart"),children:w.jsx(Il,{})}),r?w.jsx(ro,{onClick:this.expandAllMarks,size:"small",color:"default",style:Ue.buttonExpandAll,title:P.t("Expand all markings"),children:w.jsx(sf,{})}):null,n?w.jsx(ro,{onClick:this.collapseAllMarks,size:"small",color:"default",style:Ue.buttonCollapseAll,title:P.t("Collapse all markings"),children:w.jsx(YR,{})}):null,this.props.presetData.marks.length?this.props.presetData.marks.map((a,i)=>w.jsx(MB,{mark:a,presetData:this.props.presetData,updateMark:this.updateMark,theme:this.props.theme,deleteMark:s=>{this.setState({deleteMarkDialog:s})},index:i,socket:this.props.socket,width:this.state.clientWidth,opened:typeof this.state.marksOpened[i]<"u"&&this.state.marksOpened[i]===!0,markOpenToggle:this.markOpenToggle,onSelectColor:(s,l)=>this.showColorPicker(s,l),onCopy:s=>{this.setState({copiedObject:{type:"marking",mark:JSON.parse(JSON.stringify(s))}}),window.sessionStorage.setItem("echarts.copiedObject",JSON.stringify({type:"marking",mark:s}))}},i)):w.jsx("div",{style:Ue.noContent,children:P.t('You can create a new markings with a "+" on the right.')}),((o=this.state.copiedObject)==null?void 0:o.type)==="marking"?w.jsx(MB,{presetData:this.props.presetData,mark:this.state.copiedObject.mark,theme:this.props.theme,width:this.state.clientWidth,deleteMark:()=>{window.sessionStorage.removeItem("echarts.copiedObject"),this.setState({copiedObject:null})},opened:!1,onPaste:()=>{var a;return((a=this.state.copiedObject)==null?void 0:a.type)==="marking"&&this.addMark(this.state.copiedObject.mark)}},"copiedMark"):null]})}renderTabTime(){const r=this.props.presetData.l.find(s=>s.chartType!=="bar"&&s.chartType!=="polar"),n=this.props.presetData.l.find(s=>s.chartType==="bar"||s.chartType==="polar"),o=this.props.presetData.l.find(s=>s.aggregate!=="onchange"),a=this.props.presetData.l.find(s=>s.instance!=="json"),i={0:"auto",15:"i15min",60:"i1hour",1440:"i1day",43200:"i30days"};return this.props.presetData.timeType!=="static"&&(this.props.presetData.range===10||this.props.presetData.range===30||this.props.presetData.range===60?(delete i[60],delete i[1440],delete i[43200]):this.props.presetData.range===120||this.props.presetData.range===180||this.props.presetData.range===360||this.props.presetData.range===720||this.props.presetData.range===1440?(delete i[1440],delete i[43200]):(this.props.presetData.range===2880||this.props.presetData.range===4320||this.props.presetData.range===10080||this.props.presetData.range===20160||this.props.presetData.range==="1m")&&delete i[43200]),w.jsxs(zn,{style:Ue.tabContent,children:[a?w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Type")}),w.jsx(Dt,{value:this.props.presetData.timeType||"relative",updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeType=s,this.props.onChange(l)},label:"Type",options:{relative:"relative",static:"static"}})]}):null,a?w.jsx(Re,{component:"div",sx:Ue.group,children:this.props.presetData.timeType==="static"?w.jsxs(w.Fragment,{children:[w.jsx("p",{style:Ue.title,children:P.t("Start and end")}),w.jsx(ty,{date:this.props.presetData.start===void 0?"":this.props.presetData.start.toString(),time:this.props.presetData.start_time,updateValue:(s,l)=>{const d=JSON.parse(JSON.stringify(this.props.presetData));d.start=s,d.start_time=l,this.props.onChange(d)},label:"Start"}),w.jsx(ty,{date:this.props.presetData.end===void 0?"":this.props.presetData.end.toString(),time:this.props.presetData.end_time,updateValue:(s,l)=>{const d=JSON.parse(JSON.stringify(this.props.presetData));d.end=s,d.end_time=l,this.props.onChange(d)},label:"End"})]}):w.jsxs(w.Fragment,{children:[w.jsx("p",{style:Ue.title,children:P.t("Relative")}),w.jsx(Dt,{value:this.props.presetData.relativeEnd,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.relativeEnd=s,this.props.onChange(l)},label:"End",options:{now:"now","1minute":"end of minute","5minutes":"end of 5 minutes","10minutes":"end of 10 minutes","30minutes":"end of 30 minutes","1hour":"end of hour","2hours":"end of 2 hours","3hours":"end of 3 hours","4hours":"end of 4 hours","6hours":"end of 6 hours","8hours":"end of 8 hours","12hours":"end of 12 hours",today:"end of day",weekEurope:"end of sunday",weekUsa:"end of saturday",month:"this month",year:"this year"}}),w.jsx(Dt,{value:this.props.presetData.range===void 0?"":this.props.presetData.range.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));!s.includes("m")&&!s.includes("y")?l.range=parseInt(s,10):l.range=s,this.props.onChange(l)},label:"Range",options:{10:"10 minutes",30:"30 minutes",60:"1 hour",120:"2 hours",180:"3 hours",360:"6 hours",720:"12 hours",1440:"1 day",2880:"2 days",4320:"3 days",10080:"7 days",20160:"14 days","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years"}}),w.jsx(Dt,{value:this.props.presetData.live===void 0?"":this.props.presetData.live.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));s?l.live=parseInt(s,10):delete l.live,this.props.onChange(l)},label:"Live update every",options:{"":"none",5:"5 seconds",10:"10 seconds",15:"15 seconds",20:"20 seconds",30:"30 seconds",60:"1 minute",120:"2 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1200:"20 minutes",1800:"30 minutes",3600:"1 hour",7200:"2 hours",10800:"3 hours",21600:"6 hours",43200:"12 hours",86400:"1 day"}})]})}):null,a&&o&&r?w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Aggregate for lines")}),w.jsx(Dt,{value:this.props.presetData.aggregateType,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.aggregateType=s,this.props.onChange(l)},label:"Step type",options:{count:"counts",step:"seconds"}}),w.jsx(Ln,{value:this.props.presetData.aggregateSpan===void 0?"":this.props.presetData.aggregateSpan.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));s?l.aggregateSpan=parseInt(s,10):delete l.aggregateSpan,this.props.onChange(l)},label:this.props.presetData.aggregateType==="step"?"Seconds":"Counts"})]}):null,n?w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Aggregate for bars")}),w.jsx(Dt,{value:this.props.presetData.aggregateBar===void 0?"":this.props.presetData.aggregateBar.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));s?l.aggregateBar=parseInt(s,10):delete l.aggregateBar,this.props.onChange(l)},label:P.t("Intervals"),options:i})]}):null,w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Time format")}),w.jsx(kn,{value:this.props.presetData.timeFormatCustom,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeFormatCustom=s,this.props.onChange(l)},label:"Custom time format"}),this.props.presetData.timeFormatCustom?w.jsx(Ln,{value:this.props.presetData.timeFormat,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeFormat=s,this.props.onChange(l)},label:"Time format",helperLink:"https://momentjs.com/docs/#/displaying/format/"}):w.jsx(Dt,{value:this.props.presetData.timeFormat,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeFormat=s,this.props.onChange(l)},label:"Time format",options:{"":"Default","HH:mm DD.MM":"HH:MM dd.mm","HH:mm DD.MM.":"HH:MM dd.mm.","HH:mm
DD.MM":"HH:MM / dd.mm","HH:mm
DD.MM.":"HH:MM / dd.mm.","HH:mm
DD.MM.YY":"HH:MM / dd.mm.yy","HH:mm:ss DD.MM.YY":"HH:MM:SS dd.mm.yy","HH:mm DD.MM.YY":"HH:MM dd.mm.yy","hh:mm:ss MM/DD/YY a":"HH:MM:SS mm/dd/yy am (US)","HH:mm:ss DD/MM/YY":"HH:MM:SS dd/mm/yy (UK)","HH:mm:ss MM.DD.YY":"HH:MM:SS mm.dd.yy","HH:mm ddd":"HH:MM dow","HH:mm:ss ddd":"HH:MM:SS dow","HH:mm MM.DD":"HH:MM mm.dd","HH:mm:ss":"HH:MM:SS","HH:mm":"HH:MM","DD.MM":"dd.mm","DD.MM.":"dd.mm.","MM/DD":"mm/dd",DD:"dd",MM:"mm",YY:"y",HH:"HH",mm:"MM",ddd:"dow","DD.MM.YY":"dd.mm.yy"}})]})]})}renderToast(){return this.state.toast?w.jsx(Ov,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:2e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:w.jsx("span",{id:"message-id",children:this.state.toast}),action:[w.jsx(Ie,{"aria-label":"Close",color:"inherit",style:Ue.close,onClick:()=>this.setState({toast:""}),children:w.jsx(Ar,{})},"close")]}):null}renderTabOptions(){const r=this.props.presetData.l.find(n=>n.chartType==="polar");return w.jsxs(zn,{style:Ue.tabContent,children:[w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Legend")}),w.jsx(Dt,{value:this.props.presetData.legend,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legend=n,this.props.onChange(o)},label:"Show legend",options:{"":"none",nw:"Top, left",ne:"Top, right",sw:"Bottom, left",se:"Bottom, right",dialog:"Dialog"}}),this.props.presetData.legend?w.jsxs(w.Fragment,{children:[this.renderColorField(this.props.presetData.legColor,"Legend text color","legColor"),this.renderColorField(this.props.presetData.legBg,"Legend background","legBg"),w.jsx(kn,{value:this.props.presetData.legActual,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legActual=n,this.props.onChange(o)},label:"Show values"}),w.jsx(Dt,{value:this.props.presetData.legendDirection==="vertical"?"vertical":"",updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legendDirection=n,this.props.onChange(o)},label:"Orientation",options:{"":"horizontal",vertical:"vertical"}}),w.jsx(Er,{value:this.props.presetData.legFontSize,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legFontSize=n,this.props.onChange(o)},label:"Font size",min:6}),w.jsx(Er,{value:this.props.presetData.legendHeight,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legendHeight=n,this.props.onChange(o)},label:"Height",min:6})]}):null]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Options")}),w.jsx(kn,{value:this.props.presetData.hoverDetail,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.hoverDetail=n,this.props.onChange(o)},label:"Hover details"}),w.jsx(kn,{value:this.props.presetData.hoverNoInterpolate,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.hoverNoInterpolate=n,this.props.onChange(o)},label:"No interpolate in hover"}),this.props.presetData.hoverDetail?w.jsx(kn,{value:this.props.presetData.hoverNoNulls,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.hoverNoNulls=n,this.props.onChange(o)},label:"Hide nulls in tooltip"}):null,w.jsx(kn,{value:this.props.presetData.useComma,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.useComma=n,this.props.onChange(o)},label:"Use comma"}),w.jsx(kn,{value:this.props.presetData.zoom,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.zoom=n,this.props.onChange(o)},label:"Enable zoom and pan"}),w.jsx(kn,{value:this.props.presetData.export,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.export=n,this.props.onChange(o)},label:"Show save image button"}),this.props.presetData.export?this.renderColorField(this.props.presetData.exportColor,"Save image button color","exportColor"):null,w.jsx(kn,{value:this.props.presetData.exportData,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.exportData=n,this.props.onChange(o)},label:"Show export data button"}),this.props.presetData.export?this.renderColorField(this.props.presetData.exportDataColor,"Export data color","exportDataColor"):null,w.jsx(kn,{value:this.props.presetData.autoGridPadding,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.autoGridPadding=n,this.props.onChange(o)},label:"Auto padding"}),this.props.presetData.zoom?w.jsx(Dt,{value:this.props.presetData.resetZoom===void 0?"":this.props.presetData.resetZoom.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));n?o.resetZoom=parseInt(n,10):delete o.resetZoom,this.props.onChange(o)},label:"Reset zoom after idle",options:{"":"none",10:"10 seconds",15:"15 seconds",30:"30 seconds",60:"1 minute",90:"90 seconds",120:"2 minutes",180:"3 minutes",300:"5 minutes",600:"10 minutes",1200:"20 minutes",1800:"30 minutes"}}):null,r?w.jsx(Dt,{value:this.props.presetData.radarCircle||"",updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));n?o.radarCircle="circle":delete o.radarCircle,this.props.onChange(o)},label:"Background of radar chart",options:{"":"Polygonal",circle:"Circle"}}):null]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Copy link to clipboard")}),w.jsxs(tt,{color:"grey",variant:"contained",style:Ue.buttonCopyLink,onClick:()=>{const n=`${window.location.protocol}//${window.location.host}/adapter/echarts/chart/index.html?preset=${this.props.selectedId}`;this.setState({toast:`${P.t("copied")}: ${n}`},()=>ue.copyToClipboard(n))},children:[w.jsx(Di,{}),"admin"]}),this.state.webInstances.map((n,o)=>w.jsxs(tt,{color:"grey",variant:"contained",style:Ue.buttonCopyLink,onClick:()=>{const a=`${n.link}/echarts/index.html?preset=${this.props.selectedId}`;this.setState({toast:`${P.t("copied")}: ${a}`},()=>ue.copyToClipboard(a))},children:[w.jsx(Di,{}),`web.${n.index}`]},o))]})]})}renderTabTitle(){return w.jsx(zn,{style:Ue.tabContent,children:w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Title")}),w.jsx(Ln,{value:this.props.presetData.title,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.title=r,this.props.onChange(n)},label:"Title"}),this.props.presetData.title?w.jsxs(w.Fragment,{children:[w.jsx(Dt,{value:this.props.presetData.titlePos,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.titlePos=r,this.props.onChange(n)},label:"Title position",options:{"":"default","top:35;left:65":"Top, left, inside","top:35;right:5":"Top, right, inside","top:35;left:50":"Top, center, inside","top:50;left:65":"Middle, left, inside","top:50;right:5":"Middle, right, inside","bottom:5;left:65":"Bottom, left, inside","bottom:5;right:5":"Bottom, right, inside","bottom:5;left:50":"Bottom, center, inside"}}),this.renderColorField(this.props.presetData.titleColor,"Title color","titleColor"),w.jsx(Er,{value:this.props.presetData.titleSize,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.titleSize=r,this.props.onChange(n)},label:"Title size",min:0})]}):null]})})}renderTabAppearance(){return w.jsxs(zn,{style:Ue.tabContent,children:[w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Theme")}),w.jsx(Dt,{value:this.props.presetData.theme,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.theme=r,this.props.onChange(n)},label:"Theme",noTranslate:!0,options:{"":"auto",default:"default",dark:"dark","dark-bold":"dark-bold","dark-blue":"dark-blue",gray:"gray",vintage:"vintage",macarons:"macarons",infographic:"infographic",shine:"shine",roma:"roma",azul:"azul","bee-inspired":"",blue:"blue",royal:"royal","tech-blue":"tech-blue",red:"red","red-velvet":"red-velvet",green:"green"}})]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Chart size")}),w.jsx(Ln,{value:this.props.presetData.width===void 0?"":this.props.presetData.width.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r?n.width=r:delete n.width,this.props.onChange(n)},label:"Width",styles:{fieldContainer:Ue.marginTop}}),w.jsx(Ln,{value:this.props.presetData.height===void 0?"":this.props.presetData.height.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r?n.height=r:delete n.height,this.props.onChange(n)},label:"Height",styles:{fieldContainer:Ue.marginTop}})]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Backgrounds")}),w.jsx(kn,{value:this.props.presetData.noBackground,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.noBackground=r,this.props.onChange(n)},label:"No background"}),this.props.presetData.noBackground?null:this.renderColorField(this.props.presetData.window_bg,"Window background","window_bg",void 0,Ue.marginTop),this.renderColorField(this.props.presetData.bg_custom,"Chart background","bg_custom",void 0,Ue.marginTop)]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Labels")}),this.renderColorField(this.props.presetData.x_labels_color,"X labels color","x_labels_color",void 0,Ue.marginTop),w.jsx(Er,{value:this.props.presetData.x_labels_size,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.x_labels_size=r,this.props.onChange(n)},label:"X labels size",min:6}),this.renderColorField(this.props.presetData.x_ticks_color,"X ticks color","x_ticks_color",void 0,Ue.marginTop),this.renderColorField(this.props.presetData.y_labels_color,"Y labels color","y_labels_color",void 0,Ue.marginTop),w.jsx(Er,{value:this.props.presetData.y_labels_size,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.y_labels_size=r,this.props.onChange(n)},label:"Y labels size",min:6}),this.renderColorField(this.props.presetData.y_ticks_color,"Y ticks color","y_ticks_color",void 0,Ue.marginTop),w.jsx(Dt,{value:this.props.presetData.xLabelShift===void 0?"":this.props.presetData.xLabelShift.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r.includes("m")||r.includes("y")?n.xLabelShift=r:n.xLabelShift=parseInt(r,10),this.props.onChange(n)},tooltip:"This time offset will be added to the X label by displaying data on the chart",label:"X-Label-Offset",options:{0:"0 seconds",10:"10 seconds",30:"30 seconds",60:"60 seconds",120:"2 minutes",180:"3 minutes",240:"4 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1800:"30 minutes",2700:"45 minutes",3600:"1 hour",7200:"2 hours",21600:"6 hours",43200:"12 hours",86400:"1 day",172800:"2 days",259200:"3 days",345600:"4 days",604800:"1 week",1209600:"2 weeks","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years","-10":"-10 seconds","-30":"-30 seconds","-60":"-60 seconds","-120":"-2 minutes","-180":"-3 minutes","-240":"-4 minutes","-300":"-5 minutes","-600":"-10 minutes","-900":"-15 minutes","-1800":"-30 minutes","-2700":"-45 minutes","-3600":"-1 hour","-7200":"-2 hours","-21600":"-6 hours","-43200":"-12 hours","-86400":"-1 day","-172800":"-2 days","-259200":"-3 days","-345600":"-4 days","-604800":"-1 week","-1209600":"-2 weeks","-1m":"-1 month","-2m":"-2 months","-3m":"-3 months","-6m":"-6 months","-1y":"-1 year","-2y":"-2 years"}})]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Grid")}),w.jsx(kn,{value:this.props.presetData.grid_hideX,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.grid_hideX=r,this.props.onChange(n)},label:"Hide X grid"}),w.jsx(kn,{value:this.props.presetData.grid_hideY,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.grid_hideY=r,this.props.onChange(n)},label:"Hide Y grid"}),!this.props.presetData.grid_hideX||!this.props.presetData.grid_hideY?this.renderColorField(this.props.presetData.grid_color,"Grid color","grid_color"):null]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Border")}),w.jsx(Dt,{value:this.props.presetData.noBorder||"",updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r?n.noBorder="noborder":delete n.noBorder,this.props.onChange(n)},label:"Border",options:{"":"With border",noborder:"Without border"}}),this.props.presetData.noBorder!=="noborder"?w.jsxs(w.Fragment,{children:[w.jsx(Er,{value:this.props.presetData.border_width,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.border_width=r,this.props.onChange(n)},label:"Border width",min:0}),this.props.presetData.border_width?this.renderColorField(this.props.presetData.border_color,"Border color","border_color"):null,this.props.presetData.border_width?w.jsx(Dt,{value:this.props.presetData.border_style,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.border_style=r,this.props.onChange(n)},label:"Border style",options:{solid:"solid",dotted:"dotted",dashed:"dashed",double:"double",groove:"groove",ridge:"ridge",inset:"inset",outset:"outset"}}):null,w.jsx(Er,{value:this.props.presetData.border_padding,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.border_padding=r,this.props.onChange(n)},label:"Border padding",min:0})]}):null]}),this.props.presetData.l.find(r=>r.chartType==="bar")?w.jsxs(Pce,{item:!0,sm:6,xs:12,children:[w.jsx("p",{style:Ue.title,children:P.t("Bar settings")}),w.jsx(Dt,{value:this.props.presetData.barLabels,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.barLabels=r,this.props.onChange(n)},label:"Show labels",options:{"":"none",topover:"top over",topunder:"top under",bottom:"bottom",middle:"middle"}}),w.jsx(Er,{value:this.props.presetData.barWidth,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.barWidth=r,this.props.onChange(n)},label:"Bars width",min:0}),w.jsx(Er,{value:this.props.presetData.barFontSize,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.barFontSize=r,this.props.onChange(n)},label:"Label font size",min:0}),this.renderColorField(this.props.presetData.barFontColor,"Label color","barFontColor")]}):null]})}renderColorField(r,n,o,a,i){let s=ue.isUseBright(r,null);s===null&&(s=void 0);const l=d=>{const h=JSON.parse(JSON.stringify(this.props.presetData));h[o]=d,this.props.onChange(h)};return w.jsx("div",{style:i,children:w.jsx(Ht,{variant:"standard",style:{minWidth:a,width:"calc(100% - 8px)"},label:P.t(n),value:r||"",onClick:()=>{this.setState({[o]:r},()=>this.showColorPicker(this.state[o],d=>this.setState({[o]:d},()=>l(Ai.getColor(d,!0)))))},onChange:d=>{const h=d.target.value;this.setState({[o]:h},()=>l(h))},slotProps:{inputLabel:{shrink:!0},htmlInput:{style:{backgroundColor:r,color:s?"#FFF":"#000"}},input:{endAdornment:r?w.jsx(Ie,{size:"small",onClick:d=>{d.stopPropagation(),this.setState({[o]:""},()=>l(""))},children:w.jsx(Ar,{})}):void 0}}})})}render(){const r=this.props.presetData.l.find(o=>o.chartType==="polar"),n=this.props.presetData.l.find(o=>o.aggregate!=="current");return w.jsxs("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[w.jsxs(PW,{position:"static",style:Ue.tabsContainer,children:[this.props.selectedPresetChanged||this.props.autoSave?w.jsx(yr,{style:{...Ue.button,color:this.props.theme.palette.text.primary},checked:!!this.props.autoSave,title:P.t("Auto save"),onChange:o=>this.props.onAutoSave(o.target.checked)}):null,this.props.selectedPresetChanged?null:w.jsx(Ie,{style:{...Ue.button,...Ue.noPaddingOnSide},onClick:()=>window.open(`chart/index.html?preset=${this.props.selectedId}`,"own-preset-echarts"),title:P.t("Open chart in own window"),children:w.jsx(hH,{})}),!this.props.autoSave&&this.props.selectedPresetChanged?w.jsx(Ie,{style:{...Ue.noPaddingOnSide,...Ue.buttonSave,...Ue.button},onClick:()=>this.props.savePreset(),children:w.jsx(pH,{})}):null,w.jsxs(sH,{onChange:(o,a)=>{window.localStorage.setItem("App.echarts.presetTabs.selectedTab",a),this.setState({selectedTab:a})},value:this.state.selectedTab||"data",variant:"scrollable",scrollButtons:!0,sx:{"& .MuiTabs-indicator":Ue.indicator},children:[w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Data"),value:"data"}),r?null:w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Markings"),value:"markings"}),n?w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Time"),value:"time"}):null,w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Options"),value:"options"}),w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Title"),value:"title"}),w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Appearance"),value:"appearance"})]})]}),w.jsxs("div",{style:Ue.tabsBody,children:[this.state.selectedTab==="data"||!this.state.selectedTab?this.renderTabLines():null,this.state.selectedTab==="markings"&&!r?this.renderTabMarkings():null,this.state.selectedTab==="time"&&n?this.renderTabTime():null,this.state.selectedTab==="options"?this.renderTabOptions():null,this.state.selectedTab==="title"?this.renderTabTitle():null,this.state.selectedTab==="appearance"?this.renderTabAppearance():null]}),this.renderDeleteLineDialog(),this.renderDeleteMarkDialog(),this.renderColorDialog(),this.renderToast()]})}}const NB=0,RB={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:t=>({color:t.palette.mode==="dark"?"white":"black",width:`calc(100% - ${NB}px)`,height:"100%",marginLeft:NB,overflow:"none",position:"relative",display:"flex",flexDirection:"column"})};class oZt extends m.Component{render(){return w.jsx("div",{style:RB.logBox,children:w.jsx(Re,{component:"div",sx:RB.logBoxInner,children:w.jsx(nZt,{width:this.props.width,socket:this.props.socket,presetData:this.props.presetData,selectedId:this.props.selectedId,onChange:this.props.onChange,instances:this.props.instances,systemConfig:this.props.systemConfig,selectedPresetChanged:this.props.selectedPresetChanged,savePreset:this.props.savePreset,theme:this.props.theme,onAutoSave:e=>this.props.onAutoSave(e),autoSave:this.props.autoSave,windowWidth:this.props.windowWidth})})})}}class aZt extends m.Component{render(){return w.jsx("svg",{onClick:e=>this.props.onClick&&this.props.onClick(e),viewBox:"0 0 32 32",width:this.props.width||20,height:this.props.width||20,xmlns:"http://www.w3.org/2000/svg",className:this.props.className,style:this.props.style,children:w.jsx("path",{fill:"none",stroke:"currentColor",strokeWidth:"2",d:"M16,9 L9,9 L9,16 L9,16 C9,19.8659932 12.1340068,23 16,23 L16,23 C19.8659932,23 23,19.8659932 23,16 C23,12.1340068 19.8659932,9 16,9 L16,9 Z M8,15 L15,15 L15,8 L15,8 C15,4.13400675 11.8659932,1 8,1 L8,1 C4.13400675,1 1,4.13400675 1,8 C1,11.8659932 4.13400675,15 8,15 L8,15 Z",transform:"rotate(180 12 12)"})})}}var ry={black:"#000",white:"#fff"},Dk={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Ak={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162"},Ik={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe"},Mk={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Pk={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Nk={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},bA={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#d5d5d5",A200:"#aaaaaa",A400:"#303030",A700:"#616161"};function Rk(t){return t&&su(t)==="object"&&t.constructor===Object}function ku(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{clone:!0},n=r.clone?De({},t):t;return Rk(t)&&Rk(e)&&Object.keys(e).forEach(function(o){o!=="__proto__"&&(Rk(e[o])&&o in t?n[o]=ku(t[o],e[o],r):n[o]=e[o])}),n}function X2(t){for(var e="https://mui.com/production-error/?code="+t,r=1;r1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.min(Math.max(e,t),r)}function iZt(t){t=t.substr(1);var e=new RegExp(".{1,".concat(t.length>=6?2:1,"}"),"g"),r=t.match(e);return r&&r[0].length===1&&(r=r.map(function(n){return n+n})),r?"rgb".concat(r.length===4?"a":"","(").concat(r.map(function(n,o){return o<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3}).join(", "),")"):""}function sZt(t){t=Eu(t);var e=t,r=e.values,n=r[0],o=r[1]/100,a=r[2]/100,i=o*Math.min(a,1-a),s=function(u){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(u+n/30)%12;return a-i*Math.max(Math.min(f-3,9-f,1),-1)},l="rgb",d=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return t.type==="hsla"&&(l+="a",d.push(r[3])),wA({type:l,values:d})}function Eu(t){if(t.type)return t;if(t.charAt(0)==="#")return Eu(iZt(t));var e=t.indexOf("("),r=t.substring(0,e);if(["rgb","rgba","hsl","hsla"].indexOf(r)===-1)throw new Error(X2(3,t));var n=t.substring(e+1,t.length-1).split(",");return n=n.map(function(o){return parseFloat(o)}),{type:r,values:n}}function wA(t){var e=t.type,r=t.values;return e.indexOf("rgb")!==-1?r=r.map(function(n,o){return o<3?parseInt(n,10):n}):e.indexOf("hsl")!==-1&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),"".concat(e,"(").concat(r.join(", "),")")}function lZt(t,e){var r=jB(t),n=jB(e);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}function jB(t){t=Eu(t);var e=t.type==="hsl"?Eu(sZt(t)).values:t.values;return e=e.map(function(r){return r/=255,r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)}),Number((.2126*e[0]+.7152*e[1]+.0722*e[2]).toFixed(3))}function cZt(t,e){if(t=Eu(t),e=Gq(e),t.type.indexOf("hsl")!==-1)t.values[2]*=1-e;else if(t.type.indexOf("rgb")!==-1)for(var r=0;r<3;r+=1)t.values[r]*=1-e;return wA(t)}function dZt(t,e){if(t=Eu(t),e=Gq(e),t.type.indexOf("hsl")!==-1)t.values[2]+=(100-t.values[2])*e;else if(t.type.indexOf("rgb")!==-1)for(var r=0;r<3;r+=1)t.values[r]+=(255-t.values[r])*e;return wA(t)}function ji(t,e){if(t==null)return{};var r,n,o=lu(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n0?b:g;return"@media (max-width:".concat(x-i/100).concat(o,")")}function h(g,y){var b=ms.indexOf(y);return b===ms.length-1?l(g):"@media (min-width:".concat(typeof r[g]=="number"?r[g]:g).concat(o,") and ")+"(max-width:".concat((b!==-1&&typeof r[ms[b+1]]=="number"?r[ms[b+1]]:y)-i/100).concat(o,")")}function u(g){return h(g,g)}function f(g){return r[g]}return De({keys:ms,values:r,up:l,down:d,between:h,only:u,width:f},s)}function pZt(t,e,r){var n;return De({gutters:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return console.warn(["Material-UI: theme.mixins.gutters() is deprecated.","You can use the source of the mixin directly:",` + `),m.createElement("div",{style:h.white,className:"saturation-white"},m.createElement("div",{style:h.black,className:"saturation-black"}),m.createElement("div",{style:h.pointer},this.props.pointer?m.createElement(this.props.pointer,this.props):m.createElement("div",{style:h.circle}))))}}]),e}(A.PureComponent||A.Component);function nJt(t,e){for(var r=-1,n=t==null?0:t.length;++r=0,a=!r&&o&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return a?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(n=this.toRgbString()),e==="prgb"&&(n=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(n=this.toHexString()),e==="hex3"&&(n=this.toHexString(!0)),e==="hex4"&&(n=this.toHex8String(!0)),e==="hex8"&&(n=this.toHex8String()),e==="name"&&(n=this.toName()),e==="hsl"&&(n=this.toHslString()),e==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return lt(this.toString())},_applyModification:function(e,r){var n=e.apply(null,[this].concat([].slice.call(r)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(xJt,arguments)},brighten:function(){return this._applyModification(SJt,arguments)},darken:function(){return this._applyModification(CJt,arguments)},desaturate:function(){return this._applyModification(_Jt,arguments)},saturate:function(){return this._applyModification(bJt,arguments)},greyscale:function(){return this._applyModification(wJt,arguments)},spin:function(){return this._applyModification($Jt,arguments)},_applyCombination:function(e,r){return e.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(TJt,arguments)},complement:function(){return this._applyCombination(kJt,arguments)},monochromatic:function(){return this._applyCombination(OJt,arguments)},splitcomplement:function(){return this._applyCombination(EJt,arguments)},triad:function(){return this._applyCombination(lB,[3])},tetrad:function(){return this._applyCombination(lB,[4])}};lt.fromRatio=function(t,e){if(Qv(t)=="object"){var r={};for(var n in t)t.hasOwnProperty(n)&&(n==="a"?r[n]=t[n]:r[n]=bh(t[n]));t=r}return lt(t,e)};function fJt(t){var e={r:0,g:0,b:0},r=1,n=null,o=null,a=null,i=!1,s=!1;return typeof t=="string"&&(t=PJt(t)),Qv(t)=="object"&&(ki(t.r)&&ki(t.g)&&ki(t.b)?(e=mJt(t.r,t.g,t.b),i=!0,s=String(t.r).substr(-1)==="%"?"prgb":"rgb"):ki(t.h)&&ki(t.s)&&ki(t.v)?(n=bh(t.s),o=bh(t.v),e=vJt(t.h,n,o),i=!0,s="hsv"):ki(t.h)&&ki(t.s)&&ki(t.l)&&(n=bh(t.s),a=bh(t.l),e=gJt(t.h,n,a),i=!0,s="hsl"),t.hasOwnProperty("a")&&(r=t.a)),r=Pq(r),{ok:i,format:t.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:r}}function mJt(t,e,r){return{r:Dr(t,255)*255,g:Dr(e,255)*255,b:Dr(r,255)*255}}function oB(t,e,r){t=Dr(t,255),e=Dr(e,255),r=Dr(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=(n+o)/2;if(n==o)a=i=0;else{var l=n-o;switch(i=s>.5?l/(2-n-o):l/(n+o),n){case t:a=(e-r)/l+(e1&&(u-=1),u<1/6?d+(h-d)*6*u:u<1/2?h:u<2/3?d+(h-d)*(2/3-u)*6:d}if(e===0)n=o=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=i(l,s,t+1/3),o=i(l,s,t),a=i(l,s,t-1/3)}return{r:n*255,g:o*255,b:a*255}}function aB(t,e,r){t=Dr(t,255),e=Dr(e,255),r=Dr(r,255);var n=Math.max(t,e,r),o=Math.min(t,e,r),a,i,s=n,l=n-o;if(i=n===0?0:l/n,n==o)a=0;else{switch(n){case t:a=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+o)%360,a.push(lt(n));return a}function OJt(t,e){e=e||6;for(var r=lt(t).toHsv(),n=r.h,o=r.s,a=r.v,i=[],s=1/e;e--;)i.push(lt({h:n,s:o,v:a})),a=(a+s)%1;return i}lt.mix=function(t,e,r){r=r===0?0:r||50;var n=lt(t).toRgb(),o=lt(e).toRgb(),a=r/100,i={r:(o.r-n.r)*a+n.r,g:(o.g-n.g)*a+n.g,b:(o.b-n.b)*a+n.b,a:(o.a-n.a)*a+n.a};return lt(i)};lt.readability=function(t,e){var r=lt(t),n=lt(e);return(Math.max(r.getLuminance(),n.getLuminance())+.05)/(Math.min(r.getLuminance(),n.getLuminance())+.05)};lt.isReadable=function(t,e,r){var n=lt.readability(t,e),o,a;switch(a=!1,o=NJt(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=n>=4.5;break;case"AAlarge":a=n>=3;break;case"AAAsmall":a=n>=7;break}return a};lt.mostReadable=function(t,e,r){var n=null,o=0,a,i,s,l;r=r||{},i=r.includeFallbackColors,s=r.level,l=r.size;for(var d=0;do&&(o=a,n=lt(e[d]));return lt.isReadable(t,n,{level:s,size:l})||!i?n:(r.includeFallbackColors=!1,lt.mostReadable(t,["#fff","#000"],r))};var W2=lt.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},DJt=lt.hexNames=AJt(W2);function AJt(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}function Pq(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Dr(t,e){IJt(t)&&(t="100%");var r=MJt(t);return t=Math.min(e,Math.max(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function x_(t){return Math.min(1,Math.max(0,t))}function yo(t){return parseInt(t,16)}function IJt(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function MJt(t){return typeof t=="string"&&t.indexOf("%")!=-1}function Sa(t){return t.length==1?"0"+t:""+t}function bh(t){return t<=1&&(t=t*100+"%"),t}function Nq(t){return Math.round(parseFloat(t)*255).toString(16)}function cB(t){return yo(t)/255}var ga=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",r="(?:"+e+")|(?:"+t+")",n="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function ki(t){return!!ga.CSS_UNIT.exec(t)}function PJt(t){t=t.replace(pJt,"").replace(hJt,"").toLowerCase();var e=!1;if(W2[t])t=W2[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=ga.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=ga.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=ga.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=ga.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=ga.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=ga.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=ga.hex8.exec(t))?{r:yo(r[1]),g:yo(r[2]),b:yo(r[3]),a:cB(r[4]),format:e?"name":"hex8"}:(r=ga.hex6.exec(t))?{r:yo(r[1]),g:yo(r[2]),b:yo(r[3]),format:e?"name":"hex"}:(r=ga.hex4.exec(t))?{r:yo(r[1]+""+r[1]),g:yo(r[2]+""+r[2]),b:yo(r[3]+""+r[3]),a:cB(r[4]+""+r[4]),format:e?"name":"hex8"}:(r=ga.hex3.exec(t))?{r:yo(r[1]+""+r[1]),g:yo(r[2]+""+r[2]),b:yo(r[3]+""+r[3]),format:e?"name":"hex"}:!1}function NJt(t){var e,r;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:e,size:r}}var dB=function(e){var r=["r","g","b","a","h","s","l","v"],n=0,o=0;return uJt(r,function(a){if(e[a]&&(n+=1,isNaN(e[a])||(o+=1),a==="s"||a==="l")){var i=/^\d+%$/;i.test(e[a])&&(o+=1)}}),n===o?e:!1},wh=function(e,r){var n=e.hex?lt(e.hex):lt(e),o=n.toHsl(),a=n.toHsv(),i=n.toRgb(),s=n.toHex();o.s===0&&(o.h=r||0,a.h=r||0);var l=s==="000000"&&i.a===0;return{hsl:o,hex:l?"transparent":"#"+s,rgb:i,hsv:a,oldHue:e.h||r||o.h,source:e.source}},Gs=function(e){if(e==="transparent")return!0;var r=String(e).charAt(0)==="#"?1:0;return e.length!==4+r&&e.length<7+r&<(e).isValid()},rA=function(e){if(!e)return"#fff";var r=wh(e);if(r.hex==="transparent")return"rgba(0,0,0,0.4)";var n=(r.rgb.r*299+r.rgb.g*587+r.rgb.b*114)/1e3;return n>=128?"#000":"#fff"},Ek=function(e,r){var n=e.replace("°","");return lt(r+" ("+n+")")._ok},Jp=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){HJt(o,n);function o(){var a,i,s,l;WJt(this,o);for(var d=arguments.length,h=Array(d),u=0;us))return!1;var d=a.get(t),h=a.get(e);if(d&&h)return d==e&&h==t;var u=-1,f=!0,g=r&tYt?new ey:void 0;for(a.set(t,e),a.set(e,t);++u=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Wg.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Wg}var mKt=fKt();const gKt=so(mKt);var vKt=function(){function t(e,r){for(var n=0;n1&&(o.a=1),n.props.onChange({h:n.props.hsl.h,s:n.props.hsl.s,l:n.props.hsl.l,a:Math.round(o.a*100)/100,source:"rgb"},a)):(o.h||o.s||o.l)&&(typeof o.s=="string"&&o.s.includes("%")&&(o.s=o.s.replace("%","")),typeof o.l=="string"&&o.l.includes("%")&&(o.l=o.l.replace("%","")),o.s==1?o.s=.01:o.l==1&&(o.l=.01),n.props.onChange({h:o.h||n.props.hsl.h,s:Number(kB(o.s)?n.props.hsl.s:o.s),l:Number(kB(o.l)?n.props.hsl.l:o.l),source:"hsl"},a))},n.showHighlight=function(o){o.currentTarget.style.background="#eee"},n.hideHighlight=function(o){o.currentTarget.style.background="transparent"},r.hsl.a!==1&&r.view==="hex"?n.state={view:"rgb"}:n.state={view:r.view},n}return vKt(e,[{key:"render",value:function(){var n=this,o=Et({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),a=void 0;return this.state.view==="hex"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(zt,{style:{input:o.input,label:o.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(a=m.createElement("div",{style:o.fields,className:"flexbox-fix"},m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.field},m.createElement(zt,{style:{input:o.input,label:o.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),m.createElement("div",{style:o.alpha},m.createElement(zt,{style:{input:o.input,label:o.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),m.createElement("div",{style:o.wrap,className:"flexbox-fix"},a,m.createElement("div",{style:o.toggle},m.createElement("div",{style:o.icon,onClick:this.toggleViews,ref:function(s){return n.icon=s}},m.createElement(gKt,{style:o.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(n,o){return n.hsl.a!==1&&o.view==="hex"?{view:"rgb"}:null}}]),e}(m.Component);Vq.defaultProps={view:"hex"};var TB=function(){var e=Et({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return m.createElement("div",{style:e.picker})},wKt=function(){var e=Et({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return m.createElement("div",{style:e.picker})},lA=function(e){var r=e.width,n=e.onChange,o=e.disableAlpha,a=e.rgb,i=e.hsl,s=e.hsv,l=e.hex,d=e.renderers,h=e.styles,u=h===void 0?{}:h,f=e.className,g=f===void 0?"":f,y=e.defaultView,b=Et(uo({default:{picker:{width:r,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+a.r+", "+a.g+", "+a.b+", "+a.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},u),{disableAlpha:o});return m.createElement("div",{style:b.picker,className:"chrome-picker "+g},m.createElement("div",{style:b.saturation},m.createElement(w_,{style:b.Saturation,hsl:i,hsv:s,pointer:wKt,onChange:n})),m.createElement("div",{style:b.body},m.createElement("div",{style:b.controls,className:"flexbox-fix"},m.createElement("div",{style:b.color},m.createElement("div",{style:b.swatch},m.createElement("div",{style:b.active}),m.createElement(Fu,{renderers:d}))),m.createElement("div",{style:b.toggles},m.createElement("div",{style:b.hue},m.createElement(Bu,{style:b.Hue,hsl:i,pointer:TB,onChange:n})),m.createElement("div",{style:b.alpha},m.createElement(XD,{style:b.Alpha,rgb:a,hsl:i,pointer:TB,renderers:d,onChange:n})))),m.createElement(Vq,{rgb:a,hsl:i,hex:l,view:y,onChange:n,disableAlpha:o})))};lA.propTypes={width:We.oneOfType([We.string,We.number]),disableAlpha:We.bool,styles:We.object,defaultView:We.oneOf(["hex","rgb","hsl"])};lA.defaultProps={width:225,disableAlpha:!1,styles:{}};const xKt=po(lA);var SKt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.active,s=Et({default:{color:{background:r,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:rA(r),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:i,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(lc,{style:s.color,color:r,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:s.dot}))},CKt=function(e){var r=e.hex,n=e.rgb,o=e.onChange,a=Et({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:r},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),i=function(l,d){l.r||l.g||l.b?o({r:l.r||n.r,g:l.g||n.g,b:l.b||n.b,source:"rgb"},d):o({hex:l.hex,source:"hex"},d)};return m.createElement("div",{style:a.fields,className:"flexbox-fix"},m.createElement("div",{style:a.active}),m.createElement(zt,{style:{wrap:a.HEXwrap,input:a.HEXinput,label:a.HEXlabel},label:"hex",value:r,onChange:i}),m.createElement(zt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"r",value:n.r,onChange:i}),m.createElement(zt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"g",value:n.g,onChange:i}),m.createElement(zt,{style:{wrap:a.RGBwrap,input:a.RGBinput,label:a.RGBlabel},label:"b",value:n.b,onChange:i}))},cA=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.colors,a=e.hex,i=e.rgb,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=Et(uo({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},l)),f=function(y,b){y.hex?Gs(y.hex)&&r({hex:y.hex,source:"hex"},b):r(y,b)};return m.createElement(Hf,{style:u.Compact,styles:l},m.createElement("div",{style:u.compact,className:"compact-picker "+h},m.createElement("div",null,cc(o,function(g){return m.createElement(SKt,{key:g,color:g,active:g.toLowerCase()===a,onClick:f,onSwatchHover:n})}),m.createElement("div",{style:u.clear})),m.createElement(CKt,{hex:a,rgb:i,onChange:f})))};cA.propTypes={colors:We.arrayOf(We.string),styles:We.object};cA.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};po(cA);var $Kt=function(e){var r=e.hover,n=e.color,o=e.onClick,a=e.onSwatchHover,i={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},s=Et({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:i}},{hover:r});return m.createElement("div",{style:s.swatch},m.createElement(lc,{color:n,onClick:o,onHover:a,focusStyle:i}))};const kKt=GD.handleHover($Kt);var dA=function(e){var r=e.width,n=e.colors,o=e.onChange,a=e.onSwatchHover,i=e.triangle,s=e.styles,l=s===void 0?{}:s,d=e.className,h=d===void 0?"":d,u=Et(uo({default:{card:{width:r,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},l),{"hide-triangle":i==="hide","top-left-triangle":i==="top-left","top-right-triangle":i==="top-right","bottom-left-triangle":i==="bottom-left","bottom-right-triangle":i==="bottom-right"}),f=function(y,b){return o({hex:y,source:"hex"},b)};return m.createElement("div",{style:u.card,className:"github-picker "+h},m.createElement("div",{style:u.triangleShadow}),m.createElement("div",{style:u.triangle}),cc(n,function(g){return m.createElement(kKt,{color:g,key:g,onClick:f,onSwatchHover:a})}))};dA.propTypes={width:We.oneOfType([We.string,We.number]),colors:We.arrayOf(We.string),triangle:We.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:We.object};dA.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};po(dA);var EKt=function(e){var r=e.direction,n=Et({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:r==="vertical"});return m.createElement("div",{style:n.picker})},TKt=Object.assign||function(t){for(var e=1;e.5});return m.createElement("div",{style:n.picker})},IKt=function(){var e=Et({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return m.createElement("div",{style:e.pointer},m.createElement("div",{style:e.left},m.createElement("div",{style:e.leftInside})),m.createElement("div",{style:e.right},m.createElement("div",{style:e.rightInside})))},OB=function(e){var r=e.onClick,n=e.label,o=e.children,a=e.active,i=Et({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:a});return m.createElement("div",{style:i.button,onClick:r},n||o)},MKt=function(e){var r=e.rgb,n=e.currentColor,o=Et({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+r.r+","+r.g+", "+r.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:n,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return m.createElement("div",null,m.createElement("div",{style:o.label},"new"),m.createElement("div",{style:o.swatches},m.createElement("div",{style:o.new}),m.createElement("div",{style:o.current})),m.createElement("div",{style:o.label},"current"))},PKt=function(){function t(e,r){for(var n=0;n100&&(h.a=100),h.a/=100,r({h:o.h,s:o.s,l:o.l,a:h.a,source:"rgb"},u))};return m.createElement("div",{style:s.fields,className:"flexbox-fix"},m.createElement("div",{style:s.double},m.createElement(zt,{style:{input:s.input,label:s.label},label:"hex",value:a.replace("#",""),onChange:l})),m.createElement("div",{style:s.single},m.createElement(zt,{style:{input:s.input,label:s.label},label:"r",value:n.r,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(zt,{style:{input:s.input,label:s.label},label:"g",value:n.g,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.single},m.createElement(zt,{style:{input:s.input,label:s.label},label:"b",value:n.b,onChange:l,dragLabel:"true",dragMax:"255"})),m.createElement("div",{style:s.alpha},m.createElement(zt,{style:{input:s.input,label:s.label},label:"a",value:Math.round(n.a*100),onChange:l,dragLabel:"true",dragMax:"100"})))},zKt=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(i,d)&&(l[d]=i[d]);return l}var a=24;return Hg.default=function(i){var s=i.fill,l=s===void 0?"currentColor":s,d=i.width,h=d===void 0?a:d,u=i.height,f=u===void 0?a:u,g=i.style,y=g===void 0?{}:g,b=o(i,["fill","width","height","style"]);return r.default.createElement("svg",t({viewBox:"0 0 "+a+" "+a,style:t({fill:l,width:h,height:f},y)},b),r.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},Hg}var UKt=HKt();const VKt=so(UKt);var qKt=function(e){var r=e.color,n=e.onClick,o=n===void 0?function(){}:n,a=e.onSwatchHover,i=e.first,s=e.last,l=e.active,d=Et({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:r,marginBottom:"1px"},check:{color:rA(r),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:i,last:s,active:l,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return m.createElement(lc,{color:r,style:d.color,onClick:o,onHover:a,focusStyle:{boxShadow:"0 0 4px "+r}},m.createElement("div",{style:d.check},m.createElement(VKt,null)))},GKt=function(e){var r=e.onClick,n=e.onSwatchHover,o=e.group,a=e.active,i=Et({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return m.createElement("div",{style:i.group},cc(o,function(s,l){return m.createElement(qKt,{key:s,color:s,active:s.toLowerCase()===a,first:l===0,last:l===o.length-1,onClick:r,onSwatchHover:n})}))},mA=function(e){var r=e.width,n=e.height,o=e.onChange,a=e.onSwatchHover,i=e.colors,s=e.hex,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=Et(uo({default:{picker:{width:r,height:n},overflow:{height:n,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},d)),g=function(b,x){return o({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.picker,className:"swatches-picker "+u},m.createElement(Hf,null,m.createElement("div",{style:f.overflow},m.createElement("div",{style:f.body},cc(i,function(y){return m.createElement(GKt,{key:y.toString(),group:y,active:s,onClick:g,onSwatchHover:a})}),m.createElement("div",{style:f.clear})))))};mA.propTypes={width:We.oneOfType([We.string,We.number]),height:We.oneOfType([We.string,We.number]),colors:We.arrayOf(We.arrayOf(We.string)),styles:We.object};mA.defaultProps={width:320,height:240,colors:[[Td[900],Td[700],Td[500],Td[300],Td[100]],[Od[900],Od[700],Od[500],Od[300],Od[100]],[Dd[900],Dd[700],Dd[500],Dd[300],Dd[100]],[Ad[900],Ad[700],Ad[500],Ad[300],Ad[100]],[Id[900],Id[700],Id[500],Id[300],Id[100]],[Md[900],Md[700],Md[500],Md[300],Md[100]],[Pd[900],Pd[700],Pd[500],Pd[300],Pd[100]],[Nd[900],Nd[700],Nd[500],Nd[300],Nd[100]],[Rd[900],Rd[700],Rd[500],Rd[300],Rd[100]],["#194D33",xh[700],xh[500],xh[300],xh[100]],[jd[900],jd[700],jd[500],jd[300],jd[100]],[Ld[900],Ld[700],Ld[500],Ld[300],Ld[100]],[zd[900],zd[700],zd[500],zd[300],zd[100]],[Fd[900],Fd[700],Fd[500],Fd[300],Fd[100]],[Bd[900],Bd[700],Bd[500],Bd[300],Bd[100]],[Wd[900],Wd[700],Wd[500],Wd[300],Wd[100]],[Hd[900],Hd[700],Hd[500],Hd[300],Hd[100]],[Ud[900],Ud[700],Ud[500],Ud[300],Ud[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};po(mA);var gA=function(e){var r=e.onChange,n=e.onSwatchHover,o=e.hex,a=e.colors,i=e.width,s=e.triangle,l=e.styles,d=l===void 0?{}:l,h=e.className,u=h===void 0?"":h,f=Et(uo({default:{card:{width:i,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},d),{"hide-triangle":s==="hide","top-left-triangle":s==="top-left","top-right-triangle":s==="top-right"}),g=function(b,x){Gs(b)&&r({hex:b,source:"hex"},x)};return m.createElement("div",{style:f.card,className:"twitter-picker "+u},m.createElement("div",{style:f.triangleShadow}),m.createElement("div",{style:f.triangle}),m.createElement("div",{style:f.body},cc(a,function(y,b){return m.createElement(lc,{key:b,color:y,hex:y,style:f.swatch,onClick:g,onHover:n,focusStyle:{boxShadow:"0 0 4px "+y}})}),m.createElement("div",{style:f.hash},"#"),m.createElement(zt,{label:null,style:{input:f.input},value:o.replace("#",""),onChange:g}),m.createElement("div",{style:f.clear})))};gA.propTypes={width:We.oneOfType([We.string,We.number]),triangle:We.oneOf(["hide","top-left","top-right"]),colors:We.arrayOf(We.string),styles:We.object};gA.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};po(gA);var vA=function(e){var r=Et({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return m.createElement("div",{style:r.picker})};vA.propTypes={hsl:We.shape({h:We.number,s:We.number,l:We.number,a:We.number})};vA.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var yA=function(e){var r=Et({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return m.createElement("div",{style:r.picker})};yA.propTypes={hsl:We.shape({h:We.number,s:We.number,l:We.number,a:We.number})};yA.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var XKt=function(e){var r=e.onChange,n=e.rgb,o=e.hsl,a=e.hex,i=e.hsv,s=function(g,y){if(g.hex)Gs(g.hex)&&r({hex:g.hex,source:"hex"},y);else if(g.rgb){var b=g.rgb.split(",");Ek(g.rgb,"rgb")&&r({r:b[0],g:b[1],b:b[2],a:1,source:"rgb"},y)}else if(g.hsv){var x=g.hsv.split(",");Ek(g.hsv,"hsv")&&(x[2]=x[2].replace("%",""),x[1]=x[1].replace("%",""),x[0]=x[0].replace("°",""),x[1]==1?x[1]=.01:x[2]==1&&(x[2]=.01),r({h:Number(x[0]),s:Number(x[1]),v:Number(x[2]),source:"hsv"},y))}else if(g.hsl){var S=g.hsl.split(",");Ek(g.hsl,"hsl")&&(S[2]=S[2].replace("%",""),S[1]=S[1].replace("%",""),S[0]=S[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),r({h:Number(S[0]),s:Number(S[1]),v:Number(S[2]),source:"hsl"},y))}},l=Et({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),d=n.r+", "+n.g+", "+n.b,h=Math.round(o.h)+"°, "+Math.round(o.s*100)+"%, "+Math.round(o.l*100)+"%",u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.v*100)+"%";return m.createElement("div",{style:l.wrap,className:"flexbox-fix"},m.createElement("div",{style:l.fields},m.createElement("div",{style:l.double},m.createElement(zt,{style:{input:l.input,label:l.label},label:"hex",value:a,onChange:s})),m.createElement("div",{style:l.column},m.createElement("div",{style:l.single},m.createElement(zt,{style:{input:l.input2,label:l.label2},label:"rgb",value:d,onChange:s})),m.createElement("div",{style:l.single},m.createElement(zt,{style:{input:l.input2,label:l.label2},label:"hsv",value:u,onChange:s})),m.createElement("div",{style:l.single},m.createElement(zt,{style:{input:l.input2,label:l.label2},label:"hsl",value:h,onChange:s})))))},_A=function(e){var r=e.width,n=e.onChange,o=e.rgb,a=e.hsl,i=e.hsv,s=e.hex,l=e.header,d=e.styles,h=d===void 0?{}:d,u=e.className,f=u===void 0?"":u,g=Et(uo({default:{picker:{width:r,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+o.r+", "+o.g+", "+o.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},h));return m.createElement("div",{style:g.picker,className:"google-picker "+f},m.createElement("div",{style:g.head},l),m.createElement("div",{style:g.swatch}),m.createElement("div",{style:g.saturation},m.createElement(w_,{hsl:a,hsv:i,pointer:vA,onChange:n})),m.createElement("div",{style:g.body},m.createElement("div",{style:g.controls,className:"flexbox-fix"},m.createElement("div",{style:g.hue},m.createElement(Bu,{style:g.Hue,hsl:a,radius:"4px",pointer:yA,onChange:n}))),m.createElement(XKt,{rgb:o,hsl:a,hex:s,hsv:i,onChange:n})))};_A.propTypes={width:We.oneOfType([We.string,We.number]),styles:We.object,header:We.string};_A.defaultProps={width:652,styles:{},header:"Color picker"};po(_A);const Wn={fieldContainer:{paddingTop:10,whiteSpace:"nowrap"},checkBoxLabel:{fontSize:"0.8rem",whiteSpace:"break-spaces"},objectContainer:{display:"flex",alignItems:"center"},objectField:{flex:1},objectButton:{marginTop:"auto",paddingLeft:0,maxHeight:29,height:29},sliderContainer:{position:"relative"},sliderLabel:{position:"absolute",top:0,left:0,fontSize:"small"},sliderRoot:{paddingBottom:0,paddingTop:16},selectIcon:{paddingRight:4},tooltip:{pointerEvents:"none"}},Dt=t=>{var r;const e=P.t(t.label);return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((r=t.styles)==null?void 0:r.fieldContainer)||Wn.fieldContainer,...t.style},children:w.jsx(Zr,{title:t.tooltip?P.t(t.tooltip):null,slotProps:{popper:{sx:Wn.tooltip}},children:w.jsxs(_a,{fullWidth:t.fullWidth,style:{minWidth:t.minWidth||200,width:t.width},variant:"standard",children:[w.jsx($l,{shrink:!0,children:e}),w.jsx(Bn,{fullWidth:t.fullWidth,variant:"standard",disabled:!!t.disabled,label:e,style:{color:t.colors&&t.colors[t.value]||void 0},onChange:n=>t.updateValue(n.target.value),value:t.value||"",renderValue:t.renderValue,displayEmpty:!0,children:t.options?Object.keys(t.options).map(n=>t.options[n]===void 0?null:w.jsxs(Jt,{value:n,style:{color:t.colors&&t.colors[n]||void 0},children:[t.icons&&t.icons[n]?w.jsx("span",{style:Wn.selectIcon,children:t.icons[n]}):null,t.noTranslate?t.options[n]:t.options[n]!==""&&t.options[n]!==null&&t.options[n]!==void 0?t.options[n].startsWith("-")?`-${P.t(t.options[n].substring(1))}`:P.t(t.options[n]):""]},n)):null})]})})})},kn=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(St,{style:{paddingTop:10},label:w.jsx("span",{style:Wn.checkBoxLabel,children:P.t(t.label)}),control:w.jsx(yr,{disabled:!!t.disabled,onChange:r=>t.updateValue(r.target.checked),checked:t.value||!1})})})},Ln=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(Ht,{variant:"standard",disabled:!!t.disabled,fullWidth:!0,style:{minWidth:t.minWidth},label:P.t(t.label),onChange:r=>t.updateValue(r.target.value),value:t.value||"",type:"text",title:t.tooltip||"",slotProps:{inputLabel:{shrink:!0},input:{startAdornment:!t.disabled&&t.helperLink?w.jsx(Ie,{size:"small",onClick:()=>{typeof t.helperLink=="function"?t.helperLink():window.open(t.helperLink,"_blank")},children:w.jsx(GH,{})}):void 0,endAdornment:!t.disabled&&t.value?w.jsx(Ie,{size:"small",onClick:()=>t.updateValue(""),children:w.jsx(Ar,{})}):void 0}}})})},Er=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(Ht,{variant:"standard",disabled:!!t.disabled,fullWidth:t.fullWidth,style:{width:t.width||"100%"},label:P.t(t.label),onChange:r=>t.updateValue(parseInt(r.target.value)),value:t.value||"",type:"number",title:t.tooltip||"",slotProps:{inputLabel:{shrink:!0},htmlInput:{min:t.min,max:t.max}}})})},ty=t=>{var e;return w.jsx("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer},children:w.jsx(Ht,{variant:"standard",type:"datetime-local",label:P.t(t.label),fullWidth:t.fullWidth,slotProps:{inputLabel:{shrink:!0}},onChange:r=>{const n=r.target.value.split("T");t.updateValue(n[0],n[1])},value:t.date?`${t.date}T${t.time}`:""})})},Jd=t=>{var n,o,a;const[e,r]=A.useState(!1);return w.jsxs("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((n=t.styles)==null?void 0:n.fieldContainer)||Wn.fieldContainer,width:t.width,minWidth:t.minWidth},children:[w.jsxs("div",{style:{...t.fullWidth?{width:"100%"}:void 0,...((o=t.styles)==null?void 0:o.objectContainer)||Wn.objectContainer},children:[w.jsx(Ht,{variant:"standard",disabled:!!t.disabled,style:(a=t.styles)==null?void 0:a.objectField,label:P.t(t.label),fullWidth:!0,slotProps:{inputLabel:{shrink:!0},input:{endAdornment:!t.disabled&&t.value?w.jsx(Ie,{size:"small",onClick:()=>t.updateValue(""),children:w.jsx(Ar,{})}):void 0}},value:t.value||"",onChange:i=>t.updateValue(i.target.value)}),w.jsx(Ie,{disabled:!!t.disabled,size:"small",onClick:()=>r(!0),style:Wn.objectButton,children:w.jsx(jve,{})})]}),e?w.jsx(OV,{theme:t.theme,imagePrefix:"../..",socket:t.socket,dialogName:t.name,customFilter:t.customFilter,title:`${P.t("Select for")} ${t.label}`,selected:t.value,onOk:i=>{Array.isArray(i)?t.updateValue(i[0]||""):t.updateValue(i),r(!1)},onClose:()=>r(!1)},`selectDialog_${t.name}`):null]})},$u=t=>{var e,r,n,o;return w.jsxs("div",{style:{...((e=t.styles)==null?void 0:e.fieldContainer)||Wn.fieldContainer,...((r=t.styles)==null?void 0:r.sliderContainer)||Wn.sliderContainer},children:[w.jsx(Ka,{style:((n=t.styles)==null?void 0:n.sliderLabel)||Wn.sliderLabel,children:t.label}),w.jsx(Rue,{disabled:!!t.disabled,style:((o=t.styles)==null?void 0:o.sliderRoot)||Wn.sliderRoot,value:parseFloat(t.value||t.min)||0,step:parseFloat(t.step)||(parseFloat(t.max)||1)-(parseFloat(t.min)||0)/10||.1,marks:!0,onChange:(a,i)=>t.updateValue(i),min:parseFloat(t.min)||0,max:parseFloat(t.max)||1,valueLabelDisplay:"auto"})]})};function vf(t){return Pr({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(t)}function yf(t){return Pr({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"},child:[]}]})(t)}function JKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z"},child:[]}]})(t)}function YKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z"},child:[]}]})(t)}function KKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M4 11H8V13H4V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M10 11H14V13H10V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M20 11H16V13H20V11Z",fill:"currentColor"},child:[]}]})(t)}function ZKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M3 11H1V13H3V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M7 11H5V13H7V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M9 11H11V13H9V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M15 11H13V13H15V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M17 11H19V13H17V11Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M23 11H21V13H23V11Z",fill:"currentColor"},child:[]}]})(t)}function QKt(t){return Pr({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M2 11H22V13H2V11Z",fill:"currentColor"},child:[]}]})(t)}const AB={dialogSlider:{padding:"20px 0px"}};class eZt extends m.Component{render(){return w.jsxs(or,{open:this.props.open,onClose:this.props.onClose,children:[w.jsxs(_r,{children:[P.t("Line")," ",this.props.index+1,this.props.line.name?` - ${this.props.line.name}`:""," ",P.t("edit")]}),w.jsxs(Wr,{children:[w.jsx(Dt,{value:this.props.line.lineStyle,updateValue:e=>{const r=JSON.parse(JSON.stringify(this.props.line));r.lineStyle=e,this.props.updateLine(this.props.index,r)},label:"Line style",options:{solid:"solid",dashed:"dashed",dotted:"dotted"},icons:{solid:w.jsx(QKt,{}),dashed:w.jsx(KKt,{}),dotted:w.jsx(ZKt,{})}}),w.jsx("div",{style:AB.dialogSlider,children:w.jsx($u,{value:this.props.line.fill,updateValue:e=>{const r=JSON.parse(JSON.stringify(this.props.line));r.fill=e,e<.01&&!parseFloat(r.thickness)&&(r.thickness=1),this.props.updateLine(this.props.index,r)},min:0,max:1,step:.1,label:"Fill (from 0 to 1)"})}),w.jsx("div",{style:AB.dialogSlider,children:w.jsx($u,{value:this.props.line.thickness,updateValue:e=>{const r=JSON.parse(JSON.stringify(this.props.line));r.thickness=e,this.props.updateLine(this.props.index,r)},label:"ØL - Line thickness",min:this.props.line.fill>.01?0:1,max:10,step:1})})]}),w.jsx(pr,{children:w.jsx(tt,{variant:"contained",color:"primary",onClick:this.props.onClose,startIcon:w.jsx(wo,{}),children:P.t("Close")})})]})}}const Ok={stateValueEdit:{marginBottom:10}};class tZt extends m.Component{constructor(r){super(r);X(this,"originalStates");X(this,"statesBeforeEdit");this.originalStates=JSON.parse(r.originalStates),this.statesBeforeEdit=JSON.stringify(r.withStates);const n=r.withStates?JSON.parse(JSON.stringify(r.withStates)):{};r.isBoolean&&(n.true&&(n[1]=n.true,delete n.true),n.false&&(n[0]=n.false,delete n.false),n[1]=n[1]||"true",n[0]=n[0]||"false"),this.state={withStates:n,disabledStates:this.props.withStates?JSON.stringify(r.withStates):r.originalStates,showAddStateDialog:!1,newValue:"",newTextValue:""}}renderAddStateDialog(){return this.state.showAddStateDialog?w.jsxs(or,{open:!0,onClose:()=>this.setState({showAddStateDialog:!1}),children:[w.jsx(_r,{children:P.t("Add new state name")}),w.jsxs(Wr,{children:[w.jsx(Ht,{style:Ok.stateValueEdit,variant:"standard",label:P.t("State value"),value:this.state.newValue,onChange:r=>this.setState({newValue:r.target.value})}),w.jsx("br",{}),w.jsx(Ht,{style:Ok.stateValueEdit,variant:"standard",label:P.t("State value text"),value:this.state.newTextValue,onChange:r=>this.setState({newTextValue:r.target.value}),onKeyUp:r=>{if(r.key==="Enter"&&this.state.newValue&&this.state.withStates[this.state.newValue]===void 0){const n=JSON.parse(JSON.stringify(this.state.withStates));n[this.state.newValue]=this.state.newTextValue,this.setState({showAddStateDialog:null,withStates:n})}}})]}),w.jsxs(pr,{children:[w.jsx(tt,{variant:"contained",color:"primary",autoFocus:!0,disabled:!this.state.newValue||this.state.withStates[this.state.newValue]!==void 0,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.withStates));r[this.state.newValue]=this.state.newTextValue,this.setState({showAddStateDialog:null,withStates:r})},startIcon:w.jsx(Il,{}),children:P.t("Add")}),w.jsx(tt,{variant:"contained",color:"grey",onClick:()=>this.setState({showAddStateDialog:!1}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]}):null}render(){return w.jsxs(w.Fragment,{children:[this.renderAddStateDialog(),w.jsxs(or,{open:!0,onClose:()=>this.props.onClose(),children:[w.jsx(_r,{children:P.t("Edit state names")}),w.jsxs(Wr,{children:[w.jsx(St,{control:w.jsx(ih,{checked:this.state.withStates!==!1,onChange:()=>{this.state.withStates===!1?this.setState({withStates:JSON.parse(this.state.disabledStates)}):this.setState({withStates:!1,disabledStates:JSON.stringify(this.state.withStates)})}}),label:P.t("Use state names")}),this.state.withStates!==!1?w.jsxs(w.Fragment,{children:[w.jsx("br",{}),this.props.isBoolean?null:w.jsx(Ie,{onClick:()=>{const r=Object.keys(this.state.withStates).sort();let n="";window.isFinite(parseInt(r[r.length-1],10))&&(n=(parseInt(r[r.length-1],10)+1).toString()),this.setState({showAddStateDialog:!0,newValue:n,newTextValue:""})},title:P.t("Add new value"),children:w.jsx(Il,{})}),w.jsx("br",{}),Object.keys(this.state.withStates).map(r=>w.jsxs("div",{children:[w.jsx(Ht,{style:Ok.stateValueEdit,variant:"standard",label:this.props.isBoolean?r==="1"?P.t("TRUE"):r==="0"?P.t("FALSE"):r:r.toString(),value:this.state.withStates[r],onChange:n=>this.setState({withStates:{...this.state.withStates,[r]:n.target.value}}),slotProps:{input:{endAdornment:this.state.withStates[r]?w.jsx(Ie,{size:"small",onClick:()=>this.setState({withStates:{...this.state.withStates,[r]:""}}),children:w.jsx(wo,{})}):void 0}}}),!this.props.isBoolean&&this.originalStates[r]===void 0?w.jsx(Ie,{onClick:()=>{const n={...this.state.withStates};delete n[r],this.setState({withStates:n})},title:P.t("Delete text value"),children:w.jsx(yu,{})}):null]},r))]}):null]}),w.jsxs(pr,{children:[w.jsx(tt,{variant:"contained",color:"primary",autoFocus:!0,disabled:this.statesBeforeEdit===JSON.stringify(this.state.withStates),onClick:()=>this.props.onClose(this.state.withStates),startIcon:w.jsx(sh,{}),children:P.t("Apply")}),w.jsx(tt,{variant:"contained",color:"grey",onClick:()=>this.props.onClose(),startIcon:w.jsx(wo,{}),children:P.t("Close")})]})]})]})}}const jt={instance:100,id:100,chartType:120,dataType:110,color:100,name:150,buttons:166},Ct={card:t=>({borderStyle:"dashed",borderWidth:1,mb:"8px",p:"8px",borderColor:t.palette.grey[600],overflow:"initial"}),cardPaste:t=>({borderColor:t.palette.mode==="dark"?t.palette.grey[400]:t.palette.grey[800],backgroundColor:"rgba(0,0,0,0)",opacity:.8}),cardContent:{p:0,m:0,"&:last-child":{p:0}},shortFields:t=>({display:"flex","& > div":{display:"inline-flex",pr:"20px",width:200},flexWrap:"wrap",alignItems:"center",position:"relative",pb:"16px",borderBottom:`1px dotted ${t.palette.grey[400]}`}),lineClosed:{display:"flex",gap:4,alignItems:"center"},title:{width:"inherit",position:"absolute",whiteSpace:"nowrap",right:0,fontSize:48,opacity:.1,lineHeight:"48px",padding:0,marginTop:20,marginLeft:0,marginRight:0,marginBottom:0,paddingRight:10},shortFieldsLast:{borderBottom:"0px",paddingBottom:0},shortInstanceField:{display:"inline-block",minWidth:jt.instance,paddingTop:0,verticalAlign:"top"},shortIdField:{display:"inline-block",minWidth:jt.id,paddingTop:0,verticalAlign:"top"},shortDataTypeField:{display:"inline-block",minWidth:jt.dataType,paddingTop:0,verticalAlign:"top"},shortChartTypeField:{display:"inline-block",minWidth:jt.chartType,paddingTop:0,verticalAlign:"top"},shortColorField:{display:"inline-block",minWidth:jt.color,width:jt.color,paddingTop:0,verticalAlign:"top"},shortNameField:{display:"inline-block",minWidth:jt.name,paddingTop:0,verticalAlign:"top"},shortButtonsField:{display:"inline-block",minWidth:jt.buttons,paddingTop:0,verticalAlign:"top"},editButton:{},deleteButton:{},editButtonFull:{},deleteButtonFull:{},copyButtonFull:{},fullWidth:{width:"100%",minWidth:200},paste:{opacity:.3},emptyDrag:{display:"inline-block",width:16},chapterMain:{backgroundColor:"rgba(3,104,255,0.1)"},chapterTexts:{backgroundColor:"rgba(101,253,0,0.1)"},chapterLine:{backgroundColor:"rgba(255,20,0,0.1)"},chapterAxis:{backgroundColor:"rgba(179,2,255,0.1)"},chapterOther:{backgroundColor:"rgba(255,146,0,0.1)"},states:{verticalAlign:"top",marginTop:12},state:{textAlign:"center",marginRight:8},stateValue:{fontSize:10},stateText:{fontSize:12,fontStyle:"italic",display:"block",whiteSpace:"nowrap"}};class IB extends m.Component{constructor(r){super(r);X(this,"onIdChanged",async r=>{var o,a,i,s,l;const n=JSON.parse(JSON.stringify(this.props.line));if(n.id=r,this.props.updateLine(this.props.index,n),this.props.line.id!==r){try{const u=await this.props.socket.getObject(r),f=JSON.parse(JSON.stringify(this.props.line));let g;if((o=u==null?void 0:u.common)!=null&&o.name)g=ue.getObjectNameFromObj(u,null,{language:P.getLanguage()});else{const b=r.split(".");g=b.length?b[b.length-1]:""}(a=u==null?void 0:u.common)!=null&&a.unit&&(f.unit=u.common.unit),u!=null&&u.common&&(u.common.type==="boolean"||u.common.type==="number")&&(f.chartType="auto",delete f.aggregate);const y={isBoolean:((i=u==null?void 0:u.common)==null?void 0:i.type)==="boolean"};(s=u==null?void 0:u.common)!=null&&s.states&&typeof((l=u==null?void 0:u.common)==null?void 0:l.states)!="string"&&!Array.isArray(u.common.states)&&!u.common.unit?(y.withStates=u.common.states,y.originalStates=JSON.stringify(u.common.states),f.states?Object.assign(y.withStates,f.states):f.states===!1&&(y.withStates=!1)):(y.withStates=null,delete f.states),(y.isBoolean!==this.state.isBoolean||JSON.stringify(this.state.withStates)!==JSON.stringify(y.withStates)||this.state.originalStates!==y.originalStates)&&setTimeout(b=>this.setState(b),50,y),f.name=g,this.props.updateLine(this.props.index,f);return}catch(u){console.error(u)}const d=JSON.parse(JSON.stringify(this.props.line)),h=r.split(".");d.name=h.length?h[h.length-1]:"",this.props.updateLine(this.props.index,d)}});X(this,"showConvertHelp",()=>this.setState({showConvertHelp:!0}));this.state={width:this.props.width,dialogOpen:!1,showConvertHelp:!1,isBoolean:!1,withStates:null,color:this.props.line.color||""},this.props.line.id&&this.props.socket.getObject(this.props.line.id).then(n=>{var a,i;let o=null;((a=n==null?void 0:n.common)==null?void 0:a.type)==="boolean"&&(o={isBoolean:!0}),(i=n==null?void 0:n.common)!=null&&i.states&&typeof n.common.states!="string"&&!Array.isArray(n.common.states)&&!n.common.unit&&(o=o||{},o.withStates=n.common.states,o.originalStates=JSON.stringify(n.common.states),this.props.line.states?Object.assign(o.withStates,this.props.line.states):this.props.line.states===!1&&(o.withStates=!1)),o&&this.setState(o)}).catch(()=>{})}static getDerivedStateFromProps(r,n){return r.width!==n.width?{width:r.width}:null}renderClosedLine(){const r={},n=(this.props.width||1024)-32-40-20,o=4;n>=jt.instance+jt.id+jt.chartType+jt.dataType+jt.color+jt.name+jt.buttons+o*6?(r.chartType=!0,r.dataType=!0,r.color=!0,r.name=!0):n>=jt.instance+jt.id+jt.chartType+jt.dataType+jt.color+jt.buttons+o*5?(r.chartType=!0,r.dataType=!0,r.color=!0):n>=jt.instance+jt.id+jt.chartType+jt.dataType+jt.buttons+o*4?(r.chartType=!0,r.dataType=!0):n>=jt.instance+jt.id+jt.chartType+jt.buttons+o*3&&(r.chartType=!0);const a=this.props.presetData.l.find(s=>s.chartType==="bar"||s.chartType==="polar"),i={minmax:"minmax",average:"average",min:"min",max:"max",total:"total",count:"count",onchange:"raw",percentile:"percentile",integral:"integral",current:void 0,none:void 0};return a&&(delete i.minmax,this.props.presetData.l.find(s=>s.chartType==="polar")&&(i.current="current")),w.jsxs("div",{style:Ct.lineClosed,children:[this.props.provided?w.jsx("span",{title:P.t("Drag me"),style:{marginTop:4},...this.props.provided.dragHandleProps,children:w.jsx(HE,{})}):w.jsx("div",{style:Ct.emptyDrag}),this.props.onPaste?w.jsx(Ie,{title:P.t("Paste"),onClick:()=>this.props.onPaste(),children:w.jsx(uH,{})}):w.jsx(Ie,{title:P.t("Edit"),onClick:()=>this.props.lineOpenToggle(this.props.index),children:w.jsx(yf,{})}),w.jsx(Dt,{disabled:!!this.props.onPaste,value:this.props.line.instance||"",updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.instance=s,this.props.updateLine(this.props.index,l)},label:"Source",noTranslate:!0,options:(()=>{const s={"":P.t("standard")};return this.props.instances.forEach(l=>s[l._id]=l._id.replace("system.adapter.","")),s.json="JSON",s[this.props.line.instance]||(s[this.props.line.instance]=this.props.line.instance.replace("system.adapter.","")),s})(),minWidth:jt.instance,styles:{fieldContainer:{...Ct.shortInstanceField,...this.props.onPaste?Ct.paste:void 0,marginTop:2}}}),w.jsx(Jd,{disabled:!!this.props.onPaste,value:this.props.line.id,updateValue:this.onIdChanged,theme:this.props.theme,name:"id",label:"ID",customFilter:this.props.line.instance!=="json"?{common:{custom:this.props.line.instance?this.props.line.instance.replace("system.adapter.",""):this.props.systemConfig.common.defaultHistory||!0}}:null,styles:{fieldContainer:{...Ct.shortIdField,...this.props.onPaste?Ct.paste:void 0,flexGrow:1}},socket:this.props.socket}),r.chartType?w.jsx(Dt,{disabled:!!this.props.onPaste,value:this.props.line.chartType,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.chartType=s,this.props.updateLine(this.props.index,l)},minWidth:jt.chartType,label:"Chart type",options:{auto:"Auto",line:"Line",bar:"Bar",polar:"Polar",scatterplot:"Scatter plot",steps:"Steps",stepsStart:"Steps on start",spline:"Spline"},styles:{fieldContainer:{...Ct.shortChartTypeField,...this.props.onPaste?Ct.paste:void 0,marginTop:2}}}):null,this.props.line.instance!=="json"&&r.dataType&&this.props.line.chartType!=="auto"?w.jsx(Dt,{disabled:!!this.props.onPaste,value:this.props.line.aggregate,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.aggregate=s,s==="percentile"&&(l.percentile===void 0||l.percentile<0||l.percentile>100)?l.percentile=50:s==="integral"&&(l.integralUnit=l.integralUnit||60,l.integralInterpolation=l.integralInterpolation||"none"),this.props.updateLine(this.props.index,l)},minWidth:jt.dataType,label:"Type",options:i,styles:{fieldContainer:{...Ct.shortDataTypeField,...this.props.onPaste?Ct.paste:void 0}}}):null,r.color?this.renderColorField(jt.color,{...Ct.shortColorField,...this.props.onPaste?Ct.paste:void 0},!0):null,r.name?w.jsx(Ln,{disabled:!!this.props.onPaste,width:jt.name,value:this.props.line.name,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.name=s,this.props.updateLine(this.props.index,l)},label:"Name",styles:{fieldContainer:{...Ct.shortNameField,...this.props.onPaste?Ct.paste:void 0}}}):null,!this.props.onPaste&&this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&(!this.props.index||this.props.line.chartType!=="polar")?w.jsx(Ie,{style:Ct.editButton,"aria-label":"Edit",title:P.t("Edit"),onClick:()=>this.setState({dialogOpen:!0}),children:w.jsx(r1,{})}):null,w.jsx(Ie,{style:Ct.deleteButton,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteLine(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]})}renderColorField(r,n,o){let a=ue.isUseBright(this.props.line.color,null);a===null&&(a=void 0);const i=s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.color=s,this.props.updateLine(this.props.index,l)};return w.jsx("div",{style:n,children:w.jsx(Ht,{variant:"standard",disabled:!!this.props.onPaste,style:{minWidth:r,width:"calc(100% - 8px)"},label:P.t("Color"),value:this.props.line.color||"",onClick:()=>{this.props.onPaste||this.setState({color:this.props.line.color},()=>this.props.onSelectColor(this.state.color,s=>this.setState({color:s},()=>i(Ai.getColor(s,!0)))))},onChange:s=>{const l=s.target.value;this.setState({color:l},()=>i(l))},slotProps:{htmlInput:{style:{paddingLeft:o?0:8,backgroundColor:this.props.line.color,color:a?"#FFF":"#000"}},input:{endAdornment:this.props.line.color?w.jsx(Ie,{disabled:!!this.props.onPaste,size:"small",onClick:s=>{s.stopPropagation(),this.setState({color:""},()=>{i("")})},children:w.jsx(Ar,{})}):void 0},inputLabel:{shrink:!0}}})})}renderConvertHelp(){return this.state.showConvertHelp?w.jsxs(or,{open:!0,onClose:()=>this.setState({showConvertHelp:!1}),children:[w.jsx(Wr,{children:w.jsx(Ds,{children:P.t("convert_help")})}),w.jsx(pr,{children:w.jsx(tt,{variant:"contained",onClick:()=>this.setState({showConvertHelp:!1}),color:"primary",startIcon:w.jsx(wo,{}),children:P.t("Close")})})]}):null}renderStates(){return this.state.withStates===null?null:w.jsxs("div",{style:Ct.states,children:[this.state.withStates?Object.keys(this.state.withStates).map(r=>w.jsxs("div",{style:Ct.state,children:[w.jsx("span",{style:Ct.stateValue,children:r}),"↓",w.jsx("span",{style:Ct.stateText,children:this.state.withStates[r]})]},r)):w.jsx("div",{style:Ct.state,children:w.jsx("span",{style:Ct.stateText,children:P.t("Text values not used")})}),w.jsx(tt,{variant:"outlined",onClick:()=>this.setState({showStatesEdit:!0}),startIcon:w.jsx(r1,{}),title:P.t("Edit state names"),children:"..."}),this.state.showStatesEdit?w.jsx(tZt,{withStates:this.state.withStates,originalStates:this.state.originalStates,isBoolean:this.state.isBoolean,onClose:r=>{if(r!==void 0){this.setState({showStatesEdit:!1,withStates:JSON.parse(JSON.stringify(r))});const n=JSON.parse(JSON.stringify(this.props.line));if(r){const o=JSON.parse(JSON.stringify(r)),a=JSON.parse(this.state.originalStates);Object.keys(o).forEach(i=>{o[i]===a[i]&&delete o[i]}),n.states=o}else n.states=!1;this.props.updateLine(this.props.index,n)}else this.setState({showStatesEdit:!1})}}):null]})}renderOpenedLine(){const r={"":P.t("own axis")};for(let s=0;ss.chartType==="bar"||s.chartType==="polar"),o={auto:"Auto (Line or Steps)",line:"Line",bar:"Bar",polar:"Polar",scatterplot:"Scatter plot",steps:"Steps",stepsStart:"Steps on start",spline:"Spline"},a={minmax:"minmax",average:"average",min:"min",max:"max",total:"total",count:"count",onchange:"raw",percentile:"percentile",integral:"integral",current:void 0,none:void 0};n&&(delete a.minmax,this.props.presetData.l.find(s=>s.chartType==="polar")&&(a.current="current"));const i=this.props.line.commonYAxis===void 0;return w.jsxs(w.Fragment,{children:[w.jsxs("div",{style:Ct.lineClosed,children:[this.props.provided?w.jsx("span",{title:P.t("Drag me"),...this.props.provided.dragHandleProps,children:w.jsx(HE,{})}):null,w.jsx(Ie,{title:P.t("Close"),onClick:()=>this.props.lineOpenToggle(this.props.index),children:w.jsx(vf,{})}),P.t("Line")," ",this.props.index+1,this.props.line.name?` - ${this.props.line.name}`:"",w.jsx("div",{style:{flexGrow:1}}),w.jsx(Ie,{style:Ct.copyButtonFull,"aria-label":"Copy",title:P.t("Copy"),onClick:()=>this.props.onCopy(this.props.line),children:w.jsx(dH,{})}),this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&(!this.props.index||this.props.line.chartType!=="polar")?w.jsx(Ie,{style:Ct.editButtonFull,"aria-label":"Edit",title:P.t("Edit"),onClick:()=>this.setState({dialogOpen:!0}),children:w.jsx(r1,{})}):null,w.jsx(Ie,{style:Ct.deleteButtonFull,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteLine(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]}),w.jsxs(Re,{component:"div",sx:Ct.shortFields,style:{marginRight:30},children:[w.jsx(Dt,{value:this.props.line.instance,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.instance=s,this.props.updateLine(this.props.index,l)},label:"Source",noTranslate:!0,options:(()=>{const s={};return this.props.instances.forEach(l=>s[l._id]=l._id.replace("system.adapter.","")),s.json="JSON",s})()}),w.jsx(Jd,{theme:this.props.theme,value:this.props.line.id,styles:{objectContainer:Ct.fullWidth},updateValue:this.onIdChanged,name:"id",label:"ID",width:"calc(100% - 250px)",customFilter:this.props.line.instance!=="json"?{common:{custom:this.props.line.instance?this.props.line.instance.replace("system.adapter.",""):this.props.systemConfig.common.defaultHistory||!0}}:void 0,socket:this.props.socket})]}),w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterMain),children:[w.jsx("p",{style:Ct.title,children:P.t("Main")}),!this.props.index||this.props.line.chartType!=="polar"?this.renderColorField():null,w.jsx(Dt,{value:this.props.line.chartType,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.chartType=s,this.props.updateLine(this.props.index,l)},label:"Chart type",options:o}),this.props.line.instance!=="json"&&this.props.line.chartType!=="auto"?w.jsx(Dt,{value:this.props.line.aggregate,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.aggregate=s,this.props.updateLine(this.props.index,l)},label:"Type",options:a}):null,this.props.line.chartType==="bar"?w.jsx(Dt,{value:this.props.line.postProcessing,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.postProcessing=s,this.props.updateLine(this.props.index,l)},label:"Processing",options:{"":"non-processed",diff:"difference"}}):null,this.props.line.aggregate==="percentile"?w.jsx($u,{value:this.props.line.percentile,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.percentile=s,this.props.updateLine(this.props.index,l)},step:5,min:0,max:100,label:"Percentile"}):null,this.props.line.aggregate==="integral"?w.jsx(Er,{value:this.props.line.integralUnit,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.integralUnit=s,this.props.updateLine(this.props.index,l)},label:"Integral unit",min:1,tooltip:P.t("In seconds")}):null,this.props.line.aggregate==="integral"?w.jsx(Dt,{value:this.props.line.integralInterpolation,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.integralInterpolation=s,this.props.updateLine(this.props.index,l)},label:"Interpolation method",options:{none:"none_no",linear:"linear"}}):null,this.props.line.chartType==="scatterplot"||this.props.line.points?w.jsx(Er,{value:this.props.line.symbolSize,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.symbolSize=s,this.props.updateLine(this.props.index,l)},label:"Point size",min:1}):null,this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&this.props.line.chartType!=="polar"?w.jsx(Er,{value:this.props.line.validTime,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.validTime=s,this.props.updateLine(this.props.index,l)},label:"Valid time (sec)",min:0,tooltip:P.t("If the current value is not older than X seconds, assume it is still the same.")}):null,this.props.presetData.legend?w.jsx(kn,{value:this.props.line.hide,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.hide=s,this.props.updateLine(this.props.index,l)},label:"Show only in legend"}):null,this.props.line.chartType!=="bar"&&this.props.line.chartType!=="polar"?w.jsx(kn,{value:this.props.line.noFuture,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.noFuture=s,this.props.updateLine(this.props.index,l)},label:"No future"}):null]}),w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterTexts),children:[w.jsx("p",{style:Ct.title,children:P.t("Texts")}),w.jsx(Ln,{value:this.props.line.name,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.name=s,this.props.updateLine(this.props.index,l)},label:"Name"}),!this.state.isBoolean&&i?w.jsx(Ln,{value:this.props.line.unit,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.unit=s,this.props.updateLine(this.props.index,l)},label:"Unit"}):null,this.state.isBoolean&&this.state.withStates===null?w.jsx(Ln,{value:this.props.line.falseText,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.falseText=s,this.props.updateLine(this.props.index,l)},label:"Text by false"}):null,this.state.isBoolean&&this.state.withStates===null?w.jsx(Ln,{value:this.props.line.trueText,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.trueText=s,this.props.updateLine(this.props.index,l)},label:"Text by true"}):null,this.renderStates()]}),this.props.line.chartType!=="scatterplot"&&this.props.line.chartType!=="bar"&&(!this.props.index||this.props.line.chartType!=="polar")?w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterLine),children:[w.jsx("p",{style:Ct.title,children:P.t("Line and area")}),w.jsx($u,{value:this.props.line.fill,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.fill=s,s<.01&&!parseFloat(l.thickness)&&(l.thickness=1),this.props.updateLine(this.props.index,l)},min:0,max:1,step:.1,label:"Fill (from 0 to 1)"}),w.jsx(kn,{value:this.props.line.points,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.points=s,this.props.updateLine(this.props.index,l)},label:"Show points"}),this.props.line.points?w.jsx(Er,{value:this.props.line.symbolSize,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.symbolSize=s,this.props.updateLine(this.props.index,l)},label:"Point size",min:1}):null,w.jsx(Er,{value:this.props.line.thickness,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.thickness=s,this.props.updateLine(this.props.index,l)},label:"ØL - Line thickness",min:this.props.line.fill>.01?0:1}),w.jsx(Er,{value:this.props.line.shadowsize,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.shadowsize=s,this.props.updateLine(this.props.index,l)},label:"ØS - Shadow size",min:0})]}):null,w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterAxis),children:[w.jsx("p",{style:Ct.title,children:P.t("Axis")}),!this.props.index&&this.props.line.chartType!=="polar"?w.jsx(Dt,{value:this.props.line.xaxe,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.xaxe=s,this.props.updateLine(this.props.index,l)},label:"X Axis position",options:{"":"bottom",top:"top",off:"off"}}):null,!this.props.index&&this.props.line.chartType!=="polar"?w.jsx(Er,{value:this.props.line.xticks,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.xticks=s,this.props.updateLine(this.props.index,l)},label:"X-Axis ticks",min:1}):null,this.props.line.chartType!=="polar"?w.jsx(Dt,{value:this.props.line.offset===void 0?"0":this.props.line.offset.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));s?l.offset=s:delete l.offset,this.props.updateLine(this.props.index,l)},tooltip:P.t("This time offset will be added to the request by reading data from DB"),label:"X-Offset",options:{0:"0 seconds",10:"10 seconds",30:"30 seconds",60:"60 seconds",120:"2 minutes",180:"3 minutes",240:"4 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1800:"30 minutes",2700:"45 minutes",3600:"1 hour",7200:"2 hours",21600:"6 hours",43200:"12 hours",86400:"1 day",172800:"2 days",259200:"3 days",345600:"4 days",604800:"1 week",1209600:"2 weeks","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years","-10":"-10 seconds","-30":"-30 seconds","-60":"-60 seconds","-120":"-2 minutes","-180":"-3 minutes","-240":"-4 minutes","-300":"-5 minutes","-600":"-10 minutes","-900":"-15 minutes","-1800":"-30 minutes","-2700":"-45 minutes","-3600":"-1 hour","-7200":"-2 hours","-21600":"-6 hours","-43200":"-12 hours","-86400":"-1 day","-172800":"-2 days","-259200":"-3 days","-345600":"-4 days","-604800":"-1 week","-1209600":"-2 weeks","-1m":"-1 month","-2m":"-2 months","-3m":"-3 months","-6m":"-6 months","-1y":"-1 year","-2y":"-2 years"}}):null,this.props.line.chartType!=="polar"?w.jsx(Er,{value:this.props.line.yOffset,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.yOffset=s,this.props.updateLine(this.props.index,l)},label:"Y-Offset"}):null,w.jsx("br",{}),this.props.line.chartType!=="polar"?w.jsx(Dt,{value:this.props.line.commonYAxis===void 0?"":this.props.line.commonYAxis.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.commonYAxis=s===""?void 0:parseInt(s,10),this.props.updateLine(this.props.index,l)},label:"Common Y Axis",noTranslate:!0,options:r}):null,this.props.line.chartType!=="polar"&&i?w.jsx(Dt,{value:this.props.line.yaxe,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.yaxe=s,this.props.updateLine(this.props.index,l)},label:"Y Axis position",options:{"":"",off:"off",left:"left",right:"right",leftColor:"left colored",rightColor:"right colored"}}):null,this.props.line.chartType!=="polar"&&i?w.jsx(Ln,{value:this.props.line.min===void 0?"":this.props.line.min.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.min=s,this.props.updateLine(this.props.index,l)},label:"Min"}):null,i?w.jsx(Ln,{value:this.props.line.max===void 0?"":this.props.line.max.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.max=s,this.props.updateLine(this.props.index,l)},label:"Max"}):null,this.props.line.chartType!=="polar"&&i?w.jsx(Er,{value:this.props.line.yticks,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.yticks=s,this.props.updateLine(this.props.index,l)},label:"Y-Axis ticks"}):null]}),w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Ct.shortFields,Ct.chapterOther),children:[w.jsx("p",{style:Ct.title,children:P.t("Others")}),w.jsx(Dt,{value:this.props.line.ignoreNull===void 0?"false":this.props.line.ignoreNull.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.ignoreNull=s==="true"?!0:s==="0"?0:!1,this.props.updateLine(this.props.index,l)},label:"NULL as",options:{false:"default",true:"ignore null values",0:"use 0 instead of null values"}}),w.jsx(Er,{value:this.props.line.afterComma,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.afterComma=s,this.props.updateLine(this.props.index,l)},label:"Digits after comma",min:0}),this.props.line.chartType!=="bar"?w.jsx(Dt,{value:this.props.line.lineStyle,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.lineStyle=s,this.props.updateLine(this.props.index,l)},label:"Line style",options:{solid:"solid",dashed:"dashed",dotted:"dotted"}}):null,w.jsx(Ln,{value:this.props.line.convert,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.line));l.convert=s,this.props.updateLine(this.props.index,l)},label:"Convert formula",helperLink:this.showConvertHelp})]})]})}render(){var r;return w.jsxs(JW,{sx:ue.getStyle(this.props.theme,Ct.card,this.props.onPaste&&Ct.cardPaste),style:{background:(r=this.props.snapshot)!=null&&r.isDragging?this.props.theme.palette.secondary.light:void 0},children:[w.jsxs(YW,{sx:Ct.cardContent,children:[this.props.opened&&!this.props.onPaste?this.renderOpenedLine():this.renderClosedLine(),w.jsx(eZt,{open:this.state.dialogOpen,onClose:()=>this.setState({dialogOpen:!1}),line:this.props.line,index:this.props.index,updateLine:(n,o)=>this.props.updateLine(n,o)})]}),this.renderConvertHelp()]})}}const Ft={lineId:100,upperValueOrId:150,lowerValueOrId:100,color:100,fill:100,text:150,buttons:70},Kr={card:t=>({borderStyle:"dashed",borderWidth:1,mb:"8px",p:"8px",borderColor:t.palette.grey[600],overflow:"initial"}),cardPaste:t=>({borderColor:t.palette.mode==="dark"?t.palette.grey[400]:t.palette.grey[800],backgroundColor:"rgba(0,0,0,0)",opacity:.8}),cardContent:{p:0,m:0,"&:last-child":{p:0}},shortFields:t=>({display:"block","& > div":{display:"inline-flex",pr:"20px",width:200},pb:"16px",borderBottom:`1px dotted ${t.palette.grey[400]}`}),shortFieldsLast:{borderBottom:0,paddingBottom:0,position:"relative"},shortLineIdField:{display:"inline-flex",minWidth:Ft.lineId,paddingTop:0,verticalAlign:"top",marginTop:2},shortUpperValueOrIdField:{display:"inline-flex",minWidth:Ft.upperValueOrId,paddingTop:0,verticalAlign:"top"},shortLowerValueOrIdField:{display:"inline-flex",minWidth:Ft.lowerValueOrId,paddingTop:0,verticalAlign:"top"},shortColorField:{display:"inline-flex",minWidth:Ft.color,paddingTop:0,verticalAlign:"top"},shortFillField:{display:"inline-flex",width:Ft.fill,paddingTop:0,verticalAlign:"top"},sliderRoot:{marginTop:10},shortTextField:{display:"inline-flex",minWidth:Ft.text,paddingTop:0,verticalAlign:"top"},shortButtonsField:{display:"inline-flex",minWidth:Ft.buttons,paddingTop:0,verticalAlign:"top"},lineClosed:{display:"inline-flex",flexFlow:"column wrap",overflow:"hidden",flexDirection:"row",flex:1},lineClosedContainer:{display:"flex",alignItems:"center",gap:4},deleteButton:{},deleteButtonFull:{},copyButtonFull:{},title:{width:"inherit",position:"absolute",whiteSpace:"nowrap",right:0,fontSize:48,opacity:.1,lineHeight:"48px",padding:0,marginTop:20,marginLeft:0,marginRight:0,marginBottom:0,paddingRight:40}};class MB extends m.Component{constructor(e){super(e),this.state={color:e.mark.color,textColor:e.mark.textColor}}renderColorField(e,r){let n=ue.isUseBright(this.props.mark.color,null);n===null&&(n=void 0);const o=a=>{const i=JSON.parse(JSON.stringify(this.props.mark));i.color=a,this.props.updateMark(this.props.index,i)};return w.jsx("div",{style:r,children:w.jsx(Ht,{variant:"standard",disabled:!!this.props.onPaste,style:{minWidth:e,width:"calc(100% - 8px)"},label:P.t("Color"),value:this.props.mark.color,onClick:()=>!this.props.onPaste&&this.setState({color:this.props.mark.color},()=>this.props.onSelectColor(this.state.color,a=>this.setState({color:a},()=>o(Ai.getColor(a,!0))))),onChange:a=>{const i=a.target.value;this.setState({color:i},()=>o(i))},slotProps:{htmlInput:{style:{paddingLeft:8,backgroundColor:this.props.mark.color,color:n?"#FFF":"#000"}},input:{endAdornment:!this.props.onPaste&&this.props.mark.color?w.jsx(Ie,{size:"small",onClick:a=>{a.stopPropagation(),this.setState({color:""},()=>o(""))},children:w.jsx(Ar,{})}):void 0},inputLabel:{shrink:!0}}})})}renderTextColorField(e,r){let n=ue.isUseBright(this.props.mark.textColor,null);n===null&&(n=void 0);const o=a=>{const i=JSON.parse(JSON.stringify(this.props.mark));i.textColor=a,this.props.updateMark(this.props.index,i)};return w.jsx("div",{style:r,children:w.jsx(Ht,{variant:"standard",disabled:!!this.props.onPaste,style:{minWidth:e,width:"calc(100% - 8px)"},label:P.t("Text color"),value:this.props.mark.textColor,onClick:()=>!this.props.onPaste&&this.setState({textColor:this.props.mark.textColor},()=>this.props.onSelectColor(this.state.textColor,a=>this.setState({textColor:a},()=>o(Ai.getColor(a,!0))))),onChange:a=>{const i=a.target.value;this.setState({textColor:i},()=>o(i))},slotProps:{htmlInput:{style:{paddingLeft:8,backgroundColor:this.props.mark.textColor,color:n?"#FFF":"#000"}},input:{endAdornment:!this.props.onPaste&&this.props.mark.textColor?w.jsx(Ie,{size:"small",onClick:a=>{a.stopPropagation(),this.setState({textColor:""},()=>o(""))},children:w.jsx(Ar,{})}):void 0},inputLabel:{shrink:!0}}})})}renderClosedLine(e,r){const n={},o=this.props.mark.lineId!==null&&this.props.mark.lineId!==void 0?1:0,a=o&&this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""?1:0,i=a&&this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?1:0,s=(this.props.width||1024)-32-40,l=4;return s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.color*a+Ft.fill*i+Ft.text*a+Ft.buttons+l*6?(n.upper=!!o,n.lower=!!a,n.color=!!a,n.fill=!!i,n.text=!!a):s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.color*a+Ft.fill*i+Ft.buttons+l*5?(n.upper=!!o,n.lower=!!a,n.color=!!a,n.fill=!!i):s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.color*a+Ft.buttons+l*4?(n.upper=!!o,n.lower=!!a,n.color=!!a):s>=Ft.lineId+Ft.upperValueOrId*o+Ft.lowerValueOrId*a+Ft.buttons+l*3?(n.upper=!!o,n.lower=!!a):n.upper=!!o,w.jsxs("div",{style:Kr.lineClosedContainer,children:[this.props.onPaste?w.jsx(Ie,{title:P.t("Paste"),onClick:()=>this.props.onPaste(),children:w.jsx(uH,{})}):w.jsx(Ie,{title:P.t("Edit"),onClick:()=>this.props.markOpenToggle(this.props.index),children:w.jsx(yf,{})}),w.jsx(Dt,{disabled:!!this.props.onPaste,noTranslate:!0,value:this.props.mark.lineId===void 0?"":this.props.mark.lineId.toString(),updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.lineId=d?parseInt(d,10):void 0,this.props.updateMark(this.props.index,h)},label:"Line ID",options:e,colors:r,styles:{fieldContainer:Kr.shortLineIdField},minWidth:Ft.lineId}),n.upper?w.jsx(Jd,{theme:this.props.theme,disabled:!!this.props.onPaste,value:this.props.mark.upperValueOrId===void 0?"":this.props.mark.upperValueOrId.toString(),updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.upperValueOrId=d,this.props.updateMark(this.props.index,h)},name:"upperValueOrId",label:"Upper value or ID",socket:this.props.socket,styles:{fieldContainer:Kr.shortUpperValueOrIdField},minWidth:Ft.upperValueOrId}):null,n.lower?w.jsx(Jd,{theme:this.props.theme,disabled:!!this.props.onPaste,value:this.props.mark.lowerValueOrId===void 0?"":this.props.mark.lowerValueOrId.toString(),updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.lowerValueOrId=d,this.props.updateMark(this.props.index,h)},name:"lowerValueOrId",label:"Lower value or ID",socket:this.props.socket,styles:{fieldContainer:Kr.shortLowerValueOrIdField},minWidth:Ft.lowerValueOrId}):null,n.color?this.renderColorField(Ft.color,Kr.shortColorField):null,n.fill?w.jsx($u,{disabled:!!this.props.onPaste,value:this.props.mark.fill,updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.fill=d,this.props.updateMark(this.props.index,h)},styles:{fieldContainer:Kr.shortFillField,sliderRoot:Kr.sliderRoot},label:"Fill (from 0 to 1)",min:0,max:1,step:.1}):null,n.text?w.jsx(Ln,{disabled:!!this.props.onPaste,value:this.props.mark.text,updateValue:d=>{const h=JSON.parse(JSON.stringify(this.props.mark));h.text=d,this.props.updateMark(this.props.index,h)},label:"Text",styles:{fieldContainer:Kr.shortTextField},minWidth:Ft.fill}):null,w.jsx("div",{style:{flexGrow:1}}),w.jsx(Ie,{"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteMark(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]})}renderOpenedCard(e,r){return w.jsxs(w.Fragment,{children:[w.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[w.jsx(Ie,{title:P.t("Close"),onClick:()=>this.props.markOpenToggle(this.props.index),children:w.jsx(vf,{})}),P.t("Mark")," ",this.props.index+1,this.props.mark.text?` - ${this.props.mark.text}`:"",w.jsx("div",{style:{flexGrow:1}}),w.jsx(Ie,{style:Kr.copyButtonFull,"aria-label":"Copy",title:P.t("Copy"),onClick:()=>this.props.onCopy(this.props.mark),children:w.jsx(dH,{})}),w.jsx(Ie,{style:Kr.deleteButtonFull,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.props.deleteMark(this.props.index),children:w.jsx(yu,{})}),w.jsx("div",{style:{width:30}})]}),w.jsxs(Re,{component:"div",sx:Kr.shortFields,children:[w.jsx("p",{style:Kr.title,children:P.t("Limits")}),w.jsx(Dt,{value:this.props.mark.lineId===void 0||this.props.mark.lineId===null?"":this.props.mark.lineId.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.lineId=n?parseInt(n,10):void 0,this.props.updateMark(this.props.index,o)},noTranslate:!0,label:"Line ID",options:e,colors:r}),this.props.mark.lineId!==null&&this.props.mark.lineId!==void 0?w.jsx(Jd,{theme:this.props.theme,value:this.props.mark.upperValueOrId===void 0?"":this.props.mark.upperValueOrId.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.upperValueOrId=n,this.props.updateMark(this.props.index,o)},name:"upperValueOrId",label:"Upper value or ID",socket:this.props.socket}):null,this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""?w.jsx(Jd,{theme:this.props.theme,value:this.props.mark.lowerValueOrId===void 0?"":this.props.mark.lowerValueOrId.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.lowerValueOrId=n,this.props.updateMark(this.props.index,o)},name:"lowerValueOrId",label:"Lower value or ID",socket:this.props.socket}):null]}),this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""||this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?w.jsxs(Re,{component:"div",sx:Kr.shortFields,children:[w.jsx("p",{style:Kr.title,children:P.t("Style")}),this.renderColorField(),w.jsx(Er,{value:this.props.mark.ol,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.ol=n,this.props.updateMark(this.props.index,o)},label:"ØL Line thickness"}),w.jsx(Er,{value:this.props.mark.os,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.os=n,this.props.updateMark(this.props.index,o)},label:"ØS Shadow size"}),w.jsx(Dt,{value:this.props.mark.lineStyle,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.lineStyle=n,this.props.updateMark(this.props.index,o)},label:"Line style",options:{solid:"solid",dashed:"dashed",dotted:"dotted"}}),this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""&&this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?w.jsx($u,{value:this.props.mark.fill,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.fill=n,this.props.updateMark(this.props.index,o)},label:"Fill (from 0 to 1)",min:0,max:1,step:.1}):null]}):null,this.props.mark.upperValueOrId!==null&&this.props.mark.upperValueOrId!==void 0&&this.props.mark.upperValueOrId!==""||this.props.mark.lowerValueOrId!==null&&this.props.mark.lowerValueOrId!==void 0&&this.props.mark.lowerValueOrId!==""?w.jsxs(Re,{component:"div",sx:ue.getStyle(this.props.theme,Kr.shortFields,Kr.shortFieldsLast),children:[w.jsx("p",{style:Kr.title,children:P.t("Label")}),w.jsx(Ln,{value:this.props.mark.text,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.text=n,this.props.updateMark(this.props.index,o)},label:"Text"}),this.props.mark.text?w.jsx(Dt,{value:this.props.mark.textPosition,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.textPosition=n,this.props.updateMark(this.props.index,o)},label:"Text position",options:{l:"Left",r:"Right",insideStart:"Inside start",insideStartTop:"Inside start top",insideStartBottom:"Inside start bottom",insideMiddle:"Inside middle",insideMiddleTop:"Inside middle top",insideMiddleBottom:"Inside middle bottom",insideEnd:"Inside end",insideEndTop:"Inside end top",insideEndBottom:"Inside end bottom"}}):null,this.props.mark.text?w.jsx(Er,{value:this.props.mark.textOffset,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.textOffset=n,this.props.updateMark(this.props.index,o)},label:"Text X offset"}):null,this.props.mark.text?w.jsx(Er,{value:this.props.mark.textSize,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.mark));o.textSize=n,this.props.updateMark(this.props.index,o)},label:"Text size"}):null,this.props.mark.text?this.renderTextColorField():null]}):null]})}render(){var n;const e={},r={};return(n=this.props.presetData)==null||n.l.forEach((o,a)=>{e[a]=`${a} - ${o.id||P.t("No ID yet")}`,r[a]=o.color}),w.jsx(JW,{sx:ue.getStyle(this.props.theme,Kr.card,this.props.onPaste&&Kr.cardPaste),children:w.jsx(YW,{sx:Kr.cardContent,children:this.props.opened&&!this.props.onPaste?this.renderOpenedCard(e,r):this.renderClosedLine(e,r)})})}}const rZt={l:[],marks:[],timeType:"relative",relativeEnd:"30minutes",range:120,aggregateType:"count",aggregateSpan:300,legend:"ne",hoverDetail:!0,zoom:!0,animation:0,live:15,ticks:"",width:"100%",height:"100%",noBorder:"noborder",window_bg:"",bg_custom:"",x_labels_color:"",y_labels_color:"",border_color:"",grid_color:"",grid_hideX:!1,grid_hideY:!1,border_width:0,barLabels:"topover",barFontColor:"",title:"",titlePos:"",titleColor:"",legBg:"",timeFormat:"",export:!0};function Lh(t,e,r,n){var i,s,l;const o=((i=r==null?void 0:r.common)==null?void 0:i.type)==="boolean",a={name:(((s=r==null?void 0:r.common)==null?void 0:s.name)&&ue.getObjectNameFromObj(r,null,{language:n||P.getLanguage()})||"").trim(),id:(r==null?void 0:r._id)||"",instance:e===t.common.defaultHistory?"":e||"",thickness:2,chartType:o?"steps":"line",aggregate:o?"onchange":"minmax",isBoolean:o,symbolSize:3,validTime:35};return(l=r==null?void 0:r.common)!=null&&l.color&&(a.color=r.common.color),r&&r.common&&r.common.unit&&(a.unit=r.common.unit),o&&(a.yaxe="off",a.min=0,a.yticks=1,a.fill=.3,a.symbolSize=1),a}function G2(t,e,r,n){const o=JSON.parse(JSON.stringify(rZt));return o.useComma=t.common.isFloatComma||!1,t.common.dateFormat,o.l.push(Lh(t,e,r,n)),o}const Ue={tabsBody:{overflowY:"auto",flex:1,height:"calc(100% - 48px)"},tabsContainer:{flexDirection:"row"},tabContent:{padding:8,position:"relative",minHeight:"calc(100% - 32px)"},buttonAdd:{position:"absolute",top:8,right:8,zIndex:3},buttonExpandAll:{position:"absolute",top:50,right:8,opacity:.5,zIndex:3},buttonCollapseAll:{position:"absolute",top:8+42*2,right:8,opacity:.5,zIndex:3},button:{height:40,width:40,marginTop:5,marginLeft:5},buttonSave:{color:"#CC0000"},noContent:{padding:8,height:64,verticalAlign:"middle",lineHeight:"64px",width:"100%"},dragHint:{paddingLeft:8,fontSize:10,fontStyle:"italic",opacity:.8},marginTop:{marginTop:16},noPaddingOnSide:{},group:t=>({display:"block","& > div":{display:"inline-flex",pr:"20px",width:200},position:"relative",pb:"16px",borderBottom:`1px dotted ${t.palette.grey[400]}`}),title:{width:"inherit",position:"absolute",whiteSpace:"nowrap",right:0,fontSize:48,opacity:.1,lineHeight:"48px",padding:0,marginTop:20,marginLeft:0,marginRight:0,marginBottom:0,paddingRight:10},buttonCopyLink:{minHeight:30,marginTop:20,marginBottom:10,marginLeft:16},selected:t=>({color:t.palette.mode==="dark"?void 0:"#FFF !important"}),indicator:t=>({backgroundColor:(t.palette.mode==="dark",t.palette.secondary.main)})},PB=["#144578","#1868A8","#665191","#a05195","#d45087","#f95d6a","#ff7c43","#ffa600"],nZt=(t,e)=>({userSelect:"none",width:"100%",background:t?"lightgreen":"grey",...e});class oZt extends m.Component{constructor(r){super(r);X(this,"colorPickerCb");X(this,"paperLineRef");X(this,"paperMarkRef");X(this,"windowWidth");X(this,"handleResize",()=>{(!this.state.selectedTab||this.state.selectedTab==="data")&&this.paperLineRef.current&&this.paperLineRef.current.clientWidth!==this.state.clientWidth?this.setState({clientWidth:this.paperLineRef.current.clientWidth}):this.state.selectedTab==="markings"&&this.paperMarkRef.current&&this.paperMarkRef.current.clientWidth!==this.state.clientWidth&&this.setState({clientWidth:this.paperMarkRef.current.clientWidth})});X(this,"lineOpenToggle",r=>{const n=[...this.state.linesOpened];n[r]=!this.state.linesOpened[r],this.setState({linesOpened:n}),window.localStorage.setItem("App.echarts.Lines.opened",JSON.stringify(n))});X(this,"markOpenToggle",r=>{const n=[...this.state.marksOpened];n[r]=!this.state.marksOpened[r],this.setState({marksOpened:n}),window.localStorage.setItem("App.echarts.Marks.opened",JSON.stringify(n))});X(this,"updateMark",(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.marks[r]=n,this.props.onChange(o)});X(this,"updateLine",(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.l[r]=n,o.l[r].chartType==="bar"?o.l.forEach(a=>{a.chartType="bar",a.aggregate==="minmax"&&(a.aggregate="max")}):o.l[r].chartType==="polar"?o.l.forEach(a=>{a.chartType="polar",a.aggregate==="minmax"&&(a.aggregate="current")}):o.l.find(a=>a.chartType==="bar")?o.l.forEach(a=>{a.chartType=o.l[r].chartType,a.aggregate==="current"&&(a.aggregate="minmax")}):o.l.find(a=>a.chartType==="polar")&&o.l.forEach(a=>{a.chartType=o.l[r].chartType,a.aggregate==="current"&&(a.aggregate="minmax")}),this.props.onChange(o)});X(this,"expandAllLines",()=>{const r=this.props.presetData.l.map(()=>!0);window.localStorage.setItem("App.echarts.Lines.opened",JSON.stringify(r)),this.setState({linesOpened:r})});X(this,"collapseAllLines",()=>{window.localStorage.setItem("App.echarts.Lines.opened",JSON.stringify([])),this.setState({linesOpened:[]})});X(this,"expandAllMarks",()=>{const r=this.props.presetData.marks.map(()=>!0);window.localStorage.setItem("App.echarts.Marks.opened",JSON.stringify([])),this.setState({marksOpened:r})});X(this,"collapseAllMarks",()=>{window.localStorage.setItem("App.echarts.Marks.opened",JSON.stringify([])),this.setState({marksOpened:[]})});X(this,"deleteMark",r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.marks.splice(r,1);const o=[...this.state.marksOpened];o.splice(r,1),this.setState({marksOpened:o},()=>this.props.onChange(n))});X(this,"deleteLine",r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));for(let a=0;ar?n.l[a].commonYAxis=n.l[a].commonYAxis-1:n.l[a].commonYAxis===r&&delete n.l[a].commonYAxis);n.l.splice(r,1);const o=[...this.state.linesOpened];o.splice(r,1),this.setState({linesOpened:o},()=>this.props.onChange(n))});this.windowWidth=this.props.windowWidth;const n=window.sessionStorage.getItem("echarts.copiedObject");let o=null;if(n)try{o=JSON.parse(n),o.data&&(o.type==="line"?o.line=o.data:o.mark=o.data,delete o.data)}catch{o=null}this.state={presetData:G2(this.props.systemConfig),selectedTab:window.localStorage.getItem("App.echarts.presetTabs.selectedTab")!==null?window.localStorage.getItem("App.echarts.presetTabs.selectedTab"):"data",linesOpened:window.localStorage.getItem("App.echarts.Lines.opened")!==null?JSON.parse(window.localStorage.getItem("App.echarts.Lines.opened")):[],marksOpened:window.localStorage.getItem("App.echarts.Marks.opened")!==null?JSON.parse(window.localStorage.getItem("App.echarts.Marks.opened")):[],deleteLineDialog:null,deleteMarkDialog:null,showColorDialog:!1,colorDialogValue:"",webInstances:[],toast:"",copiedObject:o,clientWidth:0,legColor:"",legBg:"",exportColor:"",exportDataColor:"",titleColor:"",window_bg:"",bg_custom:"",x_labels_color:"",y_labels_color:"",y_ticks_color:"",border_color:"",barFontColor:"",x_ticks_color:"",grid_color:""},this.props.socket.getAdapterInstances("web").then(a=>{const i=a.map(s=>({index:s._id.split(".").pop(),link:`http${s.native.secure?"s":""}://${s.native.bind==="0.0.0.0"?window.location.hostname:s.native.bind}:${s.native.port}`}));this.setState({webInstances:i})}),this.paperLineRef=m.createRef(),this.paperMarkRef=m.createRef(),this.colorPickerCb=null}componentDidMount(){window.addEventListener("resize",this.handleResize)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}addMark(r){const n=JSON.parse(JSON.stringify(this.props.presetData));if(r)n.marks.push(JSON.parse(JSON.stringify(r)));else{const o=this.props.presetData.marks.length,a=PB[o%PB.length];n.marks.push({color:a})}this.props.onChange(n)}addLine(r){const n=JSON.parse(JSON.stringify(this.props.presetData));if(r)n.l.push(JSON.parse(JSON.stringify(r)));else{const o=this.props.presetData.l.length,a=Lh(this.props.systemConfig);a.xaxe=o?"off":void 0,n.l.push(a)}if(n.l.find(o=>o.chartType==="bar")){const o=n.l[n.l.length-1];o.chartType="bar",o.aggregate==="minmax"&&(o.aggregate="max")}else if(n.l.find(o=>o.chartType==="polar")){const o=n.l[n.l.length-1];o.chartType="polar",o.aggregate==="minmax"&&(o.aggregate="current")}this.props.onChange(n)}renderDeleteLineDialog(){return this.state.deleteLineDialog!==null?w.jsxs(or,{open:!0,onClose:()=>this.setState({deleteLineDialog:null}),children:[w.jsx(_r,{children:P.t("Are you sure for delete this line?")}),w.jsxs(pr,{style:{...Ue.alignRight,...Ue.buttonsContainer},children:[w.jsx(tt,{variant:"contained",color:"secondary",autoFocus:!0,onClick:()=>{this.deleteLine(this.state.deleteLineDialog),this.setState({deleteLineDialog:null})},startIcon:w.jsx(Ta,{}),children:P.t("Delete")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({deleteLineDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"deleteLineDialog"):null}renderDeleteMarkDialog(){return this.state.deleteMarkDialog!==null?w.jsxs(or,{open:!0,onClose:()=>this.setState({deleteMarkDialog:null}),children:[w.jsx(_r,{children:P.t("Are you sure for delete this mark?")}),w.jsxs(pr,{style:{...Ue.alignRight,...Ue.buttonsContainer},children:[w.jsx(tt,{variant:"contained",color:"secondary",onClick:()=>{this.deleteMark(this.state.deleteMarkDialog),this.setState({deleteMarkDialog:null})},startIcon:w.jsx(Ta,{}),children:P.t("Delete")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({deleteMarkDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"deleteMarkDialog"):null}showColorPicker(r,n){this.colorPickerCb=n,this.setState({colorDialogValue:r,showColorDialog:!0})}renderColorDialog(){return w.jsx(or,{onClose:()=>{this.colorPickerCb=null,this.setState({showColorDialog:!1})},open:this.state.showColorDialog,children:w.jsx(xKt,{color:this.state.colorDialogValue,onChange:r=>{this.setState({colorDialogValue:r.hex},()=>this.colorPickerCb&&this.colorPickerCb(r.hex))}})})}componentDidUpdate(){(!this.state.selectedTab||this.state.selectedTab==="data")&&this.paperLineRef.current&&this.paperLineRef.current.clientWidth!==this.state.clientWidth?(this.windowWidth=this.props.windowWidth,this.setState({clientWidth:this.paperLineRef.current.clientWidth})):this.state.selectedTab==="markings"&&this.paperMarkRef.current&&this.paperMarkRef.current.clientWidth!==this.state.clientWidth&&(this.windowWidth=this.props.windowWidth,this.setState({clientWidth:this.paperMarkRef.current.clientWidth}))}renderTabLines(){const r=this.props.presetData.l.length>1&&this.props.presetData.l.find((o,a)=>!this.state.linesOpened[a]),n=this.props.presetData.l.length>1&&this.props.presetData.l.find((o,a)=>this.state.linesOpened[a]);return w.jsx(QT,{droppableId:"tabs",children:(o,a)=>{var i;return w.jsx("div",{...o.droppableProps,ref:o.innerRef,style:{background:a.isDraggingOver?this.props.theme.palette.secondary.dark:void 0,width:"100%",minHeight:"calc(100% - 32px)"},children:w.jsxs(zn,{style:Ue.tabContent,ref:this.paperLineRef,children:[w.jsx(ro,{onClick:()=>this.addLine(),size:"small",color:"secondary",style:Ue.buttonAdd,title:P.t("Add line to chart"),children:w.jsx(Il,{})}),r?w.jsx(ro,{onClick:this.expandAllLines,size:"small",color:"default",style:Ue.buttonExpandAll,title:P.t("Expand all lines"),children:w.jsx(sf,{})}):null,n?w.jsx(ro,{onClick:this.collapseAllLines,size:"small",color:"default",style:Ue.buttonCollapseAll,title:P.t("Collapse all lines"),children:w.jsx(YR,{})}):null,this.props.presetData.l.length?this.props.presetData.l.map((s,l)=>w.jsx(EE,{draggableId:`${s.id}_${l}`,index:l,children:(d,h)=>w.jsx("div",{ref:d.innerRef,...d.draggableProps,style:nZt(h.isDragging,d.draggableProps.style),children:w.jsx(IB,{provided:d,snapshot:h,theme:this.props.theme,instances:this.props.instances,systemConfig:this.props.systemConfig,line:s,presetData:this.props.presetData,width:this.state.clientWidth,updateLine:this.updateLine,deleteLine:u=>this.setState({deleteLineDialog:u}),index:l,socket:this.props.socket,opened:typeof this.state.linesOpened[l]<"u"&&this.state.linesOpened[l]===!0,lineOpenToggle:this.lineOpenToggle,maxLines:this.props.presetData.l.length,onSelectColor:(u,f)=>this.showColorPicker(u,f),onCopy:u=>{this.setState({copiedObject:{type:"line",line:JSON.parse(JSON.stringify(u))}}),window.sessionStorage.setItem("echarts.copiedObject",JSON.stringify({type:"line",line:u}))}},l)})},`${s.id}_${l}`)):w.jsx("div",{style:Ue.noContent,children:P.t('Create a new line with a "+" on the right.')}),((i=this.state.copiedObject)==null?void 0:i.type)==="line"?w.jsx(IB,{presetData:this.props.presetData,line:this.state.copiedObject.line,theme:this.props.theme,instances:this.props.instances,systemConfig:this.props.systemConfig,width:this.state.clientWidth,deleteLine:()=>{window.sessionStorage.removeItem("echarts.copiedObject"),this.setState({copiedObject:null})},socket:this.props.socket,opened:!1,onPaste:()=>{var s;return((s=this.state.copiedObject)==null?void 0:s.type)==="line"&&this.addLine(this.state.copiedObject.line)}},"copiedLine"):null,o.placeholder,w.jsx("div",{style:Ue.dragHint,children:P.t("You can drag and drop simple lines from the left list.")})]})})}})}renderTabMarkings(){var o;const r=this.props.presetData.marks.length>1&&this.props.presetData.marks.find((a,i)=>!this.state.marksOpened[i]),n=this.props.presetData.marks.length>1&&this.props.presetData.marks.find((a,i)=>this.state.marksOpened[i]);return w.jsxs(zn,{style:Ue.tabContent,ref:this.paperMarkRef,children:[w.jsx(ro,{onClick:()=>this.addMark(),size:"small",color:"secondary",style:Ue.buttonAdd,title:P.t("Add marking line to chart"),children:w.jsx(Il,{})}),r?w.jsx(ro,{onClick:this.expandAllMarks,size:"small",color:"default",style:Ue.buttonExpandAll,title:P.t("Expand all markings"),children:w.jsx(sf,{})}):null,n?w.jsx(ro,{onClick:this.collapseAllMarks,size:"small",color:"default",style:Ue.buttonCollapseAll,title:P.t("Collapse all markings"),children:w.jsx(YR,{})}):null,this.props.presetData.marks.length?this.props.presetData.marks.map((a,i)=>w.jsx(MB,{mark:a,presetData:this.props.presetData,updateMark:this.updateMark,theme:this.props.theme,deleteMark:s=>{this.setState({deleteMarkDialog:s})},index:i,socket:this.props.socket,width:this.state.clientWidth,opened:typeof this.state.marksOpened[i]<"u"&&this.state.marksOpened[i]===!0,markOpenToggle:this.markOpenToggle,onSelectColor:(s,l)=>this.showColorPicker(s,l),onCopy:s=>{this.setState({copiedObject:{type:"marking",mark:JSON.parse(JSON.stringify(s))}}),window.sessionStorage.setItem("echarts.copiedObject",JSON.stringify({type:"marking",mark:s}))}},i)):w.jsx("div",{style:Ue.noContent,children:P.t('You can create a new markings with a "+" on the right.')}),((o=this.state.copiedObject)==null?void 0:o.type)==="marking"?w.jsx(MB,{presetData:this.props.presetData,mark:this.state.copiedObject.mark,theme:this.props.theme,width:this.state.clientWidth,deleteMark:()=>{window.sessionStorage.removeItem("echarts.copiedObject"),this.setState({copiedObject:null})},opened:!1,onPaste:()=>{var a;return((a=this.state.copiedObject)==null?void 0:a.type)==="marking"&&this.addMark(this.state.copiedObject.mark)}},"copiedMark"):null]})}renderTabTime(){const r=this.props.presetData.l.find(s=>s.chartType!=="bar"&&s.chartType!=="polar"),n=this.props.presetData.l.find(s=>s.chartType==="bar"||s.chartType==="polar"),o=this.props.presetData.l.find(s=>s.aggregate!=="onchange"),a=this.props.presetData.l.find(s=>s.instance!=="json"),i={0:"auto",15:"i15min",60:"i1hour",1440:"i1day",43200:"i30days"};return this.props.presetData.timeType!=="static"&&(this.props.presetData.range===10||this.props.presetData.range===30||this.props.presetData.range===60?(delete i[60],delete i[1440],delete i[43200]):this.props.presetData.range===120||this.props.presetData.range===180||this.props.presetData.range===360||this.props.presetData.range===720||this.props.presetData.range===1440?(delete i[1440],delete i[43200]):(this.props.presetData.range===2880||this.props.presetData.range===4320||this.props.presetData.range===10080||this.props.presetData.range===20160||this.props.presetData.range==="1m")&&delete i[43200]),w.jsxs(zn,{style:Ue.tabContent,children:[a?w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Type")}),w.jsx(Dt,{value:this.props.presetData.timeType||"relative",updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeType=s,this.props.onChange(l)},label:"Type",options:{relative:"relative",static:"static"}})]}):null,a?w.jsx(Re,{component:"div",sx:Ue.group,children:this.props.presetData.timeType==="static"?w.jsxs(w.Fragment,{children:[w.jsx("p",{style:Ue.title,children:P.t("Start and end")}),w.jsx(ty,{date:this.props.presetData.start===void 0?"":this.props.presetData.start.toString(),time:this.props.presetData.start_time,updateValue:(s,l)=>{const d=JSON.parse(JSON.stringify(this.props.presetData));d.start=s,d.start_time=l,this.props.onChange(d)},label:"Start"}),w.jsx(ty,{date:this.props.presetData.end===void 0?"":this.props.presetData.end.toString(),time:this.props.presetData.end_time,updateValue:(s,l)=>{const d=JSON.parse(JSON.stringify(this.props.presetData));d.end=s,d.end_time=l,this.props.onChange(d)},label:"End"})]}):w.jsxs(w.Fragment,{children:[w.jsx("p",{style:Ue.title,children:P.t("Relative")}),w.jsx(Dt,{value:this.props.presetData.relativeEnd,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.relativeEnd=s,this.props.onChange(l)},label:"End",options:{now:"now","1minute":"end of minute","5minutes":"end of 5 minutes","10minutes":"end of 10 minutes","30minutes":"end of 30 minutes","1hour":"end of hour","2hours":"end of 2 hours","3hours":"end of 3 hours","4hours":"end of 4 hours","6hours":"end of 6 hours","8hours":"end of 8 hours","12hours":"end of 12 hours",today:"end of day",weekEurope:"end of sunday",weekUsa:"end of saturday",month:"this month",year:"this year"}}),w.jsx(Dt,{value:this.props.presetData.range===void 0?"":this.props.presetData.range.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));!s.includes("m")&&!s.includes("y")?l.range=parseInt(s,10):l.range=s,this.props.onChange(l)},label:"Range",options:{10:"10 minutes",30:"30 minutes",60:"1 hour",120:"2 hours",180:"3 hours",360:"6 hours",720:"12 hours",1440:"1 day",2880:"2 days",4320:"3 days",10080:"7 days",20160:"14 days","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years"}}),w.jsx(Dt,{value:this.props.presetData.live===void 0?"":this.props.presetData.live.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));s?l.live=parseInt(s,10):delete l.live,this.props.onChange(l)},label:"Live update every",options:{"":"none",5:"5 seconds",10:"10 seconds",15:"15 seconds",20:"20 seconds",30:"30 seconds",60:"1 minute",120:"2 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1200:"20 minutes",1800:"30 minutes",3600:"1 hour",7200:"2 hours",10800:"3 hours",21600:"6 hours",43200:"12 hours",86400:"1 day"}})]})}):null,a&&o&&r?w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Aggregate for lines")}),w.jsx(Dt,{value:this.props.presetData.aggregateType,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.aggregateType=s,this.props.onChange(l)},label:"Step type",options:{count:"counts",step:"seconds"}}),w.jsx(Ln,{value:this.props.presetData.aggregateSpan===void 0?"":this.props.presetData.aggregateSpan.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));s?l.aggregateSpan=parseInt(s,10):delete l.aggregateSpan,this.props.onChange(l)},label:this.props.presetData.aggregateType==="step"?"Seconds":"Counts"})]}):null,n?w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Aggregate for bars")}),w.jsx(Dt,{value:this.props.presetData.aggregateBar===void 0?"":this.props.presetData.aggregateBar.toString(),updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));s?l.aggregateBar=parseInt(s,10):delete l.aggregateBar,this.props.onChange(l)},label:P.t("Intervals"),options:i})]}):null,w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Time format")}),w.jsx(kn,{value:this.props.presetData.timeFormatCustom,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeFormatCustom=s,this.props.onChange(l)},label:"Custom time format"}),this.props.presetData.timeFormatCustom?w.jsx(Ln,{value:this.props.presetData.timeFormat,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeFormat=s,this.props.onChange(l)},label:"Time format",helperLink:"https://momentjs.com/docs/#/displaying/format/"}):w.jsx(Dt,{value:this.props.presetData.timeFormat,updateValue:s=>{const l=JSON.parse(JSON.stringify(this.props.presetData));l.timeFormat=s,this.props.onChange(l)},label:"Time format",options:{"":"Default","HH:mm DD.MM":"HH:MM dd.mm","HH:mm DD.MM.":"HH:MM dd.mm.","HH:mm
DD.MM":"HH:MM / dd.mm","HH:mm
DD.MM.":"HH:MM / dd.mm.","HH:mm
DD.MM.YY":"HH:MM / dd.mm.yy","HH:mm:ss DD.MM.YY":"HH:MM:SS dd.mm.yy","HH:mm DD.MM.YY":"HH:MM dd.mm.yy","hh:mm:ss MM/DD/YY a":"HH:MM:SS mm/dd/yy am (US)","HH:mm:ss DD/MM/YY":"HH:MM:SS dd/mm/yy (UK)","HH:mm:ss MM.DD.YY":"HH:MM:SS mm.dd.yy","HH:mm ddd":"HH:MM dow","HH:mm:ss ddd":"HH:MM:SS dow","HH:mm MM.DD":"HH:MM mm.dd","HH:mm:ss":"HH:MM:SS","HH:mm":"HH:MM","DD.MM":"dd.mm","DD.MM.":"dd.mm.","MM/DD":"mm/dd",DD:"dd",MM:"mm",YY:"y",HH:"HH",mm:"MM",ddd:"dow","DD.MM.YY":"dd.mm.yy"}})]})]})}renderToast(){return this.state.toast?w.jsx(Ov,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:2e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:w.jsx("span",{id:"message-id",children:this.state.toast}),action:[w.jsx(Ie,{"aria-label":"Close",color:"inherit",style:Ue.close,onClick:()=>this.setState({toast:""}),children:w.jsx(Ar,{})},"close")]}):null}renderTabOptions(){const r=this.props.presetData.l.find(n=>n.chartType==="polar");return w.jsxs(zn,{style:Ue.tabContent,children:[w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Legend")}),w.jsx(Dt,{value:this.props.presetData.legend,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legend=n,this.props.onChange(o)},label:"Show legend",options:{"":"none",nw:"Top, left",ne:"Top, right",sw:"Bottom, left",se:"Bottom, right",dialog:"Dialog"}}),this.props.presetData.legend?w.jsxs(w.Fragment,{children:[this.renderColorField(this.props.presetData.legColor,"Legend text color","legColor"),this.renderColorField(this.props.presetData.legBg,"Legend background","legBg"),w.jsx(kn,{value:this.props.presetData.legActual,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legActual=n,this.props.onChange(o)},label:"Show values"}),w.jsx(Dt,{value:this.props.presetData.legendDirection==="vertical"?"vertical":"",updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legendDirection=n,this.props.onChange(o)},label:"Orientation",options:{"":"horizontal",vertical:"vertical"}}),w.jsx(Er,{value:this.props.presetData.legFontSize,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legFontSize=n,this.props.onChange(o)},label:"Font size",min:6}),w.jsx(Er,{value:this.props.presetData.legendHeight,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.legendHeight=n,this.props.onChange(o)},label:"Height",min:6})]}):null]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Options")}),w.jsx(kn,{value:this.props.presetData.hoverDetail,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.hoverDetail=n,this.props.onChange(o)},label:"Hover details"}),w.jsx(kn,{value:this.props.presetData.hoverNoInterpolate,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.hoverNoInterpolate=n,this.props.onChange(o)},label:"No interpolate in hover"}),this.props.presetData.hoverDetail?w.jsx(kn,{value:this.props.presetData.hoverNoNulls,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.hoverNoNulls=n,this.props.onChange(o)},label:"Hide nulls in tooltip"}):null,w.jsx(kn,{value:this.props.presetData.useComma,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.useComma=n,this.props.onChange(o)},label:"Use comma"}),w.jsx(kn,{value:this.props.presetData.zoom,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.zoom=n,this.props.onChange(o)},label:"Enable zoom and pan"}),w.jsx(kn,{value:this.props.presetData.export,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.export=n,this.props.onChange(o)},label:"Show save image button"}),this.props.presetData.export?this.renderColorField(this.props.presetData.exportColor,"Save image button color","exportColor"):null,w.jsx(kn,{value:this.props.presetData.exportData,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.exportData=n,this.props.onChange(o)},label:"Show export data button"}),this.props.presetData.export?this.renderColorField(this.props.presetData.exportDataColor,"Export data color","exportDataColor"):null,w.jsx(kn,{value:this.props.presetData.autoGridPadding,updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.autoGridPadding=n,this.props.onChange(o)},label:"Auto padding"}),this.props.presetData.zoom?w.jsx(Dt,{value:this.props.presetData.resetZoom===void 0?"":this.props.presetData.resetZoom.toString(),updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));n?o.resetZoom=parseInt(n,10):delete o.resetZoom,this.props.onChange(o)},label:"Reset zoom after idle",options:{"":"none",10:"10 seconds",15:"15 seconds",30:"30 seconds",60:"1 minute",90:"90 seconds",120:"2 minutes",180:"3 minutes",300:"5 minutes",600:"10 minutes",1200:"20 minutes",1800:"30 minutes"}}):null,r?w.jsx(Dt,{value:this.props.presetData.radarCircle||"",updateValue:n=>{const o=JSON.parse(JSON.stringify(this.props.presetData));n?o.radarCircle="circle":delete o.radarCircle,this.props.onChange(o)},label:"Background of radar chart",options:{"":"Polygonal",circle:"Circle"}}):null]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Copy link to clipboard")}),w.jsxs(tt,{color:"grey",variant:"contained",style:Ue.buttonCopyLink,onClick:()=>{const n=`${window.location.protocol}//${window.location.host}/adapter/echarts/chart/index.html?preset=${this.props.selectedId}`;this.setState({toast:`${P.t("copied")}: ${n}`},()=>ue.copyToClipboard(n))},children:[w.jsx(Di,{}),"admin"]}),this.state.webInstances.map((n,o)=>w.jsxs(tt,{color:"grey",variant:"contained",style:Ue.buttonCopyLink,onClick:()=>{const a=`${n.link}/echarts/index.html?preset=${this.props.selectedId}`;this.setState({toast:`${P.t("copied")}: ${a}`},()=>ue.copyToClipboard(a))},children:[w.jsx(Di,{}),`web.${n.index}`]},o))]})]})}renderTabTitle(){return w.jsx(zn,{style:Ue.tabContent,children:w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Title")}),w.jsx(Ln,{value:this.props.presetData.title,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.title=r,this.props.onChange(n)},label:"Title"}),this.props.presetData.title?w.jsxs(w.Fragment,{children:[w.jsx(Dt,{value:this.props.presetData.titlePos,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.titlePos=r,this.props.onChange(n)},label:"Title position",options:{"":"default","top:35;left:65":"Top, left, inside","top:35;right:5":"Top, right, inside","top:35;left:50":"Top, center, inside","top:50;left:65":"Middle, left, inside","top:50;right:5":"Middle, right, inside","bottom:5;left:65":"Bottom, left, inside","bottom:5;right:5":"Bottom, right, inside","bottom:5;left:50":"Bottom, center, inside"}}),this.renderColorField(this.props.presetData.titleColor,"Title color","titleColor"),w.jsx(Er,{value:this.props.presetData.titleSize,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.titleSize=r,this.props.onChange(n)},label:"Title size",min:0})]}):null]})})}renderTabAppearance(){return w.jsxs(zn,{style:Ue.tabContent,children:[w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Theme")}),w.jsx(Dt,{value:this.props.presetData.theme,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.theme=r,this.props.onChange(n)},label:"Theme",noTranslate:!0,options:{"":"auto",default:"default",dark:"dark","dark-bold":"dark-bold","dark-blue":"dark-blue",gray:"gray",vintage:"vintage",macarons:"macarons",infographic:"infographic",shine:"shine",roma:"roma",azul:"azul","bee-inspired":"",blue:"blue",royal:"royal","tech-blue":"tech-blue",red:"red","red-velvet":"red-velvet",green:"green"}})]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Chart size")}),w.jsx(Ln,{value:this.props.presetData.width===void 0?"":this.props.presetData.width.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r?n.width=r:delete n.width,this.props.onChange(n)},label:"Width",styles:{fieldContainer:Ue.marginTop}}),w.jsx(Ln,{value:this.props.presetData.height===void 0?"":this.props.presetData.height.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r?n.height=r:delete n.height,this.props.onChange(n)},label:"Height",styles:{fieldContainer:Ue.marginTop}})]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Backgrounds")}),w.jsx(kn,{value:this.props.presetData.noBackground,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.noBackground=r,this.props.onChange(n)},label:"No background"}),this.props.presetData.noBackground?null:this.renderColorField(this.props.presetData.window_bg,"Window background","window_bg",void 0,Ue.marginTop),this.renderColorField(this.props.presetData.bg_custom,"Chart background","bg_custom",void 0,Ue.marginTop)]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Labels")}),this.renderColorField(this.props.presetData.x_labels_color,"X labels color","x_labels_color",void 0,Ue.marginTop),w.jsx(Er,{value:this.props.presetData.x_labels_size,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.x_labels_size=r,this.props.onChange(n)},label:"X labels size",min:6}),this.renderColorField(this.props.presetData.x_ticks_color,"X ticks color","x_ticks_color",void 0,Ue.marginTop),this.renderColorField(this.props.presetData.y_labels_color,"Y labels color","y_labels_color",void 0,Ue.marginTop),w.jsx(Er,{value:this.props.presetData.y_labels_size,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.y_labels_size=r,this.props.onChange(n)},label:"Y labels size",min:6}),this.renderColorField(this.props.presetData.y_ticks_color,"Y ticks color","y_ticks_color",void 0,Ue.marginTop),w.jsx(Dt,{value:this.props.presetData.xLabelShift===void 0?"":this.props.presetData.xLabelShift.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r.includes("m")||r.includes("y")?n.xLabelShift=r:n.xLabelShift=parseInt(r,10),this.props.onChange(n)},tooltip:"This time offset will be added to the X label by displaying data on the chart",label:"X-Label-Offset",options:{0:"0 seconds",10:"10 seconds",30:"30 seconds",60:"60 seconds",120:"2 minutes",180:"3 minutes",240:"4 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1800:"30 minutes",2700:"45 minutes",3600:"1 hour",7200:"2 hours",21600:"6 hours",43200:"12 hours",86400:"1 day",172800:"2 days",259200:"3 days",345600:"4 days",604800:"1 week",1209600:"2 weeks","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years","-10":"-10 seconds","-30":"-30 seconds","-60":"-60 seconds","-120":"-2 minutes","-180":"-3 minutes","-240":"-4 minutes","-300":"-5 minutes","-600":"-10 minutes","-900":"-15 minutes","-1800":"-30 minutes","-2700":"-45 minutes","-3600":"-1 hour","-7200":"-2 hours","-21600":"-6 hours","-43200":"-12 hours","-86400":"-1 day","-172800":"-2 days","-259200":"-3 days","-345600":"-4 days","-604800":"-1 week","-1209600":"-2 weeks","-1m":"-1 month","-2m":"-2 months","-3m":"-3 months","-6m":"-6 months","-1y":"-1 year","-2y":"-2 years"}})]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Grid")}),w.jsx(kn,{value:this.props.presetData.grid_hideX,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.grid_hideX=r,this.props.onChange(n)},label:"Hide X grid"}),w.jsx(kn,{value:this.props.presetData.grid_hideY,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.grid_hideY=r,this.props.onChange(n)},label:"Hide Y grid"}),!this.props.presetData.grid_hideX||!this.props.presetData.grid_hideY?this.renderColorField(this.props.presetData.grid_color,"Grid color","grid_color"):null]}),w.jsxs(Re,{component:"div",sx:Ue.group,children:[w.jsx("p",{style:Ue.title,children:P.t("Border")}),w.jsx(Dt,{value:this.props.presetData.noBorder||"",updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));r?n.noBorder="noborder":delete n.noBorder,this.props.onChange(n)},label:"Border",options:{"":"With border",noborder:"Without border"}}),this.props.presetData.noBorder!=="noborder"?w.jsxs(w.Fragment,{children:[w.jsx(Er,{value:this.props.presetData.border_width,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.border_width=r,this.props.onChange(n)},label:"Border width",min:0}),this.props.presetData.border_width?this.renderColorField(this.props.presetData.border_color,"Border color","border_color"):null,this.props.presetData.border_width?w.jsx(Dt,{value:this.props.presetData.border_style,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.border_style=r,this.props.onChange(n)},label:"Border style",options:{solid:"solid",dotted:"dotted",dashed:"dashed",double:"double",groove:"groove",ridge:"ridge",inset:"inset",outset:"outset"}}):null,w.jsx(Er,{value:this.props.presetData.border_padding,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.border_padding=r,this.props.onChange(n)},label:"Border padding",min:0})]}):null]}),this.props.presetData.l.find(r=>r.chartType==="bar")?w.jsxs(Pce,{item:!0,sm:6,xs:12,children:[w.jsx("p",{style:Ue.title,children:P.t("Bar settings")}),w.jsx(Dt,{value:this.props.presetData.barLabels,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.barLabels=r,this.props.onChange(n)},label:"Show labels",options:{"":"none",topover:"top over",topunder:"top under",bottom:"bottom",middle:"middle"}}),w.jsx(Er,{value:this.props.presetData.barWidth,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.barWidth=r,this.props.onChange(n)},label:"Bars width",min:0}),w.jsx(Er,{value:this.props.presetData.barFontSize,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.barFontSize=r,this.props.onChange(n)},label:"Label font size",min:0}),this.renderColorField(this.props.presetData.barFontColor,"Label color","barFontColor")]}):null]})}renderColorField(r,n,o,a,i){let s=ue.isUseBright(r,null);s===null&&(s=void 0);const l=d=>{const h=JSON.parse(JSON.stringify(this.props.presetData));h[o]=d,this.props.onChange(h)};return w.jsx("div",{style:i,children:w.jsx(Ht,{variant:"standard",style:{minWidth:a,width:"calc(100% - 8px)"},label:P.t(n),value:r||"",onClick:()=>{this.setState({[o]:r},()=>this.showColorPicker(this.state[o],d=>this.setState({[o]:d},()=>l(Ai.getColor(d,!0)))))},onChange:d=>{const h=d.target.value;this.setState({[o]:h},()=>l(h))},slotProps:{inputLabel:{shrink:!0},htmlInput:{style:{backgroundColor:r,color:s?"#FFF":"#000"}},input:{endAdornment:r?w.jsx(Ie,{size:"small",onClick:d=>{d.stopPropagation(),this.setState({[o]:""},()=>l(""))},children:w.jsx(Ar,{})}):void 0}}})})}render(){const r=this.props.presetData.l.find(o=>o.chartType==="polar"),n=this.props.presetData.l.find(o=>o.aggregate!=="current");return w.jsxs("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[w.jsxs(PW,{position:"static",style:Ue.tabsContainer,children:[this.props.selectedPresetChanged||this.props.autoSave?w.jsx(yr,{style:{...Ue.button,color:this.props.theme.palette.text.primary},checked:!!this.props.autoSave,title:P.t("Auto save"),onChange:o=>this.props.onAutoSave(o.target.checked)}):null,this.props.selectedPresetChanged?null:w.jsx(Ie,{style:{...Ue.button,...Ue.noPaddingOnSide},onClick:()=>window.open(`chart/index.html?preset=${this.props.selectedId}`,"own-preset-echarts"),title:P.t("Open chart in own window"),children:w.jsx(hH,{})}),!this.props.autoSave&&this.props.selectedPresetChanged?w.jsx(Ie,{style:{...Ue.noPaddingOnSide,...Ue.buttonSave,...Ue.button},onClick:()=>this.props.savePreset(),children:w.jsx(pH,{})}):null,w.jsxs(sH,{onChange:(o,a)=>{window.localStorage.setItem("App.echarts.presetTabs.selectedTab",a),this.setState({selectedTab:a})},value:this.state.selectedTab||"data",variant:"scrollable",scrollButtons:!0,sx:{"& .MuiTabs-indicator":Ue.indicator},children:[w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Data"),value:"data"}),r?null:w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Markings"),value:"markings"}),n?w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Time"),value:"time"}):null,w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Options"),value:"options"}),w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Title"),value:"title"}),w.jsx(Uo,{sx:{"&.Mui-selected":Ue.selected},label:P.t("Appearance"),value:"appearance"})]})]}),w.jsxs("div",{style:Ue.tabsBody,children:[this.state.selectedTab==="data"||!this.state.selectedTab?this.renderTabLines():null,this.state.selectedTab==="markings"&&!r?this.renderTabMarkings():null,this.state.selectedTab==="time"&&n?this.renderTabTime():null,this.state.selectedTab==="options"?this.renderTabOptions():null,this.state.selectedTab==="title"?this.renderTabTitle():null,this.state.selectedTab==="appearance"?this.renderTabAppearance():null]}),this.renderDeleteLineDialog(),this.renderDeleteMarkDialog(),this.renderColorDialog(),this.renderToast()]})}}const NB=0,RB={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:t=>({color:t.palette.mode==="dark"?"white":"black",width:`calc(100% - ${NB}px)`,height:"100%",marginLeft:NB,overflow:"none",position:"relative",display:"flex",flexDirection:"column"})};class aZt extends m.Component{render(){return w.jsx("div",{style:RB.logBox,children:w.jsx(Re,{component:"div",sx:RB.logBoxInner,children:w.jsx(oZt,{width:this.props.width,socket:this.props.socket,presetData:this.props.presetData,selectedId:this.props.selectedId,onChange:this.props.onChange,instances:this.props.instances,systemConfig:this.props.systemConfig,selectedPresetChanged:this.props.selectedPresetChanged,savePreset:this.props.savePreset,theme:this.props.theme,onAutoSave:e=>this.props.onAutoSave(e),autoSave:this.props.autoSave,windowWidth:this.props.windowWidth})})})}}class iZt extends m.Component{render(){return w.jsx("svg",{onClick:e=>this.props.onClick&&this.props.onClick(e),viewBox:"0 0 32 32",width:this.props.width||20,height:this.props.width||20,xmlns:"http://www.w3.org/2000/svg",className:this.props.className,style:this.props.style,children:w.jsx("path",{fill:"none",stroke:"currentColor",strokeWidth:"2",d:"M16,9 L9,9 L9,16 L9,16 C9,19.8659932 12.1340068,23 16,23 L16,23 C19.8659932,23 23,19.8659932 23,16 C23,12.1340068 19.8659932,9 16,9 L16,9 Z M8,15 L15,15 L15,8 L15,8 C15,4.13400675 11.8659932,1 8,1 L8,1 C4.13400675,1 1,4.13400675 1,8 C1,11.8659932 4.13400675,15 8,15 L8,15 Z",transform:"rotate(180 12 12)"})})}}var ry={black:"#000",white:"#fff"},Dk={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Ak={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162"},Ik={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe"},Mk={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Pk={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Nk={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},bA={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#d5d5d5",A200:"#aaaaaa",A400:"#303030",A700:"#616161"};function Rk(t){return t&&su(t)==="object"&&t.constructor===Object}function ku(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{clone:!0},n=r.clone?De({},t):t;return Rk(t)&&Rk(e)&&Object.keys(e).forEach(function(o){o!=="__proto__"&&(Rk(e[o])&&o in t?n[o]=ku(t[o],e[o],r):n[o]=e[o])}),n}function X2(t){for(var e="https://mui.com/production-error/?code="+t,r=1;r1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.min(Math.max(e,t),r)}function sZt(t){t=t.substr(1);var e=new RegExp(".{1,".concat(t.length>=6?2:1,"}"),"g"),r=t.match(e);return r&&r[0].length===1&&(r=r.map(function(n){return n+n})),r?"rgb".concat(r.length===4?"a":"","(").concat(r.map(function(n,o){return o<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3}).join(", "),")"):""}function lZt(t){t=Eu(t);var e=t,r=e.values,n=r[0],o=r[1]/100,a=r[2]/100,i=o*Math.min(a,1-a),s=function(u){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(u+n/30)%12;return a-i*Math.max(Math.min(f-3,9-f,1),-1)},l="rgb",d=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return t.type==="hsla"&&(l+="a",d.push(r[3])),wA({type:l,values:d})}function Eu(t){if(t.type)return t;if(t.charAt(0)==="#")return Eu(sZt(t));var e=t.indexOf("("),r=t.substring(0,e);if(["rgb","rgba","hsl","hsla"].indexOf(r)===-1)throw new Error(X2(3,t));var n=t.substring(e+1,t.length-1).split(",");return n=n.map(function(o){return parseFloat(o)}),{type:r,values:n}}function wA(t){var e=t.type,r=t.values;return e.indexOf("rgb")!==-1?r=r.map(function(n,o){return o<3?parseInt(n,10):n}):e.indexOf("hsl")!==-1&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),"".concat(e,"(").concat(r.join(", "),")")}function cZt(t,e){var r=jB(t),n=jB(e);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}function jB(t){t=Eu(t);var e=t.type==="hsl"?Eu(lZt(t)).values:t.values;return e=e.map(function(r){return r/=255,r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)}),Number((.2126*e[0]+.7152*e[1]+.0722*e[2]).toFixed(3))}function dZt(t,e){if(t=Eu(t),e=Gq(e),t.type.indexOf("hsl")!==-1)t.values[2]*=1-e;else if(t.type.indexOf("rgb")!==-1)for(var r=0;r<3;r+=1)t.values[r]*=1-e;return wA(t)}function uZt(t,e){if(t=Eu(t),e=Gq(e),t.type.indexOf("hsl")!==-1)t.values[2]+=(100-t.values[2])*e;else if(t.type.indexOf("rgb")!==-1)for(var r=0;r<3;r+=1)t.values[r]+=(255-t.values[r])*e;return wA(t)}function ji(t,e){if(t==null)return{};var r,n,o=lu(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n0?b:g;return"@media (max-width:".concat(x-i/100).concat(o,")")}function h(g,y){var b=ms.indexOf(y);return b===ms.length-1?l(g):"@media (min-width:".concat(typeof r[g]=="number"?r[g]:g).concat(o,") and ")+"(max-width:".concat((b!==-1&&typeof r[ms[b+1]]=="number"?r[ms[b+1]]:y)-i/100).concat(o,")")}function u(g){return h(g,g)}function f(g){return r[g]}return De({keys:ms,values:r,up:l,down:d,between:h,only:u,width:f},s)}function hZt(t,e,r){var n;return De({gutters:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return console.warn(["Material-UI: theme.mixins.gutters() is deprecated.","You can use the source of the mixin directly:",` paddingLeft: theme.spacing(2), paddingRight: theme.spacing(2), [theme.breakpoints.up('sm')]: { @@ -806,18 +806,18 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho paddingRight: theme.spacing(3), }, `].join(` -`)),De({paddingLeft:e(2),paddingRight:e(2)},a,Kg({},t.up("sm"),De({paddingLeft:e(3),paddingRight:e(3)},a[t.up("sm")])))},toolbar:(n={minHeight:56},Kg(n,"".concat(t.up("xs")," and (orientation: landscape)"),{minHeight:48}),Kg(n,t.up("sm"),{minHeight:64}),n)},r)}var LB={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",hint:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:ry.white,default:bA[50]},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},jk={text:{primary:ry.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",hint:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:bA[800],default:"#303030"},action:{active:ry.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function zB(t,e,r,n){var o=n.light||n,a=n.dark||n*1.5;t[e]||(t.hasOwnProperty(r)?t[e]=t[r]:e==="light"?t.light=dZt(t.main,o):e==="dark"&&(t.dark=cZt(t.main,a)))}function hZt(t){var e=t.primary,r=e===void 0?{light:Ik[300],main:Ik[500],dark:Ik[700]}:e,n=t.secondary,o=n===void 0?{light:Ak.A200,main:Ak.A400,dark:Ak.A700}:n,a=t.error,i=a===void 0?{light:Dk[300],main:Dk[500],dark:Dk[700]}:a,s=t.warning,l=s===void 0?{light:Nk[300],main:Nk[500],dark:Nk[700]}:s,d=t.info,h=d===void 0?{light:Mk[300],main:Mk[500],dark:Mk[700]}:d,u=t.success,f=u===void 0?{light:Pk[300],main:Pk[500],dark:Pk[700]}:u,g=t.type,y=g===void 0?"light":g,b=t.contrastThreshold,x=b===void 0?3:b,S=t.tonalOffset,T=S===void 0?.2:S,E=ji(t,["primary","secondary","error","warning","info","success","type","contrastThreshold","tonalOffset"]);function $(R){var j=lZt(R,jk.text.primary)>=x?jk.text.primary:LB.text.primary;return j}var k=function(j){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:300,W=arguments.length>3&&arguments[3]!==void 0?arguments[3]:700;if(j=De({},j),!j.main&&j[I]&&(j.main=j[I]),!j.main)throw new Error(X2(4,I));if(typeof j.main!="string")throw new Error(X2(5,JSON.stringify(j.main)));return zB(j,"light",z,T),zB(j,"dark",W,T),j.contrastText||(j.contrastText=$(j.main)),j},O={dark:jk,light:LB},M=ku(De({common:ry,type:y,primary:k(r),secondary:k(o,"A400","A200","A700"),error:k(i),warning:k(l),info:k(h),success:k(f),grey:bA,contrastThreshold:x,getContrastText:$,augmentColor:k,tonalOffset:T},O[y]),E);return M}function Xq(t){return Math.round(t*1e5)/1e5}function fZt(t){return Xq(t)}var FB={textTransform:"uppercase"},BB='"Roboto", "Helvetica", "Arial", sans-serif';function mZt(t,e){var r=typeof e=="function"?e(t):e,n=r.fontFamily,o=n===void 0?BB:n,a=r.fontSize,i=a===void 0?14:a,s=r.fontWeightLight,l=s===void 0?300:s,d=r.fontWeightRegular,h=d===void 0?400:d,u=r.fontWeightMedium,f=u===void 0?500:u,g=r.fontWeightBold,y=g===void 0?700:g,b=r.htmlFontSize,x=b===void 0?16:b,S=r.allVariants,T=r.pxToRem,E=ji(r,["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"]),$=i/14,k=T||function(R){return"".concat(R/x*$,"rem")},O=function(j,I,z,W,L){return De({fontFamily:o,fontWeight:j,fontSize:k(I),lineHeight:z},o===BB?{letterSpacing:"".concat(Xq(W/I),"em")}:{},L,S)},M={h1:O(l,96,1.167,-1.5),h2:O(l,60,1.2,-.5),h3:O(h,48,1.167,0),h4:O(h,34,1.235,.25),h5:O(h,24,1.334,0),h6:O(f,20,1.6,.15),subtitle1:O(h,16,1.75,.15),subtitle2:O(f,14,1.57,.1),body1:O(h,16,1.5,.15),body2:O(h,14,1.43,.15),button:O(f,14,1.75,.4,FB),caption:O(h,12,1.66,.4),overline:O(h,12,2.66,1,FB)};return ku(De({htmlFontSize:x,pxToRem:k,round:fZt,fontFamily:o,fontSize:i,fontWeightLight:l,fontWeightRegular:h,fontWeightMedium:f,fontWeightBold:y},M),E,{clone:!1})}var gZt=.2,vZt=.14,yZt=.12;function $r(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(gZt,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(vZt,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(yZt,")")].join(",")}var _Zt=["none",$r(0,2,1,-1,0,1,1,0,0,1,3,0),$r(0,3,1,-2,0,2,2,0,0,1,5,0),$r(0,3,3,-2,0,3,4,0,0,1,8,0),$r(0,2,4,-1,0,4,5,0,0,1,10,0),$r(0,3,5,-1,0,5,8,0,0,1,14,0),$r(0,3,5,-1,0,6,10,0,0,1,18,0),$r(0,4,5,-2,0,7,10,1,0,2,16,1),$r(0,5,5,-3,0,8,10,1,0,3,14,2),$r(0,5,6,-3,0,9,12,1,0,3,16,2),$r(0,6,6,-3,0,10,14,1,0,4,18,3),$r(0,6,7,-4,0,11,15,1,0,4,20,3),$r(0,7,8,-4,0,12,17,2,0,5,22,4),$r(0,7,8,-4,0,13,19,2,0,5,24,4),$r(0,7,9,-4,0,14,21,2,0,5,26,4),$r(0,8,9,-5,0,15,22,2,0,6,28,5),$r(0,8,10,-5,0,16,24,2,0,6,30,5),$r(0,8,11,-5,0,17,26,2,0,6,32,5),$r(0,9,11,-5,0,18,28,2,0,7,34,6),$r(0,9,12,-6,0,19,29,2,0,7,36,6),$r(0,10,13,-6,0,20,31,3,0,8,38,7),$r(0,10,13,-6,0,21,33,3,0,8,40,7),$r(0,10,14,-6,0,22,35,3,0,8,42,7),$r(0,11,14,-7,0,23,36,3,0,9,44,8),$r(0,11,15,-7,0,24,38,3,0,9,46,8)],bZt={borderRadius:4};function J2(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&arguments[0]!==void 0?arguments[0]:8;if(t.mui)return t;var e=kZt({spacing:t}),r=function(){for(var o=arguments.length,a=new Array(o),i=0;i0&&arguments[0]!==void 0?arguments[0]:["all"],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.duration,o=n===void 0?HB.standard:n,a=r.easing,i=a===void 0?WB.easeInOut:a,s=r.delay,l=s===void 0?0:s;return ji(r,["duration","easing","delay"]),(Array.isArray(e)?e:[e]).map(function(d){return"".concat(d," ").concat(typeof o=="string"?o:UB(o)," ").concat(i," ").concat(typeof l=="string"?l:UB(l))}).join(",")},getAutoHeightDuration:function(e){if(!e)return 0;var r=e/36;return Math.round((4+15*Math.pow(r,.25)+r/5)*10)}};var OZt={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function DZt(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.breakpoints,r=e===void 0?{}:e,n=t.mixins,o=n===void 0?{}:n,a=t.palette,i=a===void 0?{}:a,s=t.spacing,l=t.typography,d=l===void 0?{}:l,h=ji(t,["breakpoints","mixins","palette","spacing","typography"]),u=hZt(i),f=uZt(r),g=EZt(s),y=ku({breakpoints:f,direction:"ltr",mixins:pZt(f,g,o),overrides:{},palette:u,props:{},shadows:_Zt,typography:mZt(u,d),spacing:g,shape:bZt,transitions:TZt,zIndex:OZt},h),b=arguments.length,x=new Array(b>1?b-1:0),S=1;S0&&arguments[0]!==void 0?arguments[0]:{},e=t.disableGlobal,r=e===void 0?!1:e,n=t.productionPrefix,o=n===void 0?"jss":n,a=t.seed,i=a===void 0?"":a,s=i===""?"":"".concat(i,"-"),l=0,d=function(){return l+=1,l};return function(h,u){var f=u.options.name;if(f&&f.indexOf("Mui")===0&&!u.options.link&&!r){if(MZt.indexOf(h.key)!==-1)return"Mui-".concat(h.key);var g="".concat(s).concat(f,"-").concat(h.key);return!u.options.theme[IZt]||i!==""?g:"".concat(g,"-").concat(d())}return"".concat(s).concat(o).concat(d())}}function NZt(t){var e=t.theme,r=t.name,n=t.props;if(!e||!e.props||!e.props[r])return n;var o=e.props[r],a;for(a in o)n[a]===void 0&&(n[a]=o[a]);return n}var VB=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uf=(typeof window>"u"?"undefined":VB(window))==="object"&&(typeof document>"u"?"undefined":VB(document))==="object"&&document.nodeType===9;function RZt(t,e){for(var r=0;r<+~=|^:(),"'`\s])/g,XB=typeof CSS<"u"&&CSS.escape,SA=function(t){return XB?XB(t):t.replace(LZt,"\\$1")},Yq=function(){function t(r,n,o){this.type="style",this.isProcessed=!1;var a=o.sheet,i=o.Renderer;this.key=r,this.options=o,this.style=n,a?this.renderer=a.renderer:i&&(this.renderer=new i)}var e=t.prototype;return e.prop=function(n,o,a){if(o===void 0)return this.style[n];var i=a?a.force:!1;if(!i&&this.style[n]===o)return this;var s=o;(!a||a.process!==!1)&&(s=this.options.jss.plugins.onChangeValue(o,n,this));var l=s==null||s===!1,d=n in this.style;if(l&&!d&&!i)return this;var h=l&&d;if(h?delete this.style[n]:this.style[n]=s,this.renderable&&this.renderer)return h?this.renderer.removeProperty(this.renderable,n):this.renderer.setProperty(this.renderable,n,s),this;var u=this.options.sheet;return u&&u.attached,this},t}(),K2=function(t){ky(e,t);function e(n,o,a){var i;i=t.call(this,n,o,a)||this;var s=a.selector,l=a.scoped,d=a.sheet,h=a.generateId;return s?i.selectorText=s:l!==!1&&(i.id=h(qB(qB(i)),d),i.selectorText="."+SA(i.id)),i}var r=e.prototype;return r.applyTo=function(o){var a=this.renderer;if(a){var i=this.toJSON();for(var s in i)a.setProperty(o,s,i[s])}return this},r.toJSON=function(){var o={};for(var a in this.style){var i=this.style[a];typeof i!="object"?o[a]=i:Array.isArray(i)&&(o[a]=El(i))}return o},r.toString=function(o){var a=this.options.sheet,i=a?a.options.link:!1,s=i?De({},o,{allowEmpty:!0}):o;return _f(this.selectorText,this.style,s)},Jq(e,[{key:"selector",set:function(o){if(o!==this.selectorText){this.selectorText=o;var a=this.renderer,i=this.renderable;if(!(!i||!a)){var s=a.setSelector(i,o);s||a.replaceRule(i,this)}}},get:function(){return this.selectorText}}]),e}(Yq),zZt={onCreateRule:function(e,r,n){return e[0]==="@"||n.parent&&n.parent.type==="keyframes"?null:new K2(e,r,n)}},Lk={indent:1,children:!0},FZt=/@([\w-]+)/,BZt=function(){function t(r,n,o){this.type="conditional",this.isProcessed=!1,this.key=r;var a=r.match(FZt);this.at=a?a[1]:"unknown",this.query=o.name||"@"+this.at,this.options=o,this.rules=new C_(De({},o,{parent:this}));for(var i in n)this.rules.add(i,n[i]);this.rules.process()}var e=t.prototype;return e.getRule=function(n){return this.rules.get(n)},e.indexOf=function(n){return this.rules.indexOf(n)},e.addRule=function(n,o,a){var i=this.rules.add(n,o,a);return i?(this.options.jss.plugins.onProcessRule(i),i):null},e.replaceRule=function(n,o,a){var i=this.rules.replace(n,o,a);return i&&this.options.jss.plugins.onProcessRule(i),i},e.toString=function(n){n===void 0&&(n=Lk);var o=Hu(n),a=o.linebreak;if(n.indent==null&&(n.indent=Lk.indent),n.children==null&&(n.children=Lk.children),n.children===!1)return this.query+" {}";var i=this.rules.toString(n);return i?this.query+" {"+a+i+a+"}":""},t}(),WZt=/@container|@media|@supports\s+/,HZt={onCreateRule:function(e,r,n){return WZt.test(e)?new BZt(e,r,n):null}},zk={indent:1,children:!0},UZt=/@keyframes\s+([\w-]+)/,Z2=function(){function t(r,n,o){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var a=r.match(UZt);a&&a[1]?this.name=a[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=o;var i=o.scoped,s=o.sheet,l=o.generateId;this.id=i===!1?this.name:SA(l(this,s)),this.rules=new C_(De({},o,{parent:this}));for(var d in n)this.rules.add(d,n[d],De({},o,{parent:this}));this.rules.process()}var e=t.prototype;return e.toString=function(n){n===void 0&&(n=zk);var o=Hu(n),a=o.linebreak;if(n.indent==null&&(n.indent=zk.indent),n.children==null&&(n.children=zk.children),n.children===!1)return this.at+" "+this.id+" {}";var i=this.rules.toString(n);return i&&(i=""+a+i+a),this.at+" "+this.id+" {"+i+"}"},t}(),VZt=/@keyframes\s+/,qZt=/\$([\w-]+)/g,Q2=function(e,r){return typeof e=="string"?e.replace(qZt,function(n,o){return o in r?r[o]:n}):e},JB=function(e,r,n){var o=e[r],a=Q2(o,n);a!==o&&(e[r]=a)},GZt={onCreateRule:function(e,r,n){return typeof e=="string"&&VZt.test(e)?new Z2(e,r,n):null},onProcessStyle:function(e,r,n){return r.type!=="style"||!n||("animation-name"in e&&JB(e,"animation-name",n.keyframes),"animation"in e&&JB(e,"animation",n.keyframes)),e},onChangeValue:function(e,r,n){var o=n.options.sheet;if(!o)return e;switch(r){case"animation":return Q2(e,o.keyframes);case"animation-name":return Q2(e,o.keyframes);default:return e}}},XZt=function(t){ky(e,t);function e(){return t.apply(this,arguments)||this}var r=e.prototype;return r.toString=function(o){var a=this.options.sheet,i=a?a.options.link:!1,s=i?De({},o,{allowEmpty:!0}):o;return _f(this.key,this.style,s)},e}(Yq),JZt={onCreateRule:function(e,r,n){return n.parent&&n.parent.type==="keyframes"?new XZt(e,r,n):null}},YZt=function(){function t(r,n,o){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=r,this.style=n,this.options=o}var e=t.prototype;return e.toString=function(n){var o=Hu(n),a=o.linebreak;if(Array.isArray(this.style)){for(var i="",s=0;s=this.index){o.push(n);return}for(var i=0;ia){o.splice(i,0,n);return}}},e.reset=function(){this.registry=[]},e.remove=function(n){var o=this.registry.indexOf(n);this.registry.splice(o,1)},e.toString=function(n){for(var o=n===void 0?{}:n,a=o.attached,i=lu(o,["attached"]),s=Hu(i),l=s.linebreak,d="",h=0;h-1?o.substr(0,a-1):o;e.style.setProperty(r,i,a>-1?"important":"")}}catch{return!1}return!0},cQt=function(e,r){try{e.attributeStyleMap?e.attributeStyleMap.delete(r):e.style.removeProperty(r)}catch{}},dQt=function(e,r){return e.selectorText=r,e.selectorText===r},Qq=Zq(function(){return document.querySelector("head")});function uQt(t,e){for(var r=0;re.index&&n.options.insertionPoint===e.insertionPoint)return n}return null}function pQt(t,e){for(var r=t.length-1;r>=0;r--){var n=t[r];if(n.attached&&n.options.insertionPoint===e.insertionPoint)return n}return null}function hQt(t){for(var e=Qq(),r=0;r0){var r=uQt(e,t);if(r&&r.renderer)return{parent:r.renderer.element.parentNode,node:r.renderer.element};if(r=pQt(e,t),r&&r.renderer)return{parent:r.renderer.element.parentNode,node:r.renderer.element.nextSibling}}var n=t.insertionPoint;if(n&&typeof n=="string"){var o=hQt(n);if(o)return{parent:o.parentNode,node:o.nextSibling}}return!1}function mQt(t,e){var r=e.insertionPoint,n=fQt(e);if(n!==!1&&n.parent){n.parent.insertBefore(t,n.node);return}if(r&&typeof r.nodeType=="number"){var o=r,a=o.parentNode;a&&a.insertBefore(t,o.nextSibling);return}Qq().appendChild(t)}var gQt=Zq(function(){var t=document.querySelector('meta[property="csp-nonce"]');return t?t.getAttribute("content"):null}),e9=function(e,r,n){try{"insertRule"in e?e.insertRule(r,n):"appendRule"in e&&e.appendRule(r)}catch{return!1}return e.cssRules[n]},t9=function(e,r){var n=e.cssRules.length;return r===void 0||r>n?n:r},vQt=function(){var e=document.createElement("style");return e.textContent=` -`,e},yQt=function(){function t(r){this.getPropertyValue=sQt,this.setProperty=lQt,this.removeProperty=cQt,this.setSelector=dQt,this.hasInsertedRules=!1,this.cssRules=[],r&&zh.add(r),this.sheet=r;var n=this.sheet?this.sheet.options:{},o=n.media,a=n.meta,i=n.element;this.element=i||vQt(),this.element.setAttribute("data-jss",""),o&&this.element.setAttribute("media",o),a&&this.element.setAttribute("data-meta",a);var s=gQt();s&&this.element.setAttribute("nonce",s)}var e=t.prototype;return e.attach=function(){if(!(this.element.parentNode||!this.sheet)){mQt(this.element,this.sheet.options);var n=!!(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&n&&(this.hasInsertedRules=!1,this.deploy())}},e.detach=function(){if(this.sheet){var n=this.element.parentNode;n&&n.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent=` +`)),De({paddingLeft:e(2),paddingRight:e(2)},a,Kg({},t.up("sm"),De({paddingLeft:e(3),paddingRight:e(3)},a[t.up("sm")])))},toolbar:(n={minHeight:56},Kg(n,"".concat(t.up("xs")," and (orientation: landscape)"),{minHeight:48}),Kg(n,t.up("sm"),{minHeight:64}),n)},r)}var LB={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",hint:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:ry.white,default:bA[50]},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},jk={text:{primary:ry.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",hint:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:bA[800],default:"#303030"},action:{active:ry.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function zB(t,e,r,n){var o=n.light||n,a=n.dark||n*1.5;t[e]||(t.hasOwnProperty(r)?t[e]=t[r]:e==="light"?t.light=uZt(t.main,o):e==="dark"&&(t.dark=dZt(t.main,a)))}function fZt(t){var e=t.primary,r=e===void 0?{light:Ik[300],main:Ik[500],dark:Ik[700]}:e,n=t.secondary,o=n===void 0?{light:Ak.A200,main:Ak.A400,dark:Ak.A700}:n,a=t.error,i=a===void 0?{light:Dk[300],main:Dk[500],dark:Dk[700]}:a,s=t.warning,l=s===void 0?{light:Nk[300],main:Nk[500],dark:Nk[700]}:s,d=t.info,h=d===void 0?{light:Mk[300],main:Mk[500],dark:Mk[700]}:d,u=t.success,f=u===void 0?{light:Pk[300],main:Pk[500],dark:Pk[700]}:u,g=t.type,y=g===void 0?"light":g,b=t.contrastThreshold,x=b===void 0?3:b,S=t.tonalOffset,T=S===void 0?.2:S,E=ji(t,["primary","secondary","error","warning","info","success","type","contrastThreshold","tonalOffset"]);function $(R){var j=cZt(R,jk.text.primary)>=x?jk.text.primary:LB.text.primary;return j}var k=function(j){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:300,W=arguments.length>3&&arguments[3]!==void 0?arguments[3]:700;if(j=De({},j),!j.main&&j[I]&&(j.main=j[I]),!j.main)throw new Error(X2(4,I));if(typeof j.main!="string")throw new Error(X2(5,JSON.stringify(j.main)));return zB(j,"light",z,T),zB(j,"dark",W,T),j.contrastText||(j.contrastText=$(j.main)),j},O={dark:jk,light:LB},M=ku(De({common:ry,type:y,primary:k(r),secondary:k(o,"A400","A200","A700"),error:k(i),warning:k(l),info:k(h),success:k(f),grey:bA,contrastThreshold:x,getContrastText:$,augmentColor:k,tonalOffset:T},O[y]),E);return M}function Xq(t){return Math.round(t*1e5)/1e5}function mZt(t){return Xq(t)}var FB={textTransform:"uppercase"},BB='"Roboto", "Helvetica", "Arial", sans-serif';function gZt(t,e){var r=typeof e=="function"?e(t):e,n=r.fontFamily,o=n===void 0?BB:n,a=r.fontSize,i=a===void 0?14:a,s=r.fontWeightLight,l=s===void 0?300:s,d=r.fontWeightRegular,h=d===void 0?400:d,u=r.fontWeightMedium,f=u===void 0?500:u,g=r.fontWeightBold,y=g===void 0?700:g,b=r.htmlFontSize,x=b===void 0?16:b,S=r.allVariants,T=r.pxToRem,E=ji(r,["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"]),$=i/14,k=T||function(R){return"".concat(R/x*$,"rem")},O=function(j,I,z,W,L){return De({fontFamily:o,fontWeight:j,fontSize:k(I),lineHeight:z},o===BB?{letterSpacing:"".concat(Xq(W/I),"em")}:{},L,S)},M={h1:O(l,96,1.167,-1.5),h2:O(l,60,1.2,-.5),h3:O(h,48,1.167,0),h4:O(h,34,1.235,.25),h5:O(h,24,1.334,0),h6:O(f,20,1.6,.15),subtitle1:O(h,16,1.75,.15),subtitle2:O(f,14,1.57,.1),body1:O(h,16,1.5,.15),body2:O(h,14,1.43,.15),button:O(f,14,1.75,.4,FB),caption:O(h,12,1.66,.4),overline:O(h,12,2.66,1,FB)};return ku(De({htmlFontSize:x,pxToRem:k,round:mZt,fontFamily:o,fontSize:i,fontWeightLight:l,fontWeightRegular:h,fontWeightMedium:f,fontWeightBold:y},M),E,{clone:!1})}var vZt=.2,yZt=.14,_Zt=.12;function $r(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(vZt,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(yZt,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(_Zt,")")].join(",")}var bZt=["none",$r(0,2,1,-1,0,1,1,0,0,1,3,0),$r(0,3,1,-2,0,2,2,0,0,1,5,0),$r(0,3,3,-2,0,3,4,0,0,1,8,0),$r(0,2,4,-1,0,4,5,0,0,1,10,0),$r(0,3,5,-1,0,5,8,0,0,1,14,0),$r(0,3,5,-1,0,6,10,0,0,1,18,0),$r(0,4,5,-2,0,7,10,1,0,2,16,1),$r(0,5,5,-3,0,8,10,1,0,3,14,2),$r(0,5,6,-3,0,9,12,1,0,3,16,2),$r(0,6,6,-3,0,10,14,1,0,4,18,3),$r(0,6,7,-4,0,11,15,1,0,4,20,3),$r(0,7,8,-4,0,12,17,2,0,5,22,4),$r(0,7,8,-4,0,13,19,2,0,5,24,4),$r(0,7,9,-4,0,14,21,2,0,5,26,4),$r(0,8,9,-5,0,15,22,2,0,6,28,5),$r(0,8,10,-5,0,16,24,2,0,6,30,5),$r(0,8,11,-5,0,17,26,2,0,6,32,5),$r(0,9,11,-5,0,18,28,2,0,7,34,6),$r(0,9,12,-6,0,19,29,2,0,7,36,6),$r(0,10,13,-6,0,20,31,3,0,8,38,7),$r(0,10,13,-6,0,21,33,3,0,8,40,7),$r(0,10,14,-6,0,22,35,3,0,8,42,7),$r(0,11,14,-7,0,23,36,3,0,9,44,8),$r(0,11,15,-7,0,24,38,3,0,9,46,8)],wZt={borderRadius:4};function J2(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&arguments[0]!==void 0?arguments[0]:8;if(t.mui)return t;var e=EZt({spacing:t}),r=function(){for(var o=arguments.length,a=new Array(o),i=0;i0&&arguments[0]!==void 0?arguments[0]:["all"],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.duration,o=n===void 0?HB.standard:n,a=r.easing,i=a===void 0?WB.easeInOut:a,s=r.delay,l=s===void 0?0:s;return ji(r,["duration","easing","delay"]),(Array.isArray(e)?e:[e]).map(function(d){return"".concat(d," ").concat(typeof o=="string"?o:UB(o)," ").concat(i," ").concat(typeof l=="string"?l:UB(l))}).join(",")},getAutoHeightDuration:function(e){if(!e)return 0;var r=e/36;return Math.round((4+15*Math.pow(r,.25)+r/5)*10)}};var DZt={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function AZt(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.breakpoints,r=e===void 0?{}:e,n=t.mixins,o=n===void 0?{}:n,a=t.palette,i=a===void 0?{}:a,s=t.spacing,l=t.typography,d=l===void 0?{}:l,h=ji(t,["breakpoints","mixins","palette","spacing","typography"]),u=fZt(i),f=pZt(r),g=TZt(s),y=ku({breakpoints:f,direction:"ltr",mixins:hZt(f,g,o),overrides:{},palette:u,props:{},shadows:bZt,typography:gZt(u,d),spacing:g,shape:wZt,transitions:OZt,zIndex:DZt},h),b=arguments.length,x=new Array(b>1?b-1:0),S=1;S0&&arguments[0]!==void 0?arguments[0]:{},e=t.disableGlobal,r=e===void 0?!1:e,n=t.productionPrefix,o=n===void 0?"jss":n,a=t.seed,i=a===void 0?"":a,s=i===""?"":"".concat(i,"-"),l=0,d=function(){return l+=1,l};return function(h,u){var f=u.options.name;if(f&&f.indexOf("Mui")===0&&!u.options.link&&!r){if(PZt.indexOf(h.key)!==-1)return"Mui-".concat(h.key);var g="".concat(s).concat(f,"-").concat(h.key);return!u.options.theme[MZt]||i!==""?g:"".concat(g,"-").concat(d())}return"".concat(s).concat(o).concat(d())}}function RZt(t){var e=t.theme,r=t.name,n=t.props;if(!e||!e.props||!e.props[r])return n;var o=e.props[r],a;for(a in o)n[a]===void 0&&(n[a]=o[a]);return n}var VB=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uf=(typeof window>"u"?"undefined":VB(window))==="object"&&(typeof document>"u"?"undefined":VB(document))==="object"&&document.nodeType===9;function jZt(t,e){for(var r=0;r<+~=|^:(),"'`\s])/g,XB=typeof CSS<"u"&&CSS.escape,SA=function(t){return XB?XB(t):t.replace(zZt,"\\$1")},Yq=function(){function t(r,n,o){this.type="style",this.isProcessed=!1;var a=o.sheet,i=o.Renderer;this.key=r,this.options=o,this.style=n,a?this.renderer=a.renderer:i&&(this.renderer=new i)}var e=t.prototype;return e.prop=function(n,o,a){if(o===void 0)return this.style[n];var i=a?a.force:!1;if(!i&&this.style[n]===o)return this;var s=o;(!a||a.process!==!1)&&(s=this.options.jss.plugins.onChangeValue(o,n,this));var l=s==null||s===!1,d=n in this.style;if(l&&!d&&!i)return this;var h=l&&d;if(h?delete this.style[n]:this.style[n]=s,this.renderable&&this.renderer)return h?this.renderer.removeProperty(this.renderable,n):this.renderer.setProperty(this.renderable,n,s),this;var u=this.options.sheet;return u&&u.attached,this},t}(),K2=function(t){ky(e,t);function e(n,o,a){var i;i=t.call(this,n,o,a)||this;var s=a.selector,l=a.scoped,d=a.sheet,h=a.generateId;return s?i.selectorText=s:l!==!1&&(i.id=h(qB(qB(i)),d),i.selectorText="."+SA(i.id)),i}var r=e.prototype;return r.applyTo=function(o){var a=this.renderer;if(a){var i=this.toJSON();for(var s in i)a.setProperty(o,s,i[s])}return this},r.toJSON=function(){var o={};for(var a in this.style){var i=this.style[a];typeof i!="object"?o[a]=i:Array.isArray(i)&&(o[a]=El(i))}return o},r.toString=function(o){var a=this.options.sheet,i=a?a.options.link:!1,s=i?De({},o,{allowEmpty:!0}):o;return _f(this.selectorText,this.style,s)},Jq(e,[{key:"selector",set:function(o){if(o!==this.selectorText){this.selectorText=o;var a=this.renderer,i=this.renderable;if(!(!i||!a)){var s=a.setSelector(i,o);s||a.replaceRule(i,this)}}},get:function(){return this.selectorText}}]),e}(Yq),FZt={onCreateRule:function(e,r,n){return e[0]==="@"||n.parent&&n.parent.type==="keyframes"?null:new K2(e,r,n)}},Lk={indent:1,children:!0},BZt=/@([\w-]+)/,WZt=function(){function t(r,n,o){this.type="conditional",this.isProcessed=!1,this.key=r;var a=r.match(BZt);this.at=a?a[1]:"unknown",this.query=o.name||"@"+this.at,this.options=o,this.rules=new C_(De({},o,{parent:this}));for(var i in n)this.rules.add(i,n[i]);this.rules.process()}var e=t.prototype;return e.getRule=function(n){return this.rules.get(n)},e.indexOf=function(n){return this.rules.indexOf(n)},e.addRule=function(n,o,a){var i=this.rules.add(n,o,a);return i?(this.options.jss.plugins.onProcessRule(i),i):null},e.replaceRule=function(n,o,a){var i=this.rules.replace(n,o,a);return i&&this.options.jss.plugins.onProcessRule(i),i},e.toString=function(n){n===void 0&&(n=Lk);var o=Hu(n),a=o.linebreak;if(n.indent==null&&(n.indent=Lk.indent),n.children==null&&(n.children=Lk.children),n.children===!1)return this.query+" {}";var i=this.rules.toString(n);return i?this.query+" {"+a+i+a+"}":""},t}(),HZt=/@container|@media|@supports\s+/,UZt={onCreateRule:function(e,r,n){return HZt.test(e)?new WZt(e,r,n):null}},zk={indent:1,children:!0},VZt=/@keyframes\s+([\w-]+)/,Z2=function(){function t(r,n,o){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var a=r.match(VZt);a&&a[1]?this.name=a[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=o;var i=o.scoped,s=o.sheet,l=o.generateId;this.id=i===!1?this.name:SA(l(this,s)),this.rules=new C_(De({},o,{parent:this}));for(var d in n)this.rules.add(d,n[d],De({},o,{parent:this}));this.rules.process()}var e=t.prototype;return e.toString=function(n){n===void 0&&(n=zk);var o=Hu(n),a=o.linebreak;if(n.indent==null&&(n.indent=zk.indent),n.children==null&&(n.children=zk.children),n.children===!1)return this.at+" "+this.id+" {}";var i=this.rules.toString(n);return i&&(i=""+a+i+a),this.at+" "+this.id+" {"+i+"}"},t}(),qZt=/@keyframes\s+/,GZt=/\$([\w-]+)/g,Q2=function(e,r){return typeof e=="string"?e.replace(GZt,function(n,o){return o in r?r[o]:n}):e},JB=function(e,r,n){var o=e[r],a=Q2(o,n);a!==o&&(e[r]=a)},XZt={onCreateRule:function(e,r,n){return typeof e=="string"&&qZt.test(e)?new Z2(e,r,n):null},onProcessStyle:function(e,r,n){return r.type!=="style"||!n||("animation-name"in e&&JB(e,"animation-name",n.keyframes),"animation"in e&&JB(e,"animation",n.keyframes)),e},onChangeValue:function(e,r,n){var o=n.options.sheet;if(!o)return e;switch(r){case"animation":return Q2(e,o.keyframes);case"animation-name":return Q2(e,o.keyframes);default:return e}}},JZt=function(t){ky(e,t);function e(){return t.apply(this,arguments)||this}var r=e.prototype;return r.toString=function(o){var a=this.options.sheet,i=a?a.options.link:!1,s=i?De({},o,{allowEmpty:!0}):o;return _f(this.key,this.style,s)},e}(Yq),YZt={onCreateRule:function(e,r,n){return n.parent&&n.parent.type==="keyframes"?new JZt(e,r,n):null}},KZt=function(){function t(r,n,o){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=r,this.style=n,this.options=o}var e=t.prototype;return e.toString=function(n){var o=Hu(n),a=o.linebreak;if(Array.isArray(this.style)){for(var i="",s=0;s=this.index){o.push(n);return}for(var i=0;ia){o.splice(i,0,n);return}}},e.reset=function(){this.registry=[]},e.remove=function(n){var o=this.registry.indexOf(n);this.registry.splice(o,1)},e.toString=function(n){for(var o=n===void 0?{}:n,a=o.attached,i=lu(o,["attached"]),s=Hu(i),l=s.linebreak,d="",h=0;h-1?o.substr(0,a-1):o;e.style.setProperty(r,i,a>-1?"important":"")}}catch{return!1}return!0},dQt=function(e,r){try{e.attributeStyleMap?e.attributeStyleMap.delete(r):e.style.removeProperty(r)}catch{}},uQt=function(e,r){return e.selectorText=r,e.selectorText===r},Qq=Zq(function(){return document.querySelector("head")});function pQt(t,e){for(var r=0;re.index&&n.options.insertionPoint===e.insertionPoint)return n}return null}function hQt(t,e){for(var r=t.length-1;r>=0;r--){var n=t[r];if(n.attached&&n.options.insertionPoint===e.insertionPoint)return n}return null}function fQt(t){for(var e=Qq(),r=0;r0){var r=pQt(e,t);if(r&&r.renderer)return{parent:r.renderer.element.parentNode,node:r.renderer.element};if(r=hQt(e,t),r&&r.renderer)return{parent:r.renderer.element.parentNode,node:r.renderer.element.nextSibling}}var n=t.insertionPoint;if(n&&typeof n=="string"){var o=fQt(n);if(o)return{parent:o.parentNode,node:o.nextSibling}}return!1}function gQt(t,e){var r=e.insertionPoint,n=mQt(e);if(n!==!1&&n.parent){n.parent.insertBefore(t,n.node);return}if(r&&typeof r.nodeType=="number"){var o=r,a=o.parentNode;a&&a.insertBefore(t,o.nextSibling);return}Qq().appendChild(t)}var vQt=Zq(function(){var t=document.querySelector('meta[property="csp-nonce"]');return t?t.getAttribute("content"):null}),e9=function(e,r,n){try{"insertRule"in e?e.insertRule(r,n):"appendRule"in e&&e.appendRule(r)}catch{return!1}return e.cssRules[n]},t9=function(e,r){var n=e.cssRules.length;return r===void 0||r>n?n:r},yQt=function(){var e=document.createElement("style");return e.textContent=` +`,e},_Qt=function(){function t(r){this.getPropertyValue=lQt,this.setProperty=cQt,this.removeProperty=dQt,this.setSelector=uQt,this.hasInsertedRules=!1,this.cssRules=[],r&&zh.add(r),this.sheet=r;var n=this.sheet?this.sheet.options:{},o=n.media,a=n.meta,i=n.element;this.element=i||yQt(),this.element.setAttribute("data-jss",""),o&&this.element.setAttribute("media",o),a&&this.element.setAttribute("data-meta",a);var s=vQt();s&&this.element.setAttribute("nonce",s)}var e=t.prototype;return e.attach=function(){if(!(this.element.parentNode||!this.sheet)){gQt(this.element,this.sheet.options);var n=!!(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&n&&(this.hasInsertedRules=!1,this.deploy())}},e.detach=function(){if(this.sheet){var n=this.element.parentNode;n&&n.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent=` `)}},e.deploy=function(){var n=this.sheet;if(n){if(n.options.link){this.insertRules(n.rules);return}this.element.textContent=` `+n.toString()+` -`}},e.insertRules=function(n,o){for(var a=0;a-1){var a=lG[e];if(!Array.isArray(a))return It.js+Fs(a)in r?It.css+a:!1;if(!o)return!1;for(var i=0;in?1:-1:r.length-n.length};return{onProcessStyle:function(r,n){if(n.type!=="style")return r;for(var o={},a=Object.keys(r).sort(t),i=0;i"u"?null:her(),fer()]}}function dG(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.baseClasses,r=t.newClasses;if(t.Component,!r)return e;var n=De({},e);return Object.keys(r).forEach(function(o){r[o]&&(n[o]="".concat(e[o]," ").concat(r[o]))}),n}var Yd={set:function(e,r,n,o){var a=e.get(r);a||(a=new Map,e.set(r,a)),a.set(n,o)},get:function(e,r,n){var o=e.get(r);return o?o.get(n):void 0},delete:function(e,r,n){var o=e.get(r);o.delete(n)}},ger=m.createContext(null);function uG(){var t=m.useContext(ger);return t}var ver=eG(mer()),yer=PZt(),_er=new Map,ber={disableGeneration:!1,generateClassName:yer,jss:ver,sheetsCache:null,sheetsManager:_er,sheetsRegistry:null},wer=m.createContext(ber),a9=-1e9;function xer(){return a9+=1,a9}var Ser={};function Cer(t){var e=typeof t=="function";return{create:function(n,o){var a;try{a=e?t(n):t}catch(l){throw l}if(!o||!n.overrides||!n.overrides[o])return a;var i=n.overrides[o],s=De({},a);return Object.keys(i).forEach(function(l){s[l]=ku(s[l],i[l])}),s},options:{}}}function $er(t,e,r){var n=t.state,o=t.stylesOptions;if(o.disableGeneration)return e||{};n.cacheClasses||(n.cacheClasses={value:null,lastProp:null,lastJSS:{}});var a=!1;return n.classes!==n.cacheClasses.lastJSS&&(n.cacheClasses.lastJSS=n.classes,a=!0),e!==n.cacheClasses.lastProp&&(n.cacheClasses.lastProp=e,a=!0),a&&(n.cacheClasses.value=dG({baseClasses:n.cacheClasses.lastJSS,newClasses:e,Component:r})),n.cacheClasses.value}function ker(t,e){var r=t.state,n=t.theme,o=t.stylesOptions,a=t.stylesCreator,i=t.name;if(!o.disableGeneration){var s=Yd.get(o.sheetsManager,a,n);s||(s={refs:0,staticSheet:null,dynamicStyles:null},Yd.set(o.sheetsManager,a,n,s));var l=De({},a.options,o,{theme:n,flip:typeof o.flip=="boolean"?o.flip:n.direction==="rtl"});l.generateId=l.serverGenerateClassName||l.generateClassName;var d=o.sheetsRegistry;if(s.refs===0){var h;o.sheetsCache&&(h=Yd.get(o.sheetsCache,a,n));var u=a.create(n,i);h||(h=o.jss.createStyleSheet(u,De({link:!1},l)),h.attach(),o.sheetsCache&&Yd.set(o.sheetsCache,a,n,h)),d&&d.add(h),s.staticSheet=h,s.dynamicStyles=tG(u)}if(s.dynamicStyles){var f=o.jss.createStyleSheet(s.dynamicStyles,De({link:!0},l));f.update(e),f.attach(),r.dynamicSheet=f,r.classes=dG({baseClasses:s.staticSheet.classes,newClasses:f.classes}),d&&d.add(f)}else r.classes=s.staticSheet.classes;s.refs+=1}}function Eer(t,e){var r=t.state;r.dynamicSheet&&r.dynamicSheet.update(e)}function Ter(t){var e=t.state,r=t.theme,n=t.stylesOptions,o=t.stylesCreator;if(!n.disableGeneration){var a=Yd.get(n.sheetsManager,o,r);a.refs-=1;var i=n.sheetsRegistry;a.refs===0&&(Yd.delete(n.sheetsManager,o,r),n.jss.removeStyleSheet(a.staticSheet),i&&i.remove(a.staticSheet)),e.dynamicSheet&&(n.jss.removeStyleSheet(e.dynamicSheet),i&&i.remove(e.dynamicSheet))}}function Oer(t,e){var r=m.useRef([]),n,o=m.useMemo(function(){return{}},e);r.current!==o&&(r.current=o,n=t()),m.useEffect(function(){return function(){n&&n()}},[o])}function Der(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=e.name,n=e.classNamePrefix,o=e.Component,a=e.defaultTheme,i=a===void 0?Ser:a,s=ji(e,["name","classNamePrefix","Component","defaultTheme"]),l=Cer(t),d=r||n||"makeStyles";l.options={index:xer(),name:r,meta:d,classNamePrefix:d};var h=function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=uG()||i,y=De({},m.useContext(wer),s),b=m.useRef(),x=m.useRef();Oer(function(){var T={name:r,state:{},stylesCreator:l,stylesOptions:y,theme:g};return ker(T,f),x.current=!1,b.current=T,function(){Ter(T)}},[g,l]),m.useEffect(function(){x.current&&Eer(b.current,f),x.current=!0});var S=$er(b.current,f.classes,o);return S};return h}function pG(t){var e,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e1&&arguments[1]!==void 0?arguments[1]:{};return function(n){var o=r.defaultTheme,a=r.withTheme,i=a===void 0?!1:a,s=r.name,l=ji(r,["defaultTheme","withTheme","name"]),d=s,h=Der(e,De({defaultTheme:o,Component:n,name:s||n.displayName,classNamePrefix:d},l)),u=m.forwardRef(function(g,y){g.classes;var b=g.innerRef,x=ji(g,["classes","innerRef"]),S=h(De({},n.defaultProps,g)),T,E=x;return(typeof s=="string"||i)&&(T=uG()||o,s&&(E=NZt({theme:T,name:s,props:x})),i&&!E.theme&&(E.theme=T)),m.createElement(n,De({ref:b||y,classes:S},E))});return bE(u,n),u}},Mer=DZt();function Per(t,e){return Ier(t,De({defaultTheme:Mer},e))}var Ner=function(e){return{root:{flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"8px 24px","&:first-child":{paddingTop:20}},dividers:{padding:"16px 24px",borderTop:"1px solid ".concat(e.palette.divider),borderBottom:"1px solid ".concat(e.palette.divider)}}},Rer=A.forwardRef(function(e,r){var n=e.classes,o=e.className,a=e.dividers,i=a===void 0?!1:a,s=ji(e,["classes","className","dividers"]);return A.createElement("div",De({className:Aer(n.root,o,i&&n.dividers),ref:r},s))});const jer=Per(Ner,{name:"MuiDialogContent"})(Rer),Ua={timeSpan:200,aggregate:250,autoRefresh:150,bigButton:200},Nn={mainDiv:{gap:2},fieldsContainer:{"& > div":{display:"flex",pr:"20px",width:200}},popOver:{padding:16},refreshSelect:{display:"inline-block","& > div:before":{borderWidth:0},"& > div:hover:before":{borderBottom:0}},refreshSelectButtonTitle:{display:"inline-flex",paddingTop:6},settingsButton:{color:"currentColor",fontSize:16,textTransform:"inherit",flexGrow:1},grow1:{flexGrow:2},aggregateIcon:{marginTop:4},divider:t=>({borderLeftColor:t.palette.mode==="dark"?"#CCC":"#444",borderLeftStyle:"dotted",borderLeftWidth:"1px",width:"1px",height:"80%"})},Ler=t=>w.jsx(Re,{component:"div",sx:t.sx,title:t.tooltip,children:w.jsx(Bn,{variant:"standard",onChange:e=>t.updateValue(parseInt(e.target.value,10)),value:t.value.toString()||"",renderValue:t.renderValue,displayEmpty:!0,children:t.options?Object.keys(t.options).map(e=>w.jsx(Jt,{value:e,children:t.noTranslate?t.options[e]:P.t(t.options[e])},e)):null})}),i9={10:"10 minutes",30:"30 minutes",60:"1 hour",120:"2 hours",180:"3 hours",360:"6 hours",720:"12 hours",1440:"1 day",2880:"2 days",4320:"3 days",10080:"7 days",20160:"14 days","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years"},s9={now:"now","1minute":"end of minute","5minutes":"end of 5 minutes","10minutes":"end of 10 minutes","30minutes":"end of 30 minutes","1hour":"end of hour","2hours":"end of 2 hours","3hours":"end of 3 hours","4hours":"end of 4 hours","6hours":"end of 6 hours","8hours":"end of 8 hours","12hours":"end of 12 hours",today:"end of day",weekEurope:"end of sunday",weekUsa:"end of saturday",week2Europe:"end of previous sunday",week2Usa:"end of previous saturday",month:"this month",year:"this year"},l9={"":"none",5:"5 seconds",10:"10 seconds",15:"15 seconds",20:"20 seconds",30:"30 seconds",60:"1 minute",120:"2 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1200:"20 minutes",1800:"30 minutes",3600:"1 hour",7200:"2 hours",10800:"3 hours",21600:"6 hours",43200:"12 hours",86400:"1 day"},Xk={auto:"Auto (Line or Steps)",line:"Line",bar:"Bar",polar:"Polar",scatterplot:"Scatter plot",steps:"Steps",stepsStart:"Steps on start",spline:"Spline"},Jk={minmax:"minmax",average:"average",min:"min",max:"max",total:"total",onchange:"raw",percentile:"percentile",integral:"integral",count:"count",none:"none",current:"current"};class zer extends m.Component{constructor(r){super(r);X(this,"windowWidth");X(this,"toolbarRef");X(this,"handleResize",()=>{this.toolbarRef.current&&this.toolbarRef.current.clientWidth!==this.state.clientWidth&&this.setState({clientWidth:this.toolbarRef.current.clientWidth})});this.windowWidth=this.props.windowWidth,this.state={timeSpanOpened:!1,aggregateOpened:!1,clientWidth:0,showMore:!1},this.toolbarRef=m.createRef()}componentDidMount(){window.addEventListener("resize",this.handleResize)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}componentDidUpdate(){this.toolbarRef.current&&this.toolbarRef.current.clientWidth!==this.state.clientWidth&&(this.windowWidth=this.props.windowWidth,this.setState({clientWidth:this.toolbarRef.current.clientWidth}))}renderShowMore(){return this.state.showMore?w.jsxs(or,{maxWidth:"xs",fullWidth:!0,open:!0,onClose:()=>this.setState({showMore:!1}),children:[w.jsxs(jer,{children:[this.renderTimeSpanElements(),this.renderAggregateElements(),this.renderAutoRefresh()]}),w.jsx(pr,{children:w.jsx(tt,{variant:"contained",onClick:()=>this.setState({showMore:!1}),startIcon:w.jsx(Ar,{}),children:P.t("Close")})})]}):null}renderTimeSpanElements(){return[w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.timeType,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.timeType=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__timeType",r.toString())},label:"Type",options:{relative:"relative",static:"static"}},"time-type"),this.props.presetData.timeType==="static"?w.jsx(ty,{fullWidth:!0,date:this.props.presetData.start.toString(),time:this.props.presetData.start_time,updateValue:(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.start=r,o.start_time=n,this.props.onChange(o),window.localStorage.setItem("App.echarts.__start",r),window.localStorage.setItem("App.echarts.__start_time",n)},label:"Start"},"static-start"):null,this.props.presetData.timeType==="static"?w.jsx(ty,{fullWidth:!0,date:this.props.presetData.end.toString(),time:this.props.presetData.end_time,updateValue:(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.end=r,o.end_time=n,this.props.onChange(o),window.localStorage.setItem("App.echarts.__end",r),window.localStorage.setItem("App.echarts.__end_time",n)},label:"End"},"static-end"):null,this.props.presetData.timeType!=="static"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.relativeEnd,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.relativeEnd=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__relativeEnd",r)},label:"End",options:s9},"non-static-end"):null,this.props.presetData.timeType!=="static"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.range.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.range=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__range",r)},label:"Range",options:i9},"non-static-range"):null]}renderTimeSpan(){return w.jsxs(w.Fragment,{children:[w.jsxs(tt,{color:"grey",title:P.t("Time span"),size:"small",style:Nn.settingsButton,id:"timeSpanOpenButton",onClick:()=>this.setState({timeSpanOpened:!this.state.timeSpanOpened}),children:[w.jsx(ive,{}),this.props.presetData.timeType==="relative"?`${P.t(i9[this.props.presetData.range])} ${P.t("to")} ${P.t(s9[this.props.presetData.relativeEnd])}`:`${this.props.presetData.start} ${this.props.presetData.start_time} - ${this.props.presetData.end} ${this.props.presetData.end_time}`,w.jsx(z5,{})]}),w.jsx(Re,{sx:Nn.divider}),w.jsx(WE,{style:Nn.popOver,open:this.state.timeSpanOpened,onClose:()=>{this.setState({timeSpanOpened:!1})},anchorEl:()=>document.getElementById("timeSpanOpenButton"),anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:w.jsx("div",{style:Nn.popOver,children:w.jsx(Re,{component:"div",sx:Nn.fieldsContainer,children:this.renderTimeSpanElements()})})})]})}renderAggregateElements(){return[w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.chartType,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.chartType=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__chartType",r)},label:"Chart type",options:Xk},"chart-type"),this.props.presetData.chartType!=="auto"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.aggregate,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.aggregate=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__aggregate",r)},label:"Aggregate",options:Jk},"aggregate"):null,this.props.presetData.aggregate!=="onchange"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.aggregateType,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.aggregateType=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__aggregateType",r)},label:"Step type",options:{count:"counts",step:"seconds"}},"aggregateType"):null,this.props.presetData.aggregate!=="onchange"?w.jsx(Er,{fullWidth:!0,value:this.props.presetData.aggregateSpan,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.aggregateSpan=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__aggregateSpan",r.toString())},label:this.props.presetData.aggregateType==="step"?"Seconds":"Counts"},"aggregateSpan"):null]}renderAggregate(){return w.jsxs(w.Fragment,{children:[w.jsxs(tt,{color:"grey",title:P.t("Aggregate"),size:"small",style:Nn.settingsButton,id:"aggregateOpenButton",onClick:()=>this.setState({aggregateOpened:!this.state.aggregateOpened}),children:[w.jsx(aZt,{style:Nn.aggregateIcon}),Xk[this.props.presetData.chartType]?P.t(Xk[this.props.presetData.chartType]):"","/",Jk[this.props.presetData.aggregate]?P.t(Jk[this.props.presetData.aggregate]):"",w.jsx(z5,{})]}),w.jsx(Re,{sx:Nn.divider}),w.jsx(WE,{open:this.state.aggregateOpened,anchorEl:()=>document.getElementById("aggregateOpenButton"),onClose:()=>{this.setState({aggregateOpened:!1})},children:w.jsx("div",{style:Nn.popOver,children:w.jsx(Re,{component:"div",sx:Nn.fieldsContainer,children:this.renderAggregateElements()})})})]})}renderAutoRefresh(){return this.props.presetData.timeType!=="relative"?null:w.jsx(Ler,{sx:Nn.refreshSelect,value:this.props.presetData.live,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.live=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__live",r.toString())},tooltip:P.t("Auto-refresh"),options:l9,renderValue:()=>w.jsxs("div",{style:Nn.refreshSelectButtonTitle,children:[w.jsx(MO,{})," ",P.t(l9[this.props.presetData.live])]})})}render(){const r={timeSpan:!1,aggregate:!1,autoRefresh:!1,bigButton:!1};let n=!1;const o=(this.state.clientWidth||1024)-32-40-20,a=4,i=this.props.presetData.timeType==="relative"?1:0;return o>=Ua.timeSpan+Ua.aggregate+Ua.autoRefresh*i+Ua.bigButton+a*3?(r.timeSpan=!0,r.aggregate=!0,r.autoRefresh=!0,r.bigButton=!0):o>=Ua.timeSpan+Ua.aggregate+Ua.autoRefresh*i+48+a*3?(r.timeSpan=!0,r.aggregate=!0,r.autoRefresh=!!i,r.bigButton=!1):o>=Ua.timeSpan+Ua.aggregate+48+a*2?(r.timeSpan=!0,r.aggregate=!0,n=!!i):(o>=Ua.timeSpan+48+a&&(r.timeSpan=!0),n=!0),w.jsxs(af,{ref:this.toolbarRef,style:Nn.mainDiv,variant:"dense",children:[this.renderShowMore(),r.timeSpan?this.renderTimeSpan():null,r.aggregate?this.renderAggregate():null,r.autoRefresh?w.jsxs(w.Fragment,{children:[this.renderAutoRefresh(),w.jsx(Re,{sx:Nn.divider})]}):null,w.jsx("div",{style:Nn.grow1}),n?w.jsx(Ie,{size:"small",title:P.t("Show controls"),onClick:()=>this.setState({showMore:!0}),children:w.jsx(Ave,{})}):null,r.bigButton?w.jsx(tt,{variant:"contained",color:"primary",onClick:()=>this.props.onCreatePreset(!0),startIcon:w.jsx(Nv,{}),style:{whiteSpace:"nowrap"},children:P.t("Create preset")}):w.jsx(Ie,{size:"small",color:"primary",title:P.t("Create preset"),onClick:()=>this.props.onCreatePreset(!0),children:w.jsx(Nv,{})})]})}}const c9={darkBackground:{stroke:"#3a3a3a !important",fill:"#515151 !important"},iframe:t=>({width:"100%",height:"100%",overflow:"auto",border:0,color:t.palette.primary.main})};class Fer extends m.Component{constructor(){super(...arguments);X(this,"ready",!1);X(this,"refIframe",null);X(this,"lastPresetData","");X(this,"onReceiveMessage",r=>{var n;(r==null?void 0:r.data)==="chartReady"&&(this.ready=!0,this.lastPresetData=JSON.stringify(this.props.presetData),(n=this.refIframe.contentWindow)==null||n.postMessage(this.lastPresetData,"*"),console.log("Received ready from iframe"))})}componentDidMount(){window.addEventListener("message",this.onReceiveMessage,!1)}componentWillUnmount(){window.removeEventListener("message",this.onReceiveMessage,!1)}render(){var r;return window.location.port==="3000"?w.jsx(zn,{sx:c9.iframe,style:{background:"#333"},children:w.jsx("pre",{children:JSON.stringify(this.props.presetData,null,2)})}):(this.lastPresetData!==JSON.stringify(this.props.presetData)&&this.ready&&(this.lastPresetData=JSON.stringify(this.props.presetData),(r=this.refIframe.contentWindow)==null||r.postMessage(this.lastPresetData,"*")),w.jsx("iframe",{ref:n=>{this.refIframe=n},title:"iobrokerChart",style:ue.getStyle(this.props.theme,c9.iframe),src:this.props.src}))}}const Yk={container:{height:"100%",width:"100%",overflow:"hidden"},heightWithoutToolbar:{height:"calc(100% - 48px)"},height100:{height:"100%"}};class Ber extends m.Component{renderToolbar(){return this.props.selectedId&&typeof this.props.selectedId=="string"?null:w.jsx(zer,{windowWidth:this.props.windowWidth,onChange:this.props.onChange,presetData:this.props.presetData,onCreatePreset:(e,r)=>this.props.onCreatePreset(e,r)})}getChartFrame(){const e=(window.location.search||"").includes("dev=true")?"http://localhost:3000/":"chart/",r=JSON.parse(JSON.stringify(this.props.presetData));return typeof this.props.selectedId=="object"&&r.l&&(delete r.l[0].aggregate,delete r.l[0].chartType),w.jsx("div",{style:{...typeof this.props.selectedId!="string"?Yk.heightWithoutToolbar:Yk.height100,display:this.props.visible?"block":"none"},children:this.props.visible?w.jsx(Fer,{src:`${e}index.html?edit=1`,presetData:r,theme:this.props.theme}):null})}render(){return w.jsx(uE,{injectFirst:!0,children:w.jsx(yE,{theme:this.props.theme,children:w.jsxs("div",{style:Yk.container,children:[this.renderToolbar(),this.getChartFrame()]})})})}}function Wer(){const t=(window.location.search||"").replace(/^\?/,"").split("&"),e={};return t.forEach(r=>{const[n,o]=r.split("=");e[decodeURIComponent(n)]=o!==void 0?decodeURIComponent(o):!0}),e}const hG=A.createContext({dragDropManager:void 0});function At(t,e,...r){if(Her()&&e===void 0)throw new Error("invariant requires an error message argument");if(!t){let n;if(e===void 0)n=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let o=0;n=new Error(e.replace(/%s/g,function(){return r[o++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function Her(){return typeof process<"u"&&!0}function Uer(t,e,r){return e.split(".").reduce((n,o)=>n&&n[o]?n[o]:r||null,t)}function Ver(t,e){return t.filter(r=>r!==e)}function fG(t){return typeof t=="object"}function qer(t,e){const r=new Map,n=a=>{r.set(a,r.has(a)?r.get(a)+1:1)};t.forEach(n),e.forEach(n);const o=[];return r.forEach((a,i)=>{a===1&&o.push(i)}),o}function Ger(t,e){return t.filter(r=>e.indexOf(r)>-1)}const kA="dnd-core/INIT_COORDS",$_="dnd-core/BEGIN_DRAG",EA="dnd-core/PUBLISH_DRAG_SOURCE",k_="dnd-core/HOVER",E_="dnd-core/DROP",T_="dnd-core/END_DRAG";function d9(t,e){return{type:kA,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}const Xer={type:kA,payload:{clientOffset:null,sourceClientOffset:null}};function Jer(t){return function(r=[],n={publishSource:!0}){const{publishSource:o=!0,clientOffset:a,getSourceClientOffset:i}=n,s=t.getMonitor(),l=t.getRegistry();t.dispatch(d9(a)),Yer(r,s,l);const d=Qer(r,s);if(d==null){t.dispatch(Xer);return}let h=null;if(a){if(!i)throw new Error("getSourceClientOffset must be defined");Ker(i),h=i(d)}t.dispatch(d9(a,h));const f=l.getSource(d).beginDrag(s,d);if(f==null)return;Zer(f),l.pinSource(d);const g=l.getSourceType(d);return{type:$_,payload:{itemType:g,item:f,sourceId:d,clientOffset:a||null,sourceClientOffset:h||null,isSourcePublic:!!o}}}}function Yer(t,e,r){At(!e.isDragging(),"Cannot call beginDrag while dragging."),t.forEach(function(n){At(r.getSource(n),"Expected sourceIds to be registered.")})}function Ker(t){At(typeof t=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function Zer(t){At(fG(t),"Item must be an object.")}function Qer(t,e){let r=null;for(let n=t.length-1;n>=0;n--)if(e.canDragSource(t[n])){r=t[n];break}return r}function etr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ttr(t){for(var e=1;e{const l=otr(i,s,o,n),d={type:E_,payload:{dropResult:ttr({},r,l)}};t.dispatch(d)})}}function ntr(t){At(t.isDragging(),"Cannot call drop while not dragging."),At(!t.didDrop(),"Cannot call drop twice during one drag operation.")}function otr(t,e,r,n){const o=r.getTarget(t);let a=o?o.drop(n,t):void 0;return atr(a),typeof a>"u"&&(a=e===0?{}:n.getDropResult()),a}function atr(t){At(typeof t>"u"||fG(t),"Drop result must either be an object or undefined.")}function itr(t){const e=t.getTargetIds().filter(t.canDropOnTarget,t);return e.reverse(),e}function str(t){return function(){const r=t.getMonitor(),n=t.getRegistry();ltr(r);const o=r.getSourceId();return o!=null&&(n.getSource(o,!0).endDrag(r,o),n.unpinSource()),{type:T_}}}function ltr(t){At(t.isDragging(),"Cannot call endDrag while not dragging.")}function aT(t,e){return e===null?t===null:Array.isArray(t)?t.some(r=>r===e):t===e}function ctr(t){return function(r,{clientOffset:n}={}){dtr(r);const o=r.slice(0),a=t.getMonitor(),i=t.getRegistry(),s=a.getItemType();return ptr(o,i,s),utr(o,a,i),htr(o,a,i),{type:k_,payload:{targetIds:o,clientOffset:n||null}}}}function dtr(t){At(Array.isArray(t),"Expected targetIds to be an array.")}function utr(t,e,r){At(e.isDragging(),"Cannot call hover while not dragging."),At(!e.didDrop(),"Cannot call hover after drop.");for(let n=0;n=0;n--){const o=t[n],a=e.getTargetType(o);aT(a,r)||t.splice(n,1)}}function htr(t,e,r){t.forEach(function(n){r.getTarget(n).hover(e,n)})}function ftr(t){return function(){if(t.getMonitor().isDragging())return{type:EA}}}function mtr(t){return{beginDrag:Jer(t),publishDragSource:ftr(t),hover:ctr(t),drop:rtr(t),endDrag:str(t)}}class gtr{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const e=this,{dispatch:r}=this.store;function n(a){return(...i)=>{const s=a.apply(e,i);typeof s<"u"&&r(s)}}const o=mtr(this);return Object.keys(o).reduce((a,i)=>{const s=o[i];return a[i]=n(s),a},{})}dispatch(e){this.store.dispatch(e)}constructor(e,r){this.isSetUp=!1,this.handleRefCountChange=()=>{const n=this.store.getState().refCount>0;this.backend&&(n&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!n&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=r,e.subscribe(this.handleRefCountChange)}}function vtr(t,e){return{x:t.x+e.x,y:t.y+e.y}}function mG(t,e){return{x:t.x-e.x,y:t.y-e.y}}function ytr(t){const{clientOffset:e,initialClientOffset:r,initialSourceClientOffset:n}=t;return!e||!r||!n?null:mG(vtr(e,n),r)}function _tr(t){const{clientOffset:e,initialClientOffset:r}=t;return!e||!r?null:mG(e,r)}const Bh=[],TA=[];Bh.__IS_NONE__=!0;TA.__IS_ALL__=!0;function btr(t,e){return t===Bh?!1:t===TA||typeof e>"u"?!0:Ger(e,t).length>0}class wtr{subscribeToStateChange(e,r={}){const{handlerIds:n}=r;At(typeof e=="function","listener must be a function."),At(typeof n>"u"||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");let o=this.store.getState().stateId;const a=()=>{const i=this.store.getState(),s=i.stateId;try{s===o||s===o+1&&!btr(i.dirtyHandlerIds,n)||e()}finally{o=s}};return this.store.subscribe(a)}subscribeToOffsetChange(e){At(typeof e=="function","listener must be a function.");let r=this.store.getState().dragOffset;const n=()=>{const o=this.store.getState().dragOffset;o!==r&&(r=o,e())};return this.store.subscribe(n)}canDragSource(e){if(!e)return!1;const r=this.registry.getSource(e);return At(r,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:r.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const r=this.registry.getTarget(e);if(At(r,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop())return!1;const n=this.registry.getTargetType(e),o=this.getItemType();return aT(n,o)&&r.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;const r=this.registry.getSource(e,!0);if(At(r,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic())return!1;const n=this.registry.getSourceType(e),o=this.getItemType();return n!==o?!1:r.isDragging(this,e)}isOverTarget(e,r={shallow:!1}){if(!e)return!1;const{shallow:n}=r;if(!this.isDragging())return!1;const o=this.registry.getTargetType(e),a=this.getItemType();if(a&&!aT(o,a))return!1;const i=this.getTargetIds();if(!i.length)return!1;const s=i.indexOf(e);return n?s===i.length-1:s>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return ytr(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return _tr(this.store.getState().dragOffset)}constructor(e,r){this.store=e,this.registry=r}}const u9=typeof global<"u"?global:self,gG=u9.MutationObserver||u9.WebKitMutationObserver;function vG(t){return function(){const r=setTimeout(o,0),n=setInterval(o,50);function o(){clearTimeout(r),clearInterval(n),t()}}}function xtr(t){let e=1;const r=new gG(t),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){e=-e,n.data=e}}const Str=typeof gG=="function"?xtr:vG;class Ctr{enqueueTask(e){const{queue:r,requestFlush:n}=this;r.length||(n(),this.flushing=!0),r[r.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.indexthis.capacity){for(let n=0,o=e.length-this.index;n{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=Str(this.flush),this.requestErrorThrow=vG(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class $tr{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,r){this.onError=e,this.release=r,this.task=null}}class ktr{create(e){const r=this.freeTasks,n=r.length?r.pop():new $tr(this.onError,o=>r[r.length]=o);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}}const yG=new Ctr,Etr=new ktr(yG.registerPendingError);function Ttr(t){yG.enqueueTask(Etr.create(t))}const OA="dnd-core/ADD_SOURCE",DA="dnd-core/ADD_TARGET",AA="dnd-core/REMOVE_SOURCE",O_="dnd-core/REMOVE_TARGET";function Otr(t){return{type:OA,payload:{sourceId:t}}}function Dtr(t){return{type:DA,payload:{targetId:t}}}function Atr(t){return{type:AA,payload:{sourceId:t}}}function Itr(t){return{type:O_,payload:{targetId:t}}}function Mtr(t){At(typeof t.canDrag=="function","Expected canDrag to be a function."),At(typeof t.beginDrag=="function","Expected beginDrag to be a function."),At(typeof t.endDrag=="function","Expected endDrag to be a function.")}function Ptr(t){At(typeof t.canDrop=="function","Expected canDrop to be a function."),At(typeof t.hover=="function","Expected hover to be a function."),At(typeof t.drop=="function","Expected beginDrag to be a function.")}function iT(t,e){if(e&&Array.isArray(t)){t.forEach(r=>iT(r,!1));return}At(typeof t=="string"||typeof t=="symbol",e?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var qo;(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(qo||(qo={}));let Ntr=0;function Rtr(){return Ntr++}function jtr(t){const e=Rtr().toString();switch(t){case qo.SOURCE:return`S${e}`;case qo.TARGET:return`T${e}`;default:throw new Error(`Unknown Handler Role: ${t}`)}}function p9(t){switch(t[0]){case"S":return qo.SOURCE;case"T":return qo.TARGET;default:throw new Error(`Cannot parse handler ID: ${t}`)}}function h9(t,e){const r=t.entries();let n=!1;do{const{done:o,value:[,a]}=r.next();if(a===e)return!0;n=!!o}while(!n);return!1}class Ltr{addSource(e,r){iT(e),Mtr(r);const n=this.addHandler(qo.SOURCE,e,r);return this.store.dispatch(Otr(n)),n}addTarget(e,r){iT(e,!0),Ptr(r);const n=this.addHandler(qo.TARGET,e,r);return this.store.dispatch(Dtr(n)),n}containsHandler(e){return h9(this.dragSources,e)||h9(this.dropTargets,e)}getSource(e,r=!1){return At(this.isSourceId(e),"Expected a valid source ID."),r&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return At(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return At(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return At(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return p9(e)===qo.SOURCE}isTargetId(e){return p9(e)===qo.TARGET}removeSource(e){At(this.getSource(e),"Expected an existing source."),this.store.dispatch(Atr(e)),Ttr(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){At(this.getTarget(e),"Expected an existing target."),this.store.dispatch(Itr(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const r=this.getSource(e);At(r,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=r}unpinSource(){At(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,r,n){const o=jtr(e);return this.types.set(o,r),e===qo.SOURCE?this.dragSources.set(o,n):e===qo.TARGET&&this.dropTargets.set(o,n),o}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const ztr=(t,e)=>t===e;function Ftr(t,e){return!t&&!e?!0:!t||!e?!1:t.x===e.x&&t.y===e.y}function Btr(t,e,r=ztr){if(t.length!==e.length)return!1;for(let n=0;n0||!Btr(r,n)))return Bh;const i=n[n.length-1],s=r[r.length-1];return i!==s&&(i&&o.push(i),s&&o.push(s)),o}function Htr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Utr(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function nrr(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,a;for(a=0;a=0)&&(r[o]=t[o]);return r}let m9=0;const iv=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var orr=A.memo(function(e){var{children:r}=e,n=rrr(e,["children"]);const[o,a]=arr(n);return A.useEffect(()=>{if(a){const i=_G();return++m9,()=>{--m9===0&&(i[iv]=null)}}},[]),w.jsx(hG.Provider,{value:o,children:r})});function arr(t){if("manager"in t)return[{dragDropManager:t.manager},!1];const e=irr(t.backend,t.context,t.options,t.debugMode),r=!t.context;return[e,r]}function irr(t,e=_G(),r,n){const o=e;return o[iv]||(o[iv]={dragDropManager:err(t,e,r,n)}),o[iv]}function _G(){return typeof global<"u"?global:window}var Kk,g9;function srr(){return g9||(g9=1,Kk=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,a;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(a=Object.keys(e),n=a.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[o]))return!1;for(o=n;o--!==0;){var i=a[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}),Kk}var lrr=srr();const crr=so(lrr),Wl=typeof window<"u"?A.useLayoutEffect:A.useEffect;function drr(t,e,r){const[n,o]=A.useState(()=>e(t)),a=A.useCallback(()=>{const i=e(t);crr(n,i)||(o(i),r&&r())},[n,t,r]);return Wl(a),[n,a]}function urr(t,e,r){const[n,o]=drr(t,e,r);return Wl(function(){const i=t.getHandlerId();if(i!=null)return t.subscribeToStateChange(o,{handlerIds:[i]})},[t,o]),n}function bG(t,e,r){return urr(e,t||(()=>({})),()=>r.reconnect())}function wG(t,e){const r=[];return typeof t!="function"&&r.push(t),A.useMemo(()=>typeof t=="function"?t():t,r)}function prr(t){return A.useMemo(()=>t.hooks.dragSource(),[t])}function hrr(t){return A.useMemo(()=>t.hooks.dragPreview(),[t])}let Zk=!1,Qk=!1;class frr{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){At(!Zk,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Zk=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Zk=!1}}isDragging(){if(!this.sourceId)return!1;At(!Qk,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Qk=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{Qk=!1}}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,r){return this.internalMonitor.isOverTarget(e,r)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}let eE=!1;class mrr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}canDrop(){if(!this.targetId)return!1;At(!eE,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return eE=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{eE=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}function grr(t,e,r){const n=r.getRegistry(),o=n.addTarget(t,e);return[o,()=>n.removeTarget(o)]}function vrr(t,e,r){const n=r.getRegistry(),o=n.addSource(t,e);return[o,()=>n.removeSource(o)]}function sT(t,e,r,n){let o;if(o!==void 0)return!!o;if(t===e)return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;const a=Object.keys(t),i=Object.keys(e);if(a.length!==i.length)return!1;const s=Object.prototype.hasOwnProperty.bind(e);for(let l=0;l, or turn it into a drag source or a drop target itself.`)}function _rr(t){return(e=null,r=null)=>{if(!A.isValidElement(e)){const a=e;return t(a,r),a}const n=e;return yrr(n),brr(n,r?a=>t(a,r):t)}}function xG(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];if(r.endsWith("Ref"))e[r]=t[r];else{const o=_rr(n);e[r]=()=>o}}),e}function v9(t,e){typeof t=="function"?t(e):t.current=e}function brr(t,e){const r=t.ref;return At(typeof r!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),r?A.cloneElement(t,{ref:n=>{v9(r,n),v9(e,n)}}):A.cloneElement(t,{ref:e})}class wrr{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,r=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return r&&this.disconnectDragSource(),this.handlerId?e?(r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),r):(this.lastConnectedDragSource=e,r):r}reconnectDragPreview(e=!1){const r=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),!!this.handlerId){if(!r){this.lastConnectedDragPreview=r;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=r,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,r,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!sT(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!sT(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=xG({dragSource:(r,n)=>{this.clearDragSource(),this.dragSourceOptions=n||null,lT(r)?this.dragSourceRef=r:this.dragSourceNode=r,this.reconnectDragSource()},dragPreview:(r,n)=>{this.clearDragPreview(),this.dragPreviewOptions=n||null,lT(r)?this.dragPreviewRef=r:this.dragPreviewNode=r,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}class xrr{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const r=this.dropTarget;if(this.handlerId){if(!r){this.lastConnectedDropTarget=r;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=r,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,r,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!sT(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=xG({dropTarget:(r,n)=>{this.clearDropTarget(),this.dropTargetOptions=n,lT(r)?this.dropTargetRef=r:this.dropTargetNode=r,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}function Uu(){const{dragDropManager:t}=A.useContext(hG);return At(t!=null,"Expected drag drop context"),t}function Srr(t,e){const r=Uu(),n=A.useMemo(()=>new wrr(r.getBackend()),[r]);return Wl(()=>(n.dragSourceOptions=t||null,n.reconnect(),()=>n.disconnectDragSource()),[n,t]),Wl(()=>(n.dragPreviewOptions=e||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,e]),n}function Crr(){const t=Uu();return A.useMemo(()=>new frr(t),[t])}class $rr{beginDrag(){const e=this.spec,r=this.monitor;let n=null;return typeof e.item=="object"?n=e.item:typeof e.item=="function"?n=e.item(r):n={},n??null}canDrag(){const e=this.spec,r=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(r):!0}isDragging(e,r){const n=this.spec,o=this.monitor,{isDragging:a}=n;return a?a(o):r===e.getSourceId()}endDrag(){const e=this.spec,r=this.monitor,n=this.connector,{end:o}=e;o&&o(r.getItem(),r),n.reconnect()}constructor(e,r,n){this.spec=e,this.monitor=r,this.connector=n}}function krr(t,e,r){const n=A.useMemo(()=>new $rr(t,e,r),[e,r]);return A.useEffect(()=>{n.spec=t},[t]),n}function Err(t){return A.useMemo(()=>{const e=t.type;return At(e!=null,"spec.type must be defined"),e},[t])}function Trr(t,e,r){const n=Uu(),o=krr(t,e,r),a=Err(t);Wl(function(){if(a!=null){const[s,l]=vrr(a,o,n);return e.receiveHandlerId(s),r.receiveHandlerId(s),l}},[n,e,r,o,a])}function Orr(t,e){const r=wG(t);At(!r.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const n=Crr(),o=Srr(r.options,r.previewOptions);return Trr(r,n,o),[bG(r.collect,n,o),prr(o),hrr(o)]}function Drr(t){return A.useMemo(()=>t.hooks.dropTarget(),[t])}function Arr(t){const e=Uu(),r=A.useMemo(()=>new xrr(e.getBackend()),[e]);return Wl(()=>(r.dropTargetOptions=t||null,r.reconnect(),()=>r.disconnectDropTarget()),[t]),r}function Irr(){const t=Uu();return A.useMemo(()=>new mrr(t),[t])}function Mrr(t){const{accept:e}=t;return A.useMemo(()=>(At(t.accept!=null,"accept must be defined"),Array.isArray(e)?e:[e]),[e])}class Prr{canDrop(){const e=this.spec,r=this.monitor;return e.canDrop?e.canDrop(r.getItem(),r):!0}hover(){const e=this.spec,r=this.monitor;e.hover&&e.hover(r.getItem(),r)}drop(){const e=this.spec,r=this.monitor;if(e.drop)return e.drop(r.getItem(),r)}constructor(e,r){this.spec=e,this.monitor=r}}function Nrr(t,e){const r=A.useMemo(()=>new Prr(t,e),[e]);return A.useEffect(()=>{r.spec=t},[t]),r}function Rrr(t,e,r){const n=Uu(),o=Nrr(t,e),a=Mrr(t);Wl(function(){const[s,l]=grr(a,o,n);return e.receiveHandlerId(s),r.receiveHandlerId(s),l},[n,e,o,r,a.map(i=>i.toString()).join("|")])}function jrr(t,e){const r=wG(t),n=Irr(),o=Arr(r.options);return Rrr(r,n,o),[bG(r.collect,n,o),Drr(o)]}function SG(t){let e=null;return()=>(e==null&&(e=t()),e)}function Lrr(t,e){return t.filter(r=>r!==e)}function zrr(t,e){const r=new Set,n=a=>r.add(a);t.forEach(n),e.forEach(n);const o=[];return r.forEach(a=>o.push(a)),o}class Frr{enter(e){const r=this.entered.length,n=o=>this.isNodeInDocument(o)&&(!o.contains||o.contains(e));return this.entered=zrr(this.entered.filter(n),[e]),r===0&&this.entered.length>0}leave(e){const r=this.entered.length;return this.entered=Lrr(this.entered.filter(this.isNodeInDocument),e),r>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class Brr{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){const r={};Object.keys(this.config.exposeProperties).forEach(n=>{const o=this.config.exposeProperties[n];o!=null&&(r[n]={value:o(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,r)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,r){return r===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const CG="__NATIVE_FILE__",$G="__NATIVE_URL__",kG="__NATIVE_TEXT__",EG="__NATIVE_HTML__",y9=Object.freeze(Object.defineProperty({__proto__:null,FILE:CG,HTML:EG,TEXT:kG,URL:$G},Symbol.toStringTag,{value:"Module"}));function tE(t,e,r){const n=e.reduce((o,a)=>o||t.getData(a),"");return n??r}const cT={[CG]:{exposeProperties:{files:t=>Array.prototype.slice.call(t.files),items:t=>t.items,dataTransfer:t=>t},matchesTypes:["Files"]},[EG]:{exposeProperties:{html:(t,e)=>tE(t,e,""),dataTransfer:t=>t},matchesTypes:["Html","text/html"]},[$G]:{exposeProperties:{urls:(t,e)=>tE(t,e,"").split(` -`),dataTransfer:t=>t},matchesTypes:["Url","text/uri-list"]},[kG]:{exposeProperties:{text:(t,e)=>tE(t,e,""),dataTransfer:t=>t},matchesTypes:["Text","text/plain"]}};function Wrr(t,e){const r=cT[t];if(!r)throw new Error(`native type ${t} has no configuration`);const n=new Brr(r);return n.loadDataTransfer(e),n}function rE(t){if(!t)return null;const e=Array.prototype.slice.call(t.types||[]);return Object.keys(cT).filter(r=>{const n=cT[r];return n!=null&&n.matchesTypes?n.matchesTypes.some(o=>e.indexOf(o)>-1):!1})[0]||null}const Hrr=SG(()=>/firefox/i.test(navigator.userAgent)),TG=SG(()=>!!window.safari);class _9{interpolate(e){const{xs:r,ys:n,c1s:o,c2s:a,c3s:i}=this;let s=r.length-1;if(e===r[s])return n[s];let l=0,d=i.length-1,h;for(;l<=d;){h=Math.floor(.5*(l+d));const g=r[h];if(ge)d=h-1;else return n[h]}s=Math.max(0,d);const u=e-r[s],f=u*u;return n[s]+o[s]*u+a[s]*f+i[s]*u*f}constructor(e,r){const{length:n}=e,o=[];for(let g=0;ge[g]{let O=new _9([0,.5,1],[l.y,l.y/h*y,l.y+y-h]).interpolate(f);return TG()&&a&&(O+=(window.devicePixelRatio-1)*y),O},x=()=>new _9([0,.5,1],[l.x,l.x/d*g,l.x+g-d]).interpolate(u),{offsetX:S,offsetY:T}=o,E=S===0||S,$=T===0||T;return{x:E?S:x(),y:$?T:b()}}class Xrr{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var e;return!((e=this.globalContext)===null||e===void 0)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var e;return((e=this.optionsArgs)===null||e===void 0?void 0:e.rootElement)||this.window}constructor(e,r){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=r}}function Jrr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b9(t){for(var e=1;e{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,r,n){this.sourceNodes.set(e,r),this.sourceNodeOptions.set(e,n);const o=i=>this.handleDragStart(i,e),a=i=>this.handleSelectStart(i);return r.setAttribute("draggable","true"),r.addEventListener("dragstart",o),r.addEventListener("selectstart",a),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),r.removeEventListener("dragstart",o),r.removeEventListener("selectstart",a),r.setAttribute("draggable","false")}}connectDropTarget(e,r){const n=i=>this.handleDragEnter(i,e),o=i=>this.handleDragOver(i,e),a=i=>this.handleDrop(i,e);return r.addEventListener("dragenter",n),r.addEventListener("dragover",o),r.addEventListener("drop",a),()=>{r.removeEventListener("dragenter",n),r.removeEventListener("dragover",o),r.removeEventListener("drop",a)}}addEventListeners(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourceNodeOptions.get(e);return b9({dropEffect:this.altKeyPressed?"copy":"move"},r||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourcePreviewNodeOptions.get(e);return b9({anchorX:.5,anchorY:.5,captureDraggingState:!1},r||{})}isDraggingNativeItem(){const e=this.monitor.getItemType();return Object.keys(y9).some(r=>y9[r]===e)}beginDragNativeItem(e,r){this.clearCurrentDragSourceNode(),this.currentNativeSource=Wrr(e,r),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e;const r=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var n;return(n=this.rootElement)===null||n===void 0?void 0:n.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},r)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;(e=this.window)===null||e===void 0||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(e,r){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(r))}handleDragEnter(e,r){this.dragEnterTargetIds.unshift(r)}handleDragOver(e,r){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(r)}handleDrop(e,r){this.dropTargetIds.unshift(r)}constructor(e,r,n){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=o=>{const a=this.sourceNodes.get(o);return a&&OG(a)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=o=>!!(o&&this.document&&this.document.body&&this.document.body.contains(o)),this.endDragIfSourceWasRemovedFromDOM=()=>{const o=this.currentDragSourceNode;o==null||this.isNodeInDocument(o)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=o=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(o||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=o=>{if(o.defaultPrevented)return;const{dragStartSourceIds:a}=this;this.dragStartSourceIds=null;const i=Vg(o);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(a||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:i});const{dataTransfer:s}=o,l=rE(s);if(this.monitor.isDragging()){if(s&&typeof s.setDragImage=="function"){const h=this.monitor.getSourceId(),u=this.sourceNodes.get(h),f=this.sourcePreviewNodes.get(h)||u;if(f){const{anchorX:g,anchorY:y,offsetX:b,offsetY:x}=this.getCurrentSourcePreviewNodeOptions(),E=Grr(u,f,i,{anchorX:g,anchorY:y},{offsetX:b,offsetY:x});s.setDragImage(f,E.x,E.y)}}try{s==null||s.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(o.target);const{captureDraggingState:d}=this.getCurrentSourcePreviewNodeOptions();d?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(l)this.beginDragNativeItem(l);else{if(s&&!s.types&&(o.target&&!o.target.hasAttribute||!o.target.hasAttribute("draggable")))return;o.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=o=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var a;(a=this.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)}if(!this.enterLeaveCounter.enter(o.target)||this.monitor.isDragging())return;const{dataTransfer:s}=o,l=rE(s);l&&this.beginDragNativeItem(l,s)},this.handleTopDragEnter=o=>{const{dragEnterTargetIds:a}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=o.altKey,a.length>0&&this.actions.hover(a,{clientOffset:Vg(o)}),a.some(s=>this.monitor.canDropOnTarget(s))&&(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=o=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var a;(a=this.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)}},this.handleTopDragOver=o=>{const{dragOverTargetIds:a}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="none");return}this.altKeyPressed=o.altKey,this.lastClientOffset=Vg(o),this.scheduleHover(a),(a||[]).some(s=>this.monitor.canDropOnTarget(s))?(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?o.preventDefault():(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=o=>{this.isDraggingNativeItem()&&o.preventDefault(),this.enterLeaveCounter.leave(o.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=o=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var a;o.preventDefault(),(a=this.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)}else rE(o.dataTransfer)&&o.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=o=>{const{dropTargetIds:a}=this;this.dropTargetIds=[],this.actions.hover(a,{clientOffset:Vg(o)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=o=>{const a=o.target;typeof a.dragDrop=="function"&&(a.tagName==="INPUT"||a.tagName==="SELECT"||a.tagName==="TEXTAREA"||a.isContentEditable||(o.preventDefault(),a.dragDrop()))},this.options=new Xrr(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new Frr(this.isNodeInDocument)}}const Krr=function(e,r,n){return new Yrr(e,r,n)},ad="_consumption_",Zrr=!window.location.search.includes("hidden=false");function DG(t){let e=[];return Object.values(t.subFolders||{}).forEach(r=>e=e.concat(DG(r))),e}const Qrr=t=>{const{onDrop:e}=t,[{isOver:r,isOverAny:n},o]=jrr({accept:"item",drop:a=>e(a.name),collect:a=>({isOver:a.isOver({shallow:!0}),isOverAny:a.isOver()})});return w.jsx("div",{ref:o,style:{background:r?"#40adff":void 0,opacity:n?.3:void 0},children:t.children})},enr=t=>{const{name:e}=t,[{opacity:r},n]=Orr({type:"item",item:()=>({name:e}),collect:o=>({opacity:o.isDragging()?.3:1})});return w.jsx("div",{ref:n,style:{opacity:r,transform:"translate3d(0, 0, 0)"},children:t.children})},w9=16,nE=/[.\][*,;'"`<>\\?]/g,Ot={noGutters:{pt:0,pb:0,width:"100%"},changed:t=>({position:"relative","&:after":{content:'""',position:"absolute",top:2,right:2,width:5,height:5,borderRadius:5,background:(t.palette.mode==="dark","#CC0000")}}),itemIcon:{width:32,height:32,marginRight:4},itemIconFolder:{cursor:"pointer"},buttonsContainer:{"& button":{whiteSpace:"nowrap"}},itemIconPreset:t=>({color:t.palette.mode==="dark"?t.palette.primary.light:t.palette.primary.dark,position:"relative"}),folderIconPreset:t=>({color:t.palette.mode==="dark"?t.palette.secondary.dark:t.palette.secondary.light}),width100:{width:"100%"},buttonIcon:{marginRight:4},itemIconRoot:{minWidth:24},listItemSubTitle:{fontSize:"smaller",opacity:.7,fontStyle:"italic",display:"inline-block",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},mainList:{width:"calc(100% - 8px)",ml:"8px"},iconCopy:{width:16},listItemSecondaryAction:{right:7},listItemTitle:{lineHeight:1,width:"100%"},listItemTitleDiv:{display:"inline-block",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},itemIconNumber:t=>({position:"absolute",fontSize:12,top:8,left:-1,width:"100%",textAlign:"center",color:t.palette.mode==="dark"?"#000":"#FFF"}),textColor:t=>({color:t.palette.mode==="dark"?"#FFF !important":"#000 !important"})};class oy extends A.Component{constructor(r){super(r);X(this,"refSelected");X(this,"scrollToSelect",!1);X(this,"scrollTimeout",null);X(this,"onPresetChange",(r,n)=>{if(!(r!=null&&r.startsWith("echarts.")))return;let o,a=!1;if(n?(n.common=n.common||{},n.native=n.native||{},JSON.stringify(n)!==JSON.stringify(this.state.presets[r])&&(o=JSON.parse(JSON.stringify(this.state.presets)),o[r]=n,a=!0)):this.state.presets[r]&&(o=JSON.parse(JSON.stringify(this.state.presets)),delete o[r],a=!0),a){const i=this.getEmptyFolders(),s={presets:o,changingPreset:"",presetFolders:oy.buildPresetTree(o,i)};setTimeout(()=>this.informAboutSubFolders(s.presetFolders),200),this.setState(s)}});X(this,"addPresetToFolderPrefix",async(r,n,o)=>{const a=r._id,i=r._id.split(".").pop();r._id=`${this.props.adapterName}.0.${n}${n?".":""}${i}`;try{if(await this.props.socket.setObject(r._id,r),console.log(`Deleted ${a}`),await this.props.socket.delObject(a),console.log(`Set new ID: ${r._id}`),!o){const s=await this.getAllPresets();this.setState(s)}}catch(s){this.onError(s,`Cannot delete object ${a}`)}});let n;try{n=JSON.parse(window.localStorage.getItem("App.echarts.presets.opened"))||[]}catch{n=[]}this.state={presetsOpened:n,presets:{},presetFolders:null,changingPreset:"",deletePresetDialog:"",movePresetDialog:"",newPresetFolder:"",addPresetFolderName:"",editPresetFolderDialog:null,editFolderDialogTitleOrigin:"",editPresetFolderName:"",renameDialog:"",renamePresetDialogTitle:""},this.refSelected=m.createRef(),this.getAllPresets().then(o=>this.setState(o))}async componentDidMount(){await this.props.socket.subscribeObject(`${this.props.adapterName}.0.*`,this.onPresetChange)}async componentWillUnmount(){this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=null),await this.props.socket.unsubscribeObject(`${this.props.adapterName}.0.*`,this.onPresetChange)}informAboutSubFolders(r){r=r||this.state.presetFolders||{},this.props.onShowReorder(!!Object.keys(r.subFolders||{}).length)}getEmptyFolders(r,n,o){if(o=o||[],n=n||[],r=r||this.state.presetFolders||{},r.id){const a=[...n];a.push(r.id),o.push(a.join("."))}return r.subFolders&&Object.keys(r.subFolders).forEach(a=>this.getEmptyFolders(r.subFolders[a],n,o)),o}async getAllPresets(r,n){r=r||{};const o={},a=await this.props.socket.getObjectViewSystem("chart",`${this.props.adapterName}.`,`${this.props.adapterName}.香`);return a&&Object.values(a).forEach(i=>i._id&&!i._id.toString().endsWith(".")&&(o[i._id]=i)),r.presets=o,r.changingPreset="",Object.keys(r.presets).forEach(i=>{const s=r.presets[i];s.common=s.common||{},s.native=s.native||{}}),n=n||this.getEmptyFolders(),r.presetFolders=oy.buildPresetTree(o,n),setTimeout(()=>this.informAboutSubFolders(r.presetFolders),200),r}renderPreset(r,n){var d,h;const o=this.state.presets[r._id],a=typeof r.common.name=="object"?r.common.name[P.getLanguage()]||r.common.name.en:r.common.name;if(!o||this.props.search&&!a.includes(this.props.search))return null;n=n||0;const i=(this.props.reorder?n:n-1)*w9;let s=null;((d=r.native.data.l||r.native.data.lines)==null?void 0:d.length)>1&&(s=w.jsx(Re,{sx:Ot.itemIconNumber,children:(h=r.native.data.l||r.native.data.lines)==null?void 0:h.length}));const l=w.jsxs(Ev,{sx:{"&.MuiListItemButton-gutters":ue.getStyle(this.props.theme,Ot.noGutters,this.props.selectedId===r._id&&this.props.selectedPresetChanged&&Ot.changed),height:48},selected:this.props.selectedId===r._id,style:{paddingLeft:i},className:this.props.reorder?"item-reorder":"",ref:this.props.selectedId===r._id?this.refSelected:null,onClick:()=>this.props.onSelectedChanged(o._id),children:[w.jsxs(ba,{sx:ue.getStyle(this.props.theme,Ot.itemIconRoot,Ot.itemIconPreset),children:[w.jsx(XKt,{style:Ot.itemIcon}),s]}),w.jsx(_o,{sx:{"& .MuiListItemText-primary":Ot.listItemTitle,"& .MuiListItemText-secondary":Ot.listItemSubTitle},primary:w.jsx("div",{style:Ot.listItemTitleDiv,children:ue.getObjectNameFromObj(o,null,{language:P.getLanguage()})}),secondary:ue.getObjectNameFromObj(o,null,{language:P.getLanguage()},!0)}),this.state.changingPreset===o._id?w.jsx(pO,{size:24}):this.props.reorder?null:w.jsxs(w.Fragment,{children:[this.props.selectedId!==o._id||!this.props.selectedPresetChanged?w.jsx(Ie,{size:"small","aria-label":"Rename",title:P.t("Rename"),sx:Ot.textColor,onClick:u=>{u.stopPropagation(),this.setState({renameDialog:o._id,renamePresetDialogTitle:a})},children:w.jsx(JR,{})}):null,w.jsx(Ie,{size:"small","aria-label":"Copy",title:P.t("Copy"),sx:Ot.textColor,onClick:()=>this.props.onCopyPreset(o._id),children:w.jsx(Di,{style:Ot.iconCopy})}),w.jsx(Ie,{size:"small",sx:Ot.textColor,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.setState({deletePresetDialog:o._id}),children:w.jsx(yu,{})})]})]},r._id);return this.props.reorder?w.jsx(enr,{name:r._id,draggableId:r._id,children:l},`draggable_${r._id}`):l}renderFolder(r,n){const o=[];n=n||0;const a=this.props.reorder||(this.state.presetsOpened&&r?this.state.presetsOpened.includes(r.prefix):!1),i=(this.props.reorder?n:n-1)*w9,s=[];if(r&&(a||!r.id)){const l=Object.values(r.presets||{}),d=Object.values(r.subFolders||{});d.sort((h,u)=>h.id>u.id?1:h.id!(Zrr&&h.id===ad)).forEach(h=>s.push(this.renderFolder(h,n+1))),l.length||d.length?l.sort((h,u)=>h._id>u._id?1:h._ids.push(this.renderPreset(h,n+1))):n===0&&s.push(w.jsx(of,{sx:{"&.MuiListItem-gutters":Ot.noGutters},children:w.jsx(_o,{style:Ot.folderItem,children:P.t("No presets created yet")})},"no presets"))}if(r&&(r.id||this.props.reorder)){const l=w.jsxs(of,{sx:{"&.MuiListItem-gutters":Ot.noGutters},className:this.props.reorder?"folder-reorder":"",style:{...Ot.width100,...Ot.folderItem,paddingLeft:i,height:48},secondaryAction:w.jsxs(w.Fragment,{children:[!this.props.reorder&&r&&r.id&&a?w.jsx(Ie,{size:"small",sx:Ot.textColor,onClick:()=>this.props.onCreatePreset(r.id),title:P.t("Create new preset"),children:w.jsx(Il,{})}):null,this.props.reorder?null:w.jsx(Ie,{size:"small",sx:Ot.textColor,onClick:()=>this.setState({editPresetFolderDialog:r,editPresetFolderName:r.id,editFolderDialogTitleOrigin:r.id}),title:P.t("Edit folder name"),children:w.jsx(JR,{})}),this.props.reorder?null:w.jsx(Ie,{size:"small",onClick:()=>this.togglePresetsFolder(r),sx:Ot.textColor,title:a?P.t("Collapse"):P.t("Expand"),children:w.jsx(sf,{style:{transform:a?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out"}})})]}),children:[w.jsx(ba,{sx:ue.getStyle(this.props.theme,Ot.itemIconRoot,Ot.folderIconPreset),onClick:()=>this.togglePresetsFolder(r),children:a?w.jsx(vf,{style:{...Ot.itemIcon,...Ot.itemIconFolder}}):w.jsx(yf,{style:{...Ot.itemIcon,...Ot.itemIconFolder}})}),w.jsx(_o,{children:r.id||P.t("Root")})]},r.prefix);this.props.reorder?o.push(w.jsx(Qrr,{droppableId:"tree",name:r.prefix,onDrop:d=>this.onDragFinish(d,`echarts.0${r.prefix?".":""}${r.prefix}`),children:l},`droppable_${r.prefix}`)):o.push(l)}return s.forEach(l=>o.push(l)),o}async renamePresetFolder(r,n){this.setState({changingPreset:r.id});let o;const a=this.state.presetsOpened.indexOf(r.prefix);if(a!==-1){const u=[...this.state.presetsOpened];u.splice(a,1),u.push(n),u.sort(),this.setState({presetsOpened:u})}const i=r.prefix.split(".");i[i.length-1]=n;const s=i.join(".");Object.keys(r.presets).find(u=>u===this.props.selectedId)&&(o=`${this.props.adapterName}.0.${s}.${this.props.selectedId.split(".").pop()}`);const l=Object.keys(r.presets);for(let u=0;u0;u--)d[u]===d[u-1]&&d.splice(u,1)}setTimeout(async()=>{const u=await this.getAllPresets(null,d);this.setState(u,()=>this.props.onSelectedChanged(o))},100)}isNameUnique(r,n){const o=r.split(".").length;return n===ad?!1:!Object.keys(this.state.presets).find(a=>o===a.split(".").length&&this.state.presets[a].common.name===n)}static buildPresetTree(r,n){const o=Object.values(r),a={subFolders:{},presets:{},id:"",prefix:""};return o.forEach(i=>{const s=i._id,l=s.split(".");l.shift(),l.shift();let d=a,h="";for(let u=0;u{const s=i.split(".");let l=a,d="";for(let h=0;h{this.setState({presetFolders:o,presetsOpened:i},()=>s())})}togglePresetsFolder(r){const n=[...this.state.presetsOpened],o=n.indexOf(r.prefix);if(o===-1)n.push(r.prefix);else if(n.splice(o,1),Object.keys(r.presets).includes(this.props.selectedId)){this.props.onSelectedChanged(null,a=>{a!==!1&&(window.localStorage.setItem("App.echarts.presets.opened",JSON.stringify(n)),this.setState({presetsOpened:n}))});return}window.localStorage.setItem("App.echarts.presets.opened",JSON.stringify(n)),this.setState({presetsOpened:n})}renderAddFolderDialog(){return this.props.addPresetFolderDialog?w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!0,onClose:()=>this.props.onClosePresetFolderDialog(),children:[w.jsx(_r,{children:P.t("Create folder")}),w.jsx(Wr,{style:Ot.p,children:w.jsx(Ht,{variant:"standard",fullWidth:!0,autoFocus:!0,label:P.t("Title"),value:this.state.addPresetFolderName,onChange:r=>this.setState({addPresetFolderName:r.target.value.replace(nE,"_").trim()}),onKeyUp:r=>{this.state.addPresetFolderName&&r.key==="Enter"&&this.state.addPresetFolderName!==ad&&(r.preventDefault(),r.stopPropagation(),this.addFolder(null,this.state.addPresetFolderName).then(()=>this.props.onClosePresetFolderDialog(()=>this.informAboutSubFolders())))}})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!this.state.addPresetFolderName||!!Object.keys(this.state.presetFolders&&this.state.presetFolders.subFolders||{}).find(r=>r===this.state.addPresetFolderName)||this.state.addPresetFolderName===ad,onClick:()=>this.addFolder(null,this.state.addPresetFolderName).then(()=>this.props.onClosePresetFolderDialog(()=>this.informAboutSubFolders())),color:"primary",autoFocus:!0,startIcon:w.jsx(sh,{}),children:P.t("Create")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.props.onClosePresetFolderDialog(),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]}):null}renderRenameFolderDialog(){if(!this.state.editPresetFolderDialog)return null;const r=!Object.keys(this.state.presetFolders&&this.state.presetFolders.subFolders||{}).find(n=>n===this.state.editPresetFolderName);return w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!!this.state.editPresetFolderDialog,onClose:()=>this.setState({editPresetFolderDialog:null}),children:[w.jsx(_r,{children:P.t("Edit folder")}),w.jsx(Wr,{children:w.jsx(Ht,{variant:"standard",fullWidth:!0,autoFocus:!0,label:P.t("Title"),value:this.state.editPresetFolderName,onKeyUp:n=>{this.state.editPresetFolderName&&n.key==="Enter"&&this.state.editPresetFolderName!==ad&&this.state.editFolderDialogTitleOrigin!==this.state.editPresetFolderName&&r&&(n.preventDefault(),n.stopPropagation(),this.renamePresetFolder(this.state.editPresetFolderDialog,this.state.editPresetFolderName).then(()=>this.setState({editPresetFolderDialog:null})))},onChange:n=>this.setState({editPresetFolderName:n.target.value.replace(nE,"_").trim()})})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!this.state.editPresetFolderName||this.state.editFolderDialogTitleOrigin===this.state.editPresetFolderName||!r||this.state.editPresetFolderName===ad,onClick:()=>{this.renamePresetFolder(this.state.editPresetFolderDialog,this.state.editPresetFolderName).then(()=>this.setState({editPresetFolderDialog:null}))},color:"primary",startIcon:w.jsx(sh,{}),children:P.t("Rename")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({editPresetFolderDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]})}renderMoveDialog(){if(!this.state.movePresetDialog)return null;const r=this.state.newPresetFolder==="__root__"?"":this.state.newPresetFolder,n=this.state.movePresetDialog,o=`preset.0.${r}${r?".":""}${n}`,a=!Object.keys(this.state.presets).find(i=>i===o);return w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!0,onClose:()=>this.setState({movePresetDialog:null}),children:[w.jsx(_r,{children:P.t("Move to folder")}),w.jsx(Wr,{children:w.jsxs(_a,{style:Ot.width100,variant:"standard",children:[w.jsx($l,{shrink:!0,children:P.t("Folder")}),w.jsx(Bn,{variant:"standard",autoFocus:!0,fullWidth:!0,style:Ot.width100,value:this.state.newPresetFolder||"__root__",onChange:i=>this.setState({newPresetFolder:i.target.value}),onKeyUp:i=>{a&&i.which===13&&(i.preventDefault(),i.stopPropagation(),this.setState({movePresetDialog:null},()=>this.addPresetToFolderPrefix(this.state.presets[n],this.state.newPresetFolder==="__root__"?"":this.state.newPresetFolder)))},children:DG(this.state.presetFolders||{}).map(i=>w.jsx(Jt,{value:i.prefix||"__root__",children:i.prefix?i.prefix.replace("."," > "):P.t("Root")},i.prefix))})]})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!a,color:"primary",onClick:()=>this.setState({movePresetDialog:null},()=>this.addPresetToFolderPrefix(this.state.presets[n],this.state.newPresetFolder==="__root__"?"":this.state.newPresetFolder)),startIcon:w.jsx(sh,{}),children:P.t("Move to folder")}),w.jsxs(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({movePresetDialog:null}),startIcon:w.jsx(wo,{}),children:[w.jsx(wo,{style:Ot.buttonIcon}),P.t("Cancel")]})]})]},"movePresetDialog")}onError(r,n){n&&console.error(n),this.props.onShowError(r.toString())}async onDragFinish(r,n){let o=`${n}.${r.split(".").pop()}`;if(o!==r){this.state.presets[o]&&(o+=`_${P.t("copy")}`);try{const a=await this.props.socket.getObject(r);if(a)try{await this.props.socket.setObject(o,a),await this.props.socket.delObject(r);const i=await this.getAllPresets();this.setState(i)}catch(i){this.onError(i,`Cannot delete object ${o}`)}}catch(a){this.onError(a,`Cannot read object ${r}`)}}}renderRenameDialog(){if(!this.state.renameDialog)return null;const r=this.state.renameDialog;return w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!0,onClose:()=>this.setState({renameDialog:null}),children:[w.jsx(_r,{children:P.t("Rename preset")}),w.jsx(Wr,{children:w.jsx(_a,{style:Ot.width100,variant:"standard",children:w.jsx(Ht,{variant:"standard",fullWidth:!0,autoFocus:!0,label:P.t("Name"),value:this.state.renamePresetDialogTitle,onKeyUp:n=>{n.keyCode===13&&this.state.renamePresetDialogTitle&&this.isNameUnique(r,this.state.renamePresetDialogTitle)&&(n.stopPropagation(),n.preventDefault(),this.setState({renameDialog:null},()=>this.renamePreset(r,this.state.renamePresetDialogTitle)))},onChange:n=>this.setState({renamePresetDialogTitle:n.target.value})})})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!this.state.renamePresetDialogTitle||!this.isNameUnique(r,this.state.renamePresetDialogTitle),color:"primary",onClick:()=>this.setState({renameDialog:null},()=>this.renamePreset(r,this.state.renamePresetDialogTitle)),startIcon:w.jsx(sh,{}),children:P.t("Rename")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({renameDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"renameDialog")}renderDeleteDialog(){return this.state.deletePresetDialog?w.jsx(PO,{title:P.t("Please confirm"),text:P.t("Are you sure for delete this preset?"),ok:P.t("Delete"),cancel:P.t("Cancel"),suppressQuestionMinutes:3,dialogName:"echarts.deletePresetDialog",onClose:r=>{r?this.deletePreset(this.state.deletePresetDialog,()=>this.setState({deletePresetDialog:""})):this.setState({deletePresetDialog:""})}},"deletePresetDialog"):null}async deletePreset(r,n){try{await this.props.socket.delObject(r);const o=await this.getAllPresets();this.setState(o,()=>{if(r===this.props.selectedId){const a=Object.keys(this.state.presets);this.props.onSelectedChanged(a[0]||null)}})}catch(o){this.onError(o,`Cannot delete object ${r}`)}n()}async renamePreset(r,n){try{const o=await this.props.socket.getObject(r);o.common.name=n;const a=r.split(".");a.splice(-1,1),a.push(n.replace(nE,"_").trim()),o._id=a.join("."),await this.props.socket.setObject(o._id,o),await this.props.socket.delObject(r);const i=await this.getAllPresets();r===this.props.selectedId?this.setState(i,()=>this.props.onSelectedChanged(o._id)):this.setState(i)}catch(o){this.onError(o,`Cannot get object ${r}`)}}render(){return this.scrollToSelect!==this.props.scrollToSelect&&(this.scrollToSelect=this.props.scrollToSelect,this.scrollToSelect&&!this.scrollTimeout&&(this.scrollTimeout=setTimeout(()=>{var r;this.scrollTimeout=null,(r=this.refSelected.current)==null||r.scrollIntoView({behavior:"auto",block:"center",inline:"center"})},100))),w.jsxs(w.Fragment,{children:[w.jsx(orr,{backend:Krr,children:w.jsx(vu,{sx:{...Ot.scroll,...Ot.mainList},children:this.renderFolder(this.state.presetFolders)})}),this.renderAddFolderDialog(),this.renderRenameFolderDialog(),this.renderDeleteDialog(),this.renderMoveDialog(),this.renderRenameDialog()]})}}const tnr=qs()(oy);function rnr(t){return Pr({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 0 0-11.3 0l-189 189.6a7.87 7.87 0 0 0-2.3 5.6V720c0 4.4 3.6 8 8 8z"},child:[]}]})(t)}const x9=34,id=20,S9=30,Zp=15;class AG extends A.Component{render(){const e=w.jsxs("div",{style:{width:this.props.size==="small"?S9:x9,height:id,display:"flex",alignItems:"center",cursor:"pointer",position:"relative",opacity:this.props.disabled?.7:1},onClick:r=>{this.props.disabled||(r.stopPropagation(),r.preventDefault(),this.props.onChange(!this.props.checked))},children:[w.jsx("div",{style:{borderRadius:15,width:"100%",height:(this.props.size==="small"?Zp:id)*.7,opacity:.6,backgroundColor:this.props.checked?this.props.theme.palette.primary.main:this.props.theme.palette.text.disabled}}),w.jsx("div",{style:{position:"absolute",top:this.props.size==="small"?(id-Zp)/2:0,left:this.props.checked?this.props.size==="small"?S9-Zp:x9-id:0,transition:"left 0.2s",borderRadius:50,width:this.props.size==="small"?Zp:id,height:this.props.size==="small"?Zp:id,backgroundColor:this.props.checked?this.props.theme.palette.primary.main:"#EEE",boxShadow:"rgba(0, 0, 0, 0.2) 0px 2px 1px -1px, rgba(0, 0, 0, 0.14) 0px 1px 1px 0px, rgba(0, 0, 0, 0.12) 0px 1px 3px 0px"}})]});return this.props.labelOn||this.props.labelOff?w.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[this.props.labelOff,e,this.props.labelOn]}):e}}function C9(t,e){const r=typeof t=="object"?t._id.replace("system.adapter.",""):t.replace("system.adapter.",""),n=typeof e=="object"?e._id.replace("system.adapter.",""):e.replace("system.adapter.","");return r>n?1:r{t[n].common.members.includes(e)&&!r.includes(n)&&r.push(n)}),r}const $9=16,qt={noGutters:{paddingTop:0,paddingBottom:0,paddingLeft:0,width:"100%"},itemIconFolder:{cursor:"pointer",marginLeft:8},width100:{width:"100%"},itemIcon:{width:32,height:32,marginRight:4},itemIconRoot:{minWidth:24},itemNameDiv:{marginTop:5},itemName:{verticalAlign:"top",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"calc(100% - 26px)",display:"inline-block"},itemName0:{},itemName1:{fontSize:14,opacity:.6},itemName2:{fontSize:12,opacity:.6},itemName3:{fontSize:10,opacity:.6},itemName4:{fontSize:8,opacity:.6},itemName5:{fontSize:6,opacity:.6},groupName:{verticalAlign:"top",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"calc(100% - 66px)",display:"inline-block"},itemSecondaryName:{overflow:"hidden",textOverflow:"ellipsis",width:"100%",fontSize:"smaller",opacity:.6,fontStyle:"italic",whiteSpace:"nowrap",display:"inline-block"},listItemSubTitle:{fontSize:"smaller",opacity:.6,fontStyle:"italic"},adapterIcon:{width:20,height:20,borderRadius:2,marginRight:4},mainList:{width:"100%"},listItemSecondaryAction:{marginRight:4},folderItem:t=>({backgroundColor:t.palette.secondary.main,pl:"8px"})};class onr extends A.Component{constructor(r){super(r);X(this,"refSelected");X(this,"scrollToSelect",!1);X(this,"adapterPromises",{});X(this,"toggleChartFolder",r=>{const n=JSON.parse(JSON.stringify(this.state.chartsOpened));n[r]=!n[r],window.localStorage.setItem("App.echarts.opened",JSON.stringify(n));const o={chartsOpened:n};if(!n[r]){const a=r.split("///")[0];this.props.selectedId&&typeof this.props.selectedId=="object"&&this.props.selectedId.instance}this.setState(o,()=>this.props.onSelectedChanged(null))});let n;try{n=JSON.parse(window.localStorage.getItem("App.echarts.opened"))||{}}catch{n={}}this.state={instances:[],chartsOpened:n,enums:null,showAddStateDialog:""},this.refSelected=m.createRef(),this.getAllEnums().then(o=>this.getAllCharts(o)).then(o=>this.setState(o,()=>this.props.selectedId&&this.props.onSelectedChanged(this.props.selectedId)))}UNSAFE_componentWillReceiveProps(r){r.scrollToSelect!==this.scrollToSelect&&(this.scrollToSelect=r.scrollToSelect,this.scrollToSelect&&setTimeout(()=>{var n;(n=this.refSelected.current)==null||n.scrollIntoView({behavior:"auto",block:"center",inline:"center"})},100))}async getAllEnums(r){r=r||{};try{const n=await this.props.socket.getEnums();return r.enums={},Object.keys(n).forEach(o=>{var a,i,s;(o.startsWith("enum.functions.")||o.startsWith("enum.rooms."))&&((s=(i=(a=n[o])==null?void 0:a.common)==null?void 0:i.members)!=null&&s.length)&&(r.enums[o]={_id:o,common:{members:[...n[o].common.members],name:ue.getObjectNameFromObj(n[o],null,{language:P.getLanguage()})},type:"enum",native:{}})}),r}catch(n){return this.onError(n,"Cannot read enums"),{}}}async getAdapterIcon(r){var a;const n=r.split(".");if(n.length<2||n[0]==="0_userdata")return null;let o;n[0]==="system"?(n.splice(4),o=n.join(".")):(n.splice(2),o=`system.adapter.${n.join(".")}`),this.adapterPromises[o]instanceof Promise||(this.adapterPromises[o]=this.props.socket.getObject(o));try{const i=await this.adapterPromises[o];if((a=i==null?void 0:i.common)!=null&&a.icon)return ue.getObjectIcon(i)}catch(i){this.onError(i,`Cannot read object ${o}`)}return null}onError(r,n){n&&console.error(n),this.props.onShowError(r.toString())}async getChartIconAndName(r,n){let o;const a=[];if(!n)return null;const i=P.getLanguage(),s=n._id;n.common&&(n.common.icon&&(o=ue.getObjectIcon(n)),a.push(ue.getObjectNameFromObj(n,null,{language:i})));const l=ue.getParentId(n._id);if((l==null?void 0:l.split(".").length)>2)try{const d=await this.props.socket.getObject(l);if(d&&(d.type==="channel"||d.type==="device")&&d.common){!o&&d.common.icon&&(o=ue.getObjectIcon(d)),a.push(ue.getObjectNameFromObj(d,null,{language:i}));const h=ue.getParentId(l);if((h==null?void 0:h.split(".").length)>2){const u=await this.props.socket.getObject(h);if(u&&(u.type==="channel"||u.type==="device")&&u.common){!o&&u.common.icon&&(o=ue.getObjectIcon(u)),a.push(ue.getObjectNameFromObj(u,null,{language:i}));const f=ue.getParentId(h);if((f==null?void 0:f.split(".").length)>2){const g=await this.props.socket.getObject(f);g&&(g.type==="channel"||g.type==="device")&&g.common&&(!o&&g.common.icon&&(o=ue.getObjectIcon(g)),a.push(ue.getObjectNameFromObj(g,null,{language:i})))}}}}}catch(d){console.error(`Cannot read object: ${d}`)}return o=o||await this.getAdapterIcon(s),{groupId:r,id:s,img:o,name:a.filter(d=>d)}}async getAllCharts(r){r=r||{};const n=this.props.instances.map(u=>u._id.substring(15)),o=await this.props.socket.getObjectViewSystem("custom-full","",""),a={};r.enums=r.enums||this.state.enums;const i=[];Object.values(o).forEach(u=>{const f=n.find(g=>Object.keys(u.common.custom).includes(g));if(f){const g=this.props.instances.find(y=>y._id.endsWith(f));a[f]=a[f]||{_id:`system.adapter.${f}`,enabledDP:{},names:{},statesEnums:{},icon:g.common.icon,name:g.common.name||"",types:{},icons:{}},a[f].enabledDP[u._id]=u,a[f].names[u._id]=ue.getObjectNameFromObj(u,null,{language:P.getLanguage()}),a[f].types[u._id]=u.common.type==="boolean"?"boolean":"number",a[f].statesEnums[u._id]=nnr(r.enums,u._id),i.push(this.getChartIconAndName(f,u))}});const s=JSON.parse(JSON.stringify(this.state.chartsOpened)),l=Object.keys(r.enums).filter(u=>u.startsWith("enum.functions.")),d=Object.keys(r.enums).filter(u=>u.startsWith("enum.rooms.")),h=Object.values(a).map(u=>{var b;const f={};Object.keys(u.enabledDP).forEach(x=>{f[x]=u.enabledDP[x],f[x].group=u._id}),u.enabledDP=f,s[u._id]=s[u._id]!==void 0?this.state.chartsOpened[u._id]||!1:!0,Object.keys(r.enums).forEach(x=>{Object.keys(f).find(S=>r.enums[x].common.members.includes(S))&&(u.enums=u.enums||[],u.enums.includes(x)||u.enums.push(x))});const g={_id:`enum.functions.${u._id}`,type:"enum",common:{members:[],name:P.t("Others")},native:{}},y={_id:`enum.rooms.${u._id}`,type:"enum",common:{members:[],name:P.t("Others")},native:{}};return Object.keys(f).forEach(x=>{l.find(S=>r.enums[S].common.members.includes(x))||g.common.members.push(x),d.find(S=>r.enums[S].common.members.includes(x))||y.common.members.push(x)}),g.common.members.length&&(u.enums=u.enums||[],u.enums.push(`enum.functions.${u._id}`),r.enums[`enum.functions.${u._id}`]=g),y.common.members.length&&(u.enums=u.enums||[],u.enums.push(`enum.rooms.${u._id}`),r.enums[`enum.rooms.${u._id}`]=y),(b=u.enums)==null||b.sort((x,S)=>r.enums[x].common.name>r.enums[S].common.name?1:r.enums[x].common.namethis.props.onSelectedChanged({id:u,instance:h[0]._id}),500)}return r.instances=h,r.chartsOpened=s,setTimeout(()=>{Promise.all(i).then(u=>{const f=JSON.parse(JSON.stringify(this.state.instances));let g=!1;u.forEach(y=>{if(y!=null&&y.groupId){const b=f.find(x=>x._id===`system.adapter.${y.groupId}`);b&&(y.img&&(b.icons[y.id]=y.img),y.name&&(b.names[y.id]=y.name),g=!0)}}),g&&this.setState({instances:f})})},100),r}renderSelectIdDialog(){return this.state.showAddStateDialog?w.jsx(OV,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,dialogName:"Add",title:P.t("Enable logging for state"),onOk:r=>{const n=Array.isArray(r)?r[0]:r;console.log(`Selected ${JSON.stringify(n)}`);const o=this.state.showAddStateDialog.replace("system.adapter.","");n&&this.props.socket.getObject(n).then(a=>{var i;if(!(a!=null&&a.common)){this.props.onShowError(P.t("Invalid object"));return}if((i=a.common.custom)!=null&&i[o]){this.props.onShowToast(P.t("Already enabled"));return}a.common.custom=a.common.custom||{},a.common.custom[o]={enabled:!0},this.props.socket.setObject(n,a).then(()=>{const s=JSON.parse(JSON.stringify(this.state.instances)),l=s.find(d=>d._id===`system.adapter.${o}`);l.enabledDP=l.enabledDP||{},l.enabledDP[a._id]=a,this.setState({instances:s},()=>this.getAllCharts())}).catch(s=>this.onError(s,`Cannot read object ${n}`))}).catch(a=>this.onError(a,`Cannot read object ${n}`)),this.setState({showAddStateDialog:""})},onClose:()=>this.setState({showAddStateDialog:""})},"selectDialog_add"):null}renderListItem(r,n,o,a){a=a||0;const i=r._id,s=this.props.selectedId&&typeof this.props.selectedId=="object"&&this.props.selectedId.id===n&&this.props.selectedId.instance===i;let l;if(typeof r.names[n]=="object"){const d=[...r.names[n]];l=w.jsx("span",{style:qt.itemName,title:d.join(" / "),children:d.map((h,u)=>w.jsx("span",{style:qt[`itemName${u}`],children:(u?" / ":"")+h},u))})}else{const d=(r.names[n]||"").toString();l=w.jsx("span",{style:qt.itemName,title:d,children:d})}return w.jsxs(Ev,{ref:s?this.refSelected:null,sx:{"&.MuiListItemButton-gutters":qt.noGutters},style:{paddingLeft:$9*a,height:48,position:"relative"},selected:s,onClick:o?void 0:()=>this.props.onSelectedChanged({id:n,instance:i}),children:[w.jsx(ba,{style:qt.itemIconRoot,children:r.types[n]==="boolean"?w.jsx(JKt,{style:qt.itemIcon}):w.jsx(rnr,{style:qt.itemIcon})}),w.jsxs("div",{style:{flexGrow:1,overflow:"hidden"},children:[w.jsxs("div",{style:qt.itemNameDiv,children:[ue.getIcon({icon:r.icons[n],prefix:"../../"},{width:20,height:20,borderRadius:2,marginRight:4}),l]}),w.jsx("div",{style:qt.itemSecondaryName,title:n,children:n.replace("system.adapter.","")})]}),!o&&this.props.multiple&&this.props.chartsList?w.jsxs("div",{style:qt.listItemSecondaryAction,children:[w.jsx(AG,{size:"small",theme:this.props.theme,onChange:d=>{const h=JSON.parse(JSON.stringify(this.props.chartsList)),u=h.find(f=>f.id===n&&f.instance===i);d&&!u?(h.push({id:n,instance:i}),h.sort((f,g)=>f.instance>g.instance?1:f.instanceg.id?1:f.idthis.props.onChangeList(h)):this.props.onChangeList(h)):!d&&u&&(h.splice(h.indexOf(u),1),this.props.onChangeList(h))},checked:!!this.props.chartsList.find(d=>d.id===n&&d.instance===i)})," "]}):null]},`${i}_${n}`)}renderListItems(r,n,o,a){if(a.gIndex=a.gIndex||0,!(n!=null&&n.length))return null;const i=r._id,s=1;if(!o)return n.map(f=>w.jsx(EE,{isDragDisabled:!this.props.selectedId||typeof this.props.selectedId=="object",draggableId:`${i}***${f}`,index:a.gIndex++,children:(g,y)=>w.jsxs(w.Fragment,{children:[w.jsx("div",{ref:g.innerRef,...g.draggableProps,...g.dragHandleProps,style:g.draggableProps.style,className:"drag-items",children:this.renderListItem(r,f,!1,s)},`${i}_${f}_item`),y.isDragging?w.jsx("div",{className:"react-beautiful-dnd-copy",children:this.renderListItem(r,f,!0)},`${i}_${f}_dnd`):null]})},`${i}_${f}`));const l=`${i}///${o}`,d=this.state.chartsOpened[l];d&&(n=n.filter(f=>this.state.enums[o].common.members.includes(f)));const h=this.state.enums[o].common.name,u=typeof h=="object"?h[P.getLanguage()]||h.en:h;return[w.jsxs(of,{style:{...qt.width100,paddingLeft:$9*s,height:48},sx:ue.getStyle(this.props.theme,qt.folderItem,{"&.MuiListItem-gutters":qt.noGutters}),secondaryAction:w.jsx(Ie,{size:"small",onClick:()=>this.toggleChartFolder(l),title:d?P.t("Collapse"):P.t("Expand"),children:w.jsx(sf,{style:{transform:d?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out"}})}),children:[w.jsx(ba,{style:qt.itemIconRoot,onClick:()=>this.toggleChartFolder(l),children:d?w.jsx(vf,{style:{...qt.itemIcon,...qt.itemIconFolder}}):w.jsx(yf,{style:{...qt.itemIcon,...qt.itemIconFolder}})}),w.jsx(_o,{primary:u})]},l),d?w.jsx(vu,{children:n.map(f=>w.jsx(EE,{isDragDisabled:!this.props.selectedId||typeof this.props.selectedId=="object",draggableId:`${i}***${f}`,index:a.gIndex++,children:(g,y)=>w.jsxs(w.Fragment,{children:[w.jsx("div",{ref:g.innerRef,...g.draggableProps,...g.dragHandleProps,style:g.draggableProps.style,className:"drag-items",children:this.renderListItem(r,f,!1,2)},`${i}_${f}_item`),y.isDragging?w.jsx("div",{className:"react-beautiful-dnd-copy",children:this.renderListItem(r,f,!0)},`${i}_${f}_dnd`):null]})},`${i}_${f}`))},`${l}_LIST`):null]}render(){const r={gIndex:0};return w.jsxs(w.Fragment,{children:[this.renderSelectIdDialog(),w.jsx(QT,{droppableId:"Lines",isDropDisabled:!0,children:n=>w.jsx("div",{ref:n.innerRef,children:w.jsx(vu,{style:{...qt.scroll,...qt.mainList},children:w.jsxs(w.Fragment,{children:[this.state.instances.map(o=>{const a=this.state.chartsOpened[o._id];let i=null;if(a){const s=Object.keys(o.enabledDP).filter(l=>!this.props.search||l.includes(this.props.search)||o.names[l].includes(this.props.search));this.props.groupBy?i=(o.enums||[]).filter(l=>l.startsWith(`enum.${this.props.groupBy}.`)).map(l=>this.renderListItems(o,s,l,r)):(s.sort(C9),i=this.renderListItems(o,s,null,r))}return[w.jsxs(of,{sx:ue.getStyle(this.props.theme,qt.width100,qt.folderItem,{height:48,color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},{"&.MuiListItem-gutters":qt.noGutters}),secondaryAction:w.jsxs(w.Fragment,{children:[a?w.jsx(Ie,{size:"small",onClick:()=>this.setState({showAddStateDialog:o._id}),style:{color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},title:P.t("Enable logging for new state"),children:w.jsx(Il,{})}):null,w.jsx(Ie,{size:"small",onClick:()=>this.toggleChartFolder(o._id),title:a?P.t("Collapse"):P.t("Expand"),style:{color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},children:w.jsx(sf,{style:{transform:a?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out"}})})]}),children:[w.jsx(ba,{style:qt.itemIconRoot,sx:{color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},onClick:()=>this.toggleChartFolder(o._id),children:a?w.jsx(vf,{style:{...qt.itemIcon,...qt.itemIconFolder}}):w.jsx(yf,{style:{...qt.itemIcon,...qt.itemIconFolder}})}),w.jsx(_o,{primary:w.jsxs("div",{style:qt.itemNameDiv,children:[w.jsx("img",{style:qt.adapterIcon,alt:"",src:`../../adapter/${o.name}/${o.icon}`}),w.jsx("div",{style:qt.groupName,children:o._id.replace("system.adapter.","")})]})})]},o._id),i]}),n.placeholder]})},"chartList")},"chartListDiv")},"charts")]})}}const anr=qs()(onr),k9=48,Fo={mainListDiv:{width:"100%",height:"100%",overflow:"hidden"},mainToolbar:t=>({background:t.palette.primary.main}),secondaryColors:t=>({background:"#888",color:t.palette.mode==="dark"?"#000":"#FFF"}),smallMargin:{marginTop:"8px !important"},heightMinusTwoToolbars:{height:`calc(100% - ${k9*2}px)`,overflow:"auto"},heightMinusToolbar:{height:`calc(100% - ${k9}px)`,overflow:"auto"},textColor:t=>({color:t.palette.mode==="dark"?"#000 !important":"#FFF !important"})};class inr extends A.Component{constructor(r){super(r);X(this,"isIFrame");this.state={search:null,multiple:window.localStorage.getItem("App.echarts.multiple")==="true",showSearch:!1,groupBy:window.localStorage.getItem("App.echarts.groupBy")||"",addPresetFolderDialog:!1,reorder:!1,showReorder:!1};try{this.isIFrame=window.self!==window.top}catch{this.isIFrame=!0}if(this.state.multiple){const n=window.localStorage.getItem("App.echarts.chartList")||"[]";let o;try{o=JSON.parse(n)}catch{o=[]}setTimeout(()=>this.props.onChangeList(o),100)}}renderListToolbar(){return w.jsxs(af,{variant:"dense",sx:Fo.mainToolbar,children:[this.state.reorder?null:w.jsx(Ie,{onClick:()=>this.props.onCreatePreset(!1),title:P.t("Create new preset"),children:w.jsx(Il,{})}),this.state.reorder?null:w.jsx(Ie,{onClick:()=>this.setState({addPresetFolderDialog:!0}),title:P.t("Create new folder"),children:w.jsx(Fpe,{})}),this.state.reorder?null:w.jsx("span",{style:Fo.right,children:w.jsx(Ie,{onClick:()=>this.setState({showSearch:!this.state.showSearch,search:""}),children:w.jsx(Nve,{})})}),this.state.showSearch?w.jsx(Ht,{variant:"standard",value:this.state.search,style:Fo.textInput,onChange:r=>this.setState({search:r.target.value}),InputProps:{endAdornment:this.state.search?w.jsx(Ie,{onClick:()=>this.setState({search:""}),children:w.jsx(Ar,{})}):void 0}}):null,w.jsx("div",{style:{flexGrow:1}}),!this.state.showSearch&&this.state.showReorder||this.state.reorder?w.jsx(Ie,{title:P.t("Reorder presets in folders"),style:{color:this.state.reorder?"red":"inherit",float:"right"},onClick:r=>{r.stopPropagation(),this.setState({reorder:!this.state.reorder})},children:w.jsx(zpe,{})},"reorder"):null,!this.state.showSearch&&this.isIFrame?w.jsx(Ie,{onClick:()=>window.open(window.location.href,"own-echarts"),title:P.t("Open in own window"),children:w.jsx(hH,{})}):null]},"toolbar")}renderFooter(){return w.jsxs(af,{variant:"dense",sx:Fo.secondaryColors,style:{gap:8},children:[this.props.selectedPresetChanged?null:w.jsx(AG,{style:{width:58},checked:this.state.multiple,theme:this.props.theme,onChange:r=>{if(window.localStorage.setItem("App.echarts.multiple",r?"true":"false"),r){const n=this.props.selectedId;n&&typeof n=="object"?this.setState({multiple:!0},()=>this.props.onChangeList([JSON.parse(JSON.stringify(n))])):this.setState({multiple:!0},()=>this.props.onChangeList([]))}else this.setState({multiple:!1},()=>this.props.onChangeList(null))},labelOn:P.t("Multiple")}),w.jsxs(_a,{variant:"standard",style:{minWidth:100},sx:Fo.textColor,children:[w.jsx($l,{shrink:!0,sx:Fo.textColor,style:{whiteSpace:"nowrap",top:5},children:P.t("Group by")}),w.jsxs(Bn,{variant:"standard",label:P.t("Group by"),sx:Fo.textColor,onChange:r=>{window.localStorage.setItem("App.echarts.groupBy",r.target.value),this.setState({groupBy:r.target.value})},value:this.state.groupBy||"",style:Fo.smallMargin,displayEmpty:!0,children:[w.jsx(Jt,{value:"",children:P.t("None")}),w.jsx(Jt,{value:"rooms",children:P.t("Rooms")}),w.jsx(Jt,{value:"functions",children:P.t("Functions")})]})]}),w.jsx("div",{style:{flex:1}}),w.jsx(Ie,{size:"small",sx:Fo.textColor,title:P.t("Charts preview"),onClick:()=>{const r=window.location.pathname.split("/");r.pop(),r.push("preview/index.html"),window.location.href=`${window.location.protocol}//${window.location.host}${r.join("/")}`},children:w.jsx(Mve,{})})]},"toolbarBottom")}render(){return w.jsxs("div",{style:Fo.mainListDiv,children:[this.renderListToolbar(),w.jsxs("div",{style:this.state.reorder?Fo.heightMinusToolbar:Fo.heightMinusTwoToolbars,children:[w.jsx(tnr,{socket:this.props.socket,scrollToSelect:this.props.scrollToSelect,addPresetFolderDialog:this.state.addPresetFolderDialog,onClosePresetFolderDialog:r=>this.setState({addPresetFolderDialog:!1},r),onCreatePreset:(r,n)=>this.props.onCreatePreset(r,n),onCopyPreset:r=>this.props.onCopyPreset(r),adapterName:this.props.adapterName,selectedPresetChanged:this.props.selectedPresetChanged,onShowToast:r=>this.props.onShowToast(r),onShowError:r=>this.props.onShowToast(r),onShowReorder:r=>{r!==this.props.showReorder&&this.setState({showReorder:r})},theme:this.props.theme,search:this.state.search,reorder:this.state.reorder,selectedId:this.props.selectedId,systemConfig:this.props.systemConfig,onSelectedChanged:(r,n)=>this.props.onSelectedChanged(r,n)}),this.state.reorder?null:w.jsx(anr,{socket:this.props.socket,scrollToSelect:this.props.scrollToSelect,instances:this.props.instances,adapterName:this.props.adapterName,onShowToast:r=>this.props.onShowToast(r),onShowError:r=>this.props.onShowToast(r),search:this.state.search,multiple:this.state.multiple&&!this.props.selectedPresetChanged,theme:this.props.theme,groupBy:this.state.groupBy,selectedId:this.props.selectedId,onChangeList:r=>{window.localStorage.setItem("App.echarts.chartList",JSON.stringify(r)),this.props.onChangeList(r)},chartsList:this.props.chartsList,onSelectedChanged:(r,n)=>this.props.onSelectedChanged(r,n)})]}),this.state.reorder?null:this.renderFooter()]},"mainMenuDiv")}}const snr=qs()(inr);function lnr(t,e){const r={};return t.replace(/\+/g," ").split("&").forEach(n=>{const o=n.split("=");let a=decodeURIComponent(o[0]),i,s=0,l=a.split("]["),d=l.length-1;if(/\[/.test(l[0])&&/]$/.test(l[d])?(l[d]=l[d].replace(/]$/,""),l=l.shift().split("[").concat(l),d=l.length-1):d=0,o.length===2)if(i=decodeURIComponent(o[1]),d){let h=r;for(;s<=d;s++)a=l[s]===""?h.length:l[s],h=h[a]=s{const a=$h(t,e,o);a&&a.then(()=>{})});if(!e||!e.length)return r(),null;const n=e.shift();return n?t.getObject(n._id).catch(()=>null).then(o=>{o?(console.log(`Object ${n._id} already exists and will not be converted`),setTimeout(()=>$h(t,e,r),50)):t.setObject(n._id,n).then(()=>setTimeout(()=>$h(t,e,r),50))}):setTimeout(()=>$h(t,e,r),50),null}function unr(t,e){const r={_id:t._id.replace(/^flot.\d+/,`echarts.${e}`),common:{name:t.common.name,expert:!0},native:{},type:"chart"};r._id.endsWith(".")&&(r._id=`empty_${Math.round(Math.random()*1e4)}`);const n=cnr(lnr(t.native.url));return n.lines||(n.lines=n.l,delete n.l),r.native.data=n,console.log(`Convert ${t._id} => ${r._id}`),r}function pnr(t,e){e=e||0;let r;return t.getObject(`system.adapter.echarts.${e}`).then(n=>(r=n,n&&n.native&&!n.native.convertDone?dnr(t):Promise.resolve([]))).then(n=>$h(t,n.map(o=>unr(o,e)))).then(()=>r.native.convertDone?Promise.resolve():(r.native.convertDone=!0,t.setObject(r._id,r))).catch(n=>(console.error(`Cannot convert flot: ${n}`),Promise.resolve()))}const Qp={root:t=>({width:"100%",height:"100%",background:t.palette.background.default,color:t.palette.mode==="dark"?"#FFF":"#000",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif'}),menuDiv:{overflow:"hidden"},content:t=>({width:"100%",height:"100%",backgroundColor:t.palette.background.default,position:"relative"}),menuDivWithoutMenu:{"&>div:first-child":{display:"none"},"&>.layout-splitter":{display:"none"}},progress:{margin:100},menuOpenCloseButton:t=>({position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,pt:"8px",cursor:"pointer",zIndex:1,height:25,width:20,background:t.palette.secondary.main,color:t.palette.primary.main,pl:"3px","&:hover":{color:"white"}}),buttonsContainer:{"& button":{whiteSpace:"nowrap"}}},E9=/[.\][*,;'"`<>\\?]/g;function T9(t,e){const r=window.localStorage.getItem(`App.echarts.__${t}`);return r?parseFloat(r):e}function eh(t,e){return window.localStorage.getItem(`App.echarts.__${t}`)||e}function sd(t,e){return window.localStorage.getItem(`App.echarts.__${t}`)||e}function O9(){if(window.location.hash){const t={};return window.location.hash.replace(/^#/,"").split("&").forEach(e=>{const[r,n]=e.split("=");t[r]=window.decodeURIComponent(n),r==="instance"&&!t[r].startsWith("system.adapter")&&(t[r]=`system.adapter.${t[r]}`)}),t}return null}class ay extends ys{constructor(r){const n={socket:{}},o=Wer();n.socket.port=o.port||(parseInt(window.location.port)>=3e3&&parseInt(window.location.port)<=3020?8081:window.location.port),n.socket.host=o.host||window.location.hostname,n.translations={en:mwt,de:yCt,ru:wEt,pt:COt,nl:EIt,fr:DNt,it:M3t,es:RLt,pl:z6t,uk:W9t,"zh-cn":VHt},n.sentryDSN=window.sentryDSN,window.location.port==="3000"&&(n.socket={port:"8081"}),window.socketUrl&&window.socketUrl.startsWith(":")&&(window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`);super(r,n);X(this,"config");X(this,"objects",{});X(this,"confirmCB",null);X(this,"onCopyPreset",async r=>{try{const n=await this.socket.getObject(r);if(n){const{id:o,name:a}=await this.getUniqueId(r,typeof n.common.name=="object"?n.common.name[P.getLanguage()]||n.common.name.en:n.common.name);n._id=o,n.common.name=a;try{await this.socket.setObject(n._id,n),this.loadChartOrPreset(o)}catch(i){this.onError(i,"Cannot save object")}}}catch(n){this.onError(n,"Cannot save object")}});X(this,"onCreatePreset",async(r,n)=>{var i;let o,a;if(r===!0){let s="";const l=this.state.selectedId,d=JSON.parse(JSON.stringify(this.state.chartsList||[]));d.find(f=>f.id===l.id&&f.instance===l.instance)||d.push(l);let h=null;d.length===1&&(h=await this.socket.getObject(d[0].id)),h&&((i=h==null?void 0:h.common)!=null&&i.name)&&(s=typeof h.common.name=="object"?(h.common.name[P.getLanguage()]||h.common.name.en||"").trim():h.common.name);const u=await this.getNewPresetName(n,s);a=`${this.adapterName}.0.${n?`${n}.`:""}${s.replace(E9,"_")}`,o={_id:a,common:{name:u,expert:!0},native:{data:JSON.parse(JSON.stringify(this.state.presetData))},type:"chart"}}else{const s=await this.getNewPresetName(n);a=`${this.adapterName}.0.${n?`${n}.`:""}${s.replace(E9,"_")}`,o={_id:a,common:{name:s},native:{url:"",data:G2(this.state.systemConfig,null,null,P.getLanguage())},type:"chart"}}try{await this.socket.setObject(a,o),this.loadChartOrPreset(a)}catch(s){this.onError(s,"Cannot save object")}});X(this,"savePreset",async()=>{if(!this.state.presetData)throw this.showError(P.t("Empty preset cannot be saved!")),new Error(P.t("Empty preset cannot be saved!"));try{const r=await this.socket.getObject(this.state.selectedId);if(!(r!=null&&r.native)){this.showError(P.t("Invalid object"));return}r.native.data=this.state.presetData;try{await this.socket.setObject(r._id,r)}catch(n){this.onError(n,"Cannot save object")}this.setState({originalPresetData:JSON.stringify(this.state.presetData),selectedPresetChanged:!1})}catch(r){this.onError(r,"Cannot read object")}});X(this,"onDragEnd",async r=>{const{source:n,destination:o,draggableId:a}=r;if(o&&a.includes("***")&&n.droppableId==="Lines"){const[i,s]=a.split("***");try{const l=await this.socket.getObject(s),d=JSON.parse(JSON.stringify(this.state.presetData)),h=Lh(this.state.systemConfig,i,l,P.getLanguage());for(let u=0;u=o.index&&(d.l[u].commonYAxis=d.l[u].commonYAxis+1);if(d.l.splice(o.index,0,h),d.l.length>1){if(h.unit){for(let u=0;uu.chartType==="bar")?h.chartType="bar":d.l.find(u=>u.chartType==="polar")&&(h.chartType="polar",h.aggregate="current")}this.setState({presetData:d,selectedPresetChanged:JSON.stringify(d)!==this.state.originalPresetData})}catch(l){this.onError(l,"Cannot read object")}}else if(o&&n.droppableId===o.droppableId){const i=JSON.parse(JSON.stringify(this.state.presetData));for(let l=0;lthis.setState({scrollToSelect:!0},()=>this.setState({scrollToSelect:!1})))}async onConnectionReady(){var h,u,f;const r=window.localStorage.getItem("App.echarts.selectedId");let n;if(r)try{n=JSON.parse(r)}catch{n=null}!n&&((h=this.config)!=null&&h.preset)?n=this.config.preset:!n&&((u=this.config)!=null&&u.id)&&(n={id:this.config.id,instance:this.config.instance});const o=window.localStorage.getItem("App.echarts.settingsSizes");let a=[25,75];if(o)try{a=JSON.parse(o)}catch{}a=a||[25,75];const i=window.localStorage.getItem("App.echarts.menuSizes");let s=[25,75];if(i)try{s=JSON.parse(i)}catch{}s=s||[25,75];const l={ready:!1,instances:[],splitSizes:a,menuSizes:s,selectedId:n,selectedPresetChanged:!1,presetData:null,originalPresetData:null,chartsList:null,progress:0,autoSave:window.localStorage.getItem("App.echarts.autoSave")==="true",discardChangesConfirmDialog:!1,resizing:!1,menuOpened:window.localStorage.getItem("App.echarts.menuOpened")!=="false",logHorzLayout:window.localStorage.getItem("App.echarts.logHorzLayout")==="true"};this.objects={};const d=await this.socket.getSystemConfig();if(l.systemConfig=d,l.presetData=G2(d),(f=this.config)!=null&&f.id){const g=this.config;l.selectedId={id:g.id,instance:g.instance},g.menuOpened!==void 0&&(l.menuOpened=g.menuOpened===!0),this.config=null}this.setState(l,async()=>{pnr(this.socket,this.instance);try{const y=(await this.socket.getAdapterInstances("")).filter(b=>{var x;return((x=b==null?void 0:b.common)==null?void 0:x.getHistory)&&b.common.enabled});this.setState({ready:!0,instances:y})}catch(g){this.onError(g,"Cannot read system config")}})}async getNewPresetName(r,n,o){o=o||(n?"":"1"),n=n||"preset_";let a;do{try{a=await this.socket.getObject(`${this.adapterName}.${this.instance}.${r?`${r}.`:""}${n}${o}`)}catch{return n+o}if(!a)return n+o;o?o=(parseInt(o,10)+1).toString():o="2"}while(a)}async getUniqueId(r,n){let o=0,a;do{const i=`${r}_${P.t("copy")}${o?`_${o}`:""}`,s=`${n} ${P.t("copy")}${o?` ${o}`:""}`;try{a=await this.socket.getObject(i)}catch{}if(!a)return{name:s,id:i};o++}while(o<100);throw new Error(P.t("Cannot create unique ID"))}onError(r,n){n&&console.error(n),this.showError(r.toString())}static normalizePreset(r){var n;r.lines&&(r.l=r.lines,delete r.lines),typeof r.range=="string"&&!r.range.includes("m")&&!r.range.includes("y")&&(r.range=parseInt(r.range,10)),(n=r.l)==null||n.forEach(o=>{typeof o.commonYAxis=="string"&&(o.commonYAxis===""?delete o.commonYAxis:o.commonYAxis=parseInt(o.commonYAxis,10)),typeof o.fill=="string"&&(o.fill===""?delete o.fill:o.fill=parseFloat(o.fill))})}async loadChartOrPreset(r){var n,o;if(window.localStorage.setItem("App.echarts.selectedId",JSON.stringify(r)),r&&typeof r=="object"){if(this.state.chartsList)for(const s of this.state.chartsList)this.objects[s.id]===void 0&&(this.objects[s.id]=await this.socket.getObject(s.id)||null);else this.objects={};this.objects[r.id]===void 0&&(this.objects[r.id]=await this.socket.getObject(r.id)||null);const a=(this.state.chartsList||[]).map(s=>Lh(this.state.systemConfig,s.instance,this.objects[s.id],P.getLanguage()));if((n=this.state.chartsList)!=null&&n.find(s=>s.id===r.id&&s.instance===r.instance)||a.push(Lh(this.state.systemConfig,r.instance,this.objects[r.id],P.getLanguage())),a.length>1){const s=a.find(l=>!l.isBoolean);if(s){const l=a.indexOf(s);if(s.yaxe="left",s.unit)for(let d=l+1;d1?"nw":""};ay.normalizePreset(i),await new Promise(s=>{this.setState({presetData:i,originalPresetData:"",selectedPresetChanged:!1,selectedId:r},()=>{const l=`#id=${r.id}&instance=${r.instance.replace(/^system\.adapter\./,"")}`;window.location.hash!==l&&(window.location.hash=l),s()})})}else if(r){const a=await this.socket.getObject(r);if((o=a==null?void 0:a.native)!=null&&o.data){const i=`#preset=${r}`;window.location.hash!==i&&(window.location.hash=i);const s={presetData:a.native.data,originalPresetData:JSON.stringify(a.native.data),selectedPresetChanged:!1,selectedId:r};ay.normalizePreset(s.presetData),await new Promise(l=>this.setState(s,()=>l()))}}else await new Promise(a=>{this.setState({presetData:null,originalPresetData:"",selectedPresetChanged:!1,selectedId:null},()=>a())})}discardChangesConfirmDialog(){return this.state.discardChangesConfirmDialog?w.jsxs(or,{maxWidth:"lg",fullWidth:!0,open:!0,onClose:()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!1)),children:[w.jsx(_r,{children:this.state.discardChangesConfirmDialog==="chart"?P.t("Are you sure for loading the chart and discard unsaved changes?"):this.state.discardChangesConfirmDialog==="preset"?P.t("Are you sure for loading the preset and discard unsaved changes?"):P.t("Are you sure for closing folder and discard unsaved changes?")}),w.jsxs(pr,{sx:{...Qp.alignRight,...Qp.buttonsContainer},children:[w.jsx(tt,{color:"grey",variant:"outlined",onClick:()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!0)),children:P.t("Load without save")}),w.jsx(tt,{variant:"contained",color:"secondary",autoFocus:!0,onClick:()=>this.savePreset().then(()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!0))),startIcon:w.jsx(pH,{}),children:P.t("Save current preset and load")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!1)),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"discardChangesConfirmDialog"):null}renderMain(){let r=null,n=null;this.state.presetData&&this.state.selectedId&&typeof this.state.selectedId=="string"&&(r=w.jsx(oZt,{socket:this.socket,width:window.innerWidth,theme:this.state.theme,onChange:a=>{this.state.autoSave?this.setState({presetData:a},()=>this.savePreset()):this.setState({presetData:a,selectedPresetChanged:JSON.stringify(a)!==this.state.originalPresetData})},presetData:this.state.presetData,selectedId:this.state.selectedId,instances:this.state.instances,systemConfig:this.state.systemConfig,selectedPresetChanged:this.state.selectedPresetChanged,savePreset:this.savePreset,autoSave:this.state.autoSave,onAutoSave:a=>{window.localStorage.setItem("App.echarts.autoSave",a?"true":"false"),a&&this.state.selectedPresetChanged?this.savePreset().then(()=>this.setState({autoSave:a})):this.setState({autoSave:a})},windowWidth:this.state.menuSizes[1]},"Editor")),this.state.selectedId&&(n=w.jsx(Ber,{visible:!this.state.resizing,theme:this.state.theme,onChange:a=>this.setState({presetData:a}),presetData:this.state.presetData,selectedId:this.state.selectedId,onCreatePreset:this.onCreatePreset,windowWidth:this.state.menuSizes[1]},"MainChart"));let o;return n&&r?o=w.jsxs(CP,{direction:this.state.logHorzLayout?Tr.Horizontal:Tr.Vertical,initialSizes:this.state.splitSizes,minWidths:[100,450],onResizeFinished:(a,i)=>{this.setState({resizing:!1,splitSizes:i}),window.localStorage.setItem("App.echarts.settingsSizes",JSON.stringify(i))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[n,r]}):o=n,[w.jsxs(Re,{component:"div",sx:Qp.content,className:"iobVerticalSplitter",children:[w.jsx(Re,{component:"div",sx:Qp.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.echarts.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:this.state.menuOpened?w.jsx(Bpe,{}):w.jsx(HE,{})},"confirmdiv"),o]},"confirmdialog")]}renderMenu(){return w.jsx(snr,{scrollToSelect:this.state.scrollToSelect,socket:this.socket,theme:this.state.theme,adapterName:this.adapterName,instances:this.state.instances,systemConfig:this.state.systemConfig,onShowToast:r=>this.showToast(r),selectedPresetChanged:this.state.selectedPresetChanged,chartsList:this.state.chartsList,selectedId:this.state.selectedId,onCopyPreset:this.onCopyPreset,onCreatePreset:this.onCreatePreset,onChangeList:r=>{let n=this.state.selectedId;if(r&&this.state.chartsList&&r.length&&r.length!r.find(s=>s.id===i.id&&s.instance===i.instance)),a=this.state.chartsList.indexOf(o);this.state.chartsList[a+1]?n=this.state.chartsList[a+1]:this.state.chartsList[a-1]?n=this.state.chartsList[a-1]:n=r[0]}this.setState({chartsList:r},()=>this.loadChartOrPreset(n))},onSelectedChanged:(r,n)=>{this.state.selectedPresetChanged?(this.confirmCB=o=>{o?this.loadChartOrPreset(r).then(()=>n&&n(r)):n&&n(!1),this.confirmCB=null},this.setState({discardChangesConfirmDialog:r&&typeof r=="object"?"chart":r?"preset":"folder"})):this.loadChartOrPreset(r)}},"menuList")}render(){if(!this.state.ready)return w.jsx(uE,{injectFirst:!0,children:w.jsx(yE,{theme:this.state.theme,children:w.jsx(QH,{themeType:this.state.themeType})})});let r;return this.state.menuOpened?r=w.jsx(XN,{onDragEnd:this.onDragEnd,children:w.jsxs(CP,{direction:Tr.Horizontal,initialSizes:this.state.menuSizes,minWidths:[307,300],onResizeFinished:(n,o)=>{this.setState({resizing:!1,menuSizes:[o[0],100-o[0]]}),window.localStorage.setItem("App.echarts.menuSizes",JSON.stringify(o))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[this.renderMenu(),this.renderMain()]})}):r=r=w.jsx(XN,{onDragEnd:this.onDragEnd,children:this.renderMain()}),w.jsx(uE,{injectFirst:!0,children:w.jsxs(yE,{theme:this.state.theme,children:[w.jsx(Re,{sx:Qp.root,children:r}),this.discardChangesConfirmDialog(),this.renderError(),this.renderToast()]})})}}const hnr=qs()(ay);window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function fnr(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(t=>t.unregister())}const mnr="echarts.edit",gnr="1.9.2",vnr={"@devbookhq/splitter":"^1.4.2","@vitejs/plugin-react":"^4.3.4","@types/react-color":"^3.0.13","@types/react-beautiful-dnd":"^13.1.8","material-ui-color-picker":"^3.5.1",moment:"^2.30.1",react:"^18.3.1","react-beautiful-dnd":"^13.1.1","react-dnd":"^16.0.1","react-dnd-html5-backend":"^16.0.1","react-dnd-touch-backend":"^16.0.1","react-dom":"^18.3.1","react-i18next":"^15.4.0","react-icons":"^5.4.0",typescript:"^5.7.2"},ynr=".",_nr={start:"vite dev --config vite.config.mjs --host",build:"vite build --config vite.config.mjs",lint:"eslint -c eslint.config.mjs --debug",npm:"npm i -f",tsc:"tsc -p tsconfig.json"},bnr="http://127.0.0.1:8081",wnr=["127.0.0.1"],xnr={extends:"react-app"},Snr=[">0.2%","not dead","not ie <= 11","not op_mini all"],Cnr={name:mnr,version:gnr,private:!0,dependencies:vnr,homepage:ynr,scripts:_nr,_proxy:bnr,allowedHosts:wnr,eslintConfig:xnr,browserslist:Snr};window.adapterName="echarts";window.sentryDSN="https://709f116e1de34029921e4f2696d6740f@sentry.iobroker.net/88";console.log(`iobroker.${window.adapterName}@${Cnr.version}`);const D9=document.getElementById("root");D9&&LJ.createRoot(D9).render(w.jsx(hnr,{}));fnr()});export default $nr(); + */eG();var rG=Date.now(),Fk="fnValues"+rG,Bk="fnStyle"+ ++rG,xQt=function(){return{onCreateRule:function(r,n,o){if(typeof n!="function")return null;var a=xA(r,{},o);return a[Bk]=n,a},onProcessStyle:function(r,n){if(Fk in n||Bk in n)return r;var o={};for(var a in r){var i=r[a];typeof i=="function"&&(delete r[a],o[a]=i)}return n[Fk]=o,r},onUpdate:function(r,n,o,a){var i=n,s=i[Bk];s&&(i.style=s(r)||{});var l=i[Fk];if(l)for(var d in l)i.prop(d,l[d](r),a)}}},As="@global",rT="@global ",SQt=function(){function t(r,n,o){this.type="global",this.at=As,this.isProcessed=!1,this.key=r,this.options=o,this.rules=new C_(De({},o,{parent:this}));for(var a in n)this.rules.add(a,n[a]);this.rules.process()}var e=t.prototype;return e.getRule=function(n){return this.rules.get(n)},e.addRule=function(n,o,a){var i=this.rules.add(n,o,a);return i&&this.options.jss.plugins.onProcessRule(i),i},e.replaceRule=function(n,o,a){var i=this.rules.replace(n,o,a);return i&&this.options.jss.plugins.onProcessRule(i),i},e.indexOf=function(n){return this.rules.indexOf(n)},e.toString=function(n){return this.rules.toString(n)},t}(),CQt=function(){function t(r,n,o){this.type="global",this.at=As,this.isProcessed=!1,this.key=r,this.options=o;var a=r.substr(rT.length);this.rule=o.jss.createRule(a,n,De({},o,{parent:this}))}var e=t.prototype;return e.toString=function(n){return this.rule?this.rule.toString(n):""},t}(),$Qt=/\s*,\s*/g;function nG(t,e){for(var r=t.split($Qt),n="",o=0;o-1){var a=lG[e];if(!Array.isArray(a))return It.js+Fs(a)in r?It.css+a:!1;if(!o)return!1;for(var i=0;in?1:-1:r.length-n.length};return{onProcessStyle:function(r,n){if(n.type!=="style")return r;for(var o={},a=Object.keys(r).sort(t),i=0;i"u"?null:fer(),mer()]}}function dG(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.baseClasses,r=t.newClasses;if(t.Component,!r)return e;var n=De({},e);return Object.keys(r).forEach(function(o){r[o]&&(n[o]="".concat(e[o]," ").concat(r[o]))}),n}var Yd={set:function(e,r,n,o){var a=e.get(r);a||(a=new Map,e.set(r,a)),a.set(n,o)},get:function(e,r,n){var o=e.get(r);return o?o.get(n):void 0},delete:function(e,r,n){var o=e.get(r);o.delete(n)}},ver=m.createContext(null);function uG(){var t=m.useContext(ver);return t}var yer=eG(ger()),_er=NZt(),ber=new Map,wer={disableGeneration:!1,generateClassName:_er,jss:yer,sheetsCache:null,sheetsManager:ber,sheetsRegistry:null},xer=m.createContext(wer),a9=-1e9;function Ser(){return a9+=1,a9}var Cer={};function $er(t){var e=typeof t=="function";return{create:function(n,o){var a;try{a=e?t(n):t}catch(l){throw l}if(!o||!n.overrides||!n.overrides[o])return a;var i=n.overrides[o],s=De({},a);return Object.keys(i).forEach(function(l){s[l]=ku(s[l],i[l])}),s},options:{}}}function ker(t,e,r){var n=t.state,o=t.stylesOptions;if(o.disableGeneration)return e||{};n.cacheClasses||(n.cacheClasses={value:null,lastProp:null,lastJSS:{}});var a=!1;return n.classes!==n.cacheClasses.lastJSS&&(n.cacheClasses.lastJSS=n.classes,a=!0),e!==n.cacheClasses.lastProp&&(n.cacheClasses.lastProp=e,a=!0),a&&(n.cacheClasses.value=dG({baseClasses:n.cacheClasses.lastJSS,newClasses:e,Component:r})),n.cacheClasses.value}function Eer(t,e){var r=t.state,n=t.theme,o=t.stylesOptions,a=t.stylesCreator,i=t.name;if(!o.disableGeneration){var s=Yd.get(o.sheetsManager,a,n);s||(s={refs:0,staticSheet:null,dynamicStyles:null},Yd.set(o.sheetsManager,a,n,s));var l=De({},a.options,o,{theme:n,flip:typeof o.flip=="boolean"?o.flip:n.direction==="rtl"});l.generateId=l.serverGenerateClassName||l.generateClassName;var d=o.sheetsRegistry;if(s.refs===0){var h;o.sheetsCache&&(h=Yd.get(o.sheetsCache,a,n));var u=a.create(n,i);h||(h=o.jss.createStyleSheet(u,De({link:!1},l)),h.attach(),o.sheetsCache&&Yd.set(o.sheetsCache,a,n,h)),d&&d.add(h),s.staticSheet=h,s.dynamicStyles=tG(u)}if(s.dynamicStyles){var f=o.jss.createStyleSheet(s.dynamicStyles,De({link:!0},l));f.update(e),f.attach(),r.dynamicSheet=f,r.classes=dG({baseClasses:s.staticSheet.classes,newClasses:f.classes}),d&&d.add(f)}else r.classes=s.staticSheet.classes;s.refs+=1}}function Ter(t,e){var r=t.state;r.dynamicSheet&&r.dynamicSheet.update(e)}function Oer(t){var e=t.state,r=t.theme,n=t.stylesOptions,o=t.stylesCreator;if(!n.disableGeneration){var a=Yd.get(n.sheetsManager,o,r);a.refs-=1;var i=n.sheetsRegistry;a.refs===0&&(Yd.delete(n.sheetsManager,o,r),n.jss.removeStyleSheet(a.staticSheet),i&&i.remove(a.staticSheet)),e.dynamicSheet&&(n.jss.removeStyleSheet(e.dynamicSheet),i&&i.remove(e.dynamicSheet))}}function Der(t,e){var r=m.useRef([]),n,o=m.useMemo(function(){return{}},e);r.current!==o&&(r.current=o,n=t()),m.useEffect(function(){return function(){n&&n()}},[o])}function Aer(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=e.name,n=e.classNamePrefix,o=e.Component,a=e.defaultTheme,i=a===void 0?Cer:a,s=ji(e,["name","classNamePrefix","Component","defaultTheme"]),l=$er(t),d=r||n||"makeStyles";l.options={index:Ser(),name:r,meta:d,classNamePrefix:d};var h=function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=uG()||i,y=De({},m.useContext(xer),s),b=m.useRef(),x=m.useRef();Der(function(){var T={name:r,state:{},stylesCreator:l,stylesOptions:y,theme:g};return Eer(T,f),x.current=!1,b.current=T,function(){Oer(T)}},[g,l]),m.useEffect(function(){x.current&&Ter(b.current,f),x.current=!0});var S=ker(b.current,f.classes,o);return S};return h}function pG(t){var e,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e1&&arguments[1]!==void 0?arguments[1]:{};return function(n){var o=r.defaultTheme,a=r.withTheme,i=a===void 0?!1:a,s=r.name,l=ji(r,["defaultTheme","withTheme","name"]),d=s,h=Aer(e,De({defaultTheme:o,Component:n,name:s||n.displayName,classNamePrefix:d},l)),u=m.forwardRef(function(g,y){g.classes;var b=g.innerRef,x=ji(g,["classes","innerRef"]),S=h(De({},n.defaultProps,g)),T,E=x;return(typeof s=="string"||i)&&(T=uG()||o,s&&(E=RZt({theme:T,name:s,props:x})),i&&!E.theme&&(E.theme=T)),m.createElement(n,De({ref:b||y,classes:S},E))});return bE(u,n),u}},Per=AZt();function Ner(t,e){return Mer(t,De({defaultTheme:Per},e))}var Rer=function(e){return{root:{flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"8px 24px","&:first-child":{paddingTop:20}},dividers:{padding:"16px 24px",borderTop:"1px solid ".concat(e.palette.divider),borderBottom:"1px solid ".concat(e.palette.divider)}}},jer=A.forwardRef(function(e,r){var n=e.classes,o=e.className,a=e.dividers,i=a===void 0?!1:a,s=ji(e,["classes","className","dividers"]);return A.createElement("div",De({className:Ier(n.root,o,i&&n.dividers),ref:r},s))});const Ler=Ner(Rer,{name:"MuiDialogContent"})(jer),Ua={timeSpan:200,aggregate:250,autoRefresh:150,bigButton:200},Nn={mainDiv:{gap:2},fieldsContainer:{"& > div":{display:"flex",pr:"20px",width:200}},popOver:{padding:16},refreshSelect:{display:"inline-block","& > div:before":{borderWidth:0},"& > div:hover:before":{borderBottom:0}},refreshSelectButtonTitle:{display:"inline-flex",paddingTop:6},settingsButton:{color:"currentColor",fontSize:16,textTransform:"inherit",flexGrow:1},grow1:{flexGrow:2},aggregateIcon:{marginTop:4},divider:t=>({borderLeftColor:t.palette.mode==="dark"?"#CCC":"#444",borderLeftStyle:"dotted",borderLeftWidth:"1px",width:"1px",height:"80%"})},zer=t=>w.jsx(Re,{component:"div",sx:t.sx,title:t.tooltip,children:w.jsx(Bn,{variant:"standard",onChange:e=>t.updateValue(parseInt(e.target.value,10)),value:t.value.toString()||"",renderValue:t.renderValue,displayEmpty:!0,children:t.options?Object.keys(t.options).map(e=>w.jsx(Jt,{value:e,children:t.noTranslate?t.options[e]:P.t(t.options[e])},e)):null})}),i9={10:"10 minutes",30:"30 minutes",60:"1 hour",120:"2 hours",180:"3 hours",360:"6 hours",720:"12 hours",1440:"1 day",2880:"2 days",4320:"3 days",10080:"7 days",20160:"14 days","1m":"1 month","2m":"2 months","3m":"3 months","6m":"6 months","1y":"1 year","2y":"2 years"},s9={now:"now","1minute":"end of minute","5minutes":"end of 5 minutes","10minutes":"end of 10 minutes","30minutes":"end of 30 minutes","1hour":"end of hour","2hours":"end of 2 hours","3hours":"end of 3 hours","4hours":"end of 4 hours","6hours":"end of 6 hours","8hours":"end of 8 hours","12hours":"end of 12 hours",today:"end of day",weekEurope:"end of sunday",weekUsa:"end of saturday",week2Europe:"end of previous sunday",week2Usa:"end of previous saturday",month:"this month",year:"this year"},l9={"":"none",5:"5 seconds",10:"10 seconds",15:"15 seconds",20:"20 seconds",30:"30 seconds",60:"1 minute",120:"2 minutes",300:"5 minutes",600:"10 minutes",900:"15 minutes",1200:"20 minutes",1800:"30 minutes",3600:"1 hour",7200:"2 hours",10800:"3 hours",21600:"6 hours",43200:"12 hours",86400:"1 day"},Xk={auto:"Auto (Line or Steps)",line:"Line",bar:"Bar",polar:"Polar",scatterplot:"Scatter plot",steps:"Steps",stepsStart:"Steps on start",spline:"Spline"},Jk={minmax:"minmax",average:"average",min:"min",max:"max",total:"total",onchange:"raw",percentile:"percentile",integral:"integral",count:"count",none:"none",current:"current"};class Fer extends m.Component{constructor(r){super(r);X(this,"windowWidth");X(this,"toolbarRef");X(this,"handleResize",()=>{this.toolbarRef.current&&this.toolbarRef.current.clientWidth!==this.state.clientWidth&&this.setState({clientWidth:this.toolbarRef.current.clientWidth})});this.windowWidth=this.props.windowWidth,this.state={timeSpanOpened:!1,aggregateOpened:!1,clientWidth:0,showMore:!1},this.toolbarRef=m.createRef()}componentDidMount(){window.addEventListener("resize",this.handleResize)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}componentDidUpdate(){this.toolbarRef.current&&this.toolbarRef.current.clientWidth!==this.state.clientWidth&&(this.windowWidth=this.props.windowWidth,this.setState({clientWidth:this.toolbarRef.current.clientWidth}))}renderShowMore(){return this.state.showMore?w.jsxs(or,{maxWidth:"xs",fullWidth:!0,open:!0,onClose:()=>this.setState({showMore:!1}),children:[w.jsxs(Ler,{children:[this.renderTimeSpanElements(),this.renderAggregateElements(),this.renderAutoRefresh()]}),w.jsx(pr,{children:w.jsx(tt,{variant:"contained",onClick:()=>this.setState({showMore:!1}),startIcon:w.jsx(Ar,{}),children:P.t("Close")})})]}):null}renderTimeSpanElements(){return[w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.timeType,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.timeType=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__timeType",r.toString())},label:"Type",options:{relative:"relative",static:"static"}},"time-type"),this.props.presetData.timeType==="static"?w.jsx(ty,{fullWidth:!0,date:this.props.presetData.start.toString(),time:this.props.presetData.start_time,updateValue:(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.start=r,o.start_time=n,this.props.onChange(o),window.localStorage.setItem("App.echarts.__start",r),window.localStorage.setItem("App.echarts.__start_time",n)},label:"Start"},"static-start"):null,this.props.presetData.timeType==="static"?w.jsx(ty,{fullWidth:!0,date:this.props.presetData.end.toString(),time:this.props.presetData.end_time,updateValue:(r,n)=>{const o=JSON.parse(JSON.stringify(this.props.presetData));o.end=r,o.end_time=n,this.props.onChange(o),window.localStorage.setItem("App.echarts.__end",r),window.localStorage.setItem("App.echarts.__end_time",n)},label:"End"},"static-end"):null,this.props.presetData.timeType!=="static"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.relativeEnd,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.relativeEnd=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__relativeEnd",r)},label:"End",options:s9},"non-static-end"):null,this.props.presetData.timeType!=="static"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.range.toString(),updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.range=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__range",r)},label:"Range",options:i9},"non-static-range"):null]}renderTimeSpan(){return w.jsxs(w.Fragment,{children:[w.jsxs(tt,{color:"grey",title:P.t("Time span"),size:"small",style:Nn.settingsButton,id:"timeSpanOpenButton",onClick:()=>this.setState({timeSpanOpened:!this.state.timeSpanOpened}),children:[w.jsx(ive,{}),this.props.presetData.timeType==="relative"?`${P.t(i9[this.props.presetData.range])} ${P.t("to")} ${P.t(s9[this.props.presetData.relativeEnd])}`:`${this.props.presetData.start} ${this.props.presetData.start_time} - ${this.props.presetData.end} ${this.props.presetData.end_time}`,w.jsx(z5,{})]}),w.jsx(Re,{sx:Nn.divider}),w.jsx(WE,{style:Nn.popOver,open:this.state.timeSpanOpened,onClose:()=>{this.setState({timeSpanOpened:!1})},anchorEl:()=>document.getElementById("timeSpanOpenButton"),anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:w.jsx("div",{style:Nn.popOver,children:w.jsx(Re,{component:"div",sx:Nn.fieldsContainer,children:this.renderTimeSpanElements()})})})]})}renderAggregateElements(){return[w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.chartType,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.chartType=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__chartType",r)},label:"Chart type",options:Xk},"chart-type"),this.props.presetData.chartType!=="auto"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.aggregate,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.aggregate=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__aggregate",r)},label:"Aggregate",options:Jk},"aggregate"):null,this.props.presetData.aggregate!=="onchange"?w.jsx(Dt,{fullWidth:!0,value:this.props.presetData.aggregateType,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.aggregateType=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__aggregateType",r)},label:"Step type",options:{count:"counts",step:"seconds"}},"aggregateType"):null,this.props.presetData.aggregate!=="onchange"?w.jsx(Er,{fullWidth:!0,value:this.props.presetData.aggregateSpan,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.aggregateSpan=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__aggregateSpan",r.toString())},label:this.props.presetData.aggregateType==="step"?"Seconds":"Counts"},"aggregateSpan"):null]}renderAggregate(){return w.jsxs(w.Fragment,{children:[w.jsxs(tt,{color:"grey",title:P.t("Aggregate"),size:"small",style:Nn.settingsButton,id:"aggregateOpenButton",onClick:()=>this.setState({aggregateOpened:!this.state.aggregateOpened}),children:[w.jsx(iZt,{style:Nn.aggregateIcon}),Xk[this.props.presetData.chartType]?P.t(Xk[this.props.presetData.chartType]):"","/",Jk[this.props.presetData.aggregate]?P.t(Jk[this.props.presetData.aggregate]):"",w.jsx(z5,{})]}),w.jsx(Re,{sx:Nn.divider}),w.jsx(WE,{open:this.state.aggregateOpened,anchorEl:()=>document.getElementById("aggregateOpenButton"),onClose:()=>{this.setState({aggregateOpened:!1})},children:w.jsx("div",{style:Nn.popOver,children:w.jsx(Re,{component:"div",sx:Nn.fieldsContainer,children:this.renderAggregateElements()})})})]})}renderAutoRefresh(){return this.props.presetData.timeType!=="relative"?null:w.jsx(zer,{sx:Nn.refreshSelect,value:this.props.presetData.live,updateValue:r=>{const n=JSON.parse(JSON.stringify(this.props.presetData));n.live=r,this.props.onChange(n),window.localStorage.setItem("App.echarts.__live",r.toString())},tooltip:P.t("Auto-refresh"),options:l9,renderValue:()=>w.jsxs("div",{style:Nn.refreshSelectButtonTitle,children:[w.jsx(MO,{})," ",P.t(l9[this.props.presetData.live])]})})}render(){const r={timeSpan:!1,aggregate:!1,autoRefresh:!1,bigButton:!1};let n=!1;const o=(this.state.clientWidth||1024)-32-40-20,a=4,i=this.props.presetData.timeType==="relative"?1:0;return o>=Ua.timeSpan+Ua.aggregate+Ua.autoRefresh*i+Ua.bigButton+a*3?(r.timeSpan=!0,r.aggregate=!0,r.autoRefresh=!0,r.bigButton=!0):o>=Ua.timeSpan+Ua.aggregate+Ua.autoRefresh*i+48+a*3?(r.timeSpan=!0,r.aggregate=!0,r.autoRefresh=!!i,r.bigButton=!1):o>=Ua.timeSpan+Ua.aggregate+48+a*2?(r.timeSpan=!0,r.aggregate=!0,n=!!i):(o>=Ua.timeSpan+48+a&&(r.timeSpan=!0),n=!0),w.jsxs(af,{ref:this.toolbarRef,style:Nn.mainDiv,variant:"dense",children:[this.renderShowMore(),r.timeSpan?this.renderTimeSpan():null,r.aggregate?this.renderAggregate():null,r.autoRefresh?w.jsxs(w.Fragment,{children:[this.renderAutoRefresh(),w.jsx(Re,{sx:Nn.divider})]}):null,w.jsx("div",{style:Nn.grow1}),n?w.jsx(Ie,{size:"small",title:P.t("Show controls"),onClick:()=>this.setState({showMore:!0}),children:w.jsx(Ave,{})}):null,r.bigButton?w.jsx(tt,{variant:"contained",color:"primary",onClick:()=>this.props.onCreatePreset(!0),startIcon:w.jsx(Nv,{}),style:{whiteSpace:"nowrap"},children:P.t("Create preset")}):w.jsx(Ie,{size:"small",color:"primary",title:P.t("Create preset"),onClick:()=>this.props.onCreatePreset(!0),children:w.jsx(Nv,{})})]})}}const c9={darkBackground:{stroke:"#3a3a3a !important",fill:"#515151 !important"},iframe:t=>({width:"100%",height:"100%",overflow:"auto",border:0,color:t.palette.primary.main})};class Ber extends m.Component{constructor(){super(...arguments);X(this,"ready",!1);X(this,"refIframe",null);X(this,"lastPresetData","");X(this,"onReceiveMessage",r=>{var n;(r==null?void 0:r.data)==="chartReady"&&(this.ready=!0,this.lastPresetData=JSON.stringify(this.props.presetData),(n=this.refIframe.contentWindow)==null||n.postMessage(this.lastPresetData,"*"),console.log("Received ready from iframe"))})}componentDidMount(){window.addEventListener("message",this.onReceiveMessage,!1)}componentWillUnmount(){window.removeEventListener("message",this.onReceiveMessage,!1)}render(){var r;return window.location.port==="3000"?w.jsx(zn,{sx:c9.iframe,style:{background:"#333"},children:w.jsx("pre",{children:JSON.stringify(this.props.presetData,null,2)})}):(this.lastPresetData!==JSON.stringify(this.props.presetData)&&this.ready&&(this.lastPresetData=JSON.stringify(this.props.presetData),(r=this.refIframe.contentWindow)==null||r.postMessage(this.lastPresetData,"*")),w.jsx("iframe",{ref:n=>{this.refIframe=n},title:"iobrokerChart",style:ue.getStyle(this.props.theme,c9.iframe),src:this.props.src}))}}const Yk={container:{height:"100%",width:"100%",overflow:"hidden"},heightWithoutToolbar:{height:"calc(100% - 48px)"},height100:{height:"100%"}};class Wer extends m.Component{renderToolbar(){return this.props.selectedId&&typeof this.props.selectedId=="string"?null:w.jsx(Fer,{windowWidth:this.props.windowWidth,onChange:this.props.onChange,presetData:this.props.presetData,onCreatePreset:(e,r)=>this.props.onCreatePreset(e,r)})}getChartFrame(){const e=(window.location.search||"").includes("dev=true")?"http://localhost:3000/":"chart/",r=JSON.parse(JSON.stringify(this.props.presetData));return typeof this.props.selectedId=="object"&&r.l&&(delete r.l[0].aggregate,delete r.l[0].chartType),w.jsx("div",{style:typeof this.props.selectedId!="string"?Yk.heightWithoutToolbar:Yk.height100,children:this.props.visible?w.jsx(Ber,{src:`${e}index.html?edit=1`,presetData:r,theme:this.props.theme}):w.jsx(zve,{style:{height:"100%",width:"100%"}})})}render(){return w.jsx(uE,{injectFirst:!0,children:w.jsx(yE,{theme:this.props.theme,children:w.jsxs("div",{style:Yk.container,children:[this.renderToolbar(),this.getChartFrame()]})})})}}function Her(){const t=(window.location.search||"").replace(/^\?/,"").split("&"),e={};return t.forEach(r=>{const[n,o]=r.split("=");e[decodeURIComponent(n)]=o!==void 0?decodeURIComponent(o):!0}),e}const hG=A.createContext({dragDropManager:void 0});function At(t,e,...r){if(Uer()&&e===void 0)throw new Error("invariant requires an error message argument");if(!t){let n;if(e===void 0)n=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let o=0;n=new Error(e.replace(/%s/g,function(){return r[o++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function Uer(){return typeof process<"u"&&!0}function Ver(t,e,r){return e.split(".").reduce((n,o)=>n&&n[o]?n[o]:r||null,t)}function qer(t,e){return t.filter(r=>r!==e)}function fG(t){return typeof t=="object"}function Ger(t,e){const r=new Map,n=a=>{r.set(a,r.has(a)?r.get(a)+1:1)};t.forEach(n),e.forEach(n);const o=[];return r.forEach((a,i)=>{a===1&&o.push(i)}),o}function Xer(t,e){return t.filter(r=>e.indexOf(r)>-1)}const kA="dnd-core/INIT_COORDS",$_="dnd-core/BEGIN_DRAG",EA="dnd-core/PUBLISH_DRAG_SOURCE",k_="dnd-core/HOVER",E_="dnd-core/DROP",T_="dnd-core/END_DRAG";function d9(t,e){return{type:kA,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}const Jer={type:kA,payload:{clientOffset:null,sourceClientOffset:null}};function Yer(t){return function(r=[],n={publishSource:!0}){const{publishSource:o=!0,clientOffset:a,getSourceClientOffset:i}=n,s=t.getMonitor(),l=t.getRegistry();t.dispatch(d9(a)),Ker(r,s,l);const d=etr(r,s);if(d==null){t.dispatch(Jer);return}let h=null;if(a){if(!i)throw new Error("getSourceClientOffset must be defined");Zer(i),h=i(d)}t.dispatch(d9(a,h));const f=l.getSource(d).beginDrag(s,d);if(f==null)return;Qer(f),l.pinSource(d);const g=l.getSourceType(d);return{type:$_,payload:{itemType:g,item:f,sourceId:d,clientOffset:a||null,sourceClientOffset:h||null,isSourcePublic:!!o}}}}function Ker(t,e,r){At(!e.isDragging(),"Cannot call beginDrag while dragging."),t.forEach(function(n){At(r.getSource(n),"Expected sourceIds to be registered.")})}function Zer(t){At(typeof t=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function Qer(t){At(fG(t),"Item must be an object.")}function etr(t,e){let r=null;for(let n=t.length-1;n>=0;n--)if(e.canDragSource(t[n])){r=t[n];break}return r}function ttr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function rtr(t){for(var e=1;e{const l=atr(i,s,o,n),d={type:E_,payload:{dropResult:rtr({},r,l)}};t.dispatch(d)})}}function otr(t){At(t.isDragging(),"Cannot call drop while not dragging."),At(!t.didDrop(),"Cannot call drop twice during one drag operation.")}function atr(t,e,r,n){const o=r.getTarget(t);let a=o?o.drop(n,t):void 0;return itr(a),typeof a>"u"&&(a=e===0?{}:n.getDropResult()),a}function itr(t){At(typeof t>"u"||fG(t),"Drop result must either be an object or undefined.")}function str(t){const e=t.getTargetIds().filter(t.canDropOnTarget,t);return e.reverse(),e}function ltr(t){return function(){const r=t.getMonitor(),n=t.getRegistry();ctr(r);const o=r.getSourceId();return o!=null&&(n.getSource(o,!0).endDrag(r,o),n.unpinSource()),{type:T_}}}function ctr(t){At(t.isDragging(),"Cannot call endDrag while not dragging.")}function aT(t,e){return e===null?t===null:Array.isArray(t)?t.some(r=>r===e):t===e}function dtr(t){return function(r,{clientOffset:n}={}){utr(r);const o=r.slice(0),a=t.getMonitor(),i=t.getRegistry(),s=a.getItemType();return htr(o,i,s),ptr(o,a,i),ftr(o,a,i),{type:k_,payload:{targetIds:o,clientOffset:n||null}}}}function utr(t){At(Array.isArray(t),"Expected targetIds to be an array.")}function ptr(t,e,r){At(e.isDragging(),"Cannot call hover while not dragging."),At(!e.didDrop(),"Cannot call hover after drop.");for(let n=0;n=0;n--){const o=t[n],a=e.getTargetType(o);aT(a,r)||t.splice(n,1)}}function ftr(t,e,r){t.forEach(function(n){r.getTarget(n).hover(e,n)})}function mtr(t){return function(){if(t.getMonitor().isDragging())return{type:EA}}}function gtr(t){return{beginDrag:Yer(t),publishDragSource:mtr(t),hover:dtr(t),drop:ntr(t),endDrag:ltr(t)}}class vtr{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const e=this,{dispatch:r}=this.store;function n(a){return(...i)=>{const s=a.apply(e,i);typeof s<"u"&&r(s)}}const o=gtr(this);return Object.keys(o).reduce((a,i)=>{const s=o[i];return a[i]=n(s),a},{})}dispatch(e){this.store.dispatch(e)}constructor(e,r){this.isSetUp=!1,this.handleRefCountChange=()=>{const n=this.store.getState().refCount>0;this.backend&&(n&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!n&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=r,e.subscribe(this.handleRefCountChange)}}function ytr(t,e){return{x:t.x+e.x,y:t.y+e.y}}function mG(t,e){return{x:t.x-e.x,y:t.y-e.y}}function _tr(t){const{clientOffset:e,initialClientOffset:r,initialSourceClientOffset:n}=t;return!e||!r||!n?null:mG(ytr(e,n),r)}function btr(t){const{clientOffset:e,initialClientOffset:r}=t;return!e||!r?null:mG(e,r)}const Bh=[],TA=[];Bh.__IS_NONE__=!0;TA.__IS_ALL__=!0;function wtr(t,e){return t===Bh?!1:t===TA||typeof e>"u"?!0:Xer(e,t).length>0}class xtr{subscribeToStateChange(e,r={}){const{handlerIds:n}=r;At(typeof e=="function","listener must be a function."),At(typeof n>"u"||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");let o=this.store.getState().stateId;const a=()=>{const i=this.store.getState(),s=i.stateId;try{s===o||s===o+1&&!wtr(i.dirtyHandlerIds,n)||e()}finally{o=s}};return this.store.subscribe(a)}subscribeToOffsetChange(e){At(typeof e=="function","listener must be a function.");let r=this.store.getState().dragOffset;const n=()=>{const o=this.store.getState().dragOffset;o!==r&&(r=o,e())};return this.store.subscribe(n)}canDragSource(e){if(!e)return!1;const r=this.registry.getSource(e);return At(r,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:r.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const r=this.registry.getTarget(e);if(At(r,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop())return!1;const n=this.registry.getTargetType(e),o=this.getItemType();return aT(n,o)&&r.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;const r=this.registry.getSource(e,!0);if(At(r,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic())return!1;const n=this.registry.getSourceType(e),o=this.getItemType();return n!==o?!1:r.isDragging(this,e)}isOverTarget(e,r={shallow:!1}){if(!e)return!1;const{shallow:n}=r;if(!this.isDragging())return!1;const o=this.registry.getTargetType(e),a=this.getItemType();if(a&&!aT(o,a))return!1;const i=this.getTargetIds();if(!i.length)return!1;const s=i.indexOf(e);return n?s===i.length-1:s>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return _tr(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return btr(this.store.getState().dragOffset)}constructor(e,r){this.store=e,this.registry=r}}const u9=typeof global<"u"?global:self,gG=u9.MutationObserver||u9.WebKitMutationObserver;function vG(t){return function(){const r=setTimeout(o,0),n=setInterval(o,50);function o(){clearTimeout(r),clearInterval(n),t()}}}function Str(t){let e=1;const r=new gG(t),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){e=-e,n.data=e}}const Ctr=typeof gG=="function"?Str:vG;class $tr{enqueueTask(e){const{queue:r,requestFlush:n}=this;r.length||(n(),this.flushing=!0),r[r.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.indexthis.capacity){for(let n=0,o=e.length-this.index;n{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=Ctr(this.flush),this.requestErrorThrow=vG(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class ktr{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,r){this.onError=e,this.release=r,this.task=null}}class Etr{create(e){const r=this.freeTasks,n=r.length?r.pop():new ktr(this.onError,o=>r[r.length]=o);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}}const yG=new $tr,Ttr=new Etr(yG.registerPendingError);function Otr(t){yG.enqueueTask(Ttr.create(t))}const OA="dnd-core/ADD_SOURCE",DA="dnd-core/ADD_TARGET",AA="dnd-core/REMOVE_SOURCE",O_="dnd-core/REMOVE_TARGET";function Dtr(t){return{type:OA,payload:{sourceId:t}}}function Atr(t){return{type:DA,payload:{targetId:t}}}function Itr(t){return{type:AA,payload:{sourceId:t}}}function Mtr(t){return{type:O_,payload:{targetId:t}}}function Ptr(t){At(typeof t.canDrag=="function","Expected canDrag to be a function."),At(typeof t.beginDrag=="function","Expected beginDrag to be a function."),At(typeof t.endDrag=="function","Expected endDrag to be a function.")}function Ntr(t){At(typeof t.canDrop=="function","Expected canDrop to be a function."),At(typeof t.hover=="function","Expected hover to be a function."),At(typeof t.drop=="function","Expected beginDrag to be a function.")}function iT(t,e){if(e&&Array.isArray(t)){t.forEach(r=>iT(r,!1));return}At(typeof t=="string"||typeof t=="symbol",e?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var qo;(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(qo||(qo={}));let Rtr=0;function jtr(){return Rtr++}function Ltr(t){const e=jtr().toString();switch(t){case qo.SOURCE:return`S${e}`;case qo.TARGET:return`T${e}`;default:throw new Error(`Unknown Handler Role: ${t}`)}}function p9(t){switch(t[0]){case"S":return qo.SOURCE;case"T":return qo.TARGET;default:throw new Error(`Cannot parse handler ID: ${t}`)}}function h9(t,e){const r=t.entries();let n=!1;do{const{done:o,value:[,a]}=r.next();if(a===e)return!0;n=!!o}while(!n);return!1}class ztr{addSource(e,r){iT(e),Ptr(r);const n=this.addHandler(qo.SOURCE,e,r);return this.store.dispatch(Dtr(n)),n}addTarget(e,r){iT(e,!0),Ntr(r);const n=this.addHandler(qo.TARGET,e,r);return this.store.dispatch(Atr(n)),n}containsHandler(e){return h9(this.dragSources,e)||h9(this.dropTargets,e)}getSource(e,r=!1){return At(this.isSourceId(e),"Expected a valid source ID."),r&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return At(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return At(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return At(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return p9(e)===qo.SOURCE}isTargetId(e){return p9(e)===qo.TARGET}removeSource(e){At(this.getSource(e),"Expected an existing source."),this.store.dispatch(Itr(e)),Otr(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){At(this.getTarget(e),"Expected an existing target."),this.store.dispatch(Mtr(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const r=this.getSource(e);At(r,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=r}unpinSource(){At(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,r,n){const o=Ltr(e);return this.types.set(o,r),e===qo.SOURCE?this.dragSources.set(o,n):e===qo.TARGET&&this.dropTargets.set(o,n),o}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const Ftr=(t,e)=>t===e;function Btr(t,e){return!t&&!e?!0:!t||!e?!1:t.x===e.x&&t.y===e.y}function Wtr(t,e,r=Ftr){if(t.length!==e.length)return!1;for(let n=0;n0||!Wtr(r,n)))return Bh;const i=n[n.length-1],s=r[r.length-1];return i!==s&&(i&&o.push(i),s&&o.push(s)),o}function Utr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Vtr(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function orr(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,a;for(a=0;a=0)&&(r[o]=t[o]);return r}let m9=0;const iv=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var arr=A.memo(function(e){var{children:r}=e,n=nrr(e,["children"]);const[o,a]=irr(n);return A.useEffect(()=>{if(a){const i=_G();return++m9,()=>{--m9===0&&(i[iv]=null)}}},[]),w.jsx(hG.Provider,{value:o,children:r})});function irr(t){if("manager"in t)return[{dragDropManager:t.manager},!1];const e=srr(t.backend,t.context,t.options,t.debugMode),r=!t.context;return[e,r]}function srr(t,e=_G(),r,n){const o=e;return o[iv]||(o[iv]={dragDropManager:trr(t,e,r,n)}),o[iv]}function _G(){return typeof global<"u"?global:window}var Kk,g9;function lrr(){return g9||(g9=1,Kk=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,a;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(a=Object.keys(e),n=a.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[o]))return!1;for(o=n;o--!==0;){var i=a[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}),Kk}var crr=lrr();const drr=so(crr),Wl=typeof window<"u"?A.useLayoutEffect:A.useEffect;function urr(t,e,r){const[n,o]=A.useState(()=>e(t)),a=A.useCallback(()=>{const i=e(t);drr(n,i)||(o(i),r&&r())},[n,t,r]);return Wl(a),[n,a]}function prr(t,e,r){const[n,o]=urr(t,e,r);return Wl(function(){const i=t.getHandlerId();if(i!=null)return t.subscribeToStateChange(o,{handlerIds:[i]})},[t,o]),n}function bG(t,e,r){return prr(e,t||(()=>({})),()=>r.reconnect())}function wG(t,e){const r=[];return typeof t!="function"&&r.push(t),A.useMemo(()=>typeof t=="function"?t():t,r)}function hrr(t){return A.useMemo(()=>t.hooks.dragSource(),[t])}function frr(t){return A.useMemo(()=>t.hooks.dragPreview(),[t])}let Zk=!1,Qk=!1;class mrr{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){At(!Zk,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Zk=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Zk=!1}}isDragging(){if(!this.sourceId)return!1;At(!Qk,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Qk=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{Qk=!1}}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,r){return this.internalMonitor.isOverTarget(e,r)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}let eE=!1;class grr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}canDrop(){if(!this.targetId)return!1;At(!eE,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return eE=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{eE=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}function vrr(t,e,r){const n=r.getRegistry(),o=n.addTarget(t,e);return[o,()=>n.removeTarget(o)]}function yrr(t,e,r){const n=r.getRegistry(),o=n.addSource(t,e);return[o,()=>n.removeSource(o)]}function sT(t,e,r,n){let o;if(o!==void 0)return!!o;if(t===e)return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;const a=Object.keys(t),i=Object.keys(e);if(a.length!==i.length)return!1;const s=Object.prototype.hasOwnProperty.bind(e);for(let l=0;l, or turn it into a drag source or a drop target itself.`)}function brr(t){return(e=null,r=null)=>{if(!A.isValidElement(e)){const a=e;return t(a,r),a}const n=e;return _rr(n),wrr(n,r?a=>t(a,r):t)}}function xG(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];if(r.endsWith("Ref"))e[r]=t[r];else{const o=brr(n);e[r]=()=>o}}),e}function v9(t,e){typeof t=="function"?t(e):t.current=e}function wrr(t,e){const r=t.ref;return At(typeof r!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),r?A.cloneElement(t,{ref:n=>{v9(r,n),v9(e,n)}}):A.cloneElement(t,{ref:e})}class xrr{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,r=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return r&&this.disconnectDragSource(),this.handlerId?e?(r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),r):(this.lastConnectedDragSource=e,r):r}reconnectDragPreview(e=!1){const r=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),!!this.handlerId){if(!r){this.lastConnectedDragPreview=r;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=r,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,r,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!sT(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!sT(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=xG({dragSource:(r,n)=>{this.clearDragSource(),this.dragSourceOptions=n||null,lT(r)?this.dragSourceRef=r:this.dragSourceNode=r,this.reconnectDragSource()},dragPreview:(r,n)=>{this.clearDragPreview(),this.dragPreviewOptions=n||null,lT(r)?this.dragPreviewRef=r:this.dragPreviewNode=r,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}class Srr{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const r=this.dropTarget;if(this.handlerId){if(!r){this.lastConnectedDropTarget=r;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=r,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,r,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!sT(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=xG({dropTarget:(r,n)=>{this.clearDropTarget(),this.dropTargetOptions=n,lT(r)?this.dropTargetRef=r:this.dropTargetNode=r,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}function Uu(){const{dragDropManager:t}=A.useContext(hG);return At(t!=null,"Expected drag drop context"),t}function Crr(t,e){const r=Uu(),n=A.useMemo(()=>new xrr(r.getBackend()),[r]);return Wl(()=>(n.dragSourceOptions=t||null,n.reconnect(),()=>n.disconnectDragSource()),[n,t]),Wl(()=>(n.dragPreviewOptions=e||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,e]),n}function $rr(){const t=Uu();return A.useMemo(()=>new mrr(t),[t])}class krr{beginDrag(){const e=this.spec,r=this.monitor;let n=null;return typeof e.item=="object"?n=e.item:typeof e.item=="function"?n=e.item(r):n={},n??null}canDrag(){const e=this.spec,r=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(r):!0}isDragging(e,r){const n=this.spec,o=this.monitor,{isDragging:a}=n;return a?a(o):r===e.getSourceId()}endDrag(){const e=this.spec,r=this.monitor,n=this.connector,{end:o}=e;o&&o(r.getItem(),r),n.reconnect()}constructor(e,r,n){this.spec=e,this.monitor=r,this.connector=n}}function Err(t,e,r){const n=A.useMemo(()=>new krr(t,e,r),[e,r]);return A.useEffect(()=>{n.spec=t},[t]),n}function Trr(t){return A.useMemo(()=>{const e=t.type;return At(e!=null,"spec.type must be defined"),e},[t])}function Orr(t,e,r){const n=Uu(),o=Err(t,e,r),a=Trr(t);Wl(function(){if(a!=null){const[s,l]=yrr(a,o,n);return e.receiveHandlerId(s),r.receiveHandlerId(s),l}},[n,e,r,o,a])}function Drr(t,e){const r=wG(t);At(!r.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const n=$rr(),o=Crr(r.options,r.previewOptions);return Orr(r,n,o),[bG(r.collect,n,o),hrr(o),frr(o)]}function Arr(t){return A.useMemo(()=>t.hooks.dropTarget(),[t])}function Irr(t){const e=Uu(),r=A.useMemo(()=>new Srr(e.getBackend()),[e]);return Wl(()=>(r.dropTargetOptions=t||null,r.reconnect(),()=>r.disconnectDropTarget()),[t]),r}function Mrr(){const t=Uu();return A.useMemo(()=>new grr(t),[t])}function Prr(t){const{accept:e}=t;return A.useMemo(()=>(At(t.accept!=null,"accept must be defined"),Array.isArray(e)?e:[e]),[e])}class Nrr{canDrop(){const e=this.spec,r=this.monitor;return e.canDrop?e.canDrop(r.getItem(),r):!0}hover(){const e=this.spec,r=this.monitor;e.hover&&e.hover(r.getItem(),r)}drop(){const e=this.spec,r=this.monitor;if(e.drop)return e.drop(r.getItem(),r)}constructor(e,r){this.spec=e,this.monitor=r}}function Rrr(t,e){const r=A.useMemo(()=>new Nrr(t,e),[e]);return A.useEffect(()=>{r.spec=t},[t]),r}function jrr(t,e,r){const n=Uu(),o=Rrr(t,e),a=Prr(t);Wl(function(){const[s,l]=vrr(a,o,n);return e.receiveHandlerId(s),r.receiveHandlerId(s),l},[n,e,o,r,a.map(i=>i.toString()).join("|")])}function Lrr(t,e){const r=wG(t),n=Mrr(),o=Irr(r.options);return jrr(r,n,o),[bG(r.collect,n,o),Arr(o)]}function SG(t){let e=null;return()=>(e==null&&(e=t()),e)}function zrr(t,e){return t.filter(r=>r!==e)}function Frr(t,e){const r=new Set,n=a=>r.add(a);t.forEach(n),e.forEach(n);const o=[];return r.forEach(a=>o.push(a)),o}class Brr{enter(e){const r=this.entered.length,n=o=>this.isNodeInDocument(o)&&(!o.contains||o.contains(e));return this.entered=Frr(this.entered.filter(n),[e]),r===0&&this.entered.length>0}leave(e){const r=this.entered.length;return this.entered=zrr(this.entered.filter(this.isNodeInDocument),e),r>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class Wrr{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){const r={};Object.keys(this.config.exposeProperties).forEach(n=>{const o=this.config.exposeProperties[n];o!=null&&(r[n]={value:o(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,r)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,r){return r===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const CG="__NATIVE_FILE__",$G="__NATIVE_URL__",kG="__NATIVE_TEXT__",EG="__NATIVE_HTML__",y9=Object.freeze(Object.defineProperty({__proto__:null,FILE:CG,HTML:EG,TEXT:kG,URL:$G},Symbol.toStringTag,{value:"Module"}));function tE(t,e,r){const n=e.reduce((o,a)=>o||t.getData(a),"");return n??r}const cT={[CG]:{exposeProperties:{files:t=>Array.prototype.slice.call(t.files),items:t=>t.items,dataTransfer:t=>t},matchesTypes:["Files"]},[EG]:{exposeProperties:{html:(t,e)=>tE(t,e,""),dataTransfer:t=>t},matchesTypes:["Html","text/html"]},[$G]:{exposeProperties:{urls:(t,e)=>tE(t,e,"").split(` +`),dataTransfer:t=>t},matchesTypes:["Url","text/uri-list"]},[kG]:{exposeProperties:{text:(t,e)=>tE(t,e,""),dataTransfer:t=>t},matchesTypes:["Text","text/plain"]}};function Hrr(t,e){const r=cT[t];if(!r)throw new Error(`native type ${t} has no configuration`);const n=new Wrr(r);return n.loadDataTransfer(e),n}function rE(t){if(!t)return null;const e=Array.prototype.slice.call(t.types||[]);return Object.keys(cT).filter(r=>{const n=cT[r];return n!=null&&n.matchesTypes?n.matchesTypes.some(o=>e.indexOf(o)>-1):!1})[0]||null}const Urr=SG(()=>/firefox/i.test(navigator.userAgent)),TG=SG(()=>!!window.safari);class _9{interpolate(e){const{xs:r,ys:n,c1s:o,c2s:a,c3s:i}=this;let s=r.length-1;if(e===r[s])return n[s];let l=0,d=i.length-1,h;for(;l<=d;){h=Math.floor(.5*(l+d));const g=r[h];if(ge)d=h-1;else return n[h]}s=Math.max(0,d);const u=e-r[s],f=u*u;return n[s]+o[s]*u+a[s]*f+i[s]*u*f}constructor(e,r){const{length:n}=e,o=[];for(let g=0;ge[g]{let O=new _9([0,.5,1],[l.y,l.y/h*y,l.y+y-h]).interpolate(f);return TG()&&a&&(O+=(window.devicePixelRatio-1)*y),O},x=()=>new _9([0,.5,1],[l.x,l.x/d*g,l.x+g-d]).interpolate(u),{offsetX:S,offsetY:T}=o,E=S===0||S,$=T===0||T;return{x:E?S:x(),y:$?T:b()}}class Jrr{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var e;return!((e=this.globalContext)===null||e===void 0)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var e;return((e=this.optionsArgs)===null||e===void 0?void 0:e.rootElement)||this.window}constructor(e,r){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=r}}function Yrr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b9(t){for(var e=1;e{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,r,n){this.sourceNodes.set(e,r),this.sourceNodeOptions.set(e,n);const o=i=>this.handleDragStart(i,e),a=i=>this.handleSelectStart(i);return r.setAttribute("draggable","true"),r.addEventListener("dragstart",o),r.addEventListener("selectstart",a),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),r.removeEventListener("dragstart",o),r.removeEventListener("selectstart",a),r.setAttribute("draggable","false")}}connectDropTarget(e,r){const n=i=>this.handleDragEnter(i,e),o=i=>this.handleDragOver(i,e),a=i=>this.handleDrop(i,e);return r.addEventListener("dragenter",n),r.addEventListener("dragover",o),r.addEventListener("drop",a),()=>{r.removeEventListener("dragenter",n),r.removeEventListener("dragover",o),r.removeEventListener("drop",a)}}addEventListeners(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourceNodeOptions.get(e);return b9({dropEffect:this.altKeyPressed?"copy":"move"},r||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourcePreviewNodeOptions.get(e);return b9({anchorX:.5,anchorY:.5,captureDraggingState:!1},r||{})}isDraggingNativeItem(){const e=this.monitor.getItemType();return Object.keys(y9).some(r=>y9[r]===e)}beginDragNativeItem(e,r){this.clearCurrentDragSourceNode(),this.currentNativeSource=Hrr(e,r),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e;const r=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var n;return(n=this.rootElement)===null||n===void 0?void 0:n.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},r)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;(e=this.window)===null||e===void 0||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(e,r){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(r))}handleDragEnter(e,r){this.dragEnterTargetIds.unshift(r)}handleDragOver(e,r){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(r)}handleDrop(e,r){this.dropTargetIds.unshift(r)}constructor(e,r,n){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=o=>{const a=this.sourceNodes.get(o);return a&&OG(a)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=o=>!!(o&&this.document&&this.document.body&&this.document.body.contains(o)),this.endDragIfSourceWasRemovedFromDOM=()=>{const o=this.currentDragSourceNode;o==null||this.isNodeInDocument(o)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=o=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(o||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=o=>{if(o.defaultPrevented)return;const{dragStartSourceIds:a}=this;this.dragStartSourceIds=null;const i=Vg(o);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(a||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:i});const{dataTransfer:s}=o,l=rE(s);if(this.monitor.isDragging()){if(s&&typeof s.setDragImage=="function"){const h=this.monitor.getSourceId(),u=this.sourceNodes.get(h),f=this.sourcePreviewNodes.get(h)||u;if(f){const{anchorX:g,anchorY:y,offsetX:b,offsetY:x}=this.getCurrentSourcePreviewNodeOptions(),E=Xrr(u,f,i,{anchorX:g,anchorY:y},{offsetX:b,offsetY:x});s.setDragImage(f,E.x,E.y)}}try{s==null||s.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(o.target);const{captureDraggingState:d}=this.getCurrentSourcePreviewNodeOptions();d?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(l)this.beginDragNativeItem(l);else{if(s&&!s.types&&(o.target&&!o.target.hasAttribute||!o.target.hasAttribute("draggable")))return;o.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=o=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var a;(a=this.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)}if(!this.enterLeaveCounter.enter(o.target)||this.monitor.isDragging())return;const{dataTransfer:s}=o,l=rE(s);l&&this.beginDragNativeItem(l,s)},this.handleTopDragEnter=o=>{const{dragEnterTargetIds:a}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=o.altKey,a.length>0&&this.actions.hover(a,{clientOffset:Vg(o)}),a.some(s=>this.monitor.canDropOnTarget(s))&&(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=o=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var a;(a=this.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)}},this.handleTopDragOver=o=>{const{dragOverTargetIds:a}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="none");return}this.altKeyPressed=o.altKey,this.lastClientOffset=Vg(o),this.scheduleHover(a),(a||[]).some(s=>this.monitor.canDropOnTarget(s))?(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?o.preventDefault():(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=o=>{this.isDraggingNativeItem()&&o.preventDefault(),this.enterLeaveCounter.leave(o.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=o=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var a;o.preventDefault(),(a=this.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)}else rE(o.dataTransfer)&&o.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=o=>{const{dropTargetIds:a}=this;this.dropTargetIds=[],this.actions.hover(a,{clientOffset:Vg(o)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=o=>{const a=o.target;typeof a.dragDrop=="function"&&(a.tagName==="INPUT"||a.tagName==="SELECT"||a.tagName==="TEXTAREA"||a.isContentEditable||(o.preventDefault(),a.dragDrop()))},this.options=new Jrr(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new Brr(this.isNodeInDocument)}}const Zrr=function(e,r,n){return new Krr(e,r,n)},ad="_consumption_",Qrr=!window.location.search.includes("hidden=false");function DG(t){let e=[];return Object.values(t.subFolders||{}).forEach(r=>e=e.concat(DG(r))),e}const enr=t=>{const{onDrop:e}=t,[{isOver:r,isOverAny:n},o]=Lrr({accept:"item",drop:a=>e(a.name),collect:a=>({isOver:a.isOver({shallow:!0}),isOverAny:a.isOver()})});return w.jsx("div",{ref:o,style:{background:r?"#40adff":void 0,opacity:n?.3:void 0},children:t.children})},tnr=t=>{const{name:e}=t,[{opacity:r},n]=Drr({type:"item",item:()=>({name:e}),collect:o=>({opacity:o.isDragging()?.3:1})});return w.jsx("div",{ref:n,style:{opacity:r,transform:"translate3d(0, 0, 0)"},children:t.children})},w9=16,nE=/[.\][*,;'"`<>\\?]/g,Ot={noGutters:{pt:0,pb:0,width:"100%"},changed:t=>({position:"relative","&:after":{content:'""',position:"absolute",top:2,right:2,width:5,height:5,borderRadius:5,background:(t.palette.mode==="dark","#CC0000")}}),itemIcon:{width:32,height:32,marginRight:4},itemIconFolder:{cursor:"pointer"},buttonsContainer:{"& button":{whiteSpace:"nowrap"}},itemIconPreset:t=>({color:t.palette.mode==="dark"?t.palette.primary.light:t.palette.primary.dark,position:"relative"}),folderIconPreset:t=>({color:t.palette.mode==="dark"?t.palette.secondary.dark:t.palette.secondary.light}),width100:{width:"100%"},buttonIcon:{marginRight:4},itemIconRoot:{minWidth:24},listItemSubTitle:{fontSize:"smaller",opacity:.7,fontStyle:"italic",display:"inline-block",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},mainList:{width:"calc(100% - 8px)",ml:"8px"},iconCopy:{width:16},listItemSecondaryAction:{right:7},listItemTitle:{lineHeight:1,width:"100%"},listItemTitleDiv:{display:"inline-block",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},itemIconNumber:t=>({position:"absolute",fontSize:12,top:8,left:-1,width:"100%",textAlign:"center",color:t.palette.mode==="dark"?"#000":"#FFF"}),textColor:t=>({color:t.palette.mode==="dark"?"#FFF !important":"#000 !important"})};class oy extends A.Component{constructor(r){super(r);X(this,"refSelected");X(this,"scrollToSelect",!1);X(this,"scrollTimeout",null);X(this,"onPresetChange",(r,n)=>{if(!(r!=null&&r.startsWith("echarts.")))return;let o,a=!1;if(n?(n.common=n.common||{},n.native=n.native||{},JSON.stringify(n)!==JSON.stringify(this.state.presets[r])&&(o=JSON.parse(JSON.stringify(this.state.presets)),o[r]=n,a=!0)):this.state.presets[r]&&(o=JSON.parse(JSON.stringify(this.state.presets)),delete o[r],a=!0),a){const i=this.getEmptyFolders(),s={presets:o,changingPreset:"",presetFolders:oy.buildPresetTree(o,i)};setTimeout(()=>this.informAboutSubFolders(s.presetFolders),200),this.setState(s)}});X(this,"addPresetToFolderPrefix",async(r,n,o)=>{const a=r._id,i=r._id.split(".").pop();r._id=`${this.props.adapterName}.0.${n}${n?".":""}${i}`;try{if(await this.props.socket.setObject(r._id,r),console.log(`Deleted ${a}`),await this.props.socket.delObject(a),console.log(`Set new ID: ${r._id}`),!o){const s=await this.getAllPresets();this.setState(s)}}catch(s){this.onError(s,`Cannot delete object ${a}`)}});let n;try{n=JSON.parse(window.localStorage.getItem("App.echarts.presets.opened"))||[]}catch{n=[]}this.state={presetsOpened:n,presets:{},presetFolders:null,changingPreset:"",deletePresetDialog:"",movePresetDialog:"",newPresetFolder:"",addPresetFolderName:"",editPresetFolderDialog:null,editFolderDialogTitleOrigin:"",editPresetFolderName:"",renameDialog:"",renamePresetDialogTitle:""},this.refSelected=m.createRef(),this.getAllPresets().then(o=>this.setState(o))}async componentDidMount(){await this.props.socket.subscribeObject(`${this.props.adapterName}.0.*`,this.onPresetChange)}async componentWillUnmount(){this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=null),await this.props.socket.unsubscribeObject(`${this.props.adapterName}.0.*`,this.onPresetChange)}informAboutSubFolders(r){r=r||this.state.presetFolders||{},this.props.onShowReorder(!!Object.keys(r.subFolders||{}).length)}getEmptyFolders(r,n,o){if(o=o||[],n=n||[],r=r||this.state.presetFolders||{},r.id){const a=[...n];a.push(r.id),o.push(a.join("."))}return r.subFolders&&Object.keys(r.subFolders).forEach(a=>this.getEmptyFolders(r.subFolders[a],n,o)),o}async getAllPresets(r,n){r=r||{};const o={},a=await this.props.socket.getObjectViewSystem("chart",`${this.props.adapterName}.`,`${this.props.adapterName}.香`);return a&&Object.values(a).forEach(i=>i._id&&!i._id.toString().endsWith(".")&&(o[i._id]=i)),r.presets=o,r.changingPreset="",Object.keys(r.presets).forEach(i=>{const s=r.presets[i];s.common=s.common||{},s.native=s.native||{}}),n=n||this.getEmptyFolders(),r.presetFolders=oy.buildPresetTree(o,n),setTimeout(()=>this.informAboutSubFolders(r.presetFolders),200),r}renderPreset(r,n){var d,h;const o=this.state.presets[r._id],a=typeof r.common.name=="object"?r.common.name[P.getLanguage()]||r.common.name.en:r.common.name;if(!o||this.props.search&&!a.includes(this.props.search))return null;n=n||0;const i=(this.props.reorder?n:n-1)*w9;let s=null;((d=r.native.data.l||r.native.data.lines)==null?void 0:d.length)>1&&(s=w.jsx(Re,{sx:Ot.itemIconNumber,children:(h=r.native.data.l||r.native.data.lines)==null?void 0:h.length}));const l=w.jsxs(Ev,{sx:{"&.MuiListItemButton-gutters":ue.getStyle(this.props.theme,Ot.noGutters,this.props.selectedId===r._id&&this.props.selectedPresetChanged&&Ot.changed),height:48},selected:this.props.selectedId===r._id,style:{paddingLeft:i},className:this.props.reorder?"item-reorder":"",ref:this.props.selectedId===r._id?this.refSelected:null,onClick:()=>this.props.onSelectedChanged(o._id),children:[w.jsxs(ba,{sx:ue.getStyle(this.props.theme,Ot.itemIconRoot,Ot.itemIconPreset),children:[w.jsx(JKt,{style:Ot.itemIcon}),s]}),w.jsx(_o,{sx:{"& .MuiListItemText-primary":Ot.listItemTitle,"& .MuiListItemText-secondary":Ot.listItemSubTitle},primary:w.jsx("div",{style:Ot.listItemTitleDiv,children:ue.getObjectNameFromObj(o,null,{language:P.getLanguage()})}),secondary:ue.getObjectNameFromObj(o,null,{language:P.getLanguage()},!0)}),this.state.changingPreset===o._id?w.jsx(pO,{size:24}):this.props.reorder?null:w.jsxs(w.Fragment,{children:[this.props.selectedId!==o._id||!this.props.selectedPresetChanged?w.jsx(Ie,{size:"small","aria-label":"Rename",title:P.t("Rename"),sx:Ot.textColor,onClick:u=>{u.stopPropagation(),this.setState({renameDialog:o._id,renamePresetDialogTitle:a})},children:w.jsx(JR,{})}):null,w.jsx(Ie,{size:"small","aria-label":"Copy",title:P.t("Copy"),sx:Ot.textColor,onClick:()=>this.props.onCopyPreset(o._id),children:w.jsx(Di,{style:Ot.iconCopy})}),w.jsx(Ie,{size:"small",sx:Ot.textColor,"aria-label":"Delete",title:P.t("Delete"),onClick:()=>this.setState({deletePresetDialog:o._id}),children:w.jsx(yu,{})})]})]},r._id);return this.props.reorder?w.jsx(tnr,{name:r._id,draggableId:r._id,children:l},`draggable_${r._id}`):l}renderFolder(r,n){const o=[];n=n||0;const a=this.props.reorder||(this.state.presetsOpened&&r?this.state.presetsOpened.includes(r.prefix):!1),i=(this.props.reorder?n:n-1)*w9,s=[];if(r&&(a||!r.id)){const l=Object.values(r.presets||{}),d=Object.values(r.subFolders||{});d.sort((h,u)=>h.id>u.id?1:h.id!(Qrr&&h.id===ad)).forEach(h=>s.push(this.renderFolder(h,n+1))),l.length||d.length?l.sort((h,u)=>h._id>u._id?1:h._ids.push(this.renderPreset(h,n+1))):n===0&&s.push(w.jsx(of,{sx:{"&.MuiListItem-gutters":Ot.noGutters},children:w.jsx(_o,{style:Ot.folderItem,children:P.t("No presets created yet")})},"no presets"))}if(r&&(r.id||this.props.reorder)){const l=w.jsxs(of,{sx:{"&.MuiListItem-gutters":Ot.noGutters},className:this.props.reorder?"folder-reorder":"",style:{...Ot.width100,...Ot.folderItem,paddingLeft:i,height:48},secondaryAction:w.jsxs(w.Fragment,{children:[!this.props.reorder&&r&&r.id&&a?w.jsx(Ie,{size:"small",sx:Ot.textColor,onClick:()=>this.props.onCreatePreset(r.id),title:P.t("Create new preset"),children:w.jsx(Il,{})}):null,this.props.reorder?null:w.jsx(Ie,{size:"small",sx:Ot.textColor,onClick:()=>this.setState({editPresetFolderDialog:r,editPresetFolderName:r.id,editFolderDialogTitleOrigin:r.id}),title:P.t("Edit folder name"),children:w.jsx(JR,{})}),this.props.reorder?null:w.jsx(Ie,{size:"small",onClick:()=>this.togglePresetsFolder(r),sx:Ot.textColor,title:a?P.t("Collapse"):P.t("Expand"),children:w.jsx(sf,{style:{transform:a?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out"}})})]}),children:[w.jsx(ba,{sx:ue.getStyle(this.props.theme,Ot.itemIconRoot,Ot.folderIconPreset),onClick:()=>this.togglePresetsFolder(r),children:a?w.jsx(vf,{style:{...Ot.itemIcon,...Ot.itemIconFolder}}):w.jsx(yf,{style:{...Ot.itemIcon,...Ot.itemIconFolder}})}),w.jsx(_o,{children:r.id||P.t("Root")})]},r.prefix);this.props.reorder?o.push(w.jsx(enr,{droppableId:"tree",name:r.prefix,onDrop:d=>this.onDragFinish(d,`echarts.0${r.prefix?".":""}${r.prefix}`),children:l},`droppable_${r.prefix}`)):o.push(l)}return s.forEach(l=>o.push(l)),o}async renamePresetFolder(r,n){this.setState({changingPreset:r.id});let o;const a=this.state.presetsOpened.indexOf(r.prefix);if(a!==-1){const u=[...this.state.presetsOpened];u.splice(a,1),u.push(n),u.sort(),this.setState({presetsOpened:u})}const i=r.prefix.split(".");i[i.length-1]=n;const s=i.join(".");Object.keys(r.presets).find(u=>u===this.props.selectedId)&&(o=`${this.props.adapterName}.0.${s}.${this.props.selectedId.split(".").pop()}`);const l=Object.keys(r.presets);for(let u=0;u0;u--)d[u]===d[u-1]&&d.splice(u,1)}setTimeout(async()=>{const u=await this.getAllPresets(null,d);this.setState(u,()=>this.props.onSelectedChanged(o))},100)}isNameUnique(r,n){const o=r.split(".").length;return n===ad?!1:!Object.keys(this.state.presets).find(a=>o===a.split(".").length&&this.state.presets[a].common.name===n)}static buildPresetTree(r,n){const o=Object.values(r),a={subFolders:{},presets:{},id:"",prefix:""};return o.forEach(i=>{const s=i._id,l=s.split(".");l.shift(),l.shift();let d=a,h="";for(let u=0;u{const s=i.split(".");let l=a,d="";for(let h=0;h{this.setState({presetFolders:o,presetsOpened:i},()=>s())})}togglePresetsFolder(r){const n=[...this.state.presetsOpened],o=n.indexOf(r.prefix);if(o===-1)n.push(r.prefix);else if(n.splice(o,1),Object.keys(r.presets).includes(this.props.selectedId)){this.props.onSelectedChanged(null,a=>{a!==!1&&(window.localStorage.setItem("App.echarts.presets.opened",JSON.stringify(n)),this.setState({presetsOpened:n}))});return}window.localStorage.setItem("App.echarts.presets.opened",JSON.stringify(n)),this.setState({presetsOpened:n})}renderAddFolderDialog(){return this.props.addPresetFolderDialog?w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!0,onClose:()=>this.props.onClosePresetFolderDialog(),children:[w.jsx(_r,{children:P.t("Create folder")}),w.jsx(Wr,{style:Ot.p,children:w.jsx(Ht,{variant:"standard",fullWidth:!0,autoFocus:!0,label:P.t("Title"),value:this.state.addPresetFolderName,onChange:r=>this.setState({addPresetFolderName:r.target.value.replace(nE,"_").trim()}),onKeyUp:r=>{this.state.addPresetFolderName&&r.key==="Enter"&&this.state.addPresetFolderName!==ad&&(r.preventDefault(),r.stopPropagation(),this.addFolder(null,this.state.addPresetFolderName).then(()=>this.props.onClosePresetFolderDialog(()=>this.informAboutSubFolders())))}})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!this.state.addPresetFolderName||!!Object.keys(this.state.presetFolders&&this.state.presetFolders.subFolders||{}).find(r=>r===this.state.addPresetFolderName)||this.state.addPresetFolderName===ad,onClick:()=>this.addFolder(null,this.state.addPresetFolderName).then(()=>this.props.onClosePresetFolderDialog(()=>this.informAboutSubFolders())),color:"primary",autoFocus:!0,startIcon:w.jsx(sh,{}),children:P.t("Create")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.props.onClosePresetFolderDialog(),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]}):null}renderRenameFolderDialog(){if(!this.state.editPresetFolderDialog)return null;const r=!Object.keys(this.state.presetFolders&&this.state.presetFolders.subFolders||{}).find(n=>n===this.state.editPresetFolderName);return w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!!this.state.editPresetFolderDialog,onClose:()=>this.setState({editPresetFolderDialog:null}),children:[w.jsx(_r,{children:P.t("Edit folder")}),w.jsx(Wr,{children:w.jsx(Ht,{variant:"standard",fullWidth:!0,autoFocus:!0,label:P.t("Title"),value:this.state.editPresetFolderName,onKeyUp:n=>{this.state.editPresetFolderName&&n.key==="Enter"&&this.state.editPresetFolderName!==ad&&this.state.editFolderDialogTitleOrigin!==this.state.editPresetFolderName&&r&&(n.preventDefault(),n.stopPropagation(),this.renamePresetFolder(this.state.editPresetFolderDialog,this.state.editPresetFolderName).then(()=>this.setState({editPresetFolderDialog:null})))},onChange:n=>this.setState({editPresetFolderName:n.target.value.replace(nE,"_").trim()})})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!this.state.editPresetFolderName||this.state.editFolderDialogTitleOrigin===this.state.editPresetFolderName||!r||this.state.editPresetFolderName===ad,onClick:()=>{this.renamePresetFolder(this.state.editPresetFolderDialog,this.state.editPresetFolderName).then(()=>this.setState({editPresetFolderDialog:null}))},color:"primary",startIcon:w.jsx(sh,{}),children:P.t("Rename")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({editPresetFolderDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]})}renderMoveDialog(){if(!this.state.movePresetDialog)return null;const r=this.state.newPresetFolder==="__root__"?"":this.state.newPresetFolder,n=this.state.movePresetDialog,o=`preset.0.${r}${r?".":""}${n}`,a=!Object.keys(this.state.presets).find(i=>i===o);return w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!0,onClose:()=>this.setState({movePresetDialog:null}),children:[w.jsx(_r,{children:P.t("Move to folder")}),w.jsx(Wr,{children:w.jsxs(_a,{style:Ot.width100,variant:"standard",children:[w.jsx($l,{shrink:!0,children:P.t("Folder")}),w.jsx(Bn,{variant:"standard",autoFocus:!0,fullWidth:!0,style:Ot.width100,value:this.state.newPresetFolder||"__root__",onChange:i=>this.setState({newPresetFolder:i.target.value}),onKeyUp:i=>{a&&i.which===13&&(i.preventDefault(),i.stopPropagation(),this.setState({movePresetDialog:null},()=>this.addPresetToFolderPrefix(this.state.presets[n],this.state.newPresetFolder==="__root__"?"":this.state.newPresetFolder)))},children:DG(this.state.presetFolders||{}).map(i=>w.jsx(Jt,{value:i.prefix||"__root__",children:i.prefix?i.prefix.replace("."," > "):P.t("Root")},i.prefix))})]})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!a,color:"primary",onClick:()=>this.setState({movePresetDialog:null},()=>this.addPresetToFolderPrefix(this.state.presets[n],this.state.newPresetFolder==="__root__"?"":this.state.newPresetFolder)),startIcon:w.jsx(sh,{}),children:P.t("Move to folder")}),w.jsxs(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({movePresetDialog:null}),startIcon:w.jsx(wo,{}),children:[w.jsx(wo,{style:Ot.buttonIcon}),P.t("Cancel")]})]})]},"movePresetDialog")}onError(r,n){n&&console.error(n),this.props.onShowError(r.toString())}async onDragFinish(r,n){let o=`${n}.${r.split(".").pop()}`;if(o!==r){this.state.presets[o]&&(o+=`_${P.t("copy")}`);try{const a=await this.props.socket.getObject(r);if(a)try{await this.props.socket.setObject(o,a),await this.props.socket.delObject(r);const i=await this.getAllPresets();this.setState(i)}catch(i){this.onError(i,`Cannot delete object ${o}`)}}catch(a){this.onError(a,`Cannot read object ${r}`)}}}renderRenameDialog(){if(!this.state.renameDialog)return null;const r=this.state.renameDialog;return w.jsxs(or,{maxWidth:"md",fullWidth:!0,open:!0,onClose:()=>this.setState({renameDialog:null}),children:[w.jsx(_r,{children:P.t("Rename preset")}),w.jsx(Wr,{children:w.jsx(_a,{style:Ot.width100,variant:"standard",children:w.jsx(Ht,{variant:"standard",fullWidth:!0,autoFocus:!0,label:P.t("Name"),value:this.state.renamePresetDialogTitle,onKeyUp:n=>{n.keyCode===13&&this.state.renamePresetDialogTitle&&this.isNameUnique(r,this.state.renamePresetDialogTitle)&&(n.stopPropagation(),n.preventDefault(),this.setState({renameDialog:null},()=>this.renamePreset(r,this.state.renamePresetDialogTitle)))},onChange:n=>this.setState({renamePresetDialogTitle:n.target.value})})})}),w.jsxs(pr,{style:{...Ot.alignRight,...Ot.buttonsContainer},children:[w.jsx(tt,{variant:"contained",disabled:!this.state.renamePresetDialogTitle||!this.isNameUnique(r,this.state.renamePresetDialogTitle),color:"primary",onClick:()=>this.setState({renameDialog:null},()=>this.renamePreset(r,this.state.renamePresetDialogTitle)),startIcon:w.jsx(sh,{}),children:P.t("Rename")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({renameDialog:null}),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"renameDialog")}renderDeleteDialog(){return this.state.deletePresetDialog?w.jsx(PO,{title:P.t("Please confirm"),text:P.t("Are you sure for delete this preset?"),ok:P.t("Delete"),cancel:P.t("Cancel"),suppressQuestionMinutes:3,dialogName:"echarts.deletePresetDialog",onClose:r=>{r?this.deletePreset(this.state.deletePresetDialog,()=>this.setState({deletePresetDialog:""})):this.setState({deletePresetDialog:""})}},"deletePresetDialog"):null}async deletePreset(r,n){try{await this.props.socket.delObject(r);const o=await this.getAllPresets();this.setState(o,()=>{if(r===this.props.selectedId){const a=Object.keys(this.state.presets);this.props.onSelectedChanged(a[0]||null)}})}catch(o){this.onError(o,`Cannot delete object ${r}`)}n()}async renamePreset(r,n){try{const o=await this.props.socket.getObject(r);o.common.name=n;const a=r.split(".");a.splice(-1,1),a.push(n.replace(nE,"_").trim()),o._id=a.join("."),await this.props.socket.setObject(o._id,o),await this.props.socket.delObject(r);const i=await this.getAllPresets();r===this.props.selectedId?this.setState(i,()=>this.props.onSelectedChanged(o._id)):this.setState(i)}catch(o){this.onError(o,`Cannot get object ${r}`)}}render(){return this.scrollToSelect!==this.props.scrollToSelect&&(this.scrollToSelect=this.props.scrollToSelect,this.scrollToSelect&&!this.scrollTimeout&&(this.scrollTimeout=setTimeout(()=>{var r;this.scrollTimeout=null,(r=this.refSelected.current)==null||r.scrollIntoView({behavior:"auto",block:"center",inline:"center"})},100))),w.jsxs(w.Fragment,{children:[w.jsx(arr,{backend:Zrr,children:w.jsx(vu,{sx:{...Ot.scroll,...Ot.mainList},children:this.renderFolder(this.state.presetFolders)})}),this.renderAddFolderDialog(),this.renderRenameFolderDialog(),this.renderDeleteDialog(),this.renderMoveDialog(),this.renderRenameDialog()]})}}const rnr=qs()(oy);function nnr(t){return Pr({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 0 0-11.3 0l-189 189.6a7.87 7.87 0 0 0-2.3 5.6V720c0 4.4 3.6 8 8 8z"},child:[]}]})(t)}const x9=34,id=20,S9=30,Zp=15;class AG extends A.Component{render(){const e=w.jsxs("div",{style:{width:this.props.size==="small"?S9:x9,height:id,display:"flex",alignItems:"center",cursor:"pointer",position:"relative",opacity:this.props.disabled?.7:1},onClick:r=>{this.props.disabled||(r.stopPropagation(),r.preventDefault(),this.props.onChange(!this.props.checked))},children:[w.jsx("div",{style:{borderRadius:15,width:"100%",height:(this.props.size==="small"?Zp:id)*.7,opacity:.6,backgroundColor:this.props.checked?this.props.theme.palette.primary.main:this.props.theme.palette.text.disabled}}),w.jsx("div",{style:{position:"absolute",top:this.props.size==="small"?(id-Zp)/2:0,left:this.props.checked?this.props.size==="small"?S9-Zp:x9-id:0,transition:"left 0.2s",borderRadius:50,width:this.props.size==="small"?Zp:id,height:this.props.size==="small"?Zp:id,backgroundColor:this.props.checked?this.props.theme.palette.primary.main:"#EEE",boxShadow:"rgba(0, 0, 0, 0.2) 0px 2px 1px -1px, rgba(0, 0, 0, 0.14) 0px 1px 1px 0px, rgba(0, 0, 0, 0.12) 0px 1px 3px 0px"}})]});return this.props.labelOn||this.props.labelOff?w.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[this.props.labelOff,e,this.props.labelOn]}):e}}function C9(t,e){const r=typeof t=="object"?t._id.replace("system.adapter.",""):t.replace("system.adapter.",""),n=typeof e=="object"?e._id.replace("system.adapter.",""):e.replace("system.adapter.","");return r>n?1:r{t[n].common.members.includes(e)&&!r.includes(n)&&r.push(n)}),r}const $9=16,qt={noGutters:{paddingTop:0,paddingBottom:0,paddingLeft:0,width:"100%"},itemIconFolder:{cursor:"pointer",marginLeft:8},width100:{width:"100%"},itemIcon:{width:32,height:32,marginRight:4},itemIconRoot:{minWidth:24},itemNameDiv:{marginTop:5},itemName:{verticalAlign:"top",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"calc(100% - 26px)",display:"inline-block"},itemName0:{},itemName1:{fontSize:14,opacity:.6},itemName2:{fontSize:12,opacity:.6},itemName3:{fontSize:10,opacity:.6},itemName4:{fontSize:8,opacity:.6},itemName5:{fontSize:6,opacity:.6},groupName:{verticalAlign:"top",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"calc(100% - 66px)",display:"inline-block"},itemSecondaryName:{overflow:"hidden",textOverflow:"ellipsis",width:"100%",fontSize:"smaller",opacity:.6,fontStyle:"italic",whiteSpace:"nowrap",display:"inline-block"},listItemSubTitle:{fontSize:"smaller",opacity:.6,fontStyle:"italic"},adapterIcon:{width:20,height:20,borderRadius:2,marginRight:4},mainList:{width:"100%"},listItemSecondaryAction:{marginRight:4},folderItem:t=>({backgroundColor:t.palette.secondary.main,pl:"8px"})};class anr extends A.Component{constructor(r){super(r);X(this,"refSelected");X(this,"scrollToSelect",!1);X(this,"adapterPromises",{});X(this,"toggleChartFolder",r=>{const n=JSON.parse(JSON.stringify(this.state.chartsOpened));n[r]=!n[r],window.localStorage.setItem("App.echarts.opened",JSON.stringify(n));const o={chartsOpened:n};if(!n[r]){const a=r.split("///")[0];this.props.selectedId&&typeof this.props.selectedId=="object"&&this.props.selectedId.instance}this.setState(o,()=>this.props.onSelectedChanged(null))});let n;try{n=JSON.parse(window.localStorage.getItem("App.echarts.opened"))||{}}catch{n={}}this.state={instances:[],chartsOpened:n,enums:null,showAddStateDialog:""},this.refSelected=m.createRef(),this.getAllEnums().then(o=>this.getAllCharts(o)).then(o=>this.setState(o,()=>this.props.selectedId&&this.props.onSelectedChanged(this.props.selectedId)))}UNSAFE_componentWillReceiveProps(r){r.scrollToSelect!==this.scrollToSelect&&(this.scrollToSelect=r.scrollToSelect,this.scrollToSelect&&setTimeout(()=>{var n;(n=this.refSelected.current)==null||n.scrollIntoView({behavior:"auto",block:"center",inline:"center"})},100))}async getAllEnums(r){r=r||{};try{const n=await this.props.socket.getEnums();return r.enums={},Object.keys(n).forEach(o=>{var a,i,s;(o.startsWith("enum.functions.")||o.startsWith("enum.rooms."))&&((s=(i=(a=n[o])==null?void 0:a.common)==null?void 0:i.members)!=null&&s.length)&&(r.enums[o]={_id:o,common:{members:[...n[o].common.members],name:ue.getObjectNameFromObj(n[o],null,{language:P.getLanguage()})},type:"enum",native:{}})}),r}catch(n){return this.onError(n,"Cannot read enums"),{}}}async getAdapterIcon(r){var a;const n=r.split(".");if(n.length<2||n[0]==="0_userdata")return null;let o;n[0]==="system"?(n.splice(4),o=n.join(".")):(n.splice(2),o=`system.adapter.${n.join(".")}`),this.adapterPromises[o]instanceof Promise||(this.adapterPromises[o]=this.props.socket.getObject(o));try{const i=await this.adapterPromises[o];if((a=i==null?void 0:i.common)!=null&&a.icon)return ue.getObjectIcon(i)}catch(i){this.onError(i,`Cannot read object ${o}`)}return null}onError(r,n){n&&console.error(n),this.props.onShowError(r.toString())}async getChartIconAndName(r,n){let o;const a=[];if(!n)return null;const i=P.getLanguage(),s=n._id;n.common&&(n.common.icon&&(o=ue.getObjectIcon(n)),a.push(ue.getObjectNameFromObj(n,null,{language:i})));const l=ue.getParentId(n._id);if((l==null?void 0:l.split(".").length)>2)try{const d=await this.props.socket.getObject(l);if(d&&(d.type==="channel"||d.type==="device")&&d.common){!o&&d.common.icon&&(o=ue.getObjectIcon(d)),a.push(ue.getObjectNameFromObj(d,null,{language:i}));const h=ue.getParentId(l);if((h==null?void 0:h.split(".").length)>2){const u=await this.props.socket.getObject(h);if(u&&(u.type==="channel"||u.type==="device")&&u.common){!o&&u.common.icon&&(o=ue.getObjectIcon(u)),a.push(ue.getObjectNameFromObj(u,null,{language:i}));const f=ue.getParentId(h);if((f==null?void 0:f.split(".").length)>2){const g=await this.props.socket.getObject(f);g&&(g.type==="channel"||g.type==="device")&&g.common&&(!o&&g.common.icon&&(o=ue.getObjectIcon(g)),a.push(ue.getObjectNameFromObj(g,null,{language:i})))}}}}}catch(d){console.error(`Cannot read object: ${d}`)}return o=o||await this.getAdapterIcon(s),{groupId:r,id:s,img:o,name:a.filter(d=>d)}}async getAllCharts(r){r=r||{};const n=this.props.instances.map(u=>u._id.substring(15)),o=await this.props.socket.getObjectViewSystem("custom-full","",""),a={};r.enums=r.enums||this.state.enums;const i=[];Object.values(o).forEach(u=>{const f=n.find(g=>Object.keys(u.common.custom).includes(g));if(f){const g=this.props.instances.find(y=>y._id.endsWith(f));a[f]=a[f]||{_id:`system.adapter.${f}`,enabledDP:{},names:{},statesEnums:{},icon:g.common.icon,name:g.common.name||"",types:{},icons:{}},a[f].enabledDP[u._id]=u,a[f].names[u._id]=ue.getObjectNameFromObj(u,null,{language:P.getLanguage()}),a[f].types[u._id]=u.common.type==="boolean"?"boolean":"number",a[f].statesEnums[u._id]=onr(r.enums,u._id),i.push(this.getChartIconAndName(f,u))}});const s=JSON.parse(JSON.stringify(this.state.chartsOpened)),l=Object.keys(r.enums).filter(u=>u.startsWith("enum.functions.")),d=Object.keys(r.enums).filter(u=>u.startsWith("enum.rooms.")),h=Object.values(a).map(u=>{var b;const f={};Object.keys(u.enabledDP).forEach(x=>{f[x]=u.enabledDP[x],f[x].group=u._id}),u.enabledDP=f,s[u._id]=s[u._id]!==void 0?this.state.chartsOpened[u._id]||!1:!0,Object.keys(r.enums).forEach(x=>{Object.keys(f).find(S=>r.enums[x].common.members.includes(S))&&(u.enums=u.enums||[],u.enums.includes(x)||u.enums.push(x))});const g={_id:`enum.functions.${u._id}`,type:"enum",common:{members:[],name:P.t("Others")},native:{}},y={_id:`enum.rooms.${u._id}`,type:"enum",common:{members:[],name:P.t("Others")},native:{}};return Object.keys(f).forEach(x=>{l.find(S=>r.enums[S].common.members.includes(x))||g.common.members.push(x),d.find(S=>r.enums[S].common.members.includes(x))||y.common.members.push(x)}),g.common.members.length&&(u.enums=u.enums||[],u.enums.push(`enum.functions.${u._id}`),r.enums[`enum.functions.${u._id}`]=g),y.common.members.length&&(u.enums=u.enums||[],u.enums.push(`enum.rooms.${u._id}`),r.enums[`enum.rooms.${u._id}`]=y),(b=u.enums)==null||b.sort((x,S)=>r.enums[x].common.name>r.enums[S].common.name?1:r.enums[x].common.namethis.props.onSelectedChanged({id:u,instance:h[0]._id}),500)}return r.instances=h,r.chartsOpened=s,setTimeout(()=>{Promise.all(i).then(u=>{const f=JSON.parse(JSON.stringify(this.state.instances));let g=!1;u.forEach(y=>{if(y!=null&&y.groupId){const b=f.find(x=>x._id===`system.adapter.${y.groupId}`);b&&(y.img&&(b.icons[y.id]=y.img),y.name&&(b.names[y.id]=y.name),g=!0)}}),g&&this.setState({instances:f})})},100),r}renderSelectIdDialog(){return this.state.showAddStateDialog?w.jsx(OV,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,dialogName:"Add",title:P.t("Enable logging for state"),onOk:r=>{const n=Array.isArray(r)?r[0]:r;console.log(`Selected ${JSON.stringify(n)}`);const o=this.state.showAddStateDialog.replace("system.adapter.","");n&&this.props.socket.getObject(n).then(a=>{var i;if(!(a!=null&&a.common)){this.props.onShowError(P.t("Invalid object"));return}if((i=a.common.custom)!=null&&i[o]){this.props.onShowToast(P.t("Already enabled"));return}a.common.custom=a.common.custom||{},a.common.custom[o]={enabled:!0},this.props.socket.setObject(n,a).then(()=>{const s=JSON.parse(JSON.stringify(this.state.instances)),l=s.find(d=>d._id===`system.adapter.${o}`);l.enabledDP=l.enabledDP||{},l.enabledDP[a._id]=a,this.setState({instances:s},()=>this.getAllCharts())}).catch(s=>this.onError(s,`Cannot read object ${n}`))}).catch(a=>this.onError(a,`Cannot read object ${n}`)),this.setState({showAddStateDialog:""})},onClose:()=>this.setState({showAddStateDialog:""})},"selectDialog_add"):null}renderListItem(r,n,o,a){a=a||0;const i=r._id,s=this.props.selectedId&&typeof this.props.selectedId=="object"&&this.props.selectedId.id===n&&this.props.selectedId.instance===i;let l;if(typeof r.names[n]=="object"){const d=[...r.names[n]];l=w.jsx("span",{style:qt.itemName,title:d.join(" / "),children:d.map((h,u)=>w.jsx("span",{style:qt[`itemName${u}`],children:(u?" / ":"")+h},u))})}else{const d=(r.names[n]||"").toString();l=w.jsx("span",{style:qt.itemName,title:d,children:d})}return w.jsxs(Ev,{ref:s?this.refSelected:null,sx:{"&.MuiListItemButton-gutters":qt.noGutters},style:{paddingLeft:$9*a,height:48,position:"relative"},selected:s,onClick:o?void 0:()=>this.props.onSelectedChanged({id:n,instance:i}),children:[w.jsx(ba,{style:qt.itemIconRoot,children:r.types[n]==="boolean"?w.jsx(YKt,{style:qt.itemIcon}):w.jsx(nnr,{style:qt.itemIcon})}),w.jsxs("div",{style:{flexGrow:1,overflow:"hidden"},children:[w.jsxs("div",{style:qt.itemNameDiv,children:[ue.getIcon({icon:r.icons[n],prefix:"../../"},{width:20,height:20,borderRadius:2,marginRight:4}),l]}),w.jsx("div",{style:qt.itemSecondaryName,title:n,children:n.replace("system.adapter.","")})]}),!o&&this.props.multiple&&this.props.chartsList?w.jsxs("div",{style:qt.listItemSecondaryAction,children:[w.jsx(AG,{size:"small",theme:this.props.theme,onChange:d=>{const h=JSON.parse(JSON.stringify(this.props.chartsList)),u=h.find(f=>f.id===n&&f.instance===i);d&&!u?(h.push({id:n,instance:i}),h.sort((f,g)=>f.instance>g.instance?1:f.instanceg.id?1:f.idthis.props.onChangeList(h)):this.props.onChangeList(h)):!d&&u&&(h.splice(h.indexOf(u),1),this.props.onChangeList(h))},checked:!!this.props.chartsList.find(d=>d.id===n&&d.instance===i)})," "]}):null]},`${i}_${n}`)}renderListItems(r,n,o,a){if(a.gIndex=a.gIndex||0,!(n!=null&&n.length))return null;const i=r._id,s=1;if(!o)return n.map(f=>w.jsx(EE,{isDragDisabled:!this.props.selectedId||typeof this.props.selectedId=="object",draggableId:`${i}***${f}`,index:a.gIndex++,children:(g,y)=>w.jsxs(w.Fragment,{children:[w.jsx("div",{ref:g.innerRef,...g.draggableProps,...g.dragHandleProps,style:g.draggableProps.style,className:"drag-items",children:this.renderListItem(r,f,!1,s)},`${i}_${f}_item`),y.isDragging?w.jsx("div",{className:"react-beautiful-dnd-copy",children:this.renderListItem(r,f,!0)},`${i}_${f}_dnd`):null]})},`${i}_${f}`));const l=`${i}///${o}`,d=this.state.chartsOpened[l];d&&(n=n.filter(f=>this.state.enums[o].common.members.includes(f)));const h=this.state.enums[o].common.name,u=typeof h=="object"?h[P.getLanguage()]||h.en:h;return[w.jsxs(of,{style:{...qt.width100,paddingLeft:$9*s,height:48},sx:ue.getStyle(this.props.theme,qt.folderItem,{"&.MuiListItem-gutters":qt.noGutters}),secondaryAction:w.jsx(Ie,{size:"small",onClick:()=>this.toggleChartFolder(l),title:d?P.t("Collapse"):P.t("Expand"),children:w.jsx(sf,{style:{transform:d?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out"}})}),children:[w.jsx(ba,{style:qt.itemIconRoot,onClick:()=>this.toggleChartFolder(l),children:d?w.jsx(vf,{style:{...qt.itemIcon,...qt.itemIconFolder}}):w.jsx(yf,{style:{...qt.itemIcon,...qt.itemIconFolder}})}),w.jsx(_o,{primary:u})]},l),d?w.jsx(vu,{children:n.map(f=>w.jsx(EE,{isDragDisabled:!this.props.selectedId||typeof this.props.selectedId=="object",draggableId:`${i}***${f}`,index:a.gIndex++,children:(g,y)=>w.jsxs(w.Fragment,{children:[w.jsx("div",{ref:g.innerRef,...g.draggableProps,...g.dragHandleProps,style:g.draggableProps.style,className:"drag-items",children:this.renderListItem(r,f,!1,2)},`${i}_${f}_item`),y.isDragging?w.jsx("div",{className:"react-beautiful-dnd-copy",children:this.renderListItem(r,f,!0)},`${i}_${f}_dnd`):null]})},`${i}_${f}`))},`${l}_LIST`):null]}render(){const r={gIndex:0};return w.jsxs(w.Fragment,{children:[this.renderSelectIdDialog(),w.jsx(QT,{droppableId:"Lines",isDropDisabled:!0,children:n=>w.jsx("div",{ref:n.innerRef,children:w.jsx(vu,{style:{...qt.scroll,...qt.mainList},children:w.jsxs(w.Fragment,{children:[this.state.instances.map(o=>{const a=this.state.chartsOpened[o._id];let i=null;if(a){const s=Object.keys(o.enabledDP).filter(l=>!this.props.search||l.includes(this.props.search)||o.names[l].includes(this.props.search));this.props.groupBy?i=(o.enums||[]).filter(l=>l.startsWith(`enum.${this.props.groupBy}.`)).map(l=>this.renderListItems(o,s,l,r)):(s.sort(C9),i=this.renderListItems(o,s,null,r))}return[w.jsxs(of,{sx:ue.getStyle(this.props.theme,qt.width100,qt.folderItem,{height:48,color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},{"&.MuiListItem-gutters":qt.noGutters}),secondaryAction:w.jsxs(w.Fragment,{children:[a?w.jsx(Ie,{size:"small",onClick:()=>this.setState({showAddStateDialog:o._id}),style:{color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},title:P.t("Enable logging for new state"),children:w.jsx(Il,{})}):null,w.jsx(Ie,{size:"small",onClick:()=>this.toggleChartFolder(o._id),title:a?P.t("Collapse"):P.t("Expand"),style:{color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},children:w.jsx(sf,{style:{transform:a?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out"}})})]}),children:[w.jsx(ba,{style:qt.itemIconRoot,sx:{color:this.props.theme.palette.mode==="dark"?void 0:"#FFF"},onClick:()=>this.toggleChartFolder(o._id),children:a?w.jsx(vf,{style:{...qt.itemIcon,...qt.itemIconFolder}}):w.jsx(yf,{style:{...qt.itemIcon,...qt.itemIconFolder}})}),w.jsx(_o,{primary:w.jsxs("div",{style:qt.itemNameDiv,children:[w.jsx("img",{style:qt.adapterIcon,alt:"",src:`../../adapter/${o.name}/${o.icon}`}),w.jsx("div",{style:qt.groupName,children:o._id.replace("system.adapter.","")})]})})]},o._id),i]}),n.placeholder]})},"chartList")},"chartListDiv")},"charts")]})}}const inr=qs()(anr),k9=48,Fo={mainListDiv:{width:"100%",height:"100%",overflow:"hidden"},mainToolbar:t=>({background:t.palette.primary.main}),secondaryColors:t=>({background:"#888",color:t.palette.mode==="dark"?"#000":"#FFF"}),smallMargin:{marginTop:"8px !important"},heightMinusTwoToolbars:{height:`calc(100% - ${k9*2}px)`,overflow:"auto"},heightMinusToolbar:{height:`calc(100% - ${k9}px)`,overflow:"auto"},textColor:t=>({color:t.palette.mode==="dark"?"#000 !important":"#FFF !important"})};class snr extends A.Component{constructor(r){super(r);X(this,"isIFrame");this.state={search:null,multiple:window.localStorage.getItem("App.echarts.multiple")==="true",showSearch:!1,groupBy:window.localStorage.getItem("App.echarts.groupBy")||"",addPresetFolderDialog:!1,reorder:!1,showReorder:!1};try{this.isIFrame=window.self!==window.top}catch{this.isIFrame=!0}if(this.state.multiple){const n=window.localStorage.getItem("App.echarts.chartList")||"[]";let o;try{o=JSON.parse(n)}catch{o=[]}setTimeout(()=>this.props.onChangeList(o),100)}}renderListToolbar(){return w.jsxs(af,{variant:"dense",sx:Fo.mainToolbar,children:[this.state.reorder?null:w.jsx(Ie,{onClick:()=>this.props.onCreatePreset(!1),title:P.t("Create new preset"),children:w.jsx(Il,{})}),this.state.reorder?null:w.jsx(Ie,{onClick:()=>this.setState({addPresetFolderDialog:!0}),title:P.t("Create new folder"),children:w.jsx(Fpe,{})}),this.state.reorder?null:w.jsx("span",{style:Fo.right,children:w.jsx(Ie,{onClick:()=>this.setState({showSearch:!this.state.showSearch,search:""}),children:w.jsx(Nve,{})})}),this.state.showSearch?w.jsx(Ht,{variant:"standard",value:this.state.search,style:Fo.textInput,onChange:r=>this.setState({search:r.target.value}),InputProps:{endAdornment:this.state.search?w.jsx(Ie,{onClick:()=>this.setState({search:""}),children:w.jsx(Ar,{})}):void 0}}):null,w.jsx("div",{style:{flexGrow:1}}),!this.state.showSearch&&this.state.showReorder||this.state.reorder?w.jsx(Ie,{title:P.t("Reorder presets in folders"),style:{color:this.state.reorder?"red":"inherit",float:"right"},onClick:r=>{r.stopPropagation(),this.setState({reorder:!this.state.reorder})},children:w.jsx(zpe,{})},"reorder"):null,!this.state.showSearch&&this.isIFrame?w.jsx(Ie,{onClick:()=>window.open(window.location.href,"own-echarts"),title:P.t("Open in own window"),children:w.jsx(hH,{})}):null]},"toolbar")}renderFooter(){return w.jsxs(af,{variant:"dense",sx:Fo.secondaryColors,style:{gap:8},children:[this.props.selectedPresetChanged?null:w.jsx(AG,{style:{width:58},checked:this.state.multiple,theme:this.props.theme,onChange:r=>{if(window.localStorage.setItem("App.echarts.multiple",r?"true":"false"),r){const n=this.props.selectedId;n&&typeof n=="object"?this.setState({multiple:!0},()=>this.props.onChangeList([JSON.parse(JSON.stringify(n))])):this.setState({multiple:!0},()=>this.props.onChangeList([]))}else this.setState({multiple:!1},()=>this.props.onChangeList(null))},labelOn:P.t("Multiple")}),w.jsxs(_a,{variant:"standard",style:{minWidth:100},sx:Fo.textColor,children:[w.jsx($l,{shrink:!0,sx:Fo.textColor,style:{whiteSpace:"nowrap",top:5},children:P.t("Group by")}),w.jsxs(Bn,{variant:"standard",label:P.t("Group by"),sx:Fo.textColor,onChange:r=>{window.localStorage.setItem("App.echarts.groupBy",r.target.value),this.setState({groupBy:r.target.value})},value:this.state.groupBy||"",style:Fo.smallMargin,displayEmpty:!0,children:[w.jsx(Jt,{value:"",children:P.t("None")}),w.jsx(Jt,{value:"rooms",children:P.t("Rooms")}),w.jsx(Jt,{value:"functions",children:P.t("Functions")})]})]}),w.jsx("div",{style:{flex:1}}),w.jsx(Ie,{size:"small",sx:Fo.textColor,title:P.t("Charts preview"),onClick:()=>{const r=window.location.pathname.split("/");r.pop(),r.push("preview/index.html"),window.location.href=`${window.location.protocol}//${window.location.host}${r.join("/")}`},children:w.jsx(Mve,{})})]},"toolbarBottom")}render(){return w.jsxs("div",{style:Fo.mainListDiv,children:[this.renderListToolbar(),w.jsxs("div",{style:this.state.reorder?Fo.heightMinusToolbar:Fo.heightMinusTwoToolbars,children:[w.jsx(rnr,{socket:this.props.socket,scrollToSelect:this.props.scrollToSelect,addPresetFolderDialog:this.state.addPresetFolderDialog,onClosePresetFolderDialog:r=>this.setState({addPresetFolderDialog:!1},r),onCreatePreset:(r,n)=>this.props.onCreatePreset(r,n),onCopyPreset:r=>this.props.onCopyPreset(r),adapterName:this.props.adapterName,selectedPresetChanged:this.props.selectedPresetChanged,onShowToast:r=>this.props.onShowToast(r),onShowError:r=>this.props.onShowToast(r),onShowReorder:r=>{r!==this.props.showReorder&&this.setState({showReorder:r})},theme:this.props.theme,search:this.state.search,reorder:this.state.reorder,selectedId:this.props.selectedId,systemConfig:this.props.systemConfig,onSelectedChanged:(r,n)=>this.props.onSelectedChanged(r,n)}),this.state.reorder?null:w.jsx(inr,{socket:this.props.socket,scrollToSelect:this.props.scrollToSelect,instances:this.props.instances,adapterName:this.props.adapterName,onShowToast:r=>this.props.onShowToast(r),onShowError:r=>this.props.onShowToast(r),search:this.state.search,multiple:this.state.multiple&&!this.props.selectedPresetChanged,theme:this.props.theme,groupBy:this.state.groupBy,selectedId:this.props.selectedId,onChangeList:r=>{window.localStorage.setItem("App.echarts.chartList",JSON.stringify(r)),this.props.onChangeList(r)},chartsList:this.props.chartsList,onSelectedChanged:(r,n)=>this.props.onSelectedChanged(r,n)})]}),this.state.reorder?null:this.renderFooter()]},"mainMenuDiv")}}const lnr=qs()(snr);function cnr(t,e){const r={};return t.replace(/\+/g," ").split("&").forEach(n=>{const o=n.split("=");let a=decodeURIComponent(o[0]),i,s=0,l=a.split("]["),d=l.length-1;if(/\[/.test(l[0])&&/]$/.test(l[d])?(l[d]=l[d].replace(/]$/,""),l=l.shift().split("[").concat(l),d=l.length-1):d=0,o.length===2)if(i=decodeURIComponent(o[1]),d){let h=r;for(;s<=d;s++)a=l[s]===""?h.length:l[s],h=h[a]=s{const a=$h(t,e,o);a&&a.then(()=>{})});if(!e||!e.length)return r(),null;const n=e.shift();return n?t.getObject(n._id).catch(()=>null).then(o=>{o?(console.log(`Object ${n._id} already exists and will not be converted`),setTimeout(()=>$h(t,e,r),50)):t.setObject(n._id,n).then(()=>setTimeout(()=>$h(t,e,r),50))}):setTimeout(()=>$h(t,e,r),50),null}function pnr(t,e){const r={_id:t._id.replace(/^flot.\d+/,`echarts.${e}`),common:{name:t.common.name,expert:!0},native:{},type:"chart"};r._id.endsWith(".")&&(r._id=`empty_${Math.round(Math.random()*1e4)}`);const n=dnr(cnr(t.native.url));return n.lines||(n.lines=n.l,delete n.l),r.native.data=n,console.log(`Convert ${t._id} => ${r._id}`),r}function hnr(t,e){e=e||0;let r;return t.getObject(`system.adapter.echarts.${e}`).then(n=>(r=n,n&&n.native&&!n.native.convertDone?unr(t):Promise.resolve([]))).then(n=>$h(t,n.map(o=>pnr(o,e)))).then(()=>r.native.convertDone?Promise.resolve():(r.native.convertDone=!0,t.setObject(r._id,r))).catch(n=>(console.error(`Cannot convert flot: ${n}`),Promise.resolve()))}const Qp={root:t=>({width:"100%",height:"100%",background:t.palette.background.default,color:t.palette.mode==="dark"?"#FFF":"#000",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif'}),menuDiv:{overflow:"hidden"},content:t=>({width:"100%",height:"100%",backgroundColor:t.palette.background.default,position:"relative"}),menuDivWithoutMenu:{"&>div:first-child":{display:"none"},"&>.layout-splitter":{display:"none"}},progress:{margin:100},menuOpenCloseButton:t=>({position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,pt:"8px",cursor:"pointer",zIndex:1,height:25,width:20,background:t.palette.secondary.main,color:t.palette.primary.main,pl:"3px","&:hover":{color:"white"}}),buttonsContainer:{"& button":{whiteSpace:"nowrap"}}},E9=/[.\][*,;'"`<>\\?]/g;function T9(t,e){const r=window.localStorage.getItem(`App.echarts.__${t}`);return r?parseFloat(r):e}function eh(t,e){return window.localStorage.getItem(`App.echarts.__${t}`)||e}function sd(t,e){return window.localStorage.getItem(`App.echarts.__${t}`)||e}function O9(){if(window.location.hash){const t={};return window.location.hash.replace(/^#/,"").split("&").forEach(e=>{const[r,n]=e.split("=");t[r]=window.decodeURIComponent(n),r==="instance"&&!t[r].startsWith("system.adapter")&&(t[r]=`system.adapter.${t[r]}`)}),t}return null}class ay extends ys{constructor(r){const n={socket:{}},o=Her();n.socket.port=o.port||(parseInt(window.location.port)>=3e3&&parseInt(window.location.port)<=3020?8081:window.location.port),n.socket.host=o.host||window.location.hostname,n.translations={en:gwt,de:_Ct,ru:xEt,pt:$Ot,nl:TIt,fr:ANt,it:P3t,es:jLt,pl:FFt,uk:H9t,"zh-cn":qHt},n.sentryDSN=window.sentryDSN,window.location.port==="3000"&&(n.socket={port:"8081"}),window.socketUrl&&window.socketUrl.startsWith(":")&&(window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`);super(r,n);X(this,"config");X(this,"objects",{});X(this,"confirmCB",null);X(this,"onCopyPreset",async r=>{try{const n=await this.socket.getObject(r);if(n){const{id:o,name:a}=await this.getUniqueId(r,typeof n.common.name=="object"?n.common.name[P.getLanguage()]||n.common.name.en:n.common.name);n._id=o,n.common.name=a;try{await this.socket.setObject(n._id,n),this.loadChartOrPreset(o)}catch(i){this.onError(i,"Cannot save object")}}}catch(n){this.onError(n,"Cannot save object")}});X(this,"onCreatePreset",async(r,n)=>{var i;let o,a;if(r===!0){let s="";const l=this.state.selectedId,d=JSON.parse(JSON.stringify(this.state.chartsList||[]));d.find(f=>f.id===l.id&&f.instance===l.instance)||d.push(l);let h=null;d.length===1&&(h=await this.socket.getObject(d[0].id)),h&&((i=h==null?void 0:h.common)!=null&&i.name)&&(s=typeof h.common.name=="object"?(h.common.name[P.getLanguage()]||h.common.name.en||"").trim():h.common.name);const u=await this.getNewPresetName(n,s);a=`${this.adapterName}.0.${n?`${n}.`:""}${s.replace(E9,"_")}`,o={_id:a,common:{name:u,expert:!0},native:{data:JSON.parse(JSON.stringify(this.state.presetData))},type:"chart"}}else{const s=await this.getNewPresetName(n);a=`${this.adapterName}.0.${n?`${n}.`:""}${s.replace(E9,"_")}`,o={_id:a,common:{name:s},native:{url:"",data:G2(this.state.systemConfig,null,null,P.getLanguage())},type:"chart"}}try{await this.socket.setObject(a,o),this.loadChartOrPreset(a)}catch(s){this.onError(s,"Cannot save object")}});X(this,"savePreset",async()=>{if(!this.state.presetData)throw this.showError(P.t("Empty preset cannot be saved!")),new Error(P.t("Empty preset cannot be saved!"));try{const r=await this.socket.getObject(this.state.selectedId);if(!(r!=null&&r.native)){this.showError(P.t("Invalid object"));return}r.native.data=this.state.presetData;try{await this.socket.setObject(r._id,r)}catch(n){this.onError(n,"Cannot save object")}this.setState({originalPresetData:JSON.stringify(this.state.presetData),selectedPresetChanged:!1})}catch(r){this.onError(r,"Cannot read object")}});X(this,"onDragEnd",async r=>{const{source:n,destination:o,draggableId:a}=r;if(o&&a.includes("***")&&n.droppableId==="Lines"){const[i,s]=a.split("***");try{const l=await this.socket.getObject(s),d=JSON.parse(JSON.stringify(this.state.presetData)),h=Lh(this.state.systemConfig,i,l,P.getLanguage());for(let u=0;u=o.index&&(d.l[u].commonYAxis=d.l[u].commonYAxis+1);if(d.l.splice(o.index,0,h),d.l.length>1){if(h.unit){for(let u=0;uu.chartType==="bar")?h.chartType="bar":d.l.find(u=>u.chartType==="polar")&&(h.chartType="polar",h.aggregate="current")}this.setState({presetData:d,selectedPresetChanged:JSON.stringify(d)!==this.state.originalPresetData})}catch(l){this.onError(l,"Cannot read object")}}else if(o&&n.droppableId===o.droppableId){const i=JSON.parse(JSON.stringify(this.state.presetData));for(let l=0;lthis.setState({scrollToSelect:!0},()=>this.setState({scrollToSelect:!1})))}async onConnectionReady(){var h,u,f;const r=window.localStorage.getItem("App.echarts.selectedId");let n;if(r)try{n=JSON.parse(r)}catch{n=null}!n&&((h=this.config)!=null&&h.preset)?n=this.config.preset:!n&&((u=this.config)!=null&&u.id)&&(n={id:this.config.id,instance:this.config.instance});const o=window.localStorage.getItem("App.echarts.settingsSizes");let a=[25,75];if(o)try{a=JSON.parse(o)}catch{}a=a||[25,75];const i=window.localStorage.getItem("App.echarts.menuSizes");let s=[25,75];if(i)try{s=JSON.parse(i)}catch{}s=s||[25,75];const l={ready:!1,instances:[],splitSizes:a,menuSizes:s,selectedId:n,selectedPresetChanged:!1,presetData:null,originalPresetData:null,chartsList:null,progress:0,autoSave:window.localStorage.getItem("App.echarts.autoSave")==="true",discardChangesConfirmDialog:!1,resizing:!1,menuOpened:window.localStorage.getItem("App.echarts.menuOpened")!=="false",logHorzLayout:window.localStorage.getItem("App.echarts.logHorzLayout")==="true"};this.objects={};const d=await this.socket.getSystemConfig();if(l.systemConfig=d,l.presetData=G2(d),(f=this.config)!=null&&f.id){const g=this.config;l.selectedId={id:g.id,instance:g.instance},g.menuOpened!==void 0&&(l.menuOpened=g.menuOpened===!0),this.config=null}this.setState(l,async()=>{hnr(this.socket,this.instance);try{const y=(await this.socket.getAdapterInstances("")).filter(b=>{var x;return((x=b==null?void 0:b.common)==null?void 0:x.getHistory)&&b.common.enabled});this.setState({ready:!0,instances:y})}catch(g){this.onError(g,"Cannot read system config")}})}async getNewPresetName(r,n,o){o=o||(n?"":"1"),n=n||"preset_";let a;do{try{a=await this.socket.getObject(`${this.adapterName}.${this.instance}.${r?`${r}.`:""}${n}${o}`)}catch{return n+o}if(!a)return n+o;o?o=(parseInt(o,10)+1).toString():o="2"}while(a)}async getUniqueId(r,n){let o=0,a;do{const i=`${r}_${P.t("copy")}${o?`_${o}`:""}`,s=`${n} ${P.t("copy")}${o?` ${o}`:""}`;try{a=await this.socket.getObject(i)}catch{}if(!a)return{name:s,id:i};o++}while(o<100);throw new Error(P.t("Cannot create unique ID"))}onError(r,n){n&&console.error(n),this.showError(r.toString())}static normalizePreset(r){var n;r.lines&&(r.l=r.lines,delete r.lines),typeof r.range=="string"&&!r.range.includes("m")&&!r.range.includes("y")&&(r.range=parseInt(r.range,10)),(n=r.l)==null||n.forEach(o=>{typeof o.commonYAxis=="string"&&(o.commonYAxis===""?delete o.commonYAxis:o.commonYAxis=parseInt(o.commonYAxis,10)),typeof o.fill=="string"&&(o.fill===""?delete o.fill:o.fill=parseFloat(o.fill))})}async loadChartOrPreset(r){var n,o;if(window.localStorage.setItem("App.echarts.selectedId",JSON.stringify(r)),r&&typeof r=="object"){if(this.state.chartsList)for(const s of this.state.chartsList)this.objects[s.id]===void 0&&(this.objects[s.id]=await this.socket.getObject(s.id)||null);else this.objects={};this.objects[r.id]===void 0&&(this.objects[r.id]=await this.socket.getObject(r.id)||null);const a=(this.state.chartsList||[]).map(s=>Lh(this.state.systemConfig,s.instance,this.objects[s.id],P.getLanguage()));if((n=this.state.chartsList)!=null&&n.find(s=>s.id===r.id&&s.instance===r.instance)||a.push(Lh(this.state.systemConfig,r.instance,this.objects[r.id],P.getLanguage())),a.length>1){const s=a.find(l=>!l.isBoolean);if(s){const l=a.indexOf(s);if(s.yaxe="left",s.unit)for(let d=l+1;d1?"nw":""};ay.normalizePreset(i),await new Promise(s=>{this.setState({presetData:i,originalPresetData:"",selectedPresetChanged:!1,selectedId:r},()=>{const l=`#id=${r.id}&instance=${r.instance.replace(/^system\.adapter\./,"")}`;window.location.hash!==l&&(window.location.hash=l),s()})})}else if(r){const a=await this.socket.getObject(r);if((o=a==null?void 0:a.native)!=null&&o.data){const i=`#preset=${r}`;window.location.hash!==i&&(window.location.hash=i);const s={presetData:a.native.data,originalPresetData:JSON.stringify(a.native.data),selectedPresetChanged:!1,selectedId:r};ay.normalizePreset(s.presetData),await new Promise(l=>this.setState(s,()=>l()))}}else await new Promise(a=>{this.setState({presetData:null,originalPresetData:"",selectedPresetChanged:!1,selectedId:null},()=>a())})}discardChangesConfirmDialog(){return this.state.discardChangesConfirmDialog?w.jsxs(or,{maxWidth:"lg",fullWidth:!0,open:!0,onClose:()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!1)),children:[w.jsx(_r,{children:this.state.discardChangesConfirmDialog==="chart"?P.t("Are you sure for loading the chart and discard unsaved changes?"):this.state.discardChangesConfirmDialog==="preset"?P.t("Are you sure for loading the preset and discard unsaved changes?"):P.t("Are you sure for closing folder and discard unsaved changes?")}),w.jsxs(pr,{sx:{...Qp.alignRight,...Qp.buttonsContainer},children:[w.jsx(tt,{color:"grey",variant:"outlined",onClick:()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!0)),children:P.t("Load without save")}),w.jsx(tt,{variant:"contained",color:"secondary",autoFocus:!0,onClick:()=>this.savePreset().then(()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!0))),startIcon:w.jsx(pH,{}),children:P.t("Save current preset and load")}),w.jsx(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({discardChangesConfirmDialog:!1},()=>this.confirmCB&&this.confirmCB(!1)),startIcon:w.jsx(wo,{}),children:P.t("Cancel")})]})]},"discardChangesConfirmDialog"):null}renderMain(){let r=null,n=null;this.state.presetData&&this.state.selectedId&&typeof this.state.selectedId=="string"&&(r=w.jsx(aZt,{socket:this.socket,width:window.innerWidth,theme:this.state.theme,onChange:a=>{this.state.autoSave?this.setState({presetData:a},()=>this.savePreset()):this.setState({presetData:a,selectedPresetChanged:JSON.stringify(a)!==this.state.originalPresetData})},presetData:this.state.presetData,selectedId:this.state.selectedId,instances:this.state.instances,systemConfig:this.state.systemConfig,selectedPresetChanged:this.state.selectedPresetChanged,savePreset:this.savePreset,autoSave:this.state.autoSave,onAutoSave:a=>{window.localStorage.setItem("App.echarts.autoSave",a?"true":"false"),a&&this.state.selectedPresetChanged?this.savePreset().then(()=>this.setState({autoSave:a})):this.setState({autoSave:a})},windowWidth:this.state.menuSizes[1]},"Editor")),this.state.selectedId&&(n=w.jsx(Wer,{visible:!this.state.resizing,theme:this.state.theme,onChange:a=>this.setState({presetData:a}),presetData:this.state.presetData,selectedId:this.state.selectedId,onCreatePreset:this.onCreatePreset,windowWidth:this.state.menuSizes[1]},"MainChart"));let o;return n&&r?o=w.jsxs(CP,{direction:this.state.logHorzLayout?Tr.Horizontal:Tr.Vertical,initialSizes:this.state.splitSizes,minWidths:[100,450],onResizeStarted:()=>this.setState({resizing:!0}),onResizeFinished:(a,i)=>{this.setState({resizing:!1,splitSizes:i}),window.localStorage.setItem("App.echarts.settingsSizes",JSON.stringify(i))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[n,r]}):o=n,[w.jsxs(Re,{component:"div",sx:Qp.content,className:"iobVerticalSplitter",children:[w.jsx(Re,{component:"div",sx:Qp.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.echarts.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:this.state.menuOpened?w.jsx(Bpe,{}):w.jsx(HE,{})},"confirmdiv"),o]},"confirmdialog")]}renderMenu(){return w.jsx(lnr,{scrollToSelect:this.state.scrollToSelect,socket:this.socket,theme:this.state.theme,adapterName:this.adapterName,instances:this.state.instances,systemConfig:this.state.systemConfig,onShowToast:r=>this.showToast(r),selectedPresetChanged:this.state.selectedPresetChanged,chartsList:this.state.chartsList,selectedId:this.state.selectedId,onCopyPreset:this.onCopyPreset,onCreatePreset:this.onCreatePreset,onChangeList:r=>{let n=this.state.selectedId;if(r&&this.state.chartsList&&r.length&&r.length!r.find(s=>s.id===i.id&&s.instance===i.instance)),a=this.state.chartsList.indexOf(o);this.state.chartsList[a+1]?n=this.state.chartsList[a+1]:this.state.chartsList[a-1]?n=this.state.chartsList[a-1]:n=r[0]}this.setState({chartsList:r},()=>this.loadChartOrPreset(n))},onSelectedChanged:(r,n)=>{this.state.selectedPresetChanged?(this.confirmCB=o=>{o?this.loadChartOrPreset(r).then(()=>n&&n(r)):n&&n(!1),this.confirmCB=null},this.setState({discardChangesConfirmDialog:r&&typeof r=="object"?"chart":r?"preset":"folder"})):this.loadChartOrPreset(r)}},"menuList")}render(){if(!this.state.ready)return w.jsx(uE,{injectFirst:!0,children:w.jsx(yE,{theme:this.state.theme,children:w.jsx(QH,{themeType:this.state.themeType})})});let r;return this.state.menuOpened?r=w.jsx(XN,{onDragEnd:this.onDragEnd,children:w.jsxs(CP,{direction:Tr.Horizontal,initialSizes:this.state.menuSizes,minWidths:[307,300],onResizeStarted:()=>this.setState({resizing:!0}),onResizeFinished:(n,o)=>{this.setState({resizing:!1,menuSizes:[o[0],100-o[0]]}),window.localStorage.setItem("App.echarts.menuSizes",JSON.stringify(o))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[this.renderMenu(),this.renderMain()]})}):r=r=w.jsx(XN,{onDragEnd:this.onDragEnd,children:this.renderMain()}),w.jsx(uE,{injectFirst:!0,children:w.jsxs(yE,{theme:this.state.theme,children:[w.jsx(Re,{sx:Qp.root,children:r}),this.discardChangesConfirmDialog(),this.renderError(),this.renderToast()]})})}}const fnr=qs()(ay);window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function mnr(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(t=>t.unregister())}const gnr="echarts.edit",vnr="1.9.2",ynr={"@devbookhq/splitter":"^1.4.2","@vitejs/plugin-react":"^4.3.4","@types/react-color":"^3.0.13","@types/react-beautiful-dnd":"^13.1.8","material-ui-color-picker":"^3.5.1",moment:"^2.30.1",react:"^18.3.1","react-beautiful-dnd":"^13.1.1","react-dnd":"^16.0.1","react-dnd-html5-backend":"^16.0.1","react-dnd-touch-backend":"^16.0.1","react-dom":"^18.3.1","react-i18next":"^15.4.0","react-icons":"^5.4.0",typescript:"^5.7.2"},_nr=".",bnr={start:"vite dev --config vite.config.mjs --host",build:"vite build --config vite.config.mjs",lint:"eslint -c eslint.config.mjs --debug",npm:"npm i -f",tsc:"tsc -p tsconfig.json"},wnr="http://127.0.0.1:8081",xnr=["127.0.0.1"],Snr={extends:"react-app"},Cnr=[">0.2%","not dead","not ie <= 11","not op_mini all"],$nr={name:gnr,version:vnr,private:!0,dependencies:ynr,homepage:_nr,scripts:bnr,_proxy:wnr,allowedHosts:xnr,eslintConfig:Snr,browserslist:Cnr};window.adapterName="echarts";window.sentryDSN="https://709f116e1de34029921e4f2696d6740f@sentry.iobroker.net/88";console.log(`iobroker.${window.adapterName}@${$nr.version}`);const D9=document.getElementById("root");D9&&LJ.createRoot(D9).render(w.jsx(fnr,{}));mnr()});export default knr(); diff --git a/admin/chart/assets/index-BCztFPsf.js b/admin/chart/assets/index-DCgeF7hH.js similarity index 99% rename from admin/chart/assets/index-BCztFPsf.js rename to admin/chart/assets/index-DCgeF7hH.js index ed8c2923..67bad9a3 100644 --- a/admin/chart/assets/index-BCztFPsf.js +++ b/admin/chart/assets/index-DCgeF7hH.js @@ -598,7 +598,7 @@ yyyy`);var n=xo(e),a=r?"getUTC":"get",i=n[a+"FullYear"](),o=n[a+"Month"]()+1,s=n `)){var _=new Uw;_.newline=!0,c.add(_);return}var b=a.getSeriesByName(g)[0];if(!d.get(g))if(b){var w=b.getData(),x=w.getVisual("legendLineStyle")||{},C=w.getVisual("legendIcon"),M=w.getVisual("style"),k=this._createItem(b,g,v,p,n,r,x,M,C,u,i);k.on("click",Jp(uV,g,null,i,f)).on("mouseover",Jp(SR,b.name,null,i,f)).on("mouseout",Jp(xR,b.name,null,i,f)),a.ssr&&k.eachChild(function(O){var R=Wt(O);R.seriesIndex=b.seriesIndex,R.dataIndex=v,R.ssrType="legend"}),d.set(g,!0)}else a.eachRawSeries(function(O){if(!d.get(g)&&O.legendVisualProvider){var R=O.legendVisualProvider;if(!R.containName(g))return;var L=R.indexOfName(g),$=R.getItemVisual(L,"style"),N=R.getItemVisual(L,"legendIcon"),W=ci($.fill);W&&W[3]===0&&(W[3]=.2,$=De(De({},$),{fill:pd(W,"rgba")}));var j=this._createItem(O,g,v,p,n,r,{},$,N,u,i);j.on("click",Jp(uV,null,g,i,f)).on("mouseover",Jp(SR,null,g,i,f)).on("mouseout",Jp(xR,null,g,i,f)),a.ssr&&j.eachChild(function(Y){var V=Wt(Y);V.seriesIndex=O.seriesIndex,V.dataIndex=v,V.ssrType="legend"}),d.set(g,!0)}},this)},this),o&&this._createSelector(o,n,i,s,l)},e.prototype._createSelector=function(r,n,a,i,o){var s=this.getSelectorGroup();wR(r,function(c){var d=c.type,u=new vn({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){a.dispatchAction({type:d==="all"?"legendAllSelect":"legendInverseSelect",legendId:n.id})}});s.add(u);var f=n.getModel("selectorLabel"),p=n.getModel(["emphasis","selectorLabel"]);Lh(u,{normal:f,emphasis:p},{defaultText:c.title}),Ju(u)})},e.prototype._createItem=function(r,n,a,i,o,s,l,c,d,u,f){var p=r.visualDrawType,v=o.get("itemWidth"),g=o.get("itemHeight"),_=o.isSelected(n),b=i.get("symbolRotate"),w=i.get("symbolKeepAspect"),x=i.get("icon");d=x||d||"roundRect";var C=rNt(d,i,l,c,p,_,f),M=new Uw,k=i.getModel("textStyle");if(wt(r.getLegendIcon)&&(!x||x==="inherit"))M.add(r.getLegendIcon({itemWidth:v,itemHeight:g,icon:d,iconRotate:b,itemStyle:C.itemStyle,lineStyle:C.lineStyle,symbolKeepAspect:w}));else{var O=x==="inherit"&&r.getData().getVisual("symbol")?b==="inherit"?r.getData().getVisual("symbolRotate"):b:0;M.add(nNt({itemWidth:v,itemHeight:g,icon:d,iconRotate:O,itemStyle:C.itemStyle,lineStyle:C.lineStyle,symbolKeepAspect:w}))}var R=s==="left"?v+5:-5,L=s,$=o.get("formatter"),N=n;Ue($)&&$?N=$.replace("{name}",n??""):wt($)&&(N=$(n));var W=_?k.getTextColor():i.get("inactiveColor");M.add(new vn({style:Ni(k,{text:N,x:R,y:g/2,fill:W,align:L,verticalAlign:"middle"},{inheritColor:W})}));var j=new Ur({shape:M.getBoundingRect(),style:{fill:"transparent"}}),Y=i.getModel("tooltip");return Y.get("show")&&F0({el:j,componentModel:o,itemName:n,itemTooltipOption:Y.option}),M.add(j),M.eachChild(function(V){V.silent=!0}),j.silent=!u,this.getContentGroup().add(M),Ju(M),M.__legendDataIndex=a,M},e.prototype.layoutInner=function(r,n,a,i,o,s){var l=this.getContentGroup(),c=this.getSelectorGroup();Um(r.get("orient"),l,r.get("itemGap"),a.width,a.height);var d=l.getBoundingRect(),u=[-d.x,-d.y];if(c.markRedraw(),l.markRedraw(),o){Um("horizontal",c,r.get("selectorItemGap",!0));var f=c.getBoundingRect(),p=[-f.x,-f.y],v=r.get("selectorButtonGap",!0),g=r.getOrient().index,_=g===0?"width":"height",b=g===0?"height":"width",w=g===0?"y":"x";s==="end"?p[g]+=d[_]+v:u[g]+=f[_]+v,p[1-g]+=d[b]/2-f[b]/2,c.x=p[0],c.y=p[1],l.x=u[0],l.y=u[1];var x={x:0,y:0};return x[_]=d[_]+v+f[_],x[b]=Math.max(d[b],f[b]),x[w]=Math.min(0,f[w]+p[1-g]),x}else return l.x=u[0],l.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(Cn);function rNt(t,e,r,n,a,i,o){function s(_,b){_.lineWidth==="auto"&&(_.lineWidth=b.lineWidth>0?2:0),wR(_,function(w,x){_[x]==="inherit"&&(_[x]=b[x])})}var l=e.getModel("itemStyle"),c=l.getItemStyle(),d=t.lastIndexOf("empty",0)===0?"fill":"stroke",u=l.getShallow("decal");c.decal=!u||u==="inherit"?n.decal:qI(u,o),c.fill==="inherit"&&(c.fill=n[a]),c.stroke==="inherit"&&(c.stroke=n[d]),c.opacity==="inherit"&&(c.opacity=(a==="fill"?n:r).opacity),s(c,n);var f=e.getModel("lineStyle"),p=f.getLineStyle();if(s(p,r),c.fill==="auto"&&(c.fill=n.fill),c.stroke==="auto"&&(c.stroke=n.fill),p.stroke==="auto"&&(p.stroke=n.fill),!i){var v=e.get("inactiveBorderWidth"),g=c[d];c.lineWidth=v==="auto"?n.lineWidth>0&&g?2:0:c.lineWidth,c.fill=e.get("inactiveColor"),c.stroke=e.get("inactiveBorderColor"),p.stroke=f.get("inactiveColor"),p.lineWidth=f.get("inactiveWidth")}return{itemStyle:c,lineStyle:p}}function nNt(t){var e=t.icon||"roundRect",r=ji(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);return r.setStyle(t.itemStyle),r.rotation=(t.iconRotate||0)*Math.PI/180,r.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf("empty")>-1&&(r.style.stroke=r.style.fill,r.style.fill="#fff",r.style.lineWidth=2),r}function uV(t,e,r,n){xR(t,e,r,n),r.dispatchAction({type:"legendToggleSelect",name:t??e}),SR(t,e,r,n)}function kre(t){for(var e=t.getZr().storage.getDisplayList(),r,n=0,a=e.length;na[o],_=[-p.x,-p.y];n||(_[i]=d[c]);var b=[0,0],w=[-v.x,-v.y],x=mt(r.get("pageButtonGap",!0),r.get("itemGap",!0));if(g){var C=r.get("pageButtonPosition",!0);C==="end"?w[i]+=a[o]-v[o]:b[i]+=v[o]+x}w[1-i]+=p[s]/2-v[s]/2,d.setPosition(_),u.setPosition(b),f.setPosition(w);var M={x:0,y:0};if(M[o]=g?a[o]:p[o],M[s]=Math.max(p[s],v[s]),M[l]=Math.min(0,v[l]+w[1-i]),u.__rectSize=a[o],g){var k={x:0,y:0};k[o]=Math.max(a[o]-v[o]-x,0),k[s]=M[s],u.setClipPath(new Ur({shape:k})),u.__rectSize=k[o]}else f.eachChild(function(R){R.attr({invisible:!0,silent:!0})});var O=this._getPageInfo(r);return O.pageIndex!=null&&xn(d,{x:O.contentPosition[0],y:O.contentPosition[1]},g?r:null),this._updatePageInfoView(r,O),M},e.prototype._pageGo=function(r,n,a){var i=this._getPageInfo(n)[r];i!=null&&a.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:n.id})},e.prototype._updatePageInfoView=function(r,n){var a=this._controllerGroup;G(["pagePrev","pageNext"],function(d){var u=d+"DataIndex",f=n[u]!=null,p=a.childOfName(d);p&&(p.setStyle("fill",f?r.get("pageIconColor",!0):r.get("pageIconInactiveColor",!0)),p.cursor=f?"pointer":"default")});var i=a.childOfName("pageText"),o=r.get("pageFormatter"),s=n.pageIndex,l=s!=null?s+1:0,c=n.pageCount;i&&o&&i.setStyle("text",Ue(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",c==null?"":c+""):o({current:l,total:c}))},e.prototype._getPageInfo=function(r){var n=r.get("scrollDataIndex",!0),a=this.getContentGroup(),i=this._containerGroup.__rectSize,o=r.getOrient().index,s=pA[o],l=mA[o],c=this._findTargetItemIndex(n),d=a.children(),u=d[c],f=d.length,p=f?1:0,v={contentPosition:[a.x,a.y],pageCount:p,pageIndex:p-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return v;var g=C(u);v.contentPosition[o]=-g.s;for(var _=c+1,b=g,w=g,x=null;_<=f;++_)x=C(d[_]),(!x&&w.e>b.s+i||x&&!M(x,b.s))&&(w.i>b.i?b=w:b=x,b&&(v.pageNextDataIndex==null&&(v.pageNextDataIndex=b.i),++v.pageCount)),w=x;for(var _=c-1,b=g,w=g,x=null;_>=-1;--_)x=C(d[_]),(!x||!M(w,x.s))&&b.i=O&&k.s<=O+i}},e.prototype._findTargetItemIndex=function(r){if(!this._showController)return 0;var n,a=this.getContentGroup(),i;return a.eachChild(function(o,s){var l=o.__legendDataIndex;i==null&&l!=null&&(i=s),l===r&&(n=s)}),n??i},e.type="legend.scroll",e}(Tre);function lNt(t){t.registerAction("legendScroll","legendscroll",function(e,r){var n=e.scrollDataIndex;n!=null&&r.eachComponent({mainType:"legend",subType:"scroll",query:e},function(a){a.setScrollDataIndex(n)})})}function cNt(t){oa(Ere),t.registerComponentModel(oNt),t.registerComponentView(sNt),lNt(t)}function uNt(t){oa(Ere),oa(cNt)}var dNt=function(t){ve(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.type=e.type,r}return e.type="dataZoom.inside",e.defaultOption=j0(n0.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(n0),$3=Mr();function fNt(t,e,r){$3(t).coordSysRecordMap.each(function(n){var a=n.dataZoomInfoMap.get(e.uid);a&&(a.getRange=r)})}function hNt(t,e){for(var r=$3(t).coordSysRecordMap,n=r.keys(),a=0;an[r+e]&&(e=s),a=a&&o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!a}}}function _Nt(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,function(e,r){var n=$3(r),a=n.coordSysRecordMap||(n.coordSysRecordMap=Ct());a.each(function(i){i.dataZoomInfoMap=null}),e.eachComponent({mainType:"dataZoom",subType:"inside"},function(i){var o=ure(i);G(o.infoList,function(s){var l=s.model.uid,c=a.get(l)||a.set(l,pNt(r,s.model)),d=c.dataZoomInfoMap||(c.dataZoomInfoMap=Ct());d.set(i.uid,{dzReferCoordSysInfo:s,model:i,getRange:null})})}),a.each(function(i){var o=i.controller,s,l=i.dataZoomInfoMap;if(l){var c=l.keys()[0];c!=null&&(s=l.get(c))}if(!s){Dre(a,i);return}var d=gNt(l);o.enable(d.controlType,d.opt),o.setPointerChecker(i.containsPoint),zT(i,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var yNt=function(t){ve(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.type="dataZoom.inside",r}return e.prototype.render=function(r,n,a){if(t.prototype.render.apply(this,arguments),r.noTarget()){this._clear();return}this.range=r.getPercentRange(),fNt(a,r,{pan:dt(vA.pan,this),zoom:dt(vA.zoom,this),scrollMove:dt(vA.scrollMove,this)})},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){hNt(this.api,this.dataZoomModel),this.range=null},e.type="dataZoom.inside",e}(T3),vA={zoom:function(t,e,r,n){var a=this.range,i=a.slice(),o=t.axisModels[0];if(o){var s=gA[e](null,[n.originX,n.originY],o,r,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(i[1]-i[0])+i[0],c=Math.max(1/n.scale,0);i[0]=(i[0]-l)*c+l,i[1]=(i[1]-l)*c+l;var d=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(Z0(0,i,[0,100],0,d.minSpan,d.maxSpan),this.range=i,a[0]!==i[0]||a[1]!==i[1])return i}},pan:pV(function(t,e,r,n,a,i){var o=gA[n]([i.oldX,i.oldY],[i.newX,i.newY],e,a,r);return o.signal*(t[1]-t[0])*o.pixel/o.pixelLength}),scrollMove:pV(function(t,e,r,n,a,i){var o=gA[n]([0,0],[i.scrollDelta,i.scrollDelta],e,a,r);return o.signal*(t[1]-t[0])*i.scrollDelta})};function pV(t){return function(e,r,n,a){var i=this.range,o=i.slice(),s=e.axisModels[0];if(s){var l=t(o,s,e,r,n,a);if(Z0(l,o,[0,100],"all"),this.range=o,i[0]!==o[0]||i[1]!==o[1])return o}}}var gA={grid:function(t,e,r,n,a){var i=r.axis,o={},s=a.model.coordinateSystem.getRect();return t=t||[0,0],i.dim==="x"?(o.pixel=e[0]-t[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=i.inverse?1:-1):(o.pixel=e[1]-t[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=i.inverse?-1:1),o},polar:function(t,e,r,n,a){var i=r.axis,o={},s=a.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),c=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),r.mainType==="radiusAxis"?(o.pixel=e[0]-t[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=i.inverse?1:-1):(o.pixel=e[1]-t[1],o.pixelLength=c[1]-c[0],o.pixelStart=c[0],o.signal=i.inverse?-1:1),o},singleAxis:function(t,e,r,n,a){var i=r.axis,o=a.model.coordinateSystem.getRect(),s={};return t=t||[0,0],i.orient==="horizontal"?(s.pixel=e[0]-t[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=i.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=i.inverse?-1:1),s}};function bNt(t){k3(t),t.registerComponentModel(dNt),t.registerComponentView(yNt),_Nt(t)}var wNt=function(t){ve(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.type=e.type,r}return e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=j0(n0.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(n0),M_=Ur,mV=7,SNt=1,_A=30,xNt=7,O_="horizontal",vV="vertical",CNt=5,TNt=["line","bar","candlestick","scatter"],kNt={easing:"cubicOut",duration:100,delay:0},ENt=function(t){ve(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.type=e.type,r._displayables={},r}return e.prototype.init=function(r,n){this.api=n,this._onBrush=dt(this._onBrush,this),this._onBrushEnd=dt(this._onBrushEnd,this)},e.prototype.render=function(r,n,a,i){if(t.prototype.render.apply(this,arguments),zT(this,"_dispatchZoomAction",r.get("throttle"),"fixRate"),this._orient=r.getOrient(),r.get("show")===!1){this.group.removeAll();return}if(r.noTarget()){this._clear(),this.group.removeAll();return}(!i||i.type!=="dataZoom"||i.from!==this.uid)&&this._buildView(),this._updateView()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Wx(this,"_dispatchZoomAction");var r=this.api.getZr();r.off("mousemove",this._onBrush),r.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var r=this.group;r.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var n=this._displayables.sliderGroup=new Tr;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),r.add(n),this._positionGroup()},e.prototype._resetLocation=function(){var r=this.dataZoomModel,n=this.api,a=r.get("brushSelect"),i=a?xNt:0,o=this._findCoordRect(),s={width:n.getWidth(),height:n.getHeight()},l=this._orient===O_?{right:s.width-o.x-o.width,top:s.height-_A-mV-i,width:o.width,height:_A}:{right:mV,top:o.y,width:_A,height:o.height},c=U0(r.option);G(["right","top","width","height"],function(u){c[u]==="ph"&&(c[u]=l[u])});var d=xl(c,s);this._location={x:d.x,y:d.y},this._size=[d.width,d.height],this._orient===vV&&this._size.reverse()},e.prototype._positionGroup=function(){var r=this.group,n=this._location,a=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),o=i&&i.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(a===O_&&!o?{scaleY:l?1:-1,scaleX:1}:a===O_&&o?{scaleY:l?1:-1,scaleX:-1}:a===vV&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var c=r.getBoundingRect([s]);r.x=n.x-c.x,r.y=n.y-c.y,r.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var r=this.dataZoomModel,n=this._size,a=this._displayables.sliderGroup,i=r.get("brushSelect");a.add(new M_({silent:!0,shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:r.get("backgroundColor")},z2:-40}));var o=new M_({shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:"transparent"},z2:0,onclick:dt(this._onClickPanel,this)}),s=this.api.getZr();i?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),a.add(o)},e.prototype._renderDataShadow=function(){var r=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!r)return;var n=this._size,a=this._shadowSize||[],i=r.series,o=i.getRawData(),s=i.getShadowDim&&i.getShadowDim(),l=s&&o.getDimensionInfo(s)?i.getShadowDim():r.otherDim;if(l==null)return;var c=this._shadowPolygonPts,d=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||n[0]!==a[0]||n[1]!==a[1]){var u=o.getDataExtent(l),f=(u[1]-u[0])*.3;u=[u[0]-f,u[1]+f];var p=[0,n[1]],v=[0,n[0]],g=[[n[0],0],[0,0]],_=[],b=v[1]/(o.count()-1),w=0,x=Math.round(o.count()/n[0]),C;o.each([l],function(L,$){if(x>0&&$%x){w+=b;return}var N=L==null||isNaN(L)||L==="",W=N?0:ra(L,u,p,!0);N&&!C&&$?(g.push([g[g.length-1][0],0]),_.push([_[_.length-1][0],0])):!N&&C&&(g.push([w,0]),_.push([w,0])),g.push([w,W]),_.push([w,W]),w+=b,C=N}),c=this._shadowPolygonPts=g,d=this._shadowPolylinePts=_}this._shadowData=o,this._shadowDim=l,this._shadowSize=[n[0],n[1]];var M=this.dataZoomModel;function k(L){var $=M.getModel(L?"selectedDataBackground":"dataBackground"),N=new Tr,W=new Sl({shape:{points:c},segmentIgnoreThreshold:1,style:$.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),j=new Fc({shape:{points:d},segmentIgnoreThreshold:1,style:$.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return N.add(W),N.add(j),N}for(var O=0;O<3;O++){var R=k(O===1);this._displayables.sliderGroup.add(R),this._displayables.dataShadowSegs.push(R)}},e.prototype._prepareDataShadowInfo=function(){var r=this.dataZoomModel,n=r.get("showDataShadow");if(n!==!1){var a,i=this.ecModel;return r.eachTargetAxis(function(o,s){var l=r.getAxisProxy(o,s).getTargetSeriesModels();G(l,function(c){if(!a&&!(n!==!0&&Yt(TNt,c.get("type"))<0)){var d=i.getComponent(Vu(o),s).axis,u=DNt(o),f,p=c.coordinateSystem;u!=null&&p.getOtherAxis&&(f=p.getOtherAxis(d).inverse),u=c.getData().mapDimension(u),a={thisAxis:d,series:c,thisDim:o,otherDim:u,otherAxisInverse:f}}},this)},this),a}},e.prototype._renderHandle=function(){var r=this.group,n=this._displayables,a=n.handles=[null,null],i=n.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,c=this.api,d=l.get("borderRadius")||0,u=l.get("brushSelect"),f=n.filler=new M_({silent:u,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(f),o.add(new M_({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:d},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:SNt,fill:"rgba(0,0,0,0)"}})),G([0,1],function(x){var C=l.get("handleIcon");!Ux[C]&&C.indexOf("path://")<0&&C.indexOf("image://")<0&&(C="path://"+C);var M=ji(C,-1,0,2,2,null,!0);M.attr({cursor:gV(this._orient),draggable:!0,drift:dt(this._onDragMove,this,x),ondragend:dt(this._onDragEnd,this),onmouseover:dt(this._showDataInfo,this,!0),onmouseout:dt(this._showDataInfo,this,!1),z2:5});var k=M.getBoundingRect(),O=l.get("handleSize");this._handleHeight=Hr(O,this._size[1]),this._handleWidth=k.width/k.height*this._handleHeight,M.setStyle(l.getModel("handleStyle").getItemStyle()),M.style.strokeNoScale=!0,M.rectHover=!0,M.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),Ju(M);var R=l.get("handleColor");R!=null&&(M.style.fill=R),o.add(a[x]=M);var L=l.getModel("textStyle"),$=l.get("handleLabel")||{},N=$.show||!1;r.add(i[x]=new vn({silent:!0,invisible:!N,style:Ni(L,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:L.getTextColor(),font:L.getFont()}),z2:10}))},this);var p=f;if(u){var v=Hr(l.get("moveHandleSize"),s[1]),g=n.moveHandle=new Ur({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:v}}),_=v*.8,b=n.moveHandleIcon=ji(l.get("moveHandleIcon"),-_/2,-_/2,_,_,"#fff",!0);b.silent=!0,b.y=s[1]+v/2-.5,g.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var w=Math.min(s[1]/2,Math.max(v,10));p=n.moveZone=new Ur({invisible:!0,shape:{y:s[1]-w,height:v+w}}),p.on("mouseover",function(){c.enterEmphasis(g)}).on("mouseout",function(){c.leaveEmphasis(g)}),o.add(g),o.add(b),o.add(p)}p.attr({draggable:!0,cursor:gV(this._orient),drift:dt(this._onDragMove,this,"all"),ondragstart:dt(this._showDataInfo,this,!0),ondragend:dt(this._onDragEnd,this),onmouseover:dt(this._showDataInfo,this,!0),onmouseout:dt(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var r=this._range=this.dataZoomModel.getPercentRange(),n=this._getViewExtent();this._handleEnds=[ra(r[0],[0,100],n,!0),ra(r[1],[0,100],n,!0)]},e.prototype._updateInterval=function(r,n){var a=this.dataZoomModel,i=this._handleEnds,o=this._getViewExtent(),s=a.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];Z0(n,i,o,a.get("zoomLock")?"all":r,s.minSpan!=null?ra(s.minSpan,l,o,!0):null,s.maxSpan!=null?ra(s.maxSpan,l,o,!0):null);var c=this._range,d=this._range=fc([ra(i[0],o,l,!0),ra(i[1],o,l,!0)]);return!c||c[0]!==d[0]||c[1]!==d[1]},e.prototype._updateView=function(r){var n=this._displayables,a=this._handleEnds,i=fc(a.slice()),o=this._size;G([0,1],function(p){var v=n.handles[p],g=this._handleHeight;v.attr({scaleX:g/2,scaleY:g/2,x:a[p]+(p?-1:1),y:o[1]/2-g/2})},this),n.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:o[1]});var s={x:i[0],width:i[1]-i[0]};n.moveHandle&&(n.moveHandle.setShape(s),n.moveZone.setShape(s),n.moveZone.getBoundingRect(),n.moveHandleIcon&&n.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=n.dataShadowSegs,c=[0,i[0],i[1],o[0]],d=0;dn[0]||a[1]<0||a[1]>n[1])){var i=this._handleEnds,o=(i[0]+i[1])/2,s=this._updateInterval("all",a[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(r){var n=r.offsetX,a=r.offsetY;this._brushStart=new Zt(n,a),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(r){if(this._brushing){var n=this._displayables.brushRect;if(this._brushing=!1,!!n){n.attr("ignore",!0);var a=n.shape,i=+new Date;if(!(i-this._brushStartTime<200&&Math.abs(a.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=fc([ra(a.x,o,s,!0),ra(a.x+a.width,o,s,!0)]),this._handleEnds=[a.x,a.x+a.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(r){this._brushing&&(av(r.event),this._updateBrushRect(r.offsetX,r.offsetY))},e.prototype._updateBrushRect=function(r,n){var a=this._displayables,i=this.dataZoomModel,o=a.brushRect;o||(o=a.brushRect=new M_({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),a.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,c=l.transformCoordToLocal(r,n),d=l.transformCoordToLocal(s.x,s.y),u=this._size;c[0]=Math.max(Math.min(u[0],c[0]),0),o.setShape({x:d[0],y:0,width:c[0]-d[0],height:u[1]})},e.prototype._dispatchZoomAction=function(r){var n=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:r?kNt:null,start:n[0],end:n[1]})},e.prototype._findCoordRect=function(){var r,n=ure(this.dataZoomModel).infoList;if(!r&&n.length){var a=n[0].model.coordinateSystem;r=a.getRect&&a.getRect()}if(!r){var i=this.api.getWidth(),o=this.api.getHeight();r={x:i*.2,y:o*.2,width:i*.6,height:o*.6}}return r},e.type="dataZoom.slider",e}(T3);function DNt(t){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[t]}function gV(t){return t==="vertical"?"ns-resize":"ew-resize"}function MNt(t){t.registerComponentModel(wNt),t.registerComponentView(ENt),k3(t)}function ONt(t){oa(bNt),oa(MNt)}var $Nt=function(t){ve(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.type="dataset",r}return e.prototype.init=function(r,n,a){t.prototype.init.call(this,r,n,a),this._sourceManager=new qQ(this),LH(this)},e.prototype.mergeOption=function(r,n){t.prototype.mergeOption.call(this,r,n),LH(this)},e.prototype.optionUpdated=function(){this._sourceManager.dirty()},e.prototype.getSourceManager=function(){return this._sourceManager},e.type="dataset",e.defaultOption={seriesLayoutBy:vl},e}(Jt),ANt=function(t){ve(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.type="dataset",r}return e.type="dataset",e}(Cn);function PNt(t){t.registerComponentModel($Nt),t.registerComponentView(ANt)}var yA=Math.sin,bA=Math.cos,Mre=Math.PI,Ef=Math.PI*2,INt=180/Mre,Ore=function(){function t(){}return t.prototype.reset=function(e){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,e||4)},t.prototype.moveTo=function(e,r){this._add("M",e,r)},t.prototype.lineTo=function(e,r){this._add("L",e,r)},t.prototype.bezierCurveTo=function(e,r,n,a,i,o){this._add("C",e,r,n,a,i,o)},t.prototype.quadraticCurveTo=function(e,r,n,a){this._add("Q",e,r,n,a)},t.prototype.arc=function(e,r,n,a,i,o){this.ellipse(e,r,n,n,0,a,i,o)},t.prototype.ellipse=function(e,r,n,a,i,o,s,l){var c=s-o,d=!l,u=Math.abs(c),f=Uu(u-Ef)||(d?c>=Ef:-c>=Ef),p=c>0?c%Ef:c%Ef+Ef,v=!1;f?v=!0:Uu(u)?v=!1:v=p>=Mre==!!d;var g=e+n*bA(o),_=r+a*yA(o);this._start&&this._add("M",g,_);var b=Math.round(i*INt);if(f){var w=1/this._p,x=(d?1:-1)*(Ef-w);this._add("A",n,a,b,1,+d,e+n*bA(o+x),r+a*yA(o+x)),w>.01&&this._add("A",n,a,b,0,+d,g,_)}else{var C=e+n*bA(s),M=r+a*yA(s);this._add("A",n,a,b,+v,+d,C,M)}},t.prototype.rect=function(e,r,n,a){this._add("M",e,r),this._add("l",n,0),this._add("l",0,a),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(e,r,n,a,i,o,s,l,c){for(var d=[],u=this._p,f=1;f"}function HNt(t){return""}function P3(t,e){e=e||{};var r=e.newline?` `:"";function n(a){var i=a.children,o=a.tag,s=a.attrs,l=a.text;return WNt(o,s)+(o!=="style"?xa(l):l||"")+(i?""+r+Oe(i,function(c){return n(c)}).join(r)+r:"")+HNt(o)}return n(t)}function UNt(t,e,r){r=r||{};var n=r.newline?` -`:"",a=" {"+n,i=n+"}",o=Oe(lr(t),function(l){return l+a+Oe(lr(t[l]),function(c){return c+":"+t[l][c]+";"}).join(n)+i}).join(n),s=Oe(lr(e),function(l){return"@keyframes "+l+a+Oe(lr(e[l]),function(c){return c+a+Oe(lr(e[l][c]),function(d){var u=e[l][c][d];return d==="d"&&(u='path("'+u+'")'),d+":"+u+";"}).join(n)+i}).join(n)+i}).join(n);return!o&&!s?"":[""].join(n)}function TR(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function yV(t,e,r,n){return Nn("svg","root",{width:t,height:e,xmlns:$re,"xmlns:xlink":Are,version:"1.1",baseProfile:"full",viewBox:n?"0 0 "+t+" "+e:!1},r)}var YNt=0;function Ire(){return YNt++}var bV={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},$f="transform-origin";function VNt(t,e,r){var n=De({},t.shape);De(n,e),t.buildPath(r,n);var a=new Ore;return a.reset(uK(t)),r.rebuildPath(a,1),a.generateStr(),a.getStr()}function GNt(t,e){var r=e.originX,n=e.originY;(r||n)&&(t[$f]=r+"px "+n+"px")}var qNt={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function Rre(t,e){var r=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[r]=t,r}function XNt(t,e,r){var n=t.shape.paths,a={},i,o;if(G(n,function(l){var c=TR(r.zrId);c.animation=!0,QT(l,{},c,!0);var d=c.cssAnims,u=c.cssNodes,f=lr(d),p=f.length;if(p){o=f[p-1];var v=d[o];for(var g in v){var _=v[g];a[g]=a[g]||{d:""},a[g].d+=_.d||""}for(var b in u){var w=u[b].animation;w.indexOf(o)>=0&&(i=w)}}}),!!i){e.d=!1;var s=Rre(a,r);return i.replace(o,s)}}function wV(t){return Ue(t)?bV[t]?"cubic-bezier("+bV[t]+")":i5(t)?t:"":""}function QT(t,e,r,n){var a=t.animators,i=a.length,o=[];if(t instanceof w5){var s=XNt(t,e,r);if(s)o.push(s);else if(!i)return}else if(!i)return;for(var l={},c=0;c0}).length){var We=Rre(O,r);return We+" "+w[0]+" both"}}for(var _ in l){var s=g(l[_]);s&&o.push(s)}if(o.length){var b=r.zrId+"-cls-"+Ire();r.cssNodes["."+b]={animation:o.join(",")},e.class=b}}function JNt(t,e,r){if(!t.ignore)if(t.isSilent()){var n={"pointer-events":"none"};SV(n,e,r)}else{var a=t.states.emphasis&&t.states.emphasis.style?t.states.emphasis.style:{},i=a.fill;if(!i){var o=t.style&&t.style.fill,s=t.states.select&&t.states.select.style&&t.states.select.style.fill,l=t.currentStates.indexOf("select")>=0&&s||o;l&&(i=Dx(l))}var c=a.lineWidth;if(c){var d=!a.strokeNoScale&&t.transform?t.transform[0]:1;c=c/d}var n={cursor:"pointer"};i&&(n.fill=i),a.stroke&&(n.stroke=a.stroke),c&&(n["stroke-width"]=c),SV(n,e,r)}}function SV(t,e,r,n){var a=JSON.stringify(t),i=r.cssStyleCache[a];i||(i=r.zrId+"-cls-"+Ire(),r.cssStyleCache[a]=i,r.cssNodes["."+i+":hover"]=t),e.class=e.class?e.class+" "+i:i}var a0=Math.round;function Lre(t){return t&&Ue(t.src)}function Nre(t){return t&&wt(t.toDataURL)}function I3(t,e,r,n){zNt(function(a,i){var o=a==="fill"||a==="stroke";o&&cK(i)?zre(e,t,a,n):o&&s5(i)?Bre(r,t,a,n):t[a]=i,o&&n.ssr&&i==="none"&&(t["pointer-events"]="visible")},e,r,!1),n5t(r,t,n)}function R3(t,e){var r=_K(e);r&&(r.each(function(n,a){n!=null&&(t[(_V+a).toLowerCase()]=n+"")}),e.isSilent()&&(t[_V+"silent"]="true"))}function xV(t){return Uu(t[0]-1)&&Uu(t[1])&&Uu(t[2])&&Uu(t[3]-1)}function ZNt(t){return Uu(t[4])&&Uu(t[5])}function L3(t,e,r){if(e&&!(ZNt(e)&&xV(e))){var n=1e4;t.transform=xV(e)?"translate("+a0(e[4]*n)/n+" "+a0(e[5]*n)/n+")":ikt(e)}}function CV(t,e,r){for(var n=t.points,a=[],i=0;i"u"){var _="Image width/height must been given explictly in svg-ssr renderer.";Bi(f,_),Bi(p,_)}else if(f==null||p==null){var b=function($,N){if($){var W=$.elm,j=f||N.width,Y=p||N.height;$.tag==="pattern"&&(c?(Y=1,j/=i.width):d&&(j=1,Y/=i.height)),$.attrs.width=j,$.attrs.height=Y,W&&(W.setAttribute("width",j),W.setAttribute("height",Y))}},w=m5(v,null,t,function($){l||b(k,$),b(u,$)});w&&w.width&&w.height&&(f=f||w.width,p=p||w.height)}u=Nn("image","img",{href:v,width:f,height:p}),o.width=f,o.height=p}else a.svgElement&&(u=St(a.svgElement),o.width=a.svgWidth,o.height=a.svgHeight);if(u){var x,C;l?x=C=1:c?(C=1,x=o.width/i.width):d?(x=1,C=o.height/i.height):o.patternUnits="userSpaceOnUse",x!=null&&!isNaN(x)&&(o.width=x),C!=null&&!isNaN(C)&&(o.height=C);var M=dK(a);M&&(o.patternTransform=M);var k=Nn("pattern","",o,[u]),O=P3(k),R=n.patternCache,L=R[O];L||(L=n.zrId+"-p"+n.patternIdx++,R[O]=L,o.id=L,k=n.defs[L]=Nn("pattern",L,o,[u])),e[r]=mT(L)}}function a5t(t,e,r){var n=r.clipPathCache,a=r.defs,i=n[t.id];if(!i){i=r.zrId+"-c"+r.clipPathIdx++;var o={id:i};n[t.id]=i,a[i]=Nn("clipPath",i,o,[Fre(t,r)])}e["clip-path"]=mT(i)}function EV(t){return document.createTextNode(t)}function Nf(t,e,r){t.insertBefore(e,r)}function DV(t,e){t.removeChild(e)}function MV(t,e){t.appendChild(e)}function jre(t){return t.parentNode}function Wre(t){return t.nextSibling}function wA(t,e){t.textContent=e}var OV=58,i5t=120,o5t=Nn("","");function kR(t){return t===void 0}function el(t){return t!==void 0}function s5t(t,e,r){for(var n={},a=e;a<=r;++a){var i=t[a].key;i!==void 0&&(n[i]=a)}return n}function X_(t,e){var r=t.key===e.key,n=t.tag===e.tag;return n&&r}function i0(t){var e,r=t.children,n=t.tag;if(el(n)){var a=t.elm=Pre(n);if(N3(o5t,t),Re(r))for(e=0;ei?(v=r[l+1]==null?null:r[l+1].elm,Hre(t,v,r,a,l)):nC(t,e,n,i))}function ym(t,e){var r=e.elm=t.elm,n=t.children,a=e.children;t!==e&&(N3(t,e),kR(e.text)?el(n)&&el(a)?n!==a&&l5t(r,n,a):el(a)?(el(t.text)&&wA(r,""),Hre(r,null,a,0,a.length-1)):el(n)?nC(r,n,0,n.length-1):el(t.text)&&wA(r,""):t.text!==e.text&&(el(n)&&nC(r,n,0,n.length-1),wA(r,e.text)))}function c5t(t,e){if(X_(t,e))ym(t,e);else{var r=t.elm,n=jre(r);i0(e),n!==null&&(Nf(n,e.elm,Wre(r)),nC(n,[t],0,0))}return e}var u5t=0,d5t=function(){function t(e,r,n){if(this.type="svg",this.refreshHover=$V(),this.configLayer=$V(),this.storage=r,this._opts=n=De({},n),this.root=e,this._id="zr"+u5t++,this._oldVNode=yV(n.width,n.height),e&&!n.ssr){var a=this._viewport=document.createElement("div");a.style.cssText="position:relative;overflow:hidden";var i=this._svgDom=this._oldVNode.elm=Pre("svg");N3(null,this._oldVNode),a.appendChild(i),e.appendChild(a)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",c5t(this._oldVNode,e),this._oldVNode=e}},t.prototype.renderOneToVNode=function(e){return kV(e,TR(this._id))},t.prototype.renderToVNode=function(e){e=e||{};var r=this.storage.getDisplayList(!0),n=this._width,a=this._height,i=TR(this._id);i.animation=e.animation,i.willUpdate=e.willUpdate,i.compress=e.compress,i.emphasis=e.emphasis,i.ssr=this._opts.ssr;var o=[],s=this._bgVNode=f5t(n,a,this._backgroundColor,i);s&&o.push(s);var l=e.compress?null:this._mainVNode=Nn("g","main",{},[]);this._paintList(r,i,l?l.children:o),l&&o.push(l);var c=Oe(lr(i.defs),function(f){return i.defs[f]});if(c.length&&o.push(Nn("defs","defs",{},c)),e.animation){var d=UNt(i.cssNodes,i.cssAnims,{newline:!0});if(d){var u=Nn("style","stl",{},[],d);o.push(u)}}return yV(n,a,o,e.useViewBox)},t.prototype.renderToString=function(e){return e=e||{},P3(this.renderToVNode({animation:mt(e.cssAnimation,!0),emphasis:mt(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:mt(e.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(e){this._backgroundColor=e},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(e,r,n){for(var a=e.length,i=[],o=0,s,l,c=0,d=0;d=0&&!(f&&l&&f[g]===l[g]);g--);for(var _=v-1;_>g;_--)o--,s=i[o-1];for(var b=g+1;b=s)}}for(var u=this.__startIndex;u15)break}}Y.prevElClipPaths&&b.restore()};if(w)if(w.length===0)R=_.__endIndex;else for(var $=p.dpr,N=0;N0&&e>a[0]){for(l=0;le);l++);s=n[a[l]]}if(a.splice(l+1,0,e),n[e]=r,!r.virtual)if(s){var c=s.dom;c.nextSibling?o.insertBefore(r.dom,c.nextSibling):o.appendChild(r.dom)}else o.firstChild?o.insertBefore(r.dom,o.firstChild):o.appendChild(r.dom);r.painter||(r.painter=this)}},t.prototype.eachLayer=function(e,r){for(var n=this._zlevelList,a=0;a0?Yw:0),this._needsManuallyCompositing),d.__builtin__||fT("ZLevel "+c+" has been used by unkown layer "+d.id),d!==i&&(d.__used=!0,d.__startIndex!==l&&(d.__dirty=!0),d.__startIndex=l,d.incremental?d.__drawIndex=-1:d.__drawIndex=l,r(l),i=d),a.__dirty&Ai&&!a.__inHover&&(d.__dirty=!0,d.incremental&&d.__drawIndex<0&&(d.__drawIndex=l))}r(l),this.eachBuiltinLayer(function(u,f){!u.__used&&u.getElementCount()>0&&(u.__dirty=!0,u.__startIndex=u.__endIndex=u.__drawIndex=0),u.__dirty&&u.__drawIndex<0&&(u.__drawIndex=u.__startIndex)})},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(e){e.clear()},t.prototype.setBackgroundColor=function(e){this._backgroundColor=e,G(this._layers,function(r){r.setUnpainted()})},t.prototype.configLayer=function(e,r){if(r){var n=this._layerConfig;n[e]?Ot(n[e],r,!0):n[e]=r;for(var a=0;a>16)+e;a>255?a=255:a<0&&(a=0);let i=(n>>8&255)+e;i>255?i=255:i<0&&(i=0);let o=(n&255)+e;return o>255?o=255:o<0&&(o=0),(r?"#":"")+(o|i<<8|a<<16).toString(16)}function b5t(t){return{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:y5t(t,30)},{offset:1,color:t}]}}class aC{constructor(e,r,n,a,i){de(this,"moment");de(this,"calcTextWidth");de(this,"config");de(this,"themeType");de(this,"chart");de(this,"isTouch",typeof window<"u"?"ontouchstart"in window.document.documentElement:!1);de(this,"compact");de(this,"lastFormattedTime");de(this,"option");de(this,"debug",!1);if(this.moment=e,!this.moment)throw new Error("moment must be set and initialized");this.config=a?JSON.parse(JSON.stringify(a)):null,this.calcTextWidth=n,this.themeType=r||"light",this.chart={yAxis:[]},this.compact=i,this.lastFormattedTime=null}getHelperChartData(){return this.chart}convertData(e,r,n){const a=e[r];if(!(a!=null&&a.length))return[];const i=this.chart.yAxis[n]||{max:null,min:null};this.chart.yAxis[n]=i;for(let o=0;oa[o].value[1])&&(i.min=a[o].value[1]),(i.max===null||i.maxa[0].value[0])&&(this.chart.xMin=a[0].value[0]),(this.chart.xMax===null||this.chart.xMaxaC.getCommonAxis(i.commonYAxis,o)!==o);return this.config.l.map((i,o)=>{const s=i.color||(xA[r]?xA[r][n%xA[r].length]:"");i.color||n++,i.shadowsize=parseFloat(i.shadowsize)||0,i.dashes==="false"?i.dashes=!1:i.dashes==="true"&&(i.dashes=!0);const l=aC.getCommonAxis(i.commonYAxis,o);if(i.chartType==="bar")return{name:i.name,clip:!0,label:{show:!!this.config.barLabels,position:this.config.barLabels==="topover"?"top":this.config.barLabels==="topunder"?"insideTop":this.config.barLabels==="bottom"?"insideBottom":"inside",formatter:u=>this.yFormatter(u,o,!0),color:this.config.barFontColor||(this.themeType==="dark"?"#fff":"#000"),fontSize:parseInt(this.config.barFontSize,10)||void 0},barWidth:parseInt(this.config.barWidth,10)||void 0,stack:a?"total":void 0,silent:!0,type:"bar",animation:!1,data:e[o],color:s};if(i.chartType==="polar")return{clip:!0,ttt:84,label:{show:!!this.config.barLabels,position:this.config.barLabels==="topover"?"top":this.config.barLabels==="topunder"?"insideTop":this.config.barLabels==="bottom"?"insideBottom":"inside",formatter:u=>this.yFormatter(u,o,!0),color:this.config.barFontColor||(this.themeType==="dark"?"#fff":"#000"),fontSize:parseInt(this.config.barFontSize,10)||void 0},stack:a?"total":void 0,silent:!0,type:"radar",animation:!1,data:e[o],color:s};let c;if(i.chartType==="scatterplot")c={name:i.name,clip:!0,xAxisIndex:0,silent:!0,yAxisIndex:l,type:"scatter",animation:!1,data:this.convertData(e,o,l),itemStyle:{color:s},symbolSize:i.points?i.symbolSize||3:void 0,symbol:i.points?"circle":"none",emphasis:{scale:!1,focus:"none",disabled:!0}};else{const d={name:i.name,clip:!0,xAxisIndex:0,silent:!0,yAxisIndex:l,type:"line",animation:!1,step:i.chartType==="steps"?"end":i.chartType==="stepsStart"?"start":void 0,smooth:i.chartType==="spline",data:this.convertData(e,o,l),itemStyle:{color:s},symbolSize:i.points?i.symbolSize||3:void 0,symbol:i.points?"circle":"none",emphasis:{scale:!1,focus:"none",disabled:!0,lineStyle:{width:i.thickness!==void 0?parseFloat(i.thickness):1,shadowBlur:i.shadowsize?i.shadowsize+1:0,shadowOffsetY:i.shadowsize?i.shadowsize+1:0,shadowColor:s,type:i.dashes?"dashed":i.lineStyle||"solid"}},lineStyle:{width:i.thickness!==void 0?parseFloat(i.thickness):1,shadowBlur:i.shadowsize?i.shadowsize+1:0,shadowOffsetY:i.shadowsize?i.shadowsize+1:0,shadowColor:s,type:i.dashes?"dashed":i.lineStyle||"solid"}};if(parseFloat(i.fill)){let u;this.isTouch?u=s:u=b5t(s),d.areaStyle={color:u,opacity:parseFloat(i.fill)||0}}c=d}return c})}getXAxis(e){return this.config.l.find(n=>n.chartType==="bar")?[{type:"category",data:e.map(a=>`b${a}`),splitLine:{show:!this.config.grid_hideX,lineStyle:this.config.l[0].xaxe==="off"?{color:"rgba(0,0,0,0)",type:"dashed"}:this.config.grid_color?{color:this.config.grid_color,type:"dashed"}:{type:"dashed"}},position:this.config.l[0].xaxe==="top"?"top":"bottom",axisLabel:{show:!this.compact,formatter:(a,i)=>this.xFormatter(a,i,this.config.l[0].xaxe==="top"),fontSize:parseInt(this.config.x_labels_size,10)||12,color:this.config.l[0].xaxe==="off"?"rgba(0,0,0,0)":this.config.x_labels_color||void 0,rich:{a:{fontWeight:"bold"},b:{opacity:0}}}}]:[{type:"time",splitLine:{show:!this.config.grid_hideX,lineStyle:this.config.l[0].xaxe==="off"?{color:"rgba(0,0,0,0)",type:"dashed"}:this.config.grid_color?{color:this.config.grid_color,type:"dashed"}:{type:"dashed"}},splitNumber:parseInt(this.config.l[0].xticks,10)||void 0,position:this.config.l[0].xaxe==="top"?"top":"bottom",min:this.chart.xMin,max:this.chart.xMax,axisTick:{lineStyle:this.config.l[0].xaxe==="off"?{color:"rgba(0,0,0,0)"}:this.config.x_ticks_color?{color:this.config.x_ticks_color}:void 0},axisLabel:{show:!this.compact,formatter:(n,a)=>this.xFormatter(n,a,this.config.l[0].xaxe==="top"),fontSize:parseInt(this.config.x_labels_size,10)||12,color:this.config.l[0].xaxe==="off"?"rgba(0,0,0,0)":this.config.x_labels_color||void 0,rich:{a:{fontWeight:"bold"},b:{opacity:0}}}}]}getYAxis(e){return this.config.l.map((r,n)=>{if(!r||r.commonYAxis!==""&&r.commonYAxis!==void 0)return{};let a=parseFloat(r.min),i=parseFloat(r.max);const o=this.chart.yAxis;if(o[n]){const l=o[n].max-o[n].min;Number.isNaN(a)&&(a=o[n].min-l*.1,l>25e3?a=Math.floor(a/1e4)*1e4:l>5e3?a=Math.floor(a/1e3)*1e3:l>200?a=Math.floor(a/100)*100:l>30?a=Math.floor(a/10)*10:l>10?a=Math.floor(a):l>1&&(a=Math.floor(a*10)/10)),Number.isNaN(i)&&(i=o[n].max+l*.1,l>25e3?i=Math.ceil(i/1e4)*1e4:l>5e3?i=Math.ceil(i/1e3)*1e3:l>200?i=Math.ceil(i/100)*100:l>30?i=Math.ceil(i/10)*10:l>10?i=Math.ceil(i):l>1&&(i=Math.floor(i*10)/10))}else Number.isNaN(a)&&(a=void 0),Number.isNaN(i)&&(i=void 0);let s=r.yaxe==="off"?"rgba(0,0,0,0)":this.config.grid_color||void 0;return(r.yaxe==="leftColor"||r.yaxe==="rightColor")&&(s=e[n].itemStyle.color),{type:"value",min:a,max:i,position:r.yaxe==="left"||r.yaxe==="off"||r.yaxe==="leftColor"?"left":r.yaxe==="right"||r.yaxe==="rightColor"||n?"right":"left",splitLine:n?void 0:{show:!this.config.grid_hideY,lineStyle:{color:s||void 0,type:"dashed"}},splitNumber:parseInt(r.yticks,10)||void 0,axisLabel:{show:!this.compact,formatter:l=>this.yFormatter(l,n,!0),color:r.yaxe==="off"||r.yaxe==="leftColor"||r.yaxe==="rightColor"?s:this.config.y_labels_color||void 0,fontSize:parseInt(this.config.y_labels_size,10)||12},axisTick:{alignWithLabel:!0,lineStyle:s?{color:s}:this.config.y_ticks_color?{color:this.config.y_ticks_color}:void 0}}})}getMarkings(e){var r;return(r=this.config.marks)==null||r.forEach(n=>{if(!n)return;const a=n.lowerValue!==void 0?n.lowerValue:parseFloat(n.lowerValueOrId),i=n.upperValue!==void 0?n.upperValue:parseFloat(n.upperValueOrId),o=a!==null&&!Number.isNaN(a),s=i!==null&&!Number.isNaN(i),l=e.series[n.lineId];if(!l){console.error("Mark line has no chart line");return}if(o&&s&&(l.markLine=l.markLine||{symbol:["none","none"]},l.markArea=l.markArea||{data:[]},l.markArea.data.push([{yAxis:a,name:n.text||"",itemStyle:{color:n.color||l.itemStyle.color,borderWidth:0,opacity:parseFloat(n.fill)||0}},{yAxis:i}])),o||s)for(let c=0;c<2;c++){if(!c&&!s)continue;if(c&&!o)continue;const d=c?a:i;if(l.markLine=l.markLine||{symbol:["none","none"],data:[]},l.markLine.data.push({yAxis:d,name:n.text,lineStyle:{color:n.color||l.itemStyle.color,width:parseFloat(n.ol)||1,shadowBlur:parseFloat(n.os)?parseFloat(n.os)+1:0,shadowOffsetY:parseFloat(n.os)?parseFloat(n.os)+1:0,shadowColor:n.color,type:n.lineStyle||"solid"},label:{show:!!n.text,formatter:u=>u.name,position:n.textPosition==="r"?"end":n.textPosition==="l"?"start":n.textPosition||"start",distance:[n.textPosition==="r"||n.textPosition==="l"?-1*n.textOffset||-35:parseFloat(n.textOffset)||0,0],fontStyle:"normal",color:n.textColor||"#FFF",fontSize:n.textSize||void 0}}),this.config.l[n.lineId]){const u=parseFloat(this.config.l[n.lineId].min);Number.isNaN(u)&&this.chart.yAxis[n.lineId]&&this.chart.yAxis[n.lineId].min>d&&d<0&&(e.yAxis[0].min=d);const f=parseFloat(this.config.l[n.lineId].min);Number.isNaN(f)&&this.chart.yAxis[n.lineId]&&this.chart.yAxis[n.lineId].max=.5?this.config.l[r].trueText||"TRUE":this.config.l[r].falseText||"FALSE":"";if(o==null)return"";const s=this.config.l[r].afterComma;return s!=null?(o=parseFloat(o),this.config.useComma?o.toFixed(s).replace(".",",")+(n?this.config.l[r].unit:""):o.toFixed(s)+(n?this.config.l[r].unit:"")):(a&&(o=Math.round(o*1e4)/1e4),this.config.useComma?(o=parseFloat(o)||0,o=o.toString().replace(".",",")+(n?this.config.l[r].unit:""),o):o.toString()+(n?this.config.l[r].unit:""))}isXLabelHasBreak(){return this.config.timeFormat?this.config.timeFormat.replace("
",` +`:"",a=" {"+n,i=n+"}",o=Oe(lr(t),function(l){return l+a+Oe(lr(t[l]),function(c){return c+":"+t[l][c]+";"}).join(n)+i}).join(n),s=Oe(lr(e),function(l){return"@keyframes "+l+a+Oe(lr(e[l]),function(c){return c+a+Oe(lr(e[l][c]),function(d){var u=e[l][c][d];return d==="d"&&(u='path("'+u+'")'),d+":"+u+";"}).join(n)+i}).join(n)+i}).join(n);return!o&&!s?"":[""].join(n)}function TR(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function yV(t,e,r,n){return Nn("svg","root",{width:t,height:e,xmlns:$re,"xmlns:xlink":Are,version:"1.1",baseProfile:"full",viewBox:n?"0 0 "+t+" "+e:!1},r)}var YNt=0;function Ire(){return YNt++}var bV={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},$f="transform-origin";function VNt(t,e,r){var n=De({},t.shape);De(n,e),t.buildPath(r,n);var a=new Ore;return a.reset(uK(t)),r.rebuildPath(a,1),a.generateStr(),a.getStr()}function GNt(t,e){var r=e.originX,n=e.originY;(r||n)&&(t[$f]=r+"px "+n+"px")}var qNt={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function Rre(t,e){var r=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[r]=t,r}function XNt(t,e,r){var n=t.shape.paths,a={},i,o;if(G(n,function(l){var c=TR(r.zrId);c.animation=!0,QT(l,{},c,!0);var d=c.cssAnims,u=c.cssNodes,f=lr(d),p=f.length;if(p){o=f[p-1];var v=d[o];for(var g in v){var _=v[g];a[g]=a[g]||{d:""},a[g].d+=_.d||""}for(var b in u){var w=u[b].animation;w.indexOf(o)>=0&&(i=w)}}}),!!i){e.d=!1;var s=Rre(a,r);return i.replace(o,s)}}function wV(t){return Ue(t)?bV[t]?"cubic-bezier("+bV[t]+")":i5(t)?t:"":""}function QT(t,e,r,n){var a=t.animators,i=a.length,o=[];if(t instanceof w5){var s=XNt(t,e,r);if(s)o.push(s);else if(!i)return}else if(!i)return;for(var l={},c=0;c0}).length){var We=Rre(O,r);return We+" "+w[0]+" both"}}for(var _ in l){var s=g(l[_]);s&&o.push(s)}if(o.length){var b=r.zrId+"-cls-"+Ire();r.cssNodes["."+b]={animation:o.join(",")},e.class=b}}function JNt(t,e,r){if(!t.ignore)if(t.isSilent()){var n={"pointer-events":"none"};SV(n,e,r)}else{var a=t.states.emphasis&&t.states.emphasis.style?t.states.emphasis.style:{},i=a.fill;if(!i){var o=t.style&&t.style.fill,s=t.states.select&&t.states.select.style&&t.states.select.style.fill,l=t.currentStates.indexOf("select")>=0&&s||o;l&&(i=Dx(l))}var c=a.lineWidth;if(c){var d=!a.strokeNoScale&&t.transform?t.transform[0]:1;c=c/d}var n={cursor:"pointer"};i&&(n.fill=i),a.stroke&&(n.stroke=a.stroke),c&&(n["stroke-width"]=c),SV(n,e,r)}}function SV(t,e,r,n){var a=JSON.stringify(t),i=r.cssStyleCache[a];i||(i=r.zrId+"-cls-"+Ire(),r.cssStyleCache[a]=i,r.cssNodes["."+i+":hover"]=t),e.class=e.class?e.class+" "+i:i}var a0=Math.round;function Lre(t){return t&&Ue(t.src)}function Nre(t){return t&&wt(t.toDataURL)}function I3(t,e,r,n){zNt(function(a,i){var o=a==="fill"||a==="stroke";o&&cK(i)?zre(e,t,a,n):o&&s5(i)?Bre(r,t,a,n):t[a]=i,o&&n.ssr&&i==="none"&&(t["pointer-events"]="visible")},e,r,!1),n5t(r,t,n)}function R3(t,e){var r=_K(e);r&&(r.each(function(n,a){n!=null&&(t[(_V+a).toLowerCase()]=n+"")}),e.isSilent()&&(t[_V+"silent"]="true"))}function xV(t){return Uu(t[0]-1)&&Uu(t[1])&&Uu(t[2])&&Uu(t[3]-1)}function ZNt(t){return Uu(t[4])&&Uu(t[5])}function L3(t,e,r){if(e&&!(ZNt(e)&&xV(e))){var n=1e4;t.transform=xV(e)?"translate("+a0(e[4]*n)/n+" "+a0(e[5]*n)/n+")":ikt(e)}}function CV(t,e,r){for(var n=t.points,a=[],i=0;i"u"){var _="Image width/height must been given explictly in svg-ssr renderer.";Bi(f,_),Bi(p,_)}else if(f==null||p==null){var b=function($,N){if($){var W=$.elm,j=f||N.width,Y=p||N.height;$.tag==="pattern"&&(c?(Y=1,j/=i.width):d&&(j=1,Y/=i.height)),$.attrs.width=j,$.attrs.height=Y,W&&(W.setAttribute("width",j),W.setAttribute("height",Y))}},w=m5(v,null,t,function($){l||b(k,$),b(u,$)});w&&w.width&&w.height&&(f=f||w.width,p=p||w.height)}u=Nn("image","img",{href:v,width:f,height:p}),o.width=f,o.height=p}else a.svgElement&&(u=St(a.svgElement),o.width=a.svgWidth,o.height=a.svgHeight);if(u){var x,C;l?x=C=1:c?(C=1,x=o.width/i.width):d?(x=1,C=o.height/i.height):o.patternUnits="userSpaceOnUse",x!=null&&!isNaN(x)&&(o.width=x),C!=null&&!isNaN(C)&&(o.height=C);var M=dK(a);M&&(o.patternTransform=M);var k=Nn("pattern","",o,[u]),O=P3(k),R=n.patternCache,L=R[O];L||(L=n.zrId+"-p"+n.patternIdx++,R[O]=L,o.id=L,k=n.defs[L]=Nn("pattern",L,o,[u])),e[r]=mT(L)}}function a5t(t,e,r){var n=r.clipPathCache,a=r.defs,i=n[t.id];if(!i){i=r.zrId+"-c"+r.clipPathIdx++;var o={id:i};n[t.id]=i,a[i]=Nn("clipPath",i,o,[Fre(t,r)])}e["clip-path"]=mT(i)}function EV(t){return document.createTextNode(t)}function Nf(t,e,r){t.insertBefore(e,r)}function DV(t,e){t.removeChild(e)}function MV(t,e){t.appendChild(e)}function jre(t){return t.parentNode}function Wre(t){return t.nextSibling}function wA(t,e){t.textContent=e}var OV=58,i5t=120,o5t=Nn("","");function kR(t){return t===void 0}function el(t){return t!==void 0}function s5t(t,e,r){for(var n={},a=e;a<=r;++a){var i=t[a].key;i!==void 0&&(n[i]=a)}return n}function X_(t,e){var r=t.key===e.key,n=t.tag===e.tag;return n&&r}function i0(t){var e,r=t.children,n=t.tag;if(el(n)){var a=t.elm=Pre(n);if(N3(o5t,t),Re(r))for(e=0;ei?(v=r[l+1]==null?null:r[l+1].elm,Hre(t,v,r,a,l)):nC(t,e,n,i))}function ym(t,e){var r=e.elm=t.elm,n=t.children,a=e.children;t!==e&&(N3(t,e),kR(e.text)?el(n)&&el(a)?n!==a&&l5t(r,n,a):el(a)?(el(t.text)&&wA(r,""),Hre(r,null,a,0,a.length-1)):el(n)?nC(r,n,0,n.length-1):el(t.text)&&wA(r,""):t.text!==e.text&&(el(n)&&nC(r,n,0,n.length-1),wA(r,e.text)))}function c5t(t,e){if(X_(t,e))ym(t,e);else{var r=t.elm,n=jre(r);i0(e),n!==null&&(Nf(n,e.elm,Wre(r)),nC(n,[t],0,0))}return e}var u5t=0,d5t=function(){function t(e,r,n){if(this.type="svg",this.refreshHover=$V(),this.configLayer=$V(),this.storage=r,this._opts=n=De({},n),this.root=e,this._id="zr"+u5t++,this._oldVNode=yV(n.width,n.height),e&&!n.ssr){var a=this._viewport=document.createElement("div");a.style.cssText="position:relative;overflow:hidden";var i=this._svgDom=this._oldVNode.elm=Pre("svg");N3(null,this._oldVNode),a.appendChild(i),e.appendChild(a)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",c5t(this._oldVNode,e),this._oldVNode=e}},t.prototype.renderOneToVNode=function(e){return kV(e,TR(this._id))},t.prototype.renderToVNode=function(e){e=e||{};var r=this.storage.getDisplayList(!0),n=this._width,a=this._height,i=TR(this._id);i.animation=e.animation,i.willUpdate=e.willUpdate,i.compress=e.compress,i.emphasis=e.emphasis,i.ssr=this._opts.ssr;var o=[],s=this._bgVNode=f5t(n,a,this._backgroundColor,i);s&&o.push(s);var l=e.compress?null:this._mainVNode=Nn("g","main",{},[]);this._paintList(r,i,l?l.children:o),l&&o.push(l);var c=Oe(lr(i.defs),function(f){return i.defs[f]});if(c.length&&o.push(Nn("defs","defs",{},c)),e.animation){var d=UNt(i.cssNodes,i.cssAnims,{newline:!0});if(d){var u=Nn("style","stl",{},[],d);o.push(u)}}return yV(n,a,o,e.useViewBox)},t.prototype.renderToString=function(e){return e=e||{},P3(this.renderToVNode({animation:mt(e.cssAnimation,!0),emphasis:mt(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:mt(e.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(e){this._backgroundColor=e},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(e,r,n){for(var a=e.length,i=[],o=0,s,l,c=0,d=0;d=0&&!(f&&l&&f[g]===l[g]);g--);for(var _=v-1;_>g;_--)o--,s=i[o-1];for(var b=g+1;b=s)}}for(var u=this.__startIndex;u15)break}}Y.prevElClipPaths&&b.restore()};if(w)if(w.length===0)R=_.__endIndex;else for(var $=p.dpr,N=0;N0&&e>a[0]){for(l=0;le);l++);s=n[a[l]]}if(a.splice(l+1,0,e),n[e]=r,!r.virtual)if(s){var c=s.dom;c.nextSibling?o.insertBefore(r.dom,c.nextSibling):o.appendChild(r.dom)}else o.firstChild?o.insertBefore(r.dom,o.firstChild):o.appendChild(r.dom);r.painter||(r.painter=this)}},t.prototype.eachLayer=function(e,r){for(var n=this._zlevelList,a=0;a0?Yw:0),this._needsManuallyCompositing),d.__builtin__||fT("ZLevel "+c+" has been used by unkown layer "+d.id),d!==i&&(d.__used=!0,d.__startIndex!==l&&(d.__dirty=!0),d.__startIndex=l,d.incremental?d.__drawIndex=-1:d.__drawIndex=l,r(l),i=d),a.__dirty&Ai&&!a.__inHover&&(d.__dirty=!0,d.incremental&&d.__drawIndex<0&&(d.__drawIndex=l))}r(l),this.eachBuiltinLayer(function(u,f){!u.__used&&u.getElementCount()>0&&(u.__dirty=!0,u.__startIndex=u.__endIndex=u.__drawIndex=0),u.__dirty&&u.__drawIndex<0&&(u.__drawIndex=u.__startIndex)})},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(e){e.clear()},t.prototype.setBackgroundColor=function(e){this._backgroundColor=e,G(this._layers,function(r){r.setUnpainted()})},t.prototype.configLayer=function(e,r){if(r){var n=this._layerConfig;n[e]?Ot(n[e],r,!0):n[e]=r;for(var a=0;a>16)+e;a>255?a=255:a<0&&(a=0);let i=(n>>8&255)+e;i>255?i=255:i<0&&(i=0);let o=(n&255)+e;return o>255?o=255:o<0&&(o=0),(r?"#":"")+(o|i<<8|a<<16).toString(16)}function b5t(t){return{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:y5t(t,30)},{offset:1,color:t}]}}class aC{constructor(e,r,n,a,i){de(this,"moment");de(this,"calcTextWidth");de(this,"config");de(this,"themeType");de(this,"chart");de(this,"isTouch",typeof window<"u"?"ontouchstart"in window.document.documentElement:!1);de(this,"compact");de(this,"lastFormattedTime");de(this,"option");de(this,"debug",!1);if(this.moment=e,!this.moment)throw new Error("moment must be set and initialized");this.config=a?JSON.parse(JSON.stringify(a)):null,this.calcTextWidth=n,this.themeType=r||"light",this.chart={yAxis:[]},this.compact=i,this.lastFormattedTime=null}getHelperChartData(){return this.chart}convertData(e,r,n){const a=e[r];if(!(a!=null&&a.length))return[];const i=this.chart.yAxis[n]||{max:null,min:null};this.chart.yAxis[n]=i;for(let o=0;oa[o].value[1])&&(i.min=a[o].value[1]),(i.max===null||i.maxa[0].value[0])&&(this.chart.xMin=a[0].value[0]),(this.chart.xMax===null||this.chart.xMaxaC.getCommonAxis(i.commonYAxis,o)!==o);return this.config.l.map((i,o)=>{const s=i.color||(xA[r]?xA[r][n%xA[r].length]:"");i.color||n++,i.shadowsize=parseFloat(i.shadowsize)||0,i.dashes==="false"?i.dashes=!1:i.dashes==="true"&&(i.dashes=!0);const l=aC.getCommonAxis(i.commonYAxis,o);if(i.chartType==="bar")return{name:i.name,clip:!0,label:{show:!!this.config.barLabels,position:this.config.barLabels==="topover"?"top":this.config.barLabels==="topunder"?"insideTop":this.config.barLabels==="bottom"?"insideBottom":"inside",formatter:u=>this.yFormatter(u,o,!0),color:this.config.barFontColor||(this.themeType==="dark"?"#fff":"#000"),fontSize:parseInt(this.config.barFontSize,10)||void 0},barWidth:parseInt(this.config.barWidth,10)||void 0,stack:a?"total":void 0,silent:!0,type:"bar",animation:!1,data:e[o],color:s};if(i.chartType==="polar")return{clip:!0,ttt:84,label:{show:!!this.config.barLabels,position:this.config.barLabels==="topover"?"top":this.config.barLabels==="topunder"?"insideTop":this.config.barLabels==="bottom"?"insideBottom":"inside",formatter:u=>this.yFormatter(u,o,!0),color:this.config.barFontColor||(this.themeType==="dark"?"#fff":"#000"),fontSize:parseInt(this.config.barFontSize,10)||void 0},stack:a?"total":void 0,silent:!0,type:"radar",animation:!1,data:e[o],color:s};let c;if(i.chartType==="scatterplot")c={name:i.name,clip:!0,xAxisIndex:0,silent:!0,yAxisIndex:l,type:"scatter",animation:!1,data:this.convertData(e,o,l),itemStyle:{color:s},symbolSize:i.points?i.symbolSize||3:void 0,symbol:i.points?"circle":"none",emphasis:{scale:!1,focus:"none",disabled:!0}};else{const d={name:i.name,clip:!0,xAxisIndex:0,silent:!0,yAxisIndex:l,type:"line",animation:!1,step:i.chartType==="steps"?"end":i.chartType==="stepsStart"?"start":void 0,smooth:i.chartType==="spline",data:this.convertData(e,o,l),itemStyle:{color:s},symbolSize:i.points?i.symbolSize||3:void 0,symbol:i.points?"circle":"none",emphasis:{scale:!1,focus:"none",disabled:!0,lineStyle:{width:i.thickness!==void 0?parseFloat(i.thickness):1,shadowBlur:i.shadowsize?i.shadowsize+1:0,shadowOffsetY:i.shadowsize?i.shadowsize+1:0,shadowColor:s,type:i.dashes?"dashed":i.lineStyle||"solid"}},lineStyle:{width:i.thickness!==void 0?parseFloat(i.thickness):1,shadowBlur:i.shadowsize?i.shadowsize+1:0,shadowOffsetY:i.shadowsize?i.shadowsize+1:0,shadowColor:s,type:i.dashes?"dashed":i.lineStyle||"solid"}};if(parseFloat(i.fill)){let u;this.isTouch?u=s:u=b5t(s),d.areaStyle={color:u,opacity:parseFloat(i.fill)||0}}c=d}return c})}getXAxis(e){return this.config.l.find(n=>n.chartType==="bar")?[{type:"category",data:e.map(a=>`b${a}`),splitLine:{show:!this.config.grid_hideX,lineStyle:this.config.l[0].xaxe==="off"?{color:"rgba(0,0,0,0)",type:"dashed"}:this.config.grid_color?{color:this.config.grid_color,type:"dashed"}:{type:"dashed"}},position:this.config.l[0].xaxe==="top"?"top":"bottom",axisLabel:{show:!this.compact,formatter:(a,i)=>this.xFormatter(a,i,this.config.l[0].xaxe==="top"),fontSize:parseInt(this.config.x_labels_size,10)||12,color:this.config.l[0].xaxe==="off"?"rgba(0,0,0,0)":this.config.x_labels_color||void 0,rich:{a:{fontWeight:"bold"},b:{opacity:0}}}}]:[{type:"time",splitLine:{show:!this.config.grid_hideX,lineStyle:this.config.l[0].xaxe==="off"?{color:"rgba(0,0,0,0)",type:"dashed"}:this.config.grid_color?{color:this.config.grid_color,type:"dashed"}:{type:"dashed"}},splitNumber:parseInt(this.config.l[0].xticks,10)||void 0,position:this.config.l[0].xaxe==="top"?"top":"bottom",min:this.chart.xMin,max:this.chart.xMax,axisTick:{lineStyle:this.config.l[0].xaxe==="off"?{color:"rgba(0,0,0,0)"}:this.config.x_ticks_color?{color:this.config.x_ticks_color}:void 0},axisLabel:{show:!this.compact,formatter:(n,a)=>this.xFormatter(n,a,this.config.l[0].xaxe==="top"),fontSize:parseInt(this.config.x_labels_size,10)||12,color:this.config.l[0].xaxe==="off"?"rgba(0,0,0,0)":this.config.x_labels_color||void 0,rich:{a:{fontWeight:"bold"},b:{opacity:0}}}}]}getYAxis(e){return this.config.l.map((r,n)=>{var l,c;if(!r||r.commonYAxis!==""&&r.commonYAxis!==void 0)return{};let a=parseFloat(r.min),i=parseFloat(r.max);const o=this.chart.yAxis;if(o[n]){const d=o[n].max-o[n].min;Number.isNaN(a)&&(a=o[n].min-d*.1,d>25e3?a=Math.floor(a/1e4)*1e4:d>5e3?a=Math.floor(a/1e3)*1e3:d>200?a=Math.floor(a/100)*100:d>30?a=Math.floor(a/10)*10:d>10?a=Math.floor(a):d>1&&(a=Math.floor(a*10)/10)),Number.isNaN(i)&&(i=o[n].max+d*.1,d>25e3?i=Math.ceil(i/1e4)*1e4:d>5e3?i=Math.ceil(i/1e3)*1e3:d>200?i=Math.ceil(i/100)*100:d>30?i=Math.ceil(i/10)*10:d>10?i=Math.ceil(i):d>1&&(i=Math.floor(i*10)/10))}else Number.isNaN(a)&&(a=void 0),Number.isNaN(i)&&(i=void 0);let s=r.yaxe==="off"?"rgba(0,0,0,0)":this.config.grid_color||void 0;return(r.yaxe==="leftColor"||r.yaxe==="rightColor")&&(s=(c=(l=e[n])==null?void 0:l.itemStyle)==null?void 0:c.color),{type:"value",min:a,max:i,position:r.yaxe==="left"||r.yaxe==="off"||r.yaxe==="leftColor"?"left":r.yaxe==="right"||r.yaxe==="rightColor"||n?"right":"left",splitLine:n?void 0:{show:!this.config.grid_hideY,lineStyle:{color:s||void 0,type:"dashed"}},splitNumber:parseInt(r.yticks,10)||void 0,axisLabel:{show:!this.compact,formatter:d=>this.yFormatter(d,n,!0),color:r.yaxe==="off"||r.yaxe==="leftColor"||r.yaxe==="rightColor"?s:this.config.y_labels_color||void 0,fontSize:parseInt(this.config.y_labels_size,10)||12},axisTick:{alignWithLabel:!0,lineStyle:s?{color:s}:this.config.y_ticks_color?{color:this.config.y_ticks_color}:void 0}}})}getMarkings(e){var r;return(r=this.config.marks)==null||r.forEach(n=>{if(!n)return;const a=n.lowerValue!==void 0?n.lowerValue:parseFloat(n.lowerValueOrId),i=n.upperValue!==void 0?n.upperValue:parseFloat(n.upperValueOrId),o=a!==null&&!Number.isNaN(a),s=i!==null&&!Number.isNaN(i),l=e.series[n.lineId];if(!l){console.error("Mark line has no chart line");return}if(o&&s&&(l.markArea=l.markArea||{data:[]},l.markArea.data.push([{yAxis:a,itemStyle:{color:n.color||l.itemStyle.color,borderWidth:0,opacity:parseFloat(n.fill)||0}},{yAxis:i}])),o||s)for(let c=0;c<2;c++){if(!c&&!s)continue;if(c&&!o)continue;const d=c?a:i;if(l.markLine=l.markLine||{symbol:["none","none"],data:[]},l.markLine.data.push({yAxis:d,name:n.text,lineStyle:{color:n.color||l.itemStyle.color,width:parseFloat(n.ol)||1,shadowBlur:parseFloat(n.os)?parseFloat(n.os)+1:0,shadowOffsetY:parseFloat(n.os)?parseFloat(n.os)+1:0,shadowColor:n.color,type:n.lineStyle||"solid"},label:{show:!!n.text,formatter:u=>u.name,position:n.textPosition==="r"?"end":n.textPosition==="l"?"start":n.textPosition||"start",distance:[n.textPosition==="r"||n.textPosition==="l"?-1*n.textOffset||-35:parseFloat(n.textOffset)||0,0],fontStyle:"normal",color:n.textColor||"#FFF",fontSize:n.textSize||void 0}}),this.config.l[n.lineId]){const u=parseFloat(this.config.l[n.lineId].min);Number.isNaN(u)&&this.chart.yAxis[n.lineId]&&this.chart.yAxis[n.lineId].min>d&&d<0&&(e.yAxis[0].min=d);const f=parseFloat(this.config.l[n.lineId].min);Number.isNaN(f)&&this.chart.yAxis[n.lineId]&&this.chart.yAxis[n.lineId].max=.5?this.config.l[r].trueText||"TRUE":this.config.l[r].falseText||"FALSE":"";if(o==null)return"";const s=this.config.l[r].afterComma;return s!=null?(o=parseFloat(o),this.config.useComma?o.toFixed(s).replace(".",",")+(n?this.config.l[r].unit:""):o.toFixed(s)+(n?this.config.l[r].unit:"")):(a&&(o=Math.round(o*1e4)/1e4),this.config.useComma?(o=parseFloat(o)||0,o=o.toString().replace(".",",")+(n?this.config.l[r].unit:""),o):o.toString()+(n?this.config.l[r].unit:""))}isXLabelHasBreak(){return this.config.timeFormat?this.config.timeFormat.replace("
",` `).includes(` `):(this.chart.withSeconds||this.chart.withTime,!0)}xFormatter(e,r,n){if(typeof e=="string"&&e.startsWith("b")){const s=new Date(parseInt(e.substring(1),10));if(this.config.xLabelShift&&(this.config.xLabelShiftMonth?s.setMonth(s.getMonth()+this.config.xLabelShift):this.config.xLabelShiftYear?s.setFullYear(s.getFullYear()+this.config.xLabelShift):s.setSeconds(s.getSeconds()+this.config.xLabelShift)),this.config.aggregateBar===60)return`.${s.getDate()} ${s.getHours().toString().padStart(2,"0")}:00`;if(this.config.aggregateBar===15)return`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`;if(this.config.aggregateBar===1440)return`${s.getDate()}.${s.getMonth()+1}`;if(this.config.aggregateBar===43200){const l=new Date(s);return l.setDate(l.getDate()+15),`${l.getMonth()+1}.${l.getFullYear()}`}}const a=new Date(e);if(this.config.xLabelShift&&(this.config.xLabelShiftMonth?a.setMonth(a.getMonth()+this.config.xLabelShift):this.config.xLabelShiftYear?a.setFullYear(a.getFullYear()+this.config.xLabelShift):a.setSeconds(a.getSeconds()+this.config.xLabelShift)),this.config.timeFormat)return this.moment(a).format(this.config.timeFormat).replace("
",` `);let i="";const o=a.getDate();if(this.chart.withSeconds||this.chart.withTime){let s=!1;if((r<2||this.lastFormattedTime===null||e - + Echarts [ioBroker] - + diff --git a/admin/tab.html b/admin/tab.html index 04738ede..3cfb6e70 100644 --- a/admin/tab.html +++ b/admin/tab.html @@ -45,7 +45,7 @@ document.head.appendChild(script); Echarts [ioBroker] - + diff --git a/build-backend/lib/ChartOption.js b/build-backend/lib/ChartOption.js index d4254567..f9a11460 100644 --- a/build-backend/lib/ChartOption.js +++ b/build-backend/lib/ChartOption.js @@ -564,7 +564,7 @@ class ChartOption { } let color = oneLine.yaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.grid_color || undefined; if (oneLine.yaxe === 'leftColor' || oneLine.yaxe === 'rightColor') { - color = series[chartIndex].itemStyle.color; + color = series[chartIndex]?.itemStyle?.color; } return { type: 'value', @@ -623,9 +623,6 @@ class ChartOption { return; } if (isLowerNumber && isUpperNumber) { - series.markLine = series.markLine || { - symbol: ['none', 'none'], - }; // area series.markArea = series.markArea || { data: [], @@ -633,7 +630,7 @@ class ChartOption { series.markArea.data.push([ { yAxis: lowerLimitFloat, - name: oneMark.text || '', + // name: oneMark.text || '', itemStyle: { color: oneMark.color || series.itemStyle.color, borderWidth: 0, @@ -693,7 +690,7 @@ class ChartOption { }, }); if (this.config.l[oneMark.lineId]) { - // if minimum not set + // if the minimum isn't set const yMin = parseFloat(this.config.l[oneMark.lineId].min); if (Number.isNaN(yMin) && this.chart.yAxis[oneMark.lineId]) { if (this.chart.yAxis[oneMark.lineId].min > limitFloat && limitFloat < 0) { diff --git a/build-backend/lib/ChartOption.js.map b/build-backend/lib/ChartOption.js.map index d7463d4b..869f3500 100644 --- a/build-backend/lib/ChartOption.js.map +++ b/build-backend/lib/ChartOption.js.map @@ -1 +1 @@ -{"version":3,"file":"ChartOption.js","sourceRoot":"","sources":["../../src/lib/ChartOption.ts"],"names":[],"mappings":";;AAgBA,MAAM,MAAM,GAAqC;IAC7C,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC9F,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACxG,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC9F,WAAW,EAAE;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,OAAO,EAAE;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,IAAI,EAAE;QACF,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,QAAQ,EAAE;QACN,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,IAAI,EAAE;QACF,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACrG,WAAW,EAAE;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAClF,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACtG,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,KAAK,EAAE;QACH,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACxE,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;CACxG,CAAC;AAIF,SAAS,QAAQ,CAAC,GAAW;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,8BAA8B;IAC9B,0CAA0C;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACtF,OAAO,GAAG;QACN,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;QACpK,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW;IAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,QAAQ,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;IACpC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,UAAU,EAAE;YACR;gBACI,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC;YACD;gBACI,MAAM,EAAE,CAAC;gBACT,KAAK;aACR;SACJ;KACJ,CAAC;AACN,CAAC;AAwBD,MAAM,WAAW;IACI,MAAM,CAAa;IACpC,aAAa,CAA6C;IAClD,MAAM,CAAkB;IACf,SAAS,CAAY;IACrB,KAAK,CAAY;IACjB,OAAO,GACpB,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,CAAU;IAC1B,iBAAiB,CAAgC;IACjD,MAAM,CAAuB;IAC7B,KAAK,GAAG,KAAK,CAAC;IAEtB,YACI,MAAkB,EAClB,SAAoB,EACpB,aAAyD,EACzD,MAAwB,EACxB,OAAiB;QAEjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;;;;;;;MAQE;IAEF,kBAAkB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,IAAkB,EAAE,UAAkB,EAAE,UAAkB;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAkB,CAAC;QACrG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAErC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,SAAS;YACb,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAK,KAAK,CAAC,GAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAK,KAAK,CAAC,GAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,UAAkB;QACxD,OAAQ,WAAiC,KAAK,EAAE,IAAI,WAAW,KAAK,SAAS;YACzE,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,QAAQ,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CACL,IAAwB,EACxB,KAAqB;QAOrB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACpC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAC1E,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,UAA+B,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAK,OAAO,CAAC,MAA4B,KAAK,OAAO,EAAE,CAAC;gBACpD,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3B,CAAC;iBAAM,IAAK,OAAO,CAAC,MAA4B,KAAK,MAAM,EAAE,CAAC;gBAC1D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAkC;oBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;wBAC7B,QAAQ,EACJ,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;4BAC/B,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU;gCACpC,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;oCAClC,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,QAAQ;wBACtB,SAAS,EAAE,CAAC,KAAyB,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;wBACjF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAChF,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,SAAS;qBACpF;oBACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAA6B,EAAE,EAAE,CAAC,IAAI,SAAS;oBAC9E,iBAAiB;oBACjB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC1C,MAAM,EAAE,IAAI;oBACZ,cAAc;oBACd,IAAI,EAAE,KAAK;oBACX,qEAAqE;oBACrE,yBAAyB;oBACzB,SAAS,EAAE,KAAK;oBAChB,6GAA6G;oBAC7G,0CAA0C;oBAC1C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAc;oBAC1B,KAAK;iBACR,CAAC;gBACF,OAAO,GAAG,CAAC;YACf,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAoC;oBACzC,sBAAsB;oBACtB,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,EAAE;oBACP,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;wBAC7B,QAAQ,EACJ,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;4BAC/B,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU;gCACpC,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;oCAClC,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,QAAQ;wBACtB,SAAS,EAAE,CAAC,KAAyB,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;wBACjF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAChF,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,SAAS;qBACpF;oBACD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC1C,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,KAAK;oBAChB,8BAA8B;oBAC9B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAc;oBAC1B,KAAK;iBACR,CAAC;gBACF,OAAO,GAAG,CAAC;YACf,CAAC;YACD,IAAI,GAAuE,CAAC;YAC5E,IAAI,OAAO,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAsC;oBAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,CAAC;oBAEb,MAAM,EAAE,IAAI;oBACZ,UAAU;oBACV,IAAI,EAAE,SAAS;oBACf,yBAAyB;oBACzB,SAAS,EAAE,KAAK;oBAChB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAoB,EAAE,CAAC,EAAE,UAAU,CAAC;oBAC3D,SAAS,EAAE,EAAE,KAAK,EAAE;oBACpB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC1C,QAAQ,EAAE;wBACN,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,MAAM;wBACb,QAAQ,EAAE,IAAI,EAAE,gBAAgB;qBACnC;iBACJ,CAAC;gBACF,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,GAAmC;oBACzC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,CAAC;oBAEb,MAAM,EAAE,IAAI;oBACZ,UAAU;oBACV,IAAI,EAAE,MAAM;oBACZ,yBAAyB;oBACzB,SAAS,EAAE,KAAK;oBAChB,IAAI,EACA,OAAO,CAAC,SAAS,KAAK,OAAO;wBACzB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,YAAY;4BAClC,CAAC,CAAC,OAAO;4BACT,CAAC,CAAC,SAAS;oBACrB,MAAM,EAAE,OAAO,CAAC,SAAS,KAAK,QAAQ;oBACtC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAoB,EAAE,CAAC,EAAE,UAAU,CAAC;oBAC3D,SAAS,EAAE,EAAE,KAAK,EAAE;oBACpB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC1C,QAAQ,EAAE;wBACN,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,MAAM;wBACb,QAAQ,EAAE,IAAI,EAAE,gBAAgB;wBAChC,SAAS,EAAE;4BACP,KAAK,EACD,OAAO,CAAC,SAAS,KAAK,SAAS;gCAC3B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAA8B,CAAC;gCACpD,CAAC,CAAC,CAAC;4BACX,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC3D,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC9D,WAAW,EAAE,KAAK;4BAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO;yBACjE;qBACJ;oBACD,SAAS,EAAE;wBACP,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/F,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,WAAW,EAAE,KAAK;wBAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO;qBACjE;iBACJ,CAAC;gBACF,IAAI,UAAU,CAAC,OAAO,CAAC,IAAyB,CAAC,EAAE,CAAC;oBAChD,IAAI,MAAqC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAChB,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACJ,MAAM,GAAG,KAAK,CAAC;oBACnB,CAAC;oBACD,IAAI,CAAC,SAAS,GAAG;wBACb,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAyB,CAAC,IAAI,CAAC;qBAC9D,CAAC;gBACN,CAAC;gBACD,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,UAAoB;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAgB;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;oBAC7B,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;wBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;4BACtB,CAAC,CAAC;gCACI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gCAC7B,IAAI,EAAE,QAAQ;6BACjB;4BACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACjC;gBACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBAC5D,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO;oBACnB,SAAS,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;oBACnE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE;oBAC5E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;oBAClG,IAAI,EAAE;wBACF,CAAC,EAAE;4BACC,UAAU,EAAE,MAAM;yBACrB;wBACD,CAAC,EAAE;4BACC,OAAO,EAAE,CAAC;yBACb;qBACJ;iBACJ;aACJ,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAgB;YACvB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE;gBACP,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC7B,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;oBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;wBACtB,CAAC,CAAC;4BACI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;4BAC7B,IAAI,EAAE,QAAQ;yBACjB;wBACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,SAAS;YACpF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC5D,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACpB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACpB,QAAQ,EAAE;gBACN,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;oBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE;oBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;wBACzB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;wBACtC,CAAC,CAAC,SAAS;aACxB;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO;gBACnB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;gBAC7F,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE;gBAC5E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;gBAClG,IAAI,EAAE;oBACF,CAAC,EAAE;wBACC,UAAU,EAAE,MAAM;qBACrB;oBACD,CAAC,EAAE;wBACC,OAAO,EAAE,CAAC;qBACb;iBACJ;aACJ;SACJ,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,QAAQ,CACJ,MAKG;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,IAAI,CAAE,OAAO,CAAC,WAAiC,KAAK,EAAE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;gBACvG,OAAO,EAAE,CAAC;YACd,CAAC;YAED,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAwB,CAAC,CAAC;YACxD,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAwB,CAAC,CAAC;YAExD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,CAAC;gBACnF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,iBAAiB;oBACjB,IAAI,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY;oBACnE,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;wBACf,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;oBAC5C,CAAC;yBAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;wBACrB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBAC1C,CAAC;yBAAM,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;wBACpB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBACxC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;yBAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;wBAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC;gBACL,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,iBAAiB;oBACjB,IAAI,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY;oBACnE,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;wBACf,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;oBAC3C,CAAC;yBAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;wBACrB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBACzC,CAAC;yBAAM,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;wBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBACvC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACrC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;yBAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;wBAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,IAAI,GAAG,SAAS,CAAC;gBACrB,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,IAAI,GAAG,SAAS,CAAC;gBACrB,CAAC;YACL,CAAC;YAED,IAAI,KAAK,GACL,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;YACnF,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAe,CAAC;YACzD,CAAC;YAED,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,QAAQ,EACJ,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;oBAC7E,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;wBACzD,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,CAAC,UAAU;4BACX,CAAC,CAAC,MAAM;4BACR,CAAC,CAAC,OAAO,EAAE,iDAAiD;gBACxE,SAAS,EAAE,CAAC,UAAU;oBAClB,CAAC,CAAC;wBACI,2BAA2B;wBAC3B,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;wBAC7B,SAAS,EAAE;4BACP,KAAK,EAAE,KAAK,IAAI,SAAS;4BACzB,IAAI,EAAE,QAAQ;yBACjB;qBACJ;oBACH,CAAC,CAAC,SAAS;gBACf,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,SAAS;gBAC3E,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO;oBACnB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;oBAC5D,KAAK,EACD,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;wBACnF,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;oBACjD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE;iBAC/E;gBACD,QAAQ,EAAE;oBACN,cAAc,EAAE,IAAI;oBACpB,SAAS,EAAE,KAAK;wBACZ,CAAC,CAAC,EAAE,KAAK,EAAE;wBACX,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;4BACzB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;4BACtC,CAAC,CAAC,SAAS;iBACpB;aACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,OAAsB;QAC9B,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YACD,MAAM,eAAe,GACjB,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAwB,CAAC,CAAC;YACzG,MAAM,eAAe,GACjB,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAwB,CAAC,CAAC;YACzG,MAAM,aAAa,GAAG,eAAe,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACjF,MAAM,aAAa,GAAG,eAAe,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAEjF,MAAM,MAAM,GACR,OAAO,CAAC,MAMX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAElB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAED,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI;oBACjC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;iBAC3B,CAAC;gBACF,OAAO;gBACP,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI;oBACjC,IAAI,EAAE,EAAE;iBACX,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB;wBACI,KAAK,EAAE,eAAe;wBACtB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;wBACxB,SAAS,EAAE;4BACP,KAAK,EAAE,OAAO,CAAC,KAAK,IAAK,MAAM,CAAC,SAAS,CAAC,KAAgB;4BAC1D,WAAW,EAAE,CAAC;4BACd,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAyB,CAAC,IAAI,CAAC;yBAC9D;qBACJ;oBACD;wBACI,KAAK,EAAE,eAAe;qBACzB;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzB,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,SAAS;oBACb,CAAC;yBAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC7B,SAAS;oBACb,CAAC;oBACD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;oBACzD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI;wBACjC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;wBACxB,IAAI,EAAE,EAAE;qBACX,CAAC;oBAEF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,SAAS,EAAE;4BACP,KAAK,EAAE,OAAO,CAAC,KAAK,IAAK,MAAM,CAAC,SAAS,CAAC,KAAgB;4BAC1D,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC,IAAI,CAAC;4BACvD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC;gCACnD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC,GAAG,CAAC;gCACjD,CAAC,CAAC,CAAC;4BACP,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC;gCACtD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC,GAAG,CAAC;gCACjD,CAAC,CAAC,CAAC;4BACP,WAAW,EAAE,OAAO,CAAC,KAAK;4BAC1B,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO;yBACrC;wBACD,KAAK,EAAE;4BACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;4BACpB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI;4BAC9B,QAAQ,EACJ,OAAO,CAAC,YAAY,KAAK,GAAG;gCACxB,CAAC,CAAC,KAAK;gCACP,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,GAAG;oCAC5B,CAAC,CAAC,OAAO;oCACT,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO;4BAC3C,QAAQ,EAAE;gCACN,OAAO,CAAC,YAAY,KAAK,GAAG,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG;oCACxD,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;oCAChC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAA+B,CAAC,IAAI,CAAC;gCAC9D,CAAC;6BACJ;4BACD,SAAS,EAAE,QAAQ;4BACnB,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;4BAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;yBAC1C;qBACJ,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChC,qBAAqB;wBACrB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAwB,CAAC,CAAC;wBAChF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzD,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAc,GAAG,UAAU,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gCACjF,OAAO,CAAC,KAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC;4BACzD,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAwB,CAAC,CAAC;wBAChF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzD,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAc,GAAG,UAAU,EAAE,CAAC;gCAC/D,OAAO,CAAC,KAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC;4BACzD,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,UAAU,CACN,GAA6C,EAC7C,IAAY,EACZ,QAAkB,EAClB,YAAsB,EACtB,OAAiB;QAEjB,IAAI,WAAyD,CAAC;QAC9D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBACzD,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,WAAW,GAAG,GAAG,CAAC,KAAwB,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,GAAmD,CAAC;QACtE,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,WAA4B,CAAC;YACjC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,WAAW,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,WAAW,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,WAAW,CAAC;YAC9B,CAAC;YAED,MAAM,KAAK,GAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAiC,CAAC,WAAW,CAAC,CAAC;YAClF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,yBAAyB;gBACzB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1B,OAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACxF,CAAC;gBACL,CAAC;gBACD,OAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAiC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxG,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,kCAAkC;QACjD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC;YACpD,CAAC;YACD,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC7F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;YAClD,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,yBAAyB;gBACzB,OAAQ,WAAsB,IAAI,GAAG;oBACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM;oBACxC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,qCAAqC;QACpD,CAAC;QAED,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAClD,WAAW,GAAG,UAAU,CAAC,WAAqB,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACf,WAAW,GAAG,IAAI,CAAC,KAAK,CAAE,WAAsB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvB,WAAW,GAAG,UAAU,CAAC,WAAqB,CAAC,IAAI,CAAC,CAAC;YACrD,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,KAA6B,EAAE,MAAc,EAAE,KAAe;QACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC/B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC3E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACrC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;gBAClC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;YACpF,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;gBAClC,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/G,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAClF,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;gBACjF,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;gBACvH,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,cAAc,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;gBAC7H,CAAC;YACL,CAAC;YAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAE/B,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACzB,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC5I,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC7G,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;YAClH,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;YACnF,CAAC;QACL,CAAC;QAED,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9F,CAAC;IAED,gDAAgD;IAChD,wCAAwC;IACxC,oBAAoB,CAChB,WAAmB,EACnB,EAAU,EACV,IAAqC,EACrC,YAAsB;QAEtB,4BAA4B;QAC5B,MAAM,MAAM,GAAuF,IAAI,CAAC,MAAM;YAC1G,EAAE,MAAgF,CAAC;QAEvF,MAAM,IAAI,GAAsB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAyB,CAAC;QAC9E,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,YAAY;gBACZ,MAAM,EAAE,GAAqC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACrE,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;gBACrC,CAAC;gBAED,cAAc;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5D,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,MAA4B;QACtC,MAAM,MAAM,GAOM,IAAI,CAAC,MAAM,EAAE,MAK5B,CAAC;QAEJ,IAAI,EAAU,CAAC;QACf,IAAI,IAAU,CAAC;QACf,wCAAwC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;YAClC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC/E,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GACd,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,IAAK,IAAI,CAAC,MAAM,CAAC,YAAkC,KAAK,MAAM,CAAC;QACpG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAEhG,IAAI,YAAoB,CAAC;QACzB,MAAM,MAAM,GAAa,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,WAAmB,EAAU,EAAE;YACtE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YAClE,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,GAAG,CAAC;gBACR,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC;oBACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,KAAgB,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACJ,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClB,CAAC;gBACD,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;gBAEtB,OAAO,CACH,wFAAwF,CAAC,CAAC,KAAe,IAAI;oBAC7G,gDAAgD,UAAU,CAAC,IAAI,SAAS;oBACxE,iDAAiD;oBACjD,kCAAkC,GAAa,OAAO,UAAU,CAAC,IAAI,IAAI,EAAE,QAAQ;oBACnF,QAAQ,CACX,CAAC;YACN,CAAC;YAED,kCAAkC;YAClC,IAAI,YAA8C,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC;gBACJ,6BAA6B;gBAC7B,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,CAAC;YAC1G,CAAC;YAED,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACxD,OAAO,EAAE,CAAC;YACd,CAAC;YAED,MAAM,GAAG,GACL,YAAY,CAAC,GAAG,KAAK,IAAI;gBACrB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3F,OAAO,CACH,wFAAwF,IAAI,CAAC,SAAS,EAAE,KAAe,IAAI;gBAC3H,gDAAgD,IAAI,CAAC,IAAI,SAAS;gBAClE,iDAAiD;gBACjD,+BAA+B,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,OAAO,YAAY,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ;gBACrI,QAAQ,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,uBAAuB,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpG,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,8BAA8B,CAAC;QACxE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACnG,CAAC;IAED,SAAS,CAAC,YAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAA0B;YAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAChD,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACrG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACvG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACnG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACzG,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS;YAC7C,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,YAAY,EAAE,CAAC;oBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;4BACjC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;wBAChF,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,SAAS,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7E,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;aACpC;YACD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,YAAY;YACnD,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,uBAAuB;QACvB,4CAA4C;QAC5C,IAAI;QAEJ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;QAE1F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAqE,EAAE,CAAC;QACtF,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,QAAmC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACvB,SAAS,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/F,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;aAClF;YACD,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YACrD,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACrF,GAAG,EAAE,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC1F,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC1F,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACnB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE;oBAC7C,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACrB,CAAC,CAAC,SAAS;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC;IACN,CAAC;IAED,SAAS,CACL,IAAwB,EACxB,MAAuB,EACvB,YAAsB,EACtB,UAAoB;QAEpB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,MAAM,GAKN,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YAC1B,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAE3F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,MAAM,GAAkB;YAC1B,KAAK;YACL,eAAe,EAAE,aAAa;YAC9B,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC5D,IAAI,EAAE;gBACF,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,aAAa;gBACvD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC7B,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAK,IAAI,CAAC,MAAM,CAAC,MAA4B,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;aAC5C;YACD,OAAO,EACH,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,CAAC,CAAC;oBACI,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;iBAC1E;gBACH,CAAC,CAAC,SAAS;YACnB,WAAW,EACP,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;gBACnC,CAAC,CAAC;oBACI,SAAS,EAAE,IAAI;iBAClB;gBACH,CAAC,CAAC,SAAS;YACnB,KAAK;YACL,KAAK;YACL,8DAA8D;YAC9D,MAAM;YACN,SAAS;SACZ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/B,gCAAgC;gBAC/B,MAAM,CAAC,MAA8E,CAClF,UAAU,CACb,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,MAAM,CAAC,KAAK,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAClE,SAAS,EAAE,EAAE;aAChB,CAAC;YACF,MAAM,WAAW,GAAsC;gBACnD;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBACrB,SAAS,EAAE;wBACP,6BAA6B;wBAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAe;qBAC1C;oBACD,6BAA6B;oBAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAe;iBAC1C;aACJ,CAAC;YAEF,6BAA6B;YAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG;oBACrC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAwB,CAAC,IAAI,SAAS;oBAC7E,CAAC,CAAC,SAAS,CAAC;gBAChB,6BAA6B;gBAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBACxB,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/F,GAAG;iBACN,CAAC,CAAC;gBACH,4BAA4B;gBAC5B,IAAI,KAAK,CAAC;gBACV,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,6BAA6B;oBAC7B,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACJ,6BAA6B;oBAC7B,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC,CAAC,CAAC;YACF,MAAM,CAAC,MAA4C,GAAG,WAAW,CAAC;YAEnE,OAAO,MAAM,CAAC,KAAK,CAAC;YACpB,OAAO,MAAM,CAAC,KAAK,CAAC;YACpB,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAChD,MAAM,UAAU,GAIV,MAIH,CAAC;gBACJ,oCAAoC;gBACpC,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,MAAM,GAAG,CAAC,CAAC;gBAEf,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1B,IAAI,MAAM,GAAI,MAAM,CAAC,KAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,+CAA+C;wBAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;4BACpC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,WAAW;4BAC3C,CAAC,CAAC,SAAS,CAAC;wBAChB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;4BACnB,MAAM,GAAI,MAAM,CAAC,KAAuB,CAAC,EAAE,CAAC,CAAC;wBACjD,CAAC;6BAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;4BAC9C,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,CAAC;4BACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACvC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oCACvB,SAAS;gCACb,CAAC;gCACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oCAClD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;gCACvC,CAAC;gCACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oCAClD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;4BAChD,OAAO;wBACX,CAAC;oBACL,CAAC;oBAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAa,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC3B,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,MAAM,CAAC,GAAc,EACvE,CAAC,EACD,IAAI,EACJ,KAAK,EACL,IAAI,CACP,CAAC;oBAEF,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;wBAC9B,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,CAAC;yBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACxC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACjC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;wBACjE,OAAO;oBACX,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAEtE,4FAA4F;oBAC5F,6BAA6B;oBAC7B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,wBAAwB;wBACxB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,6BAA6B;wBAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;4BACpC,6BAA6B;4BAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gCAC3C,6BAA6B;gCAC7B,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC/B,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;oBAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACvB,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;wBACnB,CAAC;wBACD,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;wBACnB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;4BAClB,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC;wBACD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;4BAClB,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;gBACF,MAAM,CAAC,IAAmB,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAmB,CAAC,KAAK;oBAC7B,QAAQ;wBACR,EAAE;wBACF,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAK,IAAI,CAAC,MAAM,CAAC,MAA4B,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnG,+CAA+C;gBAC/C,IAAM,MAAM,CAAC,IAAmB,CAAC,KAAgB,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC;oBAC9E,MAAM,CAAC,IAAmB,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3C,CAAC;gBACD,IAAM,MAAM,CAAC,IAAmB,CAAC,IAAe,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC;oBAC7E,MAAM,CAAC,IAAmB,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC1C,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,MAAM,CAAC,IAAmB,CAAC,IAAc,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,MAAM,CAAC,IAAmB,CAAC,KAAe,CAAC;gBAClE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,CAAC,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,SAAS,GAAG,CAAC,CAAC;gBAClB,CAAC;gBACA,MAAM,CAAC,IAAmB,CAAC,GAAG,GAAG,MAAM,CAAC;gBACxC,MAAM,CAAC,IAAmB,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAI,MAAM,CAAC,IAAmB,CAAC,GAAa,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,GAAI,MAAM,CAAC,IAAmB,CAAC,MAAgB,CAAC;YACxE,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,yBAAyB;QACzB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/E,MAAM,CAAC,KAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,kBAAe,WAAW,CAAC","sourcesContent":["import type * as moment from 'moment';\nimport type { ChartConfigMore, ThemeChartType } from '../types';\nimport type { BarAndLineSeries, BarSeries, EchartsOneValue, LineSeries } from './ChartModel';\nimport type { EChartsOption, LegendComponentOption } from 'echarts/types/dist/echarts';\nimport type {\n CallbackDataParams,\n GridOption,\n LinearGradientObject,\n RegisteredSeriesOption,\n TitleOption,\n XAXisOption,\n YAXisOption,\n} from 'echarts/types/dist/shared';\n\ntype ThemeType = 'light' | 'dark';\n\nconst THEMES: Record = {\n azul: ['#f2385a', '#f5a503', '#4ad9d9', '#f7879c', '#c1d7a8', '#4dffd2', '#fccfd7', '#d5f6f6'],\n 'bee-inspired': ['#001727', '#805500', '#ffff00', '#ffd11a', '#f2d71f', '#f2be19', '#f3a81a', '#fff5cc'],\n blue: ['#1790cf', '#1bb2d8', '#99d2dd', '#88b0bb', '#1c7099', '#038cc4', '#75abd0', '#afd6dd'],\n infographic: [\n '#C1232B',\n '#27727B',\n '#FCCE10',\n '#E87C25',\n '#B5C334',\n '#FE8463',\n '#9BCA63',\n '#FAD860',\n '#F3A43B',\n '#60C0DD',\n '#D7504B',\n '#C6E579',\n '#F4E001',\n '#F0805A',\n '#26C0C0',\n ],\n vintage: [\n '#d87c7c',\n '#919e8b',\n '#d7ab82',\n '#6e7074',\n '#61a0a8',\n '#efa18d',\n '#787464',\n '#cc7e63',\n '#724e58',\n '#4b565b',\n ],\n dark: [\n '#dd6b66',\n '#759aa0',\n '#e69d87',\n '#8dc1a9',\n '#ea7e53',\n '#eedd78',\n '#73a373',\n '#73b9bc',\n '#7289ab',\n '#91ca8c',\n '#f49f42',\n ],\n macarons: [\n '#2ec7c9',\n '#b6a2de',\n '#5ab1ef',\n '#ffb980',\n '#d87a80',\n '#8d98b3',\n '#e5cf0d',\n '#97b552',\n '#95706d',\n '#dc69aa',\n '#07a2a4',\n '#9a7fd1',\n '#588dd5',\n '#f5994e',\n '#c05050',\n '#59678c',\n '#c9ab00',\n '#7eb00a',\n '#6f5553',\n '#c14089',\n ],\n shine: ['#c12e34', '#e6b600', '#0098d9', '#2b821d', '#005eaa', '#339ca8', '#cda819', '#32a487'],\n roma: [\n '#E01F54',\n '#001852',\n '#f5e8c8',\n '#b8d2c7',\n '#c6b38e',\n '#a4d8c2',\n '#f3d999',\n '#d3758f',\n '#dcc392',\n '#2e4783',\n '#82b6e9',\n '#ff6347',\n '#a092f1',\n '#0a915d',\n '#eaf889',\n '#6699FF',\n '#ff6666',\n '#3cb371',\n '#d5b158',\n '#38b6b6',\n ],\n royal: ['#3f7ea6', '#993366', '#408000', '#8c6f56', '#a65149', '#731f17', '#adc2eb', '#d9c3b0'],\n 'dark-blue': ['#00305a', '#004b8d', '#0074d9', '#4192d9', '#7abaf2', '#99cce6', '#d6ebf5', '#eeeeee'],\n 'tech-blue': [\n '#4d4d4d',\n '#3a5897',\n '#007bb6',\n '#7094db',\n '#0080ff',\n '#b3b3ff',\n '#00bdec',\n '#33ccff',\n '#ccddff',\n '#eeeeee',\n ],\n red: ['#d8361b', '#f16b4c', '#f7b4a9', '#d26666', '#99311c', '#c42703', '#d07e75'],\n 'red-velvet': ['#8b1a2d', '#a7314b', '#e6004c', '#ff8066', '#8e5c4e', '#ff1a66', '#d6c582', '#f0d4af'],\n green: ['#408829', '#68a54a', '#a9cba2', '#86b379', '#397b29', '#8abb6f', '#759c6a', '#bfd3b7'],\n light: [\n '#37A2DA',\n '#32C5E9',\n '#67E0E3',\n '#9FE6B8',\n '#FFDB5C',\n '#ff9f7f',\n '#fb7293',\n '#E062AE',\n '#E690D1',\n '#e7bcf3',\n '#9d96f5',\n '#8378EA',\n '#96BFFF',\n ],\n gray: ['#757575', '#c7c7c7', '#dadada', '#8b8b8b', '#b5b5b5', '#e9e9e9'],\n 'dark-bold': ['#458c6b', '#f2da87', '#d9a86c', '#d94436', '#a62424', '#76bc9b', '#cce6da', '#eeeeee'],\n};\n\ntype MomentType = typeof moment;\n\nfunction padding2(num: number): string {\n if (!num) {\n return '00';\n }\n // on safari 9.0 it is unknown\n // return num.toString().padStart(2, '0');\n const numStr = (num || '').toString();\n if (numStr.length < 2) {\n return `0${numStr}`;\n }\n\n return numStr;\n}\n\nfunction rgba2hex(color: string): string {\n const rgb = color.replace(/\\s/g, '').match(/^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i);\n return rgb\n ? `#${parseInt(rgb[1], 10).toString(16).padStart(2, '0')}${parseInt(rgb[2], 10).toString(16).padStart(2, '0')}${parseInt(rgb[3], 10).toString(16).padStart(2, '0')}`\n : color;\n}\n\nfunction brighterColor(color: string, amt: number): string {\n let usePound = false;\n\n if (color.includes('rgb')) {\n color = rgba2hex(color);\n }\n\n if (color[0] === '#') {\n color = color.slice(1);\n usePound = true;\n }\n\n const num = parseInt(color, 16);\n\n let r = (num >> 16) + amt;\n if (r > 255) {\n r = 255;\n } else if (r < 0) {\n r = 0;\n }\n\n let b = ((num >> 8) & 0x00ff) + amt;\n if (b > 255) {\n b = 255;\n } else if (b < 0) {\n b = 0;\n }\n\n let g = (num & 0x0000ff) + amt;\n if (g > 255) {\n g = 255;\n } else if (g < 0) {\n g = 0;\n }\n\n return (usePound ? '#' : '') + (g | (b << 8) | (r << 16)).toString(16);\n}\n\nfunction getGradient(color: string): LinearGradientObject {\n return {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: brighterColor(color, 30),\n },\n {\n offset: 1,\n color,\n },\n ],\n };\n}\n\ntype ChartInfo = {\n xMin?: number;\n xMax?: number;\n yAxis: YAXisOption[];\n withSeconds?: boolean;\n withTime?: boolean;\n diff?: number;\n\n lastX?: number;\n lastY?: number;\n yMoved?: boolean;\n xMoved?: boolean;\n _yAxis?: YAXisOption[];\n\n padTop?: number;\n padBottom?: number;\n padLeft?: number;\n padRight?: number;\n\n lastWidth?: number;\n};\n\nclass ChartOption {\n private readonly moment: MomentType;\n calcTextWidth: (text: string, fontSize: number) => number;\n private config: ChartConfigMore;\n private readonly themeType: ThemeType;\n private readonly chart: ChartInfo;\n private readonly isTouch: boolean =\n typeof window !== 'undefined' ? 'ontouchstart' in window.document.documentElement : false;\n private readonly compact: boolean;\n private lastFormattedTime: string | number | Date | null;\n private option: EChartsOption | null;\n private debug = false;\n\n constructor(\n moment: MomentType,\n themeType: ThemeType,\n calcTextWidth: (text: string, fontSize: number) => number,\n config?: ChartConfigMore,\n compact?: boolean,\n ) {\n this.moment = moment;\n if (!this.moment) {\n throw new Error('moment must be set and initialized');\n }\n\n this.config = config ? JSON.parse(JSON.stringify(config)) : null;\n this.calcTextWidth = calcTextWidth;\n this.themeType = themeType || 'light';\n this.chart = { yAxis: [] };\n this.compact = compact;\n this.lastFormattedTime = null;\n }\n\n /*\n setThemeName(themeType) {\n this.themeType = themeType || 'light';\n }\n\n setConfig(config) {\n this.config = config;\n }\n */\n\n getHelperChartData(): ChartInfo {\n return this.chart;\n }\n\n convertData(data: LineSeries[], chartIndex: number, yAxisIndex: number): LineSeries {\n const values = data[chartIndex];\n if (!values?.length) {\n return [];\n }\n\n const yAxis: YAXisOption = this.chart.yAxis[yAxisIndex] || ({ max: null, min: null } as YAXisOption);\n this.chart.yAxis[yAxisIndex] = yAxis;\n\n for (let ii = 0; ii < values.length; ii++) {\n if (values[ii].value[1] === null) {\n continue;\n }\n\n if (yAxis.min === null || (yAxis.min as number) > values[ii].value[1]) {\n yAxis.min = values[ii].value[1];\n }\n if (yAxis.max === null || (yAxis.max as number) < values[ii].value[1]) {\n yAxis.max = values[ii].value[1];\n }\n }\n\n if (this.chart.xMin === null || this.chart.xMin > values[0].value[0]) {\n this.chart.xMin = values[0].value[0];\n }\n if (this.chart.xMax === null || this.chart.xMax < values[values.length - 1].value[0]) {\n this.chart.xMax = values[values.length - 1].value[0];\n }\n\n return values;\n }\n\n static getCommonAxis(commonYAxis: number, chartIndex: number): number {\n return (commonYAxis as unknown as string) === '' || commonYAxis === undefined\n ? chartIndex\n : parseInt(commonYAxis as unknown as string, 10) || 0;\n }\n\n getSeries(\n data: BarAndLineSeries[],\n theme: ThemeChartType,\n ): (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[] {\n this.chart.xMin = null;\n this.chart.xMax = null;\n let colorCount = 0;\n\n const anyNotOwnAxis = this.config.l.find(\n (oneLine, i) => ChartOption.getCommonAxis(oneLine.commonYAxis, i) !== i,\n );\n\n return this.config.l.map((oneLine, i) => {\n const color = oneLine.color || (THEMES[theme] ? THEMES[theme][colorCount % THEMES[theme].length] : '');\n if (!oneLine.color) {\n colorCount++;\n }\n\n oneLine.shadowsize = parseFloat(oneLine.shadowsize as unknown as string) || 0;\n if ((oneLine.dashes as unknown as string) === 'false') {\n oneLine.dashes = false;\n } else if ((oneLine.dashes as unknown as string) === 'true') {\n oneLine.dashes = true;\n }\n\n const yAxisIndex = ChartOption.getCommonAxis(oneLine.commonYAxis, i);\n if (oneLine.chartType === 'bar') {\n const cfg: RegisteredSeriesOption['bar'] = {\n name: oneLine.name,\n clip: true,\n label: {\n show: !!this.config.barLabels,\n position:\n this.config.barLabels === 'topover'\n ? 'top'\n : this.config.barLabels === 'topunder'\n ? 'insideTop'\n : this.config.barLabels === 'bottom'\n ? 'insideBottom'\n : 'inside',\n formatter: (value: CallbackDataParams): string => this.yFormatter(value, i, true),\n color: this.config.barFontColor || (this.themeType === 'dark' ? '#fff' : '#000'),\n fontSize: parseInt(this.config.barFontSize as unknown as string, 10) || undefined,\n },\n barWidth: parseInt(this.config.barWidth as unknown as string, 10) || undefined,\n // xAxisIndex: 0,\n stack: anyNotOwnAxis ? 'total' : undefined,\n silent: true,\n // yAxisIndex,\n type: 'bar',\n // showSymbol: oneLine.chartType === 'scatterplot' || oneLine.points,\n // hoverAnimation: false,\n animation: false,\n // step: oneLine.chartType === 'steps' ? 'end' : (oneLine.chartType === 'stepsStart' ? 'start' : undefined) ,\n // smooth: oneLine.chartType === 'spline',\n data: data[i] as BarSeries,\n color,\n };\n return cfg;\n } else if (oneLine.chartType === 'polar') {\n const cfg: RegisteredSeriesOption['radar'] = {\n // name: oneLine.name,\n clip: true,\n ttt: 84,\n label: {\n show: !!this.config.barLabels,\n position:\n this.config.barLabels === 'topover'\n ? 'top'\n : this.config.barLabels === 'topunder'\n ? 'insideTop'\n : this.config.barLabels === 'bottom'\n ? 'insideBottom'\n : 'inside',\n formatter: (value: CallbackDataParams): string => this.yFormatter(value, i, true),\n color: this.config.barFontColor || (this.themeType === 'dark' ? '#fff' : '#000'),\n fontSize: parseInt(this.config.barFontSize as unknown as string, 10) || undefined,\n },\n stack: anyNotOwnAxis ? 'total' : undefined,\n silent: true,\n type: 'radar',\n animation: false,\n // @ts-expect-error fix later!\n data: data[i] as BarSeries,\n color,\n };\n return cfg;\n }\n let cfg: RegisteredSeriesOption['scatter'] | RegisteredSeriesOption['line'];\n if (oneLine.chartType === 'scatterplot') {\n const _cfg: RegisteredSeriesOption['scatter'] = {\n name: oneLine.name,\n clip: true,\n xAxisIndex: 0,\n\n silent: true,\n yAxisIndex,\n type: 'scatter',\n // hoverAnimation: false,\n animation: false,\n data: this.convertData(data as LineSeries[], i, yAxisIndex),\n itemStyle: { color },\n symbolSize: oneLine.points ? oneLine.symbolSize || 3 : undefined,\n symbol: oneLine.points ? 'circle' : 'none',\n emphasis: {\n scale: false,\n focus: 'none',\n disabled: true, // what is that?\n },\n };\n cfg = _cfg;\n } else {\n const _cfg: RegisteredSeriesOption['line'] = {\n name: oneLine.name,\n clip: true,\n xAxisIndex: 0,\n\n silent: true,\n yAxisIndex,\n type: 'line',\n // hoverAnimation: false,\n animation: false,\n step:\n oneLine.chartType === 'steps'\n ? 'end'\n : oneLine.chartType === 'stepsStart'\n ? 'start'\n : undefined,\n smooth: oneLine.chartType === 'spline',\n data: this.convertData(data as LineSeries[], i, yAxisIndex),\n itemStyle: { color },\n symbolSize: oneLine.points ? oneLine.symbolSize || 3 : undefined,\n symbol: oneLine.points ? 'circle' : 'none',\n emphasis: {\n scale: false,\n focus: 'none',\n disabled: true, // what is that?\n lineStyle: {\n width:\n oneLine.thickness !== undefined\n ? parseFloat(oneLine.thickness as unknown as string)\n : 1,\n shadowBlur: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowOffsetY: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowColor: color,\n type: oneLine.dashes ? 'dashed' : oneLine.lineStyle || 'solid',\n },\n },\n lineStyle: {\n width: oneLine.thickness !== undefined ? parseFloat(oneLine.thickness as unknown as string) : 1,\n shadowBlur: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowOffsetY: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowColor: color,\n type: oneLine.dashes ? 'dashed' : oneLine.lineStyle || 'solid',\n },\n };\n if (parseFloat(oneLine.fill as unknown as string)) {\n let _color: string | LinearGradientObject;\n if (!this.isTouch) {\n _color = getGradient(color);\n } else {\n _color = color;\n }\n _cfg.areaStyle = {\n color: _color,\n opacity: parseFloat(oneLine.fill as unknown as string) || 0,\n };\n }\n cfg = _cfg;\n }\n return cfg;\n });\n }\n\n getXAxis(categories: number[]): XAXisOption[] {\n if (this.config.l.find(l => l.chartType === 'bar')) {\n const xAxis: XAXisOption = {\n type: 'category',\n data: categories.map(i => `b${i}`),\n splitLine: {\n show: !this.config.grid_hideX,\n lineStyle:\n this.config.l[0].xaxe === 'off'\n ? { color: 'rgba(0,0,0,0)', type: 'dashed' }\n : this.config.grid_color\n ? {\n color: this.config.grid_color,\n type: 'dashed',\n }\n : { type: 'dashed' },\n },\n position: this.config.l[0].xaxe === 'top' ? 'top' : 'bottom',\n axisLabel: {\n show: !this.compact,\n formatter: (value: string, _index: number) =>\n this.xFormatter(value, _index, this.config.l[0].xaxe === 'top'),\n fontSize: parseInt(this.config.x_labels_size as unknown as string, 10) || 12,\n color: this.config.l[0].xaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.x_labels_color || undefined,\n rich: {\n a: {\n fontWeight: 'bold',\n },\n b: {\n opacity: 0,\n },\n },\n },\n };\n\n return [xAxis];\n }\n\n const xAxis: XAXisOption = {\n type: 'time',\n splitLine: {\n show: !this.config.grid_hideX,\n lineStyle:\n this.config.l[0].xaxe === 'off'\n ? { color: 'rgba(0,0,0,0)', type: 'dashed' }\n : this.config.grid_color\n ? {\n color: this.config.grid_color,\n type: 'dashed',\n }\n : { type: 'dashed' },\n },\n splitNumber: parseInt(this.config.l[0].xticks as unknown as string, 10) || undefined,\n position: this.config.l[0].xaxe === 'top' ? 'top' : 'bottom',\n min: this.chart.xMin,\n max: this.chart.xMax,\n axisTick: {\n lineStyle:\n this.config.l[0].xaxe === 'off'\n ? { color: 'rgba(0,0,0,0)' }\n : this.config.x_ticks_color\n ? { color: this.config.x_ticks_color }\n : undefined,\n },\n axisLabel: {\n show: !this.compact,\n formatter: (value, _index) => this.xFormatter(value, _index, this.config.l[0].xaxe === 'top'),\n fontSize: parseInt(this.config.x_labels_size as unknown as string, 10) || 12,\n color: this.config.l[0].xaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.x_labels_color || undefined,\n rich: {\n a: {\n fontWeight: 'bold',\n },\n b: {\n opacity: 0,\n },\n },\n },\n };\n\n return [xAxis];\n }\n\n getYAxis(\n series: (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[],\n ): YAXisOption[] {\n return this.config.l.map((oneLine, chartIndex) => {\n if (!oneLine || ((oneLine.commonYAxis as unknown as string) !== '' && oneLine.commonYAxis !== undefined)) {\n return {};\n }\n\n let yMin = parseFloat(oneLine.min as unknown as string);\n let yMax = parseFloat(oneLine.max as unknown as string);\n\n const yAxis = this.chart.yAxis;\n if (yAxis[chartIndex]) {\n const diff = (yAxis[chartIndex].max as number) - (yAxis[chartIndex].min as number);\n if (Number.isNaN(yMin)) {\n // auto calculate\n yMin = (yAxis[chartIndex].min as number) - diff * 0.1; // min - 10%\n if (diff > 25000) {\n yMin = Math.floor(yMin / 10000) * 10000;\n } else if (diff > 5000) {\n yMin = Math.floor(yMin / 1000) * 1000;\n } else if (diff > 200) {\n yMin = Math.floor(yMin / 100) * 100;\n } else if (diff > 30) {\n yMin = Math.floor(yMin / 10) * 10;\n } else if (diff > 10) {\n yMin = Math.floor(yMin);\n } else if (diff > 1) {\n yMin = Math.floor(yMin * 10) / 10;\n }\n }\n if (Number.isNaN(yMax)) {\n // auto calculate\n yMax = (yAxis[chartIndex].max as number) + diff * 0.1; // max + 10%\n if (diff > 25000) {\n yMax = Math.ceil(yMax / 10000) * 10000;\n } else if (diff > 5000) {\n yMax = Math.ceil(yMax / 1000) * 1000;\n } else if (diff > 200) {\n yMax = Math.ceil(yMax / 100) * 100;\n } else if (diff > 30) {\n yMax = Math.ceil(yMax / 10) * 10;\n } else if (diff > 10) {\n yMax = Math.ceil(yMax);\n } else if (diff > 1) {\n yMax = Math.floor(yMax * 10) / 10;\n }\n }\n } else {\n if (Number.isNaN(yMin)) {\n yMin = undefined;\n }\n if (Number.isNaN(yMax)) {\n yMax = undefined;\n }\n }\n\n let color: string | undefined =\n oneLine.yaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.grid_color || undefined;\n if (oneLine.yaxe === 'leftColor' || oneLine.yaxe === 'rightColor') {\n color = series[chartIndex].itemStyle.color as string;\n }\n\n return {\n type: 'value',\n min: yMin,\n max: yMax,\n position:\n oneLine.yaxe === 'left' || oneLine.yaxe === 'off' || oneLine.yaxe === 'leftColor'\n ? 'left'\n : oneLine.yaxe === 'right' || oneLine.yaxe === 'rightColor'\n ? 'right'\n : !chartIndex\n ? 'left'\n : 'right', // by default, only the first line is on the left\n splitLine: !chartIndex\n ? {\n // grid has only first line\n show: !this.config.grid_hideY,\n lineStyle: {\n color: color || undefined,\n type: 'dashed',\n },\n }\n : undefined,\n splitNumber: parseInt(oneLine.yticks as unknown as string, 10) || undefined,\n axisLabel: {\n show: !this.compact,\n formatter: value => this.yFormatter(value, chartIndex, true),\n color:\n oneLine.yaxe === 'off' || oneLine.yaxe === 'leftColor' || oneLine.yaxe === 'rightColor'\n ? color\n : this.config.y_labels_color || undefined,\n fontSize: parseInt(this.config.y_labels_size as unknown as string, 10) || 12,\n },\n axisTick: {\n alignWithLabel: true,\n lineStyle: color\n ? { color }\n : this.config.y_ticks_color\n ? { color: this.config.y_ticks_color }\n : undefined,\n },\n };\n });\n }\n\n getMarkings(options: EChartsOption): EChartsOption {\n // fill markings\n this.config.marks?.forEach(oneMark => {\n if (!oneMark) {\n return;\n }\n const lowerLimitFloat =\n oneMark.lowerValue !== undefined ? oneMark.lowerValue : parseFloat(oneMark.lowerValueOrId as string);\n const upperLimitFloat =\n oneMark.upperValue !== undefined ? oneMark.upperValue : parseFloat(oneMark.upperValueOrId as string);\n const isLowerNumber = lowerLimitFloat !== null && !Number.isNaN(lowerLimitFloat);\n const isUpperNumber = upperLimitFloat !== null && !Number.isNaN(upperLimitFloat);\n\n const series = (\n options.series as (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[]\n )[oneMark.lineId];\n\n if (!series) {\n console.error('Mark line has no chart line');\n return;\n }\n\n if (isLowerNumber && isUpperNumber) {\n series.markLine = series.markLine || {\n symbol: ['none', 'none'],\n };\n // area\n series.markArea = series.markArea || {\n data: [],\n };\n series.markArea.data.push([\n {\n yAxis: lowerLimitFloat,\n name: oneMark.text || '',\n itemStyle: {\n color: oneMark.color || (series.itemStyle.color as string),\n borderWidth: 0,\n opacity: parseFloat(oneMark.fill as unknown as string) || 0,\n },\n },\n {\n yAxis: upperLimitFloat,\n },\n ]);\n }\n if (isLowerNumber || isUpperNumber) {\n for (let i = 0; i < 2; i++) {\n if (!i && !isUpperNumber) {\n continue;\n } else if (i && !isLowerNumber) {\n continue;\n }\n const limitFloat = i ? lowerLimitFloat : upperLimitFloat;\n series.markLine = series.markLine || {\n symbol: ['none', 'none'],\n data: [],\n };\n\n series.markLine.data.push({\n yAxis: limitFloat,\n name: oneMark.text,\n lineStyle: {\n color: oneMark.color || (series.itemStyle.color as string),\n width: parseFloat(oneMark.ol as unknown as string) || 1,\n shadowBlur: parseFloat(oneMark.os as unknown as string)\n ? parseFloat(oneMark.os as unknown as string) + 1\n : 0,\n shadowOffsetY: parseFloat(oneMark.os as unknown as string)\n ? parseFloat(oneMark.os as unknown as string) + 1\n : 0,\n shadowColor: oneMark.color,\n type: oneMark.lineStyle || 'solid',\n },\n label: {\n show: !!oneMark.text,\n formatter: param => param.name,\n position:\n oneMark.textPosition === 'r'\n ? 'end'\n : oneMark.textPosition === 'l'\n ? 'start'\n : oneMark.textPosition || 'start',\n distance: [\n oneMark.textPosition === 'r' || oneMark.textPosition === 'l'\n ? -1 * oneMark.textOffset || -35\n : parseFloat(oneMark.textOffset as unknown as string) || 0,\n 0,\n ],\n fontStyle: 'normal',\n color: oneMark.textColor || '#FFF',\n fontSize: oneMark.textSize || undefined,\n },\n });\n\n if (this.config.l[oneMark.lineId]) {\n // if minimum not set\n const yMin = parseFloat(this.config.l[oneMark.lineId].min as unknown as string);\n if (Number.isNaN(yMin) && this.chart.yAxis[oneMark.lineId]) {\n if ((this.chart.yAxis[oneMark.lineId].min as number) > limitFloat && limitFloat < 0) {\n (options.yAxis as YAXisOption[])[0].min = limitFloat;\n }\n }\n const yMax = parseFloat(this.config.l[oneMark.lineId].min as unknown as string);\n if (Number.isNaN(yMax) && this.chart.yAxis[oneMark.lineId]) {\n if ((this.chart.yAxis[oneMark.lineId].max as number) < limitFloat) {\n (options.yAxis as YAXisOption[])[0].max = limitFloat;\n }\n }\n }\n }\n }\n });\n\n return options;\n }\n\n yFormatter(\n val: CallbackDataParams | ioBroker.StateValue,\n line: number,\n withUnit?: boolean,\n interpolated?: boolean,\n forAxis?: boolean,\n ): string {\n let simpleValue: string | number | null | undefined | boolean;\n if (val && typeof val === 'object') {\n if (val.seriesType !== 'bar' && val.seriesType !== 'polar') {\n withUnit = false;\n }\n if (val.seriesType === 'polar') {\n line = val.dimensionIndex;\n }\n simpleValue = val.value as string | number;\n } else {\n simpleValue = val as string | number | null | undefined | boolean;\n }\n\n // If mapping exist for state values\n if (this.config.l[line].states) {\n let strNumValue: number | string;\n if (simpleValue === true) {\n strNumValue = 1;\n } else if (simpleValue === false) {\n strNumValue = 0;\n } else {\n strNumValue = simpleValue;\n }\n\n const state = (this.config.l[line].states as Record)[strNumValue];\n if (state !== null && state !== undefined) {\n return state.toString();\n }\n if (forAxis) {\n // find the nearest state\n const values = Object.keys(this.config.l[line].states).sort();\n for (let i = 0; i < values.length; i++) {\n if (strNumValue < values[i]) {\n return (this.config.l[line].states as Record)[values[i]].toString();\n }\n }\n return (this.config.l[line].states as Record)[values[values.length - 1]].toString();\n }\n return ''; // do not show 1.1 or 0.8 for enum\n }\n\n if (this.config.l[line].type === 'boolean') {\n if (simpleValue === 0 || simpleValue === '0' || simpleValue === 'false' || simpleValue === false) {\n return this.config.l[line].falseText || 'FALSE';\n }\n if (simpleValue === 1 || simpleValue === '1' || simpleValue === 'true' || simpleValue === true) {\n return this.config.l[line].trueText || 'TRUE';\n }\n if (forAxis) {\n // find the nearest state\n return (simpleValue as number) >= 0.5\n ? this.config.l[line].trueText || 'TRUE'\n : this.config.l[line].falseText || 'FALSE';\n }\n return ''; // do not show 1.1 or 0.8 for boolean\n }\n\n if (simpleValue === null || simpleValue === undefined) {\n return '';\n }\n\n const afterComma = this.config.l[line].afterComma;\n if (afterComma !== undefined && afterComma !== null) {\n simpleValue = parseFloat(simpleValue as string);\n if (this.config.useComma) {\n return simpleValue.toFixed(afterComma).replace('.', ',') + (withUnit ? this.config.l[line].unit : '');\n }\n return simpleValue.toFixed(afterComma) + (withUnit ? this.config.l[line].unit : '');\n }\n if (interpolated) {\n simpleValue = Math.round((simpleValue as number) * 10000) / 10000;\n }\n\n if (this.config.useComma) {\n simpleValue = parseFloat(simpleValue as string) || 0;\n simpleValue = simpleValue.toString().replace('.', ',') + (withUnit ? this.config.l[line].unit : '');\n return simpleValue;\n }\n return simpleValue.toString() + (withUnit ? this.config.l[line].unit : '');\n }\n\n isXLabelHasBreak(): boolean {\n if (this.config.timeFormat) {\n return this.config.timeFormat.replace('
', '\\n').includes('\\n');\n }\n if (this.chart.withSeconds) {\n return true;\n }\n if (this.chart.withTime) {\n return true;\n }\n return true;\n }\n\n xFormatter(value: string | number | Date, _index: number, isTop?: boolean): string {\n if (typeof value === 'string' && value.startsWith('b')) {\n const _date = new Date(parseInt(value.substring(1), 10));\n if (this.config.xLabelShift) {\n if (this.config.xLabelShiftMonth) {\n _date.setMonth(_date.getMonth() + (this.config.xLabelShift as number));\n } else if (this.config.xLabelShiftYear) {\n _date.setFullYear(_date.getFullYear() + (this.config.xLabelShift as number));\n } else {\n _date.setSeconds(_date.getSeconds() + (this.config.xLabelShift as number));\n }\n }\n\n if (this.config.aggregateBar === 60) {\n return `.${_date.getDate()} ${_date.getHours().toString().padStart(2, '0')}:00`;\n }\n if (this.config.aggregateBar === 15) {\n return `${_date.getHours().toString().padStart(2, '0')}:${_date.getMinutes().toString().padStart(2, '0')}`;\n }\n if (this.config.aggregateBar === 1440) {\n return `${_date.getDate()}.${_date.getMonth() + 1}`;\n }\n if (this.config.aggregateBar === 43200) {\n const middle = new Date(_date);\n middle.setDate(middle.getDate() + 15);\n return `${middle.getMonth() + 1}.${middle.getFullYear()}`;\n }\n }\n const date = new Date(value);\n\n if (this.config.xLabelShift) {\n if (this.config.xLabelShiftMonth) {\n date.setMonth(date.getMonth() + (this.config.xLabelShift as number));\n } else if (this.config.xLabelShiftYear) {\n date.setFullYear(date.getFullYear() + (this.config.xLabelShift as number));\n } else {\n date.setSeconds(date.getSeconds() + (this.config.xLabelShift as number));\n }\n }\n\n if (this.config.timeFormat) {\n return this.moment(date).format(this.config.timeFormat).replace('
', '\\n');\n }\n let dateTxt = '';\n const dateInMonth = date.getDate();\n if (this.chart.withSeconds || this.chart.withTime) {\n let showDate = false;\n if (_index < 2 || this.lastFormattedTime === null || value < this.lastFormattedTime) {\n showDate = true;\n } else if (!showDate && new Date(this.lastFormattedTime).getDate() !== dateInMonth) {\n showDate = true;\n }\n if (showDate) {\n if (isTop) {\n dateTxt = `{a|${dateInMonth.toString().padStart(2, '0')}.${(date.getMonth() + 1).toString().padStart(2, '0')}.}\\n`;\n } else {\n dateTxt = `{b|..}\\n{a|${dateInMonth.toString().padStart(2, '0')}.${(date.getMonth() + 1).toString().padStart(2, '0')}.}`;\n }\n }\n\n this.lastFormattedTime = value;\n\n if (isTop) {\n if (this.chart.withSeconds) {\n return `${dateTxt + padding2(date.getHours())}:${padding2(date.getMinutes())}:${padding2(date.getSeconds())}${dateTxt ? '{b|..}' : ''}`;\n }\n if (this.chart.withTime) {\n return `${dateTxt + padding2(date.getHours())}:${padding2(date.getMinutes())}${dateTxt ? '{b|..}' : ''}`;\n }\n }\n\n if (this.chart.withSeconds) {\n return `${padding2(date.getHours())}:${padding2(date.getMinutes())}:${padding2(date.getSeconds())}${dateTxt}`;\n }\n if (this.chart.withTime) {\n return `${padding2(date.getHours())}:${padding2(date.getMinutes())}${dateTxt}`;\n }\n }\n\n return `${padding2(dateInMonth)}.${padding2(date.getMonth() + 1)}\\n${date.getFullYear()}`;\n }\n\n // result.val === null => start and end are null\n // result === null => no start or no end\n getInterpolatedValue(\n seriesIndex: number,\n ts: number,\n type: 'number' | 'boolean' | 'string',\n hoverNoNulls?: boolean,\n ): { exact?: boolean; val: number } {\n // it cannot be bar or polar\n const series: (RegisteredSeriesOption['line'] | RegisteredSeriesOption['scatter'])[] | undefined = this.option\n ?.series as (RegisteredSeriesOption['line'] | RegisteredSeriesOption['scatter'])[];\n\n const data: EchartsOneValue[] = series[seriesIndex].data as EchartsOneValue[];\n if (!data?.[0] || data[0].value[0] > ts || data[data.length - 1].value[0] < ts) {\n return null;\n }\n\n for (let k = 0; k < data.length - 1; k++) {\n if (data[k].value[0] === ts) {\n // Calculate\n const dp: { exact?: boolean; val: number } = { val: data[k].value[1] };\n if (data[k].exact === false) {\n dp.exact = false;\n }\n return dp;\n }\n if (data[k].value[0] < ts && ts < data[k + 1].value[0]) {\n const y1 = data[k].value[1];\n const y2 = data[k + 1].value[1];\n if (y2 === null || y2 === undefined || y1 === null || y1 === undefined) {\n return hoverNoNulls ? null : { exact: false, val: null };\n }\n if (type === 'boolean') {\n return { exact: false, val: y1 };\n }\n\n // interpolate\n const diff = data[k + 1].value[0] - data[k].value[0];\n const kk = (data[k + 1].value[0] - ts) / diff;\n return { exact: false, val: (1 - kk) * (y2 - y1) + y1 };\n }\n }\n\n return hoverNoNulls ? null : { exact: false, val: null };\n }\n\n renderTooltip(params: CallbackDataParams[]): string {\n const series:\n | (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[]\n | undefined = this.option?.series as (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[];\n\n let ts: number;\n let date: Date;\n // It is line chart and not par or polar\n if (Array.isArray(params[0].value)) {\n ts = params[0].value[0] as number;\n date = new Date(ts);\n if (this.config.xLabelShift) {\n if (this.config.xLabelShiftMonth) {\n date.setMonth(date.getMonth() + (this.config.xLabelShift as number));\n } else if (this.config.xLabelShiftYear) {\n date.setFullYear(date.getFullYear() + (this.config.xLabelShift as number));\n } else {\n date.setSeconds(date.getSeconds() + (this.config.xLabelShift as number));\n }\n }\n }\n\n const hoverNoNulls =\n this.config.hoverNoNulls === true || (this.config.hoverNoNulls as unknown as string) === 'true';\n const anyBarOrPolar = this.config.l.find(l => l.chartType === 'bar' || l.chartType === 'polar');\n\n let barPolarName: string;\n const values: string[] = series.map((line, seriesIndex: number): string => {\n const lineConfig = this.config.l[seriesIndex];\n const p = params.find(param => param.seriesIndex === seriesIndex);\n if (anyBarOrPolar) {\n if (!p) {\n return null;\n }\n let val;\n if (lineConfig.afterComma !== undefined) {\n const ex = 10 ** lineConfig.afterComma;\n val = Math.round((p.value as number) * ex) / ex;\n } else {\n val = p.value;\n }\n barPolarName = p.name;\n\n return (\n `
` +\n `
${lineConfig.name}:
` +\n '
' +\n `
${val as number}${lineConfig.unit || ''}
` +\n '
'\n );\n }\n\n // It is line and not bar or polar\n let interpolated: { exact?: boolean; val: number };\n if (p) {\n // @ts-expect-error fix later\n interpolated = { exact: p.data.exact !== undefined ? p.data.exact : true, val: p.value[1] as number };\n }\n\n interpolated = interpolated || this.getInterpolatedValue(seriesIndex, ts, lineConfig.type, hoverNoNulls);\n if (!interpolated) {\n return '';\n }\n if (!interpolated.exact && this.config.hoverNoInterpolate) {\n return '';\n }\n\n const val =\n interpolated.val === null\n ? 'null'\n : this.yFormatter(interpolated.val, seriesIndex, false, !interpolated.exact, true);\n\n return (\n `
` +\n `
${line.name}:
` +\n '
' +\n `
${interpolated.exact ? '' : 'i '}${val}${interpolated.val !== null ? lineConfig.unit : ''}
` +\n '
'\n );\n });\n\n if (anyBarOrPolar) {\n const format = this.config.timeFormat || 'dd, MM Do YYYY, HH:mm';\n const _date = new Date(parseInt(barPolarName.substring(1), 10));\n return `${this.moment(_date).format(format)}
${values.filter(t => t).join('
')}`;\n }\n const format = this.config.timeFormat || 'dd, MM Do YYYY, HH:mm:ss.SSS';\n return `${this.moment(date).format(format)}
${values.filter(t => t).join('
')}`;\n }\n\n getLegend(actualValues: number[]): LegendComponentOption {\n if (!this.config.legend || this.config.legend === 'dialog') {\n return undefined;\n }\n const legend: LegendComponentOption = {\n data: this.config.l.map(oneLine => oneLine.name),\n show: true,\n left: this.config.legend === 'nw' || this.config.legend === 'sw' ? this.chart.padLeft + 1 : undefined,\n right: this.config.legend === 'ne' || this.config.legend === 'se' ? this.chart.padRight + 1 : undefined,\n top: this.config.legend === 'nw' || this.config.legend === 'ne' ? this.chart.padTop + 2 : undefined,\n bottom: this.config.legend === 'sw' || this.config.legend === 'se' ? this.chart.padBottom + 2 : undefined,\n backgroundColor: this.config.legBg || undefined,\n height: this.config.legendHeight || undefined,\n formatter: (name /* , arg */) => {\n if (this.config.legActual && actualValues) {\n for (let i = 0; i < this.config.l.length; i++) {\n if (this.config.l[i].name === name) {\n return `${name} [${this.yFormatter(actualValues[i], i, true, true, true)}]`;\n }\n }\n }\n return name;\n },\n textStyle: {\n color: this.config.legColor || (this.themeType === 'light' ? '#000' : '#FFF'),\n fontSize: this.config.legFontSize,\n },\n orient: this.config.legendDirection || 'horizontal',\n selected: {},\n };\n\n // if (legend.height) {\n // legend.height = legend.height + 'px';\n // }\n\n this.config.l.forEach(oneLine => (legend.selected[oneLine.name] = oneLine.hide !== true));\n\n return legend;\n }\n\n getTitle(): TitleOption {\n if (!this.config || !this.config.title) {\n return undefined;\n }\n const titlePos: { top?: number; left?: number; bottom?: number; right?: number } = {};\n (this.config.titlePos || 'top:35;left:65').split(';').forEach(a => {\n const parts = a.split(':');\n (titlePos as Record)[parts[0].trim()] = parseInt(parts[1].trim(), 10);\n });\n\n return {\n text: this.config.title,\n textStyle: {\n fontSize: this.config.titleSize ? parseInt(this.config.titleSize as unknown as string, 10) : 20,\n color: this.config.titleColor || (this.themeType === 'light' ? '#000' : '#FFF'),\n },\n textVerticalAlign: titlePos.bottom ? 'bottom' : 'top',\n textAlign: titlePos.left === 50 ? 'center' : titlePos.right === -5 ? 'right' : 'left',\n top: titlePos.top === 35 ? 5 + this.chart.padTop : titlePos.top === 50 ? '50%' : undefined,\n left: titlePos.left === 50 ? '50%' : titlePos.left === 65 ? this.chart.padLeft : undefined,\n bottom: titlePos.bottom\n ? titlePos.bottom > 0\n ? titlePos.bottom + this.chart.padBottom - 15\n : titlePos.bottom\n : undefined,\n right: titlePos.right === 5 ? this.chart.padRight : undefined,\n };\n }\n\n getOption(\n data: BarAndLineSeries[],\n config: ChartConfigMore,\n actualValues: number[],\n categories: number[],\n ): EChartsOption {\n if (config) {\n this.config = JSON.parse(JSON.stringify(config));\n }\n const useCanvas = this.isTouch && this.config.zoom;\n\n let theme = this.config.theme;\n if (!theme || theme === 'default') {\n theme = this.themeType === 'light' ? 'roma' : 'dark-bold';\n }\n\n this.debug = this.config?.debug;\n\n if (this.debug) {\n console.log(`[ChartView ] [${new Date().toISOString()}] ${JSON.stringify(this.config, null, 2)}`);\n }\n\n const series: (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[] = this.getSeries(data, theme);\n\n if (this.config.start) {\n const end = parseInt(this.config.end as string, 10);\n if (this.chart.xMax < end) {\n this.chart.xMax = end;\n }\n const start = parseInt(this.config.start as string, 10);\n if (this.chart.xMin > start) {\n this.chart.xMin = start;\n }\n }\n\n this.chart.diff = this.chart.xMax - this.chart.xMin;\n this.chart.withTime = this.chart.diff < 3600000 * 24 * 7;\n this.chart.withSeconds = this.chart.diff < 60000 * 30;\n this.config.y_labels_size = parseInt(this.config.y_labels_size as unknown as string, 10) || 12;\n this.config.x_labels_size = parseInt(this.config.x_labels_size as unknown as string, 10) || 12;\n this.config.legFontSize = parseInt(this.config.legFontSize as unknown as string, 10) || 12;\n\n const yAxis = this.getYAxis(series);\n const xAxis = this.getXAxis(categories);\n\n const option: EChartsOption = {\n theme,\n backgroundColor: 'transparent',\n animation: !this.config.noAnimation && !this.config.noLoader,\n grid: {\n backgroundColor: this.config.bg_custom || 'transparent',\n show: !!this.config.bg_custom,\n left: 10,\n top: 8,\n right: this.config.export === true || (this.config.export as unknown as string) === 'true' ? 30 : 0,\n bottom: this.compact ? 4 : this.isXLabelHasBreak() ? 40 : 24,\n containLabel: this.config.autoGridPadding,\n },\n tooltip:\n !this.compact && this.config.hoverDetail\n ? {\n trigger: 'axis',\n formatter: (params: CallbackDataParams[]) => this.renderTooltip(params),\n }\n : undefined,\n axisPointer:\n this.compact && this.config.hoverDetail\n ? {\n animation: true,\n }\n : undefined,\n xAxis,\n yAxis,\n // @ts-expect-error it is because of markArea.tooltip.position\n series,\n useCanvas,\n };\n\n this.config.l.forEach((item, chartIndex) => {\n if (item.aggregate === 'current') {\n // It could be only bar or polar\n (option.series as (RegisteredSeriesOption['radar'] | RegisteredSeriesOption['bar'])[])[\n chartIndex\n ].data = [actualValues[chartIndex]];\n }\n });\n\n // modify series for polar\n if (this.config.l.find(item => item.chartType === 'polar')) {\n option.animation = false;\n option.radar = {\n shape: this.config.radarCircle === 'circle' ? 'circle' : undefined,\n indicator: [],\n };\n const radarSeries: RegisteredSeriesOption['radar'][] = [\n {\n type: 'radar',\n data: [{ value: [] }],\n lineStyle: {\n // @ts-expect-error fix later\n color: option.series[0].color as string,\n },\n // @ts-expect-error fix later\n label: option.series[0].label as string,\n },\n ];\n\n // @ts-expect-error fix later\n option.series.forEach((item, chartIndex) => {\n const max = this.config.l[chartIndex].max\n ? parseFloat(this.config.l[chartIndex].max as unknown as string) || undefined\n : undefined;\n // @ts-expect-error fix later\n option.radar.indicator.push({\n name: item.name + (max !== undefined ? ` (max ${this.yFormatter(max, chartIndex, true)})` : ''),\n max,\n });\n // find last not null value;\n let value;\n for (let d = item.data.length - 1; d >= 0; d--) {\n if (item.data[d] !== undefined && item.data[d] !== null) {\n value = item.data[d];\n break;\n }\n }\n\n if (value !== undefined) {\n // @ts-expect-error fix later\n radarSeries[0].data[0].value.push(value);\n } else {\n // @ts-expect-error fix later\n radarSeries[0].data[0].value.push(0);\n }\n });\n (option.series as RegisteredSeriesOption['radar'][]) = radarSeries;\n\n delete option.xAxis;\n delete option.yAxis;\n delete option.grid;\n } else {\n this.getMarkings(option);\n\n if (!this.compact && !this.config.autoGridPadding) {\n const lineSeries: (\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[] = series as (\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[];\n // calculate padding: left and right\n let padLeft = 0;\n let padRight = 0;\n let padBottom = 0;\n let padTop = 0;\n\n lineSeries.forEach((ser, i) => {\n let _yAxis = (option.yAxis as YAXisOption[])[ser.yAxisIndex];\n if (!_yAxis) {\n // it seems this axis is defined something else\n const cY = this.config.l[ser.yAxisIndex]\n ? this.config.l[ser.yAxisIndex].commonYAxis\n : undefined;\n if (cY !== undefined) {\n _yAxis = (option.yAxis as YAXisOption[])[cY];\n } else if (this.config.l[i].chartType === 'bar') {\n _yAxis = { min: ser.data[0] as number, max: ser.data[0] as number };\n for (let s = 1; s < ser.data.length; s++) {\n if (ser.data[s] === null) {\n continue;\n }\n if (ser.data[s] < _yAxis.min || _yAxis.min === null) {\n _yAxis.min = ser.data[s] as number;\n }\n if (ser.data[s] > _yAxis.max || _yAxis.max === null) {\n _yAxis.max = ser.data[s] as number;\n }\n }\n } else {\n console.log(`Cannot find Y axis for line ${i}`);\n return;\n }\n }\n\n const minTick = this.yFormatter(_yAxis.min as number, i, true, false, true);\n const maxTick = this.yFormatter(\n !_yAxis.min && _yAxis.max === _yAxis.min ? 0.8 : (_yAxis.max as number),\n i,\n true,\n false,\n true,\n );\n\n if (xAxis[0].position === 'top') {\n padTop = this.isXLabelHasBreak() ? 40 : 24;\n } else if (xAxis[0].position === 'bottom') {\n padBottom = this.isXLabelHasBreak() ? 40 : 24;\n }\n\n const position = _yAxis.position;\n if (_yAxis.axisLabel && _yAxis.axisLabel.color === 'rgba(0,0,0,0)') {\n return;\n }\n const wMin = this.calcTextWidth(minTick, this.config.y_labels_size) + 4;\n let wMax = this.calcTextWidth(maxTick, this.config.y_labels_size) + 4;\n\n // if we have descriptions for every number, so find the longest one and use it as max width\n // @ts-expect-error fix later\n if (ser.states) {\n // get the longest state\n let wState = '';\n // @ts-expect-error fix later\n Object.keys(ser.states).forEach(state => {\n // @ts-expect-error fix later\n if (ser.states[state].length > wState.length) {\n // @ts-expect-error fix later\n wState = ser.states[state];\n }\n });\n wMax = this.calcTextWidth(wState, this.config.y_labels_size) + 4;\n }\n\n if (position !== 'right') {\n if (wMin > padLeft) {\n padLeft = wMin;\n }\n if (wMax > padLeft) {\n padLeft = wMax;\n }\n } else {\n if (wMin > padRight) {\n padRight = wMin;\n }\n if (wMax > padRight) {\n padRight = wMax;\n }\n }\n });\n (option.grid as GridOption).left = padLeft + 10;\n (option.grid as GridOption).right =\n padRight +\n 10 +\n (this.config.export === true || (this.config.export as unknown as string) === 'true' ? 20 : 0);\n // if xAxis shown, let the place for last value\n if (((option.grid as GridOption).right as number) <= 10 && (padTop || padBottom)) {\n (option.grid as GridOption).right = 18;\n }\n if (((option.grid as GridOption).left as number) <= 10 && (padTop || padBottom)) {\n (option.grid as GridOption).left = 18;\n }\n this.chart.padLeft = (option.grid as GridOption).left as number;\n this.chart.padRight = (option.grid as GridOption).right as number;\n if (!padTop) {\n padTop = 8;\n }\n if (!padBottom) {\n padBottom = 8;\n }\n (option.grid as GridOption).top = padTop;\n (option.grid as GridOption).bottom = padBottom;\n this.chart.padTop = (option.grid as GridOption).top as number;\n this.chart.padBottom = (option.grid as GridOption).bottom as number;\n }\n }\n\n // 'nw': 'Top, left',\n // 'ne': 'Top, right',\n // 'sw': 'Bottom, left',\n // 'se': 'Bottom, right',\n option.legend = this.getLegend(actualValues);\n option.title = this.getTitle();\n\n if (!this.config.grid_color && Array.isArray(option.yAxis)) {\n option.yAxis.forEach(axis => axis.splitLine && delete axis.splitLine.lineStyle);\n (option.xAxis as XAXisOption[]).forEach(axis => axis.splitLine && delete axis.splitLine.lineStyle);\n }\n\n this.option = option;\n return this.option;\n }\n}\n\nexport default ChartOption;\n"]} \ No newline at end of file +{"version":3,"file":"ChartOption.js","sourceRoot":"","sources":["../../src/lib/ChartOption.ts"],"names":[],"mappings":";;AAgBA,MAAM,MAAM,GAAqC;IAC7C,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC9F,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACxG,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC9F,WAAW,EAAE;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,OAAO,EAAE;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,IAAI,EAAE;QACF,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,QAAQ,EAAE;QACN,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,IAAI,EAAE;QACF,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACrG,WAAW,EAAE;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAClF,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACtG,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,KAAK,EAAE;QACH,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ;IACD,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACxE,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;CACxG,CAAC;AAIF,SAAS,QAAQ,CAAC,GAAW;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,8BAA8B;IAC9B,0CAA0C;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACtF,OAAO,GAAG;QACN,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;QACpK,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW;IAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,QAAQ,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;IACpC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACV,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,UAAU,EAAE;YACR;gBACI,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;aAClC;YACD;gBACI,MAAM,EAAE,CAAC;gBACT,KAAK;aACR;SACJ;KACJ,CAAC;AACN,CAAC;AAwBD,MAAM,WAAW;IACI,MAAM,CAAa;IACpC,aAAa,CAA6C;IAClD,MAAM,CAAkB;IACf,SAAS,CAAY;IACrB,KAAK,CAAY;IACjB,OAAO,GACpB,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,CAAU;IAC1B,iBAAiB,CAAgC;IACjD,MAAM,CAAuB;IAC7B,KAAK,GAAG,KAAK,CAAC;IAEtB,YACI,MAAkB,EAClB,SAAoB,EACpB,aAAyD,EACzD,MAAwB,EACxB,OAAiB;QAEjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;;;;;;;MAQE;IAEF,kBAAkB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,IAAkB,EAAE,UAAkB,EAAE,UAAkB;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAkB,CAAC;QACrG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAErC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,SAAS;YACb,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAK,KAAK,CAAC,GAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAK,KAAK,CAAC,GAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,UAAkB;QACxD,OAAQ,WAAiC,KAAK,EAAE,IAAI,WAAW,KAAK,SAAS;YACzE,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,QAAQ,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CACL,IAAwB,EACxB,KAAqB;QAOrB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACpC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAC1E,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,UAA+B,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAK,OAAO,CAAC,MAA4B,KAAK,OAAO,EAAE,CAAC;gBACpD,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3B,CAAC;iBAAM,IAAK,OAAO,CAAC,MAA4B,KAAK,MAAM,EAAE,CAAC;gBAC1D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAkC;oBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;wBAC7B,QAAQ,EACJ,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;4BAC/B,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU;gCACpC,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;oCAClC,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,QAAQ;wBACtB,SAAS,EAAE,CAAC,KAAyB,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;wBACjF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAChF,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,SAAS;qBACpF;oBACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAA6B,EAAE,EAAE,CAAC,IAAI,SAAS;oBAC9E,iBAAiB;oBACjB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC1C,MAAM,EAAE,IAAI;oBACZ,cAAc;oBACd,IAAI,EAAE,KAAK;oBACX,qEAAqE;oBACrE,yBAAyB;oBACzB,SAAS,EAAE,KAAK;oBAChB,6GAA6G;oBAC7G,0CAA0C;oBAC1C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAc;oBAC1B,KAAK;iBACR,CAAC;gBACF,OAAO,GAAG,CAAC;YACf,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAoC;oBACzC,sBAAsB;oBACtB,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,EAAE;oBACP,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;wBAC7B,QAAQ,EACJ,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;4BAC/B,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU;gCACpC,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;oCAClC,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,QAAQ;wBACtB,SAAS,EAAE,CAAC,KAAyB,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;wBACjF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAChF,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,SAAS;qBACpF;oBACD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC1C,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,KAAK;oBAChB,8BAA8B;oBAC9B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAc;oBAC1B,KAAK;iBACR,CAAC;gBACF,OAAO,GAAG,CAAC;YACf,CAAC;YACD,IAAI,GAAuE,CAAC;YAC5E,IAAI,OAAO,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAsC;oBAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,CAAC;oBAEb,MAAM,EAAE,IAAI;oBACZ,UAAU;oBACV,IAAI,EAAE,SAAS;oBACf,yBAAyB;oBACzB,SAAS,EAAE,KAAK;oBAChB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAoB,EAAE,CAAC,EAAE,UAAU,CAAC;oBAC3D,SAAS,EAAE,EAAE,KAAK,EAAE;oBACpB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC1C,QAAQ,EAAE;wBACN,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,MAAM;wBACb,QAAQ,EAAE,IAAI,EAAE,gBAAgB;qBACnC;iBACJ,CAAC;gBACF,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,GAAmC;oBACzC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,CAAC;oBAEb,MAAM,EAAE,IAAI;oBACZ,UAAU;oBACV,IAAI,EAAE,MAAM;oBACZ,yBAAyB;oBACzB,SAAS,EAAE,KAAK;oBAChB,IAAI,EACA,OAAO,CAAC,SAAS,KAAK,OAAO;wBACzB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,YAAY;4BAClC,CAAC,CAAC,OAAO;4BACT,CAAC,CAAC,SAAS;oBACrB,MAAM,EAAE,OAAO,CAAC,SAAS,KAAK,QAAQ;oBACtC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAoB,EAAE,CAAC,EAAE,UAAU,CAAC;oBAC3D,SAAS,EAAE,EAAE,KAAK,EAAE;oBACpB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC1C,QAAQ,EAAE;wBACN,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,MAAM;wBACb,QAAQ,EAAE,IAAI,EAAE,gBAAgB;wBAChC,SAAS,EAAE;4BACP,KAAK,EACD,OAAO,CAAC,SAAS,KAAK,SAAS;gCAC3B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAA8B,CAAC;gCACpD,CAAC,CAAC,CAAC;4BACX,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC3D,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC9D,WAAW,EAAE,KAAK;4BAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO;yBACjE;qBACJ;oBACD,SAAS,EAAE;wBACP,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/F,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,WAAW,EAAE,KAAK;wBAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO;qBACjE;iBACJ,CAAC;gBACF,IAAI,UAAU,CAAC,OAAO,CAAC,IAAyB,CAAC,EAAE,CAAC;oBAChD,IAAI,MAAqC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAChB,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACJ,MAAM,GAAG,KAAK,CAAC;oBACnB,CAAC;oBACD,IAAI,CAAC,SAAS,GAAG;wBACb,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAyB,CAAC,IAAI,CAAC;qBAC9D,CAAC;gBACN,CAAC;gBACD,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,UAAoB;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAgB;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;oBAC7B,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;wBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;4BACtB,CAAC,CAAC;gCACI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gCAC7B,IAAI,EAAE,QAAQ;6BACjB;4BACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACjC;gBACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBAC5D,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO;oBACnB,SAAS,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;oBACnE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE;oBAC5E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;oBAClG,IAAI,EAAE;wBACF,CAAC,EAAE;4BACC,UAAU,EAAE,MAAM;yBACrB;wBACD,CAAC,EAAE;4BACC,OAAO,EAAE,CAAC;yBACb;qBACJ;iBACJ;aACJ,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAgB;YACvB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE;gBACP,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC7B,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;oBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;wBACtB,CAAC,CAAC;4BACI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;4BAC7B,IAAI,EAAE,QAAQ;yBACjB;wBACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,SAAS;YACpF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC5D,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACpB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACpB,QAAQ,EAAE;gBACN,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;oBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE;oBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;wBACzB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;wBACtC,CAAC,CAAC,SAAS;aACxB;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO;gBACnB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;gBAC7F,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE;gBAC5E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;gBAClG,IAAI,EAAE;oBACF,CAAC,EAAE;wBACC,UAAU,EAAE,MAAM;qBACrB;oBACD,CAAC,EAAE;wBACC,OAAO,EAAE,CAAC;qBACb;iBACJ;aACJ;SACJ,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,QAAQ,CACJ,MAKG;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,IAAI,CAAE,OAAO,CAAC,WAAiC,KAAK,EAAE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;gBACvG,OAAO,EAAE,CAAC;YACd,CAAC;YAED,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAwB,CAAC,CAAC;YACxD,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAwB,CAAC,CAAC;YAExD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,CAAC;gBACnF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,iBAAiB;oBACjB,IAAI,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY;oBACnE,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;wBACf,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;oBAC5C,CAAC;yBAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;wBACrB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBAC1C,CAAC;yBAAM,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;wBACpB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBACxC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;yBAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;wBAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC;gBACL,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,iBAAiB;oBACjB,IAAI,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAc,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY;oBACnE,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;wBACf,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;oBAC3C,CAAC;yBAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;wBACrB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBACzC,CAAC;yBAAM,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;wBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBACvC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACrC,CAAC;yBAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;yBAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;wBAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,IAAI,GAAG,SAAS,CAAC;gBACrB,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,IAAI,GAAG,SAAS,CAAC;gBACrB,CAAC;YACL,CAAC;YAED,IAAI,KAAK,GACL,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;YACnF,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,KAAe,CAAC;YAC3D,CAAC;YAED,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,QAAQ,EACJ,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;oBAC7E,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;wBACzD,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,CAAC,UAAU;4BACX,CAAC,CAAC,MAAM;4BACR,CAAC,CAAC,OAAO,EAAE,iDAAiD;gBACxE,SAAS,EAAE,CAAC,UAAU;oBAClB,CAAC,CAAC;wBACI,2BAA2B;wBAC3B,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;wBAC7B,SAAS,EAAE;4BACP,KAAK,EAAE,KAAK,IAAI,SAAS;4BACzB,IAAI,EAAE,QAAQ;yBACjB;qBACJ;oBACH,CAAC,CAAC,SAAS;gBACf,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,SAAS;gBAC3E,SAAS,EAAE;oBACP,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO;oBACnB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;oBAC5D,KAAK,EACD,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;wBACnF,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;oBACjD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE;iBAC/E;gBACD,QAAQ,EAAE;oBACN,cAAc,EAAE,IAAI;oBACpB,SAAS,EAAE,KAAK;wBACZ,CAAC,CAAC,EAAE,KAAK,EAAE;wBACX,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;4BACzB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;4BACtC,CAAC,CAAC,SAAS;iBACpB;aACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,OAAsB;QAC9B,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YACD,MAAM,eAAe,GACjB,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAwB,CAAC,CAAC;YACzG,MAAM,eAAe,GACjB,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAwB,CAAC,CAAC;YACzG,MAAM,aAAa,GAAG,eAAe,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACjF,MAAM,aAAa,GAAG,eAAe,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAEjF,MAAM,MAAM,GACR,OAAO,CAAC,MAMX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAElB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAED,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;gBACjC,OAAO;gBACP,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI;oBACjC,IAAI,EAAE,EAAE;iBACX,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB;wBACI,KAAK,EAAE,eAAe;wBACtB,6BAA6B;wBAC7B,SAAS,EAAE;4BACP,KAAK,EAAE,OAAO,CAAC,KAAK,IAAK,MAAM,CAAC,SAAS,CAAC,KAAgB;4BAC1D,WAAW,EAAE,CAAC;4BACd,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAyB,CAAC,IAAI,CAAC;yBAC9D;qBACJ;oBACD;wBACI,KAAK,EAAE,eAAe;qBACzB;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzB,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,SAAS;oBACb,CAAC;yBAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC7B,SAAS;oBACb,CAAC;oBACD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;oBACzD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI;wBACjC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;wBACxB,IAAI,EAAE,EAAE;qBACX,CAAC;oBAEF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,SAAS,EAAE;4BACP,KAAK,EAAE,OAAO,CAAC,KAAK,IAAK,MAAM,CAAC,SAAS,CAAC,KAAgB;4BAC1D,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC,IAAI,CAAC;4BACvD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC;gCACnD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC,GAAG,CAAC;gCACjD,CAAC,CAAC,CAAC;4BACP,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC;gCACtD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAuB,CAAC,GAAG,CAAC;gCACjD,CAAC,CAAC,CAAC;4BACP,WAAW,EAAE,OAAO,CAAC,KAAK;4BAC1B,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO;yBACrC;wBACD,KAAK,EAAE;4BACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;4BACpB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI;4BAC9B,QAAQ,EACJ,OAAO,CAAC,YAAY,KAAK,GAAG;gCACxB,CAAC,CAAC,KAAK;gCACP,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,GAAG;oCAC5B,CAAC,CAAC,OAAO;oCACT,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO;4BAC3C,QAAQ,EAAE;gCACN,OAAO,CAAC,YAAY,KAAK,GAAG,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG;oCACxD,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;oCAChC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAA+B,CAAC,IAAI,CAAC;gCAC9D,CAAC;6BACJ;4BACD,SAAS,EAAE,QAAQ;4BACnB,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;4BAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;yBAC1C;qBACJ,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChC,2BAA2B;wBAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAwB,CAAC,CAAC;wBAChF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzD,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAc,GAAG,UAAU,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gCACjF,OAAO,CAAC,KAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC;4BACzD,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAwB,CAAC,CAAC;wBAChF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzD,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAc,GAAG,UAAU,EAAE,CAAC;gCAC/D,OAAO,CAAC,KAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC;4BACzD,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,UAAU,CACN,GAA6C,EAC7C,IAAY,EACZ,QAAkB,EAClB,YAAsB,EACtB,OAAiB;QAEjB,IAAI,WAAyD,CAAC;QAC9D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBACzD,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,WAAW,GAAG,GAAG,CAAC,KAAwB,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,GAAmD,CAAC;QACtE,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,WAA4B,CAAC;YACjC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,WAAW,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,WAAW,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,WAAW,CAAC;YAC9B,CAAC;YAED,MAAM,KAAK,GAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAiC,CAAC,WAAW,CAAC,CAAC;YAClF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,yBAAyB;gBACzB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1B,OAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACxF,CAAC;gBACL,CAAC;gBACD,OAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAiC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxG,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,kCAAkC;QACjD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC;YACpD,CAAC;YACD,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC7F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;YAClD,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,yBAAyB;gBACzB,OAAQ,WAAsB,IAAI,GAAG;oBACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM;oBACxC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,qCAAqC;QACpD,CAAC;QAED,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAClD,WAAW,GAAG,UAAU,CAAC,WAAqB,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACf,WAAW,GAAG,IAAI,CAAC,KAAK,CAAE,WAAsB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvB,WAAW,GAAG,UAAU,CAAC,WAAqB,CAAC,IAAI,CAAC,CAAC;YACrD,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,KAA6B,EAAE,MAAc,EAAE,KAAe;QACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC/B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC3E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACrC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;gBAClC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;YACpF,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;gBAClC,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/G,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAClF,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;gBACjF,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;gBACvH,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,cAAc,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;gBAC7H,CAAC;YACL,CAAC;YAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAE/B,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACzB,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC5I,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC7G,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;YAClH,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;YACnF,CAAC;QACL,CAAC;QAED,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9F,CAAC;IAED,gDAAgD;IAChD,wCAAwC;IACxC,oBAAoB,CAChB,WAAmB,EACnB,EAAU,EACV,IAAqC,EACrC,YAAsB;QAEtB,4BAA4B;QAC5B,MAAM,MAAM,GAAuF,IAAI,CAAC,MAAM;YAC1G,EAAE,MAAgF,CAAC;QAEvF,MAAM,IAAI,GAAsB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAyB,CAAC;QAC9E,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,YAAY;gBACZ,MAAM,EAAE,GAAqC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACrE,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;gBACrC,CAAC;gBAED,cAAc;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5D,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,MAA4B;QACtC,MAAM,MAAM,GAOM,IAAI,CAAC,MAAM,EAAE,MAK5B,CAAC;QAEJ,IAAI,EAAU,CAAC;QACf,IAAI,IAAU,CAAC;QACf,wCAAwC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;YAClC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC/E,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GACd,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,IAAK,IAAI,CAAC,MAAM,CAAC,YAAkC,KAAK,MAAM,CAAC;QACpG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAEhG,IAAI,YAAoB,CAAC;QACzB,MAAM,MAAM,GAAa,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,WAAmB,EAAU,EAAE;YACtE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YAClE,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,GAAG,CAAC;gBACR,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC;oBACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,KAAgB,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACJ,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClB,CAAC;gBACD,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;gBAEtB,OAAO,CACH,wFAAwF,CAAC,CAAC,KAAe,IAAI;oBAC7G,gDAAgD,UAAU,CAAC,IAAI,SAAS;oBACxE,iDAAiD;oBACjD,kCAAkC,GAAa,OAAO,UAAU,CAAC,IAAI,IAAI,EAAE,QAAQ;oBACnF,QAAQ,CACX,CAAC;YACN,CAAC;YAED,kCAAkC;YAClC,IAAI,YAA8C,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC;gBACJ,6BAA6B;gBAC7B,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,CAAC;YAC1G,CAAC;YAED,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACxD,OAAO,EAAE,CAAC;YACd,CAAC;YAED,MAAM,GAAG,GACL,YAAY,CAAC,GAAG,KAAK,IAAI;gBACrB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3F,OAAO,CACH,wFAAwF,IAAI,CAAC,SAAS,EAAE,KAAe,IAAI;gBAC3H,gDAAgD,IAAI,CAAC,IAAI,SAAS;gBAClE,iDAAiD;gBACjD,+BAA+B,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,OAAO,YAAY,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ;gBACrI,QAAQ,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,uBAAuB,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpG,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,8BAA8B,CAAC;QACxE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACnG,CAAC;IAED,SAAS,CAAC,YAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAA0B;YAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAChD,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACrG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACvG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACnG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACzG,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS;YAC7C,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,YAAY,EAAE,CAAC;oBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;4BACjC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;wBAChF,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,SAAS,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7E,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;aACpC;YACD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,YAAY;YACnD,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,uBAAuB;QACvB,4CAA4C;QAC5C,IAAI;QAEJ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;QAE1F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAqE,EAAE,CAAC;QACtF,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,QAAmC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACvB,SAAS,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/F,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;aAClF;YACD,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YACrD,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACrF,GAAG,EAAE,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC1F,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC1F,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACnB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE;oBAC7C,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACrB,CAAC,CAAC,SAAS;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC;IACN,CAAC;IAED,SAAS,CACL,IAAwB,EACxB,MAAuB,EACvB,YAAsB,EACtB,UAAoB;QAEpB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,MAAM,GAKN,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YAC1B,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAE3F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,MAAM,GAAkB;YAC1B,KAAK;YACL,eAAe,EAAE,aAAa;YAC9B,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC5D,IAAI,EAAE;gBACF,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,aAAa;gBACvD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC7B,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAK,IAAI,CAAC,MAAM,CAAC,MAA4B,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;aAC5C;YACD,OAAO,EACH,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,CAAC,CAAC;oBACI,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;iBAC1E;gBACH,CAAC,CAAC,SAAS;YACnB,WAAW,EACP,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;gBACnC,CAAC,CAAC;oBACI,SAAS,EAAE,IAAI;iBAClB;gBACH,CAAC,CAAC,SAAS;YACnB,KAAK;YACL,KAAK;YACL,8DAA8D;YAC9D,MAAM;YACN,SAAS;SACZ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/B,gCAAgC;gBAC/B,MAAM,CAAC,MAA8E,CAClF,UAAU,CACb,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,MAAM,CAAC,KAAK,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAClE,SAAS,EAAE,EAAE;aAChB,CAAC;YACF,MAAM,WAAW,GAAsC;gBACnD;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBACrB,SAAS,EAAE;wBACP,6BAA6B;wBAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAe;qBAC1C;oBACD,6BAA6B;oBAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAe;iBAC1C;aACJ,CAAC;YAEF,6BAA6B;YAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG;oBACrC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAwB,CAAC,IAAI,SAAS;oBAC7E,CAAC,CAAC,SAAS,CAAC;gBAChB,6BAA6B;gBAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBACxB,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/F,GAAG;iBACN,CAAC,CAAC;gBACH,4BAA4B;gBAC5B,IAAI,KAAK,CAAC;gBACV,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,6BAA6B;oBAC7B,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACJ,6BAA6B;oBAC7B,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC,CAAC,CAAC;YACF,MAAM,CAAC,MAA4C,GAAG,WAAW,CAAC;YAEnE,OAAO,MAAM,CAAC,KAAK,CAAC;YACpB,OAAO,MAAM,CAAC,KAAK,CAAC;YACpB,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAChD,MAAM,UAAU,GAIV,MAIH,CAAC;gBACJ,oCAAoC;gBACpC,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,MAAM,GAAG,CAAC,CAAC;gBAEf,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1B,IAAI,MAAM,GAAI,MAAM,CAAC,KAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,+CAA+C;wBAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;4BACpC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,WAAW;4BAC3C,CAAC,CAAC,SAAS,CAAC;wBAChB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;4BACnB,MAAM,GAAI,MAAM,CAAC,KAAuB,CAAC,EAAE,CAAC,CAAC;wBACjD,CAAC;6BAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;4BAC9C,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,CAAC;4BACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACvC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oCACvB,SAAS;gCACb,CAAC;gCACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oCAClD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;gCACvC,CAAC;gCACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oCAClD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;4BAChD,OAAO;wBACX,CAAC;oBACL,CAAC;oBAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAa,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC3B,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,MAAM,CAAC,GAAc,EACvE,CAAC,EACD,IAAI,EACJ,KAAK,EACL,IAAI,CACP,CAAC;oBAEF,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;wBAC9B,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,CAAC;yBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACxC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACjC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;wBACjE,OAAO;oBACX,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAEtE,4FAA4F;oBAC5F,6BAA6B;oBAC7B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,wBAAwB;wBACxB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,6BAA6B;wBAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;4BACpC,6BAA6B;4BAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gCAC3C,6BAA6B;gCAC7B,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC/B,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrE,CAAC;oBAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACvB,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;wBACnB,CAAC;wBACD,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;wBACnB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;4BAClB,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC;wBACD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;4BAClB,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;gBACF,MAAM,CAAC,IAAmB,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAmB,CAAC,KAAK;oBAC7B,QAAQ;wBACR,EAAE;wBACF,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAK,IAAI,CAAC,MAAM,CAAC,MAA4B,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnG,+CAA+C;gBAC/C,IAAM,MAAM,CAAC,IAAmB,CAAC,KAAgB,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC;oBAC9E,MAAM,CAAC,IAAmB,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3C,CAAC;gBACD,IAAM,MAAM,CAAC,IAAmB,CAAC,IAAe,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC;oBAC7E,MAAM,CAAC,IAAmB,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC1C,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,MAAM,CAAC,IAAmB,CAAC,IAAc,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,MAAM,CAAC,IAAmB,CAAC,KAAe,CAAC;gBAClE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,CAAC,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,SAAS,GAAG,CAAC,CAAC;gBAClB,CAAC;gBACA,MAAM,CAAC,IAAmB,CAAC,GAAG,GAAG,MAAM,CAAC;gBACxC,MAAM,CAAC,IAAmB,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAI,MAAM,CAAC,IAAmB,CAAC,GAAa,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,GAAI,MAAM,CAAC,IAAmB,CAAC,MAAgB,CAAC;YACxE,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,yBAAyB;QACzB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/E,MAAM,CAAC,KAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,kBAAe,WAAW,CAAC","sourcesContent":["import type * as moment from 'moment';\nimport type { ChartConfigMore, ThemeChartType } from '../types';\nimport type { BarAndLineSeries, BarSeries, EchartsOneValue, LineSeries } from './ChartModel';\nimport type { EChartsOption, LegendComponentOption } from 'echarts/types/dist/echarts';\nimport type {\n CallbackDataParams,\n GridOption,\n LinearGradientObject,\n RegisteredSeriesOption,\n TitleOption,\n XAXisOption,\n YAXisOption,\n} from 'echarts/types/dist/shared';\n\ntype ThemeType = 'light' | 'dark';\n\nconst THEMES: Record = {\n azul: ['#f2385a', '#f5a503', '#4ad9d9', '#f7879c', '#c1d7a8', '#4dffd2', '#fccfd7', '#d5f6f6'],\n 'bee-inspired': ['#001727', '#805500', '#ffff00', '#ffd11a', '#f2d71f', '#f2be19', '#f3a81a', '#fff5cc'],\n blue: ['#1790cf', '#1bb2d8', '#99d2dd', '#88b0bb', '#1c7099', '#038cc4', '#75abd0', '#afd6dd'],\n infographic: [\n '#C1232B',\n '#27727B',\n '#FCCE10',\n '#E87C25',\n '#B5C334',\n '#FE8463',\n '#9BCA63',\n '#FAD860',\n '#F3A43B',\n '#60C0DD',\n '#D7504B',\n '#C6E579',\n '#F4E001',\n '#F0805A',\n '#26C0C0',\n ],\n vintage: [\n '#d87c7c',\n '#919e8b',\n '#d7ab82',\n '#6e7074',\n '#61a0a8',\n '#efa18d',\n '#787464',\n '#cc7e63',\n '#724e58',\n '#4b565b',\n ],\n dark: [\n '#dd6b66',\n '#759aa0',\n '#e69d87',\n '#8dc1a9',\n '#ea7e53',\n '#eedd78',\n '#73a373',\n '#73b9bc',\n '#7289ab',\n '#91ca8c',\n '#f49f42',\n ],\n macarons: [\n '#2ec7c9',\n '#b6a2de',\n '#5ab1ef',\n '#ffb980',\n '#d87a80',\n '#8d98b3',\n '#e5cf0d',\n '#97b552',\n '#95706d',\n '#dc69aa',\n '#07a2a4',\n '#9a7fd1',\n '#588dd5',\n '#f5994e',\n '#c05050',\n '#59678c',\n '#c9ab00',\n '#7eb00a',\n '#6f5553',\n '#c14089',\n ],\n shine: ['#c12e34', '#e6b600', '#0098d9', '#2b821d', '#005eaa', '#339ca8', '#cda819', '#32a487'],\n roma: [\n '#E01F54',\n '#001852',\n '#f5e8c8',\n '#b8d2c7',\n '#c6b38e',\n '#a4d8c2',\n '#f3d999',\n '#d3758f',\n '#dcc392',\n '#2e4783',\n '#82b6e9',\n '#ff6347',\n '#a092f1',\n '#0a915d',\n '#eaf889',\n '#6699FF',\n '#ff6666',\n '#3cb371',\n '#d5b158',\n '#38b6b6',\n ],\n royal: ['#3f7ea6', '#993366', '#408000', '#8c6f56', '#a65149', '#731f17', '#adc2eb', '#d9c3b0'],\n 'dark-blue': ['#00305a', '#004b8d', '#0074d9', '#4192d9', '#7abaf2', '#99cce6', '#d6ebf5', '#eeeeee'],\n 'tech-blue': [\n '#4d4d4d',\n '#3a5897',\n '#007bb6',\n '#7094db',\n '#0080ff',\n '#b3b3ff',\n '#00bdec',\n '#33ccff',\n '#ccddff',\n '#eeeeee',\n ],\n red: ['#d8361b', '#f16b4c', '#f7b4a9', '#d26666', '#99311c', '#c42703', '#d07e75'],\n 'red-velvet': ['#8b1a2d', '#a7314b', '#e6004c', '#ff8066', '#8e5c4e', '#ff1a66', '#d6c582', '#f0d4af'],\n green: ['#408829', '#68a54a', '#a9cba2', '#86b379', '#397b29', '#8abb6f', '#759c6a', '#bfd3b7'],\n light: [\n '#37A2DA',\n '#32C5E9',\n '#67E0E3',\n '#9FE6B8',\n '#FFDB5C',\n '#ff9f7f',\n '#fb7293',\n '#E062AE',\n '#E690D1',\n '#e7bcf3',\n '#9d96f5',\n '#8378EA',\n '#96BFFF',\n ],\n gray: ['#757575', '#c7c7c7', '#dadada', '#8b8b8b', '#b5b5b5', '#e9e9e9'],\n 'dark-bold': ['#458c6b', '#f2da87', '#d9a86c', '#d94436', '#a62424', '#76bc9b', '#cce6da', '#eeeeee'],\n};\n\ntype MomentType = typeof moment;\n\nfunction padding2(num: number): string {\n if (!num) {\n return '00';\n }\n // on safari 9.0 it is unknown\n // return num.toString().padStart(2, '0');\n const numStr = (num || '').toString();\n if (numStr.length < 2) {\n return `0${numStr}`;\n }\n\n return numStr;\n}\n\nfunction rgba2hex(color: string): string {\n const rgb = color.replace(/\\s/g, '').match(/^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i);\n return rgb\n ? `#${parseInt(rgb[1], 10).toString(16).padStart(2, '0')}${parseInt(rgb[2], 10).toString(16).padStart(2, '0')}${parseInt(rgb[3], 10).toString(16).padStart(2, '0')}`\n : color;\n}\n\nfunction brighterColor(color: string, amt: number): string {\n let usePound = false;\n\n if (color.includes('rgb')) {\n color = rgba2hex(color);\n }\n\n if (color[0] === '#') {\n color = color.slice(1);\n usePound = true;\n }\n\n const num = parseInt(color, 16);\n\n let r = (num >> 16) + amt;\n if (r > 255) {\n r = 255;\n } else if (r < 0) {\n r = 0;\n }\n\n let b = ((num >> 8) & 0x00ff) + amt;\n if (b > 255) {\n b = 255;\n } else if (b < 0) {\n b = 0;\n }\n\n let g = (num & 0x0000ff) + amt;\n if (g > 255) {\n g = 255;\n } else if (g < 0) {\n g = 0;\n }\n\n return (usePound ? '#' : '') + (g | (b << 8) | (r << 16)).toString(16);\n}\n\nfunction getGradient(color: string): LinearGradientObject {\n return {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: brighterColor(color, 30),\n },\n {\n offset: 1,\n color,\n },\n ],\n };\n}\n\ntype ChartInfo = {\n xMin?: number;\n xMax?: number;\n yAxis: YAXisOption[];\n withSeconds?: boolean;\n withTime?: boolean;\n diff?: number;\n\n lastX?: number;\n lastY?: number;\n yMoved?: boolean;\n xMoved?: boolean;\n _yAxis?: YAXisOption[];\n\n padTop?: number;\n padBottom?: number;\n padLeft?: number;\n padRight?: number;\n\n lastWidth?: number;\n};\n\nclass ChartOption {\n private readonly moment: MomentType;\n calcTextWidth: (text: string, fontSize: number) => number;\n private config: ChartConfigMore;\n private readonly themeType: ThemeType;\n private readonly chart: ChartInfo;\n private readonly isTouch: boolean =\n typeof window !== 'undefined' ? 'ontouchstart' in window.document.documentElement : false;\n private readonly compact: boolean;\n private lastFormattedTime: string | number | Date | null;\n private option: EChartsOption | null;\n private debug = false;\n\n constructor(\n moment: MomentType,\n themeType: ThemeType,\n calcTextWidth: (text: string, fontSize: number) => number,\n config?: ChartConfigMore,\n compact?: boolean,\n ) {\n this.moment = moment;\n if (!this.moment) {\n throw new Error('moment must be set and initialized');\n }\n\n this.config = config ? JSON.parse(JSON.stringify(config)) : null;\n this.calcTextWidth = calcTextWidth;\n this.themeType = themeType || 'light';\n this.chart = { yAxis: [] };\n this.compact = compact;\n this.lastFormattedTime = null;\n }\n\n /*\n setThemeName(themeType) {\n this.themeType = themeType || 'light';\n }\n\n setConfig(config) {\n this.config = config;\n }\n */\n\n getHelperChartData(): ChartInfo {\n return this.chart;\n }\n\n convertData(data: LineSeries[], chartIndex: number, yAxisIndex: number): LineSeries {\n const values = data[chartIndex];\n if (!values?.length) {\n return [];\n }\n\n const yAxis: YAXisOption = this.chart.yAxis[yAxisIndex] || ({ max: null, min: null } as YAXisOption);\n this.chart.yAxis[yAxisIndex] = yAxis;\n\n for (let ii = 0; ii < values.length; ii++) {\n if (values[ii].value[1] === null) {\n continue;\n }\n\n if (yAxis.min === null || (yAxis.min as number) > values[ii].value[1]) {\n yAxis.min = values[ii].value[1];\n }\n if (yAxis.max === null || (yAxis.max as number) < values[ii].value[1]) {\n yAxis.max = values[ii].value[1];\n }\n }\n\n if (this.chart.xMin === null || this.chart.xMin > values[0].value[0]) {\n this.chart.xMin = values[0].value[0];\n }\n if (this.chart.xMax === null || this.chart.xMax < values[values.length - 1].value[0]) {\n this.chart.xMax = values[values.length - 1].value[0];\n }\n\n return values;\n }\n\n static getCommonAxis(commonYAxis: number, chartIndex: number): number {\n return (commonYAxis as unknown as string) === '' || commonYAxis === undefined\n ? chartIndex\n : parseInt(commonYAxis as unknown as string, 10) || 0;\n }\n\n getSeries(\n data: BarAndLineSeries[],\n theme: ThemeChartType,\n ): (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[] {\n this.chart.xMin = null;\n this.chart.xMax = null;\n let colorCount = 0;\n\n const anyNotOwnAxis = this.config.l.find(\n (oneLine, i) => ChartOption.getCommonAxis(oneLine.commonYAxis, i) !== i,\n );\n\n return this.config.l.map((oneLine, i) => {\n const color = oneLine.color || (THEMES[theme] ? THEMES[theme][colorCount % THEMES[theme].length] : '');\n if (!oneLine.color) {\n colorCount++;\n }\n\n oneLine.shadowsize = parseFloat(oneLine.shadowsize as unknown as string) || 0;\n if ((oneLine.dashes as unknown as string) === 'false') {\n oneLine.dashes = false;\n } else if ((oneLine.dashes as unknown as string) === 'true') {\n oneLine.dashes = true;\n }\n\n const yAxisIndex = ChartOption.getCommonAxis(oneLine.commonYAxis, i);\n if (oneLine.chartType === 'bar') {\n const cfg: RegisteredSeriesOption['bar'] = {\n name: oneLine.name,\n clip: true,\n label: {\n show: !!this.config.barLabels,\n position:\n this.config.barLabels === 'topover'\n ? 'top'\n : this.config.barLabels === 'topunder'\n ? 'insideTop'\n : this.config.barLabels === 'bottom'\n ? 'insideBottom'\n : 'inside',\n formatter: (value: CallbackDataParams): string => this.yFormatter(value, i, true),\n color: this.config.barFontColor || (this.themeType === 'dark' ? '#fff' : '#000'),\n fontSize: parseInt(this.config.barFontSize as unknown as string, 10) || undefined,\n },\n barWidth: parseInt(this.config.barWidth as unknown as string, 10) || undefined,\n // xAxisIndex: 0,\n stack: anyNotOwnAxis ? 'total' : undefined,\n silent: true,\n // yAxisIndex,\n type: 'bar',\n // showSymbol: oneLine.chartType === 'scatterplot' || oneLine.points,\n // hoverAnimation: false,\n animation: false,\n // step: oneLine.chartType === 'steps' ? 'end' : (oneLine.chartType === 'stepsStart' ? 'start' : undefined) ,\n // smooth: oneLine.chartType === 'spline',\n data: data[i] as BarSeries,\n color,\n };\n return cfg;\n } else if (oneLine.chartType === 'polar') {\n const cfg: RegisteredSeriesOption['radar'] = {\n // name: oneLine.name,\n clip: true,\n ttt: 84,\n label: {\n show: !!this.config.barLabels,\n position:\n this.config.barLabels === 'topover'\n ? 'top'\n : this.config.barLabels === 'topunder'\n ? 'insideTop'\n : this.config.barLabels === 'bottom'\n ? 'insideBottom'\n : 'inside',\n formatter: (value: CallbackDataParams): string => this.yFormatter(value, i, true),\n color: this.config.barFontColor || (this.themeType === 'dark' ? '#fff' : '#000'),\n fontSize: parseInt(this.config.barFontSize as unknown as string, 10) || undefined,\n },\n stack: anyNotOwnAxis ? 'total' : undefined,\n silent: true,\n type: 'radar',\n animation: false,\n // @ts-expect-error fix later!\n data: data[i] as BarSeries,\n color,\n };\n return cfg;\n }\n let cfg: RegisteredSeriesOption['scatter'] | RegisteredSeriesOption['line'];\n if (oneLine.chartType === 'scatterplot') {\n const _cfg: RegisteredSeriesOption['scatter'] = {\n name: oneLine.name,\n clip: true,\n xAxisIndex: 0,\n\n silent: true,\n yAxisIndex,\n type: 'scatter',\n // hoverAnimation: false,\n animation: false,\n data: this.convertData(data as LineSeries[], i, yAxisIndex),\n itemStyle: { color },\n symbolSize: oneLine.points ? oneLine.symbolSize || 3 : undefined,\n symbol: oneLine.points ? 'circle' : 'none',\n emphasis: {\n scale: false,\n focus: 'none',\n disabled: true, // what is that?\n },\n };\n cfg = _cfg;\n } else {\n const _cfg: RegisteredSeriesOption['line'] = {\n name: oneLine.name,\n clip: true,\n xAxisIndex: 0,\n\n silent: true,\n yAxisIndex,\n type: 'line',\n // hoverAnimation: false,\n animation: false,\n step:\n oneLine.chartType === 'steps'\n ? 'end'\n : oneLine.chartType === 'stepsStart'\n ? 'start'\n : undefined,\n smooth: oneLine.chartType === 'spline',\n data: this.convertData(data as LineSeries[], i, yAxisIndex),\n itemStyle: { color },\n symbolSize: oneLine.points ? oneLine.symbolSize || 3 : undefined,\n symbol: oneLine.points ? 'circle' : 'none',\n emphasis: {\n scale: false,\n focus: 'none',\n disabled: true, // what is that?\n lineStyle: {\n width:\n oneLine.thickness !== undefined\n ? parseFloat(oneLine.thickness as unknown as string)\n : 1,\n shadowBlur: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowOffsetY: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowColor: color,\n type: oneLine.dashes ? 'dashed' : oneLine.lineStyle || 'solid',\n },\n },\n lineStyle: {\n width: oneLine.thickness !== undefined ? parseFloat(oneLine.thickness as unknown as string) : 1,\n shadowBlur: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowOffsetY: oneLine.shadowsize ? oneLine.shadowsize + 1 : 0,\n shadowColor: color,\n type: oneLine.dashes ? 'dashed' : oneLine.lineStyle || 'solid',\n },\n };\n if (parseFloat(oneLine.fill as unknown as string)) {\n let _color: string | LinearGradientObject;\n if (!this.isTouch) {\n _color = getGradient(color);\n } else {\n _color = color;\n }\n _cfg.areaStyle = {\n color: _color,\n opacity: parseFloat(oneLine.fill as unknown as string) || 0,\n };\n }\n cfg = _cfg;\n }\n return cfg;\n });\n }\n\n getXAxis(categories: number[]): XAXisOption[] {\n if (this.config.l.find(l => l.chartType === 'bar')) {\n const xAxis: XAXisOption = {\n type: 'category',\n data: categories.map(i => `b${i}`),\n splitLine: {\n show: !this.config.grid_hideX,\n lineStyle:\n this.config.l[0].xaxe === 'off'\n ? { color: 'rgba(0,0,0,0)', type: 'dashed' }\n : this.config.grid_color\n ? {\n color: this.config.grid_color,\n type: 'dashed',\n }\n : { type: 'dashed' },\n },\n position: this.config.l[0].xaxe === 'top' ? 'top' : 'bottom',\n axisLabel: {\n show: !this.compact,\n formatter: (value: string, _index: number) =>\n this.xFormatter(value, _index, this.config.l[0].xaxe === 'top'),\n fontSize: parseInt(this.config.x_labels_size as unknown as string, 10) || 12,\n color: this.config.l[0].xaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.x_labels_color || undefined,\n rich: {\n a: {\n fontWeight: 'bold',\n },\n b: {\n opacity: 0,\n },\n },\n },\n };\n\n return [xAxis];\n }\n\n const xAxis: XAXisOption = {\n type: 'time',\n splitLine: {\n show: !this.config.grid_hideX,\n lineStyle:\n this.config.l[0].xaxe === 'off'\n ? { color: 'rgba(0,0,0,0)', type: 'dashed' }\n : this.config.grid_color\n ? {\n color: this.config.grid_color,\n type: 'dashed',\n }\n : { type: 'dashed' },\n },\n splitNumber: parseInt(this.config.l[0].xticks as unknown as string, 10) || undefined,\n position: this.config.l[0].xaxe === 'top' ? 'top' : 'bottom',\n min: this.chart.xMin,\n max: this.chart.xMax,\n axisTick: {\n lineStyle:\n this.config.l[0].xaxe === 'off'\n ? { color: 'rgba(0,0,0,0)' }\n : this.config.x_ticks_color\n ? { color: this.config.x_ticks_color }\n : undefined,\n },\n axisLabel: {\n show: !this.compact,\n formatter: (value, _index) => this.xFormatter(value, _index, this.config.l[0].xaxe === 'top'),\n fontSize: parseInt(this.config.x_labels_size as unknown as string, 10) || 12,\n color: this.config.l[0].xaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.x_labels_color || undefined,\n rich: {\n a: {\n fontWeight: 'bold',\n },\n b: {\n opacity: 0,\n },\n },\n },\n };\n\n return [xAxis];\n }\n\n getYAxis(\n series: (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[],\n ): YAXisOption[] {\n return this.config.l.map((oneLine, chartIndex) => {\n if (!oneLine || ((oneLine.commonYAxis as unknown as string) !== '' && oneLine.commonYAxis !== undefined)) {\n return {};\n }\n\n let yMin = parseFloat(oneLine.min as unknown as string);\n let yMax = parseFloat(oneLine.max as unknown as string);\n\n const yAxis = this.chart.yAxis;\n if (yAxis[chartIndex]) {\n const diff = (yAxis[chartIndex].max as number) - (yAxis[chartIndex].min as number);\n if (Number.isNaN(yMin)) {\n // auto calculate\n yMin = (yAxis[chartIndex].min as number) - diff * 0.1; // min - 10%\n if (diff > 25000) {\n yMin = Math.floor(yMin / 10000) * 10000;\n } else if (diff > 5000) {\n yMin = Math.floor(yMin / 1000) * 1000;\n } else if (diff > 200) {\n yMin = Math.floor(yMin / 100) * 100;\n } else if (diff > 30) {\n yMin = Math.floor(yMin / 10) * 10;\n } else if (diff > 10) {\n yMin = Math.floor(yMin);\n } else if (diff > 1) {\n yMin = Math.floor(yMin * 10) / 10;\n }\n }\n if (Number.isNaN(yMax)) {\n // auto calculate\n yMax = (yAxis[chartIndex].max as number) + diff * 0.1; // max + 10%\n if (diff > 25000) {\n yMax = Math.ceil(yMax / 10000) * 10000;\n } else if (diff > 5000) {\n yMax = Math.ceil(yMax / 1000) * 1000;\n } else if (diff > 200) {\n yMax = Math.ceil(yMax / 100) * 100;\n } else if (diff > 30) {\n yMax = Math.ceil(yMax / 10) * 10;\n } else if (diff > 10) {\n yMax = Math.ceil(yMax);\n } else if (diff > 1) {\n yMax = Math.floor(yMax * 10) / 10;\n }\n }\n } else {\n if (Number.isNaN(yMin)) {\n yMin = undefined;\n }\n if (Number.isNaN(yMax)) {\n yMax = undefined;\n }\n }\n\n let color: string | undefined =\n oneLine.yaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.grid_color || undefined;\n if (oneLine.yaxe === 'leftColor' || oneLine.yaxe === 'rightColor') {\n color = series[chartIndex]?.itemStyle?.color as string;\n }\n\n return {\n type: 'value',\n min: yMin,\n max: yMax,\n position:\n oneLine.yaxe === 'left' || oneLine.yaxe === 'off' || oneLine.yaxe === 'leftColor'\n ? 'left'\n : oneLine.yaxe === 'right' || oneLine.yaxe === 'rightColor'\n ? 'right'\n : !chartIndex\n ? 'left'\n : 'right', // by default, only the first line is on the left\n splitLine: !chartIndex\n ? {\n // grid has only first line\n show: !this.config.grid_hideY,\n lineStyle: {\n color: color || undefined,\n type: 'dashed',\n },\n }\n : undefined,\n splitNumber: parseInt(oneLine.yticks as unknown as string, 10) || undefined,\n axisLabel: {\n show: !this.compact,\n formatter: value => this.yFormatter(value, chartIndex, true),\n color:\n oneLine.yaxe === 'off' || oneLine.yaxe === 'leftColor' || oneLine.yaxe === 'rightColor'\n ? color\n : this.config.y_labels_color || undefined,\n fontSize: parseInt(this.config.y_labels_size as unknown as string, 10) || 12,\n },\n axisTick: {\n alignWithLabel: true,\n lineStyle: color\n ? { color }\n : this.config.y_ticks_color\n ? { color: this.config.y_ticks_color }\n : undefined,\n },\n };\n });\n }\n\n getMarkings(options: EChartsOption): EChartsOption {\n // fill markings\n this.config.marks?.forEach(oneMark => {\n if (!oneMark) {\n return;\n }\n const lowerLimitFloat =\n oneMark.lowerValue !== undefined ? oneMark.lowerValue : parseFloat(oneMark.lowerValueOrId as string);\n const upperLimitFloat =\n oneMark.upperValue !== undefined ? oneMark.upperValue : parseFloat(oneMark.upperValueOrId as string);\n const isLowerNumber = lowerLimitFloat !== null && !Number.isNaN(lowerLimitFloat);\n const isUpperNumber = upperLimitFloat !== null && !Number.isNaN(upperLimitFloat);\n\n const series = (\n options.series as (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[]\n )[oneMark.lineId];\n\n if (!series) {\n console.error('Mark line has no chart line');\n return;\n }\n\n if (isLowerNumber && isUpperNumber) {\n // area\n series.markArea = series.markArea || {\n data: [],\n };\n series.markArea.data.push([\n {\n yAxis: lowerLimitFloat,\n // name: oneMark.text || '',\n itemStyle: {\n color: oneMark.color || (series.itemStyle.color as string),\n borderWidth: 0,\n opacity: parseFloat(oneMark.fill as unknown as string) || 0,\n },\n },\n {\n yAxis: upperLimitFloat,\n },\n ]);\n }\n if (isLowerNumber || isUpperNumber) {\n for (let i = 0; i < 2; i++) {\n if (!i && !isUpperNumber) {\n continue;\n } else if (i && !isLowerNumber) {\n continue;\n }\n const limitFloat = i ? lowerLimitFloat : upperLimitFloat;\n series.markLine = series.markLine || {\n symbol: ['none', 'none'],\n data: [],\n };\n\n series.markLine.data.push({\n yAxis: limitFloat,\n name: oneMark.text,\n lineStyle: {\n color: oneMark.color || (series.itemStyle.color as string),\n width: parseFloat(oneMark.ol as unknown as string) || 1,\n shadowBlur: parseFloat(oneMark.os as unknown as string)\n ? parseFloat(oneMark.os as unknown as string) + 1\n : 0,\n shadowOffsetY: parseFloat(oneMark.os as unknown as string)\n ? parseFloat(oneMark.os as unknown as string) + 1\n : 0,\n shadowColor: oneMark.color,\n type: oneMark.lineStyle || 'solid',\n },\n label: {\n show: !!oneMark.text,\n formatter: param => param.name,\n position:\n oneMark.textPosition === 'r'\n ? 'end'\n : oneMark.textPosition === 'l'\n ? 'start'\n : oneMark.textPosition || 'start',\n distance: [\n oneMark.textPosition === 'r' || oneMark.textPosition === 'l'\n ? -1 * oneMark.textOffset || -35\n : parseFloat(oneMark.textOffset as unknown as string) || 0,\n 0,\n ],\n fontStyle: 'normal',\n color: oneMark.textColor || '#FFF',\n fontSize: oneMark.textSize || undefined,\n },\n });\n\n if (this.config.l[oneMark.lineId]) {\n // if the minimum isn't set\n const yMin = parseFloat(this.config.l[oneMark.lineId].min as unknown as string);\n if (Number.isNaN(yMin) && this.chart.yAxis[oneMark.lineId]) {\n if ((this.chart.yAxis[oneMark.lineId].min as number) > limitFloat && limitFloat < 0) {\n (options.yAxis as YAXisOption[])[0].min = limitFloat;\n }\n }\n const yMax = parseFloat(this.config.l[oneMark.lineId].min as unknown as string);\n if (Number.isNaN(yMax) && this.chart.yAxis[oneMark.lineId]) {\n if ((this.chart.yAxis[oneMark.lineId].max as number) < limitFloat) {\n (options.yAxis as YAXisOption[])[0].max = limitFloat;\n }\n }\n }\n }\n }\n });\n\n return options;\n }\n\n yFormatter(\n val: CallbackDataParams | ioBroker.StateValue,\n line: number,\n withUnit?: boolean,\n interpolated?: boolean,\n forAxis?: boolean,\n ): string {\n let simpleValue: string | number | null | undefined | boolean;\n if (val && typeof val === 'object') {\n if (val.seriesType !== 'bar' && val.seriesType !== 'polar') {\n withUnit = false;\n }\n if (val.seriesType === 'polar') {\n line = val.dimensionIndex;\n }\n simpleValue = val.value as string | number;\n } else {\n simpleValue = val as string | number | null | undefined | boolean;\n }\n\n // If mapping exist for state values\n if (this.config.l[line].states) {\n let strNumValue: number | string;\n if (simpleValue === true) {\n strNumValue = 1;\n } else if (simpleValue === false) {\n strNumValue = 0;\n } else {\n strNumValue = simpleValue;\n }\n\n const state = (this.config.l[line].states as Record)[strNumValue];\n if (state !== null && state !== undefined) {\n return state.toString();\n }\n if (forAxis) {\n // find the nearest state\n const values = Object.keys(this.config.l[line].states).sort();\n for (let i = 0; i < values.length; i++) {\n if (strNumValue < values[i]) {\n return (this.config.l[line].states as Record)[values[i]].toString();\n }\n }\n return (this.config.l[line].states as Record)[values[values.length - 1]].toString();\n }\n return ''; // do not show 1.1 or 0.8 for enum\n }\n\n if (this.config.l[line].type === 'boolean') {\n if (simpleValue === 0 || simpleValue === '0' || simpleValue === 'false' || simpleValue === false) {\n return this.config.l[line].falseText || 'FALSE';\n }\n if (simpleValue === 1 || simpleValue === '1' || simpleValue === 'true' || simpleValue === true) {\n return this.config.l[line].trueText || 'TRUE';\n }\n if (forAxis) {\n // find the nearest state\n return (simpleValue as number) >= 0.5\n ? this.config.l[line].trueText || 'TRUE'\n : this.config.l[line].falseText || 'FALSE';\n }\n return ''; // do not show 1.1 or 0.8 for boolean\n }\n\n if (simpleValue === null || simpleValue === undefined) {\n return '';\n }\n\n const afterComma = this.config.l[line].afterComma;\n if (afterComma !== undefined && afterComma !== null) {\n simpleValue = parseFloat(simpleValue as string);\n if (this.config.useComma) {\n return simpleValue.toFixed(afterComma).replace('.', ',') + (withUnit ? this.config.l[line].unit : '');\n }\n return simpleValue.toFixed(afterComma) + (withUnit ? this.config.l[line].unit : '');\n }\n if (interpolated) {\n simpleValue = Math.round((simpleValue as number) * 10000) / 10000;\n }\n\n if (this.config.useComma) {\n simpleValue = parseFloat(simpleValue as string) || 0;\n simpleValue = simpleValue.toString().replace('.', ',') + (withUnit ? this.config.l[line].unit : '');\n return simpleValue;\n }\n return simpleValue.toString() + (withUnit ? this.config.l[line].unit : '');\n }\n\n isXLabelHasBreak(): boolean {\n if (this.config.timeFormat) {\n return this.config.timeFormat.replace('
', '\\n').includes('\\n');\n }\n if (this.chart.withSeconds) {\n return true;\n }\n if (this.chart.withTime) {\n return true;\n }\n return true;\n }\n\n xFormatter(value: string | number | Date, _index: number, isTop?: boolean): string {\n if (typeof value === 'string' && value.startsWith('b')) {\n const _date = new Date(parseInt(value.substring(1), 10));\n if (this.config.xLabelShift) {\n if (this.config.xLabelShiftMonth) {\n _date.setMonth(_date.getMonth() + (this.config.xLabelShift as number));\n } else if (this.config.xLabelShiftYear) {\n _date.setFullYear(_date.getFullYear() + (this.config.xLabelShift as number));\n } else {\n _date.setSeconds(_date.getSeconds() + (this.config.xLabelShift as number));\n }\n }\n\n if (this.config.aggregateBar === 60) {\n return `.${_date.getDate()} ${_date.getHours().toString().padStart(2, '0')}:00`;\n }\n if (this.config.aggregateBar === 15) {\n return `${_date.getHours().toString().padStart(2, '0')}:${_date.getMinutes().toString().padStart(2, '0')}`;\n }\n if (this.config.aggregateBar === 1440) {\n return `${_date.getDate()}.${_date.getMonth() + 1}`;\n }\n if (this.config.aggregateBar === 43200) {\n const middle = new Date(_date);\n middle.setDate(middle.getDate() + 15);\n return `${middle.getMonth() + 1}.${middle.getFullYear()}`;\n }\n }\n const date = new Date(value);\n\n if (this.config.xLabelShift) {\n if (this.config.xLabelShiftMonth) {\n date.setMonth(date.getMonth() + (this.config.xLabelShift as number));\n } else if (this.config.xLabelShiftYear) {\n date.setFullYear(date.getFullYear() + (this.config.xLabelShift as number));\n } else {\n date.setSeconds(date.getSeconds() + (this.config.xLabelShift as number));\n }\n }\n\n if (this.config.timeFormat) {\n return this.moment(date).format(this.config.timeFormat).replace('
', '\\n');\n }\n let dateTxt = '';\n const dateInMonth = date.getDate();\n if (this.chart.withSeconds || this.chart.withTime) {\n let showDate = false;\n if (_index < 2 || this.lastFormattedTime === null || value < this.lastFormattedTime) {\n showDate = true;\n } else if (!showDate && new Date(this.lastFormattedTime).getDate() !== dateInMonth) {\n showDate = true;\n }\n if (showDate) {\n if (isTop) {\n dateTxt = `{a|${dateInMonth.toString().padStart(2, '0')}.${(date.getMonth() + 1).toString().padStart(2, '0')}.}\\n`;\n } else {\n dateTxt = `{b|..}\\n{a|${dateInMonth.toString().padStart(2, '0')}.${(date.getMonth() + 1).toString().padStart(2, '0')}.}`;\n }\n }\n\n this.lastFormattedTime = value;\n\n if (isTop) {\n if (this.chart.withSeconds) {\n return `${dateTxt + padding2(date.getHours())}:${padding2(date.getMinutes())}:${padding2(date.getSeconds())}${dateTxt ? '{b|..}' : ''}`;\n }\n if (this.chart.withTime) {\n return `${dateTxt + padding2(date.getHours())}:${padding2(date.getMinutes())}${dateTxt ? '{b|..}' : ''}`;\n }\n }\n\n if (this.chart.withSeconds) {\n return `${padding2(date.getHours())}:${padding2(date.getMinutes())}:${padding2(date.getSeconds())}${dateTxt}`;\n }\n if (this.chart.withTime) {\n return `${padding2(date.getHours())}:${padding2(date.getMinutes())}${dateTxt}`;\n }\n }\n\n return `${padding2(dateInMonth)}.${padding2(date.getMonth() + 1)}\\n${date.getFullYear()}`;\n }\n\n // result.val === null => start and end are null\n // result === null => no start or no end\n getInterpolatedValue(\n seriesIndex: number,\n ts: number,\n type: 'number' | 'boolean' | 'string',\n hoverNoNulls?: boolean,\n ): { exact?: boolean; val: number } {\n // it cannot be bar or polar\n const series: (RegisteredSeriesOption['line'] | RegisteredSeriesOption['scatter'])[] | undefined = this.option\n ?.series as (RegisteredSeriesOption['line'] | RegisteredSeriesOption['scatter'])[];\n\n const data: EchartsOneValue[] = series[seriesIndex].data as EchartsOneValue[];\n if (!data?.[0] || data[0].value[0] > ts || data[data.length - 1].value[0] < ts) {\n return null;\n }\n\n for (let k = 0; k < data.length - 1; k++) {\n if (data[k].value[0] === ts) {\n // Calculate\n const dp: { exact?: boolean; val: number } = { val: data[k].value[1] };\n if (data[k].exact === false) {\n dp.exact = false;\n }\n return dp;\n }\n if (data[k].value[0] < ts && ts < data[k + 1].value[0]) {\n const y1 = data[k].value[1];\n const y2 = data[k + 1].value[1];\n if (y2 === null || y2 === undefined || y1 === null || y1 === undefined) {\n return hoverNoNulls ? null : { exact: false, val: null };\n }\n if (type === 'boolean') {\n return { exact: false, val: y1 };\n }\n\n // interpolate\n const diff = data[k + 1].value[0] - data[k].value[0];\n const kk = (data[k + 1].value[0] - ts) / diff;\n return { exact: false, val: (1 - kk) * (y2 - y1) + y1 };\n }\n }\n\n return hoverNoNulls ? null : { exact: false, val: null };\n }\n\n renderTooltip(params: CallbackDataParams[]): string {\n const series:\n | (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[]\n | undefined = this.option?.series as (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[];\n\n let ts: number;\n let date: Date;\n // It is line chart and not par or polar\n if (Array.isArray(params[0].value)) {\n ts = params[0].value[0] as number;\n date = new Date(ts);\n if (this.config.xLabelShift) {\n if (this.config.xLabelShiftMonth) {\n date.setMonth(date.getMonth() + (this.config.xLabelShift as number));\n } else if (this.config.xLabelShiftYear) {\n date.setFullYear(date.getFullYear() + (this.config.xLabelShift as number));\n } else {\n date.setSeconds(date.getSeconds() + (this.config.xLabelShift as number));\n }\n }\n }\n\n const hoverNoNulls =\n this.config.hoverNoNulls === true || (this.config.hoverNoNulls as unknown as string) === 'true';\n const anyBarOrPolar = this.config.l.find(l => l.chartType === 'bar' || l.chartType === 'polar');\n\n let barPolarName: string;\n const values: string[] = series.map((line, seriesIndex: number): string => {\n const lineConfig = this.config.l[seriesIndex];\n const p = params.find(param => param.seriesIndex === seriesIndex);\n if (anyBarOrPolar) {\n if (!p) {\n return null;\n }\n let val;\n if (lineConfig.afterComma !== undefined) {\n const ex = 10 ** lineConfig.afterComma;\n val = Math.round((p.value as number) * ex) / ex;\n } else {\n val = p.value;\n }\n barPolarName = p.name;\n\n return (\n `
` +\n `
${lineConfig.name}:
` +\n '
' +\n `
${val as number}${lineConfig.unit || ''}
` +\n '
'\n );\n }\n\n // It is line and not bar or polar\n let interpolated: { exact?: boolean; val: number };\n if (p) {\n // @ts-expect-error fix later\n interpolated = { exact: p.data.exact !== undefined ? p.data.exact : true, val: p.value[1] as number };\n }\n\n interpolated = interpolated || this.getInterpolatedValue(seriesIndex, ts, lineConfig.type, hoverNoNulls);\n if (!interpolated) {\n return '';\n }\n if (!interpolated.exact && this.config.hoverNoInterpolate) {\n return '';\n }\n\n const val =\n interpolated.val === null\n ? 'null'\n : this.yFormatter(interpolated.val, seriesIndex, false, !interpolated.exact, true);\n\n return (\n `
` +\n `
${line.name}:
` +\n '
' +\n `
${interpolated.exact ? '' : 'i '}${val}${interpolated.val !== null ? lineConfig.unit : ''}
` +\n '
'\n );\n });\n\n if (anyBarOrPolar) {\n const format = this.config.timeFormat || 'dd, MM Do YYYY, HH:mm';\n const _date = new Date(parseInt(barPolarName.substring(1), 10));\n return `${this.moment(_date).format(format)}
${values.filter(t => t).join('
')}`;\n }\n const format = this.config.timeFormat || 'dd, MM Do YYYY, HH:mm:ss.SSS';\n return `${this.moment(date).format(format)}
${values.filter(t => t).join('
')}`;\n }\n\n getLegend(actualValues: number[]): LegendComponentOption {\n if (!this.config.legend || this.config.legend === 'dialog') {\n return undefined;\n }\n const legend: LegendComponentOption = {\n data: this.config.l.map(oneLine => oneLine.name),\n show: true,\n left: this.config.legend === 'nw' || this.config.legend === 'sw' ? this.chart.padLeft + 1 : undefined,\n right: this.config.legend === 'ne' || this.config.legend === 'se' ? this.chart.padRight + 1 : undefined,\n top: this.config.legend === 'nw' || this.config.legend === 'ne' ? this.chart.padTop + 2 : undefined,\n bottom: this.config.legend === 'sw' || this.config.legend === 'se' ? this.chart.padBottom + 2 : undefined,\n backgroundColor: this.config.legBg || undefined,\n height: this.config.legendHeight || undefined,\n formatter: (name /* , arg */) => {\n if (this.config.legActual && actualValues) {\n for (let i = 0; i < this.config.l.length; i++) {\n if (this.config.l[i].name === name) {\n return `${name} [${this.yFormatter(actualValues[i], i, true, true, true)}]`;\n }\n }\n }\n return name;\n },\n textStyle: {\n color: this.config.legColor || (this.themeType === 'light' ? '#000' : '#FFF'),\n fontSize: this.config.legFontSize,\n },\n orient: this.config.legendDirection || 'horizontal',\n selected: {},\n };\n\n // if (legend.height) {\n // legend.height = legend.height + 'px';\n // }\n\n this.config.l.forEach(oneLine => (legend.selected[oneLine.name] = oneLine.hide !== true));\n\n return legend;\n }\n\n getTitle(): TitleOption {\n if (!this.config || !this.config.title) {\n return undefined;\n }\n const titlePos: { top?: number; left?: number; bottom?: number; right?: number } = {};\n (this.config.titlePos || 'top:35;left:65').split(';').forEach(a => {\n const parts = a.split(':');\n (titlePos as Record)[parts[0].trim()] = parseInt(parts[1].trim(), 10);\n });\n\n return {\n text: this.config.title,\n textStyle: {\n fontSize: this.config.titleSize ? parseInt(this.config.titleSize as unknown as string, 10) : 20,\n color: this.config.titleColor || (this.themeType === 'light' ? '#000' : '#FFF'),\n },\n textVerticalAlign: titlePos.bottom ? 'bottom' : 'top',\n textAlign: titlePos.left === 50 ? 'center' : titlePos.right === -5 ? 'right' : 'left',\n top: titlePos.top === 35 ? 5 + this.chart.padTop : titlePos.top === 50 ? '50%' : undefined,\n left: titlePos.left === 50 ? '50%' : titlePos.left === 65 ? this.chart.padLeft : undefined,\n bottom: titlePos.bottom\n ? titlePos.bottom > 0\n ? titlePos.bottom + this.chart.padBottom - 15\n : titlePos.bottom\n : undefined,\n right: titlePos.right === 5 ? this.chart.padRight : undefined,\n };\n }\n\n getOption(\n data: BarAndLineSeries[],\n config: ChartConfigMore,\n actualValues: number[],\n categories: number[],\n ): EChartsOption {\n if (config) {\n this.config = JSON.parse(JSON.stringify(config));\n }\n const useCanvas = this.isTouch && this.config.zoom;\n\n let theme = this.config.theme;\n if (!theme || theme === 'default') {\n theme = this.themeType === 'light' ? 'roma' : 'dark-bold';\n }\n\n this.debug = this.config?.debug;\n\n if (this.debug) {\n console.log(`[ChartView ] [${new Date().toISOString()}] ${JSON.stringify(this.config, null, 2)}`);\n }\n\n const series: (\n | RegisteredSeriesOption['radar']\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[] = this.getSeries(data, theme);\n\n if (this.config.start) {\n const end = parseInt(this.config.end as string, 10);\n if (this.chart.xMax < end) {\n this.chart.xMax = end;\n }\n const start = parseInt(this.config.start as string, 10);\n if (this.chart.xMin > start) {\n this.chart.xMin = start;\n }\n }\n\n this.chart.diff = this.chart.xMax - this.chart.xMin;\n this.chart.withTime = this.chart.diff < 3600000 * 24 * 7;\n this.chart.withSeconds = this.chart.diff < 60000 * 30;\n this.config.y_labels_size = parseInt(this.config.y_labels_size as unknown as string, 10) || 12;\n this.config.x_labels_size = parseInt(this.config.x_labels_size as unknown as string, 10) || 12;\n this.config.legFontSize = parseInt(this.config.legFontSize as unknown as string, 10) || 12;\n\n const yAxis = this.getYAxis(series);\n const xAxis = this.getXAxis(categories);\n\n const option: EChartsOption = {\n theme,\n backgroundColor: 'transparent',\n animation: !this.config.noAnimation && !this.config.noLoader,\n grid: {\n backgroundColor: this.config.bg_custom || 'transparent',\n show: !!this.config.bg_custom,\n left: 10,\n top: 8,\n right: this.config.export === true || (this.config.export as unknown as string) === 'true' ? 30 : 0,\n bottom: this.compact ? 4 : this.isXLabelHasBreak() ? 40 : 24,\n containLabel: this.config.autoGridPadding,\n },\n tooltip:\n !this.compact && this.config.hoverDetail\n ? {\n trigger: 'axis',\n formatter: (params: CallbackDataParams[]) => this.renderTooltip(params),\n }\n : undefined,\n axisPointer:\n this.compact && this.config.hoverDetail\n ? {\n animation: true,\n }\n : undefined,\n xAxis,\n yAxis,\n // @ts-expect-error it is because of markArea.tooltip.position\n series,\n useCanvas,\n };\n\n this.config.l.forEach((item, chartIndex) => {\n if (item.aggregate === 'current') {\n // It could be only bar or polar\n (option.series as (RegisteredSeriesOption['radar'] | RegisteredSeriesOption['bar'])[])[\n chartIndex\n ].data = [actualValues[chartIndex]];\n }\n });\n\n // modify series for polar\n if (this.config.l.find(item => item.chartType === 'polar')) {\n option.animation = false;\n option.radar = {\n shape: this.config.radarCircle === 'circle' ? 'circle' : undefined,\n indicator: [],\n };\n const radarSeries: RegisteredSeriesOption['radar'][] = [\n {\n type: 'radar',\n data: [{ value: [] }],\n lineStyle: {\n // @ts-expect-error fix later\n color: option.series[0].color as string,\n },\n // @ts-expect-error fix later\n label: option.series[0].label as string,\n },\n ];\n\n // @ts-expect-error fix later\n option.series.forEach((item, chartIndex) => {\n const max = this.config.l[chartIndex].max\n ? parseFloat(this.config.l[chartIndex].max as unknown as string) || undefined\n : undefined;\n // @ts-expect-error fix later\n option.radar.indicator.push({\n name: item.name + (max !== undefined ? ` (max ${this.yFormatter(max, chartIndex, true)})` : ''),\n max,\n });\n // find last not null value;\n let value;\n for (let d = item.data.length - 1; d >= 0; d--) {\n if (item.data[d] !== undefined && item.data[d] !== null) {\n value = item.data[d];\n break;\n }\n }\n\n if (value !== undefined) {\n // @ts-expect-error fix later\n radarSeries[0].data[0].value.push(value);\n } else {\n // @ts-expect-error fix later\n radarSeries[0].data[0].value.push(0);\n }\n });\n (option.series as RegisteredSeriesOption['radar'][]) = radarSeries;\n\n delete option.xAxis;\n delete option.yAxis;\n delete option.grid;\n } else {\n this.getMarkings(option);\n\n if (!this.compact && !this.config.autoGridPadding) {\n const lineSeries: (\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[] = series as (\n | RegisteredSeriesOption['line']\n | RegisteredSeriesOption['scatter']\n | RegisteredSeriesOption['bar']\n )[];\n // calculate padding: left and right\n let padLeft = 0;\n let padRight = 0;\n let padBottom = 0;\n let padTop = 0;\n\n lineSeries.forEach((ser, i) => {\n let _yAxis = (option.yAxis as YAXisOption[])[ser.yAxisIndex];\n if (!_yAxis) {\n // it seems this axis is defined something else\n const cY = this.config.l[ser.yAxisIndex]\n ? this.config.l[ser.yAxisIndex].commonYAxis\n : undefined;\n if (cY !== undefined) {\n _yAxis = (option.yAxis as YAXisOption[])[cY];\n } else if (this.config.l[i].chartType === 'bar') {\n _yAxis = { min: ser.data[0] as number, max: ser.data[0] as number };\n for (let s = 1; s < ser.data.length; s++) {\n if (ser.data[s] === null) {\n continue;\n }\n if (ser.data[s] < _yAxis.min || _yAxis.min === null) {\n _yAxis.min = ser.data[s] as number;\n }\n if (ser.data[s] > _yAxis.max || _yAxis.max === null) {\n _yAxis.max = ser.data[s] as number;\n }\n }\n } else {\n console.log(`Cannot find Y axis for line ${i}`);\n return;\n }\n }\n\n const minTick = this.yFormatter(_yAxis.min as number, i, true, false, true);\n const maxTick = this.yFormatter(\n !_yAxis.min && _yAxis.max === _yAxis.min ? 0.8 : (_yAxis.max as number),\n i,\n true,\n false,\n true,\n );\n\n if (xAxis[0].position === 'top') {\n padTop = this.isXLabelHasBreak() ? 40 : 24;\n } else if (xAxis[0].position === 'bottom') {\n padBottom = this.isXLabelHasBreak() ? 40 : 24;\n }\n\n const position = _yAxis.position;\n if (_yAxis.axisLabel && _yAxis.axisLabel.color === 'rgba(0,0,0,0)') {\n return;\n }\n const wMin = this.calcTextWidth(minTick, this.config.y_labels_size) + 4;\n let wMax = this.calcTextWidth(maxTick, this.config.y_labels_size) + 4;\n\n // if we have descriptions for every number, so find the longest one and use it as max width\n // @ts-expect-error fix later\n if (ser.states) {\n // get the longest state\n let wState = '';\n // @ts-expect-error fix later\n Object.keys(ser.states).forEach(state => {\n // @ts-expect-error fix later\n if (ser.states[state].length > wState.length) {\n // @ts-expect-error fix later\n wState = ser.states[state];\n }\n });\n wMax = this.calcTextWidth(wState, this.config.y_labels_size) + 4;\n }\n\n if (position !== 'right') {\n if (wMin > padLeft) {\n padLeft = wMin;\n }\n if (wMax > padLeft) {\n padLeft = wMax;\n }\n } else {\n if (wMin > padRight) {\n padRight = wMin;\n }\n if (wMax > padRight) {\n padRight = wMax;\n }\n }\n });\n (option.grid as GridOption).left = padLeft + 10;\n (option.grid as GridOption).right =\n padRight +\n 10 +\n (this.config.export === true || (this.config.export as unknown as string) === 'true' ? 20 : 0);\n // if xAxis shown, let the place for last value\n if (((option.grid as GridOption).right as number) <= 10 && (padTop || padBottom)) {\n (option.grid as GridOption).right = 18;\n }\n if (((option.grid as GridOption).left as number) <= 10 && (padTop || padBottom)) {\n (option.grid as GridOption).left = 18;\n }\n this.chart.padLeft = (option.grid as GridOption).left as number;\n this.chart.padRight = (option.grid as GridOption).right as number;\n if (!padTop) {\n padTop = 8;\n }\n if (!padBottom) {\n padBottom = 8;\n }\n (option.grid as GridOption).top = padTop;\n (option.grid as GridOption).bottom = padBottom;\n this.chart.padTop = (option.grid as GridOption).top as number;\n this.chart.padBottom = (option.grid as GridOption).bottom as number;\n }\n }\n\n // 'nw': 'Top, left',\n // 'ne': 'Top, right',\n // 'sw': 'Bottom, left',\n // 'se': 'Bottom, right',\n option.legend = this.getLegend(actualValues);\n option.title = this.getTitle();\n\n if (!this.config.grid_color && Array.isArray(option.yAxis)) {\n option.yAxis.forEach(axis => axis.splitLine && delete axis.splitLine.lineStyle);\n (option.xAxis as XAXisOption[]).forEach(axis => axis.splitLine && delete axis.splitLine.lineStyle);\n }\n\n this.option = option;\n return this.option;\n }\n}\n\nexport default ChartOption;\n"]} \ No newline at end of file diff --git a/src-chart/src/Components/ChartModel.ts b/src-chart/src/Components/ChartModel.ts index a60bdeec..3101371e 100644 --- a/src-chart/src/Components/ChartModel.ts +++ b/src-chart/src/Components/ChartModel.ts @@ -1213,7 +1213,9 @@ class ChartModel { convert = `return ${convert}`; } try { - this.convertFunctions[line.convert.trim()] = new Function('val', convert) as (val: number) => number; + this.convertFunctions[line.convert.trim()] = new Function('val', convert) as ( + val: number, + ) => number; } catch (e) { console.error(`[ChartModel] Cannot parse convert function: ${e}`); } @@ -1253,8 +1255,18 @@ class ChartModel { // add start and end if (line.chartType !== 'bar' && line.chartType !== 'polar') { - let end: number = typeof option.end === 'number' ? option.end : (option.end as Date).getTime(); - const start: number = typeof option.start === 'number' ? option.start : (option.start as Date).getTime(); + let end: number = + typeof option.end === 'number' + ? option.end + : typeof option.end === 'string' + ? new Date(option.end).getTime() + : (option.end as Date).getTime(); + const start: number = + typeof option.start === 'number' + ? option.start + : typeof option.start === 'string' + ? new Date(option.start).getTime() + : (option.start as Date).getTime(); // End cannot be in the future if (end > this.now) { end = this.now; diff --git a/src-chart/src/Components/ChartOption.ts b/src-chart/src/Components/ChartOption.ts index a1491231..7170aecb 100644 --- a/src-chart/src/Components/ChartOption.ts +++ b/src-chart/src/Components/ChartOption.ts @@ -656,7 +656,7 @@ class ChartOption { let color: string | undefined = oneLine.yaxe === 'off' ? 'rgba(0,0,0,0)' : this.config.grid_color || undefined; if (oneLine.yaxe === 'leftColor' || oneLine.yaxe === 'rightColor') { - color = series[chartIndex].itemStyle.color as string; + color = series[chartIndex]?.itemStyle?.color as string; } return { @@ -731,9 +731,6 @@ class ChartOption { } if (isLowerNumber && isUpperNumber) { - series.markLine = series.markLine || { - symbol: ['none', 'none'], - }; // area series.markArea = series.markArea || { data: [], @@ -741,7 +738,7 @@ class ChartOption { series.markArea.data.push([ { yAxis: lowerLimitFloat, - name: oneMark.text || '', + // name: oneMark.text || '', itemStyle: { color: oneMark.color || (series.itemStyle.color as string), borderWidth: 0, @@ -803,7 +800,7 @@ class ChartOption { }); if (this.config.l[oneMark.lineId]) { - // if minimum not set + // if the minimum isn't set const yMin = parseFloat(this.config.l[oneMark.lineId].min as unknown as string); if (Number.isNaN(yMin) && this.chart.yAxis[oneMark.lineId]) { if ((this.chart.yAxis[oneMark.lineId].min as number) > limitFloat && limitFloat < 0) { diff --git a/src-chart/src/Components/ChartView.tsx b/src-chart/src/Components/ChartView.tsx index 7450a1f8..26573d3a 100644 --- a/src-chart/src/Components/ChartView.tsx +++ b/src-chart/src/Components/ChartView.tsx @@ -28,17 +28,17 @@ import { } from 'react-icons/fa'; import moment from 'moment'; -import 'moment/locale/en-gb'; -import 'moment/locale/es'; -import 'moment/locale/fr'; -import 'moment/locale/pl'; -import 'moment/locale/pt'; -import 'moment/locale/it'; -import 'moment/locale/nl'; -import 'moment/locale/ru'; -import 'moment/locale/zh-cn'; -import 'moment/locale/de'; -import 'moment/locale/uk'; +import 'moment/dist/locale/en-gb'; +import 'moment/dist/locale/es'; +import 'moment/dist/locale/fr'; +import 'moment/dist/locale/pl'; +import 'moment/dist/locale/pt'; +import 'moment/dist/locale/it'; +import 'moment/dist/locale/nl'; +import 'moment/dist/locale/ru'; +import 'moment/dist/locale/zh-cn'; +import 'moment/dist/locale/de'; +import 'moment/dist/locale/uk'; import { I18n, Utils, withWidth, type ThemeType } from '@iobroker/adapter-react-v5'; import type { BarAndLineSeries, SeriesData } from './ChartModel'; @@ -81,7 +81,7 @@ import 'echarts/theme/green'; import 'echarts/theme/gray'; import 'echarts/theme/dark-bold'; import type { GridOption, RegisteredSeriesOption, XAXisOption, YAXisOption } from 'echarts/types/dist/shared'; -import type {ChartConfigMore, ChartLineConfigMore} from '../../../src/types'; +import type { ChartConfigMore, ChartLineConfigMore } from '../../../src/types'; echarts.use([ GridComponent, diff --git a/src-chart/vite.config.mjs b/src-chart/vite.config.mjs index 0454cc43..477fefad 100644 --- a/src-chart/vite.config.mjs +++ b/src-chart/vite.config.mjs @@ -5,6 +5,9 @@ export default defineConfig(() => { return { build: { outDir: 'build', + commonjsOptions: { + requireReturnsDefault: 'auto', + }, }, plugins: [react()], base: './', diff --git a/src-editor/README.md b/src-editor/README.md index d7011087..b9a4f5b6 100644 --- a/src-editor/README.md +++ b/src-editor/README.md @@ -1,2567 +1,2 @@ -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -Below you will find some information on how to perform common tasks.
-You can find the most recent version of this guide [here](https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md). - -## Table of Contents - -- [Updating to New Releases](#updating-to-new-releases) -- [Sending Feedback](#sending-feedback) -- [Folder Structure](#folder-structure) -- [Available Scripts](#available-scripts) - - [npm start](#npm-start) - - [npm test](#npm-test) - - [npm run build](#npm-run-build) - - [npm run eject](#npm-run-eject) -- [Supported Browsers](#supported-browsers) -- [Supported Language Features](#supported-language-features) -- [Syntax Highlighting in the Editor](#syntax-highlighting-in-the-editor) -- [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor) -- [Debugging in the Editor](#debugging-in-the-editor) -- [Formatting Code Automatically](#formatting-code-automatically) -- [Changing the Page ``](#changing-the-page-title) -- [Installing a Dependency](#installing-a-dependency) -- [Importing a Component](#importing-a-component) -- [Code Splitting](#code-splitting) -- [Adding a Stylesheet](#adding-a-stylesheet) -- [Adding a CSS Modules Stylesheet](#adding-a-css-modules-stylesheet) -- [Adding a Sass Stylesheet](#adding-a-sass-stylesheet) -- [Post-Processing CSS](#post-processing-css) -- [Adding Images, Fonts, and Files](#adding-images-fonts-and-files) -- [Adding SVGs](#adding-svgs) -- [Using the `public` Folder](#using-the-public-folder) - - [Changing the HTML](#changing-the-html) - - [Adding Assets Outside of the Module System](#adding-assets-outside-of-the-module-system) - - [When to Use the `public` Folder](#when-to-use-the-public-folder) -- [Using Global Variables](#using-global-variables) -- [Adding Bootstrap](#adding-bootstrap) - - [Using a Custom Theme](#using-a-custom-theme) -- [Adding Flow](#adding-flow) -- [Adding Relay](#adding-relay) -- [Adding a Router](#adding-a-router) -- [Adding Custom Environment Variables](#adding-custom-environment-variables) - - [Referencing Environment Variables in the HTML](#referencing-environment-variables-in-the-html) - - [Adding Temporary Environment Variables In Your Shell](#adding-temporary-environment-variables-in-your-shell) - - [Adding Development Environment Variables In `.env`](#adding-development-environment-variables-in-env) -- [Can I Use Decorators?](#can-i-use-decorators) -- [Fetching Data with AJAX Requests](#fetching-data-with-ajax-requests) -- [Integrating with an API Backend](#integrating-with-an-api-backend) - - [Node](#node) - - [Ruby on Rails](#ruby-on-rails) -- [Proxying API Requests in Development](#proxying-api-requests-in-development) - - ["Invalid Host Header" Errors After Configuring Proxy](#invalid-host-header-errors-after-configuring-proxy) - - [Configuring the Proxy Manually](#configuring-the-proxy-manually) -- [Using HTTPS in Development](#using-https-in-development) -- [Generating Dynamic `<meta>` Tags on the Server](#generating-dynamic-meta-tags-on-the-server) -- [Pre-Rendering into Static HTML Files](#pre-rendering-into-static-html-files) -- [Injecting Data from the Server into the Page](#injecting-data-from-the-server-into-the-page) -- [Running Tests](#running-tests) - - [Filename Conventions](#filename-conventions) - - [Command Line Interface](#command-line-interface) - - [Version Control Integration](#version-control-integration) - - [Writing Tests](#writing-tests) - - [Testing Components](#testing-components) - - [Using Third Party Assertion Libraries](#using-third-party-assertion-libraries) - - [Initializing Test Environment](#initializing-test-environment) - - [Focusing and Excluding Tests](#focusing-and-excluding-tests) - - [Coverage Reporting](#coverage-reporting) - - [Continuous Integration](#continuous-integration) - - [Disabling jsdom](#disabling-jsdom) - - [Snapshot Testing](#snapshot-testing) - - [Editor Integration](#editor-integration) -- [Debugging Tests](#debugging-tests) - - [Debugging Tests in Chrome](#debugging-tests-in-chrome) - - [Debugging Tests in Visual Studio Code](#debugging-tests-in-visual-studio-code) -- [Developing Components in Isolation](#developing-components-in-isolation) - - [Getting Started with Storybook](#getting-started-with-storybook) - - [Getting Started with Styleguidist](#getting-started-with-styleguidist) -- [Publishing Components to npm](#publishing-components-to-npm) -- [Making a Progressive Web App](#making-a-progressive-web-app) - - [Why Opt-in?](#why-opt-in) - - [Offline-First Considerations](#offline-first-considerations) - - [Progressive Web App Metadata](#progressive-web-app-metadata) -- [Analyzing the Bundle Size](#analyzing-the-bundle-size) -- [Deployment](#deployment) - - [Static Server](#static-server) - - [Other Solutions](#other-solutions) - - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing) - - [Building for Relative Paths](#building-for-relative-paths) - - [Customizing Environment Variables for Arbitrary Build Environments](#customizing-environment-variables-for-arbitrary-build-environments) - - [Azure](#azure) - - [Firebase](#firebase) - - [GitHub Pages](#github-pages) - - [Heroku](#heroku) - - [Netlify](#netlify) - - [Now](#now) - - [S3 and CloudFront](#s3-and-cloudfront) - - [Surge](#surge) -- [Advanced Configuration](#advanced-configuration) -- [Troubleshooting](#troubleshooting-1) - - [`npm start` doesn’t detect changes](#npm-start-doesnt-detect-changes) - - [`npm test` hangs or crashes on macOS Sierra](#npm-test-hangs-or-crashes-on-macos-sierra) - - [`npm run build` exits too early](#npm-run-build-exits-too-early) - - [`npm run build` fails on Heroku](#npm-run-build-fails-on-heroku) - - [`npm run build` fails to minify](#npm-run-build-fails-to-minify) - - [Moment.js locales are missing](#momentjs-locales-are-missing) -- [Alternatives to Ejecting](#alternatives-to-ejecting) -- [Something Missing?](#something-missing) - -## Updating to New Releases - -Create React App is divided into two packages: - -- `create-react-app` is a global command-line utility that you use to create new projects. -- `react-scripts` is a development dependency in the generated projects (including this one). - -You almost never need to update `create-react-app` itself: it delegates all the setup to `react-scripts`. - -When you run `create-react-app`, it always creates the project with the latest version of `react-scripts` so you’ll get all the new features and improvements in newly created apps automatically. - -To update an existing project to a new version of `react-scripts`, [open the changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG.md), find the version you’re currently on (check `package.json` in this folder if you’re not sure), and apply the migration instructions for the newer versions. - -In most cases bumping the `react-scripts` version in `package.json` and running `npm install` (or `yarn install`) in this folder should be enough, but it’s good to consult the [changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG.md) for potential breaking changes. - -We commit to keeping the breaking changes minimal so you can upgrade `react-scripts` painlessly. - -## Sending Feedback - -We are always open to [your feedback](https://github.com/facebook/create-react-app/issues). - -## Folder Structure - -After creation, your project should look like this: - -``` -my-app/ - README.md - node_modules/ - package.json - public/ - index.html - favicon.ico - src/ - App.css - App.tsx - App.test.js - index.css - index.tsx - logo.svg -``` - -For the project to build, **these files must exist with exact filenames**: - -- `public/index.html` is the page template; -- `src/index.tsx` is the JavaScript entry point. - -You can delete or rename the other files. - -You may create subdirectories inside `src`. For faster rebuilds, only files inside `src` are processed by Webpack.<br> -You need to **put any JS and CSS files inside `src`**, otherwise Webpack won’t see them. - -Only files inside `public` can be used from `public/index.html`.<br> -Read instructions below for using assets from JavaScript and HTML. - -You can, however, create more top-level directories.<br> -They will not be included in the production build so you can use them for things like documentation. - -If you have Git installed and your project is not part of a larger repository, then a new repository will be initialized resulting in an additional `.git/` top-level directory. - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.<br> -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.<br> -You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.<br> -See the section about [running tests](#running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.<br> -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.<br> -Your app is ready to be deployed! - -See the section about [deployment](#deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Supported Browsers - -By default, the generated project supports all modern browsers.<br> -Support for Internet Explorer 9, 10, and 11 requires [polyfills](https://github.com/facebook/create-react-app/blob/master/packages/react-app-polyfill/README.md). - -### Supported Language Features - -This project supports a superset of the latest JavaScript standard.<br> -In addition to [ES6](https://github.com/lukehoban/es6features) syntax features, it also supports: - -- [Exponentiation Operator](https://github.com/rwaldron/exponentiation-operator) (ES2016). -- [Async/await](https://github.com/tc39/ecmascript-asyncawait) (ES2017). -- [Object Rest/Spread Properties](https://github.com/tc39/proposal-object-rest-spread) (ES2018). -- [Dynamic import()](https://github.com/tc39/proposal-dynamic-import) (stage 3 proposal) -- [Class Fields and Static Properties](https://github.com/tc39/proposal-class-public-fields) (part of stage 3 proposal). -- [JSX](https://facebook.github.io/react/docs/introducing-jsx.html) and [Flow](https://flow.org/) syntax. - -Learn more about [different proposal stages](https://babeljs.io/docs/plugins/#presets-stage-x-experimental-presets-). - -While we recommend using experimental proposals with some caution, Facebook heavily uses these features in the product code, so we intend to provide [codemods](https://medium.com/@cpojer/effective-javascript-codemods-5a6686bb46fb) if any of these proposals change in the future. - -Note that **this project includes no [polyfills](https://github.com/facebook/create-react-app/blob/master/packages/react-app-polyfill/README.md)** by default. - -If you use any other ES6+ features that need **runtime support** (such as `Array.from()` or `Symbol`), make sure you are [including the appropriate polyfills manually](https://github.com/facebook/create-react-app/blob/master/packages/react-app-polyfill/README.md), or that the browsers you are targeting already support them. - -## Syntax Highlighting in the Editor - -To configure the syntax highlighting in your favorite text editor, head to the [relevant Babel documentation page](https://babeljs.io/docs/editors) and follow the instructions. Some of the most popular editors are covered. - -## Displaying Lint Output in the Editor - -> Note: this feature is available with `react-scripts@0.2.0` and higher.<br> -> It also only works with npm 3 or higher. - -Some editors, including Sublime Text, Atom, and Visual Studio Code, provide plugins for ESLint. - -They are not required for linting. You should see the linter output right in your terminal as well as the browser console. However, if you prefer the lint results to appear right in your editor, there are some extra steps you can do. - -You would need to install an ESLint plugin for your editor first. Then, add a file called `.eslintrc` to the project root: - -```js -{ - "extends": "react-app" -} -``` - -Now your editor should report the linting warnings. - -Note that even if you edit your `.eslintrc` file further, these changes will **only affect the editor integration**. They won’t affect the terminal and in-browser lint output. This is because Create React App intentionally provides a minimal set of rules that find common mistakes. - -If you want to enforce a coding style for your project, consider using [Prettier](https://github.com/jlongster/prettier) instead of ESLint style rules. - -## Debugging in the Editor - -**This feature is currently only supported by [Visual Studio Code](https://code.visualstudio.com) and [WebStorm](https://www.jetbrains.com/webstorm/).** - -Visual Studio Code and WebStorm support debugging out of the box with Create React App. This enables you as a developer to write and debug your React code without leaving the editor, and most importantly it enables you to have a continuous development workflow, where context switching is minimal, as you don’t have to switch between tools. - -### Visual Studio Code - -You would need to have the latest version of [VS Code](https://code.visualstudio.com) and VS Code [Chrome Debugger Extension](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) installed. - -Then add the block below to your `launch.json` file and put it inside the `.vscode` folder in your app’s root directory. - -```json -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Chrome", - "type": "chrome", - "request": "launch", - "url": "http://localhost:3000", - "webRoot": "${workspaceRoot}/src", - "sourceMapPathOverrides": { - "webpack:///src/*": "${webRoot}/*" - } - } - ] -} -``` - -> Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). - -Start your app by running `npm start`, and start debugging in VS Code by pressing `F5` or by clicking the green debug icon. You can now write code, set breakpoints, make changes to the code, and debug your newly modified code—all from your editor. - -Having problems with VS Code Debugging? Please see their [troubleshooting guide](https://github.com/Microsoft/vscode-chrome-debug/blob/master/README.md#troubleshooting). - -### WebStorm - -You would need to have [WebStorm](https://www.jetbrains.com/webstorm/) and [JetBrains IDE Support](https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji) Chrome extension installed. - -In the WebStorm menu `Run` select `Edit Configurations...`. Then click `+` and select `JavaScript Debug`. Paste `http://localhost:3000` into the URL field and save the configuration. - -> Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). - -Start your app by running `npm start`, then press `^D` on macOS or `F9` on Windows and Linux or click the green debug icon to start debugging in WebStorm. - -The same way you can debug your application in IntelliJ IDEA Ultimate, PhpStorm, PyCharm Pro, and RubyMine. - -## Formatting Code Automatically - -Prettier is an opinionated code formatter with support for JavaScript, CSS and JSON. With Prettier you can format the code you write automatically to ensure a code style within your project. See the [Prettier's GitHub page](https://github.com/prettier/prettier) for more information, and look at this [page to see it in action](https://prettier.github.io/prettier/). - -To format our code whenever we make a commit in git, we need to install the following dependencies: - -```sh -npm install --save husky lint-staged prettier -``` - -Alternatively you may use `yarn`: - -```sh -yarn add husky lint-staged prettier -``` - -- `husky` makes it easy to use githooks as if they are npm scripts. -- `lint-staged` allows us to run scripts on staged files in git. See this [blog post about lint-staged to learn more about it](https://medium.com/@okonetchnikov/make-linting-great-again-f3890e1ad6b8). -- `prettier` is the JavaScript formatter we will run before commits. - -Now we can make sure every file is formatted correctly by adding a few lines to the `package.json` in the project root. - -Add the following field to the `package.json` section: - -```diff -+ "husky": { -+ "hooks": { -+ "pre-commit": "lint-staged" -+ } -+ } -``` - -Next we add a 'lint-staged' field to the `package.json`, for example: - -```diff - "dependencies": { - // ... - }, -+ "lint-staged": { -+ "src/**/*.{js,jsx,json,css}": [ -+ "prettier --single-quote --write", -+ "git add" -+ ] -+ }, - "scripts": { -``` - -Now, whenever you make a commit, Prettier will format the changed files automatically. You can also run `./node_modules/.bin/prettier --single-quote --write "src/**/*.{js,jsx}"` to format your entire project for the first time. - -Next you might want to integrate Prettier in your favorite editor. Read the section on [Editor Integration](https://prettier.io/docs/en/editors.html) on the Prettier GitHub page. - -## Changing the Page `<title>` - -You can find the source HTML file in the `public` folder of the generated project. You may edit the `<title>` tag in it to change the title from “React App” to anything else. - -Note that normally you wouldn’t edit files in the `public` folder very often. For example, [adding a stylesheet](#adding-a-stylesheet) is done without touching the HTML. - -If you need to dynamically update the page title based on the content, you can use the browser [`document.title`](https://developer.mozilla.org/en-US/docs/Web/API/Document/title) API. For more complex scenarios when you want to change the title from React components, you can use [React Helmet](https://github.com/nfl/react-helmet), a third party library. - -If you use a custom server for your app in production and want to modify the title before it gets sent to the browser, you can follow advice in [this section](#generating-dynamic-meta-tags-on-the-server). Alternatively, you can pre-build each page as a static HTML file which then loads the JavaScript bundle, which is covered [here](#pre-rendering-into-static-html-files). - -## Installing a Dependency - -The generated project includes React and ReactDOM as dependencies. It also includes a set of scripts used by Create React App as a development dependency. You may install other dependencies (for example, React Router) with `npm`: - -```sh -npm install --save react-router-dom -``` - -Alternatively you may use `yarn`: - -```sh -yarn add react-router-dom -``` - -This works for any library, not just `react-router-dom`. - -## Importing a Component - -This project setup supports ES6 modules thanks to Webpack.<br> -While you can still use `require()` and `module.exports`, we encourage you to use [`import` and `export`](http://exploringjs.com/es6/ch_modules.html) instead. - -For example: - -### `Button.js` - -```js -import React, { Component } from 'react'; - -class Button extends Component { - render() { - // ... - } -} - -export default Button; // Don’t forget to use export default! -``` - -### `DangerButton.js` - -```js -import React, { Component } from 'react'; -import Button from './Button'; // Import a component from another file - -class DangerButton extends Component { - render() { - return <Button color="red" />; - } -} - -export default DangerButton; -``` - -Be aware of the [difference between default and named exports](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281). It is a common source of mistakes. - -We suggest that you stick to using default imports and exports when a module only exports a single thing (for example, a component). That’s what you get when you use `export default Button` and `import Button from './Button'`. - -Named exports are useful for utility modules that export several functions. A module may have at most one default export and as many named exports as you like. - -Learn more about ES6 modules: - -- [When to use the curly braces?](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281) -- [Exploring ES6: Modules](http://exploringjs.com/es6/ch_modules.html) -- [Understanding ES6: Modules](https://leanpub.com/understandinges6/read#leanpub-auto-encapsulating-code-with-modules) - -## Code Splitting - -Instead of downloading the entire app before users can use it, code splitting allows you to split your code into small chunks which you can then load on demand. - -This project setup supports code splitting via [dynamic `import()`](http://2ality.com/2017/01/import-operator.html#loading-code-on-demand). Its [proposal](https://github.com/tc39/proposal-dynamic-import) is in stage 3. The `import()` function-like form takes the module name as an argument and returns a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) which always resolves to the namespace object of the module. - -Here is an example: - -### `moduleA.js` - -```js -const moduleA = 'Hello'; - -export { moduleA }; -``` - -### `App.tsx` - -```js -import React, { Component } from 'react'; - -class App extends Component { - handleClick = () => { - import('./moduleA') - .then(({ moduleA }) => { - // Use moduleA - }) - .catch(err => { - // Handle failure - }); - }; - - render() { - return ( - <div> - <button onClick={this.handleClick}>Load</button> - </div> - ); - } -} - -export default App; -``` - -This will make `moduleA.js` and all its unique dependencies as a separate chunk that only loads after the user clicks the 'Load' button. - -You can also use it with `async` / `await` syntax if you prefer it. - -### With React Router - -If you are using React Router check out [this tutorial](http://serverless-stack.com/chapters/code-splitting-in-create-react-app.html) on how to use code splitting with it. You can find the companion GitHub repository [here](https://github.com/AnomalyInnovations/serverless-stack-demo-client/tree/code-splitting-in-create-react-app). - -Also check out the [Code Splitting](https://reactjs.org/docs/code-splitting.html) section in React documentation. - -## Adding a Stylesheet - -This project setup uses [Webpack](https://webpack.js.org/) for handling all assets. Webpack offers a custom way of “extending” the concept of `import` beyond JavaScript. To express that a JavaScript file depends on a CSS file, you need to **import the CSS from the JavaScript file**: - -### `Button.css` - -```css -.Button { - padding: 20px; -} -``` - -### `Button.js` - -```js -import React, { Component } from 'react'; -import './Button.css'; // Tell Webpack that Button.js uses these styles - -class Button extends Component { - render() { - // You can use them as regular CSS styles - return <div className="Button" />; - } -} -``` - -**This is not required for React** but many people find this feature convenient. You can read about the benefits of this approach [here](https://medium.com/seek-blog/block-element-modifying-your-javascript-components-d7f99fcab52b). However you should be aware that this makes your code less portable to other build tools and environments than Webpack. - -In development, expressing dependencies this way allows your styles to be reloaded on the fly as you edit them. In production, all CSS files will be concatenated into a single minified `.css` file in the build output. - -If you are concerned about using Webpack-specific semantics, you can put all your CSS right into `src/index.css`. It would still be imported from `src/index.tsx`, but you could always remove that import if you later migrate to a different build tool. - -## Adding a CSS Modules Stylesheet - -> Note: this feature is available with `react-scripts@2.0.0` and higher. - -This project supports [CSS Modules](https://github.com/css-modules/css-modules) alongside regular stylesheets using the `[name].module.css` file naming convention. CSS Modules allows the scoping of CSS by automatically creating a unique classname of the format `[filename]\_[classname]\_\_[hash]`. - -> **Tip:** Should you want to preprocess a stylesheet with Sass then make sure to [follow the installation instructions](#adding-a-sass-stylesheet) and then change the stylesheet file extension as follows: `[name].module.scss` or `[name].module.sass`. - -CSS Modules let you use the same CSS class name in different files without worrying about naming clashes. Learn more about CSS Modules [here](https://css-tricks.com/css-modules-part-1-need/). - -### `Button.module.css` - -```css -.error { - background-color: red; -} -``` - -### `another-stylesheet.css` - -```css -.error { - color: red; -} -``` - -### `Button.js` - -```js -import React, { Component } from 'react'; -import styles from './Button.module.css'; // Import css modules stylesheet as styles -import './another-stylesheet.css'; // Import regular stylesheet - -class Button extends Component { - render() { - // reference as a js object - return <button className={styles.error}>Error Button</button>; - } -} -``` - -### Result - -No clashes from other `.error` class names - -```html -<!-- This button has red background but not red text --> -<button class="Button_error_ax7yz"></div> -``` - -**This is an optional feature.** Regular `<link>` stylesheets and CSS files are fully supported. CSS Modules are turned on for files ending with the `.module.css` extension. - -## Adding a Sass Stylesheet - -> Note: this feature is available with `react-scripts@2.0.0` and higher. - -Generally, we recommend that you don’t reuse the same CSS classes across different components. For example, instead of using a `.Button` CSS class in `<AcceptButton>` and `<RejectButton>` components, we recommend creating a `<Button>` component with its own `.Button` styles, that both `<AcceptButton>` and `<RejectButton>` can render (but [not inherit](https://facebook.github.io/react/docs/composition-vs-inheritance.html)). - -Following this rule often makes CSS preprocessors less useful, as features like mixins and nesting are replaced by component composition. You can, however, integrate a CSS preprocessor if you find it valuable. - -To use Sass, first install `node-sass`: - -```bash -$ npm install node-sass --save -$ # or -$ yarn add node-sass -``` - -Now you can rename `src/App.css` to `src/App.scss` and update `src/App.tsx` to import `src/App.scss`. -This file and any other file will be automatically compiled if imported with the extension `.scss` or `.sass`. - -To share variables between Sass files, you can use Sass imports. For example, `src/App.scss` and other component style files could include `@import "./shared.scss";` with variable definitions. - -This will allow you to do imports like - -```scss -@import 'styles/_colors.scss'; // assuming a styles directory under src/ -@import '~nprogress/nprogress'; // importing a css file from the nprogress node module -``` - -> **Tip:** You can opt into using this feature with [CSS modules](#adding-a-css-modules-stylesheet) too! - -> **Note:** You must prefix imports from `node_modules` with `~` as displayed above. - -> **Note:** If you're using Flow, add the following to your `.flowconfig` so it'll recognize the `.sass` or `.scss` imports. - -``` -[options] -module.file_ext=.sass -module.file_ext=.scss -``` - -## Post-Processing CSS - -This project setup minifies your CSS and adds vendor prefixes to it automatically through [Autoprefixer](https://github.com/postcss/autoprefixer) so you don’t need to worry about it. - -Support for new CSS features like the [`all` property](https://developer.mozilla.org/en-US/docs/Web/CSS/all), [`break` properties](https://www.w3.org/TR/css-break-3/#breaking-controls), [custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables), and [media query ranges](https://www.w3.org/TR/mediaqueries-4/#range-context) are automatically polyfilled to add support for older browsers. - -You can customize your target support browsers by adjusting the `browserslist` key in `package.json` according to the [Browserslist specification](https://github.com/browserslist/browserslist#readme). - -For example, this: - -```css -.App { - display: flex; - flex-direction: row; - align-items: center; -} -``` - -becomes this: - -```css -.App { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} -``` - -If you need to disable autoprefixing for some reason, [follow this section](https://github.com/postcss/autoprefixer#disabling). - -[CSS Grid Layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout) prefixing is disabled by default, but it will **not** strip manual prefixing. -If you'd like to opt-in to CSS Grid prefixing, [first familiarize yourself about its limitations](https://github.com/postcss/autoprefixer#does-autoprefixer-polyfill-grid-layout-for-ie).<br> -To enable CSS Grid prefixing, add `/* autoprefixer grid: on */` to the top of your CSS file. - -## Adding Images, Fonts, and Files - -With Webpack, using static assets like images and fonts works similarly to CSS. - -You can **`import` a file right in a JavaScript module**. This tells Webpack to include that file in the bundle. Unlike CSS imports, importing a file gives you a string value. This value is the final path you can reference in your code, e.g. as the `src` attribute of an image or the `href` of a link to a PDF. - -To reduce the number of requests to the server, importing images that are less than 10,000 bytes returns a [data URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) instead of a path. This applies to the following file extensions: bmp, gif, jpg, jpeg, and png. SVG files are excluded due to [#1153](https://github.com/facebook/create-react-app/issues/1153). - -Here is an example: - -```js -import React from 'react'; -import logo from './logo.png'; // Tell Webpack this JS file uses this image - -console.log(logo); // /logo.84287d09.png - -function Header() { - // Import result is the URL of your image - return <img src={logo} alt="Logo" />; -} - -export default Header; -``` - -This ensures that when the project is built, Webpack will correctly move the images into the build folder, and provide us with correct paths. - -This works in CSS too: - -```css -.Logo { - background-image: url(./logo.png); -} -``` - -Webpack finds all relative module references in CSS (they start with `./`) and replaces them with the final paths from the compiled bundle. If you make a typo or accidentally delete an important file, you will see a compilation error, just like when you import a non-existent JavaScript module. The final filenames in the compiled bundle are generated by Webpack from content hashes. If the file content changes in the future, Webpack will give it a different name in production so you don’t need to worry about long-term caching of assets. - -Please be advised that this is also a custom feature of Webpack. - -**It is not required for React** but many people enjoy it (and React Native uses a similar mechanism for images).<br> -An alternative way of handling static assets is described in the next section. - -### Adding SVGs - -> Note: this feature is available with `react-scripts@2.0.0` and higher. - -One way to add SVG files was described in the section above. You can also import SVGs directly as React components. You can use either of the two approaches. In your code it would look like this: - -```js -import { ReactComponent as Logo } from './logo.svg'; -const App = () => ( - <div> - {/* Logo is an actual React component */} - <Logo /> - </div> -); -``` - -This is handy if you don't want to load SVG as a separate file. Don't forget the curly braces in the import! The `ReactComponent` import name is special and tells Create React App that you want a React component that renders an SVG, rather than its filename. - -## Using the `public` Folder - -> Note: this feature is available with `react-scripts@0.5.0` and higher. - -### Changing the HTML - -The `public` folder contains the HTML file so you can tweak it, for example, to [set the page title](#changing-the-page-title). -The `<script>` tag with the compiled code will be added to it automatically during the build process. - -### Adding Assets Outside of the Module System - -You can also add other assets to the `public` folder. - -Note that we normally encourage you to `import` assets in JavaScript files instead. -For example, see the sections on [adding a stylesheet](#adding-a-stylesheet) and [adding images and fonts](#adding-images-fonts-and-files). -This mechanism provides a number of benefits: - -- Scripts and stylesheets get minified and bundled together to avoid extra network requests. -- Missing files cause compilation errors instead of 404 errors for your users. -- Result filenames include content hashes so you don’t need to worry about browsers caching their old versions. - -However there is an **escape hatch** that you can use to add an asset outside of the module system. - -If you put a file into the `public` folder, it will **not** be processed by Webpack. Instead it will be copied into the build folder untouched. To reference assets in the `public` folder, you need to use a special variable called `PUBLIC_URL`. - -Inside `index.html`, you can use it like this: - -```html -<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> -``` - -Only files inside the `public` folder will be accessible by `%PUBLIC_URL%` prefix. If you need to use a file from `src` or `node_modules`, you’ll have to copy it there to explicitly specify your intention to make this file a part of the build. - -When you run `npm run build`, Create React App will substitute `%PUBLIC_URL%` with a correct absolute path so your project works even if you use client-side routing or host it at a non-root URL. - -In JavaScript code, you can use `process.env.PUBLIC_URL` for similar purposes: - -```js -render() { - // Note: this is an escape hatch and should be used sparingly! - // Normally we recommend using `import` for getting asset URLs - // as described in “Adding Images and Fonts” above this section. - return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />; -} -``` - -Keep in mind the downsides of this approach: - -- None of the files in `public` folder get post-processed or minified. -- Missing files will not be called at compilation time, and will cause 404 errors for your users. -- Result filenames won’t include content hashes so you’ll need to add query arguments or rename them every time they change. - -### When to Use the `public` Folder - -Normally we recommend importing [stylesheets](#adding-a-stylesheet), [images, and fonts](#adding-images-fonts-and-files) from JavaScript. -The `public` folder is useful as a workaround for a number of less common cases: - -- You need a file with a specific name in the build output, such as [`manifest.webmanifest`](https://developer.mozilla.org/en-US/docs/Web/Manifest). -- You have thousands of images and need to dynamically reference their paths. -- You want to include a small script like [`pace.js`](http://github.hubspot.com/pace/docs/welcome/) outside of the bundled code. -- Some library may be incompatible with Webpack and you have no other option but to include it as a `<script>` tag. - -Note that if you add a `<script>` that declares global variables, you also need to read the next section on using them. - -## Using Global Variables - -When you include a script in the HTML file that defines global variables and try to use one of these variables in the code, the linter will complain because it cannot see the definition of the variable. - -You can avoid this by reading the global variable explicitly from the `window` object, for example: - -```js -const $ = window.$; -``` - -This makes it obvious you are using a global variable intentionally rather than because of a typo. - -Alternatively, you can force the linter to ignore any line by adding `// eslint-disable-line` after it. - -## Adding Bootstrap - -You don’t have to use [reactstrap](https://reactstrap.github.io/) together with React but it is a popular library for integrating Bootstrap with React apps. If you need it, you can integrate it with Create React App by following these steps: - -Install reactstrap and Bootstrap from npm. reactstrap does not include Bootstrap CSS so this needs to be installed as well: - -```sh -npm install --save reactstrap bootstrap@4 -``` - -Alternatively you may use `yarn`: - -```sh -yarn add bootstrap@4 reactstrap -``` - -Import Bootstrap CSS and optionally Bootstrap theme CSS in the beginning of your `src/index.tsx` file: - -```js -import 'bootstrap/dist/css/bootstrap.css'; -// Put any other imports below so that CSS from your -// components takes precedence over default styles. -``` - -Import required reactstrap components within `src/App.tsx` file or your custom component files: - -```js -import { Button } from 'reactstrap'; -``` - -Now you are ready to use the imported reactstrap components within your component hierarchy defined in the render method. Here is an example [`App.tsx`](https://gist.githubusercontent.com/zx6658/d9f128cd57ca69e583ea2b5fea074238/raw/a56701c142d0c622eb6c20a457fbc01d708cb485/App.js) redone using reactstrap. - -### Using a Custom Theme - -> Note: this feature is available with `react-scripts@2.0.0` and higher. - -Sometimes you might need to tweak the visual styles of Bootstrap (or equivalent package).<br> -As of `react-scripts@2.0.0` you can import `.scss` files. This makes it possible to use a package's built-in Sass variables for global style preferences. - -To customize Bootstrap, create a file called `src/custom.scss` (or similar) and import the Bootstrap source stylesheet. Add any overrides _before_ the imported file(s). You can reference [Bootstrap's documentation](http://getbootstrap.com/docs/4.1/getting-started/theming/#css-variables) for the names of the available variables. - -```scss -// Override default variables before the import -$body-bg: #000; - -// Import Bootstrap and its default variables -@import '~bootstrap/scss/bootstrap.scss'; -``` - -> **Note:** You must prefix imports from `node_modules` with `~` as displayed above. - -Finally, import the newly created `.scss` file instead of the default Bootstrap `.css` in the beginning of your `src/index.tsx` file, for example: - -```javascript -import './custom.scss'; -``` - -## Adding Flow - -Flow is a static type checker that helps you write code with fewer bugs. Check out this [introduction to using static types in JavaScript](https://medium.com/@preethikasireddy/why-use-static-types-in-javascript-part-1-8382da1e0adb) if you are new to this concept. - -Recent versions of [Flow](https://flow.org/) work with Create React App projects out of the box. - -To add Flow to a Create React App project, follow these steps: - -1. Run `npm install --save flow-bin` (or `yarn add flow-bin`). -2. Add `"flow": "flow"` to the `scripts` section of your `package.json`. -3. Run `npm run flow init` (or `yarn flow init`) to create a [`.flowconfig` file](https://flow.org/en/docs/config/) in the root directory. -4. Add `// @flow` to any files you want to type check (for example, to `src/App.tsx`). - -Now you can run `npm run flow` (or `yarn flow`) to check the files for type errors. -You can optionally use an IDE like [Nuclide](https://nuclide.io/docs/languages/flow/) for a better integrated experience. -In the future we plan to integrate it into Create React App even more closely. - -To learn more about Flow, check out [its documentation](https://flow.org/). - -## Adding Relay - -Relay is a framework for building data-driven React applications powered by GraphQL. The current release candidate of Relay works with Create React App projects out of the box using Babel Macros. Simply set up your project as laid out in the [Relay documentation](https://facebook.github.io/relay/), then make sure you have a version of the babel plugin providing the macro. - -To add it, run: - -```sh -npm install --save --dev babel-plugin-relay@dev -``` - -Alternatively you may use `yarn`: - -```sh -yarn upgrade babel-plugin-relay@dev -``` - -Then, wherever you use the `graphql` template tag, import the macro: - -```js -import graphql from 'babel-plugin-relay/macro'; -// instead of: -// import { graphql } from "babel-plugin-relay" - -graphql` - query UserQuery { - viewer { - id - } - } -`; -``` - -To learn more about Relay, check out [its documentation](https://facebook.github.io/relay/). - -## Adding a Router - -Create React App doesn't prescribe a specific routing solution, but [React Router](https://reacttraining.com/react-router/web/) is the most popular one. - -To add it, run: - -```sh -npm install --save react-router-dom -``` - -Alternatively you may use `yarn`: - -```sh -yarn add react-router-dom -``` - -To try it, delete all the code in `src/App.tsx` and replace it with any of the examples on its website. The [Basic Example](https://reacttraining.com/react-router/web/example/basic) is a good place to get started. - -Note that [you may need to configure your production server to support client-side routing](#serving-apps-with-client-side-routing) before deploying your app. - -## Adding Custom Environment Variables - -> Note: this feature is available with `react-scripts@0.2.3` and higher. - -Your project can consume variables declared in your environment as if they were declared locally in your JS files. By -default you will have `NODE_ENV` defined for you, and any other environment variables starting with -`REACT_APP_`. - -**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](#injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them. - -> Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid accidentally [exposing a private key on the machine that could have the same name](https://github.com/facebook/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running. - -These environment variables will be defined for you on `process.env`. For example, having an environment -variable named `REACT_APP_SECRET_CODE` will be exposed in your JS as `process.env.REACT_APP_SECRET_CODE`. - -There is also a special built-in environment variable called `NODE_ENV`. You can read it from `process.env.NODE_ENV`. When you run `npm start`, it is always equal to `'development'`, when you run `npm test` it is always equal to `'test'`, and when you run `npm run build` to make a production bundle, it is always equal to `'production'`. **You cannot override `NODE_ENV` manually.** This prevents developers from accidentally deploying a slow development build to production. - -These environment variables can be useful for displaying information conditionally based on where the project is -deployed or consuming sensitive data that lives outside of version control. - -First, you need to have environment variables defined. For example, let’s say you wanted to consume a secret defined -in the environment inside a `<form>`: - -```jsx -render() { - return ( - <div> - <small>You are running this application in <b>{process.env.NODE_ENV}</b> mode.</small> - <form> - <input type="hidden" defaultValue={process.env.REACT_APP_SECRET_CODE} /> - </form> - </div> - ); -} -``` - -During the build, `process.env.REACT_APP_SECRET_CODE` will be replaced with the current value of the `REACT_APP_SECRET_CODE` environment variable. Remember that the `NODE_ENV` variable will be set for you automatically. - -When you load the app in the browser and inspect the `<input>`, you will see its value set to `abcdef`, and the bold text will show the environment provided when using `npm start`: - -```html -<div> - <small>You are running this application in <b>development</b> mode.</small> - <form> - <input type="hidden" value="abcdef" /> - </form> -</div> -``` - -The above form is looking for a variable called `REACT_APP_SECRET_CODE` from the environment. In order to consume this -value, we need to have it defined in the environment. This can be done using two ways: either in your shell or in -a `.env` file. Both of these ways are described in the next few sections. - -Having access to the `NODE_ENV` is also useful for performing actions conditionally: - -```js -if (process.env.NODE_ENV !== 'production') { - analytics.disable(); -} -``` - -When you compile the app with `npm run build`, the minification step will strip out this condition, and the resulting bundle will be smaller. - -### Referencing Environment Variables in the HTML - -> Note: this feature is available with `react-scripts@0.9.0` and higher. - -You can also access the environment variables starting with `REACT_APP_` in the `public/index.html`. For example: - -```html -<title>%REACT_APP_WEBSITE_NAME% -``` - -Note that the caveats from the above section apply: - -- Apart from a few built-in variables (`NODE_ENV` and `PUBLIC_URL`), variable names must start with `REACT_APP_` to work. -- The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](#generating-dynamic-meta-tags-on-the-server). - -### Adding Temporary Environment Variables In Your Shell - -Defining environment variables can vary between OSes. It’s also important to know that this manner is temporary for the -life of the shell session. - -#### Windows (cmd.exe) - -```cmd -set "REACT_APP_SECRET_CODE=abcdef" && npm start -``` - -(Note: Quotes around the variable assignment are required to avoid a trailing whitespace.) - -#### Windows (Powershell) - -```Powershell -($env:REACT_APP_SECRET_CODE = "abcdef") -and (npm start) -``` - -#### Linux, macOS (Bash) - -```bash -REACT_APP_SECRET_CODE=abcdef npm start -``` - -### Adding Development Environment Variables In `.env` - -> Note: this feature is available with `react-scripts@0.5.0` and higher. - -To define permanent environment variables, create a file called `.env` in the root of your project: - -``` -REACT_APP_SECRET_CODE=abcdef -``` - -> Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid [accidentally exposing a private key on the machine that could have the same name](https://github.com/facebook/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running. - -`.env` files **should be** checked into source control (with the exclusion of `.env*.local`). - -#### What other `.env` files can be used? - -> Note: this feature is **available with `react-scripts@1.0.0` and higher**. - -- `.env`: Default. -- `.env.local`: Local overrides. **This file is loaded for all environments except test.** -- `.env.development`, `.env.test`, `.env.production`: Environment-specific settings. -- `.env.development.local`, `.env.test.local`, `.env.production.local`: Local overrides of environment-specific settings. - -Files on the left have more priority than files on the right: - -- `npm start`: `.env.development.local`, `.env.development`, `.env.local`, `.env` -- `npm run build`: `.env.production.local`, `.env.production`, `.env.local`, `.env` -- `npm test`: `.env.test.local`, `.env.test`, `.env` (note `.env.local` is missing) - -These variables will act as the defaults if the machine does not explicitly set them.
-Please refer to the [dotenv documentation](https://github.com/motdotla/dotenv) for more details. - -> Note: If you are defining environment variables for development, your CI and/or hosting platform will most likely need -> these defined as well. Consult their documentation how to do this. For example, see the documentation for [Travis CI](https://docs.travis-ci.com/user/environment-variables/) or [Heroku](https://devcenter.heroku.com/articles/config-vars). - -#### Expanding Environment Variables In `.env` - -> Note: this feature is available with `react-scripts@1.1.0` and higher. - -Expand variables already on your machine for use in your `.env` file (using [dotenv-expand](https://github.com/motdotla/dotenv-expand)). - -For example, to get the environment variable `npm_package_version`: - -``` -REACT_APP_VERSION=$npm_package_version -# also works: -# REACT_APP_VERSION=${npm_package_version} -``` - -Or expand variables local to the current `.env` file: - -``` -DOMAIN=www.example.com -REACT_APP_FOO=$DOMAIN/foo -REACT_APP_BAR=$DOMAIN/bar -``` - -## Can I Use Decorators? - -Some popular libraries use [decorators](https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841) in their documentation.
-Create React App intentionally doesn’t support decorator syntax at the moment because: - -- It is an experimental proposal and is subject to change (in fact, it has already changed once, and will change again). -- Most libraries currently support only the old version of the proposal — which will never be a standard. - -However in many cases you can rewrite decorator-based code without decorators just as fine.
-Please refer to these two threads for reference: - -- [#214](https://github.com/facebook/create-react-app/issues/214) -- [#411](https://github.com/facebook/create-react-app/issues/411) - -Create React App will add decorator support when the specification advances to a stable stage. - -## Fetching Data with AJAX Requests - -React doesn't prescribe a specific approach to data fetching, but people commonly use either a library like [axios](https://github.com/axios/axios) or the [`fetch()` API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) provided by the browser. - -The global `fetch` function allows you to easily make AJAX requests. It takes in a URL as an input and returns a `Promise` that resolves to a `Response` object. You can find more information about `fetch` [here](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch). - -A Promise represents the eventual result of an asynchronous operation, you can find more information about Promises [here](https://www.promisejs.org/) and [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise). Both axios and `fetch()` use Promises under the hood. You can also use the [`async / await`](https://davidwalsh.name/async-await) syntax to reduce the callback nesting. - -Make sure the [`fetch()` API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) are available in your target audience's browsers. -For example, support in Internet Explorer requires a [polyfill](https://github.com/facebook/create-react-app/blob/master/packages/react-app-polyfill/README.md). - -You can learn more about making AJAX requests from React components in [the FAQ entry on the React website](https://reactjs.org/docs/faq-ajax.html). - -## Integrating with an API Backend - -These tutorials will help you to integrate your app with an API backend running on another port, -using `fetch()` to access it. - -### Node - -Check out [this tutorial](https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/). -You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo). - -### Ruby on Rails - -Check out [this tutorial](https://www.fullstackreact.com/articles/how-to-get-create-react-app-to-work-with-your-rails-api/). -You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo-rails). - -### API Platform (PHP and Symfony) - -[API Platform](https://api-platform.com) is a framework designed to build API-driven projects. -It allows to create hypermedia and GraphQL APIs in minutes. -It is shipped with an official Progressive Web App generator as well as a dynamic administration interface, both built for Create React App. -Check out [this tutorial](https://api-platform.com/docs/distribution). - -## Proxying API Requests in Development - -> Note: this feature is available with `react-scripts@0.2.3` and higher. - -People often serve the front-end React app from the same host and port as their backend implementation.
-For example, a production setup might look like this after the app is deployed: - -``` -/ - static server returns index.html with React app -/todos - static server returns index.html with React app -/api/todos - server handles any /api/* requests using the backend implementation -``` - -Such setup is **not** required. However, if you **do** have a setup like this, it is convenient to write requests like `fetch('/api/todos')` without worrying about redirecting them to another host or port during development. - -To tell the development server to proxy any unknown requests to your API server in development, add a `proxy` field to your `package.json`, for example: - -```js - "proxy": "http://localhost:4000", -``` - -This way, when you `fetch('/api/todos')` in development, the development server will recognize that it’s not a static asset, and will proxy your request to `http://localhost:4000/api/todos` as a fallback. The development server will **only** attempt to send requests without `text/html` in its `Accept` header to the proxy. - -Conveniently, this avoids [CORS issues](http://stackoverflow.com/questions/21854516/understanding-ajax-cors-and-security-considerations) and error messages like this in development: - -``` -Fetch API cannot load http://localhost:4000/api/todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. -``` - -Keep in mind that `proxy` only has effect in development (with `npm start`), and it is up to you to ensure that URLs like `/api/todos` point to the right thing in production. You don’t have to use the `/api` prefix. Any unrecognized request without a `text/html` accept header will be redirected to the specified `proxy`. - -The `proxy` option supports HTTP, HTTPS and WebSocket connections.
-If the `proxy` option is **not** flexible enough for you, alternatively you can: - -- [Configure the proxy yourself](#configuring-the-proxy-manually) -- Enable CORS on your server ([here’s how to do it for Express](http://enable-cors.org/server_expressjs.html)). -- Use [environment variables](#adding-custom-environment-variables) to inject the right server host and port into your app. - -### "Invalid Host Header" Errors After Configuring Proxy - -When you enable the `proxy` option, you opt into a more strict set of host checks. This is necessary because leaving the backend open to remote hosts makes your computer vulnerable to DNS rebinding attacks. The issue is explained in [this article](https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a) and [this issue](https://github.com/webpack/webpack-dev-server/issues/887). - -This shouldn’t affect you when developing on `localhost`, but if you develop remotely like [described here](https://github.com/facebook/create-react-app/issues/2271), you will see this error in the browser after enabling the `proxy` option: - -> Invalid Host header - -To work around it, you can specify your public development host in a file called `.env.development` in the root of your project: - -``` -HOST=mypublicdevhost.com -``` - -If you restart the development server now and load the app from the specified host, it should work. - -If you are still having issues or if you’re using a more exotic environment like a cloud editor, you can bypass the host check completely by adding a line to `.env.development.local`. **Note that this is dangerous and exposes your machine to remote code execution from malicious websites:** - -``` -# NOTE: THIS IS DANGEROUS! -# It exposes your machine to attacks from the websites you visit. -DANGEROUSLY_DISABLE_HOST_CHECK=true -``` - -We don’t recommend this approach. - -### Configuring the Proxy Manually - -> Note: this feature is available with `react-scripts@2.0.0` and higher. - -If the `proxy` option is **not** flexible enough for you, you can get direct access to the Express app instance and hook up your own proxy middleware. - -You can use this feature in conjunction with the `proxy` property in `package.json`, but it is recommended you consolidate all of your logic into `src/setupProxy.js`. - -First, install `http-proxy-middleware` using npm or Yarn: - -```bash -$ npm install http-proxy-middleware --save -$ # or -$ yarn add http-proxy-middleware -``` - -Next, create `src/setupProxy.js` and place the following contents in it: - -```js -const proxy = require('http-proxy-middleware'); - -module.exports = function(app) { - // ... -}; -``` - -You can now register proxies as you wish! Here's an example using the above `http-proxy-middleware`: - -```js -const proxy = require('http-proxy-middleware'); - -module.exports = function(app) { - app.use(proxy('/api', { target: 'http://localhost:5000/' })); -}; -``` - -> **Note:** You do not need to import this file anywhere. It is automatically registered when you start the development server. - -> **Note:** This file only supports Node's JavaScript syntax. Be sure to only use supported language features (i.e. no support for Flow, ES Modules, etc). - -> **Note:** Passing the path to the proxy function allows you to use globbing and/or pattern matching on the path, which is more flexible than the express route matching. - -## Using HTTPS in Development - -> Note: this feature is available with `react-scripts@0.4.0` and higher. - -You may require the dev server to serve pages over HTTPS. One particular case where this could be useful is when using [the "proxy" feature](#proxying-api-requests-in-development) to proxy requests to an API server when that API server is itself serving HTTPS. - -To do this, set the `HTTPS` environment variable to `true`, then start the dev server as usual with `npm start`: - -#### Windows (cmd.exe) - -```cmd -set HTTPS=true&&npm start -``` - -(Note: the lack of whitespace is intentional.) - -#### Windows (Powershell) - -```Powershell -($env:HTTPS = "true") -and (npm start) -``` - -#### Linux, macOS (Bash) - -```bash -HTTPS=true npm start -``` - -Note that the server will use a self-signed certificate, so your web browser will almost definitely display a warning upon accessing the page. - -## Generating Dynamic `` Tags on the Server - -Since Create React App doesn’t support server rendering, you might be wondering how to make `` tags dynamic and reflect the current URL. To solve this, we recommend to add placeholders into the HTML, like this: - -```html - - - - - -``` - -Then, on the server, regardless of the backend you use, you can read `index.html` into memory and replace `__OG_TITLE__`, `__OG_DESCRIPTION__`, and any other placeholders with values depending on the current URL. Just make sure to sanitize and escape the interpolated values so that they are safe to embed into HTML! - -If you use a Node server, you can even share the route matching logic between the client and the server. However duplicating it also works fine in simple cases. - -## Pre-Rendering into Static HTML Files - -If you’re hosting your `build` with a static hosting provider you can use [react-snapshot](https://www.npmjs.com/package/react-snapshot) or [react-snap](https://github.com/stereobooster/react-snap) to generate HTML pages for each route, or relative link, in your application. These pages will then seamlessly become active, or “hydrated”, when the JavaScript bundle has loaded. - -There are also opportunities to use this outside of static hosting, to take the pressure off the server when generating and caching routes. - -The primary benefit of pre-rendering is that you get the core content of each page _with_ the HTML payload—regardless of whether or not your JavaScript bundle successfully downloads. It also increases the likelihood that each route of your application will be picked up by search engines. - -You can read more about [zero-configuration pre-rendering (also called snapshotting) here](https://medium.com/superhighfives/an-almost-static-stack-6df0a2791319). - -## Injecting Data from the Server into the Page - -Similarly to the previous section, you can leave some placeholders in the HTML that inject global variables, for example: - -```js - - - - -``` - -Then, on the server, you can replace `__SERVER_DATA__` with a JSON of real data right before sending the response. The client code can then read `window.SERVER_DATA` to use it. **Make sure to [sanitize the JSON before sending it to the client](https://medium.com/node-security/the-most-common-xss-vulnerability-in-react-js-applications-2bdffbcc1fa0) as it makes your app vulnerable to XSS attacks.** - -## Running Tests - -> Note: this feature is available with `react-scripts@0.3.0` and higher.
- -> [Read the migration guide to learn how to enable it in older projects!](https://github.com/facebook/create-react-app/blob/master/CHANGELOG.md#migrating-from-023-to-030) - -Create React App uses [Jest](https://facebook.github.io/jest/) as its test runner. To prepare for this integration, we did a [major revamp](https://facebook.github.io/jest/blog/2016/09/01/jest-15.html) of Jest so if you heard bad things about it years ago, give it another try. - -Jest is a Node-based runner. This means that the tests always run in a Node environment and not in a real browser. This lets us enable fast iteration speed and prevent flakiness. - -While Jest provides browser globals such as `window` thanks to [jsdom](https://github.com/tmpvar/jsdom), they are only approximations of the real browser behavior. Jest is intended to be used for unit tests of your logic and your components rather than the DOM quirks. - -We recommend that you use a separate tool for browser end-to-end tests if you need them. They are beyond the scope of Create React App. - -### Filename Conventions - -Jest will look for test files with any of the following popular naming conventions: - -- Files with `.js` suffix in `__tests__` folders. -- Files with `.test.js` suffix. -- Files with `.spec.js` suffix. - -The `.test.js` / `.spec.js` files (or the `__tests__` folders) can be located at any depth under the `src` top level folder. - -We recommend to put the test files (or `__tests__` folders) next to the code they are testing so that relative imports appear shorter. For example, if `App.test.js` and `App.tsx` are in the same folder, the test just needs to `import App from './App'` instead of a long relative path. Colocation also helps find tests more quickly in larger projects. - -### Command Line Interface - -When you run `npm test`, Jest will launch in the watch mode. Every time you save a file, it will re-run the tests, just like `npm start` recompiles the code. - -The watcher includes an interactive command-line interface with the ability to run all tests, or focus on a search pattern. It is designed this way so that you can keep it open and enjoy fast re-runs. You can learn the commands from the “Watch Usage” note that the watcher prints after every run: - -![Jest watch mode](http://facebook.github.io/jest/img/blog/15-watch.gif) - -### Version Control Integration - -By default, when you run `npm test`, Jest will only run the tests related to files changed since the last commit. This is an optimization designed to make your tests run fast regardless of how many tests you have. However it assumes that you don’t often commit the code that doesn’t pass the tests. - -Jest will always explicitly mention that it only ran tests related to the files changed since the last commit. You can also press `a` in the watch mode to force Jest to run all tests. - -Jest will always run all tests on a [continuous integration](#continuous-integration) server or if the project is not inside a Git or Mercurial repository. - -### Writing Tests - -To create tests, add `it()` (or `test()`) blocks with the name of the test and its code. You may optionally wrap them in `describe()` blocks for logical grouping but this is neither required nor recommended. - -Jest provides a built-in `expect()` global function for making assertions. A basic test could look like this: - -```js -import sum from './sum'; - -it('sums numbers', () => { - expect(sum(1, 2)).toEqual(3); - expect(sum(2, 2)).toEqual(4); -}); -``` - -All `expect()` matchers supported by Jest are [extensively documented here](https://facebook.github.io/jest/docs/en/expect.html#content).
-You can also use [`jest.fn()` and `expect(fn).toBeCalled()`](https://facebook.github.io/jest/docs/en/expect.html#tohavebeencalled) to create “spies” or mock functions. - -### Testing Components - -There is a broad spectrum of component testing techniques. They range from a “smoke test” verifying that a component renders without throwing, to shallow rendering and testing some of the output, to full rendering and testing component lifecycle and state changes. - -Different projects choose different testing tradeoffs based on how often components change, and how much logic they contain. If you haven’t decided on a testing strategy yet, we recommend that you start with creating simple smoke tests for your components: - -```js -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); -``` - -This test mounts a component and makes sure that it didn’t throw during rendering. Tests like this provide a lot of value with very little effort so they are great as a starting point, and this is the test you will find in `src/App.test.js`. - -When you encounter bugs caused by changing components, you will gain a deeper insight into which parts of them are worth testing in your application. This might be a good time to introduce more specific tests asserting specific expected output or behavior. - -If you’d like to test components in isolation from the child components they render, we recommend using [`shallow()` rendering API](http://airbnb.io/enzyme/docs/api/shallow.html) from [Enzyme](http://airbnb.io/enzyme/). To install it, run: - -```sh -npm install --save enzyme enzyme-adapter-react-16 react-test-renderer -``` - -Alternatively you may use `yarn`: - -```sh -yarn add enzyme enzyme-adapter-react-16 react-test-renderer -``` - -As of Enzyme 3, you will need to install Enzyme along with an Adapter corresponding to the version of React you are using. (The examples above use the adapter for React 16.) - -The adapter will also need to be configured in your [global setup file](#initializing-test-environment): - -#### `src/setupTests.js` - -```js -import { configure } from 'enzyme'; -import Adapter from 'enzyme-adapter-react-16'; - -configure({ adapter: new Adapter() }); -``` - -> Note: Keep in mind that if you decide to "eject" before creating `src/setupTests.js`, the resulting `package.json` file won't contain any reference to it. [Read here](#initializing-test-environment) to learn how to add this after ejecting. - -Now you can write a smoke test with it: - -```js -import React from 'react'; -import { shallow } from 'enzyme'; -import App from './App'; - -it('renders without crashing', () => { - shallow(); -}); -``` - -Unlike the previous smoke test using `ReactDOM.render()`, this test only renders `` and doesn’t go deeper. For example, even if `` itself renders a `