iobroker.iot 4.1.0 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +1 -518
  2. package/admin/assets/{index-Ck_2gqQY.js → index-6Itc0U48.js} +18 -18
  3. package/admin/index_m.html +1 -1
  4. package/build/lib/AlexaSmartHomeV3/Alexa/AlexaResponse.js +6 -0
  5. package/build/lib/AlexaSmartHomeV3/Alexa/AlexaResponse.js.map +1 -1
  6. package/build/lib/AlexaSmartHomeV3/Alexa/ModeValues/Open.js +1 -1
  7. package/build/lib/AlexaSmartHomeV3/Alexa/ModeValues/Open.js.map +1 -1
  8. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/DetectionState.js +6 -0
  9. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/DetectionState.js.map +1 -1
  10. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/LockState.js +20 -0
  11. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/LockState.js.map +1 -1
  12. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Mode.js +14 -0
  13. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Mode.js.map +1 -1
  14. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/PowerState.js +6 -0
  15. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/PowerState.js.map +1 -1
  16. package/build/lib/AlexaSmartHomeV3/Controls/AirCondition.js +1 -2
  17. package/build/lib/AlexaSmartHomeV3/Controls/AirCondition.js.map +1 -1
  18. package/build/lib/AlexaSmartHomeV3/Controls/Lock.js +1 -1
  19. package/build/lib/AlexaSmartHomeV3/Controls/Lock.js.map +1 -1
  20. package/build/lib/AlexaSmartHomeV3/DeviceManager.js +16 -10
  21. package/build/lib/AlexaSmartHomeV3/DeviceManager.js.map +1 -1
  22. package/build/lib/AlexaSmartHomeV3/Helpers/FileHelper.js +1 -3
  23. package/build/lib/AlexaSmartHomeV3/Helpers/FileHelper.js.map +1 -1
  24. package/build/lib/AlexaSmartHomeV3/Helpers/RateLimiter.js +23 -16
  25. package/build/lib/AlexaSmartHomeV3/Helpers/RateLimiter.js.map +1 -1
  26. package/build/lib/AlexaSmartHomeV3/Helpers/Utils.js +0 -1
  27. package/build/lib/AlexaSmartHomeV3/Helpers/Utils.js.map +1 -1
  28. package/build/main.js +23 -3
  29. package/build/main.js.map +1 -1
  30. package/io-package.json +14 -14
  31. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- var sI=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var M1t=sI((Jn,Xn)=>{function iI(t,e){for(var r=0;r<e.length;r++){const n=e[r];if(typeof n!="string"&&!Array.isArray(n)){for(const o in n)if(o!=="default"&&!(o in t)){const a=Object.getOwnPropertyDescriptor(n,o);a&&Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:()=>n[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 s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).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 ih=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function js(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var C_={exports:{}},bd={},$_={exports:{}},bt={};/**
1
+ var sI=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hbt=sI((Jn,Xn)=>{function iI(t,e){for(var r=0;r<e.length;r++){const n=e[r];if(typeof n!="string"&&!Array.isArray(n)){for(const o in n)if(o!=="default"&&!(o in t)){const a=Object.getOwnPropertyDescriptor(n,o);a&&Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:()=>n[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 s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).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 ih=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function js(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var C_={exports:{}},bd={},$_={exports:{}},bt={};/**
2
2
  * @license React
3
3
  * react.production.min.js
4
4
  *
@@ -37,7 +37,7 @@ var sI=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var M1t=sI((Jn,Xn
37
37
  `+S[R].replace(" at new "," at ");return i.displayName&&V.includes("<anonymous>")&&(V=V.replace("<anonymous>",i.displayName)),V}while(1<=R&&0<=F);break}}}finally{ce=!1,Error.prepareStackTrace=h}return(i=i?i.displayName||i.name:"")?J(i):""}function pe(i){switch(i.tag){case 5:return J(i.type);case 16:return J("Lazy");case 13:return J("Suspense");case 19:return J("SuspenseList");case 0:case 2:case 15:return i=de(i.type,!1),i;case 11:return i=de(i.type.render,!1),i;case 1:return i=de(i.type,!0),i;default:return""}}function me(i){if(i==null)return null;if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case M:return"Fragment";case E:return"Portal";case z:return"Profiler";case j:return"StrictMode";case U:return"Suspense";case W:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case L:return(i.displayName||"Context")+".Consumer";case $:return(i._context.displayName||"Context")+".Provider";case H:var c=i.render;return i=i.displayName,i||(i=c.displayName||c.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case B:return c=i.displayName||null,c!==null?c:me(i.type)||"Memo";case K:c=i._payload,i=i._init;try{return me(i(c))}catch{}}return null}function Oe(i){var c=i.type;switch(i.tag){case 24:return"Cache";case 9:return(c.displayName||"Context")+".Consumer";case 10:return(c._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return i=c.render,i=i.displayName||i.name||"",c.displayName||(i!==""?"ForwardRef("+i+")":"ForwardRef");case 7:return"Fragment";case 5:return c;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return me(c);case 8:return c===j?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof c=="function")return c.displayName||c.name||null;if(typeof c=="string")return c}return null}function $e(i){switch(typeof i){case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function De(i){var c=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(c==="checkbox"||c==="radio")}function Te(i){var c=De(i)?"checked":"value",h=Object.getOwnPropertyDescriptor(i.constructor.prototype,c),v=""+i[c];if(!i.hasOwnProperty(c)&&typeof h<"u"&&typeof h.get=="function"&&typeof h.set=="function"){var S=h.get,k=h.set;return Object.defineProperty(i,c,{configurable:!0,get:function(){return S.call(this)},set:function(R){v=""+R,k.call(this,R)}}),Object.defineProperty(i,c,{enumerable:h.enumerable}),{getValue:function(){return v},setValue:function(R){v=""+R},stopTracking:function(){i._valueTracker=null,delete i[c]}}}}function Ve(i){i._valueTracker||(i._valueTracker=Te(i))}function Ne(i){if(!i)return!1;var c=i._valueTracker;if(!c)return!0;var h=c.getValue(),v="";return i&&(v=De(i)?i.checked?"true":"false":i.value),i=v,i!==h?(c.setValue(i),!0):!1}function it(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function xe(i,c){var h=c.checked;return ne({},c,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:h??i._wrapperState.initialChecked})}function Ae(i,c){var h=c.defaultValue==null?"":c.defaultValue,v=c.checked!=null?c.checked:c.defaultChecked;h=$e(c.value!=null?c.value:h),i._wrapperState={initialChecked:v,initialValue:h,controlled:c.type==="checkbox"||c.type==="radio"?c.checked!=null:c.value!=null}}function kt(i,c){c=c.checked,c!=null&&O(i,"checked",c,!1)}function we(i,c){kt(i,c);var h=$e(c.value),v=c.type;if(h!=null)v==="number"?(h===0&&i.value===""||i.value!=h)&&(i.value=""+h):i.value!==""+h&&(i.value=""+h);else if(v==="submit"||v==="reset"){i.removeAttribute("value");return}c.hasOwnProperty("value")?ft(i,c.type,h):c.hasOwnProperty("defaultValue")&&ft(i,c.type,$e(c.defaultValue)),c.checked==null&&c.defaultChecked!=null&&(i.defaultChecked=!!c.defaultChecked)}function qe(i,c,h){if(c.hasOwnProperty("value")||c.hasOwnProperty("defaultValue")){var v=c.type;if(!(v!=="submit"&&v!=="reset"||c.value!==void 0&&c.value!==null))return;c=""+i._wrapperState.initialValue,h||c===i.value||(i.value=c),i.defaultValue=c}h=i.name,h!==""&&(i.name=""),i.defaultChecked=!!i._wrapperState.initialChecked,h!==""&&(i.name=h)}function ft(i,c,h){(c!=="number"||it(i.ownerDocument)!==i)&&(h==null?i.defaultValue=""+i._wrapperState.initialValue:i.defaultValue!==""+h&&(i.defaultValue=""+h))}var lt=Array.isArray;function st(i,c,h,v){if(i=i.options,c){c={};for(var S=0;S<h.length;S++)c["$"+h[S]]=!0;for(h=0;h<i.length;h++)S=c.hasOwnProperty("$"+i[h].value),i[h].selected!==S&&(i[h].selected=S),S&&v&&(i[h].defaultSelected=!0)}else{for(h=""+$e(h),c=null,S=0;S<i.length;S++){if(i[S].value===h){i[S].selected=!0,v&&(i[S].defaultSelected=!0);return}c!==null||i[S].disabled||(c=i[S])}c!==null&&(c.selected=!0)}}function Se(i,c){if(c.dangerouslySetInnerHTML!=null)throw Error(r(91));return ne({},c,{value:void 0,defaultValue:void 0,children:""+i._wrapperState.initialValue})}function vt(i,c){var h=c.value;if(h==null){if(h=c.children,c=c.defaultValue,h!=null){if(c!=null)throw Error(r(92));if(lt(h)){if(1<h.length)throw Error(r(93));h=h[0]}c=h}c==null&&(c=""),h=c}i._wrapperState={initialValue:$e(h)}}function le(i,c){var h=$e(c.value),v=$e(c.defaultValue);h!=null&&(h=""+h,h!==i.value&&(i.value=h),c.defaultValue==null&&i.defaultValue!==h&&(i.defaultValue=h)),v!=null&&(i.defaultValue=""+v)}function be(i){var c=i.textContent;c===i._wrapperState.initialValue&&c!==""&&c!==null&&(i.value=c)}function Ze(i){switch(i){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function nt(i,c){return i==null||i==="http://www.w3.org/1999/xhtml"?Ze(c):i==="http://www.w3.org/2000/svg"&&c==="foreignObject"?"http://www.w3.org/1999/xhtml":i}var Qe,Wt=(function(i){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(c,h,v,S){MSApp.execUnsafeLocalFunction(function(){return i(c,h,v,S)})}:i})(function(i,c){if(i.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in i)i.innerHTML=c;else{for(Qe=Qe||document.createElement("div"),Qe.innerHTML="<svg>"+c.valueOf().toString()+"</svg>",c=Qe.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;c.firstChild;)i.appendChild(c.firstChild)}});function Lt(i,c){if(c){var h=i.firstChild;if(h&&h===i.lastChild&&h.nodeType===3){h.nodeValue=c;return}}i.textContent=c}var ot={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ir=["Webkit","ms","Moz","O"];Object.keys(ot).forEach(function(i){ir.forEach(function(c){c=c+i.charAt(0).toUpperCase()+i.substring(1),ot[c]=ot[i]})});function It(i,c,h){return c==null||typeof c=="boolean"||c===""?"":h||typeof c!="number"||c===0||ot.hasOwnProperty(i)&&ot[i]?(""+c).trim():c+"px"}function ke(i,c){i=i.style;for(var h in c)if(c.hasOwnProperty(h)){var v=h.indexOf("--")===0,S=It(h,c[h],v);h==="float"&&(h="cssFloat"),v?i.setProperty(h,S):i[h]=S}}var yt=ne({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Nt(i,c){if(c){if(yt[i]&&(c.children!=null||c.dangerouslySetInnerHTML!=null))throw Error(r(137,i));if(c.dangerouslySetInnerHTML!=null){if(c.children!=null)throw Error(r(60));if(typeof c.dangerouslySetInnerHTML!="object"||!("__html"in c.dangerouslySetInnerHTML))throw Error(r(61))}if(c.style!=null&&typeof c.style!="object")throw Error(r(62))}}function jr(i,c){if(i.indexOf("-")===-1)return typeof c.is=="string";switch(i){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zr=null;function eo(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var Ws=null,Bo=null,to=null;function Wi(i){if(i=ad(i)){if(typeof Ws!="function")throw Error(r(280));var c=i.stateNode;c&&(c=Sp(c),Ws(i.stateNode,i.type,c))}}function Hi(i){Bo?to?to.push(i):to=[i]:Bo=i}function Ui(){if(Bo){var i=Bo,c=to;if(to=Bo=null,Wi(i),c)for(i=0;i<c.length;i++)Wi(c[i])}}function Vi(i,c){return i(c)}function ht(){}var bn=!1;function je(i,c,h){if(bn)return i(c,h);bn=!0;try{return Vi(i,c,h)}finally{bn=!1,(Bo!==null||to!==null)&&(ht(),Ui())}}function Ye(i,c){var h=i.stateNode;if(h===null)return null;var v=Sp(h);if(v===null)return null;h=v[c];e:switch(c){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(v=!v.disabled)||(i=i.type,v=!(i==="button"||i==="input"||i==="select"||i==="textarea")),i=!v;break e;default:i=!1}if(i)return null;if(h&&typeof h!="function")throw Error(r(231,c,typeof h));return h}var Ot=!1;if(l)try{var St={};Object.defineProperty(St,"passive",{get:function(){Ot=!0}}),window.addEventListener("test",St,St),window.removeEventListener("test",St,St)}catch{Ot=!1}function gr(i,c,h,v,S,k,R,F,V){var te=Array.prototype.slice.call(arguments,3);try{c.apply(h,te)}catch(he){this.onError(he)}}var Kr=!1,ro=null,Wo=!1,qi=null,Fc={onError:function(i){Kr=!0,ro=i}};function fD(i,c,h,v,S,k,R,F,V){Kr=!1,ro=null,gr.apply(Fc,arguments)}function mD(i,c,h,v,S,k,R,F,V){if(fD.apply(this,arguments),Kr){if(Kr){var te=ro;Kr=!1,ro=null}else throw Error(r(198));Wo||(Wo=!0,qi=te)}}function Hs(i){var c=i,h=i;if(i.alternate)for(;c.return;)c=c.return;else{i=c;do c=i,(c.flags&4098)!==0&&(h=c.return),i=c.return;while(i)}return c.tag===3?h:null}function K2(i){if(i.tag===13){var c=i.memoizedState;if(c===null&&(i=i.alternate,i!==null&&(c=i.memoizedState)),c!==null)return c.dehydrated}return null}function Y2(i){if(Hs(i)!==i)throw Error(r(188))}function gD(i){var c=i.alternate;if(!c){if(c=Hs(i),c===null)throw Error(r(188));return c!==i?null:i}for(var h=i,v=c;;){var S=h.return;if(S===null)break;var k=S.alternate;if(k===null){if(v=S.return,v!==null){h=v;continue}break}if(S.child===k.child){for(k=S.child;k;){if(k===h)return Y2(S),i;if(k===v)return Y2(S),c;k=k.sibling}throw Error(r(188))}if(h.return!==v.return)h=S,v=k;else{for(var R=!1,F=S.child;F;){if(F===h){R=!0,h=S,v=k;break}if(F===v){R=!0,v=S,h=k;break}F=F.sibling}if(!R){for(F=k.child;F;){if(F===h){R=!0,h=k,v=S;break}if(F===v){R=!0,v=k,h=S;break}F=F.sibling}if(!R)throw Error(r(189))}}if(h.alternate!==v)throw Error(r(190))}if(h.tag!==3)throw Error(r(188));return h.stateNode.current===h?i:c}function Z2(i){return i=gD(i),i!==null?Q2(i):null}function Q2(i){if(i.tag===5||i.tag===6)return i;for(i=i.child;i!==null;){var c=Q2(i);if(c!==null)return c;i=i.sibling}return null}var eS=e.unstable_scheduleCallback,tS=e.unstable_cancelCallback,_D=e.unstable_shouldYield,vD=e.unstable_requestPaint,Sr=e.unstable_now,yD=e.unstable_getCurrentPriorityLevel,Vm=e.unstable_ImmediatePriority,rS=e.unstable_UserBlockingPriority,rp=e.unstable_NormalPriority,bD=e.unstable_LowPriority,nS=e.unstable_IdlePriority,np=null,Ho=null;function wD(i){if(Ho&&typeof Ho.onCommitFiberRoot=="function")try{Ho.onCommitFiberRoot(np,i,void 0,(i.current.flags&128)===128)}catch{}}var wo=Math.clz32?Math.clz32:kD,SD=Math.log,xD=Math.LN2;function kD(i){return i>>>=0,i===0?32:31-(SD(i)/xD|0)|0}var op=64,ap=4194304;function Bc(i){switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return i&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return i}}function sp(i,c){var h=i.pendingLanes;if(h===0)return 0;var v=0,S=i.suspendedLanes,k=i.pingedLanes,R=h&268435455;if(R!==0){var F=R&~S;F!==0?v=Bc(F):(k&=R,k!==0&&(v=Bc(k)))}else R=h&~S,R!==0?v=Bc(R):k!==0&&(v=Bc(k));if(v===0)return 0;if(c!==0&&c!==v&&(c&S)===0&&(S=v&-v,k=c&-c,S>=k||S===16&&(k&4194240)!==0))return c;if((v&4)!==0&&(v|=h&16),c=i.entangledLanes,c!==0)for(i=i.entanglements,c&=v;0<c;)h=31-wo(c),S=1<<h,v|=i[h],c&=~S;return v}function CD(i,c){switch(i){case 1:case 2:case 4:return c+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return c+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function $D(i,c){for(var h=i.suspendedLanes,v=i.pingedLanes,S=i.expirationTimes,k=i.pendingLanes;0<k;){var R=31-wo(k),F=1<<R,V=S[R];V===-1?((F&h)===0||(F&v)!==0)&&(S[R]=CD(F,c)):V<=c&&(i.expiredLanes|=F),k&=~F}}function qm(i){return i=i.pendingLanes&-1073741825,i!==0?i:i&1073741824?1073741824:0}function oS(){var i=op;return op<<=1,(op&4194240)===0&&(op=64),i}function Gm(i){for(var c=[],h=0;31>h;h++)c.push(i);return c}function Wc(i,c,h){i.pendingLanes|=c,c!==536870912&&(i.suspendedLanes=0,i.pingedLanes=0),i=i.eventTimes,c=31-wo(c),i[c]=h}function TD(i,c){var h=i.pendingLanes&~c;i.pendingLanes=c,i.suspendedLanes=0,i.pingedLanes=0,i.expiredLanes&=c,i.mutableReadLanes&=c,i.entangledLanes&=c,c=i.entanglements;var v=i.eventTimes;for(i=i.expirationTimes;0<h;){var S=31-wo(h),k=1<<S;c[S]=0,v[S]=-1,i[S]=-1,h&=~k}}function Jm(i,c){var h=i.entangledLanes|=c;for(i=i.entanglements;h;){var v=31-wo(h),S=1<<v;S&c|i[v]&c&&(i[v]|=c),h&=~S}}var Ft=0;function aS(i){return i&=-i,1<i?4<i?(i&268435455)!==0?16:536870912:4:1}var sS,Xm,iS,lS,cS,Km=!1,ip=[],qa=null,Ga=null,Ja=null,Hc=new Map,Uc=new Map,Xa=[],ED="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function dS(i,c){switch(i){case"focusin":case"focusout":qa=null;break;case"dragenter":case"dragleave":Ga=null;break;case"mouseover":case"mouseout":Ja=null;break;case"pointerover":case"pointerout":Hc.delete(c.pointerId);break;case"gotpointercapture":case"lostpointercapture":Uc.delete(c.pointerId)}}function Vc(i,c,h,v,S,k){return i===null||i.nativeEvent!==k?(i={blockedOn:c,domEventName:h,eventSystemFlags:v,nativeEvent:k,targetContainers:[S]},c!==null&&(c=ad(c),c!==null&&Xm(c)),i):(i.eventSystemFlags|=v,c=i.targetContainers,S!==null&&c.indexOf(S)===-1&&c.push(S),i)}function OD(i,c,h,v,S){switch(c){case"focusin":return qa=Vc(qa,i,c,h,v,S),!0;case"dragenter":return Ga=Vc(Ga,i,c,h,v,S),!0;case"mouseover":return Ja=Vc(Ja,i,c,h,v,S),!0;case"pointerover":var k=S.pointerId;return Hc.set(k,Vc(Hc.get(k)||null,i,c,h,v,S)),!0;case"gotpointercapture":return k=S.pointerId,Uc.set(k,Vc(Uc.get(k)||null,i,c,h,v,S)),!0}return!1}function uS(i){var c=Us(i.target);if(c!==null){var h=Hs(c);if(h!==null){if(c=h.tag,c===13){if(c=K2(h),c!==null){i.blockedOn=c,cS(i.priority,function(){iS(h)});return}}else if(c===3&&h.stateNode.current.memoizedState.isDehydrated){i.blockedOn=h.tag===3?h.stateNode.containerInfo:null;return}}}i.blockedOn=null}function lp(i){if(i.blockedOn!==null)return!1;for(var c=i.targetContainers;0<c.length;){var h=Zm(i.domEventName,i.eventSystemFlags,c[0],i.nativeEvent);if(h===null){h=i.nativeEvent;var v=new h.constructor(h.type,h);zr=v,h.target.dispatchEvent(v),zr=null}else return c=ad(h),c!==null&&Xm(c),i.blockedOn=h,!1;c.shift()}return!0}function pS(i,c,h){lp(i)&&h.delete(c)}function DD(){Km=!1,qa!==null&&lp(qa)&&(qa=null),Ga!==null&&lp(Ga)&&(Ga=null),Ja!==null&&lp(Ja)&&(Ja=null),Hc.forEach(pS),Uc.forEach(pS)}function qc(i,c){i.blockedOn===c&&(i.blockedOn=null,Km||(Km=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,DD)))}function Gc(i){function c(S){return qc(S,i)}if(0<ip.length){qc(ip[0],i);for(var h=1;h<ip.length;h++){var v=ip[h];v.blockedOn===i&&(v.blockedOn=null)}}for(qa!==null&&qc(qa,i),Ga!==null&&qc(Ga,i),Ja!==null&&qc(Ja,i),Hc.forEach(c),Uc.forEach(c),h=0;h<Xa.length;h++)v=Xa[h],v.blockedOn===i&&(v.blockedOn=null);for(;0<Xa.length&&(h=Xa[0],h.blockedOn===null);)uS(h),h.blockedOn===null&&Xa.shift()}var Gi=I.ReactCurrentBatchConfig,cp=!0;function AD(i,c,h,v){var S=Ft,k=Gi.transition;Gi.transition=null;try{Ft=1,Ym(i,c,h,v)}finally{Ft=S,Gi.transition=k}}function ID(i,c,h,v){var S=Ft,k=Gi.transition;Gi.transition=null;try{Ft=4,Ym(i,c,h,v)}finally{Ft=S,Gi.transition=k}}function Ym(i,c,h,v){if(cp){var S=Zm(i,c,h,v);if(S===null)mg(i,c,v,dp,h),dS(i,v);else if(OD(S,i,c,h,v))v.stopPropagation();else if(dS(i,v),c&4&&-1<ED.indexOf(i)){for(;S!==null;){var k=ad(S);if(k!==null&&sS(k),k=Zm(i,c,h,v),k===null&&mg(i,c,v,dp,h),k===S)break;S=k}S!==null&&v.stopPropagation()}else mg(i,c,v,null,h)}}var dp=null;function Zm(i,c,h,v){if(dp=null,i=eo(v),i=Us(i),i!==null)if(c=Hs(i),c===null)i=null;else if(h=c.tag,h===13){if(i=K2(c),i!==null)return i;i=null}else if(h===3){if(c.stateNode.current.memoizedState.isDehydrated)return c.tag===3?c.stateNode.containerInfo:null;i=null}else c!==i&&(i=null);return dp=i,null}function hS(i){switch(i){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(yD()){case Vm:return 1;case rS:return 4;case rp:case bD:return 16;case nS:return 536870912;default:return 16}default:return 16}}var Ka=null,Qm=null,up=null;function fS(){if(up)return up;var i,c=Qm,h=c.length,v,S="value"in Ka?Ka.value:Ka.textContent,k=S.length;for(i=0;i<h&&c[i]===S[i];i++);var R=h-i;for(v=1;v<=R&&c[h-v]===S[k-v];v++);return up=S.slice(i,1<v?1-v:void 0)}function pp(i){var c=i.keyCode;return"charCode"in i?(i=i.charCode,i===0&&c===13&&(i=13)):i=c,i===10&&(i=13),32<=i||i===13?i:0}function hp(){return!0}function mS(){return!1}function Ln(i){function c(h,v,S,k,R){this._reactName=h,this._targetInst=S,this.type=v,this.nativeEvent=k,this.target=R,this.currentTarget=null;for(var F in i)i.hasOwnProperty(F)&&(h=i[F],this[F]=h?h(k):k[F]);return this.isDefaultPrevented=(k.defaultPrevented!=null?k.defaultPrevented:k.returnValue===!1)?hp:mS,this.isPropagationStopped=mS,this}return ne(c.prototype,{preventDefault:function(){this.defaultPrevented=!0;var h=this.nativeEvent;h&&(h.preventDefault?h.preventDefault():typeof h.returnValue!="unknown"&&(h.returnValue=!1),this.isDefaultPrevented=hp)},stopPropagation:function(){var h=this.nativeEvent;h&&(h.stopPropagation?h.stopPropagation():typeof h.cancelBubble!="unknown"&&(h.cancelBubble=!0),this.isPropagationStopped=hp)},persist:function(){},isPersistent:hp}),c}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(i){return i.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},eg=Ln(Ji),Jc=ne({},Ji,{view:0,detail:0}),ND=Ln(Jc),tg,rg,Xc,fp=ne({},Jc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:og,button:0,buttons:0,relatedTarget:function(i){return i.relatedTarget===void 0?i.fromElement===i.srcElement?i.toElement:i.fromElement:i.relatedTarget},movementX:function(i){return"movementX"in i?i.movementX:(i!==Xc&&(Xc&&i.type==="mousemove"?(tg=i.screenX-Xc.screenX,rg=i.screenY-Xc.screenY):rg=tg=0,Xc=i),tg)},movementY:function(i){return"movementY"in i?i.movementY:rg}}),gS=Ln(fp),MD=ne({},fp,{dataTransfer:0}),RD=Ln(MD),jD=ne({},Jc,{relatedTarget:0}),ng=Ln(jD),zD=ne({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),PD=Ln(zD),LD=ne({},Ji,{clipboardData:function(i){return"clipboardData"in i?i.clipboardData:window.clipboardData}}),FD=Ln(LD),BD=ne({},Ji,{data:0}),_S=Ln(BD),WD={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},HD={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},UD={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function VD(i){var c=this.nativeEvent;return c.getModifierState?c.getModifierState(i):(i=UD[i])?!!c[i]:!1}function og(){return VD}var qD=ne({},Jc,{key:function(i){if(i.key){var c=WD[i.key]||i.key;if(c!=="Unidentified")return c}return i.type==="keypress"?(i=pp(i),i===13?"Enter":String.fromCharCode(i)):i.type==="keydown"||i.type==="keyup"?HD[i.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:og,charCode:function(i){return i.type==="keypress"?pp(i):0},keyCode:function(i){return i.type==="keydown"||i.type==="keyup"?i.keyCode:0},which:function(i){return i.type==="keypress"?pp(i):i.type==="keydown"||i.type==="keyup"?i.keyCode:0}}),GD=Ln(qD),JD=ne({},fp,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),vS=Ln(JD),XD=ne({},Jc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:og}),KD=Ln(XD),YD=ne({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),ZD=Ln(YD),QD=ne({},fp,{deltaX:function(i){return"deltaX"in i?i.deltaX:"wheelDeltaX"in i?-i.wheelDeltaX:0},deltaY:function(i){return"deltaY"in i?i.deltaY:"wheelDeltaY"in i?-i.wheelDeltaY:"wheelDelta"in i?-i.wheelDelta:0},deltaZ:0,deltaMode:0}),eA=Ln(QD),tA=[9,13,27,32],ag=l&&"CompositionEvent"in window,Kc=null;l&&"documentMode"in document&&(Kc=document.documentMode);var rA=l&&"TextEvent"in window&&!Kc,yS=l&&(!ag||Kc&&8<Kc&&11>=Kc),bS=" ",wS=!1;function SS(i,c){switch(i){case"keyup":return tA.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xS(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Xi=!1;function nA(i,c){switch(i){case"compositionend":return xS(c);case"keypress":return c.which!==32?null:(wS=!0,bS);case"textInput":return i=c.data,i===bS&&wS?null:i;default:return null}}function oA(i,c){if(Xi)return i==="compositionend"||!ag&&SS(i,c)?(i=fS(),up=Qm=Ka=null,Xi=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1<c.char.length)return c.char;if(c.which)return String.fromCharCode(c.which)}return null;case"compositionend":return yS&&c.locale!=="ko"?null:c.data;default:return null}}var aA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function kS(i){var c=i&&i.nodeName&&i.nodeName.toLowerCase();return c==="input"?!!aA[i.type]:c==="textarea"}function CS(i,c,h,v){Hi(v),c=yp(c,"onChange"),0<c.length&&(h=new eg("onChange","change",null,h,v),i.push({event:h,listeners:c}))}var Yc=null,Zc=null;function sA(i){HS(i,0)}function mp(i){var c=el(i);if(Ne(c))return i}function iA(i,c){if(i==="change")return c}var $S=!1;if(l){var sg;if(l){var ig="oninput"in document;if(!ig){var TS=document.createElement("div");TS.setAttribute("oninput","return;"),ig=typeof TS.oninput=="function"}sg=ig}else sg=!1;$S=sg&&(!document.documentMode||9<document.documentMode)}function ES(){Yc&&(Yc.detachEvent("onpropertychange",OS),Zc=Yc=null)}function OS(i){if(i.propertyName==="value"&&mp(Zc)){var c=[];CS(c,Zc,i,eo(i)),je(sA,c)}}function lA(i,c,h){i==="focusin"?(ES(),Yc=c,Zc=h,Yc.attachEvent("onpropertychange",OS)):i==="focusout"&&ES()}function cA(i){if(i==="selectionchange"||i==="keyup"||i==="keydown")return mp(Zc)}function dA(i,c){if(i==="click")return mp(c)}function uA(i,c){if(i==="input"||i==="change")return mp(c)}function pA(i,c){return i===c&&(i!==0||1/i===1/c)||i!==i&&c!==c}var So=typeof Object.is=="function"?Object.is:pA;function Qc(i,c){if(So(i,c))return!0;if(typeof i!="object"||i===null||typeof c!="object"||c===null)return!1;var h=Object.keys(i),v=Object.keys(c);if(h.length!==v.length)return!1;for(v=0;v<h.length;v++){var S=h[v];if(!d.call(c,S)||!So(i[S],c[S]))return!1}return!0}function DS(i){for(;i&&i.firstChild;)i=i.firstChild;return i}function AS(i,c){var h=DS(i);i=0;for(var v;h;){if(h.nodeType===3){if(v=i+h.textContent.length,i<=c&&v>=c)return{node:h,offset:c-i};i=v}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=DS(h)}}function IS(i,c){return i&&c?i===c?!0:i&&i.nodeType===3?!1:c&&c.nodeType===3?IS(i,c.parentNode):"contains"in i?i.contains(c):i.compareDocumentPosition?!!(i.compareDocumentPosition(c)&16):!1:!1}function NS(){for(var i=window,c=it();c instanceof i.HTMLIFrameElement;){try{var h=typeof c.contentWindow.location.href=="string"}catch{h=!1}if(h)i=c.contentWindow;else break;c=it(i.document)}return c}function lg(i){var c=i&&i.nodeName&&i.nodeName.toLowerCase();return c&&(c==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||c==="textarea"||i.contentEditable==="true")}function hA(i){var c=NS(),h=i.focusedElem,v=i.selectionRange;if(c!==h&&h&&h.ownerDocument&&IS(h.ownerDocument.documentElement,h)){if(v!==null&&lg(h)){if(c=v.start,i=v.end,i===void 0&&(i=c),"selectionStart"in h)h.selectionStart=c,h.selectionEnd=Math.min(i,h.value.length);else if(i=(c=h.ownerDocument||document)&&c.defaultView||window,i.getSelection){i=i.getSelection();var S=h.textContent.length,k=Math.min(v.start,S);v=v.end===void 0?k:Math.min(v.end,S),!i.extend&&k>v&&(S=v,v=k,k=S),S=AS(h,k);var R=AS(h,v);S&&R&&(i.rangeCount!==1||i.anchorNode!==S.node||i.anchorOffset!==S.offset||i.focusNode!==R.node||i.focusOffset!==R.offset)&&(c=c.createRange(),c.setStart(S.node,S.offset),i.removeAllRanges(),k>v?(i.addRange(c),i.extend(R.node,R.offset)):(c.setEnd(R.node,R.offset),i.addRange(c)))}}for(c=[],i=h;i=i.parentNode;)i.nodeType===1&&c.push({element:i,left:i.scrollLeft,top:i.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;h<c.length;h++)i=c[h],i.element.scrollLeft=i.left,i.element.scrollTop=i.top}}var fA=l&&"documentMode"in document&&11>=document.documentMode,Ki=null,cg=null,ed=null,dg=!1;function MS(i,c,h){var v=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;dg||Ki==null||Ki!==it(v)||(v=Ki,"selectionStart"in v&&lg(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),ed&&Qc(ed,v)||(ed=v,v=yp(cg,"onSelect"),0<v.length&&(c=new eg("onSelect","select",null,c,h),i.push({event:c,listeners:v}),c.target=Ki)))}function gp(i,c){var h={};return h[i.toLowerCase()]=c.toLowerCase(),h["Webkit"+i]="webkit"+c,h["Moz"+i]="moz"+c,h}var Yi={animationend:gp("Animation","AnimationEnd"),animationiteration:gp("Animation","AnimationIteration"),animationstart:gp("Animation","AnimationStart"),transitionend:gp("Transition","TransitionEnd")},ug={},RS={};l&&(RS=document.createElement("div").style,"AnimationEvent"in window||(delete Yi.animationend.animation,delete Yi.animationiteration.animation,delete Yi.animationstart.animation),"TransitionEvent"in window||delete Yi.transitionend.transition);function _p(i){if(ug[i])return ug[i];if(!Yi[i])return i;var c=Yi[i],h;for(h in c)if(c.hasOwnProperty(h)&&h in RS)return ug[i]=c[h];return i}var jS=_p("animationend"),zS=_p("animationiteration"),PS=_p("animationstart"),LS=_p("transitionend"),FS=new Map,BS="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ya(i,c){FS.set(i,c),a(c,[i])}for(var pg=0;pg<BS.length;pg++){var hg=BS[pg],mA=hg.toLowerCase(),gA=hg[0].toUpperCase()+hg.slice(1);Ya(mA,"on"+gA)}Ya(jS,"onAnimationEnd"),Ya(zS,"onAnimationIteration"),Ya(PS,"onAnimationStart"),Ya("dblclick","onDoubleClick"),Ya("focusin","onFocus"),Ya("focusout","onBlur"),Ya(LS,"onTransitionEnd"),s("onMouseEnter",["mouseout","mouseover"]),s("onMouseLeave",["mouseout","mouseover"]),s("onPointerEnter",["pointerout","pointerover"]),s("onPointerLeave",["pointerout","pointerover"]),a("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),a("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),a("onBeforeInput",["compositionend","keypress","textInput","paste"]),a("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var td="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),_A=new Set("cancel close invalid load scroll toggle".split(" ").concat(td));function WS(i,c,h){var v=i.type||"unknown-event";i.currentTarget=h,mD(v,c,void 0,i),i.currentTarget=null}function HS(i,c){c=(c&4)!==0;for(var h=0;h<i.length;h++){var v=i[h],S=v.event;v=v.listeners;e:{var k=void 0;if(c)for(var R=v.length-1;0<=R;R--){var F=v[R],V=F.instance,te=F.currentTarget;if(F=F.listener,V!==k&&S.isPropagationStopped())break e;WS(S,F,te),k=V}else for(R=0;R<v.length;R++){if(F=v[R],V=F.instance,te=F.currentTarget,F=F.listener,V!==k&&S.isPropagationStopped())break e;WS(S,F,te),k=V}}}if(Wo)throw i=qi,Wo=!1,qi=null,i}function or(i,c){var h=c[wg];h===void 0&&(h=c[wg]=new Set);var v=i+"__bubble";h.has(v)||(US(c,i,2,!1),h.add(v))}function fg(i,c,h){var v=0;c&&(v|=4),US(h,i,v,c)}var vp="_reactListening"+Math.random().toString(36).slice(2);function rd(i){if(!i[vp]){i[vp]=!0,n.forEach(function(h){h!=="selectionchange"&&(_A.has(h)||fg(h,!1,i),fg(h,!0,i))});var c=i.nodeType===9?i:i.ownerDocument;c===null||c[vp]||(c[vp]=!0,fg("selectionchange",!1,c))}}function US(i,c,h,v){switch(hS(c)){case 1:var S=AD;break;case 4:S=ID;break;default:S=Ym}h=S.bind(null,c,h,i),S=void 0,!Ot||c!=="touchstart"&&c!=="touchmove"&&c!=="wheel"||(S=!0),v?S!==void 0?i.addEventListener(c,h,{capture:!0,passive:S}):i.addEventListener(c,h,!0):S!==void 0?i.addEventListener(c,h,{passive:S}):i.addEventListener(c,h,!1)}function mg(i,c,h,v,S){var k=v;if((c&1)===0&&(c&2)===0&&v!==null)e:for(;;){if(v===null)return;var R=v.tag;if(R===3||R===4){var F=v.stateNode.containerInfo;if(F===S||F.nodeType===8&&F.parentNode===S)break;if(R===4)for(R=v.return;R!==null;){var V=R.tag;if((V===3||V===4)&&(V=R.stateNode.containerInfo,V===S||V.nodeType===8&&V.parentNode===S))return;R=R.return}for(;F!==null;){if(R=Us(F),R===null)return;if(V=R.tag,V===5||V===6){v=k=R;continue e}F=F.parentNode}}v=v.return}je(function(){var te=k,he=eo(h),_e=[];e:{var ue=FS.get(i);if(ue!==void 0){var Ee=eg,Be=i;switch(i){case"keypress":if(pp(h)===0)break e;case"keydown":case"keyup":Ee=GD;break;case"focusin":Be="focus",Ee=ng;break;case"focusout":Be="blur",Ee=ng;break;case"beforeblur":case"afterblur":Ee=ng;break;case"click":if(h.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Ee=gS;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Ee=RD;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Ee=KD;break;case jS:case zS:case PS:Ee=PD;break;case LS:Ee=ZD;break;case"scroll":Ee=ND;break;case"wheel":Ee=eA;break;case"copy":case"cut":case"paste":Ee=FD;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Ee=vS}var He=(c&4)!==0,xr=!He&&i==="scroll",Y=He?ue!==null?ue+"Capture":null:ue;He=[];for(var G=te,Q;G!==null;){Q=G;var ve=Q.stateNode;if(Q.tag===5&&ve!==null&&(Q=ve,Y!==null&&(ve=Ye(G,Y),ve!=null&&He.push(nd(G,ve,Q)))),xr)break;G=G.return}0<He.length&&(ue=new Ee(ue,Be,null,h,he),_e.push({event:ue,listeners:He}))}}if((c&7)===0){e:{if(ue=i==="mouseover"||i==="pointerover",Ee=i==="mouseout"||i==="pointerout",ue&&h!==zr&&(Be=h.relatedTarget||h.fromElement)&&(Us(Be)||Be[va]))break e;if((Ee||ue)&&(ue=he.window===he?he:(ue=he.ownerDocument)?ue.defaultView||ue.parentWindow:window,Ee?(Be=h.relatedTarget||h.toElement,Ee=te,Be=Be?Us(Be):null,Be!==null&&(xr=Hs(Be),Be!==xr||Be.tag!==5&&Be.tag!==6)&&(Be=null)):(Ee=null,Be=te),Ee!==Be)){if(He=gS,ve="onMouseLeave",Y="onMouseEnter",G="mouse",(i==="pointerout"||i==="pointerover")&&(He=vS,ve="onPointerLeave",Y="onPointerEnter",G="pointer"),xr=Ee==null?ue:el(Ee),Q=Be==null?ue:el(Be),ue=new He(ve,G+"leave",Ee,h,he),ue.target=xr,ue.relatedTarget=Q,ve=null,Us(he)===te&&(He=new He(Y,G+"enter",Be,h,he),He.target=Q,He.relatedTarget=xr,ve=He),xr=ve,Ee&&Be)t:{for(He=Ee,Y=Be,G=0,Q=He;Q;Q=Zi(Q))G++;for(Q=0,ve=Y;ve;ve=Zi(ve))Q++;for(;0<G-Q;)He=Zi(He),G--;for(;0<Q-G;)Y=Zi(Y),Q--;for(;G--;){if(He===Y||Y!==null&&He===Y.alternate)break t;He=Zi(He),Y=Zi(Y)}He=null}else He=null;Ee!==null&&VS(_e,ue,Ee,He,!1),Be!==null&&xr!==null&&VS(_e,xr,Be,He,!0)}}e:{if(ue=te?el(te):window,Ee=ue.nodeName&&ue.nodeName.toLowerCase(),Ee==="select"||Ee==="input"&&ue.type==="file")var Ge=iA;else if(kS(ue))if($S)Ge=uA;else{Ge=cA;var et=lA}else(Ee=ue.nodeName)&&Ee.toLowerCase()==="input"&&(ue.type==="checkbox"||ue.type==="radio")&&(Ge=dA);if(Ge&&(Ge=Ge(i,te))){CS(_e,Ge,h,he);break e}et&&et(i,ue,te),i==="focusout"&&(et=ue._wrapperState)&&et.controlled&&ue.type==="number"&&ft(ue,"number",ue.value)}switch(et=te?el(te):window,i){case"focusin":(kS(et)||et.contentEditable==="true")&&(Ki=et,cg=te,ed=null);break;case"focusout":ed=cg=Ki=null;break;case"mousedown":dg=!0;break;case"contextmenu":case"mouseup":case"dragend":dg=!1,MS(_e,h,he);break;case"selectionchange":if(fA)break;case"keydown":case"keyup":MS(_e,h,he)}var tt;if(ag)e:{switch(i){case"compositionstart":var ct="onCompositionStart";break e;case"compositionend":ct="onCompositionEnd";break e;case"compositionupdate":ct="onCompositionUpdate";break e}ct=void 0}else Xi?SS(i,h)&&(ct="onCompositionEnd"):i==="keydown"&&h.keyCode===229&&(ct="onCompositionStart");ct&&(yS&&h.locale!=="ko"&&(Xi||ct!=="onCompositionStart"?ct==="onCompositionEnd"&&Xi&&(tt=fS()):(Ka=he,Qm="value"in Ka?Ka.value:Ka.textContent,Xi=!0)),et=yp(te,ct),0<et.length&&(ct=new _S(ct,i,null,h,he),_e.push({event:ct,listeners:et}),tt?ct.data=tt:(tt=xS(h),tt!==null&&(ct.data=tt)))),(tt=rA?nA(i,h):oA(i,h))&&(te=yp(te,"onBeforeInput"),0<te.length&&(he=new _S("onBeforeInput","beforeinput",null,h,he),_e.push({event:he,listeners:te}),he.data=tt))}HS(_e,c)})}function nd(i,c,h){return{instance:i,listener:c,currentTarget:h}}function yp(i,c){for(var h=c+"Capture",v=[];i!==null;){var S=i,k=S.stateNode;S.tag===5&&k!==null&&(S=k,k=Ye(i,h),k!=null&&v.unshift(nd(i,k,S)),k=Ye(i,c),k!=null&&v.push(nd(i,k,S))),i=i.return}return v}function Zi(i){if(i===null)return null;do i=i.return;while(i&&i.tag!==5);return i||null}function VS(i,c,h,v,S){for(var k=c._reactName,R=[];h!==null&&h!==v;){var F=h,V=F.alternate,te=F.stateNode;if(V!==null&&V===v)break;F.tag===5&&te!==null&&(F=te,S?(V=Ye(h,k),V!=null&&R.unshift(nd(h,V,F))):S||(V=Ye(h,k),V!=null&&R.push(nd(h,V,F)))),h=h.return}R.length!==0&&i.push({event:c,listeners:R})}var vA=/\r\n?/g,yA=/\u0000|\uFFFD/g;function qS(i){return(typeof i=="string"?i:""+i).replace(vA,`
38
38
  `).replace(yA,"")}function bp(i,c,h){if(c=qS(c),qS(i)!==c&&h)throw Error(r(425))}function wp(){}var gg=null,_g=null;function vg(i,c){return i==="textarea"||i==="noscript"||typeof c.children=="string"||typeof c.children=="number"||typeof c.dangerouslySetInnerHTML=="object"&&c.dangerouslySetInnerHTML!==null&&c.dangerouslySetInnerHTML.__html!=null}var yg=typeof setTimeout=="function"?setTimeout:void 0,bA=typeof clearTimeout=="function"?clearTimeout:void 0,GS=typeof Promise=="function"?Promise:void 0,wA=typeof queueMicrotask=="function"?queueMicrotask:typeof GS<"u"?function(i){return GS.resolve(null).then(i).catch(SA)}:yg;function SA(i){setTimeout(function(){throw i})}function bg(i,c){var h=c,v=0;do{var S=h.nextSibling;if(i.removeChild(h),S&&S.nodeType===8)if(h=S.data,h==="/$"){if(v===0){i.removeChild(S),Gc(c);return}v--}else h!=="$"&&h!=="$?"&&h!=="$!"||v++;h=S}while(h);Gc(c)}function Za(i){for(;i!=null;i=i.nextSibling){var c=i.nodeType;if(c===1||c===3)break;if(c===8){if(c=i.data,c==="$"||c==="$!"||c==="$?")break;if(c==="/$")return null}}return i}function JS(i){i=i.previousSibling;for(var c=0;i;){if(i.nodeType===8){var h=i.data;if(h==="$"||h==="$!"||h==="$?"){if(c===0)return i;c--}else h==="/$"&&c++}i=i.previousSibling}return null}var Qi=Math.random().toString(36).slice(2),Uo="__reactFiber$"+Qi,od="__reactProps$"+Qi,va="__reactContainer$"+Qi,wg="__reactEvents$"+Qi,xA="__reactListeners$"+Qi,kA="__reactHandles$"+Qi;function Us(i){var c=i[Uo];if(c)return c;for(var h=i.parentNode;h;){if(c=h[va]||h[Uo]){if(h=c.alternate,c.child!==null||h!==null&&h.child!==null)for(i=JS(i);i!==null;){if(h=i[Uo])return h;i=JS(i)}return c}i=h,h=i.parentNode}return null}function ad(i){return i=i[Uo]||i[va],!i||i.tag!==5&&i.tag!==6&&i.tag!==13&&i.tag!==3?null:i}function el(i){if(i.tag===5||i.tag===6)return i.stateNode;throw Error(r(33))}function Sp(i){return i[od]||null}var Sg=[],tl=-1;function Qa(i){return{current:i}}function ar(i){0>tl||(i.current=Sg[tl],Sg[tl]=null,tl--)}function tr(i,c){tl++,Sg[tl]=i.current,i.current=c}var es={},Yr=Qa(es),wn=Qa(!1),Vs=es;function rl(i,c){var h=i.type.contextTypes;if(!h)return es;var v=i.stateNode;if(v&&v.__reactInternalMemoizedUnmaskedChildContext===c)return v.__reactInternalMemoizedMaskedChildContext;var S={},k;for(k in h)S[k]=c[k];return v&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=c,i.__reactInternalMemoizedMaskedChildContext=S),S}function Sn(i){return i=i.childContextTypes,i!=null}function xp(){ar(wn),ar(Yr)}function XS(i,c,h){if(Yr.current!==es)throw Error(r(168));tr(Yr,c),tr(wn,h)}function KS(i,c,h){var v=i.stateNode;if(c=c.childContextTypes,typeof v.getChildContext!="function")return h;v=v.getChildContext();for(var S in v)if(!(S in c))throw Error(r(108,Oe(i)||"Unknown",S));return ne({},h,v)}function kp(i){return i=(i=i.stateNode)&&i.__reactInternalMemoizedMergedChildContext||es,Vs=Yr.current,tr(Yr,i),tr(wn,wn.current),!0}function YS(i,c,h){var v=i.stateNode;if(!v)throw Error(r(169));h?(i=KS(i,c,Vs),v.__reactInternalMemoizedMergedChildContext=i,ar(wn),ar(Yr),tr(Yr,i)):ar(wn),tr(wn,h)}var ya=null,Cp=!1,xg=!1;function ZS(i){ya===null?ya=[i]:ya.push(i)}function CA(i){Cp=!0,ZS(i)}function ts(){if(!xg&&ya!==null){xg=!0;var i=0,c=Ft;try{var h=ya;for(Ft=1;i<h.length;i++){var v=h[i];do v=v(!0);while(v!==null)}ya=null,Cp=!1}catch(S){throw ya!==null&&(ya=ya.slice(i+1)),eS(Vm,ts),S}finally{Ft=c,xg=!1}}return null}var nl=[],ol=0,$p=null,Tp=0,no=[],oo=0,qs=null,ba=1,wa="";function Gs(i,c){nl[ol++]=Tp,nl[ol++]=$p,$p=i,Tp=c}function QS(i,c,h){no[oo++]=ba,no[oo++]=wa,no[oo++]=qs,qs=i;var v=ba;i=wa;var S=32-wo(v)-1;v&=~(1<<S),h+=1;var k=32-wo(c)+S;if(30<k){var R=S-S%5;k=(v&(1<<R)-1).toString(32),v>>=R,S-=R,ba=1<<32-wo(c)+S|h<<S|v,wa=k+i}else ba=1<<k|h<<S|v,wa=i}function kg(i){i.return!==null&&(Gs(i,1),QS(i,1,0))}function Cg(i){for(;i===$p;)$p=nl[--ol],nl[ol]=null,Tp=nl[--ol],nl[ol]=null;for(;i===qs;)qs=no[--oo],no[oo]=null,wa=no[--oo],no[oo]=null,ba=no[--oo],no[oo]=null}var Fn=null,Bn=null,lr=!1,xo=null;function ex(i,c){var h=lo(5,null,null,0);h.elementType="DELETED",h.stateNode=c,h.return=i,c=i.deletions,c===null?(i.deletions=[h],i.flags|=16):c.push(h)}function tx(i,c){switch(i.tag){case 5:var h=i.type;return c=c.nodeType!==1||h.toLowerCase()!==c.nodeName.toLowerCase()?null:c,c!==null?(i.stateNode=c,Fn=i,Bn=Za(c.firstChild),!0):!1;case 6:return c=i.pendingProps===""||c.nodeType!==3?null:c,c!==null?(i.stateNode=c,Fn=i,Bn=null,!0):!1;case 13:return c=c.nodeType!==8?null:c,c!==null?(h=qs!==null?{id:ba,overflow:wa}:null,i.memoizedState={dehydrated:c,treeContext:h,retryLane:1073741824},h=lo(18,null,null,0),h.stateNode=c,h.return=i,i.child=h,Fn=i,Bn=null,!0):!1;default:return!1}}function $g(i){return(i.mode&1)!==0&&(i.flags&128)===0}function Tg(i){if(lr){var c=Bn;if(c){var h=c;if(!tx(i,c)){if($g(i))throw Error(r(418));c=Za(h.nextSibling);var v=Fn;c&&tx(i,c)?ex(v,h):(i.flags=i.flags&-4097|2,lr=!1,Fn=i)}}else{if($g(i))throw Error(r(418));i.flags=i.flags&-4097|2,lr=!1,Fn=i}}}function rx(i){for(i=i.return;i!==null&&i.tag!==5&&i.tag!==3&&i.tag!==13;)i=i.return;Fn=i}function Ep(i){if(i!==Fn)return!1;if(!lr)return rx(i),lr=!0,!1;var c;if((c=i.tag!==3)&&!(c=i.tag!==5)&&(c=i.type,c=c!=="head"&&c!=="body"&&!vg(i.type,i.memoizedProps)),c&&(c=Bn)){if($g(i))throw nx(),Error(r(418));for(;c;)ex(i,c),c=Za(c.nextSibling)}if(rx(i),i.tag===13){if(i=i.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(317));e:{for(i=i.nextSibling,c=0;i;){if(i.nodeType===8){var h=i.data;if(h==="/$"){if(c===0){Bn=Za(i.nextSibling);break e}c--}else h!=="$"&&h!=="$!"&&h!=="$?"||c++}i=i.nextSibling}Bn=null}}else Bn=Fn?Za(i.stateNode.nextSibling):null;return!0}function nx(){for(var i=Bn;i;)i=Za(i.nextSibling)}function al(){Bn=Fn=null,lr=!1}function Eg(i){xo===null?xo=[i]:xo.push(i)}var $A=I.ReactCurrentBatchConfig;function sd(i,c,h){if(i=h.ref,i!==null&&typeof i!="function"&&typeof i!="object"){if(h._owner){if(h=h._owner,h){if(h.tag!==1)throw Error(r(309));var v=h.stateNode}if(!v)throw Error(r(147,i));var S=v,k=""+i;return c!==null&&c.ref!==null&&typeof c.ref=="function"&&c.ref._stringRef===k?c.ref:(c=function(R){var F=S.refs;R===null?delete F[k]:F[k]=R},c._stringRef=k,c)}if(typeof i!="string")throw Error(r(284));if(!h._owner)throw Error(r(290,i))}return i}function Op(i,c){throw i=Object.prototype.toString.call(c),Error(r(31,i==="[object Object]"?"object with keys {"+Object.keys(c).join(", ")+"}":i))}function ox(i){var c=i._init;return c(i._payload)}function ax(i){function c(Y,G){if(i){var Q=Y.deletions;Q===null?(Y.deletions=[G],Y.flags|=16):Q.push(G)}}function h(Y,G){if(!i)return null;for(;G!==null;)c(Y,G),G=G.sibling;return null}function v(Y,G){for(Y=new Map;G!==null;)G.key!==null?Y.set(G.key,G):Y.set(G.index,G),G=G.sibling;return Y}function S(Y,G){return Y=cs(Y,G),Y.index=0,Y.sibling=null,Y}function k(Y,G,Q){return Y.index=Q,i?(Q=Y.alternate,Q!==null?(Q=Q.index,Q<G?(Y.flags|=2,G):Q):(Y.flags|=2,G)):(Y.flags|=1048576,G)}function R(Y){return i&&Y.alternate===null&&(Y.flags|=2),Y}function F(Y,G,Q,ve){return G===null||G.tag!==6?(G=y_(Q,Y.mode,ve),G.return=Y,G):(G=S(G,Q),G.return=Y,G)}function V(Y,G,Q,ve){var Ge=Q.type;return Ge===M?he(Y,G,Q.props.children,ve,Q.key):G!==null&&(G.elementType===Ge||typeof Ge=="object"&&Ge!==null&&Ge.$$typeof===K&&ox(Ge)===G.type)?(ve=S(G,Q.props),ve.ref=sd(Y,G,Q),ve.return=Y,ve):(ve=Qp(Q.type,Q.key,Q.props,null,Y.mode,ve),ve.ref=sd(Y,G,Q),ve.return=Y,ve)}function te(Y,G,Q,ve){return G===null||G.tag!==4||G.stateNode.containerInfo!==Q.containerInfo||G.stateNode.implementation!==Q.implementation?(G=b_(Q,Y.mode,ve),G.return=Y,G):(G=S(G,Q.children||[]),G.return=Y,G)}function he(Y,G,Q,ve,Ge){return G===null||G.tag!==7?(G=ti(Q,Y.mode,ve,Ge),G.return=Y,G):(G=S(G,Q),G.return=Y,G)}function _e(Y,G,Q){if(typeof G=="string"&&G!==""||typeof G=="number")return G=y_(""+G,Y.mode,Q),G.return=Y,G;if(typeof G=="object"&&G!==null){switch(G.$$typeof){case N:return Q=Qp(G.type,G.key,G.props,null,Y.mode,Q),Q.ref=sd(Y,null,G),Q.return=Y,Q;case E:return G=b_(G,Y.mode,Q),G.return=Y,G;case K:var ve=G._init;return _e(Y,ve(G._payload),Q)}if(lt(G)||q(G))return G=ti(G,Y.mode,Q,null),G.return=Y,G;Op(Y,G)}return null}function ue(Y,G,Q,ve){var Ge=G!==null?G.key:null;if(typeof Q=="string"&&Q!==""||typeof Q=="number")return Ge!==null?null:F(Y,G,""+Q,ve);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case N:return Q.key===Ge?V(Y,G,Q,ve):null;case E:return Q.key===Ge?te(Y,G,Q,ve):null;case K:return Ge=Q._init,ue(Y,G,Ge(Q._payload),ve)}if(lt(Q)||q(Q))return Ge!==null?null:he(Y,G,Q,ve,null);Op(Y,Q)}return null}function Ee(Y,G,Q,ve,Ge){if(typeof ve=="string"&&ve!==""||typeof ve=="number")return Y=Y.get(Q)||null,F(G,Y,""+ve,Ge);if(typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case N:return Y=Y.get(ve.key===null?Q:ve.key)||null,V(G,Y,ve,Ge);case E:return Y=Y.get(ve.key===null?Q:ve.key)||null,te(G,Y,ve,Ge);case K:var et=ve._init;return Ee(Y,G,Q,et(ve._payload),Ge)}if(lt(ve)||q(ve))return Y=Y.get(Q)||null,he(G,Y,ve,Ge,null);Op(G,ve)}return null}function Be(Y,G,Q,ve){for(var Ge=null,et=null,tt=G,ct=G=0,Fr=null;tt!==null&&ct<Q.length;ct++){tt.index>ct?(Fr=tt,tt=null):Fr=tt.sibling;var At=ue(Y,tt,Q[ct],ve);if(At===null){tt===null&&(tt=Fr);break}i&&tt&&At.alternate===null&&c(Y,tt),G=k(At,G,ct),et===null?Ge=At:et.sibling=At,et=At,tt=Fr}if(ct===Q.length)return h(Y,tt),lr&&Gs(Y,ct),Ge;if(tt===null){for(;ct<Q.length;ct++)tt=_e(Y,Q[ct],ve),tt!==null&&(G=k(tt,G,ct),et===null?Ge=tt:et.sibling=tt,et=tt);return lr&&Gs(Y,ct),Ge}for(tt=v(Y,tt);ct<Q.length;ct++)Fr=Ee(tt,Y,ct,Q[ct],ve),Fr!==null&&(i&&Fr.alternate!==null&&tt.delete(Fr.key===null?ct:Fr.key),G=k(Fr,G,ct),et===null?Ge=Fr:et.sibling=Fr,et=Fr);return i&&tt.forEach(function(ds){return c(Y,ds)}),lr&&Gs(Y,ct),Ge}function He(Y,G,Q,ve){var Ge=q(Q);if(typeof Ge!="function")throw Error(r(150));if(Q=Ge.call(Q),Q==null)throw Error(r(151));for(var et=Ge=null,tt=G,ct=G=0,Fr=null,At=Q.next();tt!==null&&!At.done;ct++,At=Q.next()){tt.index>ct?(Fr=tt,tt=null):Fr=tt.sibling;var ds=ue(Y,tt,At.value,ve);if(ds===null){tt===null&&(tt=Fr);break}i&&tt&&ds.alternate===null&&c(Y,tt),G=k(ds,G,ct),et===null?Ge=ds:et.sibling=ds,et=ds,tt=Fr}if(At.done)return h(Y,tt),lr&&Gs(Y,ct),Ge;if(tt===null){for(;!At.done;ct++,At=Q.next())At=_e(Y,At.value,ve),At!==null&&(G=k(At,G,ct),et===null?Ge=At:et.sibling=At,et=At);return lr&&Gs(Y,ct),Ge}for(tt=v(Y,tt);!At.done;ct++,At=Q.next())At=Ee(tt,Y,ct,At.value,ve),At!==null&&(i&&At.alternate!==null&&tt.delete(At.key===null?ct:At.key),G=k(At,G,ct),et===null?Ge=At:et.sibling=At,et=At);return i&&tt.forEach(function(aI){return c(Y,aI)}),lr&&Gs(Y,ct),Ge}function xr(Y,G,Q,ve){if(typeof Q=="object"&&Q!==null&&Q.type===M&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case N:e:{for(var Ge=Q.key,et=G;et!==null;){if(et.key===Ge){if(Ge=Q.type,Ge===M){if(et.tag===7){h(Y,et.sibling),G=S(et,Q.props.children),G.return=Y,Y=G;break e}}else if(et.elementType===Ge||typeof Ge=="object"&&Ge!==null&&Ge.$$typeof===K&&ox(Ge)===et.type){h(Y,et.sibling),G=S(et,Q.props),G.ref=sd(Y,et,Q),G.return=Y,Y=G;break e}h(Y,et);break}else c(Y,et);et=et.sibling}Q.type===M?(G=ti(Q.props.children,Y.mode,ve,Q.key),G.return=Y,Y=G):(ve=Qp(Q.type,Q.key,Q.props,null,Y.mode,ve),ve.ref=sd(Y,G,Q),ve.return=Y,Y=ve)}return R(Y);case E:e:{for(et=Q.key;G!==null;){if(G.key===et)if(G.tag===4&&G.stateNode.containerInfo===Q.containerInfo&&G.stateNode.implementation===Q.implementation){h(Y,G.sibling),G=S(G,Q.children||[]),G.return=Y,Y=G;break e}else{h(Y,G);break}else c(Y,G);G=G.sibling}G=b_(Q,Y.mode,ve),G.return=Y,Y=G}return R(Y);case K:return et=Q._init,xr(Y,G,et(Q._payload),ve)}if(lt(Q))return Be(Y,G,Q,ve);if(q(Q))return He(Y,G,Q,ve);Op(Y,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"?(Q=""+Q,G!==null&&G.tag===6?(h(Y,G.sibling),G=S(G,Q),G.return=Y,Y=G):(h(Y,G),G=y_(Q,Y.mode,ve),G.return=Y,Y=G),R(Y)):h(Y,G)}return xr}var sl=ax(!0),sx=ax(!1),Dp=Qa(null),Ap=null,il=null,Og=null;function Dg(){Og=il=Ap=null}function Ag(i){var c=Dp.current;ar(Dp),i._currentValue=c}function Ig(i,c,h){for(;i!==null;){var v=i.alternate;if((i.childLanes&c)!==c?(i.childLanes|=c,v!==null&&(v.childLanes|=c)):v!==null&&(v.childLanes&c)!==c&&(v.childLanes|=c),i===h)break;i=i.return}}function ll(i,c){Ap=i,Og=il=null,i=i.dependencies,i!==null&&i.firstContext!==null&&((i.lanes&c)!==0&&(xn=!0),i.firstContext=null)}function ao(i){var c=i._currentValue;if(Og!==i)if(i={context:i,memoizedValue:c,next:null},il===null){if(Ap===null)throw Error(r(308));il=i,Ap.dependencies={lanes:0,firstContext:i}}else il=il.next=i;return c}var Js=null;function Ng(i){Js===null?Js=[i]:Js.push(i)}function ix(i,c,h,v){var S=c.interleaved;return S===null?(h.next=h,Ng(c)):(h.next=S.next,S.next=h),c.interleaved=h,Sa(i,v)}function Sa(i,c){i.lanes|=c;var h=i.alternate;for(h!==null&&(h.lanes|=c),h=i,i=i.return;i!==null;)i.childLanes|=c,h=i.alternate,h!==null&&(h.childLanes|=c),h=i,i=i.return;return h.tag===3?h.stateNode:null}var rs=!1;function Mg(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lx(i,c){i=i.updateQueue,c.updateQueue===i&&(c.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,effects:i.effects})}function xa(i,c){return{eventTime:i,lane:c,tag:0,payload:null,callback:null,next:null}}function ns(i,c,h){var v=i.updateQueue;if(v===null)return null;if(v=v.shared,(Dt&2)!==0){var S=v.pending;return S===null?c.next=c:(c.next=S.next,S.next=c),v.pending=c,Sa(i,h)}return S=v.interleaved,S===null?(c.next=c,Ng(v)):(c.next=S.next,S.next=c),v.interleaved=c,Sa(i,h)}function Ip(i,c,h){if(c=c.updateQueue,c!==null&&(c=c.shared,(h&4194240)!==0)){var v=c.lanes;v&=i.pendingLanes,h|=v,c.lanes=h,Jm(i,h)}}function cx(i,c){var h=i.updateQueue,v=i.alternate;if(v!==null&&(v=v.updateQueue,h===v)){var S=null,k=null;if(h=h.firstBaseUpdate,h!==null){do{var R={eventTime:h.eventTime,lane:h.lane,tag:h.tag,payload:h.payload,callback:h.callback,next:null};k===null?S=k=R:k=k.next=R,h=h.next}while(h!==null);k===null?S=k=c:k=k.next=c}else S=k=c;h={baseState:v.baseState,firstBaseUpdate:S,lastBaseUpdate:k,shared:v.shared,effects:v.effects},i.updateQueue=h;return}i=h.lastBaseUpdate,i===null?h.firstBaseUpdate=c:i.next=c,h.lastBaseUpdate=c}function Np(i,c,h,v){var S=i.updateQueue;rs=!1;var k=S.firstBaseUpdate,R=S.lastBaseUpdate,F=S.shared.pending;if(F!==null){S.shared.pending=null;var V=F,te=V.next;V.next=null,R===null?k=te:R.next=te,R=V;var he=i.alternate;he!==null&&(he=he.updateQueue,F=he.lastBaseUpdate,F!==R&&(F===null?he.firstBaseUpdate=te:F.next=te,he.lastBaseUpdate=V))}if(k!==null){var _e=S.baseState;R=0,he=te=V=null,F=k;do{var ue=F.lane,Ee=F.eventTime;if((v&ue)===ue){he!==null&&(he=he.next={eventTime:Ee,lane:0,tag:F.tag,payload:F.payload,callback:F.callback,next:null});e:{var Be=i,He=F;switch(ue=c,Ee=h,He.tag){case 1:if(Be=He.payload,typeof Be=="function"){_e=Be.call(Ee,_e,ue);break e}_e=Be;break e;case 3:Be.flags=Be.flags&-65537|128;case 0:if(Be=He.payload,ue=typeof Be=="function"?Be.call(Ee,_e,ue):Be,ue==null)break e;_e=ne({},_e,ue);break e;case 2:rs=!0}}F.callback!==null&&F.lane!==0&&(i.flags|=64,ue=S.effects,ue===null?S.effects=[F]:ue.push(F))}else Ee={eventTime:Ee,lane:ue,tag:F.tag,payload:F.payload,callback:F.callback,next:null},he===null?(te=he=Ee,V=_e):he=he.next=Ee,R|=ue;if(F=F.next,F===null){if(F=S.shared.pending,F===null)break;ue=F,F=ue.next,ue.next=null,S.lastBaseUpdate=ue,S.shared.pending=null}}while(!0);if(he===null&&(V=_e),S.baseState=V,S.firstBaseUpdate=te,S.lastBaseUpdate=he,c=S.shared.interleaved,c!==null){S=c;do R|=S.lane,S=S.next;while(S!==c)}else k===null&&(S.shared.lanes=0);Ys|=R,i.lanes=R,i.memoizedState=_e}}function dx(i,c,h){if(i=c.effects,c.effects=null,i!==null)for(c=0;c<i.length;c++){var v=i[c],S=v.callback;if(S!==null){if(v.callback=null,v=h,typeof S!="function")throw Error(r(191,S));S.call(v)}}}var id={},Vo=Qa(id),ld=Qa(id),cd=Qa(id);function Xs(i){if(i===id)throw Error(r(174));return i}function Rg(i,c){switch(tr(cd,c),tr(ld,i),tr(Vo,id),i=c.nodeType,i){case 9:case 11:c=(c=c.documentElement)?c.namespaceURI:nt(null,"");break;default:i=i===8?c.parentNode:c,c=i.namespaceURI||null,i=i.tagName,c=nt(c,i)}ar(Vo),tr(Vo,c)}function cl(){ar(Vo),ar(ld),ar(cd)}function ux(i){Xs(cd.current);var c=Xs(Vo.current),h=nt(c,i.type);c!==h&&(tr(ld,i),tr(Vo,h))}function jg(i){ld.current===i&&(ar(Vo),ar(ld))}var hr=Qa(0);function Mp(i){for(var c=i;c!==null;){if(c.tag===13){var h=c.memoizedState;if(h!==null&&(h=h.dehydrated,h===null||h.data==="$?"||h.data==="$!"))return c}else if(c.tag===19&&c.memoizedProps.revealOrder!==void 0){if((c.flags&128)!==0)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===i)break;for(;c.sibling===null;){if(c.return===null||c.return===i)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var zg=[];function Pg(){for(var i=0;i<zg.length;i++)zg[i]._workInProgressVersionPrimary=null;zg.length=0}var Rp=I.ReactCurrentDispatcher,Lg=I.ReactCurrentBatchConfig,Ks=0,fr=null,Ir=null,Pr=null,jp=!1,dd=!1,ud=0,TA=0;function Zr(){throw Error(r(321))}function Fg(i,c){if(c===null)return!1;for(var h=0;h<c.length&&h<i.length;h++)if(!So(i[h],c[h]))return!1;return!0}function Bg(i,c,h,v,S,k){if(Ks=k,fr=c,c.memoizedState=null,c.updateQueue=null,c.lanes=0,Rp.current=i===null||i.memoizedState===null?AA:IA,i=h(v,S),dd){k=0;do{if(dd=!1,ud=0,25<=k)throw Error(r(301));k+=1,Pr=Ir=null,c.updateQueue=null,Rp.current=NA,i=h(v,S)}while(dd)}if(Rp.current=Lp,c=Ir!==null&&Ir.next!==null,Ks=0,Pr=Ir=fr=null,jp=!1,c)throw Error(r(300));return i}function Wg(){var i=ud!==0;return ud=0,i}function qo(){var i={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Pr===null?fr.memoizedState=Pr=i:Pr=Pr.next=i,Pr}function so(){if(Ir===null){var i=fr.alternate;i=i!==null?i.memoizedState:null}else i=Ir.next;var c=Pr===null?fr.memoizedState:Pr.next;if(c!==null)Pr=c,Ir=i;else{if(i===null)throw Error(r(310));Ir=i,i={memoizedState:Ir.memoizedState,baseState:Ir.baseState,baseQueue:Ir.baseQueue,queue:Ir.queue,next:null},Pr===null?fr.memoizedState=Pr=i:Pr=Pr.next=i}return Pr}function pd(i,c){return typeof c=="function"?c(i):c}function Hg(i){var c=so(),h=c.queue;if(h===null)throw Error(r(311));h.lastRenderedReducer=i;var v=Ir,S=v.baseQueue,k=h.pending;if(k!==null){if(S!==null){var R=S.next;S.next=k.next,k.next=R}v.baseQueue=S=k,h.pending=null}if(S!==null){k=S.next,v=v.baseState;var F=R=null,V=null,te=k;do{var he=te.lane;if((Ks&he)===he)V!==null&&(V=V.next={lane:0,action:te.action,hasEagerState:te.hasEagerState,eagerState:te.eagerState,next:null}),v=te.hasEagerState?te.eagerState:i(v,te.action);else{var _e={lane:he,action:te.action,hasEagerState:te.hasEagerState,eagerState:te.eagerState,next:null};V===null?(F=V=_e,R=v):V=V.next=_e,fr.lanes|=he,Ys|=he}te=te.next}while(te!==null&&te!==k);V===null?R=v:V.next=F,So(v,c.memoizedState)||(xn=!0),c.memoizedState=v,c.baseState=R,c.baseQueue=V,h.lastRenderedState=v}if(i=h.interleaved,i!==null){S=i;do k=S.lane,fr.lanes|=k,Ys|=k,S=S.next;while(S!==i)}else S===null&&(h.lanes=0);return[c.memoizedState,h.dispatch]}function Ug(i){var c=so(),h=c.queue;if(h===null)throw Error(r(311));h.lastRenderedReducer=i;var v=h.dispatch,S=h.pending,k=c.memoizedState;if(S!==null){h.pending=null;var R=S=S.next;do k=i(k,R.action),R=R.next;while(R!==S);So(k,c.memoizedState)||(xn=!0),c.memoizedState=k,c.baseQueue===null&&(c.baseState=k),h.lastRenderedState=k}return[k,v]}function px(){}function hx(i,c){var h=fr,v=so(),S=c(),k=!So(v.memoizedState,S);if(k&&(v.memoizedState=S,xn=!0),v=v.queue,Vg(gx.bind(null,h,v,i),[i]),v.getSnapshot!==c||k||Pr!==null&&Pr.memoizedState.tag&1){if(h.flags|=2048,hd(9,mx.bind(null,h,v,S,c),void 0,null),Lr===null)throw Error(r(349));(Ks&30)!==0||fx(h,c,S)}return S}function fx(i,c,h){i.flags|=16384,i={getSnapshot:c,value:h},c=fr.updateQueue,c===null?(c={lastEffect:null,stores:null},fr.updateQueue=c,c.stores=[i]):(h=c.stores,h===null?c.stores=[i]:h.push(i))}function mx(i,c,h,v){c.value=h,c.getSnapshot=v,_x(c)&&vx(i)}function gx(i,c,h){return h(function(){_x(c)&&vx(i)})}function _x(i){var c=i.getSnapshot;i=i.value;try{var h=c();return!So(i,h)}catch{return!0}}function vx(i){var c=Sa(i,1);c!==null&&To(c,i,1,-1)}function yx(i){var c=qo();return typeof i=="function"&&(i=i()),c.memoizedState=c.baseState=i,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:pd,lastRenderedState:i},c.queue=i,i=i.dispatch=DA.bind(null,fr,i),[c.memoizedState,i]}function hd(i,c,h,v){return i={tag:i,create:c,destroy:h,deps:v,next:null},c=fr.updateQueue,c===null?(c={lastEffect:null,stores:null},fr.updateQueue=c,c.lastEffect=i.next=i):(h=c.lastEffect,h===null?c.lastEffect=i.next=i:(v=h.next,h.next=i,i.next=v,c.lastEffect=i)),i}function bx(){return so().memoizedState}function zp(i,c,h,v){var S=qo();fr.flags|=i,S.memoizedState=hd(1|c,h,void 0,v===void 0?null:v)}function Pp(i,c,h,v){var S=so();v=v===void 0?null:v;var k=void 0;if(Ir!==null){var R=Ir.memoizedState;if(k=R.destroy,v!==null&&Fg(v,R.deps)){S.memoizedState=hd(c,h,k,v);return}}fr.flags|=i,S.memoizedState=hd(1|c,h,k,v)}function wx(i,c){return zp(8390656,8,i,c)}function Vg(i,c){return Pp(2048,8,i,c)}function Sx(i,c){return Pp(4,2,i,c)}function xx(i,c){return Pp(4,4,i,c)}function kx(i,c){if(typeof c=="function")return i=i(),c(i),function(){c(null)};if(c!=null)return i=i(),c.current=i,function(){c.current=null}}function Cx(i,c,h){return h=h!=null?h.concat([i]):null,Pp(4,4,kx.bind(null,c,i),h)}function qg(){}function $x(i,c){var h=so();c=c===void 0?null:c;var v=h.memoizedState;return v!==null&&c!==null&&Fg(c,v[1])?v[0]:(h.memoizedState=[i,c],i)}function Tx(i,c){var h=so();c=c===void 0?null:c;var v=h.memoizedState;return v!==null&&c!==null&&Fg(c,v[1])?v[0]:(i=i(),h.memoizedState=[i,c],i)}function Ex(i,c,h){return(Ks&21)===0?(i.baseState&&(i.baseState=!1,xn=!0),i.memoizedState=h):(So(h,c)||(h=oS(),fr.lanes|=h,Ys|=h,i.baseState=!0),c)}function EA(i,c){var h=Ft;Ft=h!==0&&4>h?h:4,i(!0);var v=Lg.transition;Lg.transition={};try{i(!1),c()}finally{Ft=h,Lg.transition=v}}function Ox(){return so().memoizedState}function OA(i,c,h){var v=is(i);if(h={lane:v,action:h,hasEagerState:!1,eagerState:null,next:null},Dx(i))Ax(c,h);else if(h=ix(i,c,h,v),h!==null){var S=un();To(h,i,v,S),Ix(h,c,v)}}function DA(i,c,h){var v=is(i),S={lane:v,action:h,hasEagerState:!1,eagerState:null,next:null};if(Dx(i))Ax(c,S);else{var k=i.alternate;if(i.lanes===0&&(k===null||k.lanes===0)&&(k=c.lastRenderedReducer,k!==null))try{var R=c.lastRenderedState,F=k(R,h);if(S.hasEagerState=!0,S.eagerState=F,So(F,R)){var V=c.interleaved;V===null?(S.next=S,Ng(c)):(S.next=V.next,V.next=S),c.interleaved=S;return}}catch{}finally{}h=ix(i,c,S,v),h!==null&&(S=un(),To(h,i,v,S),Ix(h,c,v))}}function Dx(i){var c=i.alternate;return i===fr||c!==null&&c===fr}function Ax(i,c){dd=jp=!0;var h=i.pending;h===null?c.next=c:(c.next=h.next,h.next=c),i.pending=c}function Ix(i,c,h){if((h&4194240)!==0){var v=c.lanes;v&=i.pendingLanes,h|=v,c.lanes=h,Jm(i,h)}}var Lp={readContext:ao,useCallback:Zr,useContext:Zr,useEffect:Zr,useImperativeHandle:Zr,useInsertionEffect:Zr,useLayoutEffect:Zr,useMemo:Zr,useReducer:Zr,useRef:Zr,useState:Zr,useDebugValue:Zr,useDeferredValue:Zr,useTransition:Zr,useMutableSource:Zr,useSyncExternalStore:Zr,useId:Zr,unstable_isNewReconciler:!1},AA={readContext:ao,useCallback:function(i,c){return qo().memoizedState=[i,c===void 0?null:c],i},useContext:ao,useEffect:wx,useImperativeHandle:function(i,c,h){return h=h!=null?h.concat([i]):null,zp(4194308,4,kx.bind(null,c,i),h)},useLayoutEffect:function(i,c){return zp(4194308,4,i,c)},useInsertionEffect:function(i,c){return zp(4,2,i,c)},useMemo:function(i,c){var h=qo();return c=c===void 0?null:c,i=i(),h.memoizedState=[i,c],i},useReducer:function(i,c,h){var v=qo();return c=h!==void 0?h(c):c,v.memoizedState=v.baseState=c,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:c},v.queue=i,i=i.dispatch=OA.bind(null,fr,i),[v.memoizedState,i]},useRef:function(i){var c=qo();return i={current:i},c.memoizedState=i},useState:yx,useDebugValue:qg,useDeferredValue:function(i){return qo().memoizedState=i},useTransition:function(){var i=yx(!1),c=i[0];return i=EA.bind(null,i[1]),qo().memoizedState=i,[c,i]},useMutableSource:function(){},useSyncExternalStore:function(i,c,h){var v=fr,S=qo();if(lr){if(h===void 0)throw Error(r(407));h=h()}else{if(h=c(),Lr===null)throw Error(r(349));(Ks&30)!==0||fx(v,c,h)}S.memoizedState=h;var k={value:h,getSnapshot:c};return S.queue=k,wx(gx.bind(null,v,k,i),[i]),v.flags|=2048,hd(9,mx.bind(null,v,k,h,c),void 0,null),h},useId:function(){var i=qo(),c=Lr.identifierPrefix;if(lr){var h=wa,v=ba;h=(v&~(1<<32-wo(v)-1)).toString(32)+h,c=":"+c+"R"+h,h=ud++,0<h&&(c+="H"+h.toString(32)),c+=":"}else h=TA++,c=":"+c+"r"+h.toString(32)+":";return i.memoizedState=c},unstable_isNewReconciler:!1},IA={readContext:ao,useCallback:$x,useContext:ao,useEffect:Vg,useImperativeHandle:Cx,useInsertionEffect:Sx,useLayoutEffect:xx,useMemo:Tx,useReducer:Hg,useRef:bx,useState:function(){return Hg(pd)},useDebugValue:qg,useDeferredValue:function(i){var c=so();return Ex(c,Ir.memoizedState,i)},useTransition:function(){var i=Hg(pd)[0],c=so().memoizedState;return[i,c]},useMutableSource:px,useSyncExternalStore:hx,useId:Ox,unstable_isNewReconciler:!1},NA={readContext:ao,useCallback:$x,useContext:ao,useEffect:Vg,useImperativeHandle:Cx,useInsertionEffect:Sx,useLayoutEffect:xx,useMemo:Tx,useReducer:Ug,useRef:bx,useState:function(){return Ug(pd)},useDebugValue:qg,useDeferredValue:function(i){var c=so();return Ir===null?c.memoizedState=i:Ex(c,Ir.memoizedState,i)},useTransition:function(){var i=Ug(pd)[0],c=so().memoizedState;return[i,c]},useMutableSource:px,useSyncExternalStore:hx,useId:Ox,unstable_isNewReconciler:!1};function ko(i,c){if(i&&i.defaultProps){c=ne({},c),i=i.defaultProps;for(var h in i)c[h]===void 0&&(c[h]=i[h]);return c}return c}function Gg(i,c,h,v){c=i.memoizedState,h=h(v,c),h=h==null?c:ne({},c,h),i.memoizedState=h,i.lanes===0&&(i.updateQueue.baseState=h)}var Fp={isMounted:function(i){return(i=i._reactInternals)?Hs(i)===i:!1},enqueueSetState:function(i,c,h){i=i._reactInternals;var v=un(),S=is(i),k=xa(v,S);k.payload=c,h!=null&&(k.callback=h),c=ns(i,k,S),c!==null&&(To(c,i,S,v),Ip(c,i,S))},enqueueReplaceState:function(i,c,h){i=i._reactInternals;var v=un(),S=is(i),k=xa(v,S);k.tag=1,k.payload=c,h!=null&&(k.callback=h),c=ns(i,k,S),c!==null&&(To(c,i,S,v),Ip(c,i,S))},enqueueForceUpdate:function(i,c){i=i._reactInternals;var h=un(),v=is(i),S=xa(h,v);S.tag=2,c!=null&&(S.callback=c),c=ns(i,S,v),c!==null&&(To(c,i,v,h),Ip(c,i,v))}};function Nx(i,c,h,v,S,k,R){return i=i.stateNode,typeof i.shouldComponentUpdate=="function"?i.shouldComponentUpdate(v,k,R):c.prototype&&c.prototype.isPureReactComponent?!Qc(h,v)||!Qc(S,k):!0}function Mx(i,c,h){var v=!1,S=es,k=c.contextType;return typeof k=="object"&&k!==null?k=ao(k):(S=Sn(c)?Vs:Yr.current,v=c.contextTypes,k=(v=v!=null)?rl(i,S):es),c=new c(h,k),i.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=Fp,i.stateNode=c,c._reactInternals=i,v&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=S,i.__reactInternalMemoizedMaskedChildContext=k),c}function Rx(i,c,h,v){i=c.state,typeof c.componentWillReceiveProps=="function"&&c.componentWillReceiveProps(h,v),typeof c.UNSAFE_componentWillReceiveProps=="function"&&c.UNSAFE_componentWillReceiveProps(h,v),c.state!==i&&Fp.enqueueReplaceState(c,c.state,null)}function Jg(i,c,h,v){var S=i.stateNode;S.props=h,S.state=i.memoizedState,S.refs={},Mg(i);var k=c.contextType;typeof k=="object"&&k!==null?S.context=ao(k):(k=Sn(c)?Vs:Yr.current,S.context=rl(i,k)),S.state=i.memoizedState,k=c.getDerivedStateFromProps,typeof k=="function"&&(Gg(i,c,k,h),S.state=i.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof S.getSnapshotBeforeUpdate=="function"||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(c=S.state,typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount(),c!==S.state&&Fp.enqueueReplaceState(S,S.state,null),Np(i,h,S,v),S.state=i.memoizedState),typeof S.componentDidMount=="function"&&(i.flags|=4194308)}function dl(i,c){try{var h="",v=c;do h+=pe(v),v=v.return;while(v);var S=h}catch(k){S=`
39
39
  Error generating stack: `+k.message+`
40
- `+k.stack}return{value:i,source:c,stack:S,digest:null}}function Xg(i,c,h){return{value:i,source:null,stack:h??null,digest:c??null}}function Kg(i,c){try{console.error(c.value)}catch(h){setTimeout(function(){throw h})}}var MA=typeof WeakMap=="function"?WeakMap:Map;function jx(i,c,h){h=xa(-1,h),h.tag=3,h.payload={element:null};var v=c.value;return h.callback=function(){Gp||(Gp=!0,u_=v),Kg(i,c)},h}function zx(i,c,h){h=xa(-1,h),h.tag=3;var v=i.type.getDerivedStateFromError;if(typeof v=="function"){var S=c.value;h.payload=function(){return v(S)},h.callback=function(){Kg(i,c)}}var k=i.stateNode;return k!==null&&typeof k.componentDidCatch=="function"&&(h.callback=function(){Kg(i,c),typeof v!="function"&&(as===null?as=new Set([this]):as.add(this));var R=c.stack;this.componentDidCatch(c.value,{componentStack:R!==null?R:""})}),h}function Px(i,c,h){var v=i.pingCache;if(v===null){v=i.pingCache=new MA;var S=new Set;v.set(c,S)}else S=v.get(c),S===void 0&&(S=new Set,v.set(c,S));S.has(h)||(S.add(h),i=JA.bind(null,i,c,h),c.then(i,i))}function Lx(i){do{var c;if((c=i.tag===13)&&(c=i.memoizedState,c=c!==null?c.dehydrated!==null:!0),c)return i;i=i.return}while(i!==null);return null}function Fx(i,c,h,v,S){return(i.mode&1)===0?(i===c?i.flags|=65536:(i.flags|=128,h.flags|=131072,h.flags&=-52805,h.tag===1&&(h.alternate===null?h.tag=17:(c=xa(-1,1),c.tag=2,ns(h,c,1))),h.lanes|=1),i):(i.flags|=65536,i.lanes=S,i)}var RA=I.ReactCurrentOwner,xn=!1;function dn(i,c,h,v){c.child=i===null?sx(c,null,h,v):sl(c,i.child,h,v)}function Bx(i,c,h,v,S){h=h.render;var k=c.ref;return ll(c,S),v=Bg(i,c,h,v,k,S),h=Wg(),i!==null&&!xn?(c.updateQueue=i.updateQueue,c.flags&=-2053,i.lanes&=~S,ka(i,c,S)):(lr&&h&&kg(c),c.flags|=1,dn(i,c,v,S),c.child)}function Wx(i,c,h,v,S){if(i===null){var k=h.type;return typeof k=="function"&&!v_(k)&&k.defaultProps===void 0&&h.compare===null&&h.defaultProps===void 0?(c.tag=15,c.type=k,Hx(i,c,k,v,S)):(i=Qp(h.type,null,v,c,c.mode,S),i.ref=c.ref,i.return=c,c.child=i)}if(k=i.child,(i.lanes&S)===0){var R=k.memoizedProps;if(h=h.compare,h=h!==null?h:Qc,h(R,v)&&i.ref===c.ref)return ka(i,c,S)}return c.flags|=1,i=cs(k,v),i.ref=c.ref,i.return=c,c.child=i}function Hx(i,c,h,v,S){if(i!==null){var k=i.memoizedProps;if(Qc(k,v)&&i.ref===c.ref)if(xn=!1,c.pendingProps=v=k,(i.lanes&S)!==0)(i.flags&131072)!==0&&(xn=!0);else return c.lanes=i.lanes,ka(i,c,S)}return Yg(i,c,h,v,S)}function Ux(i,c,h){var v=c.pendingProps,S=v.children,k=i!==null?i.memoizedState:null;if(v.mode==="hidden")if((c.mode&1)===0)c.memoizedState={baseLanes:0,cachePool:null,transitions:null},tr(pl,Wn),Wn|=h;else{if((h&1073741824)===0)return i=k!==null?k.baseLanes|h:h,c.lanes=c.childLanes=1073741824,c.memoizedState={baseLanes:i,cachePool:null,transitions:null},c.updateQueue=null,tr(pl,Wn),Wn|=i,null;c.memoizedState={baseLanes:0,cachePool:null,transitions:null},v=k!==null?k.baseLanes:h,tr(pl,Wn),Wn|=v}else k!==null?(v=k.baseLanes|h,c.memoizedState=null):v=h,tr(pl,Wn),Wn|=v;return dn(i,c,S,h),c.child}function Vx(i,c){var h=c.ref;(i===null&&h!==null||i!==null&&i.ref!==h)&&(c.flags|=512,c.flags|=2097152)}function Yg(i,c,h,v,S){var k=Sn(h)?Vs:Yr.current;return k=rl(c,k),ll(c,S),h=Bg(i,c,h,v,k,S),v=Wg(),i!==null&&!xn?(c.updateQueue=i.updateQueue,c.flags&=-2053,i.lanes&=~S,ka(i,c,S)):(lr&&v&&kg(c),c.flags|=1,dn(i,c,h,S),c.child)}function qx(i,c,h,v,S){if(Sn(h)){var k=!0;kp(c)}else k=!1;if(ll(c,S),c.stateNode===null)Wp(i,c),Mx(c,h,v),Jg(c,h,v,S),v=!0;else if(i===null){var R=c.stateNode,F=c.memoizedProps;R.props=F;var V=R.context,te=h.contextType;typeof te=="object"&&te!==null?te=ao(te):(te=Sn(h)?Vs:Yr.current,te=rl(c,te));var he=h.getDerivedStateFromProps,_e=typeof he=="function"||typeof R.getSnapshotBeforeUpdate=="function";_e||typeof R.UNSAFE_componentWillReceiveProps!="function"&&typeof R.componentWillReceiveProps!="function"||(F!==v||V!==te)&&Rx(c,R,v,te),rs=!1;var ue=c.memoizedState;R.state=ue,Np(c,v,R,S),V=c.memoizedState,F!==v||ue!==V||wn.current||rs?(typeof he=="function"&&(Gg(c,h,he,v),V=c.memoizedState),(F=rs||Nx(c,h,F,v,ue,V,te))?(_e||typeof R.UNSAFE_componentWillMount!="function"&&typeof R.componentWillMount!="function"||(typeof R.componentWillMount=="function"&&R.componentWillMount(),typeof R.UNSAFE_componentWillMount=="function"&&R.UNSAFE_componentWillMount()),typeof R.componentDidMount=="function"&&(c.flags|=4194308)):(typeof R.componentDidMount=="function"&&(c.flags|=4194308),c.memoizedProps=v,c.memoizedState=V),R.props=v,R.state=V,R.context=te,v=F):(typeof R.componentDidMount=="function"&&(c.flags|=4194308),v=!1)}else{R=c.stateNode,lx(i,c),F=c.memoizedProps,te=c.type===c.elementType?F:ko(c.type,F),R.props=te,_e=c.pendingProps,ue=R.context,V=h.contextType,typeof V=="object"&&V!==null?V=ao(V):(V=Sn(h)?Vs:Yr.current,V=rl(c,V));var Ee=h.getDerivedStateFromProps;(he=typeof Ee=="function"||typeof R.getSnapshotBeforeUpdate=="function")||typeof R.UNSAFE_componentWillReceiveProps!="function"&&typeof R.componentWillReceiveProps!="function"||(F!==_e||ue!==V)&&Rx(c,R,v,V),rs=!1,ue=c.memoizedState,R.state=ue,Np(c,v,R,S);var Be=c.memoizedState;F!==_e||ue!==Be||wn.current||rs?(typeof Ee=="function"&&(Gg(c,h,Ee,v),Be=c.memoizedState),(te=rs||Nx(c,h,te,v,ue,Be,V)||!1)?(he||typeof R.UNSAFE_componentWillUpdate!="function"&&typeof R.componentWillUpdate!="function"||(typeof R.componentWillUpdate=="function"&&R.componentWillUpdate(v,Be,V),typeof R.UNSAFE_componentWillUpdate=="function"&&R.UNSAFE_componentWillUpdate(v,Be,V)),typeof R.componentDidUpdate=="function"&&(c.flags|=4),typeof R.getSnapshotBeforeUpdate=="function"&&(c.flags|=1024)):(typeof R.componentDidUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=4),typeof R.getSnapshotBeforeUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=1024),c.memoizedProps=v,c.memoizedState=Be),R.props=v,R.state=Be,R.context=V,v=te):(typeof R.componentDidUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=4),typeof R.getSnapshotBeforeUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=1024),v=!1)}return Zg(i,c,h,v,k,S)}function Zg(i,c,h,v,S,k){Vx(i,c);var R=(c.flags&128)!==0;if(!v&&!R)return S&&YS(c,h,!1),ka(i,c,k);v=c.stateNode,RA.current=c;var F=R&&typeof h.getDerivedStateFromError!="function"?null:v.render();return c.flags|=1,i!==null&&R?(c.child=sl(c,i.child,null,k),c.child=sl(c,null,F,k)):dn(i,c,F,k),c.memoizedState=v.state,S&&YS(c,h,!0),c.child}function Gx(i){var c=i.stateNode;c.pendingContext?XS(i,c.pendingContext,c.pendingContext!==c.context):c.context&&XS(i,c.context,!1),Rg(i,c.containerInfo)}function Jx(i,c,h,v,S){return al(),Eg(S),c.flags|=256,dn(i,c,h,v),c.child}var Qg={dehydrated:null,treeContext:null,retryLane:0};function e_(i){return{baseLanes:i,cachePool:null,transitions:null}}function Xx(i,c,h){var v=c.pendingProps,S=hr.current,k=!1,R=(c.flags&128)!==0,F;if((F=R)||(F=i!==null&&i.memoizedState===null?!1:(S&2)!==0),F?(k=!0,c.flags&=-129):(i===null||i.memoizedState!==null)&&(S|=1),tr(hr,S&1),i===null)return Tg(c),i=c.memoizedState,i!==null&&(i=i.dehydrated,i!==null)?((c.mode&1)===0?c.lanes=1:i.data==="$!"?c.lanes=8:c.lanes=1073741824,null):(R=v.children,i=v.fallback,k?(v=c.mode,k=c.child,R={mode:"hidden",children:R},(v&1)===0&&k!==null?(k.childLanes=0,k.pendingProps=R):k=eh(R,v,0,null),i=ti(i,v,h,null),k.return=c,i.return=c,k.sibling=i,c.child=k,c.child.memoizedState=e_(h),c.memoizedState=Qg,i):t_(c,R));if(S=i.memoizedState,S!==null&&(F=S.dehydrated,F!==null))return jA(i,c,R,v,F,S,h);if(k){k=v.fallback,R=c.mode,S=i.child,F=S.sibling;var V={mode:"hidden",children:v.children};return(R&1)===0&&c.child!==S?(v=c.child,v.childLanes=0,v.pendingProps=V,c.deletions=null):(v=cs(S,V),v.subtreeFlags=S.subtreeFlags&14680064),F!==null?k=cs(F,k):(k=ti(k,R,h,null),k.flags|=2),k.return=c,v.return=c,v.sibling=k,c.child=v,v=k,k=c.child,R=i.child.memoizedState,R=R===null?e_(h):{baseLanes:R.baseLanes|h,cachePool:null,transitions:R.transitions},k.memoizedState=R,k.childLanes=i.childLanes&~h,c.memoizedState=Qg,v}return k=i.child,i=k.sibling,v=cs(k,{mode:"visible",children:v.children}),(c.mode&1)===0&&(v.lanes=h),v.return=c,v.sibling=null,i!==null&&(h=c.deletions,h===null?(c.deletions=[i],c.flags|=16):h.push(i)),c.child=v,c.memoizedState=null,v}function t_(i,c){return c=eh({mode:"visible",children:c},i.mode,0,null),c.return=i,i.child=c}function Bp(i,c,h,v){return v!==null&&Eg(v),sl(c,i.child,null,h),i=t_(c,c.pendingProps.children),i.flags|=2,c.memoizedState=null,i}function jA(i,c,h,v,S,k,R){if(h)return c.flags&256?(c.flags&=-257,v=Xg(Error(r(422))),Bp(i,c,R,v)):c.memoizedState!==null?(c.child=i.child,c.flags|=128,null):(k=v.fallback,S=c.mode,v=eh({mode:"visible",children:v.children},S,0,null),k=ti(k,S,R,null),k.flags|=2,v.return=c,k.return=c,v.sibling=k,c.child=v,(c.mode&1)!==0&&sl(c,i.child,null,R),c.child.memoizedState=e_(R),c.memoizedState=Qg,k);if((c.mode&1)===0)return Bp(i,c,R,null);if(S.data==="$!"){if(v=S.nextSibling&&S.nextSibling.dataset,v)var F=v.dgst;return v=F,k=Error(r(419)),v=Xg(k,v,void 0),Bp(i,c,R,v)}if(F=(R&i.childLanes)!==0,xn||F){if(v=Lr,v!==null){switch(R&-R){case 4:S=2;break;case 16:S=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:S=32;break;case 536870912:S=268435456;break;default:S=0}S=(S&(v.suspendedLanes|R))!==0?0:S,S!==0&&S!==k.retryLane&&(k.retryLane=S,Sa(i,S),To(v,i,S,-1))}return __(),v=Xg(Error(r(421))),Bp(i,c,R,v)}return S.data==="$?"?(c.flags|=128,c.child=i.child,c=XA.bind(null,i),S._reactRetry=c,null):(i=k.treeContext,Bn=Za(S.nextSibling),Fn=c,lr=!0,xo=null,i!==null&&(no[oo++]=ba,no[oo++]=wa,no[oo++]=qs,ba=i.id,wa=i.overflow,qs=c),c=t_(c,v.children),c.flags|=4096,c)}function Kx(i,c,h){i.lanes|=c;var v=i.alternate;v!==null&&(v.lanes|=c),Ig(i.return,c,h)}function r_(i,c,h,v,S){var k=i.memoizedState;k===null?i.memoizedState={isBackwards:c,rendering:null,renderingStartTime:0,last:v,tail:h,tailMode:S}:(k.isBackwards=c,k.rendering=null,k.renderingStartTime=0,k.last=v,k.tail=h,k.tailMode=S)}function Yx(i,c,h){var v=c.pendingProps,S=v.revealOrder,k=v.tail;if(dn(i,c,v.children,h),v=hr.current,(v&2)!==0)v=v&1|2,c.flags|=128;else{if(i!==null&&(i.flags&128)!==0)e:for(i=c.child;i!==null;){if(i.tag===13)i.memoizedState!==null&&Kx(i,h,c);else if(i.tag===19)Kx(i,h,c);else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===c)break e;for(;i.sibling===null;){if(i.return===null||i.return===c)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}v&=1}if(tr(hr,v),(c.mode&1)===0)c.memoizedState=null;else switch(S){case"forwards":for(h=c.child,S=null;h!==null;)i=h.alternate,i!==null&&Mp(i)===null&&(S=h),h=h.sibling;h=S,h===null?(S=c.child,c.child=null):(S=h.sibling,h.sibling=null),r_(c,!1,S,h,k);break;case"backwards":for(h=null,S=c.child,c.child=null;S!==null;){if(i=S.alternate,i!==null&&Mp(i)===null){c.child=S;break}i=S.sibling,S.sibling=h,h=S,S=i}r_(c,!0,h,null,k);break;case"together":r_(c,!1,null,null,void 0);break;default:c.memoizedState=null}return c.child}function Wp(i,c){(c.mode&1)===0&&i!==null&&(i.alternate=null,c.alternate=null,c.flags|=2)}function ka(i,c,h){if(i!==null&&(c.dependencies=i.dependencies),Ys|=c.lanes,(h&c.childLanes)===0)return null;if(i!==null&&c.child!==i.child)throw Error(r(153));if(c.child!==null){for(i=c.child,h=cs(i,i.pendingProps),c.child=h,h.return=c;i.sibling!==null;)i=i.sibling,h=h.sibling=cs(i,i.pendingProps),h.return=c;h.sibling=null}return c.child}function zA(i,c,h){switch(c.tag){case 3:Gx(c),al();break;case 5:ux(c);break;case 1:Sn(c.type)&&kp(c);break;case 4:Rg(c,c.stateNode.containerInfo);break;case 10:var v=c.type._context,S=c.memoizedProps.value;tr(Dp,v._currentValue),v._currentValue=S;break;case 13:if(v=c.memoizedState,v!==null)return v.dehydrated!==null?(tr(hr,hr.current&1),c.flags|=128,null):(h&c.child.childLanes)!==0?Xx(i,c,h):(tr(hr,hr.current&1),i=ka(i,c,h),i!==null?i.sibling:null);tr(hr,hr.current&1);break;case 19:if(v=(h&c.childLanes)!==0,(i.flags&128)!==0){if(v)return Yx(i,c,h);c.flags|=128}if(S=c.memoizedState,S!==null&&(S.rendering=null,S.tail=null,S.lastEffect=null),tr(hr,hr.current),v)break;return null;case 22:case 23:return c.lanes=0,Ux(i,c,h)}return ka(i,c,h)}var Zx,n_,Qx,ek;Zx=function(i,c){for(var h=c.child;h!==null;){if(h.tag===5||h.tag===6)i.appendChild(h.stateNode);else if(h.tag!==4&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===c)break;for(;h.sibling===null;){if(h.return===null||h.return===c)return;h=h.return}h.sibling.return=h.return,h=h.sibling}},n_=function(){},Qx=function(i,c,h,v){var S=i.memoizedProps;if(S!==v){i=c.stateNode,Xs(Vo.current);var k=null;switch(h){case"input":S=xe(i,S),v=xe(i,v),k=[];break;case"select":S=ne({},S,{value:void 0}),v=ne({},v,{value:void 0}),k=[];break;case"textarea":S=Se(i,S),v=Se(i,v),k=[];break;default:typeof S.onClick!="function"&&typeof v.onClick=="function"&&(i.onclick=wp)}Nt(h,v);var R;h=null;for(te in S)if(!v.hasOwnProperty(te)&&S.hasOwnProperty(te)&&S[te]!=null)if(te==="style"){var F=S[te];for(R in F)F.hasOwnProperty(R)&&(h||(h={}),h[R]="")}else te!=="dangerouslySetInnerHTML"&&te!=="children"&&te!=="suppressContentEditableWarning"&&te!=="suppressHydrationWarning"&&te!=="autoFocus"&&(o.hasOwnProperty(te)?k||(k=[]):(k=k||[]).push(te,null));for(te in v){var V=v[te];if(F=S?.[te],v.hasOwnProperty(te)&&V!==F&&(V!=null||F!=null))if(te==="style")if(F){for(R in F)!F.hasOwnProperty(R)||V&&V.hasOwnProperty(R)||(h||(h={}),h[R]="");for(R in V)V.hasOwnProperty(R)&&F[R]!==V[R]&&(h||(h={}),h[R]=V[R])}else h||(k||(k=[]),k.push(te,h)),h=V;else te==="dangerouslySetInnerHTML"?(V=V?V.__html:void 0,F=F?F.__html:void 0,V!=null&&F!==V&&(k=k||[]).push(te,V)):te==="children"?typeof V!="string"&&typeof V!="number"||(k=k||[]).push(te,""+V):te!=="suppressContentEditableWarning"&&te!=="suppressHydrationWarning"&&(o.hasOwnProperty(te)?(V!=null&&te==="onScroll"&&or("scroll",i),k||F===V||(k=[])):(k=k||[]).push(te,V))}h&&(k=k||[]).push("style",h);var te=k;(c.updateQueue=te)&&(c.flags|=4)}},ek=function(i,c,h,v){h!==v&&(c.flags|=4)};function fd(i,c){if(!lr)switch(i.tailMode){case"hidden":c=i.tail;for(var h=null;c!==null;)c.alternate!==null&&(h=c),c=c.sibling;h===null?i.tail=null:h.sibling=null;break;case"collapsed":h=i.tail;for(var v=null;h!==null;)h.alternate!==null&&(v=h),h=h.sibling;v===null?c||i.tail===null?i.tail=null:i.tail.sibling=null:v.sibling=null}}function Qr(i){var c=i.alternate!==null&&i.alternate.child===i.child,h=0,v=0;if(c)for(var S=i.child;S!==null;)h|=S.lanes|S.childLanes,v|=S.subtreeFlags&14680064,v|=S.flags&14680064,S.return=i,S=S.sibling;else for(S=i.child;S!==null;)h|=S.lanes|S.childLanes,v|=S.subtreeFlags,v|=S.flags,S.return=i,S=S.sibling;return i.subtreeFlags|=v,i.childLanes=h,c}function PA(i,c,h){var v=c.pendingProps;switch(Cg(c),c.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qr(c),null;case 1:return Sn(c.type)&&xp(),Qr(c),null;case 3:return v=c.stateNode,cl(),ar(wn),ar(Yr),Pg(),v.pendingContext&&(v.context=v.pendingContext,v.pendingContext=null),(i===null||i.child===null)&&(Ep(c)?c.flags|=4:i===null||i.memoizedState.isDehydrated&&(c.flags&256)===0||(c.flags|=1024,xo!==null&&(f_(xo),xo=null))),n_(i,c),Qr(c),null;case 5:jg(c);var S=Xs(cd.current);if(h=c.type,i!==null&&c.stateNode!=null)Qx(i,c,h,v,S),i.ref!==c.ref&&(c.flags|=512,c.flags|=2097152);else{if(!v){if(c.stateNode===null)throw Error(r(166));return Qr(c),null}if(i=Xs(Vo.current),Ep(c)){v=c.stateNode,h=c.type;var k=c.memoizedProps;switch(v[Uo]=c,v[od]=k,i=(c.mode&1)!==0,h){case"dialog":or("cancel",v),or("close",v);break;case"iframe":case"object":case"embed":or("load",v);break;case"video":case"audio":for(S=0;S<td.length;S++)or(td[S],v);break;case"source":or("error",v);break;case"img":case"image":case"link":or("error",v),or("load",v);break;case"details":or("toggle",v);break;case"input":Ae(v,k),or("invalid",v);break;case"select":v._wrapperState={wasMultiple:!!k.multiple},or("invalid",v);break;case"textarea":vt(v,k),or("invalid",v)}Nt(h,k),S=null;for(var R in k)if(k.hasOwnProperty(R)){var F=k[R];R==="children"?typeof F=="string"?v.textContent!==F&&(k.suppressHydrationWarning!==!0&&bp(v.textContent,F,i),S=["children",F]):typeof F=="number"&&v.textContent!==""+F&&(k.suppressHydrationWarning!==!0&&bp(v.textContent,F,i),S=["children",""+F]):o.hasOwnProperty(R)&&F!=null&&R==="onScroll"&&or("scroll",v)}switch(h){case"input":Ve(v),qe(v,k,!0);break;case"textarea":Ve(v),be(v);break;case"select":case"option":break;default:typeof k.onClick=="function"&&(v.onclick=wp)}v=S,c.updateQueue=v,v!==null&&(c.flags|=4)}else{R=S.nodeType===9?S:S.ownerDocument,i==="http://www.w3.org/1999/xhtml"&&(i=Ze(h)),i==="http://www.w3.org/1999/xhtml"?h==="script"?(i=R.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild)):typeof v.is=="string"?i=R.createElement(h,{is:v.is}):(i=R.createElement(h),h==="select"&&(R=i,v.multiple?R.multiple=!0:v.size&&(R.size=v.size))):i=R.createElementNS(i,h),i[Uo]=c,i[od]=v,Zx(i,c,!1,!1),c.stateNode=i;e:{switch(R=jr(h,v),h){case"dialog":or("cancel",i),or("close",i),S=v;break;case"iframe":case"object":case"embed":or("load",i),S=v;break;case"video":case"audio":for(S=0;S<td.length;S++)or(td[S],i);S=v;break;case"source":or("error",i),S=v;break;case"img":case"image":case"link":or("error",i),or("load",i),S=v;break;case"details":or("toggle",i),S=v;break;case"input":Ae(i,v),S=xe(i,v),or("invalid",i);break;case"option":S=v;break;case"select":i._wrapperState={wasMultiple:!!v.multiple},S=ne({},v,{value:void 0}),or("invalid",i);break;case"textarea":vt(i,v),S=Se(i,v),or("invalid",i);break;default:S=v}Nt(h,S),F=S;for(k in F)if(F.hasOwnProperty(k)){var V=F[k];k==="style"?ke(i,V):k==="dangerouslySetInnerHTML"?(V=V?V.__html:void 0,V!=null&&Wt(i,V)):k==="children"?typeof V=="string"?(h!=="textarea"||V!=="")&&Lt(i,V):typeof V=="number"&&Lt(i,""+V):k!=="suppressContentEditableWarning"&&k!=="suppressHydrationWarning"&&k!=="autoFocus"&&(o.hasOwnProperty(k)?V!=null&&k==="onScroll"&&or("scroll",i):V!=null&&O(i,k,V,R))}switch(h){case"input":Ve(i),qe(i,v,!1);break;case"textarea":Ve(i),be(i);break;case"option":v.value!=null&&i.setAttribute("value",""+$e(v.value));break;case"select":i.multiple=!!v.multiple,k=v.value,k!=null?st(i,!!v.multiple,k,!1):v.defaultValue!=null&&st(i,!!v.multiple,v.defaultValue,!0);break;default:typeof S.onClick=="function"&&(i.onclick=wp)}switch(h){case"button":case"input":case"select":case"textarea":v=!!v.autoFocus;break e;case"img":v=!0;break e;default:v=!1}}v&&(c.flags|=4)}c.ref!==null&&(c.flags|=512,c.flags|=2097152)}return Qr(c),null;case 6:if(i&&c.stateNode!=null)ek(i,c,i.memoizedProps,v);else{if(typeof v!="string"&&c.stateNode===null)throw Error(r(166));if(h=Xs(cd.current),Xs(Vo.current),Ep(c)){if(v=c.stateNode,h=c.memoizedProps,v[Uo]=c,(k=v.nodeValue!==h)&&(i=Fn,i!==null))switch(i.tag){case 3:bp(v.nodeValue,h,(i.mode&1)!==0);break;case 5:i.memoizedProps.suppressHydrationWarning!==!0&&bp(v.nodeValue,h,(i.mode&1)!==0)}k&&(c.flags|=4)}else v=(h.nodeType===9?h:h.ownerDocument).createTextNode(v),v[Uo]=c,c.stateNode=v}return Qr(c),null;case 13:if(ar(hr),v=c.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(lr&&Bn!==null&&(c.mode&1)!==0&&(c.flags&128)===0)nx(),al(),c.flags|=98560,k=!1;else if(k=Ep(c),v!==null&&v.dehydrated!==null){if(i===null){if(!k)throw Error(r(318));if(k=c.memoizedState,k=k!==null?k.dehydrated:null,!k)throw Error(r(317));k[Uo]=c}else al(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Qr(c),k=!1}else xo!==null&&(f_(xo),xo=null),k=!0;if(!k)return c.flags&65536?c:null}return(c.flags&128)!==0?(c.lanes=h,c):(v=v!==null,v!==(i!==null&&i.memoizedState!==null)&&v&&(c.child.flags|=8192,(c.mode&1)!==0&&(i===null||(hr.current&1)!==0?Nr===0&&(Nr=3):__())),c.updateQueue!==null&&(c.flags|=4),Qr(c),null);case 4:return cl(),n_(i,c),i===null&&rd(c.stateNode.containerInfo),Qr(c),null;case 10:return Ag(c.type._context),Qr(c),null;case 17:return Sn(c.type)&&xp(),Qr(c),null;case 19:if(ar(hr),k=c.memoizedState,k===null)return Qr(c),null;if(v=(c.flags&128)!==0,R=k.rendering,R===null)if(v)fd(k,!1);else{if(Nr!==0||i!==null&&(i.flags&128)!==0)for(i=c.child;i!==null;){if(R=Mp(i),R!==null){for(c.flags|=128,fd(k,!1),v=R.updateQueue,v!==null&&(c.updateQueue=v,c.flags|=4),c.subtreeFlags=0,v=h,h=c.child;h!==null;)k=h,i=v,k.flags&=14680066,R=k.alternate,R===null?(k.childLanes=0,k.lanes=i,k.child=null,k.subtreeFlags=0,k.memoizedProps=null,k.memoizedState=null,k.updateQueue=null,k.dependencies=null,k.stateNode=null):(k.childLanes=R.childLanes,k.lanes=R.lanes,k.child=R.child,k.subtreeFlags=0,k.deletions=null,k.memoizedProps=R.memoizedProps,k.memoizedState=R.memoizedState,k.updateQueue=R.updateQueue,k.type=R.type,i=R.dependencies,k.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),h=h.sibling;return tr(hr,hr.current&1|2),c.child}i=i.sibling}k.tail!==null&&Sr()>hl&&(c.flags|=128,v=!0,fd(k,!1),c.lanes=4194304)}else{if(!v)if(i=Mp(R),i!==null){if(c.flags|=128,v=!0,h=i.updateQueue,h!==null&&(c.updateQueue=h,c.flags|=4),fd(k,!0),k.tail===null&&k.tailMode==="hidden"&&!R.alternate&&!lr)return Qr(c),null}else 2*Sr()-k.renderingStartTime>hl&&h!==1073741824&&(c.flags|=128,v=!0,fd(k,!1),c.lanes=4194304);k.isBackwards?(R.sibling=c.child,c.child=R):(h=k.last,h!==null?h.sibling=R:c.child=R,k.last=R)}return k.tail!==null?(c=k.tail,k.rendering=c,k.tail=c.sibling,k.renderingStartTime=Sr(),c.sibling=null,h=hr.current,tr(hr,v?h&1|2:h&1),c):(Qr(c),null);case 22:case 23:return g_(),v=c.memoizedState!==null,i!==null&&i.memoizedState!==null!==v&&(c.flags|=8192),v&&(c.mode&1)!==0?(Wn&1073741824)!==0&&(Qr(c),c.subtreeFlags&6&&(c.flags|=8192)):Qr(c),null;case 24:return null;case 25:return null}throw Error(r(156,c.tag))}function LA(i,c){switch(Cg(c),c.tag){case 1:return Sn(c.type)&&xp(),i=c.flags,i&65536?(c.flags=i&-65537|128,c):null;case 3:return cl(),ar(wn),ar(Yr),Pg(),i=c.flags,(i&65536)!==0&&(i&128)===0?(c.flags=i&-65537|128,c):null;case 5:return jg(c),null;case 13:if(ar(hr),i=c.memoizedState,i!==null&&i.dehydrated!==null){if(c.alternate===null)throw Error(r(340));al()}return i=c.flags,i&65536?(c.flags=i&-65537|128,c):null;case 19:return ar(hr),null;case 4:return cl(),null;case 10:return Ag(c.type._context),null;case 22:case 23:return g_(),null;case 24:return null;default:return null}}var Hp=!1,en=!1,FA=typeof WeakSet=="function"?WeakSet:Set,ze=null;function ul(i,c){var h=i.ref;if(h!==null)if(typeof h=="function")try{h(null)}catch(v){_r(i,c,v)}else h.current=null}function o_(i,c,h){try{h()}catch(v){_r(i,c,v)}}var tk=!1;function BA(i,c){if(gg=cp,i=NS(),lg(i)){if("selectionStart"in i)var h={start:i.selectionStart,end:i.selectionEnd};else e:{h=(h=i.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var S=v.anchorOffset,k=v.focusNode;v=v.focusOffset;try{h.nodeType,k.nodeType}catch{h=null;break e}var R=0,F=-1,V=-1,te=0,he=0,_e=i,ue=null;t:for(;;){for(var Ee;_e!==h||S!==0&&_e.nodeType!==3||(F=R+S),_e!==k||v!==0&&_e.nodeType!==3||(V=R+v),_e.nodeType===3&&(R+=_e.nodeValue.length),(Ee=_e.firstChild)!==null;)ue=_e,_e=Ee;for(;;){if(_e===i)break t;if(ue===h&&++te===S&&(F=R),ue===k&&++he===v&&(V=R),(Ee=_e.nextSibling)!==null)break;_e=ue,ue=_e.parentNode}_e=Ee}h=F===-1||V===-1?null:{start:F,end:V}}else h=null}h=h||{start:0,end:0}}else h=null;for(_g={focusedElem:i,selectionRange:h},cp=!1,ze=c;ze!==null;)if(c=ze,i=c.child,(c.subtreeFlags&1028)!==0&&i!==null)i.return=c,ze=i;else for(;ze!==null;){c=ze;try{var Be=c.alternate;if((c.flags&1024)!==0)switch(c.tag){case 0:case 11:case 15:break;case 1:if(Be!==null){var He=Be.memoizedProps,xr=Be.memoizedState,Y=c.stateNode,G=Y.getSnapshotBeforeUpdate(c.elementType===c.type?He:ko(c.type,He),xr);Y.__reactInternalSnapshotBeforeUpdate=G}break;case 3:var Q=c.stateNode.containerInfo;Q.nodeType===1?Q.textContent="":Q.nodeType===9&&Q.documentElement&&Q.removeChild(Q.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(ve){_r(c,c.return,ve)}if(i=c.sibling,i!==null){i.return=c.return,ze=i;break}ze=c.return}return Be=tk,tk=!1,Be}function md(i,c,h){var v=c.updateQueue;if(v=v!==null?v.lastEffect:null,v!==null){var S=v=v.next;do{if((S.tag&i)===i){var k=S.destroy;S.destroy=void 0,k!==void 0&&o_(c,h,k)}S=S.next}while(S!==v)}}function Up(i,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var h=c=c.next;do{if((h.tag&i)===i){var v=h.create;h.destroy=v()}h=h.next}while(h!==c)}}function a_(i){var c=i.ref;if(c!==null){var h=i.stateNode;switch(i.tag){case 5:i=h;break;default:i=h}typeof c=="function"?c(i):c.current=i}}function rk(i){var c=i.alternate;c!==null&&(i.alternate=null,rk(c)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(c=i.stateNode,c!==null&&(delete c[Uo],delete c[od],delete c[wg],delete c[xA],delete c[kA])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function nk(i){return i.tag===5||i.tag===3||i.tag===4}function ok(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||nk(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function s_(i,c,h){var v=i.tag;if(v===5||v===6)i=i.stateNode,c?h.nodeType===8?h.parentNode.insertBefore(i,c):h.insertBefore(i,c):(h.nodeType===8?(c=h.parentNode,c.insertBefore(i,h)):(c=h,c.appendChild(i)),h=h._reactRootContainer,h!=null||c.onclick!==null||(c.onclick=wp));else if(v!==4&&(i=i.child,i!==null))for(s_(i,c,h),i=i.sibling;i!==null;)s_(i,c,h),i=i.sibling}function i_(i,c,h){var v=i.tag;if(v===5||v===6)i=i.stateNode,c?h.insertBefore(i,c):h.appendChild(i);else if(v!==4&&(i=i.child,i!==null))for(i_(i,c,h),i=i.sibling;i!==null;)i_(i,c,h),i=i.sibling}var Wr=null,Co=!1;function os(i,c,h){for(h=h.child;h!==null;)ak(i,c,h),h=h.sibling}function ak(i,c,h){if(Ho&&typeof Ho.onCommitFiberUnmount=="function")try{Ho.onCommitFiberUnmount(np,h)}catch{}switch(h.tag){case 5:en||ul(h,c);case 6:var v=Wr,S=Co;Wr=null,os(i,c,h),Wr=v,Co=S,Wr!==null&&(Co?(i=Wr,h=h.stateNode,i.nodeType===8?i.parentNode.removeChild(h):i.removeChild(h)):Wr.removeChild(h.stateNode));break;case 18:Wr!==null&&(Co?(i=Wr,h=h.stateNode,i.nodeType===8?bg(i.parentNode,h):i.nodeType===1&&bg(i,h),Gc(i)):bg(Wr,h.stateNode));break;case 4:v=Wr,S=Co,Wr=h.stateNode.containerInfo,Co=!0,os(i,c,h),Wr=v,Co=S;break;case 0:case 11:case 14:case 15:if(!en&&(v=h.updateQueue,v!==null&&(v=v.lastEffect,v!==null))){S=v=v.next;do{var k=S,R=k.destroy;k=k.tag,R!==void 0&&((k&2)!==0||(k&4)!==0)&&o_(h,c,R),S=S.next}while(S!==v)}os(i,c,h);break;case 1:if(!en&&(ul(h,c),v=h.stateNode,typeof v.componentWillUnmount=="function"))try{v.props=h.memoizedProps,v.state=h.memoizedState,v.componentWillUnmount()}catch(F){_r(h,c,F)}os(i,c,h);break;case 21:os(i,c,h);break;case 22:h.mode&1?(en=(v=en)||h.memoizedState!==null,os(i,c,h),en=v):os(i,c,h);break;default:os(i,c,h)}}function sk(i){var c=i.updateQueue;if(c!==null){i.updateQueue=null;var h=i.stateNode;h===null&&(h=i.stateNode=new FA),c.forEach(function(v){var S=KA.bind(null,i,v);h.has(v)||(h.add(v),v.then(S,S))})}}function $o(i,c){var h=c.deletions;if(h!==null)for(var v=0;v<h.length;v++){var S=h[v];try{var k=i,R=c,F=R;e:for(;F!==null;){switch(F.tag){case 5:Wr=F.stateNode,Co=!1;break e;case 3:Wr=F.stateNode.containerInfo,Co=!0;break e;case 4:Wr=F.stateNode.containerInfo,Co=!0;break e}F=F.return}if(Wr===null)throw Error(r(160));ak(k,R,S),Wr=null,Co=!1;var V=S.alternate;V!==null&&(V.return=null),S.return=null}catch(te){_r(S,c,te)}}if(c.subtreeFlags&12854)for(c=c.child;c!==null;)ik(c,i),c=c.sibling}function ik(i,c){var h=i.alternate,v=i.flags;switch(i.tag){case 0:case 11:case 14:case 15:if($o(c,i),Go(i),v&4){try{md(3,i,i.return),Up(3,i)}catch(He){_r(i,i.return,He)}try{md(5,i,i.return)}catch(He){_r(i,i.return,He)}}break;case 1:$o(c,i),Go(i),v&512&&h!==null&&ul(h,h.return);break;case 5:if($o(c,i),Go(i),v&512&&h!==null&&ul(h,h.return),i.flags&32){var S=i.stateNode;try{Lt(S,"")}catch(He){_r(i,i.return,He)}}if(v&4&&(S=i.stateNode,S!=null)){var k=i.memoizedProps,R=h!==null?h.memoizedProps:k,F=i.type,V=i.updateQueue;if(i.updateQueue=null,V!==null)try{F==="input"&&k.type==="radio"&&k.name!=null&&kt(S,k),jr(F,R);var te=jr(F,k);for(R=0;R<V.length;R+=2){var he=V[R],_e=V[R+1];he==="style"?ke(S,_e):he==="dangerouslySetInnerHTML"?Wt(S,_e):he==="children"?Lt(S,_e):O(S,he,_e,te)}switch(F){case"input":we(S,k);break;case"textarea":le(S,k);break;case"select":var ue=S._wrapperState.wasMultiple;S._wrapperState.wasMultiple=!!k.multiple;var Ee=k.value;Ee!=null?st(S,!!k.multiple,Ee,!1):ue!==!!k.multiple&&(k.defaultValue!=null?st(S,!!k.multiple,k.defaultValue,!0):st(S,!!k.multiple,k.multiple?[]:"",!1))}S[od]=k}catch(He){_r(i,i.return,He)}}break;case 6:if($o(c,i),Go(i),v&4){if(i.stateNode===null)throw Error(r(162));S=i.stateNode,k=i.memoizedProps;try{S.nodeValue=k}catch(He){_r(i,i.return,He)}}break;case 3:if($o(c,i),Go(i),v&4&&h!==null&&h.memoizedState.isDehydrated)try{Gc(c.containerInfo)}catch(He){_r(i,i.return,He)}break;case 4:$o(c,i),Go(i);break;case 13:$o(c,i),Go(i),S=i.child,S.flags&8192&&(k=S.memoizedState!==null,S.stateNode.isHidden=k,!k||S.alternate!==null&&S.alternate.memoizedState!==null||(d_=Sr())),v&4&&sk(i);break;case 22:if(he=h!==null&&h.memoizedState!==null,i.mode&1?(en=(te=en)||he,$o(c,i),en=te):$o(c,i),Go(i),v&8192){if(te=i.memoizedState!==null,(i.stateNode.isHidden=te)&&!he&&(i.mode&1)!==0)for(ze=i,he=i.child;he!==null;){for(_e=ze=he;ze!==null;){switch(ue=ze,Ee=ue.child,ue.tag){case 0:case 11:case 14:case 15:md(4,ue,ue.return);break;case 1:ul(ue,ue.return);var Be=ue.stateNode;if(typeof Be.componentWillUnmount=="function"){v=ue,h=ue.return;try{c=v,Be.props=c.memoizedProps,Be.state=c.memoizedState,Be.componentWillUnmount()}catch(He){_r(v,h,He)}}break;case 5:ul(ue,ue.return);break;case 22:if(ue.memoizedState!==null){dk(_e);continue}}Ee!==null?(Ee.return=ue,ze=Ee):dk(_e)}he=he.sibling}e:for(he=null,_e=i;;){if(_e.tag===5){if(he===null){he=_e;try{S=_e.stateNode,te?(k=S.style,typeof k.setProperty=="function"?k.setProperty("display","none","important"):k.display="none"):(F=_e.stateNode,V=_e.memoizedProps.style,R=V!=null&&V.hasOwnProperty("display")?V.display:null,F.style.display=It("display",R))}catch(He){_r(i,i.return,He)}}}else if(_e.tag===6){if(he===null)try{_e.stateNode.nodeValue=te?"":_e.memoizedProps}catch(He){_r(i,i.return,He)}}else if((_e.tag!==22&&_e.tag!==23||_e.memoizedState===null||_e===i)&&_e.child!==null){_e.child.return=_e,_e=_e.child;continue}if(_e===i)break e;for(;_e.sibling===null;){if(_e.return===null||_e.return===i)break e;he===_e&&(he=null),_e=_e.return}he===_e&&(he=null),_e.sibling.return=_e.return,_e=_e.sibling}}break;case 19:$o(c,i),Go(i),v&4&&sk(i);break;case 21:break;default:$o(c,i),Go(i)}}function Go(i){var c=i.flags;if(c&2){try{e:{for(var h=i.return;h!==null;){if(nk(h)){var v=h;break e}h=h.return}throw Error(r(160))}switch(v.tag){case 5:var S=v.stateNode;v.flags&32&&(Lt(S,""),v.flags&=-33);var k=ok(i);i_(i,k,S);break;case 3:case 4:var R=v.stateNode.containerInfo,F=ok(i);s_(i,F,R);break;default:throw Error(r(161))}}catch(V){_r(i,i.return,V)}i.flags&=-3}c&4096&&(i.flags&=-4097)}function WA(i,c,h){ze=i,lk(i)}function lk(i,c,h){for(var v=(i.mode&1)!==0;ze!==null;){var S=ze,k=S.child;if(S.tag===22&&v){var R=S.memoizedState!==null||Hp;if(!R){var F=S.alternate,V=F!==null&&F.memoizedState!==null||en;F=Hp;var te=en;if(Hp=R,(en=V)&&!te)for(ze=S;ze!==null;)R=ze,V=R.child,R.tag===22&&R.memoizedState!==null?uk(S):V!==null?(V.return=R,ze=V):uk(S);for(;k!==null;)ze=k,lk(k),k=k.sibling;ze=S,Hp=F,en=te}ck(i)}else(S.subtreeFlags&8772)!==0&&k!==null?(k.return=S,ze=k):ck(i)}}function ck(i){for(;ze!==null;){var c=ze;if((c.flags&8772)!==0){var h=c.alternate;try{if((c.flags&8772)!==0)switch(c.tag){case 0:case 11:case 15:en||Up(5,c);break;case 1:var v=c.stateNode;if(c.flags&4&&!en)if(h===null)v.componentDidMount();else{var S=c.elementType===c.type?h.memoizedProps:ko(c.type,h.memoizedProps);v.componentDidUpdate(S,h.memoizedState,v.__reactInternalSnapshotBeforeUpdate)}var k=c.updateQueue;k!==null&&dx(c,k,v);break;case 3:var R=c.updateQueue;if(R!==null){if(h=null,c.child!==null)switch(c.child.tag){case 5:h=c.child.stateNode;break;case 1:h=c.child.stateNode}dx(c,R,h)}break;case 5:var F=c.stateNode;if(h===null&&c.flags&4){h=F;var V=c.memoizedProps;switch(c.type){case"button":case"input":case"select":case"textarea":V.autoFocus&&h.focus();break;case"img":V.src&&(h.src=V.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(c.memoizedState===null){var te=c.alternate;if(te!==null){var he=te.memoizedState;if(he!==null){var _e=he.dehydrated;_e!==null&&Gc(_e)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}en||c.flags&512&&a_(c)}catch(ue){_r(c,c.return,ue)}}if(c===i){ze=null;break}if(h=c.sibling,h!==null){h.return=c.return,ze=h;break}ze=c.return}}function dk(i){for(;ze!==null;){var c=ze;if(c===i){ze=null;break}var h=c.sibling;if(h!==null){h.return=c.return,ze=h;break}ze=c.return}}function uk(i){for(;ze!==null;){var c=ze;try{switch(c.tag){case 0:case 11:case 15:var h=c.return;try{Up(4,c)}catch(V){_r(c,h,V)}break;case 1:var v=c.stateNode;if(typeof v.componentDidMount=="function"){var S=c.return;try{v.componentDidMount()}catch(V){_r(c,S,V)}}var k=c.return;try{a_(c)}catch(V){_r(c,k,V)}break;case 5:var R=c.return;try{a_(c)}catch(V){_r(c,R,V)}}}catch(V){_r(c,c.return,V)}if(c===i){ze=null;break}var F=c.sibling;if(F!==null){F.return=c.return,ze=F;break}ze=c.return}}var HA=Math.ceil,Vp=I.ReactCurrentDispatcher,l_=I.ReactCurrentOwner,io=I.ReactCurrentBatchConfig,Dt=0,Lr=null,Tr=null,Hr=0,Wn=0,pl=Qa(0),Nr=0,gd=null,Ys=0,qp=0,c_=0,_d=null,kn=null,d_=0,hl=1/0,Ca=null,Gp=!1,u_=null,as=null,Jp=!1,ss=null,Xp=0,vd=0,p_=null,Kp=-1,Yp=0;function un(){return(Dt&6)!==0?Sr():Kp!==-1?Kp:Kp=Sr()}function is(i){return(i.mode&1)===0?1:(Dt&2)!==0&&Hr!==0?Hr&-Hr:$A.transition!==null?(Yp===0&&(Yp=oS()),Yp):(i=Ft,i!==0||(i=window.event,i=i===void 0?16:hS(i.type)),i)}function To(i,c,h,v){if(50<vd)throw vd=0,p_=null,Error(r(185));Wc(i,h,v),((Dt&2)===0||i!==Lr)&&(i===Lr&&((Dt&2)===0&&(qp|=h),Nr===4&&ls(i,Hr)),Cn(i,v),h===1&&Dt===0&&(c.mode&1)===0&&(hl=Sr()+500,Cp&&ts()))}function Cn(i,c){var h=i.callbackNode;$D(i,c);var v=sp(i,i===Lr?Hr:0);if(v===0)h!==null&&tS(h),i.callbackNode=null,i.callbackPriority=0;else if(c=v&-v,i.callbackPriority!==c){if(h!=null&&tS(h),c===1)i.tag===0?CA(hk.bind(null,i)):ZS(hk.bind(null,i)),wA(function(){(Dt&6)===0&&ts()}),h=null;else{switch(aS(v)){case 1:h=Vm;break;case 4:h=rS;break;case 16:h=rp;break;case 536870912:h=nS;break;default:h=rp}h=wk(h,pk.bind(null,i))}i.callbackPriority=c,i.callbackNode=h}}function pk(i,c){if(Kp=-1,Yp=0,(Dt&6)!==0)throw Error(r(327));var h=i.callbackNode;if(fl()&&i.callbackNode!==h)return null;var v=sp(i,i===Lr?Hr:0);if(v===0)return null;if((v&30)!==0||(v&i.expiredLanes)!==0||c)c=Zp(i,v);else{c=v;var S=Dt;Dt|=2;var k=mk();(Lr!==i||Hr!==c)&&(Ca=null,hl=Sr()+500,Qs(i,c));do try{qA();break}catch(F){fk(i,F)}while(!0);Dg(),Vp.current=k,Dt=S,Tr!==null?c=0:(Lr=null,Hr=0,c=Nr)}if(c!==0){if(c===2&&(S=qm(i),S!==0&&(v=S,c=h_(i,S))),c===1)throw h=gd,Qs(i,0),ls(i,v),Cn(i,Sr()),h;if(c===6)ls(i,v);else{if(S=i.current.alternate,(v&30)===0&&!UA(S)&&(c=Zp(i,v),c===2&&(k=qm(i),k!==0&&(v=k,c=h_(i,k))),c===1))throw h=gd,Qs(i,0),ls(i,v),Cn(i,Sr()),h;switch(i.finishedWork=S,i.finishedLanes=v,c){case 0:case 1:throw Error(r(345));case 2:ei(i,kn,Ca);break;case 3:if(ls(i,v),(v&130023424)===v&&(c=d_+500-Sr(),10<c)){if(sp(i,0)!==0)break;if(S=i.suspendedLanes,(S&v)!==v){un(),i.pingedLanes|=i.suspendedLanes&S;break}i.timeoutHandle=yg(ei.bind(null,i,kn,Ca),c);break}ei(i,kn,Ca);break;case 4:if(ls(i,v),(v&4194240)===v)break;for(c=i.eventTimes,S=-1;0<v;){var R=31-wo(v);k=1<<R,R=c[R],R>S&&(S=R),v&=~k}if(v=S,v=Sr()-v,v=(120>v?120:480>v?480:1080>v?1080:1920>v?1920:3e3>v?3e3:4320>v?4320:1960*HA(v/1960))-v,10<v){i.timeoutHandle=yg(ei.bind(null,i,kn,Ca),v);break}ei(i,kn,Ca);break;case 5:ei(i,kn,Ca);break;default:throw Error(r(329))}}}return Cn(i,Sr()),i.callbackNode===h?pk.bind(null,i):null}function h_(i,c){var h=_d;return i.current.memoizedState.isDehydrated&&(Qs(i,c).flags|=256),i=Zp(i,c),i!==2&&(c=kn,kn=h,c!==null&&f_(c)),i}function f_(i){kn===null?kn=i:kn.push.apply(kn,i)}function UA(i){for(var c=i;;){if(c.flags&16384){var h=c.updateQueue;if(h!==null&&(h=h.stores,h!==null))for(var v=0;v<h.length;v++){var S=h[v],k=S.getSnapshot;S=S.value;try{if(!So(k(),S))return!1}catch{return!1}}}if(h=c.child,c.subtreeFlags&16384&&h!==null)h.return=c,c=h;else{if(c===i)break;for(;c.sibling===null;){if(c.return===null||c.return===i)return!0;c=c.return}c.sibling.return=c.return,c=c.sibling}}return!0}function ls(i,c){for(c&=~c_,c&=~qp,i.suspendedLanes|=c,i.pingedLanes&=~c,i=i.expirationTimes;0<c;){var h=31-wo(c),v=1<<h;i[h]=-1,c&=~v}}function hk(i){if((Dt&6)!==0)throw Error(r(327));fl();var c=sp(i,0);if((c&1)===0)return Cn(i,Sr()),null;var h=Zp(i,c);if(i.tag!==0&&h===2){var v=qm(i);v!==0&&(c=v,h=h_(i,v))}if(h===1)throw h=gd,Qs(i,0),ls(i,c),Cn(i,Sr()),h;if(h===6)throw Error(r(345));return i.finishedWork=i.current.alternate,i.finishedLanes=c,ei(i,kn,Ca),Cn(i,Sr()),null}function m_(i,c){var h=Dt;Dt|=1;try{return i(c)}finally{Dt=h,Dt===0&&(hl=Sr()+500,Cp&&ts())}}function Zs(i){ss!==null&&ss.tag===0&&(Dt&6)===0&&fl();var c=Dt;Dt|=1;var h=io.transition,v=Ft;try{if(io.transition=null,Ft=1,i)return i()}finally{Ft=v,io.transition=h,Dt=c,(Dt&6)===0&&ts()}}function g_(){Wn=pl.current,ar(pl)}function Qs(i,c){i.finishedWork=null,i.finishedLanes=0;var h=i.timeoutHandle;if(h!==-1&&(i.timeoutHandle=-1,bA(h)),Tr!==null)for(h=Tr.return;h!==null;){var v=h;switch(Cg(v),v.tag){case 1:v=v.type.childContextTypes,v!=null&&xp();break;case 3:cl(),ar(wn),ar(Yr),Pg();break;case 5:jg(v);break;case 4:cl();break;case 13:ar(hr);break;case 19:ar(hr);break;case 10:Ag(v.type._context);break;case 22:case 23:g_()}h=h.return}if(Lr=i,Tr=i=cs(i.current,null),Hr=Wn=c,Nr=0,gd=null,c_=qp=Ys=0,kn=_d=null,Js!==null){for(c=0;c<Js.length;c++)if(h=Js[c],v=h.interleaved,v!==null){h.interleaved=null;var S=v.next,k=h.pending;if(k!==null){var R=k.next;k.next=S,v.next=R}h.pending=v}Js=null}return i}function fk(i,c){do{var h=Tr;try{if(Dg(),Rp.current=Lp,jp){for(var v=fr.memoizedState;v!==null;){var S=v.queue;S!==null&&(S.pending=null),v=v.next}jp=!1}if(Ks=0,Pr=Ir=fr=null,dd=!1,ud=0,l_.current=null,h===null||h.return===null){Nr=1,gd=c,Tr=null;break}e:{var k=i,R=h.return,F=h,V=c;if(c=Hr,F.flags|=32768,V!==null&&typeof V=="object"&&typeof V.then=="function"){var te=V,he=F,_e=he.tag;if((he.mode&1)===0&&(_e===0||_e===11||_e===15)){var ue=he.alternate;ue?(he.updateQueue=ue.updateQueue,he.memoizedState=ue.memoizedState,he.lanes=ue.lanes):(he.updateQueue=null,he.memoizedState=null)}var Ee=Lx(R);if(Ee!==null){Ee.flags&=-257,Fx(Ee,R,F,k,c),Ee.mode&1&&Px(k,te,c),c=Ee,V=te;var Be=c.updateQueue;if(Be===null){var He=new Set;He.add(V),c.updateQueue=He}else Be.add(V);break e}else{if((c&1)===0){Px(k,te,c),__();break e}V=Error(r(426))}}else if(lr&&F.mode&1){var xr=Lx(R);if(xr!==null){(xr.flags&65536)===0&&(xr.flags|=256),Fx(xr,R,F,k,c),Eg(dl(V,F));break e}}k=V=dl(V,F),Nr!==4&&(Nr=2),_d===null?_d=[k]:_d.push(k),k=R;do{switch(k.tag){case 3:k.flags|=65536,c&=-c,k.lanes|=c;var Y=jx(k,V,c);cx(k,Y);break e;case 1:F=V;var G=k.type,Q=k.stateNode;if((k.flags&128)===0&&(typeof G.getDerivedStateFromError=="function"||Q!==null&&typeof Q.componentDidCatch=="function"&&(as===null||!as.has(Q)))){k.flags|=65536,c&=-c,k.lanes|=c;var ve=zx(k,F,c);cx(k,ve);break e}}k=k.return}while(k!==null)}_k(h)}catch(Ge){c=Ge,Tr===h&&h!==null&&(Tr=h=h.return);continue}break}while(!0)}function mk(){var i=Vp.current;return Vp.current=Lp,i===null?Lp:i}function __(){(Nr===0||Nr===3||Nr===2)&&(Nr=4),Lr===null||(Ys&268435455)===0&&(qp&268435455)===0||ls(Lr,Hr)}function Zp(i,c){var h=Dt;Dt|=2;var v=mk();(Lr!==i||Hr!==c)&&(Ca=null,Qs(i,c));do try{VA();break}catch(S){fk(i,S)}while(!0);if(Dg(),Dt=h,Vp.current=v,Tr!==null)throw Error(r(261));return Lr=null,Hr=0,Nr}function VA(){for(;Tr!==null;)gk(Tr)}function qA(){for(;Tr!==null&&!_D();)gk(Tr)}function gk(i){var c=bk(i.alternate,i,Wn);i.memoizedProps=i.pendingProps,c===null?_k(i):Tr=c,l_.current=null}function _k(i){var c=i;do{var h=c.alternate;if(i=c.return,(c.flags&32768)===0){if(h=PA(h,c,Wn),h!==null){Tr=h;return}}else{if(h=LA(h,c),h!==null){h.flags&=32767,Tr=h;return}if(i!==null)i.flags|=32768,i.subtreeFlags=0,i.deletions=null;else{Nr=6,Tr=null;return}}if(c=c.sibling,c!==null){Tr=c;return}Tr=c=i}while(c!==null);Nr===0&&(Nr=5)}function ei(i,c,h){var v=Ft,S=io.transition;try{io.transition=null,Ft=1,GA(i,c,h,v)}finally{io.transition=S,Ft=v}return null}function GA(i,c,h,v){do fl();while(ss!==null);if((Dt&6)!==0)throw Error(r(327));h=i.finishedWork;var S=i.finishedLanes;if(h===null)return null;if(i.finishedWork=null,i.finishedLanes=0,h===i.current)throw Error(r(177));i.callbackNode=null,i.callbackPriority=0;var k=h.lanes|h.childLanes;if(TD(i,k),i===Lr&&(Tr=Lr=null,Hr=0),(h.subtreeFlags&2064)===0&&(h.flags&2064)===0||Jp||(Jp=!0,wk(rp,function(){return fl(),null})),k=(h.flags&15990)!==0,(h.subtreeFlags&15990)!==0||k){k=io.transition,io.transition=null;var R=Ft;Ft=1;var F=Dt;Dt|=4,l_.current=null,BA(i,h),ik(h,i),hA(_g),cp=!!gg,_g=gg=null,i.current=h,WA(h),vD(),Dt=F,Ft=R,io.transition=k}else i.current=h;if(Jp&&(Jp=!1,ss=i,Xp=S),k=i.pendingLanes,k===0&&(as=null),wD(h.stateNode),Cn(i,Sr()),c!==null)for(v=i.onRecoverableError,h=0;h<c.length;h++)S=c[h],v(S.value,{componentStack:S.stack,digest:S.digest});if(Gp)throw Gp=!1,i=u_,u_=null,i;return(Xp&1)!==0&&i.tag!==0&&fl(),k=i.pendingLanes,(k&1)!==0?i===p_?vd++:(vd=0,p_=i):vd=0,ts(),null}function fl(){if(ss!==null){var i=aS(Xp),c=io.transition,h=Ft;try{if(io.transition=null,Ft=16>i?16:i,ss===null)var v=!1;else{if(i=ss,ss=null,Xp=0,(Dt&6)!==0)throw Error(r(331));var S=Dt;for(Dt|=4,ze=i.current;ze!==null;){var k=ze,R=k.child;if((ze.flags&16)!==0){var F=k.deletions;if(F!==null){for(var V=0;V<F.length;V++){var te=F[V];for(ze=te;ze!==null;){var he=ze;switch(he.tag){case 0:case 11:case 15:md(8,he,k)}var _e=he.child;if(_e!==null)_e.return=he,ze=_e;else for(;ze!==null;){he=ze;var ue=he.sibling,Ee=he.return;if(rk(he),he===te){ze=null;break}if(ue!==null){ue.return=Ee,ze=ue;break}ze=Ee}}}var Be=k.alternate;if(Be!==null){var He=Be.child;if(He!==null){Be.child=null;do{var xr=He.sibling;He.sibling=null,He=xr}while(He!==null)}}ze=k}}if((k.subtreeFlags&2064)!==0&&R!==null)R.return=k,ze=R;else e:for(;ze!==null;){if(k=ze,(k.flags&2048)!==0)switch(k.tag){case 0:case 11:case 15:md(9,k,k.return)}var Y=k.sibling;if(Y!==null){Y.return=k.return,ze=Y;break e}ze=k.return}}var G=i.current;for(ze=G;ze!==null;){R=ze;var Q=R.child;if((R.subtreeFlags&2064)!==0&&Q!==null)Q.return=R,ze=Q;else e:for(R=G;ze!==null;){if(F=ze,(F.flags&2048)!==0)try{switch(F.tag){case 0:case 11:case 15:Up(9,F)}}catch(Ge){_r(F,F.return,Ge)}if(F===R){ze=null;break e}var ve=F.sibling;if(ve!==null){ve.return=F.return,ze=ve;break e}ze=F.return}}if(Dt=S,ts(),Ho&&typeof Ho.onPostCommitFiberRoot=="function")try{Ho.onPostCommitFiberRoot(np,i)}catch{}v=!0}return v}finally{Ft=h,io.transition=c}}return!1}function vk(i,c,h){c=dl(h,c),c=jx(i,c,1),i=ns(i,c,1),c=un(),i!==null&&(Wc(i,1,c),Cn(i,c))}function _r(i,c,h){if(i.tag===3)vk(i,i,h);else for(;c!==null;){if(c.tag===3){vk(c,i,h);break}else if(c.tag===1){var v=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(as===null||!as.has(v))){i=dl(h,i),i=zx(c,i,1),c=ns(c,i,1),i=un(),c!==null&&(Wc(c,1,i),Cn(c,i));break}}c=c.return}}function JA(i,c,h){var v=i.pingCache;v!==null&&v.delete(c),c=un(),i.pingedLanes|=i.suspendedLanes&h,Lr===i&&(Hr&h)===h&&(Nr===4||Nr===3&&(Hr&130023424)===Hr&&500>Sr()-d_?Qs(i,0):c_|=h),Cn(i,c)}function yk(i,c){c===0&&((i.mode&1)===0?c=1:(c=ap,ap<<=1,(ap&130023424)===0&&(ap=4194304)));var h=un();i=Sa(i,c),i!==null&&(Wc(i,c,h),Cn(i,h))}function XA(i){var c=i.memoizedState,h=0;c!==null&&(h=c.retryLane),yk(i,h)}function KA(i,c){var h=0;switch(i.tag){case 13:var v=i.stateNode,S=i.memoizedState;S!==null&&(h=S.retryLane);break;case 19:v=i.stateNode;break;default:throw Error(r(314))}v!==null&&v.delete(c),yk(i,h)}var bk;bk=function(i,c,h){if(i!==null)if(i.memoizedProps!==c.pendingProps||wn.current)xn=!0;else{if((i.lanes&h)===0&&(c.flags&128)===0)return xn=!1,zA(i,c,h);xn=(i.flags&131072)!==0}else xn=!1,lr&&(c.flags&1048576)!==0&&QS(c,Tp,c.index);switch(c.lanes=0,c.tag){case 2:var v=c.type;Wp(i,c),i=c.pendingProps;var S=rl(c,Yr.current);ll(c,h),S=Bg(null,c,v,i,S,h);var k=Wg();return c.flags|=1,typeof S=="object"&&S!==null&&typeof S.render=="function"&&S.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,Sn(v)?(k=!0,kp(c)):k=!1,c.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,Mg(c),S.updater=Fp,c.stateNode=S,S._reactInternals=c,Jg(c,v,i,h),c=Zg(null,c,v,!0,k,h)):(c.tag=0,lr&&k&&kg(c),dn(null,c,S,h),c=c.child),c;case 16:v=c.elementType;e:{switch(Wp(i,c),i=c.pendingProps,S=v._init,v=S(v._payload),c.type=v,S=c.tag=ZA(v),i=ko(v,i),S){case 0:c=Yg(null,c,v,i,h);break e;case 1:c=qx(null,c,v,i,h);break e;case 11:c=Bx(null,c,v,i,h);break e;case 14:c=Wx(null,c,v,ko(v.type,i),h);break e}throw Error(r(306,v,""))}return c;case 0:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),Yg(i,c,v,S,h);case 1:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),qx(i,c,v,S,h);case 3:e:{if(Gx(c),i===null)throw Error(r(387));v=c.pendingProps,k=c.memoizedState,S=k.element,lx(i,c),Np(c,v,null,h);var R=c.memoizedState;if(v=R.element,k.isDehydrated)if(k={element:v,isDehydrated:!1,cache:R.cache,pendingSuspenseBoundaries:R.pendingSuspenseBoundaries,transitions:R.transitions},c.updateQueue.baseState=k,c.memoizedState=k,c.flags&256){S=dl(Error(r(423)),c),c=Jx(i,c,v,h,S);break e}else if(v!==S){S=dl(Error(r(424)),c),c=Jx(i,c,v,h,S);break e}else for(Bn=Za(c.stateNode.containerInfo.firstChild),Fn=c,lr=!0,xo=null,h=sx(c,null,v,h),c.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling;else{if(al(),v===S){c=ka(i,c,h);break e}dn(i,c,v,h)}c=c.child}return c;case 5:return ux(c),i===null&&Tg(c),v=c.type,S=c.pendingProps,k=i!==null?i.memoizedProps:null,R=S.children,vg(v,S)?R=null:k!==null&&vg(v,k)&&(c.flags|=32),Vx(i,c),dn(i,c,R,h),c.child;case 6:return i===null&&Tg(c),null;case 13:return Xx(i,c,h);case 4:return Rg(c,c.stateNode.containerInfo),v=c.pendingProps,i===null?c.child=sl(c,null,v,h):dn(i,c,v,h),c.child;case 11:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),Bx(i,c,v,S,h);case 7:return dn(i,c,c.pendingProps,h),c.child;case 8:return dn(i,c,c.pendingProps.children,h),c.child;case 12:return dn(i,c,c.pendingProps.children,h),c.child;case 10:e:{if(v=c.type._context,S=c.pendingProps,k=c.memoizedProps,R=S.value,tr(Dp,v._currentValue),v._currentValue=R,k!==null)if(So(k.value,R)){if(k.children===S.children&&!wn.current){c=ka(i,c,h);break e}}else for(k=c.child,k!==null&&(k.return=c);k!==null;){var F=k.dependencies;if(F!==null){R=k.child;for(var V=F.firstContext;V!==null;){if(V.context===v){if(k.tag===1){V=xa(-1,h&-h),V.tag=2;var te=k.updateQueue;if(te!==null){te=te.shared;var he=te.pending;he===null?V.next=V:(V.next=he.next,he.next=V),te.pending=V}}k.lanes|=h,V=k.alternate,V!==null&&(V.lanes|=h),Ig(k.return,h,c),F.lanes|=h;break}V=V.next}}else if(k.tag===10)R=k.type===c.type?null:k.child;else if(k.tag===18){if(R=k.return,R===null)throw Error(r(341));R.lanes|=h,F=R.alternate,F!==null&&(F.lanes|=h),Ig(R,h,c),R=k.sibling}else R=k.child;if(R!==null)R.return=k;else for(R=k;R!==null;){if(R===c){R=null;break}if(k=R.sibling,k!==null){k.return=R.return,R=k;break}R=R.return}k=R}dn(i,c,S.children,h),c=c.child}return c;case 9:return S=c.type,v=c.pendingProps.children,ll(c,h),S=ao(S),v=v(S),c.flags|=1,dn(i,c,v,h),c.child;case 14:return v=c.type,S=ko(v,c.pendingProps),S=ko(v.type,S),Wx(i,c,v,S,h);case 15:return Hx(i,c,c.type,c.pendingProps,h);case 17:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),Wp(i,c),c.tag=1,Sn(v)?(i=!0,kp(c)):i=!1,ll(c,h),Mx(c,v,S),Jg(c,v,S,h),Zg(null,c,v,!0,i,h);case 19:return Yx(i,c,h);case 22:return Ux(i,c,h)}throw Error(r(156,c.tag))};function wk(i,c){return eS(i,c)}function YA(i,c,h,v){this.tag=i,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function lo(i,c,h,v){return new YA(i,c,h,v)}function v_(i){return i=i.prototype,!(!i||!i.isReactComponent)}function ZA(i){if(typeof i=="function")return v_(i)?1:0;if(i!=null){if(i=i.$$typeof,i===H)return 11;if(i===B)return 14}return 2}function cs(i,c){var h=i.alternate;return h===null?(h=lo(i.tag,c,i.key,i.mode),h.elementType=i.elementType,h.type=i.type,h.stateNode=i.stateNode,h.alternate=i,i.alternate=h):(h.pendingProps=c,h.type=i.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=i.flags&14680064,h.childLanes=i.childLanes,h.lanes=i.lanes,h.child=i.child,h.memoizedProps=i.memoizedProps,h.memoizedState=i.memoizedState,h.updateQueue=i.updateQueue,c=i.dependencies,h.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},h.sibling=i.sibling,h.index=i.index,h.ref=i.ref,h}function Qp(i,c,h,v,S,k){var R=2;if(v=i,typeof i=="function")v_(i)&&(R=1);else if(typeof i=="string")R=5;else e:switch(i){case M:return ti(h.children,S,k,c);case j:R=8,S|=8;break;case z:return i=lo(12,h,c,S|2),i.elementType=z,i.lanes=k,i;case U:return i=lo(13,h,c,S),i.elementType=U,i.lanes=k,i;case W:return i=lo(19,h,c,S),i.elementType=W,i.lanes=k,i;case oe:return eh(h,S,k,c);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case $:R=10;break e;case L:R=9;break e;case H:R=11;break e;case B:R=14;break e;case K:R=16,v=null;break e}throw Error(r(130,i==null?i:typeof i,""))}return c=lo(R,h,c,S),c.elementType=i,c.type=v,c.lanes=k,c}function ti(i,c,h,v){return i=lo(7,i,v,c),i.lanes=h,i}function eh(i,c,h,v){return i=lo(22,i,v,c),i.elementType=oe,i.lanes=h,i.stateNode={isHidden:!1},i}function y_(i,c,h){return i=lo(6,i,null,c),i.lanes=h,i}function b_(i,c,h){return c=lo(4,i.children!==null?i.children:[],i.key,c),c.lanes=h,c.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},c}function QA(i,c,h,v,S){this.tag=c,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gm(0),this.expirationTimes=Gm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gm(0),this.identifierPrefix=v,this.onRecoverableError=S,this.mutableSourceEagerHydrationData=null}function w_(i,c,h,v,S,k,R,F,V){return i=new QA(i,c,h,F,V),c===1?(c=1,k===!0&&(c|=8)):c=0,k=lo(3,null,null,c),i.current=k,k.stateNode=i,k.memoizedState={element:v,isDehydrated:h,cache:null,transitions:null,pendingSuspenseBoundaries:null},Mg(k),i}function eI(i,c,h){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:E,key:v==null?null:""+v,children:i,containerInfo:c,implementation:h}}function Sk(i){if(!i)return es;i=i._reactInternals;e:{if(Hs(i)!==i||i.tag!==1)throw Error(r(170));var c=i;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(Sn(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(r(171))}if(i.tag===1){var h=i.type;if(Sn(h))return KS(i,h,c)}return c}function xk(i,c,h,v,S,k,R,F,V){return i=w_(h,v,!0,i,S,k,R,F,V),i.context=Sk(null),h=i.current,v=un(),S=is(h),k=xa(v,S),k.callback=c??null,ns(h,k,S),i.current.lanes=S,Wc(i,S,v),Cn(i,v),i}function th(i,c,h,v){var S=c.current,k=un(),R=is(S);return h=Sk(h),c.context===null?c.context=h:c.pendingContext=h,c=xa(k,R),c.payload={element:i},v=v===void 0?null:v,v!==null&&(c.callback=v),i=ns(S,c,R),i!==null&&(To(i,S,R,k),Ip(i,S,R)),R}function rh(i){if(i=i.current,!i.child)return null;switch(i.child.tag){case 5:return i.child.stateNode;default:return i.child.stateNode}}function kk(i,c){if(i=i.memoizedState,i!==null&&i.dehydrated!==null){var h=i.retryLane;i.retryLane=h!==0&&h<c?h:c}}function S_(i,c){kk(i,c),(i=i.alternate)&&kk(i,c)}function tI(){return null}var Ck=typeof reportError=="function"?reportError:function(i){console.error(i)};function x_(i){this._internalRoot=i}nh.prototype.render=x_.prototype.render=function(i){var c=this._internalRoot;if(c===null)throw Error(r(409));th(i,c,null,null)},nh.prototype.unmount=x_.prototype.unmount=function(){var i=this._internalRoot;if(i!==null){this._internalRoot=null;var c=i.containerInfo;Zs(function(){th(null,i,null,null)}),c[va]=null}};function nh(i){this._internalRoot=i}nh.prototype.unstable_scheduleHydration=function(i){if(i){var c=lS();i={blockedOn:null,target:i,priority:c};for(var h=0;h<Xa.length&&c!==0&&c<Xa[h].priority;h++);Xa.splice(h,0,i),h===0&&uS(i)}};function k_(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function oh(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11&&(i.nodeType!==8||i.nodeValue!==" react-mount-point-unstable "))}function $k(){}function rI(i,c,h,v,S){if(S){if(typeof v=="function"){var k=v;v=function(){var te=rh(R);k.call(te)}}var R=xk(c,v,i,0,null,!1,!1,"",$k);return i._reactRootContainer=R,i[va]=R.current,rd(i.nodeType===8?i.parentNode:i),Zs(),R}for(;S=i.lastChild;)i.removeChild(S);if(typeof v=="function"){var F=v;v=function(){var te=rh(V);F.call(te)}}var V=w_(i,0,!1,null,null,!1,!1,"",$k);return i._reactRootContainer=V,i[va]=V.current,rd(i.nodeType===8?i.parentNode:i),Zs(function(){th(c,V,h,v)}),V}function ah(i,c,h,v,S){var k=h._reactRootContainer;if(k){var R=k;if(typeof S=="function"){var F=S;S=function(){var V=rh(R);F.call(V)}}th(c,R,i,S)}else R=rI(h,c,i,S,v);return rh(R)}sS=function(i){switch(i.tag){case 3:var c=i.stateNode;if(c.current.memoizedState.isDehydrated){var h=Bc(c.pendingLanes);h!==0&&(Jm(c,h|1),Cn(c,Sr()),(Dt&6)===0&&(hl=Sr()+500,ts()))}break;case 13:Zs(function(){var v=Sa(i,1);if(v!==null){var S=un();To(v,i,1,S)}}),S_(i,1)}},Xm=function(i){if(i.tag===13){var c=Sa(i,134217728);if(c!==null){var h=un();To(c,i,134217728,h)}S_(i,134217728)}},iS=function(i){if(i.tag===13){var c=is(i),h=Sa(i,c);if(h!==null){var v=un();To(h,i,c,v)}S_(i,c)}},lS=function(){return Ft},cS=function(i,c){var h=Ft;try{return Ft=i,c()}finally{Ft=h}},Ws=function(i,c,h){switch(c){case"input":if(we(i,h),c=h.name,h.type==="radio"&&c!=null){for(h=i;h.parentNode;)h=h.parentNode;for(h=h.querySelectorAll("input[name="+JSON.stringify(""+c)+'][type="radio"]'),c=0;c<h.length;c++){var v=h[c];if(v!==i&&v.form===i.form){var S=Sp(v);if(!S)throw Error(r(90));Ne(v),we(v,S)}}}break;case"textarea":le(i,h);break;case"select":c=h.value,c!=null&&st(i,!!h.multiple,c,!1)}},Vi=m_,ht=Zs;var nI={usingClientEntryPoint:!1,Events:[ad,el,Sp,Hi,Ui,m_]},yd={findFiberByHostInstance:Us,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},oI={bundleType:yd.bundleType,version:yd.version,rendererPackageName:yd.rendererPackageName,rendererConfig:yd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:I.ReactCurrentDispatcher,findHostInstanceByFiber:function(i){return i=Z2(i),i===null?null:i.stateNode},findFiberByHostInstance:yd.findFiberByHostInstance||tI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var sh=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sh.isDisabled&&sh.supportsFiber)try{np=sh.inject(oI),Ho=sh}catch{}}return $n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=nI,$n.createPortal=function(i,c){var h=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!k_(c))throw Error(r(200));return eI(i,c,null,h)},$n.createRoot=function(i,c){if(!k_(i))throw Error(r(299));var h=!1,v="",S=Ck;return c!=null&&(c.unstable_strictMode===!0&&(h=!0),c.identifierPrefix!==void 0&&(v=c.identifierPrefix),c.onRecoverableError!==void 0&&(S=c.onRecoverableError)),c=w_(i,1,!1,null,null,h,!1,v,S),i[va]=c.current,rd(i.nodeType===8?i.parentNode:i),new x_(c)},$n.findDOMNode=function(i){if(i==null)return null;if(i.nodeType===1)return i;var c=i._reactInternals;if(c===void 0)throw typeof i.render=="function"?Error(r(188)):(i=Object.keys(i).join(","),Error(r(268,i)));return i=Z2(c),i=i===null?null:i.stateNode,i},$n.flushSync=function(i){return Zs(i)},$n.hydrate=function(i,c,h){if(!oh(c))throw Error(r(200));return ah(null,i,c,!0,h)},$n.hydrateRoot=function(i,c,h){if(!k_(i))throw Error(r(405));var v=h!=null&&h.hydratedSources||null,S=!1,k="",R=Ck;if(h!=null&&(h.unstable_strictMode===!0&&(S=!0),h.identifierPrefix!==void 0&&(k=h.identifierPrefix),h.onRecoverableError!==void 0&&(R=h.onRecoverableError)),c=xk(c,null,i,1,h??null,S,!1,k,R),i[va]=c.current,rd(i),v)for(i=0;i<v.length;i++)h=v[i],S=h._getVersion,S=S(h._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[h,S]:c.mutableSourceEagerHydrationData.push(h,S);return new nh(c)},$n.render=function(i,c,h){if(!oh(c))throw Error(r(200));return ah(null,i,c,!1,h)},$n.unmountComponentAtNode=function(i){if(!oh(i))throw Error(r(40));return i._reactRootContainer?(Zs(function(){ah(null,null,i,!1,function(){i._reactRootContainer=null,i[va]=null})}),!0):!1},$n.unstable_batchedUpdates=m_,$n.unstable_renderSubtreeIntoContainer=function(i,c,h,v){if(!oh(h))throw Error(r(200));if(i==null||i._reactInternals===void 0)throw Error(r(38));return ah(i,c,h,!1,v)},$n.version="18.3.1-next-f1338f8080-20240426",$n}var Mk;function H6(){if(Mk)return T_.exports;Mk=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),T_.exports=hI(),T_.exports}var Rk;function fI(){if(Rk)return lh;Rk=1;var t=H6();return lh.createRoot=t.createRoot,lh.hydrateRoot=t.hydrateRoot,lh}var mI=fI();const gI="4.1.0",_I={version:gI};function za(t,...e){const r=new URL(`https://mui.com/production-error/?code=${t}`);return e.forEach(n=>r.searchParams.append("args[]",n)),`Minified MUI error #${t}; visit ${r} for the full message.`}const Mo="$$material";function ff(){return ff=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ff.apply(null,arguments)}function vI(t){if(t.sheet)return t.sheet;for(var e=0;e<document.styleSheets.length;e++)if(document.styleSheets[e].ownerNode===t)return document.styleSheets[e]}function yI(t){var e=document.createElement("style");return e.setAttribute("data-emotion",t.key),t.nonce!==void 0&&e.setAttribute("nonce",t.nonce),e.appendChild(document.createTextNode("")),e.setAttribute("data-s",""),e}var U6=(function(){function t(r){var n=this;this._insertTag=function(o){var a;n.tags.length===0?n.insertionPoint?a=n.insertionPoint.nextSibling:n.prepend?a=n.container.firstChild:a=n.before:a=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,a),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!0:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var e=t.prototype;return e.hydrate=function(n){n.forEach(this._insertTag)},e.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(yI(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var a=vI(o);try{a.insertRule(n,a.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},e.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},t})(),nn="-ms-",mf="-moz-",Mt="-webkit-",V6="comm",Qb="rule",ew="decl",bI="@import",q6="@keyframes",wI="@layer",SI=Math.abs,Jf=String.fromCharCode,xI=Object.assign;function kI(t,e){return qr(t,0)^45?(((e<<2^qr(t,0))<<2^qr(t,1))<<2^qr(t,2))<<2^qr(t,3):0}function G6(t){return t.trim()}function CI(t,e){return(t=e.exec(t))?t[0]:t}function Rt(t,e,r){return t.replace(e,r)}function j1(t,e){return t.indexOf(e)}function qr(t,e){return t.charCodeAt(e)|0}function hu(t,e,r){return t.slice(e,r)}function ra(t){return t.length}function tw(t){return t.length}function ch(t,e){return e.push(t),t}function $I(t,e){return t.map(e).join("")}var Xf=1,pc=1,J6=0,jn=0,Or=0,Cc="";function Kf(t,e,r,n,o,a,s){return{value:t,root:e,parent:r,type:n,props:o,children:a,line:Xf,column:pc,length:s,return:""}}function wd(t,e){return xI(Kf("",null,null,"",null,null,0),t,{length:-t.length},e)}function TI(){return Or}function EI(){return Or=jn>0?qr(Cc,--jn):0,pc--,Or===10&&(pc=1,Xf--),Or}function Kn(){return Or=jn<J6?qr(Cc,jn++):0,pc++,Or===10&&(pc=1,Xf++),Or}function la(){return qr(Cc,jn)}function Zh(){return jn}function ju(t,e){return hu(Cc,t,e)}function fu(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function X6(t){return Xf=pc=1,J6=ra(Cc=t),jn=0,[]}function K6(t){return Cc="",t}function Qh(t){return G6(ju(jn-1,z1(t===91?t+2:t===40?t+1:t)))}function OI(t){for(;(Or=la())&&Or<33;)Kn();return fu(t)>2||fu(Or)>3?"":" "}function DI(t,e){for(;--e&&Kn()&&!(Or<48||Or>102||Or>57&&Or<65||Or>70&&Or<97););return ju(t,Zh()+(e<6&&la()==32&&Kn()==32))}function z1(t){for(;Kn();)switch(Or){case t:return jn;case 34:case 39:t!==34&&t!==39&&z1(Or);break;case 40:t===41&&z1(t);break;case 92:Kn();break}return jn}function AI(t,e){for(;Kn()&&t+Or!==57;)if(t+Or===84&&la()===47)break;return"/*"+ju(e,jn-1)+"*"+Jf(t===47?t:Kn())}function II(t){for(;!fu(la());)Kn();return ju(t,jn)}function NI(t){return K6(ef("",null,null,null,[""],t=X6(t),0,[0],t))}function ef(t,e,r,n,o,a,s,l,d){for(var p=0,m=0,u=s,g=0,_=0,b=0,w=1,x=1,C=1,D=0,O="",I=o,N=a,E=n,M=O;x;)switch(b=D,D=Kn()){case 40:if(b!=108&&qr(M,u-1)==58){j1(M+=Rt(Qh(D),"&","&\f"),"&\f")!=-1&&(C=-1);break}case 34:case 39:case 91:M+=Qh(D);break;case 9:case 10:case 13:case 32:M+=OI(b);break;case 92:M+=DI(Zh()-1,7);continue;case 47:switch(la()){case 42:case 47:ch(MI(AI(Kn(),Zh()),e,r),d);break;default:M+="/"}break;case 123*w:l[p++]=ra(M)*C;case 125*w:case 59:case 0:switch(D){case 0:case 125:x=0;case 59+m:C==-1&&(M=Rt(M,/\f/g,"")),_>0&&ra(M)-u&&ch(_>32?zk(M+";",n,r,u-1):zk(Rt(M," ","")+";",n,r,u-2),d);break;case 59:M+=";";default:if(ch(E=jk(M,e,r,p,m,o,l,O,I=[],N=[],u),a),D===123)if(m===0)ef(M,e,E,E,I,a,u,l,N);else switch(g===99&&qr(M,3)===110?100:g){case 100:case 108:case 109:case 115:ef(t,E,E,n&&ch(jk(t,E,E,0,0,o,l,O,o,I=[],u),N),o,N,u,l,n?I:N);break;default:ef(M,E,E,E,[""],N,0,l,N)}}p=m=_=0,w=C=1,O=M="",u=s;break;case 58:u=1+ra(M),_=b;default:if(w<1){if(D==123)--w;else if(D==125&&w++==0&&EI()==125)continue}switch(M+=Jf(D),D*w){case 38:C=m>0?1:(M+="\f",-1);break;case 44:l[p++]=(ra(M)-1)*C,C=1;break;case 64:la()===45&&(M+=Qh(Kn())),g=la(),m=u=ra(O=M+=II(Zh())),D++;break;case 45:b===45&&ra(M)==2&&(w=0)}}return a}function jk(t,e,r,n,o,a,s,l,d,p,m){for(var u=o-1,g=o===0?a:[""],_=tw(g),b=0,w=0,x=0;b<n;++b)for(var C=0,D=hu(t,u+1,u=SI(w=s[b])),O=t;C<_;++C)(O=G6(w>0?g[C]+" "+D:Rt(D,/&\f/g,g[C])))&&(d[x++]=O);return Kf(t,e,r,o===0?Qb:l,d,p,m)}function MI(t,e,r){return Kf(t,e,r,V6,Jf(TI()),hu(t,2,-2),0)}function zk(t,e,r,n){return Kf(t,e,r,ew,hu(t,0,n),hu(t,n+1,-1),n)}function rc(t,e){for(var r="",n=tw(t),o=0;o<n;o++)r+=e(t[o],o,t,e)||"";return r}function RI(t,e,r,n){switch(t.type){case wI:if(t.children.length)break;case bI:case ew:return t.return=t.return||t.value;case V6:return"";case q6:return t.return=t.value+"{"+rc(t.children,n)+"}";case Qb:t.value=t.props.join(",")}return ra(r=rc(t.children,n))?t.return=t.value+"{"+r+"}":""}function jI(t){var e=tw(t);return function(r,n,o,a){for(var s="",l=0;l<e;l++)s+=t[l](r,n,o,a)||"";return s}}function zI(t){return function(e){e.root||(e=e.return)&&t(e)}}function Y6(t){var e=Object.create(null);return function(r){return e[r]===void 0&&(e[r]=t(r)),e[r]}}var PI=function(e,r,n){for(var o=0,a=0;o=a,a=la(),o===38&&a===12&&(r[n]=1),!fu(a);)Kn();return ju(e,jn)},LI=function(e,r){var n=-1,o=44;do switch(fu(o)){case 0:o===38&&la()===12&&(r[n]=1),e[n]+=PI(jn-1,r,n);break;case 2:e[n]+=Qh(o);break;case 4:if(o===44){e[++n]=la()===58?"&\f":"",r[n]=e[n].length;break}default:e[n]+=Jf(o)}while(o=Kn());return e},FI=function(e,r){return K6(LI(X6(e),r))},Pk=new WeakMap,BI=function(e){if(!(e.type!=="rule"||!e.parent||e.length<1)){for(var r=e.value,n=e.parent,o=e.column===n.column&&e.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(e.props.length===1&&r.charCodeAt(0)!==58&&!Pk.get(n))&&!o){Pk.set(e,!0);for(var a=[],s=FI(r,a),l=n.props,d=0,p=0;d<s.length;d++)for(var m=0;m<l.length;m++,p++)e.props[p]=a[d]?s[d].replace(/&\f/g,l[m]):l[m]+" "+s[d]}}},WI=function(e){if(e.type==="decl"){var r=e.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(e.return="",e.value="")}};function Z6(t,e){switch(kI(t,e)){case 5103:return Mt+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Mt+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Mt+t+mf+t+nn+t+t;case 6828:case 4268:return Mt+t+nn+t+t;case 6165:return Mt+t+nn+"flex-"+t+t;case 5187:return Mt+t+Rt(t,/(\w+).+(:[^]+)/,Mt+"box-$1$2"+nn+"flex-$1$2")+t;case 5443:return Mt+t+nn+"flex-item-"+Rt(t,/flex-|-self/,"")+t;case 4675:return Mt+t+nn+"flex-line-pack"+Rt(t,/align-content|flex-|-self/,"")+t;case 5548:return Mt+t+nn+Rt(t,"shrink","negative")+t;case 5292:return Mt+t+nn+Rt(t,"basis","preferred-size")+t;case 6060:return Mt+"box-"+Rt(t,"-grow","")+Mt+t+nn+Rt(t,"grow","positive")+t;case 4554:return Mt+Rt(t,/([^-])(transform)/g,"$1"+Mt+"$2")+t;case 6187:return Rt(Rt(Rt(t,/(zoom-|grab)/,Mt+"$1"),/(image-set)/,Mt+"$1"),t,"")+t;case 5495:case 3959:return Rt(t,/(image-set\([^]*)/,Mt+"$1$`$1");case 4968:return Rt(Rt(t,/(.+:)(flex-)?(.*)/,Mt+"box-pack:$3"+nn+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Mt+t+t;case 4095:case 3583:case 4068:case 2532:return Rt(t,/(.+)-inline(.+)/,Mt+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ra(t)-1-e>6)switch(qr(t,e+1)){case 109:if(qr(t,e+4)!==45)break;case 102:return Rt(t,/(.+:)(.+)-([^]+)/,"$1"+Mt+"$2-$3$1"+mf+(qr(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~j1(t,"stretch")?Z6(Rt(t,"stretch","fill-available"),e)+t:t}break;case 4949:if(qr(t,e+1)!==115)break;case 6444:switch(qr(t,ra(t)-3-(~j1(t,"!important")&&10))){case 107:return Rt(t,":",":"+Mt)+t;case 101:return Rt(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Mt+(qr(t,14)===45?"inline-":"")+"box$3$1"+Mt+"$2$3$1"+nn+"$2box$3")+t}break;case 5936:switch(qr(t,e+11)){case 114:return Mt+t+nn+Rt(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Mt+t+nn+Rt(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Mt+t+nn+Rt(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return Mt+t+nn+t+t}return t}var HI=function(e,r,n,o){if(e.length>-1&&!e.return)switch(e.type){case ew:e.return=Z6(e.value,e.length);break;case q6:return rc([wd(e,{value:Rt(e.value,"@","@"+Mt)})],o);case Qb:if(e.length)return $I(e.props,function(a){switch(CI(a,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return rc([wd(e,{props:[Rt(a,/:(read-\w+)/,":"+mf+"$1")]})],o);case"::placeholder":return rc([wd(e,{props:[Rt(a,/:(plac\w+)/,":"+Mt+"input-$1")]}),wd(e,{props:[Rt(a,/:(plac\w+)/,":"+mf+"$1")]}),wd(e,{props:[Rt(a,/:(plac\w+)/,nn+"input-$1")]})],o)}return""})}},UI=[HI],Q6=function(e){var r=e.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(w){var x=w.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(w),w.setAttribute("data-s",""))})}var o=e.stylisPlugins||UI,a={},s,l=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(w){for(var x=w.getAttribute("data-emotion").split(" "),C=1;C<x.length;C++)a[x[C]]=!0;l.push(w)});var d,p=[BI,WI];{var m,u=[RI,zI(function(w){m.insert(w)})],g=jI(p.concat(o,u)),_=function(x){return rc(NI(x),g)};d=function(x,C,D,O){m=D,_(x?x+"{"+C.styles+"}":C.styles),O&&(b.inserted[C.name]=!0)}}var b={key:r,sheet:new U6({key:r,container:s,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:a,registered:{},insert:d};return b.sheet.hydrate(l),b},D_={exports:{}},jt={};/** @license React v16.13.1
40
+ `+k.stack}return{value:i,source:c,stack:S,digest:null}}function Xg(i,c,h){return{value:i,source:null,stack:h??null,digest:c??null}}function Kg(i,c){try{console.error(c.value)}catch(h){setTimeout(function(){throw h})}}var MA=typeof WeakMap=="function"?WeakMap:Map;function jx(i,c,h){h=xa(-1,h),h.tag=3,h.payload={element:null};var v=c.value;return h.callback=function(){Gp||(Gp=!0,u_=v),Kg(i,c)},h}function zx(i,c,h){h=xa(-1,h),h.tag=3;var v=i.type.getDerivedStateFromError;if(typeof v=="function"){var S=c.value;h.payload=function(){return v(S)},h.callback=function(){Kg(i,c)}}var k=i.stateNode;return k!==null&&typeof k.componentDidCatch=="function"&&(h.callback=function(){Kg(i,c),typeof v!="function"&&(as===null?as=new Set([this]):as.add(this));var R=c.stack;this.componentDidCatch(c.value,{componentStack:R!==null?R:""})}),h}function Px(i,c,h){var v=i.pingCache;if(v===null){v=i.pingCache=new MA;var S=new Set;v.set(c,S)}else S=v.get(c),S===void 0&&(S=new Set,v.set(c,S));S.has(h)||(S.add(h),i=JA.bind(null,i,c,h),c.then(i,i))}function Lx(i){do{var c;if((c=i.tag===13)&&(c=i.memoizedState,c=c!==null?c.dehydrated!==null:!0),c)return i;i=i.return}while(i!==null);return null}function Fx(i,c,h,v,S){return(i.mode&1)===0?(i===c?i.flags|=65536:(i.flags|=128,h.flags|=131072,h.flags&=-52805,h.tag===1&&(h.alternate===null?h.tag=17:(c=xa(-1,1),c.tag=2,ns(h,c,1))),h.lanes|=1),i):(i.flags|=65536,i.lanes=S,i)}var RA=I.ReactCurrentOwner,xn=!1;function dn(i,c,h,v){c.child=i===null?sx(c,null,h,v):sl(c,i.child,h,v)}function Bx(i,c,h,v,S){h=h.render;var k=c.ref;return ll(c,S),v=Bg(i,c,h,v,k,S),h=Wg(),i!==null&&!xn?(c.updateQueue=i.updateQueue,c.flags&=-2053,i.lanes&=~S,ka(i,c,S)):(lr&&h&&kg(c),c.flags|=1,dn(i,c,v,S),c.child)}function Wx(i,c,h,v,S){if(i===null){var k=h.type;return typeof k=="function"&&!v_(k)&&k.defaultProps===void 0&&h.compare===null&&h.defaultProps===void 0?(c.tag=15,c.type=k,Hx(i,c,k,v,S)):(i=Qp(h.type,null,v,c,c.mode,S),i.ref=c.ref,i.return=c,c.child=i)}if(k=i.child,(i.lanes&S)===0){var R=k.memoizedProps;if(h=h.compare,h=h!==null?h:Qc,h(R,v)&&i.ref===c.ref)return ka(i,c,S)}return c.flags|=1,i=cs(k,v),i.ref=c.ref,i.return=c,c.child=i}function Hx(i,c,h,v,S){if(i!==null){var k=i.memoizedProps;if(Qc(k,v)&&i.ref===c.ref)if(xn=!1,c.pendingProps=v=k,(i.lanes&S)!==0)(i.flags&131072)!==0&&(xn=!0);else return c.lanes=i.lanes,ka(i,c,S)}return Yg(i,c,h,v,S)}function Ux(i,c,h){var v=c.pendingProps,S=v.children,k=i!==null?i.memoizedState:null;if(v.mode==="hidden")if((c.mode&1)===0)c.memoizedState={baseLanes:0,cachePool:null,transitions:null},tr(pl,Wn),Wn|=h;else{if((h&1073741824)===0)return i=k!==null?k.baseLanes|h:h,c.lanes=c.childLanes=1073741824,c.memoizedState={baseLanes:i,cachePool:null,transitions:null},c.updateQueue=null,tr(pl,Wn),Wn|=i,null;c.memoizedState={baseLanes:0,cachePool:null,transitions:null},v=k!==null?k.baseLanes:h,tr(pl,Wn),Wn|=v}else k!==null?(v=k.baseLanes|h,c.memoizedState=null):v=h,tr(pl,Wn),Wn|=v;return dn(i,c,S,h),c.child}function Vx(i,c){var h=c.ref;(i===null&&h!==null||i!==null&&i.ref!==h)&&(c.flags|=512,c.flags|=2097152)}function Yg(i,c,h,v,S){var k=Sn(h)?Vs:Yr.current;return k=rl(c,k),ll(c,S),h=Bg(i,c,h,v,k,S),v=Wg(),i!==null&&!xn?(c.updateQueue=i.updateQueue,c.flags&=-2053,i.lanes&=~S,ka(i,c,S)):(lr&&v&&kg(c),c.flags|=1,dn(i,c,h,S),c.child)}function qx(i,c,h,v,S){if(Sn(h)){var k=!0;kp(c)}else k=!1;if(ll(c,S),c.stateNode===null)Wp(i,c),Mx(c,h,v),Jg(c,h,v,S),v=!0;else if(i===null){var R=c.stateNode,F=c.memoizedProps;R.props=F;var V=R.context,te=h.contextType;typeof te=="object"&&te!==null?te=ao(te):(te=Sn(h)?Vs:Yr.current,te=rl(c,te));var he=h.getDerivedStateFromProps,_e=typeof he=="function"||typeof R.getSnapshotBeforeUpdate=="function";_e||typeof R.UNSAFE_componentWillReceiveProps!="function"&&typeof R.componentWillReceiveProps!="function"||(F!==v||V!==te)&&Rx(c,R,v,te),rs=!1;var ue=c.memoizedState;R.state=ue,Np(c,v,R,S),V=c.memoizedState,F!==v||ue!==V||wn.current||rs?(typeof he=="function"&&(Gg(c,h,he,v),V=c.memoizedState),(F=rs||Nx(c,h,F,v,ue,V,te))?(_e||typeof R.UNSAFE_componentWillMount!="function"&&typeof R.componentWillMount!="function"||(typeof R.componentWillMount=="function"&&R.componentWillMount(),typeof R.UNSAFE_componentWillMount=="function"&&R.UNSAFE_componentWillMount()),typeof R.componentDidMount=="function"&&(c.flags|=4194308)):(typeof R.componentDidMount=="function"&&(c.flags|=4194308),c.memoizedProps=v,c.memoizedState=V),R.props=v,R.state=V,R.context=te,v=F):(typeof R.componentDidMount=="function"&&(c.flags|=4194308),v=!1)}else{R=c.stateNode,lx(i,c),F=c.memoizedProps,te=c.type===c.elementType?F:ko(c.type,F),R.props=te,_e=c.pendingProps,ue=R.context,V=h.contextType,typeof V=="object"&&V!==null?V=ao(V):(V=Sn(h)?Vs:Yr.current,V=rl(c,V));var Ee=h.getDerivedStateFromProps;(he=typeof Ee=="function"||typeof R.getSnapshotBeforeUpdate=="function")||typeof R.UNSAFE_componentWillReceiveProps!="function"&&typeof R.componentWillReceiveProps!="function"||(F!==_e||ue!==V)&&Rx(c,R,v,V),rs=!1,ue=c.memoizedState,R.state=ue,Np(c,v,R,S);var Be=c.memoizedState;F!==_e||ue!==Be||wn.current||rs?(typeof Ee=="function"&&(Gg(c,h,Ee,v),Be=c.memoizedState),(te=rs||Nx(c,h,te,v,ue,Be,V)||!1)?(he||typeof R.UNSAFE_componentWillUpdate!="function"&&typeof R.componentWillUpdate!="function"||(typeof R.componentWillUpdate=="function"&&R.componentWillUpdate(v,Be,V),typeof R.UNSAFE_componentWillUpdate=="function"&&R.UNSAFE_componentWillUpdate(v,Be,V)),typeof R.componentDidUpdate=="function"&&(c.flags|=4),typeof R.getSnapshotBeforeUpdate=="function"&&(c.flags|=1024)):(typeof R.componentDidUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=4),typeof R.getSnapshotBeforeUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=1024),c.memoizedProps=v,c.memoizedState=Be),R.props=v,R.state=Be,R.context=V,v=te):(typeof R.componentDidUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=4),typeof R.getSnapshotBeforeUpdate!="function"||F===i.memoizedProps&&ue===i.memoizedState||(c.flags|=1024),v=!1)}return Zg(i,c,h,v,k,S)}function Zg(i,c,h,v,S,k){Vx(i,c);var R=(c.flags&128)!==0;if(!v&&!R)return S&&YS(c,h,!1),ka(i,c,k);v=c.stateNode,RA.current=c;var F=R&&typeof h.getDerivedStateFromError!="function"?null:v.render();return c.flags|=1,i!==null&&R?(c.child=sl(c,i.child,null,k),c.child=sl(c,null,F,k)):dn(i,c,F,k),c.memoizedState=v.state,S&&YS(c,h,!0),c.child}function Gx(i){var c=i.stateNode;c.pendingContext?XS(i,c.pendingContext,c.pendingContext!==c.context):c.context&&XS(i,c.context,!1),Rg(i,c.containerInfo)}function Jx(i,c,h,v,S){return al(),Eg(S),c.flags|=256,dn(i,c,h,v),c.child}var Qg={dehydrated:null,treeContext:null,retryLane:0};function e_(i){return{baseLanes:i,cachePool:null,transitions:null}}function Xx(i,c,h){var v=c.pendingProps,S=hr.current,k=!1,R=(c.flags&128)!==0,F;if((F=R)||(F=i!==null&&i.memoizedState===null?!1:(S&2)!==0),F?(k=!0,c.flags&=-129):(i===null||i.memoizedState!==null)&&(S|=1),tr(hr,S&1),i===null)return Tg(c),i=c.memoizedState,i!==null&&(i=i.dehydrated,i!==null)?((c.mode&1)===0?c.lanes=1:i.data==="$!"?c.lanes=8:c.lanes=1073741824,null):(R=v.children,i=v.fallback,k?(v=c.mode,k=c.child,R={mode:"hidden",children:R},(v&1)===0&&k!==null?(k.childLanes=0,k.pendingProps=R):k=eh(R,v,0,null),i=ti(i,v,h,null),k.return=c,i.return=c,k.sibling=i,c.child=k,c.child.memoizedState=e_(h),c.memoizedState=Qg,i):t_(c,R));if(S=i.memoizedState,S!==null&&(F=S.dehydrated,F!==null))return jA(i,c,R,v,F,S,h);if(k){k=v.fallback,R=c.mode,S=i.child,F=S.sibling;var V={mode:"hidden",children:v.children};return(R&1)===0&&c.child!==S?(v=c.child,v.childLanes=0,v.pendingProps=V,c.deletions=null):(v=cs(S,V),v.subtreeFlags=S.subtreeFlags&14680064),F!==null?k=cs(F,k):(k=ti(k,R,h,null),k.flags|=2),k.return=c,v.return=c,v.sibling=k,c.child=v,v=k,k=c.child,R=i.child.memoizedState,R=R===null?e_(h):{baseLanes:R.baseLanes|h,cachePool:null,transitions:R.transitions},k.memoizedState=R,k.childLanes=i.childLanes&~h,c.memoizedState=Qg,v}return k=i.child,i=k.sibling,v=cs(k,{mode:"visible",children:v.children}),(c.mode&1)===0&&(v.lanes=h),v.return=c,v.sibling=null,i!==null&&(h=c.deletions,h===null?(c.deletions=[i],c.flags|=16):h.push(i)),c.child=v,c.memoizedState=null,v}function t_(i,c){return c=eh({mode:"visible",children:c},i.mode,0,null),c.return=i,i.child=c}function Bp(i,c,h,v){return v!==null&&Eg(v),sl(c,i.child,null,h),i=t_(c,c.pendingProps.children),i.flags|=2,c.memoizedState=null,i}function jA(i,c,h,v,S,k,R){if(h)return c.flags&256?(c.flags&=-257,v=Xg(Error(r(422))),Bp(i,c,R,v)):c.memoizedState!==null?(c.child=i.child,c.flags|=128,null):(k=v.fallback,S=c.mode,v=eh({mode:"visible",children:v.children},S,0,null),k=ti(k,S,R,null),k.flags|=2,v.return=c,k.return=c,v.sibling=k,c.child=v,(c.mode&1)!==0&&sl(c,i.child,null,R),c.child.memoizedState=e_(R),c.memoizedState=Qg,k);if((c.mode&1)===0)return Bp(i,c,R,null);if(S.data==="$!"){if(v=S.nextSibling&&S.nextSibling.dataset,v)var F=v.dgst;return v=F,k=Error(r(419)),v=Xg(k,v,void 0),Bp(i,c,R,v)}if(F=(R&i.childLanes)!==0,xn||F){if(v=Lr,v!==null){switch(R&-R){case 4:S=2;break;case 16:S=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:S=32;break;case 536870912:S=268435456;break;default:S=0}S=(S&(v.suspendedLanes|R))!==0?0:S,S!==0&&S!==k.retryLane&&(k.retryLane=S,Sa(i,S),To(v,i,S,-1))}return __(),v=Xg(Error(r(421))),Bp(i,c,R,v)}return S.data==="$?"?(c.flags|=128,c.child=i.child,c=XA.bind(null,i),S._reactRetry=c,null):(i=k.treeContext,Bn=Za(S.nextSibling),Fn=c,lr=!0,xo=null,i!==null&&(no[oo++]=ba,no[oo++]=wa,no[oo++]=qs,ba=i.id,wa=i.overflow,qs=c),c=t_(c,v.children),c.flags|=4096,c)}function Kx(i,c,h){i.lanes|=c;var v=i.alternate;v!==null&&(v.lanes|=c),Ig(i.return,c,h)}function r_(i,c,h,v,S){var k=i.memoizedState;k===null?i.memoizedState={isBackwards:c,rendering:null,renderingStartTime:0,last:v,tail:h,tailMode:S}:(k.isBackwards=c,k.rendering=null,k.renderingStartTime=0,k.last=v,k.tail=h,k.tailMode=S)}function Yx(i,c,h){var v=c.pendingProps,S=v.revealOrder,k=v.tail;if(dn(i,c,v.children,h),v=hr.current,(v&2)!==0)v=v&1|2,c.flags|=128;else{if(i!==null&&(i.flags&128)!==0)e:for(i=c.child;i!==null;){if(i.tag===13)i.memoizedState!==null&&Kx(i,h,c);else if(i.tag===19)Kx(i,h,c);else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===c)break e;for(;i.sibling===null;){if(i.return===null||i.return===c)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}v&=1}if(tr(hr,v),(c.mode&1)===0)c.memoizedState=null;else switch(S){case"forwards":for(h=c.child,S=null;h!==null;)i=h.alternate,i!==null&&Mp(i)===null&&(S=h),h=h.sibling;h=S,h===null?(S=c.child,c.child=null):(S=h.sibling,h.sibling=null),r_(c,!1,S,h,k);break;case"backwards":for(h=null,S=c.child,c.child=null;S!==null;){if(i=S.alternate,i!==null&&Mp(i)===null){c.child=S;break}i=S.sibling,S.sibling=h,h=S,S=i}r_(c,!0,h,null,k);break;case"together":r_(c,!1,null,null,void 0);break;default:c.memoizedState=null}return c.child}function Wp(i,c){(c.mode&1)===0&&i!==null&&(i.alternate=null,c.alternate=null,c.flags|=2)}function ka(i,c,h){if(i!==null&&(c.dependencies=i.dependencies),Ys|=c.lanes,(h&c.childLanes)===0)return null;if(i!==null&&c.child!==i.child)throw Error(r(153));if(c.child!==null){for(i=c.child,h=cs(i,i.pendingProps),c.child=h,h.return=c;i.sibling!==null;)i=i.sibling,h=h.sibling=cs(i,i.pendingProps),h.return=c;h.sibling=null}return c.child}function zA(i,c,h){switch(c.tag){case 3:Gx(c),al();break;case 5:ux(c);break;case 1:Sn(c.type)&&kp(c);break;case 4:Rg(c,c.stateNode.containerInfo);break;case 10:var v=c.type._context,S=c.memoizedProps.value;tr(Dp,v._currentValue),v._currentValue=S;break;case 13:if(v=c.memoizedState,v!==null)return v.dehydrated!==null?(tr(hr,hr.current&1),c.flags|=128,null):(h&c.child.childLanes)!==0?Xx(i,c,h):(tr(hr,hr.current&1),i=ka(i,c,h),i!==null?i.sibling:null);tr(hr,hr.current&1);break;case 19:if(v=(h&c.childLanes)!==0,(i.flags&128)!==0){if(v)return Yx(i,c,h);c.flags|=128}if(S=c.memoizedState,S!==null&&(S.rendering=null,S.tail=null,S.lastEffect=null),tr(hr,hr.current),v)break;return null;case 22:case 23:return c.lanes=0,Ux(i,c,h)}return ka(i,c,h)}var Zx,n_,Qx,ek;Zx=function(i,c){for(var h=c.child;h!==null;){if(h.tag===5||h.tag===6)i.appendChild(h.stateNode);else if(h.tag!==4&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===c)break;for(;h.sibling===null;){if(h.return===null||h.return===c)return;h=h.return}h.sibling.return=h.return,h=h.sibling}},n_=function(){},Qx=function(i,c,h,v){var S=i.memoizedProps;if(S!==v){i=c.stateNode,Xs(Vo.current);var k=null;switch(h){case"input":S=xe(i,S),v=xe(i,v),k=[];break;case"select":S=ne({},S,{value:void 0}),v=ne({},v,{value:void 0}),k=[];break;case"textarea":S=Se(i,S),v=Se(i,v),k=[];break;default:typeof S.onClick!="function"&&typeof v.onClick=="function"&&(i.onclick=wp)}Nt(h,v);var R;h=null;for(te in S)if(!v.hasOwnProperty(te)&&S.hasOwnProperty(te)&&S[te]!=null)if(te==="style"){var F=S[te];for(R in F)F.hasOwnProperty(R)&&(h||(h={}),h[R]="")}else te!=="dangerouslySetInnerHTML"&&te!=="children"&&te!=="suppressContentEditableWarning"&&te!=="suppressHydrationWarning"&&te!=="autoFocus"&&(o.hasOwnProperty(te)?k||(k=[]):(k=k||[]).push(te,null));for(te in v){var V=v[te];if(F=S?.[te],v.hasOwnProperty(te)&&V!==F&&(V!=null||F!=null))if(te==="style")if(F){for(R in F)!F.hasOwnProperty(R)||V&&V.hasOwnProperty(R)||(h||(h={}),h[R]="");for(R in V)V.hasOwnProperty(R)&&F[R]!==V[R]&&(h||(h={}),h[R]=V[R])}else h||(k||(k=[]),k.push(te,h)),h=V;else te==="dangerouslySetInnerHTML"?(V=V?V.__html:void 0,F=F?F.__html:void 0,V!=null&&F!==V&&(k=k||[]).push(te,V)):te==="children"?typeof V!="string"&&typeof V!="number"||(k=k||[]).push(te,""+V):te!=="suppressContentEditableWarning"&&te!=="suppressHydrationWarning"&&(o.hasOwnProperty(te)?(V!=null&&te==="onScroll"&&or("scroll",i),k||F===V||(k=[])):(k=k||[]).push(te,V))}h&&(k=k||[]).push("style",h);var te=k;(c.updateQueue=te)&&(c.flags|=4)}},ek=function(i,c,h,v){h!==v&&(c.flags|=4)};function fd(i,c){if(!lr)switch(i.tailMode){case"hidden":c=i.tail;for(var h=null;c!==null;)c.alternate!==null&&(h=c),c=c.sibling;h===null?i.tail=null:h.sibling=null;break;case"collapsed":h=i.tail;for(var v=null;h!==null;)h.alternate!==null&&(v=h),h=h.sibling;v===null?c||i.tail===null?i.tail=null:i.tail.sibling=null:v.sibling=null}}function Qr(i){var c=i.alternate!==null&&i.alternate.child===i.child,h=0,v=0;if(c)for(var S=i.child;S!==null;)h|=S.lanes|S.childLanes,v|=S.subtreeFlags&14680064,v|=S.flags&14680064,S.return=i,S=S.sibling;else for(S=i.child;S!==null;)h|=S.lanes|S.childLanes,v|=S.subtreeFlags,v|=S.flags,S.return=i,S=S.sibling;return i.subtreeFlags|=v,i.childLanes=h,c}function PA(i,c,h){var v=c.pendingProps;switch(Cg(c),c.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qr(c),null;case 1:return Sn(c.type)&&xp(),Qr(c),null;case 3:return v=c.stateNode,cl(),ar(wn),ar(Yr),Pg(),v.pendingContext&&(v.context=v.pendingContext,v.pendingContext=null),(i===null||i.child===null)&&(Ep(c)?c.flags|=4:i===null||i.memoizedState.isDehydrated&&(c.flags&256)===0||(c.flags|=1024,xo!==null&&(f_(xo),xo=null))),n_(i,c),Qr(c),null;case 5:jg(c);var S=Xs(cd.current);if(h=c.type,i!==null&&c.stateNode!=null)Qx(i,c,h,v,S),i.ref!==c.ref&&(c.flags|=512,c.flags|=2097152);else{if(!v){if(c.stateNode===null)throw Error(r(166));return Qr(c),null}if(i=Xs(Vo.current),Ep(c)){v=c.stateNode,h=c.type;var k=c.memoizedProps;switch(v[Uo]=c,v[od]=k,i=(c.mode&1)!==0,h){case"dialog":or("cancel",v),or("close",v);break;case"iframe":case"object":case"embed":or("load",v);break;case"video":case"audio":for(S=0;S<td.length;S++)or(td[S],v);break;case"source":or("error",v);break;case"img":case"image":case"link":or("error",v),or("load",v);break;case"details":or("toggle",v);break;case"input":Ae(v,k),or("invalid",v);break;case"select":v._wrapperState={wasMultiple:!!k.multiple},or("invalid",v);break;case"textarea":vt(v,k),or("invalid",v)}Nt(h,k),S=null;for(var R in k)if(k.hasOwnProperty(R)){var F=k[R];R==="children"?typeof F=="string"?v.textContent!==F&&(k.suppressHydrationWarning!==!0&&bp(v.textContent,F,i),S=["children",F]):typeof F=="number"&&v.textContent!==""+F&&(k.suppressHydrationWarning!==!0&&bp(v.textContent,F,i),S=["children",""+F]):o.hasOwnProperty(R)&&F!=null&&R==="onScroll"&&or("scroll",v)}switch(h){case"input":Ve(v),qe(v,k,!0);break;case"textarea":Ve(v),be(v);break;case"select":case"option":break;default:typeof k.onClick=="function"&&(v.onclick=wp)}v=S,c.updateQueue=v,v!==null&&(c.flags|=4)}else{R=S.nodeType===9?S:S.ownerDocument,i==="http://www.w3.org/1999/xhtml"&&(i=Ze(h)),i==="http://www.w3.org/1999/xhtml"?h==="script"?(i=R.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild)):typeof v.is=="string"?i=R.createElement(h,{is:v.is}):(i=R.createElement(h),h==="select"&&(R=i,v.multiple?R.multiple=!0:v.size&&(R.size=v.size))):i=R.createElementNS(i,h),i[Uo]=c,i[od]=v,Zx(i,c,!1,!1),c.stateNode=i;e:{switch(R=jr(h,v),h){case"dialog":or("cancel",i),or("close",i),S=v;break;case"iframe":case"object":case"embed":or("load",i),S=v;break;case"video":case"audio":for(S=0;S<td.length;S++)or(td[S],i);S=v;break;case"source":or("error",i),S=v;break;case"img":case"image":case"link":or("error",i),or("load",i),S=v;break;case"details":or("toggle",i),S=v;break;case"input":Ae(i,v),S=xe(i,v),or("invalid",i);break;case"option":S=v;break;case"select":i._wrapperState={wasMultiple:!!v.multiple},S=ne({},v,{value:void 0}),or("invalid",i);break;case"textarea":vt(i,v),S=Se(i,v),or("invalid",i);break;default:S=v}Nt(h,S),F=S;for(k in F)if(F.hasOwnProperty(k)){var V=F[k];k==="style"?ke(i,V):k==="dangerouslySetInnerHTML"?(V=V?V.__html:void 0,V!=null&&Wt(i,V)):k==="children"?typeof V=="string"?(h!=="textarea"||V!=="")&&Lt(i,V):typeof V=="number"&&Lt(i,""+V):k!=="suppressContentEditableWarning"&&k!=="suppressHydrationWarning"&&k!=="autoFocus"&&(o.hasOwnProperty(k)?V!=null&&k==="onScroll"&&or("scroll",i):V!=null&&O(i,k,V,R))}switch(h){case"input":Ve(i),qe(i,v,!1);break;case"textarea":Ve(i),be(i);break;case"option":v.value!=null&&i.setAttribute("value",""+$e(v.value));break;case"select":i.multiple=!!v.multiple,k=v.value,k!=null?st(i,!!v.multiple,k,!1):v.defaultValue!=null&&st(i,!!v.multiple,v.defaultValue,!0);break;default:typeof S.onClick=="function"&&(i.onclick=wp)}switch(h){case"button":case"input":case"select":case"textarea":v=!!v.autoFocus;break e;case"img":v=!0;break e;default:v=!1}}v&&(c.flags|=4)}c.ref!==null&&(c.flags|=512,c.flags|=2097152)}return Qr(c),null;case 6:if(i&&c.stateNode!=null)ek(i,c,i.memoizedProps,v);else{if(typeof v!="string"&&c.stateNode===null)throw Error(r(166));if(h=Xs(cd.current),Xs(Vo.current),Ep(c)){if(v=c.stateNode,h=c.memoizedProps,v[Uo]=c,(k=v.nodeValue!==h)&&(i=Fn,i!==null))switch(i.tag){case 3:bp(v.nodeValue,h,(i.mode&1)!==0);break;case 5:i.memoizedProps.suppressHydrationWarning!==!0&&bp(v.nodeValue,h,(i.mode&1)!==0)}k&&(c.flags|=4)}else v=(h.nodeType===9?h:h.ownerDocument).createTextNode(v),v[Uo]=c,c.stateNode=v}return Qr(c),null;case 13:if(ar(hr),v=c.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(lr&&Bn!==null&&(c.mode&1)!==0&&(c.flags&128)===0)nx(),al(),c.flags|=98560,k=!1;else if(k=Ep(c),v!==null&&v.dehydrated!==null){if(i===null){if(!k)throw Error(r(318));if(k=c.memoizedState,k=k!==null?k.dehydrated:null,!k)throw Error(r(317));k[Uo]=c}else al(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Qr(c),k=!1}else xo!==null&&(f_(xo),xo=null),k=!0;if(!k)return c.flags&65536?c:null}return(c.flags&128)!==0?(c.lanes=h,c):(v=v!==null,v!==(i!==null&&i.memoizedState!==null)&&v&&(c.child.flags|=8192,(c.mode&1)!==0&&(i===null||(hr.current&1)!==0?Nr===0&&(Nr=3):__())),c.updateQueue!==null&&(c.flags|=4),Qr(c),null);case 4:return cl(),n_(i,c),i===null&&rd(c.stateNode.containerInfo),Qr(c),null;case 10:return Ag(c.type._context),Qr(c),null;case 17:return Sn(c.type)&&xp(),Qr(c),null;case 19:if(ar(hr),k=c.memoizedState,k===null)return Qr(c),null;if(v=(c.flags&128)!==0,R=k.rendering,R===null)if(v)fd(k,!1);else{if(Nr!==0||i!==null&&(i.flags&128)!==0)for(i=c.child;i!==null;){if(R=Mp(i),R!==null){for(c.flags|=128,fd(k,!1),v=R.updateQueue,v!==null&&(c.updateQueue=v,c.flags|=4),c.subtreeFlags=0,v=h,h=c.child;h!==null;)k=h,i=v,k.flags&=14680066,R=k.alternate,R===null?(k.childLanes=0,k.lanes=i,k.child=null,k.subtreeFlags=0,k.memoizedProps=null,k.memoizedState=null,k.updateQueue=null,k.dependencies=null,k.stateNode=null):(k.childLanes=R.childLanes,k.lanes=R.lanes,k.child=R.child,k.subtreeFlags=0,k.deletions=null,k.memoizedProps=R.memoizedProps,k.memoizedState=R.memoizedState,k.updateQueue=R.updateQueue,k.type=R.type,i=R.dependencies,k.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),h=h.sibling;return tr(hr,hr.current&1|2),c.child}i=i.sibling}k.tail!==null&&Sr()>hl&&(c.flags|=128,v=!0,fd(k,!1),c.lanes=4194304)}else{if(!v)if(i=Mp(R),i!==null){if(c.flags|=128,v=!0,h=i.updateQueue,h!==null&&(c.updateQueue=h,c.flags|=4),fd(k,!0),k.tail===null&&k.tailMode==="hidden"&&!R.alternate&&!lr)return Qr(c),null}else 2*Sr()-k.renderingStartTime>hl&&h!==1073741824&&(c.flags|=128,v=!0,fd(k,!1),c.lanes=4194304);k.isBackwards?(R.sibling=c.child,c.child=R):(h=k.last,h!==null?h.sibling=R:c.child=R,k.last=R)}return k.tail!==null?(c=k.tail,k.rendering=c,k.tail=c.sibling,k.renderingStartTime=Sr(),c.sibling=null,h=hr.current,tr(hr,v?h&1|2:h&1),c):(Qr(c),null);case 22:case 23:return g_(),v=c.memoizedState!==null,i!==null&&i.memoizedState!==null!==v&&(c.flags|=8192),v&&(c.mode&1)!==0?(Wn&1073741824)!==0&&(Qr(c),c.subtreeFlags&6&&(c.flags|=8192)):Qr(c),null;case 24:return null;case 25:return null}throw Error(r(156,c.tag))}function LA(i,c){switch(Cg(c),c.tag){case 1:return Sn(c.type)&&xp(),i=c.flags,i&65536?(c.flags=i&-65537|128,c):null;case 3:return cl(),ar(wn),ar(Yr),Pg(),i=c.flags,(i&65536)!==0&&(i&128)===0?(c.flags=i&-65537|128,c):null;case 5:return jg(c),null;case 13:if(ar(hr),i=c.memoizedState,i!==null&&i.dehydrated!==null){if(c.alternate===null)throw Error(r(340));al()}return i=c.flags,i&65536?(c.flags=i&-65537|128,c):null;case 19:return ar(hr),null;case 4:return cl(),null;case 10:return Ag(c.type._context),null;case 22:case 23:return g_(),null;case 24:return null;default:return null}}var Hp=!1,en=!1,FA=typeof WeakSet=="function"?WeakSet:Set,ze=null;function ul(i,c){var h=i.ref;if(h!==null)if(typeof h=="function")try{h(null)}catch(v){_r(i,c,v)}else h.current=null}function o_(i,c,h){try{h()}catch(v){_r(i,c,v)}}var tk=!1;function BA(i,c){if(gg=cp,i=NS(),lg(i)){if("selectionStart"in i)var h={start:i.selectionStart,end:i.selectionEnd};else e:{h=(h=i.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var S=v.anchorOffset,k=v.focusNode;v=v.focusOffset;try{h.nodeType,k.nodeType}catch{h=null;break e}var R=0,F=-1,V=-1,te=0,he=0,_e=i,ue=null;t:for(;;){for(var Ee;_e!==h||S!==0&&_e.nodeType!==3||(F=R+S),_e!==k||v!==0&&_e.nodeType!==3||(V=R+v),_e.nodeType===3&&(R+=_e.nodeValue.length),(Ee=_e.firstChild)!==null;)ue=_e,_e=Ee;for(;;){if(_e===i)break t;if(ue===h&&++te===S&&(F=R),ue===k&&++he===v&&(V=R),(Ee=_e.nextSibling)!==null)break;_e=ue,ue=_e.parentNode}_e=Ee}h=F===-1||V===-1?null:{start:F,end:V}}else h=null}h=h||{start:0,end:0}}else h=null;for(_g={focusedElem:i,selectionRange:h},cp=!1,ze=c;ze!==null;)if(c=ze,i=c.child,(c.subtreeFlags&1028)!==0&&i!==null)i.return=c,ze=i;else for(;ze!==null;){c=ze;try{var Be=c.alternate;if((c.flags&1024)!==0)switch(c.tag){case 0:case 11:case 15:break;case 1:if(Be!==null){var He=Be.memoizedProps,xr=Be.memoizedState,Y=c.stateNode,G=Y.getSnapshotBeforeUpdate(c.elementType===c.type?He:ko(c.type,He),xr);Y.__reactInternalSnapshotBeforeUpdate=G}break;case 3:var Q=c.stateNode.containerInfo;Q.nodeType===1?Q.textContent="":Q.nodeType===9&&Q.documentElement&&Q.removeChild(Q.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(ve){_r(c,c.return,ve)}if(i=c.sibling,i!==null){i.return=c.return,ze=i;break}ze=c.return}return Be=tk,tk=!1,Be}function md(i,c,h){var v=c.updateQueue;if(v=v!==null?v.lastEffect:null,v!==null){var S=v=v.next;do{if((S.tag&i)===i){var k=S.destroy;S.destroy=void 0,k!==void 0&&o_(c,h,k)}S=S.next}while(S!==v)}}function Up(i,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var h=c=c.next;do{if((h.tag&i)===i){var v=h.create;h.destroy=v()}h=h.next}while(h!==c)}}function a_(i){var c=i.ref;if(c!==null){var h=i.stateNode;switch(i.tag){case 5:i=h;break;default:i=h}typeof c=="function"?c(i):c.current=i}}function rk(i){var c=i.alternate;c!==null&&(i.alternate=null,rk(c)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(c=i.stateNode,c!==null&&(delete c[Uo],delete c[od],delete c[wg],delete c[xA],delete c[kA])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function nk(i){return i.tag===5||i.tag===3||i.tag===4}function ok(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||nk(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function s_(i,c,h){var v=i.tag;if(v===5||v===6)i=i.stateNode,c?h.nodeType===8?h.parentNode.insertBefore(i,c):h.insertBefore(i,c):(h.nodeType===8?(c=h.parentNode,c.insertBefore(i,h)):(c=h,c.appendChild(i)),h=h._reactRootContainer,h!=null||c.onclick!==null||(c.onclick=wp));else if(v!==4&&(i=i.child,i!==null))for(s_(i,c,h),i=i.sibling;i!==null;)s_(i,c,h),i=i.sibling}function i_(i,c,h){var v=i.tag;if(v===5||v===6)i=i.stateNode,c?h.insertBefore(i,c):h.appendChild(i);else if(v!==4&&(i=i.child,i!==null))for(i_(i,c,h),i=i.sibling;i!==null;)i_(i,c,h),i=i.sibling}var Wr=null,Co=!1;function os(i,c,h){for(h=h.child;h!==null;)ak(i,c,h),h=h.sibling}function ak(i,c,h){if(Ho&&typeof Ho.onCommitFiberUnmount=="function")try{Ho.onCommitFiberUnmount(np,h)}catch{}switch(h.tag){case 5:en||ul(h,c);case 6:var v=Wr,S=Co;Wr=null,os(i,c,h),Wr=v,Co=S,Wr!==null&&(Co?(i=Wr,h=h.stateNode,i.nodeType===8?i.parentNode.removeChild(h):i.removeChild(h)):Wr.removeChild(h.stateNode));break;case 18:Wr!==null&&(Co?(i=Wr,h=h.stateNode,i.nodeType===8?bg(i.parentNode,h):i.nodeType===1&&bg(i,h),Gc(i)):bg(Wr,h.stateNode));break;case 4:v=Wr,S=Co,Wr=h.stateNode.containerInfo,Co=!0,os(i,c,h),Wr=v,Co=S;break;case 0:case 11:case 14:case 15:if(!en&&(v=h.updateQueue,v!==null&&(v=v.lastEffect,v!==null))){S=v=v.next;do{var k=S,R=k.destroy;k=k.tag,R!==void 0&&((k&2)!==0||(k&4)!==0)&&o_(h,c,R),S=S.next}while(S!==v)}os(i,c,h);break;case 1:if(!en&&(ul(h,c),v=h.stateNode,typeof v.componentWillUnmount=="function"))try{v.props=h.memoizedProps,v.state=h.memoizedState,v.componentWillUnmount()}catch(F){_r(h,c,F)}os(i,c,h);break;case 21:os(i,c,h);break;case 22:h.mode&1?(en=(v=en)||h.memoizedState!==null,os(i,c,h),en=v):os(i,c,h);break;default:os(i,c,h)}}function sk(i){var c=i.updateQueue;if(c!==null){i.updateQueue=null;var h=i.stateNode;h===null&&(h=i.stateNode=new FA),c.forEach(function(v){var S=KA.bind(null,i,v);h.has(v)||(h.add(v),v.then(S,S))})}}function $o(i,c){var h=c.deletions;if(h!==null)for(var v=0;v<h.length;v++){var S=h[v];try{var k=i,R=c,F=R;e:for(;F!==null;){switch(F.tag){case 5:Wr=F.stateNode,Co=!1;break e;case 3:Wr=F.stateNode.containerInfo,Co=!0;break e;case 4:Wr=F.stateNode.containerInfo,Co=!0;break e}F=F.return}if(Wr===null)throw Error(r(160));ak(k,R,S),Wr=null,Co=!1;var V=S.alternate;V!==null&&(V.return=null),S.return=null}catch(te){_r(S,c,te)}}if(c.subtreeFlags&12854)for(c=c.child;c!==null;)ik(c,i),c=c.sibling}function ik(i,c){var h=i.alternate,v=i.flags;switch(i.tag){case 0:case 11:case 14:case 15:if($o(c,i),Go(i),v&4){try{md(3,i,i.return),Up(3,i)}catch(He){_r(i,i.return,He)}try{md(5,i,i.return)}catch(He){_r(i,i.return,He)}}break;case 1:$o(c,i),Go(i),v&512&&h!==null&&ul(h,h.return);break;case 5:if($o(c,i),Go(i),v&512&&h!==null&&ul(h,h.return),i.flags&32){var S=i.stateNode;try{Lt(S,"")}catch(He){_r(i,i.return,He)}}if(v&4&&(S=i.stateNode,S!=null)){var k=i.memoizedProps,R=h!==null?h.memoizedProps:k,F=i.type,V=i.updateQueue;if(i.updateQueue=null,V!==null)try{F==="input"&&k.type==="radio"&&k.name!=null&&kt(S,k),jr(F,R);var te=jr(F,k);for(R=0;R<V.length;R+=2){var he=V[R],_e=V[R+1];he==="style"?ke(S,_e):he==="dangerouslySetInnerHTML"?Wt(S,_e):he==="children"?Lt(S,_e):O(S,he,_e,te)}switch(F){case"input":we(S,k);break;case"textarea":le(S,k);break;case"select":var ue=S._wrapperState.wasMultiple;S._wrapperState.wasMultiple=!!k.multiple;var Ee=k.value;Ee!=null?st(S,!!k.multiple,Ee,!1):ue!==!!k.multiple&&(k.defaultValue!=null?st(S,!!k.multiple,k.defaultValue,!0):st(S,!!k.multiple,k.multiple?[]:"",!1))}S[od]=k}catch(He){_r(i,i.return,He)}}break;case 6:if($o(c,i),Go(i),v&4){if(i.stateNode===null)throw Error(r(162));S=i.stateNode,k=i.memoizedProps;try{S.nodeValue=k}catch(He){_r(i,i.return,He)}}break;case 3:if($o(c,i),Go(i),v&4&&h!==null&&h.memoizedState.isDehydrated)try{Gc(c.containerInfo)}catch(He){_r(i,i.return,He)}break;case 4:$o(c,i),Go(i);break;case 13:$o(c,i),Go(i),S=i.child,S.flags&8192&&(k=S.memoizedState!==null,S.stateNode.isHidden=k,!k||S.alternate!==null&&S.alternate.memoizedState!==null||(d_=Sr())),v&4&&sk(i);break;case 22:if(he=h!==null&&h.memoizedState!==null,i.mode&1?(en=(te=en)||he,$o(c,i),en=te):$o(c,i),Go(i),v&8192){if(te=i.memoizedState!==null,(i.stateNode.isHidden=te)&&!he&&(i.mode&1)!==0)for(ze=i,he=i.child;he!==null;){for(_e=ze=he;ze!==null;){switch(ue=ze,Ee=ue.child,ue.tag){case 0:case 11:case 14:case 15:md(4,ue,ue.return);break;case 1:ul(ue,ue.return);var Be=ue.stateNode;if(typeof Be.componentWillUnmount=="function"){v=ue,h=ue.return;try{c=v,Be.props=c.memoizedProps,Be.state=c.memoizedState,Be.componentWillUnmount()}catch(He){_r(v,h,He)}}break;case 5:ul(ue,ue.return);break;case 22:if(ue.memoizedState!==null){dk(_e);continue}}Ee!==null?(Ee.return=ue,ze=Ee):dk(_e)}he=he.sibling}e:for(he=null,_e=i;;){if(_e.tag===5){if(he===null){he=_e;try{S=_e.stateNode,te?(k=S.style,typeof k.setProperty=="function"?k.setProperty("display","none","important"):k.display="none"):(F=_e.stateNode,V=_e.memoizedProps.style,R=V!=null&&V.hasOwnProperty("display")?V.display:null,F.style.display=It("display",R))}catch(He){_r(i,i.return,He)}}}else if(_e.tag===6){if(he===null)try{_e.stateNode.nodeValue=te?"":_e.memoizedProps}catch(He){_r(i,i.return,He)}}else if((_e.tag!==22&&_e.tag!==23||_e.memoizedState===null||_e===i)&&_e.child!==null){_e.child.return=_e,_e=_e.child;continue}if(_e===i)break e;for(;_e.sibling===null;){if(_e.return===null||_e.return===i)break e;he===_e&&(he=null),_e=_e.return}he===_e&&(he=null),_e.sibling.return=_e.return,_e=_e.sibling}}break;case 19:$o(c,i),Go(i),v&4&&sk(i);break;case 21:break;default:$o(c,i),Go(i)}}function Go(i){var c=i.flags;if(c&2){try{e:{for(var h=i.return;h!==null;){if(nk(h)){var v=h;break e}h=h.return}throw Error(r(160))}switch(v.tag){case 5:var S=v.stateNode;v.flags&32&&(Lt(S,""),v.flags&=-33);var k=ok(i);i_(i,k,S);break;case 3:case 4:var R=v.stateNode.containerInfo,F=ok(i);s_(i,F,R);break;default:throw Error(r(161))}}catch(V){_r(i,i.return,V)}i.flags&=-3}c&4096&&(i.flags&=-4097)}function WA(i,c,h){ze=i,lk(i)}function lk(i,c,h){for(var v=(i.mode&1)!==0;ze!==null;){var S=ze,k=S.child;if(S.tag===22&&v){var R=S.memoizedState!==null||Hp;if(!R){var F=S.alternate,V=F!==null&&F.memoizedState!==null||en;F=Hp;var te=en;if(Hp=R,(en=V)&&!te)for(ze=S;ze!==null;)R=ze,V=R.child,R.tag===22&&R.memoizedState!==null?uk(S):V!==null?(V.return=R,ze=V):uk(S);for(;k!==null;)ze=k,lk(k),k=k.sibling;ze=S,Hp=F,en=te}ck(i)}else(S.subtreeFlags&8772)!==0&&k!==null?(k.return=S,ze=k):ck(i)}}function ck(i){for(;ze!==null;){var c=ze;if((c.flags&8772)!==0){var h=c.alternate;try{if((c.flags&8772)!==0)switch(c.tag){case 0:case 11:case 15:en||Up(5,c);break;case 1:var v=c.stateNode;if(c.flags&4&&!en)if(h===null)v.componentDidMount();else{var S=c.elementType===c.type?h.memoizedProps:ko(c.type,h.memoizedProps);v.componentDidUpdate(S,h.memoizedState,v.__reactInternalSnapshotBeforeUpdate)}var k=c.updateQueue;k!==null&&dx(c,k,v);break;case 3:var R=c.updateQueue;if(R!==null){if(h=null,c.child!==null)switch(c.child.tag){case 5:h=c.child.stateNode;break;case 1:h=c.child.stateNode}dx(c,R,h)}break;case 5:var F=c.stateNode;if(h===null&&c.flags&4){h=F;var V=c.memoizedProps;switch(c.type){case"button":case"input":case"select":case"textarea":V.autoFocus&&h.focus();break;case"img":V.src&&(h.src=V.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(c.memoizedState===null){var te=c.alternate;if(te!==null){var he=te.memoizedState;if(he!==null){var _e=he.dehydrated;_e!==null&&Gc(_e)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}en||c.flags&512&&a_(c)}catch(ue){_r(c,c.return,ue)}}if(c===i){ze=null;break}if(h=c.sibling,h!==null){h.return=c.return,ze=h;break}ze=c.return}}function dk(i){for(;ze!==null;){var c=ze;if(c===i){ze=null;break}var h=c.sibling;if(h!==null){h.return=c.return,ze=h;break}ze=c.return}}function uk(i){for(;ze!==null;){var c=ze;try{switch(c.tag){case 0:case 11:case 15:var h=c.return;try{Up(4,c)}catch(V){_r(c,h,V)}break;case 1:var v=c.stateNode;if(typeof v.componentDidMount=="function"){var S=c.return;try{v.componentDidMount()}catch(V){_r(c,S,V)}}var k=c.return;try{a_(c)}catch(V){_r(c,k,V)}break;case 5:var R=c.return;try{a_(c)}catch(V){_r(c,R,V)}}}catch(V){_r(c,c.return,V)}if(c===i){ze=null;break}var F=c.sibling;if(F!==null){F.return=c.return,ze=F;break}ze=c.return}}var HA=Math.ceil,Vp=I.ReactCurrentDispatcher,l_=I.ReactCurrentOwner,io=I.ReactCurrentBatchConfig,Dt=0,Lr=null,Tr=null,Hr=0,Wn=0,pl=Qa(0),Nr=0,gd=null,Ys=0,qp=0,c_=0,_d=null,kn=null,d_=0,hl=1/0,Ca=null,Gp=!1,u_=null,as=null,Jp=!1,ss=null,Xp=0,vd=0,p_=null,Kp=-1,Yp=0;function un(){return(Dt&6)!==0?Sr():Kp!==-1?Kp:Kp=Sr()}function is(i){return(i.mode&1)===0?1:(Dt&2)!==0&&Hr!==0?Hr&-Hr:$A.transition!==null?(Yp===0&&(Yp=oS()),Yp):(i=Ft,i!==0||(i=window.event,i=i===void 0?16:hS(i.type)),i)}function To(i,c,h,v){if(50<vd)throw vd=0,p_=null,Error(r(185));Wc(i,h,v),((Dt&2)===0||i!==Lr)&&(i===Lr&&((Dt&2)===0&&(qp|=h),Nr===4&&ls(i,Hr)),Cn(i,v),h===1&&Dt===0&&(c.mode&1)===0&&(hl=Sr()+500,Cp&&ts()))}function Cn(i,c){var h=i.callbackNode;$D(i,c);var v=sp(i,i===Lr?Hr:0);if(v===0)h!==null&&tS(h),i.callbackNode=null,i.callbackPriority=0;else if(c=v&-v,i.callbackPriority!==c){if(h!=null&&tS(h),c===1)i.tag===0?CA(hk.bind(null,i)):ZS(hk.bind(null,i)),wA(function(){(Dt&6)===0&&ts()}),h=null;else{switch(aS(v)){case 1:h=Vm;break;case 4:h=rS;break;case 16:h=rp;break;case 536870912:h=nS;break;default:h=rp}h=wk(h,pk.bind(null,i))}i.callbackPriority=c,i.callbackNode=h}}function pk(i,c){if(Kp=-1,Yp=0,(Dt&6)!==0)throw Error(r(327));var h=i.callbackNode;if(fl()&&i.callbackNode!==h)return null;var v=sp(i,i===Lr?Hr:0);if(v===0)return null;if((v&30)!==0||(v&i.expiredLanes)!==0||c)c=Zp(i,v);else{c=v;var S=Dt;Dt|=2;var k=mk();(Lr!==i||Hr!==c)&&(Ca=null,hl=Sr()+500,Qs(i,c));do try{qA();break}catch(F){fk(i,F)}while(!0);Dg(),Vp.current=k,Dt=S,Tr!==null?c=0:(Lr=null,Hr=0,c=Nr)}if(c!==0){if(c===2&&(S=qm(i),S!==0&&(v=S,c=h_(i,S))),c===1)throw h=gd,Qs(i,0),ls(i,v),Cn(i,Sr()),h;if(c===6)ls(i,v);else{if(S=i.current.alternate,(v&30)===0&&!UA(S)&&(c=Zp(i,v),c===2&&(k=qm(i),k!==0&&(v=k,c=h_(i,k))),c===1))throw h=gd,Qs(i,0),ls(i,v),Cn(i,Sr()),h;switch(i.finishedWork=S,i.finishedLanes=v,c){case 0:case 1:throw Error(r(345));case 2:ei(i,kn,Ca);break;case 3:if(ls(i,v),(v&130023424)===v&&(c=d_+500-Sr(),10<c)){if(sp(i,0)!==0)break;if(S=i.suspendedLanes,(S&v)!==v){un(),i.pingedLanes|=i.suspendedLanes&S;break}i.timeoutHandle=yg(ei.bind(null,i,kn,Ca),c);break}ei(i,kn,Ca);break;case 4:if(ls(i,v),(v&4194240)===v)break;for(c=i.eventTimes,S=-1;0<v;){var R=31-wo(v);k=1<<R,R=c[R],R>S&&(S=R),v&=~k}if(v=S,v=Sr()-v,v=(120>v?120:480>v?480:1080>v?1080:1920>v?1920:3e3>v?3e3:4320>v?4320:1960*HA(v/1960))-v,10<v){i.timeoutHandle=yg(ei.bind(null,i,kn,Ca),v);break}ei(i,kn,Ca);break;case 5:ei(i,kn,Ca);break;default:throw Error(r(329))}}}return Cn(i,Sr()),i.callbackNode===h?pk.bind(null,i):null}function h_(i,c){var h=_d;return i.current.memoizedState.isDehydrated&&(Qs(i,c).flags|=256),i=Zp(i,c),i!==2&&(c=kn,kn=h,c!==null&&f_(c)),i}function f_(i){kn===null?kn=i:kn.push.apply(kn,i)}function UA(i){for(var c=i;;){if(c.flags&16384){var h=c.updateQueue;if(h!==null&&(h=h.stores,h!==null))for(var v=0;v<h.length;v++){var S=h[v],k=S.getSnapshot;S=S.value;try{if(!So(k(),S))return!1}catch{return!1}}}if(h=c.child,c.subtreeFlags&16384&&h!==null)h.return=c,c=h;else{if(c===i)break;for(;c.sibling===null;){if(c.return===null||c.return===i)return!0;c=c.return}c.sibling.return=c.return,c=c.sibling}}return!0}function ls(i,c){for(c&=~c_,c&=~qp,i.suspendedLanes|=c,i.pingedLanes&=~c,i=i.expirationTimes;0<c;){var h=31-wo(c),v=1<<h;i[h]=-1,c&=~v}}function hk(i){if((Dt&6)!==0)throw Error(r(327));fl();var c=sp(i,0);if((c&1)===0)return Cn(i,Sr()),null;var h=Zp(i,c);if(i.tag!==0&&h===2){var v=qm(i);v!==0&&(c=v,h=h_(i,v))}if(h===1)throw h=gd,Qs(i,0),ls(i,c),Cn(i,Sr()),h;if(h===6)throw Error(r(345));return i.finishedWork=i.current.alternate,i.finishedLanes=c,ei(i,kn,Ca),Cn(i,Sr()),null}function m_(i,c){var h=Dt;Dt|=1;try{return i(c)}finally{Dt=h,Dt===0&&(hl=Sr()+500,Cp&&ts())}}function Zs(i){ss!==null&&ss.tag===0&&(Dt&6)===0&&fl();var c=Dt;Dt|=1;var h=io.transition,v=Ft;try{if(io.transition=null,Ft=1,i)return i()}finally{Ft=v,io.transition=h,Dt=c,(Dt&6)===0&&ts()}}function g_(){Wn=pl.current,ar(pl)}function Qs(i,c){i.finishedWork=null,i.finishedLanes=0;var h=i.timeoutHandle;if(h!==-1&&(i.timeoutHandle=-1,bA(h)),Tr!==null)for(h=Tr.return;h!==null;){var v=h;switch(Cg(v),v.tag){case 1:v=v.type.childContextTypes,v!=null&&xp();break;case 3:cl(),ar(wn),ar(Yr),Pg();break;case 5:jg(v);break;case 4:cl();break;case 13:ar(hr);break;case 19:ar(hr);break;case 10:Ag(v.type._context);break;case 22:case 23:g_()}h=h.return}if(Lr=i,Tr=i=cs(i.current,null),Hr=Wn=c,Nr=0,gd=null,c_=qp=Ys=0,kn=_d=null,Js!==null){for(c=0;c<Js.length;c++)if(h=Js[c],v=h.interleaved,v!==null){h.interleaved=null;var S=v.next,k=h.pending;if(k!==null){var R=k.next;k.next=S,v.next=R}h.pending=v}Js=null}return i}function fk(i,c){do{var h=Tr;try{if(Dg(),Rp.current=Lp,jp){for(var v=fr.memoizedState;v!==null;){var S=v.queue;S!==null&&(S.pending=null),v=v.next}jp=!1}if(Ks=0,Pr=Ir=fr=null,dd=!1,ud=0,l_.current=null,h===null||h.return===null){Nr=1,gd=c,Tr=null;break}e:{var k=i,R=h.return,F=h,V=c;if(c=Hr,F.flags|=32768,V!==null&&typeof V=="object"&&typeof V.then=="function"){var te=V,he=F,_e=he.tag;if((he.mode&1)===0&&(_e===0||_e===11||_e===15)){var ue=he.alternate;ue?(he.updateQueue=ue.updateQueue,he.memoizedState=ue.memoizedState,he.lanes=ue.lanes):(he.updateQueue=null,he.memoizedState=null)}var Ee=Lx(R);if(Ee!==null){Ee.flags&=-257,Fx(Ee,R,F,k,c),Ee.mode&1&&Px(k,te,c),c=Ee,V=te;var Be=c.updateQueue;if(Be===null){var He=new Set;He.add(V),c.updateQueue=He}else Be.add(V);break e}else{if((c&1)===0){Px(k,te,c),__();break e}V=Error(r(426))}}else if(lr&&F.mode&1){var xr=Lx(R);if(xr!==null){(xr.flags&65536)===0&&(xr.flags|=256),Fx(xr,R,F,k,c),Eg(dl(V,F));break e}}k=V=dl(V,F),Nr!==4&&(Nr=2),_d===null?_d=[k]:_d.push(k),k=R;do{switch(k.tag){case 3:k.flags|=65536,c&=-c,k.lanes|=c;var Y=jx(k,V,c);cx(k,Y);break e;case 1:F=V;var G=k.type,Q=k.stateNode;if((k.flags&128)===0&&(typeof G.getDerivedStateFromError=="function"||Q!==null&&typeof Q.componentDidCatch=="function"&&(as===null||!as.has(Q)))){k.flags|=65536,c&=-c,k.lanes|=c;var ve=zx(k,F,c);cx(k,ve);break e}}k=k.return}while(k!==null)}_k(h)}catch(Ge){c=Ge,Tr===h&&h!==null&&(Tr=h=h.return);continue}break}while(!0)}function mk(){var i=Vp.current;return Vp.current=Lp,i===null?Lp:i}function __(){(Nr===0||Nr===3||Nr===2)&&(Nr=4),Lr===null||(Ys&268435455)===0&&(qp&268435455)===0||ls(Lr,Hr)}function Zp(i,c){var h=Dt;Dt|=2;var v=mk();(Lr!==i||Hr!==c)&&(Ca=null,Qs(i,c));do try{VA();break}catch(S){fk(i,S)}while(!0);if(Dg(),Dt=h,Vp.current=v,Tr!==null)throw Error(r(261));return Lr=null,Hr=0,Nr}function VA(){for(;Tr!==null;)gk(Tr)}function qA(){for(;Tr!==null&&!_D();)gk(Tr)}function gk(i){var c=bk(i.alternate,i,Wn);i.memoizedProps=i.pendingProps,c===null?_k(i):Tr=c,l_.current=null}function _k(i){var c=i;do{var h=c.alternate;if(i=c.return,(c.flags&32768)===0){if(h=PA(h,c,Wn),h!==null){Tr=h;return}}else{if(h=LA(h,c),h!==null){h.flags&=32767,Tr=h;return}if(i!==null)i.flags|=32768,i.subtreeFlags=0,i.deletions=null;else{Nr=6,Tr=null;return}}if(c=c.sibling,c!==null){Tr=c;return}Tr=c=i}while(c!==null);Nr===0&&(Nr=5)}function ei(i,c,h){var v=Ft,S=io.transition;try{io.transition=null,Ft=1,GA(i,c,h,v)}finally{io.transition=S,Ft=v}return null}function GA(i,c,h,v){do fl();while(ss!==null);if((Dt&6)!==0)throw Error(r(327));h=i.finishedWork;var S=i.finishedLanes;if(h===null)return null;if(i.finishedWork=null,i.finishedLanes=0,h===i.current)throw Error(r(177));i.callbackNode=null,i.callbackPriority=0;var k=h.lanes|h.childLanes;if(TD(i,k),i===Lr&&(Tr=Lr=null,Hr=0),(h.subtreeFlags&2064)===0&&(h.flags&2064)===0||Jp||(Jp=!0,wk(rp,function(){return fl(),null})),k=(h.flags&15990)!==0,(h.subtreeFlags&15990)!==0||k){k=io.transition,io.transition=null;var R=Ft;Ft=1;var F=Dt;Dt|=4,l_.current=null,BA(i,h),ik(h,i),hA(_g),cp=!!gg,_g=gg=null,i.current=h,WA(h),vD(),Dt=F,Ft=R,io.transition=k}else i.current=h;if(Jp&&(Jp=!1,ss=i,Xp=S),k=i.pendingLanes,k===0&&(as=null),wD(h.stateNode),Cn(i,Sr()),c!==null)for(v=i.onRecoverableError,h=0;h<c.length;h++)S=c[h],v(S.value,{componentStack:S.stack,digest:S.digest});if(Gp)throw Gp=!1,i=u_,u_=null,i;return(Xp&1)!==0&&i.tag!==0&&fl(),k=i.pendingLanes,(k&1)!==0?i===p_?vd++:(vd=0,p_=i):vd=0,ts(),null}function fl(){if(ss!==null){var i=aS(Xp),c=io.transition,h=Ft;try{if(io.transition=null,Ft=16>i?16:i,ss===null)var v=!1;else{if(i=ss,ss=null,Xp=0,(Dt&6)!==0)throw Error(r(331));var S=Dt;for(Dt|=4,ze=i.current;ze!==null;){var k=ze,R=k.child;if((ze.flags&16)!==0){var F=k.deletions;if(F!==null){for(var V=0;V<F.length;V++){var te=F[V];for(ze=te;ze!==null;){var he=ze;switch(he.tag){case 0:case 11:case 15:md(8,he,k)}var _e=he.child;if(_e!==null)_e.return=he,ze=_e;else for(;ze!==null;){he=ze;var ue=he.sibling,Ee=he.return;if(rk(he),he===te){ze=null;break}if(ue!==null){ue.return=Ee,ze=ue;break}ze=Ee}}}var Be=k.alternate;if(Be!==null){var He=Be.child;if(He!==null){Be.child=null;do{var xr=He.sibling;He.sibling=null,He=xr}while(He!==null)}}ze=k}}if((k.subtreeFlags&2064)!==0&&R!==null)R.return=k,ze=R;else e:for(;ze!==null;){if(k=ze,(k.flags&2048)!==0)switch(k.tag){case 0:case 11:case 15:md(9,k,k.return)}var Y=k.sibling;if(Y!==null){Y.return=k.return,ze=Y;break e}ze=k.return}}var G=i.current;for(ze=G;ze!==null;){R=ze;var Q=R.child;if((R.subtreeFlags&2064)!==0&&Q!==null)Q.return=R,ze=Q;else e:for(R=G;ze!==null;){if(F=ze,(F.flags&2048)!==0)try{switch(F.tag){case 0:case 11:case 15:Up(9,F)}}catch(Ge){_r(F,F.return,Ge)}if(F===R){ze=null;break e}var ve=F.sibling;if(ve!==null){ve.return=F.return,ze=ve;break e}ze=F.return}}if(Dt=S,ts(),Ho&&typeof Ho.onPostCommitFiberRoot=="function")try{Ho.onPostCommitFiberRoot(np,i)}catch{}v=!0}return v}finally{Ft=h,io.transition=c}}return!1}function vk(i,c,h){c=dl(h,c),c=jx(i,c,1),i=ns(i,c,1),c=un(),i!==null&&(Wc(i,1,c),Cn(i,c))}function _r(i,c,h){if(i.tag===3)vk(i,i,h);else for(;c!==null;){if(c.tag===3){vk(c,i,h);break}else if(c.tag===1){var v=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(as===null||!as.has(v))){i=dl(h,i),i=zx(c,i,1),c=ns(c,i,1),i=un(),c!==null&&(Wc(c,1,i),Cn(c,i));break}}c=c.return}}function JA(i,c,h){var v=i.pingCache;v!==null&&v.delete(c),c=un(),i.pingedLanes|=i.suspendedLanes&h,Lr===i&&(Hr&h)===h&&(Nr===4||Nr===3&&(Hr&130023424)===Hr&&500>Sr()-d_?Qs(i,0):c_|=h),Cn(i,c)}function yk(i,c){c===0&&((i.mode&1)===0?c=1:(c=ap,ap<<=1,(ap&130023424)===0&&(ap=4194304)));var h=un();i=Sa(i,c),i!==null&&(Wc(i,c,h),Cn(i,h))}function XA(i){var c=i.memoizedState,h=0;c!==null&&(h=c.retryLane),yk(i,h)}function KA(i,c){var h=0;switch(i.tag){case 13:var v=i.stateNode,S=i.memoizedState;S!==null&&(h=S.retryLane);break;case 19:v=i.stateNode;break;default:throw Error(r(314))}v!==null&&v.delete(c),yk(i,h)}var bk;bk=function(i,c,h){if(i!==null)if(i.memoizedProps!==c.pendingProps||wn.current)xn=!0;else{if((i.lanes&h)===0&&(c.flags&128)===0)return xn=!1,zA(i,c,h);xn=(i.flags&131072)!==0}else xn=!1,lr&&(c.flags&1048576)!==0&&QS(c,Tp,c.index);switch(c.lanes=0,c.tag){case 2:var v=c.type;Wp(i,c),i=c.pendingProps;var S=rl(c,Yr.current);ll(c,h),S=Bg(null,c,v,i,S,h);var k=Wg();return c.flags|=1,typeof S=="object"&&S!==null&&typeof S.render=="function"&&S.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,Sn(v)?(k=!0,kp(c)):k=!1,c.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,Mg(c),S.updater=Fp,c.stateNode=S,S._reactInternals=c,Jg(c,v,i,h),c=Zg(null,c,v,!0,k,h)):(c.tag=0,lr&&k&&kg(c),dn(null,c,S,h),c=c.child),c;case 16:v=c.elementType;e:{switch(Wp(i,c),i=c.pendingProps,S=v._init,v=S(v._payload),c.type=v,S=c.tag=ZA(v),i=ko(v,i),S){case 0:c=Yg(null,c,v,i,h);break e;case 1:c=qx(null,c,v,i,h);break e;case 11:c=Bx(null,c,v,i,h);break e;case 14:c=Wx(null,c,v,ko(v.type,i),h);break e}throw Error(r(306,v,""))}return c;case 0:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),Yg(i,c,v,S,h);case 1:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),qx(i,c,v,S,h);case 3:e:{if(Gx(c),i===null)throw Error(r(387));v=c.pendingProps,k=c.memoizedState,S=k.element,lx(i,c),Np(c,v,null,h);var R=c.memoizedState;if(v=R.element,k.isDehydrated)if(k={element:v,isDehydrated:!1,cache:R.cache,pendingSuspenseBoundaries:R.pendingSuspenseBoundaries,transitions:R.transitions},c.updateQueue.baseState=k,c.memoizedState=k,c.flags&256){S=dl(Error(r(423)),c),c=Jx(i,c,v,h,S);break e}else if(v!==S){S=dl(Error(r(424)),c),c=Jx(i,c,v,h,S);break e}else for(Bn=Za(c.stateNode.containerInfo.firstChild),Fn=c,lr=!0,xo=null,h=sx(c,null,v,h),c.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling;else{if(al(),v===S){c=ka(i,c,h);break e}dn(i,c,v,h)}c=c.child}return c;case 5:return ux(c),i===null&&Tg(c),v=c.type,S=c.pendingProps,k=i!==null?i.memoizedProps:null,R=S.children,vg(v,S)?R=null:k!==null&&vg(v,k)&&(c.flags|=32),Vx(i,c),dn(i,c,R,h),c.child;case 6:return i===null&&Tg(c),null;case 13:return Xx(i,c,h);case 4:return Rg(c,c.stateNode.containerInfo),v=c.pendingProps,i===null?c.child=sl(c,null,v,h):dn(i,c,v,h),c.child;case 11:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),Bx(i,c,v,S,h);case 7:return dn(i,c,c.pendingProps,h),c.child;case 8:return dn(i,c,c.pendingProps.children,h),c.child;case 12:return dn(i,c,c.pendingProps.children,h),c.child;case 10:e:{if(v=c.type._context,S=c.pendingProps,k=c.memoizedProps,R=S.value,tr(Dp,v._currentValue),v._currentValue=R,k!==null)if(So(k.value,R)){if(k.children===S.children&&!wn.current){c=ka(i,c,h);break e}}else for(k=c.child,k!==null&&(k.return=c);k!==null;){var F=k.dependencies;if(F!==null){R=k.child;for(var V=F.firstContext;V!==null;){if(V.context===v){if(k.tag===1){V=xa(-1,h&-h),V.tag=2;var te=k.updateQueue;if(te!==null){te=te.shared;var he=te.pending;he===null?V.next=V:(V.next=he.next,he.next=V),te.pending=V}}k.lanes|=h,V=k.alternate,V!==null&&(V.lanes|=h),Ig(k.return,h,c),F.lanes|=h;break}V=V.next}}else if(k.tag===10)R=k.type===c.type?null:k.child;else if(k.tag===18){if(R=k.return,R===null)throw Error(r(341));R.lanes|=h,F=R.alternate,F!==null&&(F.lanes|=h),Ig(R,h,c),R=k.sibling}else R=k.child;if(R!==null)R.return=k;else for(R=k;R!==null;){if(R===c){R=null;break}if(k=R.sibling,k!==null){k.return=R.return,R=k;break}R=R.return}k=R}dn(i,c,S.children,h),c=c.child}return c;case 9:return S=c.type,v=c.pendingProps.children,ll(c,h),S=ao(S),v=v(S),c.flags|=1,dn(i,c,v,h),c.child;case 14:return v=c.type,S=ko(v,c.pendingProps),S=ko(v.type,S),Wx(i,c,v,S,h);case 15:return Hx(i,c,c.type,c.pendingProps,h);case 17:return v=c.type,S=c.pendingProps,S=c.elementType===v?S:ko(v,S),Wp(i,c),c.tag=1,Sn(v)?(i=!0,kp(c)):i=!1,ll(c,h),Mx(c,v,S),Jg(c,v,S,h),Zg(null,c,v,!0,i,h);case 19:return Yx(i,c,h);case 22:return Ux(i,c,h)}throw Error(r(156,c.tag))};function wk(i,c){return eS(i,c)}function YA(i,c,h,v){this.tag=i,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function lo(i,c,h,v){return new YA(i,c,h,v)}function v_(i){return i=i.prototype,!(!i||!i.isReactComponent)}function ZA(i){if(typeof i=="function")return v_(i)?1:0;if(i!=null){if(i=i.$$typeof,i===H)return 11;if(i===B)return 14}return 2}function cs(i,c){var h=i.alternate;return h===null?(h=lo(i.tag,c,i.key,i.mode),h.elementType=i.elementType,h.type=i.type,h.stateNode=i.stateNode,h.alternate=i,i.alternate=h):(h.pendingProps=c,h.type=i.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=i.flags&14680064,h.childLanes=i.childLanes,h.lanes=i.lanes,h.child=i.child,h.memoizedProps=i.memoizedProps,h.memoizedState=i.memoizedState,h.updateQueue=i.updateQueue,c=i.dependencies,h.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},h.sibling=i.sibling,h.index=i.index,h.ref=i.ref,h}function Qp(i,c,h,v,S,k){var R=2;if(v=i,typeof i=="function")v_(i)&&(R=1);else if(typeof i=="string")R=5;else e:switch(i){case M:return ti(h.children,S,k,c);case j:R=8,S|=8;break;case z:return i=lo(12,h,c,S|2),i.elementType=z,i.lanes=k,i;case U:return i=lo(13,h,c,S),i.elementType=U,i.lanes=k,i;case W:return i=lo(19,h,c,S),i.elementType=W,i.lanes=k,i;case oe:return eh(h,S,k,c);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case $:R=10;break e;case L:R=9;break e;case H:R=11;break e;case B:R=14;break e;case K:R=16,v=null;break e}throw Error(r(130,i==null?i:typeof i,""))}return c=lo(R,h,c,S),c.elementType=i,c.type=v,c.lanes=k,c}function ti(i,c,h,v){return i=lo(7,i,v,c),i.lanes=h,i}function eh(i,c,h,v){return i=lo(22,i,v,c),i.elementType=oe,i.lanes=h,i.stateNode={isHidden:!1},i}function y_(i,c,h){return i=lo(6,i,null,c),i.lanes=h,i}function b_(i,c,h){return c=lo(4,i.children!==null?i.children:[],i.key,c),c.lanes=h,c.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},c}function QA(i,c,h,v,S){this.tag=c,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gm(0),this.expirationTimes=Gm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gm(0),this.identifierPrefix=v,this.onRecoverableError=S,this.mutableSourceEagerHydrationData=null}function w_(i,c,h,v,S,k,R,F,V){return i=new QA(i,c,h,F,V),c===1?(c=1,k===!0&&(c|=8)):c=0,k=lo(3,null,null,c),i.current=k,k.stateNode=i,k.memoizedState={element:v,isDehydrated:h,cache:null,transitions:null,pendingSuspenseBoundaries:null},Mg(k),i}function eI(i,c,h){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:E,key:v==null?null:""+v,children:i,containerInfo:c,implementation:h}}function Sk(i){if(!i)return es;i=i._reactInternals;e:{if(Hs(i)!==i||i.tag!==1)throw Error(r(170));var c=i;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(Sn(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(r(171))}if(i.tag===1){var h=i.type;if(Sn(h))return KS(i,h,c)}return c}function xk(i,c,h,v,S,k,R,F,V){return i=w_(h,v,!0,i,S,k,R,F,V),i.context=Sk(null),h=i.current,v=un(),S=is(h),k=xa(v,S),k.callback=c??null,ns(h,k,S),i.current.lanes=S,Wc(i,S,v),Cn(i,v),i}function th(i,c,h,v){var S=c.current,k=un(),R=is(S);return h=Sk(h),c.context===null?c.context=h:c.pendingContext=h,c=xa(k,R),c.payload={element:i},v=v===void 0?null:v,v!==null&&(c.callback=v),i=ns(S,c,R),i!==null&&(To(i,S,R,k),Ip(i,S,R)),R}function rh(i){if(i=i.current,!i.child)return null;switch(i.child.tag){case 5:return i.child.stateNode;default:return i.child.stateNode}}function kk(i,c){if(i=i.memoizedState,i!==null&&i.dehydrated!==null){var h=i.retryLane;i.retryLane=h!==0&&h<c?h:c}}function S_(i,c){kk(i,c),(i=i.alternate)&&kk(i,c)}function tI(){return null}var Ck=typeof reportError=="function"?reportError:function(i){console.error(i)};function x_(i){this._internalRoot=i}nh.prototype.render=x_.prototype.render=function(i){var c=this._internalRoot;if(c===null)throw Error(r(409));th(i,c,null,null)},nh.prototype.unmount=x_.prototype.unmount=function(){var i=this._internalRoot;if(i!==null){this._internalRoot=null;var c=i.containerInfo;Zs(function(){th(null,i,null,null)}),c[va]=null}};function nh(i){this._internalRoot=i}nh.prototype.unstable_scheduleHydration=function(i){if(i){var c=lS();i={blockedOn:null,target:i,priority:c};for(var h=0;h<Xa.length&&c!==0&&c<Xa[h].priority;h++);Xa.splice(h,0,i),h===0&&uS(i)}};function k_(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function oh(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11&&(i.nodeType!==8||i.nodeValue!==" react-mount-point-unstable "))}function $k(){}function rI(i,c,h,v,S){if(S){if(typeof v=="function"){var k=v;v=function(){var te=rh(R);k.call(te)}}var R=xk(c,v,i,0,null,!1,!1,"",$k);return i._reactRootContainer=R,i[va]=R.current,rd(i.nodeType===8?i.parentNode:i),Zs(),R}for(;S=i.lastChild;)i.removeChild(S);if(typeof v=="function"){var F=v;v=function(){var te=rh(V);F.call(te)}}var V=w_(i,0,!1,null,null,!1,!1,"",$k);return i._reactRootContainer=V,i[va]=V.current,rd(i.nodeType===8?i.parentNode:i),Zs(function(){th(c,V,h,v)}),V}function ah(i,c,h,v,S){var k=h._reactRootContainer;if(k){var R=k;if(typeof S=="function"){var F=S;S=function(){var V=rh(R);F.call(V)}}th(c,R,i,S)}else R=rI(h,c,i,S,v);return rh(R)}sS=function(i){switch(i.tag){case 3:var c=i.stateNode;if(c.current.memoizedState.isDehydrated){var h=Bc(c.pendingLanes);h!==0&&(Jm(c,h|1),Cn(c,Sr()),(Dt&6)===0&&(hl=Sr()+500,ts()))}break;case 13:Zs(function(){var v=Sa(i,1);if(v!==null){var S=un();To(v,i,1,S)}}),S_(i,1)}},Xm=function(i){if(i.tag===13){var c=Sa(i,134217728);if(c!==null){var h=un();To(c,i,134217728,h)}S_(i,134217728)}},iS=function(i){if(i.tag===13){var c=is(i),h=Sa(i,c);if(h!==null){var v=un();To(h,i,c,v)}S_(i,c)}},lS=function(){return Ft},cS=function(i,c){var h=Ft;try{return Ft=i,c()}finally{Ft=h}},Ws=function(i,c,h){switch(c){case"input":if(we(i,h),c=h.name,h.type==="radio"&&c!=null){for(h=i;h.parentNode;)h=h.parentNode;for(h=h.querySelectorAll("input[name="+JSON.stringify(""+c)+'][type="radio"]'),c=0;c<h.length;c++){var v=h[c];if(v!==i&&v.form===i.form){var S=Sp(v);if(!S)throw Error(r(90));Ne(v),we(v,S)}}}break;case"textarea":le(i,h);break;case"select":c=h.value,c!=null&&st(i,!!h.multiple,c,!1)}},Vi=m_,ht=Zs;var nI={usingClientEntryPoint:!1,Events:[ad,el,Sp,Hi,Ui,m_]},yd={findFiberByHostInstance:Us,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},oI={bundleType:yd.bundleType,version:yd.version,rendererPackageName:yd.rendererPackageName,rendererConfig:yd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:I.ReactCurrentDispatcher,findHostInstanceByFiber:function(i){return i=Z2(i),i===null?null:i.stateNode},findFiberByHostInstance:yd.findFiberByHostInstance||tI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var sh=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sh.isDisabled&&sh.supportsFiber)try{np=sh.inject(oI),Ho=sh}catch{}}return $n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=nI,$n.createPortal=function(i,c){var h=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!k_(c))throw Error(r(200));return eI(i,c,null,h)},$n.createRoot=function(i,c){if(!k_(i))throw Error(r(299));var h=!1,v="",S=Ck;return c!=null&&(c.unstable_strictMode===!0&&(h=!0),c.identifierPrefix!==void 0&&(v=c.identifierPrefix),c.onRecoverableError!==void 0&&(S=c.onRecoverableError)),c=w_(i,1,!1,null,null,h,!1,v,S),i[va]=c.current,rd(i.nodeType===8?i.parentNode:i),new x_(c)},$n.findDOMNode=function(i){if(i==null)return null;if(i.nodeType===1)return i;var c=i._reactInternals;if(c===void 0)throw typeof i.render=="function"?Error(r(188)):(i=Object.keys(i).join(","),Error(r(268,i)));return i=Z2(c),i=i===null?null:i.stateNode,i},$n.flushSync=function(i){return Zs(i)},$n.hydrate=function(i,c,h){if(!oh(c))throw Error(r(200));return ah(null,i,c,!0,h)},$n.hydrateRoot=function(i,c,h){if(!k_(i))throw Error(r(405));var v=h!=null&&h.hydratedSources||null,S=!1,k="",R=Ck;if(h!=null&&(h.unstable_strictMode===!0&&(S=!0),h.identifierPrefix!==void 0&&(k=h.identifierPrefix),h.onRecoverableError!==void 0&&(R=h.onRecoverableError)),c=xk(c,null,i,1,h??null,S,!1,k,R),i[va]=c.current,rd(i),v)for(i=0;i<v.length;i++)h=v[i],S=h._getVersion,S=S(h._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[h,S]:c.mutableSourceEagerHydrationData.push(h,S);return new nh(c)},$n.render=function(i,c,h){if(!oh(c))throw Error(r(200));return ah(null,i,c,!1,h)},$n.unmountComponentAtNode=function(i){if(!oh(i))throw Error(r(40));return i._reactRootContainer?(Zs(function(){ah(null,null,i,!1,function(){i._reactRootContainer=null,i[va]=null})}),!0):!1},$n.unstable_batchedUpdates=m_,$n.unstable_renderSubtreeIntoContainer=function(i,c,h,v){if(!oh(h))throw Error(r(200));if(i==null||i._reactInternals===void 0)throw Error(r(38));return ah(i,c,h,!1,v)},$n.version="18.3.1-next-f1338f8080-20240426",$n}var Mk;function H6(){if(Mk)return T_.exports;Mk=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),T_.exports=hI(),T_.exports}var Rk;function fI(){if(Rk)return lh;Rk=1;var t=H6();return lh.createRoot=t.createRoot,lh.hydrateRoot=t.hydrateRoot,lh}var mI=fI();const gI="4.1.2",_I={version:gI};function za(t,...e){const r=new URL(`https://mui.com/production-error/?code=${t}`);return e.forEach(n=>r.searchParams.append("args[]",n)),`Minified MUI error #${t}; visit ${r} for the full message.`}const Mo="$$material";function ff(){return ff=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ff.apply(null,arguments)}function vI(t){if(t.sheet)return t.sheet;for(var e=0;e<document.styleSheets.length;e++)if(document.styleSheets[e].ownerNode===t)return document.styleSheets[e]}function yI(t){var e=document.createElement("style");return e.setAttribute("data-emotion",t.key),t.nonce!==void 0&&e.setAttribute("nonce",t.nonce),e.appendChild(document.createTextNode("")),e.setAttribute("data-s",""),e}var U6=(function(){function t(r){var n=this;this._insertTag=function(o){var a;n.tags.length===0?n.insertionPoint?a=n.insertionPoint.nextSibling:n.prepend?a=n.container.firstChild:a=n.before:a=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,a),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!0:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var e=t.prototype;return e.hydrate=function(n){n.forEach(this._insertTag)},e.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(yI(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var a=vI(o);try{a.insertRule(n,a.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},e.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},t})(),nn="-ms-",mf="-moz-",Mt="-webkit-",V6="comm",Qb="rule",ew="decl",bI="@import",q6="@keyframes",wI="@layer",SI=Math.abs,Jf=String.fromCharCode,xI=Object.assign;function kI(t,e){return qr(t,0)^45?(((e<<2^qr(t,0))<<2^qr(t,1))<<2^qr(t,2))<<2^qr(t,3):0}function G6(t){return t.trim()}function CI(t,e){return(t=e.exec(t))?t[0]:t}function Rt(t,e,r){return t.replace(e,r)}function j1(t,e){return t.indexOf(e)}function qr(t,e){return t.charCodeAt(e)|0}function hu(t,e,r){return t.slice(e,r)}function ra(t){return t.length}function tw(t){return t.length}function ch(t,e){return e.push(t),t}function $I(t,e){return t.map(e).join("")}var Xf=1,pc=1,J6=0,jn=0,Or=0,Cc="";function Kf(t,e,r,n,o,a,s){return{value:t,root:e,parent:r,type:n,props:o,children:a,line:Xf,column:pc,length:s,return:""}}function wd(t,e){return xI(Kf("",null,null,"",null,null,0),t,{length:-t.length},e)}function TI(){return Or}function EI(){return Or=jn>0?qr(Cc,--jn):0,pc--,Or===10&&(pc=1,Xf--),Or}function Kn(){return Or=jn<J6?qr(Cc,jn++):0,pc++,Or===10&&(pc=1,Xf++),Or}function la(){return qr(Cc,jn)}function Zh(){return jn}function ju(t,e){return hu(Cc,t,e)}function fu(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function X6(t){return Xf=pc=1,J6=ra(Cc=t),jn=0,[]}function K6(t){return Cc="",t}function Qh(t){return G6(ju(jn-1,z1(t===91?t+2:t===40?t+1:t)))}function OI(t){for(;(Or=la())&&Or<33;)Kn();return fu(t)>2||fu(Or)>3?"":" "}function DI(t,e){for(;--e&&Kn()&&!(Or<48||Or>102||Or>57&&Or<65||Or>70&&Or<97););return ju(t,Zh()+(e<6&&la()==32&&Kn()==32))}function z1(t){for(;Kn();)switch(Or){case t:return jn;case 34:case 39:t!==34&&t!==39&&z1(Or);break;case 40:t===41&&z1(t);break;case 92:Kn();break}return jn}function AI(t,e){for(;Kn()&&t+Or!==57;)if(t+Or===84&&la()===47)break;return"/*"+ju(e,jn-1)+"*"+Jf(t===47?t:Kn())}function II(t){for(;!fu(la());)Kn();return ju(t,jn)}function NI(t){return K6(ef("",null,null,null,[""],t=X6(t),0,[0],t))}function ef(t,e,r,n,o,a,s,l,d){for(var p=0,m=0,u=s,g=0,_=0,b=0,w=1,x=1,C=1,D=0,O="",I=o,N=a,E=n,M=O;x;)switch(b=D,D=Kn()){case 40:if(b!=108&&qr(M,u-1)==58){j1(M+=Rt(Qh(D),"&","&\f"),"&\f")!=-1&&(C=-1);break}case 34:case 39:case 91:M+=Qh(D);break;case 9:case 10:case 13:case 32:M+=OI(b);break;case 92:M+=DI(Zh()-1,7);continue;case 47:switch(la()){case 42:case 47:ch(MI(AI(Kn(),Zh()),e,r),d);break;default:M+="/"}break;case 123*w:l[p++]=ra(M)*C;case 125*w:case 59:case 0:switch(D){case 0:case 125:x=0;case 59+m:C==-1&&(M=Rt(M,/\f/g,"")),_>0&&ra(M)-u&&ch(_>32?zk(M+";",n,r,u-1):zk(Rt(M," ","")+";",n,r,u-2),d);break;case 59:M+=";";default:if(ch(E=jk(M,e,r,p,m,o,l,O,I=[],N=[],u),a),D===123)if(m===0)ef(M,e,E,E,I,a,u,l,N);else switch(g===99&&qr(M,3)===110?100:g){case 100:case 108:case 109:case 115:ef(t,E,E,n&&ch(jk(t,E,E,0,0,o,l,O,o,I=[],u),N),o,N,u,l,n?I:N);break;default:ef(M,E,E,E,[""],N,0,l,N)}}p=m=_=0,w=C=1,O=M="",u=s;break;case 58:u=1+ra(M),_=b;default:if(w<1){if(D==123)--w;else if(D==125&&w++==0&&EI()==125)continue}switch(M+=Jf(D),D*w){case 38:C=m>0?1:(M+="\f",-1);break;case 44:l[p++]=(ra(M)-1)*C,C=1;break;case 64:la()===45&&(M+=Qh(Kn())),g=la(),m=u=ra(O=M+=II(Zh())),D++;break;case 45:b===45&&ra(M)==2&&(w=0)}}return a}function jk(t,e,r,n,o,a,s,l,d,p,m){for(var u=o-1,g=o===0?a:[""],_=tw(g),b=0,w=0,x=0;b<n;++b)for(var C=0,D=hu(t,u+1,u=SI(w=s[b])),O=t;C<_;++C)(O=G6(w>0?g[C]+" "+D:Rt(D,/&\f/g,g[C])))&&(d[x++]=O);return Kf(t,e,r,o===0?Qb:l,d,p,m)}function MI(t,e,r){return Kf(t,e,r,V6,Jf(TI()),hu(t,2,-2),0)}function zk(t,e,r,n){return Kf(t,e,r,ew,hu(t,0,n),hu(t,n+1,-1),n)}function rc(t,e){for(var r="",n=tw(t),o=0;o<n;o++)r+=e(t[o],o,t,e)||"";return r}function RI(t,e,r,n){switch(t.type){case wI:if(t.children.length)break;case bI:case ew:return t.return=t.return||t.value;case V6:return"";case q6:return t.return=t.value+"{"+rc(t.children,n)+"}";case Qb:t.value=t.props.join(",")}return ra(r=rc(t.children,n))?t.return=t.value+"{"+r+"}":""}function jI(t){var e=tw(t);return function(r,n,o,a){for(var s="",l=0;l<e;l++)s+=t[l](r,n,o,a)||"";return s}}function zI(t){return function(e){e.root||(e=e.return)&&t(e)}}function Y6(t){var e=Object.create(null);return function(r){return e[r]===void 0&&(e[r]=t(r)),e[r]}}var PI=function(e,r,n){for(var o=0,a=0;o=a,a=la(),o===38&&a===12&&(r[n]=1),!fu(a);)Kn();return ju(e,jn)},LI=function(e,r){var n=-1,o=44;do switch(fu(o)){case 0:o===38&&la()===12&&(r[n]=1),e[n]+=PI(jn-1,r,n);break;case 2:e[n]+=Qh(o);break;case 4:if(o===44){e[++n]=la()===58?"&\f":"",r[n]=e[n].length;break}default:e[n]+=Jf(o)}while(o=Kn());return e},FI=function(e,r){return K6(LI(X6(e),r))},Pk=new WeakMap,BI=function(e){if(!(e.type!=="rule"||!e.parent||e.length<1)){for(var r=e.value,n=e.parent,o=e.column===n.column&&e.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(e.props.length===1&&r.charCodeAt(0)!==58&&!Pk.get(n))&&!o){Pk.set(e,!0);for(var a=[],s=FI(r,a),l=n.props,d=0,p=0;d<s.length;d++)for(var m=0;m<l.length;m++,p++)e.props[p]=a[d]?s[d].replace(/&\f/g,l[m]):l[m]+" "+s[d]}}},WI=function(e){if(e.type==="decl"){var r=e.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(e.return="",e.value="")}};function Z6(t,e){switch(kI(t,e)){case 5103:return Mt+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Mt+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Mt+t+mf+t+nn+t+t;case 6828:case 4268:return Mt+t+nn+t+t;case 6165:return Mt+t+nn+"flex-"+t+t;case 5187:return Mt+t+Rt(t,/(\w+).+(:[^]+)/,Mt+"box-$1$2"+nn+"flex-$1$2")+t;case 5443:return Mt+t+nn+"flex-item-"+Rt(t,/flex-|-self/,"")+t;case 4675:return Mt+t+nn+"flex-line-pack"+Rt(t,/align-content|flex-|-self/,"")+t;case 5548:return Mt+t+nn+Rt(t,"shrink","negative")+t;case 5292:return Mt+t+nn+Rt(t,"basis","preferred-size")+t;case 6060:return Mt+"box-"+Rt(t,"-grow","")+Mt+t+nn+Rt(t,"grow","positive")+t;case 4554:return Mt+Rt(t,/([^-])(transform)/g,"$1"+Mt+"$2")+t;case 6187:return Rt(Rt(Rt(t,/(zoom-|grab)/,Mt+"$1"),/(image-set)/,Mt+"$1"),t,"")+t;case 5495:case 3959:return Rt(t,/(image-set\([^]*)/,Mt+"$1$`$1");case 4968:return Rt(Rt(t,/(.+:)(flex-)?(.*)/,Mt+"box-pack:$3"+nn+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Mt+t+t;case 4095:case 3583:case 4068:case 2532:return Rt(t,/(.+)-inline(.+)/,Mt+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ra(t)-1-e>6)switch(qr(t,e+1)){case 109:if(qr(t,e+4)!==45)break;case 102:return Rt(t,/(.+:)(.+)-([^]+)/,"$1"+Mt+"$2-$3$1"+mf+(qr(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~j1(t,"stretch")?Z6(Rt(t,"stretch","fill-available"),e)+t:t}break;case 4949:if(qr(t,e+1)!==115)break;case 6444:switch(qr(t,ra(t)-3-(~j1(t,"!important")&&10))){case 107:return Rt(t,":",":"+Mt)+t;case 101:return Rt(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Mt+(qr(t,14)===45?"inline-":"")+"box$3$1"+Mt+"$2$3$1"+nn+"$2box$3")+t}break;case 5936:switch(qr(t,e+11)){case 114:return Mt+t+nn+Rt(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Mt+t+nn+Rt(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Mt+t+nn+Rt(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return Mt+t+nn+t+t}return t}var HI=function(e,r,n,o){if(e.length>-1&&!e.return)switch(e.type){case ew:e.return=Z6(e.value,e.length);break;case q6:return rc([wd(e,{value:Rt(e.value,"@","@"+Mt)})],o);case Qb:if(e.length)return $I(e.props,function(a){switch(CI(a,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return rc([wd(e,{props:[Rt(a,/:(read-\w+)/,":"+mf+"$1")]})],o);case"::placeholder":return rc([wd(e,{props:[Rt(a,/:(plac\w+)/,":"+Mt+"input-$1")]}),wd(e,{props:[Rt(a,/:(plac\w+)/,":"+mf+"$1")]}),wd(e,{props:[Rt(a,/:(plac\w+)/,nn+"input-$1")]})],o)}return""})}},UI=[HI],Q6=function(e){var r=e.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(w){var x=w.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(w),w.setAttribute("data-s",""))})}var o=e.stylisPlugins||UI,a={},s,l=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(w){for(var x=w.getAttribute("data-emotion").split(" "),C=1;C<x.length;C++)a[x[C]]=!0;l.push(w)});var d,p=[BI,WI];{var m,u=[RI,zI(function(w){m.insert(w)})],g=jI(p.concat(o,u)),_=function(x){return rc(NI(x),g)};d=function(x,C,D,O){m=D,_(x?x+"{"+C.styles+"}":C.styles),O&&(b.inserted[C.name]=!0)}}var b={key:r,sheet:new U6({key:r,container:s,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:a,registered:{},insert:d};return b.sheet.hydrate(l),b},D_={exports:{}},jt={};/** @license React v16.13.1
41
41
  * react-is.production.min.js
42
42
  *
43
43
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -654,7 +654,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
654
654
  text-decoration: underline;
655
655
  cursor: pointer;
656
656
  }
657
- `),f.createElement(oet,null,this.getToolbar()),f.createElement(net,null,this.renderHeader(),f.createElement(Xe,{style:X.tableDiv,ref:this.tableRef,onKeyDown:n=>this.navigateKeyPress(n)},r)),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.renderRenameDialog(),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))}}const fet=Lm()(ta);class j1t extends f.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=f.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,r=e?GX:Vt;return f.createElement(Xe,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:n=>this.props.type==="ok"?n.palette.info.main:n.palette[this.props.type].main}},this.props.type==="ok"?f.createElement(Xr,{style:{color:"#0F0"}}):this.props.type==="info"?f.createElement(a9,{color:"primary"}):f.createElement(KX,{color:this.props.type}),f.createElement(ia,{ref:this.refTypo},this.props.children),this.props.closeable?f.createElement(r,{sx:{color:n=>n.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?f.createElement("div",{style:{width:22}}):null,e?f.createElement(Xe,{component:"div",sx:n=>{const o=n.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${o}00 0%, ${o}10 60%, ${o}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const fe={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"}),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"}),rowDowsDows:t=>({background:t.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},E1=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Lh=["January","February","March","April","May","June","July","August","September","October","November","December"],O1={minutes:"minutes",hours:"hours"},Md=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function Da(t){return t<10?`0${t}`:`${t}`}const d6={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 D1(t){const e=t.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class Ur extends T.Component{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let r;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{r=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(r=this.props.schedule);(!r||!Object.keys(r).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),r=d6),r={...d6,...r},r.valid.from||=Ur.now2string(),this.refFrom=f.createRef(),this.refTo=f.createRef(),this.refOnce=f.createRef(),this.state={schedule:r,desc:Ur.state2text(r)},JSON.stringify(r)!==this.props.schedule&&setTimeout(()=>this.props.onChange?.(JSON.stringify(r)),100)}onChange(e,r){const n=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(r||n){n&&this.setState({schedule:e,desc:Ur.state2text(e)});const o=JSON.parse(JSON.stringify(e));if(o.period.once){const a=o.period.once;delete o.period,o.period={once:a},delete o.valid}else if(o.period.days){const a=o.period.days,s=o.period.dows;delete o.period,o.period={days:a},s&&s!=="[]"&&(o.period.dows=s)}else if(o.period.weeks){const a=o.period.weeks,s=o.period.dows;delete o.period,o.period={weeks:a},s&&s!=="[]"&&(o.period.dows=s)}else if(o.period.months){const a=o.period.months,s=o.period.dates;delete o.period,o.period={months:a},s&&s!=="[]"&&(o.period.dates=s)}else if(o.period.years){const a=o.period.years,s=o.period.yearMonth,l=o.period.yearDate;delete o.period,o.period={years:a,yearDate:l},s&&(o.period.yearMonth=s)}if(o.time.exactTime?(delete o.time.end,delete o.time.mode,delete o.time.interval):delete o.time.exactTime,o.valid){if(o.valid.to||delete o.valid.to,o.period.days===1||o.period.weeks===1||o.period.months===1||o.period.years===1){const a=Ur.string2date(o.valid.from),s=new Date;s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0),a<=s&&delete o.valid.from}!o.valid.from&&!o.valid.to&&delete o.valid}this.props.onChange?.(JSON.stringify(o),Ur.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const r=[],n=Ur.string2date(e.valid.from);if(e.period.once){const o=Ur.string2date(e.period.once),a=new Date;if(a.setMilliseconds(0),a.setSeconds(0),a.setMinutes(0),a.setHours(0),o<a)return A.t("sch_desc_onceInPast");r.push(A.t("sch_desc_once_on",e.period.once))}else if(e.period.days)if(e.period.days===1)if(e.period.dows){const o=JSON.parse(e.period.dows);if(o.length===2&&o[0]===0&&o[1]===6)r.push(A.t("sch_desc_onWeekends"));else if(o.length===5&&o[0]===1&&o[1]===2&&o[2]===3&&o[3]===4&&o[4]===5)r.push(A.t("sch_desc_onWorkdays"));else{const a=o.map(s=>A.t(E1[s]));if(a.length===1)r.push(A.t("sch_desc_onWeekday",a[0]));else if(a.length===7)r.push(A.t("sch_desc_everyDay"));else{const s=a.pop();r.push(A.t("sch_desc_onWeekdays",a.join(", "),s))}}}else r.push(A.t("sch_desc_everyDay"));else r.push(A.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?r.push(A.t("sch_desc_everyWeek")):r.push(A.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const o=JSON.parse(e.period.dows);if(o.length===2&&o[0]===0&&o[1]===6)r.push(A.t("sch_desc_onWeekends"));else if(o.length===5&&o[0]===1&&o[1]===2&&o[2]===3&&o[3]===4&&o[4]===5)r.push(A.t("sch_desc_onWorkdays"));else{const a=o.map(s=>A.t(E1[s]));if(a.length===1)r.push(A.t("sch_desc_onWeekday",a[0]));else if(a.length===7)r.push(A.t("sch_desc_everyDay"));else{const s=a.pop();r.push(A.t("sch_desc_onWeekdays",a.join(", "),s))}}}else return A.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const o=JSON.parse(e.period.dates);if(o.length===1)r.push(A.t("sch_desc_onDate",o[0]));else if(o.length===31)r.push(A.t("sch_desc_onEveryDate"));else if(o.length){const a=o.pop();r.push(A.t("sch_desc_onDates",o.join(", "),a))}else return A.t("sch_desc_never")}else r.push(A.t("sch_desc_onEveryDate"));if(e.period.months===1)r.push(A.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")r.push(A.t("sch_desc_everyNMonths",e.period.months.toString()));else{const a=JSON.parse(e.period.months).map(s=>A.t(Lh[s-1]));if(!a.length)return A.t("sch_desc_never");if(a.length===1)r.push(A.t("sch_desc_onMonth",a[0]));else if(a.length===12)r.push(A.t("sch_desc_everyMonth"));else{const s=a.pop();r.push(A.t("sch_desc_onMonths",a.join(", "),s))}}}else e.period.years&&(e.period.years===1?r.push(A.t("sch_desc_everyYear")):r.push(A.t("sch_desc_everyNYears",e.period.years.toString())),r.push(A.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?A.t(Lh[e.period.yearMonth-1]):A.t("sch_desc_everyMonth"))));if(e.time.exactTime)Md.includes(e.time.start)?r.push(A.t("sch_desc_atTime",A.t(`sch_astro_${e.time.start}`))):r.push(A.t("sch_desc_atTime",e.time.start));else{e.time.mode===O1.minutes?e.time.interval===1?r.push(A.t("sch_desc_everyMinute")):r.push(A.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?r.push(A.t("sch_desc_everyHour")):r.push(A.t("sch_desc_everyNHours",e.time.interval.toString()));const o=Md.indexOf(e.time.start)!==-1?A.t(`sch_astro_${e.time.start}`):e.time.start,a=Md.indexOf(e.time.end)!==-1?A.t(`sch_astro_${e.time.end}`):e.time.end;(o!=="00:00"||a!=="24:00"&&a!=="23:59")&&r.push(A.t("sch_desc_intervalFromTo",o,a))}return e.period.once||(n.getTime()>Date.now()&&e.valid.to?r.push(A.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):n.getTime()>Date.now()?r.push(A.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&r.push(A.t("sch_desc_validTo",e.valid.to))),r.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let r=!1,n=!1,o=!1,a=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(r=!0,a=!1):e.time.start==="sunrise"?(n=!0,a=!1):e.time.start==="sunset"&&(o=!0,a=!1),f.createElement("div",{key:"timePeriod",style:fe.rowDiv},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!e.time.exactTime,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.exactTime=!1,this.onChange(s)}}),label:A.t("sch_intervalTime")})),f.createElement("div",{style:fe.settingsDiv},f.createElement("div",{style:fe.settingsDiv},!e.time.exactTime&&f.createElement("div",null,f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!a,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="23:59",this.onChange(s)}}),label:a?"":A.t("sch_fromTo")}),a&&[f.createElement(Et,{variant:"standard",style:{...fe.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:A.t("sch_from"),margin:"normal"}),f.createElement(Et,{variant:"standard",style:fe.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:A.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!r,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="24:00",this.onChange(s)}}),label:A.t("sch_wholeDay")})),!e.time.exactTime&&f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!n,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunrise",s.time.end="sunset",this.onChange(s)}}),label:A.t("sch_astroDay")})),!e.time.exactTime&&f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!o,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunset",s.time.end="sunrise",this.onChange(s)}}),label:A.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(a)))}getTimeExactElements(){const e=Md.includes(this.state.schedule.time.start);return f.createElement("div",{key:"timeExact",style:fe.rowDiv},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.time.exactTime=!0,this.onChange(r)}}),label:A.t("sch_exactTime")})),this.state.schedule.time.exactTime&&f.createElement(Ar,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start=r.target.value,this.onChange(n)}},f.createElement(pt,{key:"specific",value:"00:00"},A.t("sch_specificTime")),Md.map(r=>f.createElement(pt,{key:r,value:r},A.t(`sch_astro_${r}`)))),this.state.schedule.time.exactTime&&!e&&f.createElement("div",{style:fe.settingsDiv},f.createElement(Et,{variant:"standard",style:fe.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:r=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:r.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start=r.target.value,this.onChange(n)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return f.createElement("hr",{style:fe.hr})}getPeriodModes(){const e=this.state.schedule,r=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return r&&!e.period.once&&(e.period.once=Ur.now2string(!0)),[f.createElement("div",{key:"once",style:{...fe.rowDiv,...fe.rowOnce}},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!r,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.once||=Ur.now2string(!0),n.period.dows="",n.period.months="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.days=0,this.onChange(n)}}),label:A.t("sch_periodOnce")})),r&&f.createElement("div",{style:fe.settingsDiv},f.createElement(Et,{variant:"standard",style:fe.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:D1(e.period.once),onChange:n=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(o=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const a=JSON.parse(JSON.stringify(this.state.schedule)),s=Ur.string2date(o);s.toString()!=="Invalid Date"&&(a.period.once=`${Da(s.getDate())}.${Da(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(a))},1500,n.target.value)},slotProps:{inputLabel:{shrink:!0}},label:A.t("sch_at"),margin:"normal"}))),f.createElement(Xe,{component:"div",key:"days",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowDays)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.days,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=1,n.period.dows="",n.period.months="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodDaily")})),f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),f.createElement(Xe,{component:"div",key:"weeks",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowDows)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.weeks,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=e.period.weeks?0:1,n.period.dows||="[0]",n.period.months="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodWeekly")})),f.createElement(Xe,{component:"div",style:fe.settingsDiv},f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsWeekly()),f.createElement(Xe,{component:"div",sx:ee.getStyle(this.props.theme,fe.settingsDiv,fe.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),f.createElement(Xe,{component:"div",key:"months",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowMonths)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.months,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=1,n.period.dows="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodMonthly")})),f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?f.createElement(Xe,null,f.createElement(Xe,{component:"div",sx:ee.getStyle(this.props.theme,fe.settingsDiv,fe.rowMonthsDates)},f.createElement(at,{control:f.createElement(Ut,{style:fe.inputRadio,checked:!!e.period.dates,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months||=1;const o=[];for(let a=1;a<=31;a++)o.push(a);n.period.dates||=JSON.stringify(o),n.period.dows="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodDates")})),f.createElement(Xe,{component:"div",sx:ee.getStyle(this.props.theme,fe.settingsDiv,fe.rowMonthsDates)},this.getPeriodSettingsDates())):null)),f.createElement(Xe,{component:"div",key:"years",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowYears)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.years,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=1,n.period.yearDate=1,n.period.yearMonth=1,n.period.dows="",n.period.months=0,n.period.dates="",n.period.weeks=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodYearly")})),f.createElement("div",{style:fe.settingsDiv},f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&f.createElement("div",{style:fe.settingsDiv},f.createElement("span",null,A.t("sch_on")),f.createElement(In,{key:"input",value:this.state.schedule.period.yearDate,style:fe.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearDate=parseInt(n.target.value,10),o.period.yearDate<1&&(o.period.yearDate=31),o.period.yearDate>31&&(o.period.yearDate=1),this.onChange(o)}}),f.createElement(Ar,{variant:"standard",value:e.period.yearMonth,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearMonth=n.target.value,this.onChange(o)}},f.createElement(pt,{key:"every",value:0},A.t("sch_yearEveryMonth")),Lh.map((n,o)=>f.createElement(pt,{key:n,value:o+1},A.t(n)))))))]}getPeriodSettingsMinutes(e){return f.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},f.createElement("label",{style:{marginLeft:4,marginRight:4}},A.t("sch_every")),f.createElement(In,{value:this.state.schedule.time.interval,style:{...fe.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.interval=parseInt(r.target.value,10),this.onChange(n)}}),f.createElement(Ar,{variant:"standard",value:this.state.schedule.time.mode,onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.mode=r.target.value,this.onChange(n)}},f.createElement(pt,{value:O1.minutes},A.t("sch_periodMinutes")),f.createElement(pt,{value:O1.hours},A.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,r=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[f.createElement("div",{key:"workdays"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dows="[1, 2, 3, 4, 5]",n.period.days&&(n.period.days=1),this.onChange(n)}}),label:A.t("sch_periodWorkdays")})),f.createElement("div",{key:"weekend"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dows="[0, 6]",n.period.days&&(n.period.days=1),this.onChange(n)}}),label:A.t("sch_periodWeekend")})),f.createElement("div",{key:"specific",style:{verticalAlign:"top"}},f.createElement(at,{style:{verticalAlign:"top"},control:f.createElement(rr,{style:fe.inputRadio,checked:!!r,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dows="[0, 1, 2, 3, 4, 5, 6]",n.period.days&&(n.period.days=1),this.onChange(n)}}),label:A.t("sch_periodWeekdays")}),r&&(e.period.days===1||e.period.weeks)&&f.createElement(X_,{row:!0,style:{...fe.inputGroup,width:150}},[1,2,3,4,5,6,0].map(n=>f.createElement(at,{key:`specific_${n}`,style:fe.inputGroupElement,control:f.createElement(Ut,{style:fe.inputSmallCheck,checked:e.period.dows.includes(n.toString()),onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));let s;try{s=JSON.parse(a.period.dows)}catch{s=[]}o.target.checked&&!s.includes(n)?s.push(n):!o.target.checked&&s.includes(n)&&s.splice(s.indexOf(n),1),s.sort((l,d)=>l-d),a.period.dows=JSON.stringify(s),a.period.days&&(a.period.days=1),this.onChange(a)}}),label:A.t(E1[n])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[f.createElement("div",{key:"every_day"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.days=1,r.period.dows="",this.onChange(r)}}),label:A.t("sch_periodEveryDay")})),f.createElement("div",{key:"everyN_day"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.days>1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.days=2,r.period.dows="",this.onChange(r)}}),label:A.t("sch_periodEvery")}),e.period.days>1&&[f.createElement(In,{key:"input",value:this.state.schedule.period.days,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=parseInt(r.target.value,10),n.period.dows="",this.onChange(n)}}),f.createElement("span",{key:"span",style:{paddingRight:10}},A.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[f.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.weeks===1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.weeks=1,this.onChange(r)}}),label:A.t("sch_periodEveryWeek")})),f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.weeks>1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.weeks=2,this.onChange(r)}}),label:A.t("sch_periodEvery")}),e.period.weeks>1&&[f.createElement(In,{key:"input",value:this.state.schedule.period.weeks,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=parseInt(r.target.value,10),this.onChange(n)}}),f.createElement("span",{key:"text"},A.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,r=[];for(let o=1;o<=31;o++)r.push(o);const n=JSON.parse(e.period.dates);return f.createElement(X_,{row:!0,style:{...fe.inputGroup,maxWidth:620}},f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:n.length===31,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[];for(let s=1;s<=31;s++)a.push(s);o.period.dates=JSON.stringify(a),this.onChange(o)}}),label:A.t("sch_all")}),f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!n.length,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dates="[]",this.onChange(o)}}),label:A.t("sch_no_one")}),n.length!==31&&!!n.length&&f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!1,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[],s=JSON.parse(o.period.dates);for(let l=1;l<=31;l++)s.includes(l)||a.push(l);a.sort((l,d)=>l-d),o.period.dates=JSON.stringify(a),this.onChange(o)}}),label:A.t("sch_invert")}),f.createElement("div",null),r.map(o=>f.createElement(at,{key:`date_${o}`,style:o?fe.inputDateDay:{...fe.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(o),onChange:a=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.dates)}catch{l=[]}a.target.checked&&!l.includes(o)?l.push(o):!a.target.checked&&l.includes(o)&&l.splice(l.indexOf(o),1),l.sort((d,p)=>d-p),s.period.dates=JSON.stringify(l),this.onChange(s)}}),label:o<10?[f.createElement("span",{key:"0",style:{opacity:0}},"0"),f.createElement("span",{key:"num"},o)]:o})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,r=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[f.createElement("div",{key:"every"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=1,this.onChange(e)}}),label:A.t("sch_periodEveryMonth")})),f.createElement("div",{key:"everyN"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=2,this.onChange(n)}}),label:A.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[f.createElement(In,{key:"input",value:e.period.months,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=parseInt(n.target.value,10),o.period.months<1&&(o.period.months=1),this.onChange(o)}}),f.createElement("span",{key:"text"},A.t("sch_periodMonth"))]),f.createElement("div",{key:"specific",style:{verticalAlign:"top"}},f.createElement(at,{style:{verticalAlign:"top"},control:f.createElement(rr,{style:fe.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(n)}}),label:A.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&f.createElement(X_,{row:!0,style:fe.inputGroup},f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:r.length===12,onChange:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let a=1;a<=12;a++)o.push(a);n.period.months=JSON.stringify(o),this.onChange(n)}}),label:A.t("sch_all")}),f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!r.length,onChange:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months="[]",this.onChange(n)}}),label:A.t("sch_no_one")}),r.length!==12&&!!r.length&&f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!1,onChange:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule)),o=[],a=JSON.parse(n.period.months);for(let s=1;s<=12;s++)a.includes(s)||o.push(s);o.sort((s,l)=>s-l),n.period.months=JSON.stringify(o),this.onChange(n)}}),label:A.t("sch_invert")}),f.createElement("div",null),Lh.map((n,o)=>f.createElement(at,{key:`month_${o}`,style:fe.inputGroupElement,control:f.createElement(Ut,{style:fe.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(o+1):e.period.months===o,onChange:a=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.months)}catch{l=[]}a.target.checked&&!l.includes(o+1)?l.push(o+1):!a.target.checked&&l.includes(o+1)&&l.splice(l.indexOf(o+1),1),l.sort((d,p)=>d-p),s.period.months=JSON.stringify(l),this.onChange(s)}}),label:A.t(n)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[f.createElement("div",{key:"year"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.years===1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.years=1,this.onChange(r)}}),label:A.t("sch_periodEveryYear")})),f.createElement("div",{key:"every"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.years>1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.years=2,this.onChange(r)}}),label:A.t("sch_periodEvery")}),e.period.years>1&&[f.createElement(In,{key:"input",value:this.state.schedule.period.years,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=parseInt(r.target.value,10),n.period.years<1&&(n.period.years=1),this.onChange(n)}}),f.createElement("span",{key:"text"},A.t("sch_periodYear"))])]}static now2string(e){const r=new Date;return r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0),e&&(r.setDate(r.getDate()+2),r.setMilliseconds(r.getMilliseconds()-1)),`${Da(r.getDate())}.${Da(r.getMonth()+1)}.${Da(r.getFullYear())}`}static string2date(e){let r=e.split(".");return r.length===1?(r=e.split("-"),new Date(parseInt(r[0],10),parseInt(r[1],10)-1,parseInt(r[2],10))):new Date(parseInt(r[2],10),parseInt(r[1],10)-1,parseInt(r[0],10))}getValidSettings(){const e=this.state.schedule;return f.createElement("div",{style:fe.rowDiv},f.createElement("div",{style:{...fe.modeDiv,verticalAlign:"middle"}},f.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},A.t("sch_valid")),f.createElement("span",null,A.t("sch_validFrom"))),f.createElement("div",{style:fe.settingsDiv},f.createElement(Et,{variant:"standard",style:{...fe.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:D1(e.valid.from),type:"date",onChange:r=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(n=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),a=Ur.string2date(n);a.toString()!=="Invalid Date"&&(o.valid.from=`${Da(a.getDate())}.${Da(a.getMonth()+1)}.${a.getFullYear()}`,this.onChange(o))},1500,r.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),f.createElement(at,{control:f.createElement(Ut,{style:fe.inputRadio,checked:!!e.valid.to,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.valid.to=r.valid.to?"":Ur.now2string(!0),this.onChange(r)}}),label:A.t("sch_validTo")}),!!e.valid.to&&f.createElement(Et,{variant:"standard",inputRef:this.refTo,style:{...fe.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:D1(e.valid.to),onChange:r=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(n=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),a=Ur.string2date(n);a.toString()!=="Invalid Date"&&(o.valid.to=`${Da(a.getDate())}.${Da(a.getMonth()+1)}.${a.getFullYear()}`,this.onChange(o))},1500,r.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return f.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},f.createElement("div",null,this.state.desc),f.createElement("div",{style:fe.scrollWindow},f.createElement("h5",null,A.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),Ur.getDivider(),f.createElement("h5",null,A.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&Ur.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}class Lc extends T.Component{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const r=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(r)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let n=this.props.selected||[];if(Array.isArray(n)||(n=[n]),n=n.filter(o=>o),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:n,name:"",selectionBlocked:!1}}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 e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},A.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||A.t("ra_Please select object ID..."),f.createElement(qt,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},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"},f.createElement(Gt,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),f.createElement(Qt,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},f.createElement(fet,{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:A.t,lang:this.props.lang||A.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:r=>{this.filters=r,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(r))},onSelect:async(r,n,o)=>{let a;if(Array.isArray(r)?a=r:a=[r],JSON.stringify(a)!==JSON.stringify(this.state.selected)){let s=!0;if(this.props.onSelectConfirm){const l={};for(const d of a)try{l[d]=await this.props.socket.getObject(d)}catch{}s=await this.props.onSelectConfirm(a,l)}this.setState({selected:a,name:n,selectionBlocked:!s},()=>o&&this.handleOk())}else o&&this.handleOk()},filterFunc:this.filterFunc,title:"",onAllLoaded:()=>this.setState({allLoaded:!0})})),f.createElement(Zt,null,f.createElement(Ue,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:f.createElement(Xr,null),disabled:!this.state.allLoaded||!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}/*!
657
+ `),f.createElement(oet,null,this.getToolbar()),f.createElement(net,null,this.renderHeader(),f.createElement(Xe,{style:X.tableDiv,ref:this.tableRef,onKeyDown:n=>this.navigateKeyPress(n)},r)),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.renderRenameDialog(),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))}}const fet=Lm()(ta);class mbt extends f.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=f.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,r=e?GX:Vt;return f.createElement(Xe,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:n=>this.props.type==="ok"?n.palette.info.main:n.palette[this.props.type].main}},this.props.type==="ok"?f.createElement(Xr,{style:{color:"#0F0"}}):this.props.type==="info"?f.createElement(a9,{color:"primary"}):f.createElement(KX,{color:this.props.type}),f.createElement(ia,{ref:this.refTypo},this.props.children),this.props.closeable?f.createElement(r,{sx:{color:n=>n.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?f.createElement("div",{style:{width:22}}):null,e?f.createElement(Xe,{component:"div",sx:n=>{const o=n.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${o}00 0%, ${o}10 60%, ${o}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const fe={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"}),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"}),rowDowsDows:t=>({background:t.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},E1=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Lh=["January","February","March","April","May","June","July","August","September","October","November","December"],O1={minutes:"minutes",hours:"hours"},Md=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function Da(t){return t<10?`0${t}`:`${t}`}const d6={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 D1(t){const e=t.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class Ur extends T.Component{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let r;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{r=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(r=this.props.schedule);(!r||!Object.keys(r).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),r=d6),r={...d6,...r},r.valid.from||=Ur.now2string(),this.refFrom=f.createRef(),this.refTo=f.createRef(),this.refOnce=f.createRef(),this.state={schedule:r,desc:Ur.state2text(r)},JSON.stringify(r)!==this.props.schedule&&setTimeout(()=>this.props.onChange?.(JSON.stringify(r)),100)}onChange(e,r){const n=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(r||n){n&&this.setState({schedule:e,desc:Ur.state2text(e)});const o=JSON.parse(JSON.stringify(e));if(o.period.once){const a=o.period.once;delete o.period,o.period={once:a},delete o.valid}else if(o.period.days){const a=o.period.days,s=o.period.dows;delete o.period,o.period={days:a},s&&s!=="[]"&&(o.period.dows=s)}else if(o.period.weeks){const a=o.period.weeks,s=o.period.dows;delete o.period,o.period={weeks:a},s&&s!=="[]"&&(o.period.dows=s)}else if(o.period.months){const a=o.period.months,s=o.period.dates;delete o.period,o.period={months:a},s&&s!=="[]"&&(o.period.dates=s)}else if(o.period.years){const a=o.period.years,s=o.period.yearMonth,l=o.period.yearDate;delete o.period,o.period={years:a,yearDate:l},s&&(o.period.yearMonth=s)}if(o.time.exactTime?(delete o.time.end,delete o.time.mode,delete o.time.interval):delete o.time.exactTime,o.valid){if(o.valid.to||delete o.valid.to,o.period.days===1||o.period.weeks===1||o.period.months===1||o.period.years===1){const a=Ur.string2date(o.valid.from),s=new Date;s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0),a<=s&&delete o.valid.from}!o.valid.from&&!o.valid.to&&delete o.valid}this.props.onChange?.(JSON.stringify(o),Ur.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const r=[],n=Ur.string2date(e.valid.from);if(e.period.once){const o=Ur.string2date(e.period.once),a=new Date;if(a.setMilliseconds(0),a.setSeconds(0),a.setMinutes(0),a.setHours(0),o<a)return A.t("sch_desc_onceInPast");r.push(A.t("sch_desc_once_on",e.period.once))}else if(e.period.days)if(e.period.days===1)if(e.period.dows){const o=JSON.parse(e.period.dows);if(o.length===2&&o[0]===0&&o[1]===6)r.push(A.t("sch_desc_onWeekends"));else if(o.length===5&&o[0]===1&&o[1]===2&&o[2]===3&&o[3]===4&&o[4]===5)r.push(A.t("sch_desc_onWorkdays"));else{const a=o.map(s=>A.t(E1[s]));if(a.length===1)r.push(A.t("sch_desc_onWeekday",a[0]));else if(a.length===7)r.push(A.t("sch_desc_everyDay"));else{const s=a.pop();r.push(A.t("sch_desc_onWeekdays",a.join(", "),s))}}}else r.push(A.t("sch_desc_everyDay"));else r.push(A.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?r.push(A.t("sch_desc_everyWeek")):r.push(A.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const o=JSON.parse(e.period.dows);if(o.length===2&&o[0]===0&&o[1]===6)r.push(A.t("sch_desc_onWeekends"));else if(o.length===5&&o[0]===1&&o[1]===2&&o[2]===3&&o[3]===4&&o[4]===5)r.push(A.t("sch_desc_onWorkdays"));else{const a=o.map(s=>A.t(E1[s]));if(a.length===1)r.push(A.t("sch_desc_onWeekday",a[0]));else if(a.length===7)r.push(A.t("sch_desc_everyDay"));else{const s=a.pop();r.push(A.t("sch_desc_onWeekdays",a.join(", "),s))}}}else return A.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const o=JSON.parse(e.period.dates);if(o.length===1)r.push(A.t("sch_desc_onDate",o[0]));else if(o.length===31)r.push(A.t("sch_desc_onEveryDate"));else if(o.length){const a=o.pop();r.push(A.t("sch_desc_onDates",o.join(", "),a))}else return A.t("sch_desc_never")}else r.push(A.t("sch_desc_onEveryDate"));if(e.period.months===1)r.push(A.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")r.push(A.t("sch_desc_everyNMonths",e.period.months.toString()));else{const a=JSON.parse(e.period.months).map(s=>A.t(Lh[s-1]));if(!a.length)return A.t("sch_desc_never");if(a.length===1)r.push(A.t("sch_desc_onMonth",a[0]));else if(a.length===12)r.push(A.t("sch_desc_everyMonth"));else{const s=a.pop();r.push(A.t("sch_desc_onMonths",a.join(", "),s))}}}else e.period.years&&(e.period.years===1?r.push(A.t("sch_desc_everyYear")):r.push(A.t("sch_desc_everyNYears",e.period.years.toString())),r.push(A.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?A.t(Lh[e.period.yearMonth-1]):A.t("sch_desc_everyMonth"))));if(e.time.exactTime)Md.includes(e.time.start)?r.push(A.t("sch_desc_atTime",A.t(`sch_astro_${e.time.start}`))):r.push(A.t("sch_desc_atTime",e.time.start));else{e.time.mode===O1.minutes?e.time.interval===1?r.push(A.t("sch_desc_everyMinute")):r.push(A.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?r.push(A.t("sch_desc_everyHour")):r.push(A.t("sch_desc_everyNHours",e.time.interval.toString()));const o=Md.indexOf(e.time.start)!==-1?A.t(`sch_astro_${e.time.start}`):e.time.start,a=Md.indexOf(e.time.end)!==-1?A.t(`sch_astro_${e.time.end}`):e.time.end;(o!=="00:00"||a!=="24:00"&&a!=="23:59")&&r.push(A.t("sch_desc_intervalFromTo",o,a))}return e.period.once||(n.getTime()>Date.now()&&e.valid.to?r.push(A.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):n.getTime()>Date.now()?r.push(A.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&r.push(A.t("sch_desc_validTo",e.valid.to))),r.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let r=!1,n=!1,o=!1,a=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(r=!0,a=!1):e.time.start==="sunrise"?(n=!0,a=!1):e.time.start==="sunset"&&(o=!0,a=!1),f.createElement("div",{key:"timePeriod",style:fe.rowDiv},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!e.time.exactTime,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.exactTime=!1,this.onChange(s)}}),label:A.t("sch_intervalTime")})),f.createElement("div",{style:fe.settingsDiv},f.createElement("div",{style:fe.settingsDiv},!e.time.exactTime&&f.createElement("div",null,f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!a,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="23:59",this.onChange(s)}}),label:a?"":A.t("sch_fromTo")}),a&&[f.createElement(Et,{variant:"standard",style:{...fe.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:A.t("sch_from"),margin:"normal"}),f.createElement(Et,{variant:"standard",style:fe.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:A.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!r,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="00:00",s.time.end="24:00",this.onChange(s)}}),label:A.t("sch_wholeDay")})),!e.time.exactTime&&f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!n,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunrise",s.time.end="sunset",this.onChange(s)}}),label:A.t("sch_astroDay")})),!e.time.exactTime&&f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!o,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start="sunset",s.time.end="sunrise",this.onChange(s)}}),label:A.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(a)))}getTimeExactElements(){const e=Md.includes(this.state.schedule.time.start);return f.createElement("div",{key:"timeExact",style:fe.rowDiv},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.time.exactTime=!0,this.onChange(r)}}),label:A.t("sch_exactTime")})),this.state.schedule.time.exactTime&&f.createElement(Ar,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start=r.target.value,this.onChange(n)}},f.createElement(pt,{key:"specific",value:"00:00"},A.t("sch_specificTime")),Md.map(r=>f.createElement(pt,{key:r,value:r},A.t(`sch_astro_${r}`)))),this.state.schedule.time.exactTime&&!e&&f.createElement("div",{style:fe.settingsDiv},f.createElement(Et,{variant:"standard",style:fe.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:r=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:r.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start=r.target.value,this.onChange(n)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return f.createElement("hr",{style:fe.hr})}getPeriodModes(){const e=this.state.schedule,r=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return r&&!e.period.once&&(e.period.once=Ur.now2string(!0)),[f.createElement("div",{key:"once",style:{...fe.rowDiv,...fe.rowOnce}},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!r,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.once||=Ur.now2string(!0),n.period.dows="",n.period.months="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.days=0,this.onChange(n)}}),label:A.t("sch_periodOnce")})),r&&f.createElement("div",{style:fe.settingsDiv},f.createElement(Et,{variant:"standard",style:fe.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:D1(e.period.once),onChange:n=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(o=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const a=JSON.parse(JSON.stringify(this.state.schedule)),s=Ur.string2date(o);s.toString()!=="Invalid Date"&&(a.period.once=`${Da(s.getDate())}.${Da(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(a))},1500,n.target.value)},slotProps:{inputLabel:{shrink:!0}},label:A.t("sch_at"),margin:"normal"}))),f.createElement(Xe,{component:"div",key:"days",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowDays)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.days,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=1,n.period.dows="",n.period.months="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodDaily")})),f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),f.createElement(Xe,{component:"div",key:"weeks",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowDows)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.weeks,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=e.period.weeks?0:1,n.period.dows||="[0]",n.period.months="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodWeekly")})),f.createElement(Xe,{component:"div",style:fe.settingsDiv},f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsWeekly()),f.createElement(Xe,{component:"div",sx:ee.getStyle(this.props.theme,fe.settingsDiv,fe.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),f.createElement(Xe,{component:"div",key:"months",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowMonths)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.months,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=1,n.period.dows="",n.period.dates="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodMonthly")})),f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?f.createElement(Xe,null,f.createElement(Xe,{component:"div",sx:ee.getStyle(this.props.theme,fe.settingsDiv,fe.rowMonthsDates)},f.createElement(at,{control:f.createElement(Ut,{style:fe.inputRadio,checked:!!e.period.dates,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months||=1;const o=[];for(let a=1;a<=31;a++)o.push(a);n.period.dates||=JSON.stringify(o),n.period.dows="",n.period.years=0,n.period.yearDate=0,n.period.yearMonth=0,n.period.weeks=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodDates")})),f.createElement(Xe,{component:"div",sx:ee.getStyle(this.props.theme,fe.settingsDiv,fe.rowMonthsDates)},this.getPeriodSettingsDates())):null)),f.createElement(Xe,{component:"div",key:"years",sx:ee.getStyle(this.props.theme,fe.rowDiv,fe.rowYears)},f.createElement("div",{style:fe.modeDiv},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:!!e.period.years,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=1,n.period.yearDate=1,n.period.yearMonth=1,n.period.dows="",n.period.months=0,n.period.dates="",n.period.weeks=0,n.period.days=0,n.period.once="",this.onChange(n)}}),label:A.t("sch_periodYearly")})),f.createElement("div",{style:fe.settingsDiv},f.createElement("div",{style:fe.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&f.createElement("div",{style:fe.settingsDiv},f.createElement("span",null,A.t("sch_on")),f.createElement(In,{key:"input",value:this.state.schedule.period.yearDate,style:fe.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearDate=parseInt(n.target.value,10),o.period.yearDate<1&&(o.period.yearDate=31),o.period.yearDate>31&&(o.period.yearDate=1),this.onChange(o)}}),f.createElement(Ar,{variant:"standard",value:e.period.yearMonth,onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearMonth=n.target.value,this.onChange(o)}},f.createElement(pt,{key:"every",value:0},A.t("sch_yearEveryMonth")),Lh.map((n,o)=>f.createElement(pt,{key:n,value:o+1},A.t(n)))))))]}getPeriodSettingsMinutes(e){return f.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},f.createElement("label",{style:{marginLeft:4,marginRight:4}},A.t("sch_every")),f.createElement(In,{value:this.state.schedule.time.interval,style:{...fe.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.interval=parseInt(r.target.value,10),this.onChange(n)}}),f.createElement(Ar,{variant:"standard",value:this.state.schedule.time.mode,onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.mode=r.target.value,this.onChange(n)}},f.createElement(pt,{value:O1.minutes},A.t("sch_periodMinutes")),f.createElement(pt,{value:O1.hours},A.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,r=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[f.createElement("div",{key:"workdays"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dows="[1, 2, 3, 4, 5]",n.period.days&&(n.period.days=1),this.onChange(n)}}),label:A.t("sch_periodWorkdays")})),f.createElement("div",{key:"weekend"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dows="[0, 6]",n.period.days&&(n.period.days=1),this.onChange(n)}}),label:A.t("sch_periodWeekend")})),f.createElement("div",{key:"specific",style:{verticalAlign:"top"}},f.createElement(at,{style:{verticalAlign:"top"},control:f.createElement(rr,{style:fe.inputRadio,checked:!!r,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dows="[0, 1, 2, 3, 4, 5, 6]",n.period.days&&(n.period.days=1),this.onChange(n)}}),label:A.t("sch_periodWeekdays")}),r&&(e.period.days===1||e.period.weeks)&&f.createElement(X_,{row:!0,style:{...fe.inputGroup,width:150}},[1,2,3,4,5,6,0].map(n=>f.createElement(at,{key:`specific_${n}`,style:fe.inputGroupElement,control:f.createElement(Ut,{style:fe.inputSmallCheck,checked:e.period.dows.includes(n.toString()),onChange:o=>{const a=JSON.parse(JSON.stringify(this.state.schedule));let s;try{s=JSON.parse(a.period.dows)}catch{s=[]}o.target.checked&&!s.includes(n)?s.push(n):!o.target.checked&&s.includes(n)&&s.splice(s.indexOf(n),1),s.sort((l,d)=>l-d),a.period.dows=JSON.stringify(s),a.period.days&&(a.period.days=1),this.onChange(a)}}),label:A.t(E1[n])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[f.createElement("div",{key:"every_day"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.days=1,r.period.dows="",this.onChange(r)}}),label:A.t("sch_periodEveryDay")})),f.createElement("div",{key:"everyN_day"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.days>1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.days=2,r.period.dows="",this.onChange(r)}}),label:A.t("sch_periodEvery")}),e.period.days>1&&[f.createElement(In,{key:"input",value:this.state.schedule.period.days,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.days=parseInt(r.target.value,10),n.period.dows="",this.onChange(n)}}),f.createElement("span",{key:"span",style:{paddingRight:10}},A.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[f.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.weeks===1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.weeks=1,this.onChange(r)}}),label:A.t("sch_periodEveryWeek")})),f.createElement("div",null,f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.weeks>1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.weeks=2,this.onChange(r)}}),label:A.t("sch_periodEvery")}),e.period.weeks>1&&[f.createElement(In,{key:"input",value:this.state.schedule.period.weeks,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.weeks=parseInt(r.target.value,10),this.onChange(n)}}),f.createElement("span",{key:"text"},A.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,r=[];for(let o=1;o<=31;o++)r.push(o);const n=JSON.parse(e.period.dates);return f.createElement(X_,{row:!0,style:{...fe.inputGroup,maxWidth:620}},f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:n.length===31,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[];for(let s=1;s<=31;s++)a.push(s);o.period.dates=JSON.stringify(a),this.onChange(o)}}),label:A.t("sch_all")}),f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!n.length,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dates="[]",this.onChange(o)}}),label:A.t("sch_no_one")}),n.length!==31&&!!n.length&&f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!1,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),a=[],s=JSON.parse(o.period.dates);for(let l=1;l<=31;l++)s.includes(l)||a.push(l);a.sort((l,d)=>l-d),o.period.dates=JSON.stringify(a),this.onChange(o)}}),label:A.t("sch_invert")}),f.createElement("div",null),r.map(o=>f.createElement(at,{key:`date_${o}`,style:o?fe.inputDateDay:{...fe.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(o),onChange:a=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.dates)}catch{l=[]}a.target.checked&&!l.includes(o)?l.push(o):!a.target.checked&&l.includes(o)&&l.splice(l.indexOf(o),1),l.sort((d,p)=>d-p),s.period.dates=JSON.stringify(l),this.onChange(s)}}),label:o<10?[f.createElement("span",{key:"0",style:{opacity:0}},"0"),f.createElement("span",{key:"num"},o)]:o})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,r=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[f.createElement("div",{key:"every"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=1,this.onChange(e)}}),label:A.t("sch_periodEveryMonth")})),f.createElement("div",{key:"everyN"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=2,this.onChange(n)}}),label:A.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[f.createElement(In,{key:"input",value:e.period.months,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:n=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=parseInt(n.target.value,10),o.period.months<1&&(o.period.months=1),this.onChange(o)}}),f.createElement("span",{key:"text"},A.t("sch_periodMonth"))]),f.createElement("div",{key:"specific",style:{verticalAlign:"top"}},f.createElement(at,{style:{verticalAlign:"top"},control:f.createElement(rr,{style:fe.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(n)}}),label:A.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&f.createElement(X_,{row:!0,style:fe.inputGroup},f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:r.length===12,onChange:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let a=1;a<=12;a++)o.push(a);n.period.months=JSON.stringify(o),this.onChange(n)}}),label:A.t("sch_all")}),f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!r.length,onChange:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months="[]",this.onChange(n)}}),label:A.t("sch_no_one")}),r.length!==12&&!!r.length&&f.createElement(at,{style:fe.inputDateDay,control:f.createElement(Ut,{style:fe.inputDateDayCheck,checked:!1,onChange:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule)),o=[],a=JSON.parse(n.period.months);for(let s=1;s<=12;s++)a.includes(s)||o.push(s);o.sort((s,l)=>s-l),n.period.months=JSON.stringify(o),this.onChange(n)}}),label:A.t("sch_invert")}),f.createElement("div",null),Lh.map((n,o)=>f.createElement(at,{key:`month_${o}`,style:fe.inputGroupElement,control:f.createElement(Ut,{style:fe.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(o+1):e.period.months===o,onChange:a=>{const s=JSON.parse(JSON.stringify(this.state.schedule));let l;try{l=JSON.parse(s.period.months)}catch{l=[]}a.target.checked&&!l.includes(o+1)?l.push(o+1):!a.target.checked&&l.includes(o+1)&&l.splice(l.indexOf(o+1),1),l.sort((d,p)=>d-p),s.period.months=JSON.stringify(l),this.onChange(s)}}),label:A.t(n)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[f.createElement("div",{key:"year"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.years===1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.years=1,this.onChange(r)}}),label:A.t("sch_periodEveryYear")})),f.createElement("div",{key:"every"},f.createElement(at,{control:f.createElement(rr,{style:fe.inputRadio,checked:e.period.years>1,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.years=2,this.onChange(r)}}),label:A.t("sch_periodEvery")}),e.period.years>1&&[f.createElement(In,{key:"input",value:this.state.schedule.period.years,style:fe.inputEvery,type:"number",inputProps:{min:2},onChange:r=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.period.years=parseInt(r.target.value,10),n.period.years<1&&(n.period.years=1),this.onChange(n)}}),f.createElement("span",{key:"text"},A.t("sch_periodYear"))])]}static now2string(e){const r=new Date;return r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0),e&&(r.setDate(r.getDate()+2),r.setMilliseconds(r.getMilliseconds()-1)),`${Da(r.getDate())}.${Da(r.getMonth()+1)}.${Da(r.getFullYear())}`}static string2date(e){let r=e.split(".");return r.length===1?(r=e.split("-"),new Date(parseInt(r[0],10),parseInt(r[1],10)-1,parseInt(r[2],10))):new Date(parseInt(r[2],10),parseInt(r[1],10)-1,parseInt(r[0],10))}getValidSettings(){const e=this.state.schedule;return f.createElement("div",{style:fe.rowDiv},f.createElement("div",{style:{...fe.modeDiv,verticalAlign:"middle"}},f.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},A.t("sch_valid")),f.createElement("span",null,A.t("sch_validFrom"))),f.createElement("div",{style:fe.settingsDiv},f.createElement(Et,{variant:"standard",style:{...fe.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:D1(e.valid.from),type:"date",onChange:r=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(n=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),a=Ur.string2date(n);a.toString()!=="Invalid Date"&&(o.valid.from=`${Da(a.getDate())}.${Da(a.getMonth()+1)}.${a.getFullYear()}`,this.onChange(o))},1500,r.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),f.createElement(at,{control:f.createElement(Ut,{style:fe.inputRadio,checked:!!e.valid.to,onClick:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.valid.to=r.valid.to?"":Ur.now2string(!0),this.onChange(r)}}),label:A.t("sch_validTo")}),!!e.valid.to&&f.createElement(Et,{variant:"standard",inputRef:this.refTo,style:{...fe.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:D1(e.valid.to),onChange:r=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(n=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),a=Ur.string2date(n);a.toString()!=="Invalid Date"&&(o.valid.to=`${Da(a.getDate())}.${Da(a.getMonth()+1)}.${a.getFullYear()}`,this.onChange(o))},1500,r.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return f.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},f.createElement("div",null,this.state.desc),f.createElement("div",{style:fe.scrollWindow},f.createElement("h5",null,A.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),Ur.getDivider(),f.createElement("h5",null,A.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&Ur.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}class Lc extends T.Component{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const r=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(r)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let n=this.props.selected||[];if(Array.isArray(n)||(n=[n]),n=n.filter(o=>o),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:n,name:"",selectionBlocked:!1}}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 e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},A.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||A.t("ra_Please select object ID..."),f.createElement(qt,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},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"},f.createElement(Gt,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),f.createElement(Qt,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},f.createElement(fet,{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:A.t,lang:this.props.lang||A.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:r=>{this.filters=r,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(r))},onSelect:async(r,n,o)=>{let a;if(Array.isArray(r)?a=r:a=[r],JSON.stringify(a)!==JSON.stringify(this.state.selected)){let s=!0;if(this.props.onSelectConfirm){const l={};for(const d of a)try{l[d]=await this.props.socket.getObject(d)}catch{}s=await this.props.onSelectConfirm(a,l)}this.setState({selected:a,name:n,selectionBlocked:!s},()=>o&&this.handleOk())}else o&&this.handleOk()},filterFunc:this.filterFunc,title:"",onAllLoaded:()=>this.setState({allLoaded:!0})})),f.createElement(Zt,null,f.createElement(Ue,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:f.createElement(Xr,null),disabled:!this.state.allLoaded||!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}/*!
658
658
  * Cropper.js v1.6.2
659
659
  * https://fengyuanchen.github.io/cropperjs
660
660
  *
@@ -663,19 +663,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
663
663
  *
664
664
  * Date: 2024-04-21T07:43:05.335Z
665
665
  */function u6(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 X7(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?u6(Object(r),!0).forEach(function(n){vet(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):u6(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function met(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function K7(t){var e=met(t,"string");return typeof e=="symbol"?e:e+""}function Hb(t){"@babel/helpers - typeof";return Hb=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hb(t)}function get(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function p6(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,K7(n.key),n)}}function _et(t,e,r){return e&&p6(t.prototype,e),r&&p6(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function vet(t,e,r){return e=K7(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Y7(t){return yet(t)||bet(t)||wet(t)||xet()}function yet(t){if(Array.isArray(t))return Ub(t)}function bet(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function wet(t,e){if(t){if(typeof t=="string")return Ub(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ub(t,e)}}function Ub(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function xet(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
666
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Hm=typeof window<"u"&&typeof window.document<"u",ha=Hm?window:{},V2=Hm&&ha.document.documentElement?"ontouchstart"in ha.document.documentElement:!1,q2=Hm?"PointerEvent"in ha:!1,dr="cropper",G2="all",Z7="crop",Q7="move",eD="zoom",si="e",ii="w",Dl="s",fs="n",Rd="ne",jd="nw",zd="se",Pd="sw",Vb="".concat(dr,"-crop"),h6="".concat(dr,"-disabled"),An="".concat(dr,"-hidden"),f6="".concat(dr,"-hide"),ket="".concat(dr,"-invisible"),Gf="".concat(dr,"-modal"),qb="".concat(dr,"-move"),Nu="".concat(dr,"Action"),Fh="".concat(dr,"Preview"),J2="crop",tD="move",rD="none",Gb="crop",Jb="cropend",Xb="cropmove",Kb="cropstart",m6="dblclick",Cet=V2?"touchstart":"mousedown",$et=V2?"touchmove":"mousemove",Tet=V2?"touchend touchcancel":"mouseup",g6=q2?"pointerdown":Cet,_6=q2?"pointermove":$et,v6=q2?"pointerup pointercancel":Tet,y6="ready",b6="resize",w6="wheel",Yb="zoom",S6="image/jpeg",Eet=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,Oet=/^data:/,Det=/^data:image\/jpeg;base64,/,Aet=/^img|canvas$/i,nD=200,oD=100,x6={viewMode:0,dragMode:J2,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:nD,minContainerHeight:oD,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},Iet='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>',Net=Number.isNaN||ha.isNaN;function $t(t){return typeof t=="number"&&!Net(t)}var k6=function(e){return e>0&&e<1/0};function A1(t){return typeof t>"u"}function Ei(t){return Hb(t)==="object"&&t!==null}var Met=Object.prototype.hasOwnProperty;function ec(t){if(!Ei(t))return!1;try{var e=t.constructor,r=e.prototype;return e&&r&&Met.call(r,"isPrototypeOf")}catch{return!1}}function On(t){return typeof t=="function"}var Ret=Array.prototype.slice;function aD(t){return Array.from?Array.from(t):Ret.call(t)}function Dr(t,e){return t&&On(e)&&(Array.isArray(t)||$t(t.length)?aD(t).forEach(function(r,n){e.call(t,r,n,t)}):Ei(t)&&Object.keys(t).forEach(function(r){e.call(t,t[r],r,t)})),t}var pr=Object.assign||function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Ei(e)&&n.length>0&&n.forEach(function(a){Ei(a)&&Object.keys(a).forEach(function(s){e[s]=a[s]})}),e},jet=/\.\d*(?:0|9){12}\d*$/;function lc(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return jet.test(t)?Math.round(t*e)/e:t}var zet=/^width|height|left|top|marginLeft|marginTop$/;function Cs(t,e){var r=t.style;Dr(e,function(n,o){zet.test(o)&&$t(n)&&(n="".concat(n,"px")),r[o]=n})}function Pet(t,e){return t.classList?t.classList.contains(e):t.className.indexOf(e)>-1}function Br(t,e){if(e){if($t(t.length)){Dr(t,function(n){Br(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 ua(t,e){if(e){if($t(t.length)){Dr(t,function(r){ua(r,e)});return}if(t.classList){t.classList.remove(e);return}t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,""))}}function tc(t,e,r){if(e){if($t(t.length)){Dr(t,function(n){tc(n,e,r)});return}r?Br(t,e):ua(t,e)}}var Let=/([a-z\d])([A-Z])/g;function X2(t){return t.replace(Let,"$1-$2").toLowerCase()}function Zb(t,e){return Ei(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(X2(e)))}function Mu(t,e,r){Ei(r)?t[e]=r:t.dataset?t.dataset[e]=r:t.setAttribute("data-".concat(X2(e)),r)}function Fet(t,e){if(Ei(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(X2(e)))}var sD=/\s\s*/,iD=(function(){var t=!1;if(Hm){var e=!1,r=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(a){e=a}});ha.addEventListener("test",r,n),ha.removeEventListener("test",r,n)}return t})();function Oo(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(sD).forEach(function(a){if(!iD){var s=t.listeners;s&&s[a]&&s[a][r]&&(o=s[a][r],delete s[a][r],Object.keys(s[a]).length===0&&delete s[a],Object.keys(s).length===0&&delete t.listeners)}t.removeEventListener(a,o,n)})}function po(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(sD).forEach(function(a){if(n.once&&!iD){var s=t.listeners,l=s===void 0?{}:s;o=function(){delete l[a][r],t.removeEventListener(a,o,n);for(var p=arguments.length,m=new Array(p),u=0;u<p;u++)m[u]=arguments[u];r.apply(t,m)},l[a]||(l[a]={}),l[a][r]&&t.removeEventListener(a,l[a][r],n),l[a][r]=o,t.listeners=l}t.addEventListener(a,o,n)})}function cc(t,e,r){var n;return On(Event)&&On(CustomEvent)?n=new CustomEvent(e,{detail:r,bubbles:!0,cancelable:!0}):(n=document.createEvent("CustomEvent"),n.initCustomEvent(e,!0,!0,r)),t.dispatchEvent(n)}function lD(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var I1=ha.location,Bet=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function C6(t){var e=t.match(Bet);return e!==null&&(e[1]!==I1.protocol||e[2]!==I1.hostname||e[3]!==I1.port)}function $6(t){var e="timestamp=".concat(new Date().getTime());return t+(t.indexOf("?")===-1?"?":"&")+e}function pu(t){var e=t.rotate,r=t.scaleX,n=t.scaleY,o=t.translateX,a=t.translateY,s=[];$t(o)&&o!==0&&s.push("translateX(".concat(o,"px)")),$t(a)&&a!==0&&s.push("translateY(".concat(a,"px)")),$t(e)&&e!==0&&s.push("rotate(".concat(e,"deg)")),$t(r)&&r!==1&&s.push("scaleX(".concat(r,")")),$t(n)&&n!==1&&s.push("scaleY(".concat(n,")"));var l=s.length?s.join(" "):"none";return{WebkitTransform:l,msTransform:l,transform:l}}function Wet(t){var e=X7({},t),r=0;return Dr(t,function(n,o){delete e[o],Dr(e,function(a){var s=Math.abs(n.startX-a.startX),l=Math.abs(n.startY-a.startY),d=Math.abs(n.endX-a.endX),p=Math.abs(n.endY-a.endY),m=Math.sqrt(s*s+l*l),u=Math.sqrt(d*d+p*p),g=(u-m)/m;Math.abs(g)>Math.abs(r)&&(r=g)})}),r}function Bh(t,e){var r=t.pageX,n=t.pageY,o={endX:r,endY:n};return e?o:X7({startX:r,startY:n},o)}function Het(t){var e=0,r=0,n=0;return Dr(t,function(o){var a=o.startX,s=o.startY;e+=a,r+=s,n+=1}),e/=n,r/=n,{pageX:e,pageY:r}}function $s(t){var e=t.aspectRatio,r=t.height,n=t.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",a=k6(n),s=k6(r);if(a&&s){var l=r*e;o==="contain"&&l>n||o==="cover"&&l<n?r=n/e:n=r*e}else a?r=n/e:s&&(n=r*e);return{width:n,height:r}}function Uet(t){var e=t.width,r=t.height,n=t.degree;if(n=Math.abs(n)%180,n===90)return{width:r,height:e};var o=n%90*Math.PI/180,a=Math.sin(o),s=Math.cos(o),l=e*s+r*a,d=e*a+r*s;return n>90?{width:d,height:l}:{width:l,height:d}}function Vet(t,e,r,n){var o=e.aspectRatio,a=e.naturalWidth,s=e.naturalHeight,l=e.rotate,d=l===void 0?0:l,p=e.scaleX,m=p===void 0?1:p,u=e.scaleY,g=u===void 0?1:u,_=r.aspectRatio,b=r.naturalWidth,w=r.naturalHeight,x=n.fillColor,C=x===void 0?"transparent":x,D=n.imageSmoothingEnabled,O=D===void 0?!0:D,I=n.imageSmoothingQuality,N=I===void 0?"low":I,E=n.maxWidth,M=E===void 0?1/0:E,j=n.maxHeight,z=j===void 0?1/0:j,$=n.minWidth,L=$===void 0?0:$,H=n.minHeight,U=H===void 0?0:H,W=document.createElement("canvas"),B=W.getContext("2d"),K=$s({aspectRatio:_,width:M,height:z}),oe=$s({aspectRatio:_,width:L,height:U},"cover"),Z=Math.min(K.width,Math.max(oe.width,b)),q=Math.min(K.height,Math.max(oe.height,w)),ne=$s({aspectRatio:o,width:M,height:z}),P=$s({aspectRatio:o,width:L,height:U},"cover"),J=Math.min(ne.width,Math.max(P.width,a)),ce=Math.min(ne.height,Math.max(P.height,s)),de=[-J/2,-ce/2,J,ce];return W.width=lc(Z),W.height=lc(q),B.fillStyle=C,B.fillRect(0,0,Z,q),B.save(),B.translate(Z/2,q/2),B.rotate(d*Math.PI/180),B.scale(m,g),B.imageSmoothingEnabled=O,B.imageSmoothingQuality=N,B.drawImage.apply(B,[t].concat(Y7(de.map(function(pe){return Math.floor(lc(pe))})))),B.restore(),W}var cD=String.fromCharCode;function qet(t,e,r){var n="";r+=e;for(var o=e;o<r;o+=1)n+=cD(t.getUint8(o));return n}var Get=/^data:.*,/;function Jet(t){var e=t.replace(Get,""),r=atob(e),n=new ArrayBuffer(r.length),o=new Uint8Array(n);return Dr(o,function(a,s){o[s]=r.charCodeAt(s)}),n}function Xet(t,e){for(var r=[],n=8192,o=new Uint8Array(t);o.length>0;)r.push(cD.apply(null,aD(o.subarray(0,n)))),o=o.subarray(n);return"data:".concat(e,";base64,").concat(btoa(r.join("")))}function Ket(t){var e=new DataView(t),r;try{var n,o,a;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var s=e.byteLength,l=2;l+1<s;){if(e.getUint8(l)===255&&e.getUint8(l+1)===225){o=l;break}l+=1}if(o){var d=o+4,p=o+10;if(qet(e,d,4)==="Exif"){var m=e.getUint16(p);if(n=m===18761,(n||m===19789)&&e.getUint16(p+2,n)===42){var u=e.getUint32(p+4,n);u>=8&&(a=p+u)}}}if(a){var g=e.getUint16(a,n),_,b;for(b=0;b<g;b+=1)if(_=a+b*12+2,e.getUint16(_,n)===274){_+=8,r=e.getUint16(_,n),e.setUint16(_,1,n);break}}}catch{r=1}return r}function Yet(t){var e=0,r=1,n=1;switch(t){case 2:r=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,r=-1;break;case 8:e=-90;break}return{rotate:e,scaleX:r,scaleY:n}}var Zet={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,r=this.options,n=this.container,o=this.cropper,a=Number(r.minContainerWidth),s=Number(r.minContainerHeight);Br(o,An),ua(e,An);var l={width:Math.max(n.offsetWidth,a>=0?a:nD),height:Math.max(n.offsetHeight,s>=0?s:oD)};this.containerData=l,Cs(o,{width:l.width,height:l.height}),Br(e,An),ua(o,An)},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,s=o?r.naturalWidth:r.naturalHeight,l=a/s,d=e.width,p=e.height;e.height*l>e.width?n===3?d=e.height*l:p=e.width/l:n===3?p=e.width/l:d=e.height*l;var m={aspectRatio:l,naturalWidth:a,naturalHeight:s,width:d,height:p};this.canvasData=m,this.limited=n===1||n===2,this.limitCanvas(!0,!0),m.width=Math.min(Math.max(m.width,m.minWidth),m.maxWidth),m.height=Math.min(Math.max(m.height,m.minHeight),m.maxHeight),m.left=(e.width-m.width)/2,m.top=(e.height-m.height)/2,m.oldLeft=m.left,m.oldTop=m.top,this.initialCanvasData=pr({},m)},limitCanvas:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,s=this.cropBoxData,l=n.viewMode,d=a.aspectRatio,p=this.cropped&&s;if(e){var m=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;l>1?(m=Math.max(m,o.width),u=Math.max(u,o.height),l===3&&(u*d>m?m=u*d:u=m/d)):l>0&&(m?m=Math.max(m,p?s.width:0):u?u=Math.max(u,p?s.height:0):p&&(m=s.width,u=s.height,u*d>m?m=u*d:u=m/d));var g=$s({aspectRatio:d,width:m,height:u});m=g.width,u=g.height,a.minWidth=m,a.minHeight=u,a.maxWidth=1/0,a.maxHeight=1/0}if(r)if(l>(p?0:1)){var _=o.width-a.width,b=o.height-a.height;a.minLeft=Math.min(0,_),a.minTop=Math.min(0,b),a.maxLeft=Math.max(0,_),a.maxTop=Math.max(0,b),p&&this.limited&&(a.minLeft=Math.min(s.left,s.left+(s.width-a.width)),a.minTop=Math.min(s.top,s.top+(s.height-a.height)),a.maxLeft=s.left,a.maxTop=s.top,l===2&&(a.width>=o.width&&(a.minLeft=Math.min(0,_),a.maxLeft=Math.max(0,_)),a.height>=o.height&&(a.minTop=Math.min(0,b),a.maxTop=Math.max(0,b))))}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=Uet({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),s=a.width,l=a.height,d=n.width*(s/n.naturalWidth),p=n.height*(l/n.naturalHeight);n.left-=(d-n.width)/2,n.top-=(p-n.height)/2,n.width=d,n.height=p,n.aspectRatio=s/l,n.naturalWidth=s,n.naturalHeight=l,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,Cs(this.canvas,pr({width:n.width,height:n.height},pu({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var r=this.canvasData,n=this.imageData,o=n.naturalWidth*(r.width/r.naturalWidth),a=n.naturalHeight*(r.height/r.naturalHeight);pr(n,{width:o,height:a,left:(r.width-o)/2,top:(r.height-a)/2}),Cs(this.image,pr({width:n.width,height:n.height},pu(pr({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,r=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,o=Number(e.autoCropArea)||.8,a={width:r.width,height:r.height};n&&(r.height*n>r.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=pr({},a)},limitCropBox:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,s=this.cropBoxData,l=this.limited,d=n.aspectRatio;if(e){var p=Number(n.minCropBoxWidth)||0,m=Number(n.minCropBoxHeight)||0,u=l?Math.min(o.width,a.width,a.width+a.left,o.width-a.left):o.width,g=l?Math.min(o.height,a.height,a.height+a.top,o.height-a.top):o.height;p=Math.min(p,o.width),m=Math.min(m,o.height),d&&(p&&m?m*d>p?m=p/d:p=m*d:p?m=p/d:m&&(p=m*d),g*d>u?g=u/d:u=g*d),s.minWidth=Math.min(p,u),s.minHeight=Math.min(m,g),s.maxWidth=u,s.maxHeight=g}r&&(l?(s.minLeft=Math.max(0,a.left),s.minTop=Math.max(0,a.top),s.maxLeft=Math.min(o.width,a.left+a.width)-s.width,s.maxTop=Math.min(o.height,a.top+a.height)-s.height):(s.minLeft=0,s.minTop=0,s.maxLeft=o.width-s.width,s.maxTop=o.height-s.height))},renderCropBox:function(){var e=this.options,r=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Mu(this.face,Nu,n.width>=r.width&&n.height>=r.height?Q7:G2),Cs(this.cropBox,pr({width:n.width,height:n.height},pu({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),cc(this.element,Gb,this.getData())}},Qet={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",s=document.createElement("img");if(r&&(s.crossOrigin=r),s.src=o,s.alt=a,this.viewBox.appendChild(s),this.viewBoxImage=s,!!n){var l=n;typeof n=="string"?l=e.ownerDocument.querySelectorAll(n):n.querySelector&&(l=[n]),this.previews=l,Dr(l,function(d){var p=document.createElement("img");Mu(d,Fh,{width:d.offsetWidth,height:d.offsetHeight,html:d.innerHTML}),r&&(p.crossOrigin=r),p.src=o,p.alt=a,p.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;"',d.innerHTML="",d.appendChild(p)})}},resetPreview:function(){Dr(this.previews,function(e){var r=Zb(e,Fh);Cs(e,{width:r.width,height:r.height}),e.innerHTML=r.html,Fet(e,Fh)})},preview:function(){var e=this.imageData,r=this.canvasData,n=this.cropBoxData,o=n.width,a=n.height,s=e.width,l=e.height,d=n.left-r.left-e.left,p=n.top-r.top-e.top;!this.cropped||this.disabled||(Cs(this.viewBoxImage,pr({width:s,height:l},pu(pr({translateX:-d,translateY:-p},e)))),Dr(this.previews,function(m){var u=Zb(m,Fh),g=u.width,_=u.height,b=g,w=_,x=1;o&&(x=g/o,w=a*x),a&&w>_&&(x=_/a,b=o*x,w=_),Cs(m,{width:b,height:w}),Cs(m.getElementsByTagName("img")[0],pr({width:s*x,height:l*x},pu(pr({translateX:-d*x,translateY:-p*x},e))))}))}},ett={bind:function(){var e=this.element,r=this.options,n=this.cropper;On(r.cropstart)&&po(e,Kb,r.cropstart),On(r.cropmove)&&po(e,Xb,r.cropmove),On(r.cropend)&&po(e,Jb,r.cropend),On(r.crop)&&po(e,Gb,r.crop),On(r.zoom)&&po(e,Yb,r.zoom),po(n,g6,this.onCropStart=this.cropStart.bind(this)),r.zoomable&&r.zoomOnWheel&&po(n,w6,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&po(n,m6,this.onDblclick=this.dblclick.bind(this)),po(e.ownerDocument,_6,this.onCropMove=this.cropMove.bind(this)),po(e.ownerDocument,v6,this.onCropEnd=this.cropEnd.bind(this)),r.responsive&&po(window,b6,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,r=this.options,n=this.cropper;On(r.cropstart)&&Oo(e,Kb,r.cropstart),On(r.cropmove)&&Oo(e,Xb,r.cropmove),On(r.cropend)&&Oo(e,Jb,r.cropend),On(r.crop)&&Oo(e,Gb,r.crop),On(r.zoom)&&Oo(e,Yb,r.zoom),Oo(n,g6,this.onCropStart),r.zoomable&&r.zoomOnWheel&&Oo(n,w6,this.onWheel,{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&Oo(n,m6,this.onDblclick),Oo(e.ownerDocument,_6,this.onCropMove),Oo(e.ownerDocument,v6,this.onCropEnd),r.responsive&&Oo(window,b6,this.onResize)}},ttt={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,s=Math.abs(o-1)>Math.abs(a-1)?o:a;if(s!==1){var l,d;e.restore&&(l=this.getCanvasData(),d=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(Dr(l,function(p,m){l[m]=p*s})),this.setCropBoxData(Dr(d,function(p,m){d[m]=p*s})))}}},dblclick:function(){this.disabled||this.options.dragMode===rD||this.setDragMode(Pet(this.dragBox,Vb)?tD:J2)},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")&&($t(r)&&r!==1||$t(n)&&n!==0||e.ctrlKey))){var o=this.options,a=this.pointers,s;e.changedTouches?Dr(e.changedTouches,function(l){a[l.identifier]=Bh(l)}):a[e.pointerId||0]=Bh(e),Object.keys(a).length>1&&o.zoomable&&o.zoomOnTouch?s=eD:s=Zb(e.target,Nu),Eet.test(s)&&cc(this.element,Kb,{originalEvent:e,action:s})!==!1&&(e.preventDefault(),this.action=s,this.cropping=!1,s===Z7&&(this.cropping=!0,Br(this.dragBox,Gf)))}},cropMove:function(e){var r=this.action;if(!(this.disabled||!r)){var n=this.pointers;e.preventDefault(),cc(this.element,Xb,{originalEvent:e,action:r})!==!1&&(e.changedTouches?Dr(e.changedTouches,function(o){pr(n[o.identifier]||{},Bh(o,!0))}):pr(n[e.pointerId||0]||{},Bh(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var r=this.action,n=this.pointers;e.changedTouches?Dr(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,tc(this.dragBox,Gf,this.cropped&&this.options.modal)),cc(this.element,Jb,{originalEvent:e,action:r}))}}},rtt={change:function(e){var r=this.options,n=this.canvasData,o=this.containerData,a=this.cropBoxData,s=this.pointers,l=this.action,d=r.aspectRatio,p=a.left,m=a.top,u=a.width,g=a.height,_=p+u,b=m+g,w=0,x=0,C=o.width,D=o.height,O=!0,I;!d&&e.shiftKey&&(d=u&&g?u/g:1),this.limited&&(w=a.minLeft,x=a.minTop,C=w+Math.min(o.width,n.width,n.left+n.width),D=x+Math.min(o.height,n.height,n.top+n.height));var N=s[Object.keys(s)[0]],E={x:N.endX-N.startX,y:N.endY-N.startY},M=function(z){switch(z){case si:_+E.x>C&&(E.x=C-_);break;case ii:p+E.x<w&&(E.x=w-p);break;case fs:m+E.y<x&&(E.y=x-m);break;case Dl:b+E.y>D&&(E.y=D-b);break}};switch(l){case G2:p+=E.x,m+=E.y;break;case si:if(E.x>=0&&(_>=C||d&&(m<=x||b>=D))){O=!1;break}M(si),u+=E.x,u<0&&(l=ii,u=-u,p-=u),d&&(g=u/d,m+=(a.height-g)/2);break;case fs:if(E.y<=0&&(m<=x||d&&(p<=w||_>=C))){O=!1;break}M(fs),g-=E.y,m+=E.y,g<0&&(l=Dl,g=-g,m-=g),d&&(u=g*d,p+=(a.width-u)/2);break;case ii:if(E.x<=0&&(p<=w||d&&(m<=x||b>=D))){O=!1;break}M(ii),u-=E.x,p+=E.x,u<0&&(l=si,u=-u,p-=u),d&&(g=u/d,m+=(a.height-g)/2);break;case Dl:if(E.y>=0&&(b>=D||d&&(p<=w||_>=C))){O=!1;break}M(Dl),g+=E.y,g<0&&(l=fs,g=-g,m-=g),d&&(u=g*d,p+=(a.width-u)/2);break;case Rd:if(d){if(E.y<=0&&(m<=x||_>=C)){O=!1;break}M(fs),g-=E.y,m+=E.y,u=g*d}else M(fs),M(si),E.x>=0?_<C?u+=E.x:E.y<=0&&m<=x&&(O=!1):u+=E.x,E.y<=0?m>x&&(g-=E.y,m+=E.y):(g-=E.y,m+=E.y);u<0&&g<0?(l=Pd,g=-g,u=-u,m-=g,p-=u):u<0?(l=jd,u=-u,p-=u):g<0&&(l=zd,g=-g,m-=g);break;case jd:if(d){if(E.y<=0&&(m<=x||p<=w)){O=!1;break}M(fs),g-=E.y,m+=E.y,u=g*d,p+=a.width-u}else M(fs),M(ii),E.x<=0?p>w?(u-=E.x,p+=E.x):E.y<=0&&m<=x&&(O=!1):(u-=E.x,p+=E.x),E.y<=0?m>x&&(g-=E.y,m+=E.y):(g-=E.y,m+=E.y);u<0&&g<0?(l=zd,g=-g,u=-u,m-=g,p-=u):u<0?(l=Rd,u=-u,p-=u):g<0&&(l=Pd,g=-g,m-=g);break;case Pd:if(d){if(E.x<=0&&(p<=w||b>=D)){O=!1;break}M(ii),u-=E.x,p+=E.x,g=u/d}else M(Dl),M(ii),E.x<=0?p>w?(u-=E.x,p+=E.x):E.y>=0&&b>=D&&(O=!1):(u-=E.x,p+=E.x),E.y>=0?b<D&&(g+=E.y):g+=E.y;u<0&&g<0?(l=Rd,g=-g,u=-u,m-=g,p-=u):u<0?(l=zd,u=-u,p-=u):g<0&&(l=jd,g=-g,m-=g);break;case zd:if(d){if(E.x>=0&&(_>=C||b>=D)){O=!1;break}M(si),u+=E.x,g=u/d}else M(Dl),M(si),E.x>=0?_<C?u+=E.x:E.y>=0&&b>=D&&(O=!1):u+=E.x,E.y>=0?b<D&&(g+=E.y):g+=E.y;u<0&&g<0?(l=jd,g=-g,u=-u,m-=g,p-=u):u<0?(l=Pd,u=-u,p-=u):g<0&&(l=Rd,g=-g,m-=g);break;case Q7:this.move(E.x,E.y),O=!1;break;case eD:this.zoom(Wet(s),e),O=!1;break;case Z7:if(!E.x||!E.y){O=!1;break}I=lD(this.cropper),p=N.startX-I.left,m=N.startY-I.top,u=a.minWidth,g=a.minHeight,E.x>0?l=E.y>0?zd:Rd:E.x<0&&(p-=u,l=E.y>0?Pd:jd),E.y<0&&(m-=g),this.cropped||(ua(this.cropBox,An),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}O&&(a.width=u,a.height=g,a.left=p,a.top=m,this.action=l,this.renderCropBox()),Dr(s,function(j){j.startX=j.endX,j.startY=j.endY})}},ntt={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Br(this.dragBox,Gf),ua(this.cropBox,An),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=pr({},this.initialImageData),this.canvasData=pr({},this.initialCanvasData),this.cropBoxData=pr({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(pr(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ua(this.dragBox,Gf),Br(this.cropBox,An)),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,Dr(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,ua(this.cropper,h6)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Br(this.cropper,h6)),this},destroy:function(){var e=this.element;return e[dr]?(e[dr]=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(A1(e)?e:o+Number(e),A1(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&&($t(e)&&(n.left=e,o=!0),$t(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,s=a.width,l=a.height,d=a.naturalWidth,p=a.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&o.zoomable){var m=d*e,u=p*e;if(cc(this.element,Yb,{ratio:e,oldRatio:s/d,originalEvent:n})===!1)return this;if(n){var g=this.pointers,_=lD(this.cropper),b=g&&Object.keys(g).length?Het(g):{pageX:n.pageX,pageY:n.pageY};a.left-=(m-s)*((b.pageX-_.left-a.left)/s),a.top-=(u-l)*((b.pageY-_.top-a.top)/l)}else ec(r)&&$t(r.x)&&$t(r.y)?(a.left-=(m-s)*((r.x-a.left)/s),a.top-=(u-l)*((r.y-a.top)/l)):(a.left-=(m-s)/2,a.top-=(u-l)/2);a.width=m,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),$t(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,$t(r)?r:1)},scaleY:function(e){var r=this.imageData.scaleX;return this.scale($t(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&&($t(e)&&(n.scaleX=e,o=!0),$t(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,s;if(this.ready&&this.cropped){s={x:a.left-o.left,y:a.top-o.top,width:a.width,height:a.height};var l=n.width/n.naturalWidth;if(Dr(s,function(m,u){s[u]=m/l}),e){var d=Math.round(s.y+s.height),p=Math.round(s.x+s.width);s.x=Math.round(s.x),s.y=Math.round(s.y),s.width=p-s.x,s.height=d-s.y}}else s={x:0,y:0,width:0,height:0};return r.rotatable&&(s.rotate=n.rotate||0),r.scalable&&(s.scaleX=n.scaleX||1,s.scaleY=n.scaleY||1),s},setData:function(e){var r=this.options,n=this.imageData,o=this.canvasData,a={};if(this.ready&&!this.disabled&&ec(e)){var s=!1;r.rotatable&&$t(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,s=!0),r.scalable&&($t(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,s=!0),$t(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,s=!0)),s&&this.renderCanvas(!0,!0);var l=n.width/n.naturalWidth;$t(e.x)&&(a.left=e.x*l+o.left),$t(e.y)&&(a.top=e.y*l+o.top),$t(e.width)&&(a.width=e.width*l),$t(e.height)&&(a.height=e.height*l),this.setCropBoxData(a)}return this},getContainerData:function(){return this.ready?pr({},this.containerData):{}},getImageData:function(){return this.sized?pr({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,r={};return this.ready&&Dr(["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&&ec(e)&&($t(e.left)&&(r.left=e.left),$t(e.top)&&(r.top=e.top),$t(e.width)?(r.width=e.width,r.height=e.width/n):$t(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&&ec(e)&&($t(e.left)&&(r.left=e.left),$t(e.top)&&(r.top=e.top),$t(e.width)&&e.width!==r.width&&(o=!0,r.width=e.width),$t(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=Vet(this.image,this.imageData,r,e);if(!this.cropped)return n;var o=this.getData(e.rounded),a=o.x,s=o.y,l=o.width,d=o.height,p=n.width/Math.floor(r.naturalWidth);p!==1&&(a*=p,s*=p,l*=p,d*=p);var m=l/d,u=$s({aspectRatio:m,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),g=$s({aspectRatio:m,width:e.minWidth||0,height:e.minHeight||0},"cover"),_=$s({aspectRatio:m,width:e.width||(p!==1?n.width:l),height:e.height||(p!==1?n.height:d)}),b=_.width,w=_.height;b=Math.min(u.width,Math.max(g.width,b)),w=Math.min(u.height,Math.max(g.height,w));var x=document.createElement("canvas"),C=x.getContext("2d");x.width=lc(b),x.height=lc(w),C.fillStyle=e.fillColor||"transparent",C.fillRect(0,0,b,w);var D=e.imageSmoothingEnabled,O=D===void 0?!0:D,I=e.imageSmoothingQuality;C.imageSmoothingEnabled=O,I&&(C.imageSmoothingQuality=I);var N=n.width,E=n.height,M=a,j=s,z,$,L,H,U,W;M<=-l||M>N?(M=0,z=0,L=0,U=0):M<=0?(L=-M,M=0,z=Math.min(N,l+M),U=z):M<=N&&(L=0,z=Math.min(l,N-M),U=z),z<=0||j<=-d||j>E?(j=0,$=0,H=0,W=0):j<=0?(H=-j,j=0,$=Math.min(E,d+j),W=$):j<=E&&(H=0,$=Math.min(d,E-j),W=$);var B=[M,j,z,$];if(U>0&&W>0){var K=b/l;B.push(L*K,H*K,U*K,W*K)}return C.drawImage.apply(C,[n].concat(Y7(B.map(function(oe){return Math.floor(lc(oe))})))),x},setAspectRatio:function(e){var r=this.options;return!this.disabled&&!A1(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===J2,s=r.movable&&e===tD;e=a||s?e:rD,r.dragMode=e,Mu(n,Nu,e),tc(n,Vb,a),tc(n,qb,s),r.cropBoxMovable||(Mu(o,Nu,e),tc(o,Vb,a),tc(o,qb,s))}return this}},ott=ha.Cropper,dD=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(get(this,t),!e||!Aet.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=pr({},x6,ec(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 _et(t,[{key:"init",value:function(){var r=this.element,n=r.tagName.toLowerCase(),o;if(!r[dr]){if(r[dr]=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(Oet.test(r)){Det.test(r)?this.read(Jet(r)):this.clone();return}var s=new XMLHttpRequest,l=this.clone.bind(this);this.reloading=!0,this.xhr=s,s.onabort=l,s.onerror=l,s.ontimeout=l,s.onprogress=function(){s.getResponseHeader("content-type")!==S6&&s.abort()},s.onload=function(){n.read(s.response)},s.onloadend=function(){n.reloading=!1,n.xhr=null},a.checkCrossOrigin&&C6(r)&&o.crossOrigin&&(r=$6(r)),s.open("GET",r,!0),s.responseType="arraybuffer",s.withCredentials=o.crossOrigin==="use-credentials",s.send()}}},{key:"read",value:function(r){var n=this.options,o=this.imageData,a=Ket(r),s=0,l=1,d=1;if(a>1){this.url=Xet(r,S6);var p=Yet(a);s=p.rotate,l=p.scaleX,d=p.scaleY}n.rotatable&&(o.rotate=s),n.scalable&&(o.scaleX=l,o.scaleY=d),this.clone()}},{key:"clone",value:function(){var r=this.element,n=this.url,o=r.crossOrigin,a=n;this.options.checkCrossOrigin&&C6(n)&&(o||(o="anonymous"),a=$6(n)),this.crossOrigin=o,this.crossOriginUrl=a;var s=document.createElement("img");o&&(s.crossOrigin=o),s.src=a||n,s.alt=r.alt||"The image to crop",this.image=s,s.onload=this.start.bind(this),s.onerror=this.stop.bind(this),Br(s,f6),r.parentNode.insertBefore(s,r.nextSibling)}},{key:"start",value:function(){var r=this,n=this.image;n.onload=null,n.onerror=null,this.sizing=!0;var o=ha.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(ha.navigator.userAgent),a=function(p,m){pr(r.imageData,{naturalWidth:p,naturalHeight:m,aspectRatio:p/m}),r.initialImageData=pr({},r.imageData),r.sizing=!1,r.sized=!0,r.build()};if(n.naturalWidth&&!o){a(n.naturalWidth,n.naturalHeight);return}var s=document.createElement("img"),l=document.body||document.documentElement;this.sizingImage=s,s.onload=function(){a(s.width,s.height),o||l.removeChild(s)},s.src=n.src,o||(s.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;",l.appendChild(s))}},{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,s=document.createElement("div");s.innerHTML=Iet;var l=s.querySelector(".".concat(dr,"-container")),d=l.querySelector(".".concat(dr,"-canvas")),p=l.querySelector(".".concat(dr,"-drag-box")),m=l.querySelector(".".concat(dr,"-crop-box")),u=m.querySelector(".".concat(dr,"-face"));this.container=a,this.cropper=l,this.canvas=d,this.dragBox=p,this.cropBox=m,this.viewBox=l.querySelector(".".concat(dr,"-view-box")),this.face=u,d.appendChild(o),Br(r,An),a.insertBefore(l,r.nextSibling),ua(o,f6),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,Br(m,An),n.guides||Br(m.getElementsByClassName("".concat(dr,"-dashed")),An),n.center||Br(m.getElementsByClassName("".concat(dr,"-center")),An),n.background&&Br(l,"".concat(dr,"-bg")),n.highlight||Br(u,ket),n.cropBoxMovable&&(Br(u,qb),Mu(u,Nu,G2)),n.cropBoxResizable||(Br(m.getElementsByClassName("".concat(dr,"-line")),An),Br(m.getElementsByClassName("".concat(dr,"-point")),An)),this.render(),this.ready=!0,this.setDragMode(n.dragMode),n.autoCrop&&this.crop(),this.setData(n.data),On(n.ready)&&po(r,y6,n.ready,{once:!0}),cc(r,y6)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var r=this.cropper.parentNode;r&&r.removeChild(this.cropper),ua(this.element,An)}}},{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=ott,t}},{key:"setDefaults",value:function(r){pr(x6,ec(r)&&r)}}])})();pr(dD.prototype,Zet,Qet,ett,ttt,rtt,ntt);var fi=function(){return fi=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},fi.apply(this,arguments)};function N1(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}var att=["aspectRatio","autoCrop","autoCropArea","background","center","checkCrossOrigin","checkOrientation","cropBoxMovable","cropBoxResizable","data","dragMode","guides","highlight","initialAspectRatio","minCanvasHeight","minCanvasWidth","minContainerHeight","minContainerWidth","minCropBoxHeight","minCropBoxWidth","modal","movable","preview","responsive","restore","rotatable","scalable","toggleDragModeOnDblclick","viewMode","wheelZoomRatio","zoomOnTouch","zoomOnWheel","zoomable","cropstart","cropmove","cropend","crop","zoom","ready"],stt={opacity:0,maxWidth:"100%"};f.forwardRef((function(t,e){var r=N1(t,[]),n=r.dragMode,o=n===void 0?"crop":n,a=r.src,s=r.style,l=r.className,d=r.crossOrigin,p=r.scaleX,m=r.scaleY,u=r.enable,g=r.zoomTo,_=r.rotateTo,b=r.alt,w=b===void 0?"picture":b,x=r.ready,C=r.onInitialized,D=N1(r,["dragMode","src","style","className","crossOrigin","scaleX","scaleY","enable","zoomTo","rotateTo","alt","ready","onInitialized"]),O={scaleY:m,scaleX:p,enable:u,zoomTo:g,rotateTo:_},I=(function(){for(var E=[],M=0;M<arguments.length;M++)E[M]=arguments[M];var j=T.useRef(null);return f.useEffect((function(){E.forEach((function(z){z&&(typeof z=="function"?z(j.current):z.current=j.current)}))}),[E]),j})(e,T.useRef(null));T.useEffect((function(){var E;!((E=I.current)===null||E===void 0)&&E.cropper&&typeof g=="number"&&I.current.cropper.zoomTo(g)}),[r.zoomTo]),T.useEffect((function(){var E;!((E=I.current)===null||E===void 0)&&E.cropper&&a!==void 0&&I.current.cropper.reset().clear().replace(a)}),[a]),T.useEffect((function(){if(I.current!==null){var E=new dD(I.current,fi(fi({dragMode:o},D),{ready:function(M){M.currentTarget!==null&&(function(j,z){z===void 0&&(z={});var $=z.enable,L=$===void 0||$,H=z.scaleX,U=H===void 0?1:H,W=z.scaleY,B=W===void 0?1:W,K=z.zoomTo,oe=K===void 0?0:K,Z=z.rotateTo;L?j.enable():j.disable(),j.scaleX(U),j.scaleY(B),Z!==void 0&&j.rotateTo(Z),oe>0&&j.zoomTo(oe)})(M.currentTarget.cropper,O),x&&x(M)}}));C&&C(E)}return function(){var M,j;(j=(M=I.current)===null||M===void 0?void 0:M.cropper)===null||j===void 0||j.destroy()}}),[I]);var N=(function(E){return att.reduce((function(M,j){var z=M,$=j;return z[$],N1(z,[typeof $=="symbol"?$:$+""])}),E)})(fi(fi({},D),{crossOrigin:d,src:a,alt:w}));return f.createElement("div",{style:s,className:l},f.createElement("img",fi({},N,{style:stt,ref:I})))}));const ms={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},itt={once:"once"},sn={seconds:"seconds",minutes:"minutes"},T6=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function aa(t){return t<10?`0${t}`:`${t}`}const ltt={mode:"interval",interval:{period:1,unit:sn.minutes}};function uf(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),s=parseInt(o[1],10);for(let l=a;l<=s;l++)r.includes(l===7?0:l)||r.push(l===7?0:l)}else{n==="7"&&(n="0");const a=parseInt(n,10);r.includes(a)||r.push(a)}}),r.sort(),r}function uD(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:sn.minutes}}),n.seconds==="*"&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:1,unit:sn.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:sn.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:sn.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:sn.seconds,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:uf(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:sn.minutes,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:uf(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:`${aa(parseInt(n.hours,10))}:${aa(parseInt(n.minutes,10))}`,weekdays:uf(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:`${aa(parseInt(n.hours,10))}:${aa(parseInt(n.minutes,10))}`,date:`${aa(parseInt(n.date,10))}.${aa(parseInt(n.months,10))}`}}),o}class Ru extends f.Component{constructor(e){super(e);let r=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";r[0]==="{"&&(r="");const n=uD(r||"* * * * *",!0)||ltt;this.state={extended:!1,cron:Ru.state2cron(n),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:sn.minutes},intervalBetween:{period:1,unit:sn.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 s=0;s<e.length;s++)o===null?(o=e[s],a=e[s]):(e[s-1]+1===e[s]||(o!==a?n.push(`${o}-${a}`):n.push(o),o=e[s]),a=e[s]);return o!==a?n.push(`${o}-${a}`):n.push(o),n.join(",")}static text2weekdays(e){return uf(e)}static state2cron(e){let r="* * * * *";if(e.mode==="interval"){const n=e.interval||{period:1,unit:sn.minutes};if(n.period!==void 0&&n.period>60&&(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 sn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * * * * *`;break;case sn.minutes:r=`${n.period>1?`*/${n.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const n=e.intervalBetween||{period:1,unit:sn.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||sn.minutes,n.unit){case sn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * ${o} * * ${this.periodArray2text(n.weekdays)}`;break;case sn.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 s=parseInt(o[0],10)||0;s>23&&(s=59),s<0&&(s=0),r=`${a} ${s} * * ${this.periodArray2text(n.weekdays||[])}`}else if(e.mode==="once"){const n=e.once||{time:"00:00",date:""};n.date||(n.date=`${new Date().getDate()}.${aa(new Date().getMonth()+1)}`);const o=(n.time||"00:00").split(":"),a=n.date.split(".");let s=parseInt(o[1],10)||0;s>59&&(s=59),s<0&&(s=0);let l=parseInt(o[0],10)||0;l>23&&(l=59),l<0&&(l=0);let d=parseInt(a[0],10)||1;d>31&&(d=31),d<1&&(l=1);let p=parseInt(a[1],10)||1;p>12&&(p=12),p<1&&(p=1),r=`${s} ${l} ${d} ${p} *`}return r}recalcCron(){this.onChange(Ru.state2cron(this.state))}getControlsWeekdaysElements(e){const r=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return f.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},f.createElement("h5",null,A.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(n=>f.createElement(at,{key:T6[n],control:f.createElement(Ut,{checked:r.weekdays.includes(n),onChange:o=>{const a=JSON.parse(JSON.stringify(this.state[e])),s=a.weekdays.indexOf(n);o.target.checked?s===-1&&a.weekdays.push(n):s!==-1&&a.weekdays.splice(s,1),a.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:a},()=>this.recalcCron()):this.setState({specific:a},()=>this.recalcCron())},value:n.toString()}),label:A.t(T6[n])})))}getControlsPeriodElements(e){const r=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?f.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},f.createElement("h5",{style:{marginBottom:5}},A.t("sc_period")),f.createElement(Et,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:A.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"}),f.createElement(Et,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:A.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"})):f.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},f.createElement("h5",{style:{marginBottom:5}},A.t("sc_period")),f.createElement(Et,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:A.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"}),f.createElement(Ar,{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())}},f.createElement(pt,{value:"seconds"},A.t("sc_seconds")),")",f.createElement(pt,{value:"minutes"},A.t("sc_minutes")),")"))}getControlsTime(e){const r=e==="once"?this.state.once:this.state.specific;return f.createElement(mn,{variant:"standard",sx:{...ms.formControl,"&.MuiFormControl-root":ms.formControlMarginRight}},f.createElement(Et,{variant:"standard",key:"at",label:A.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()}.${aa(r.getMonth()+1)}`}return f.createElement(mn,{variant:"standard",style:ms.formControl},f.createElement(Et,{variant:"standard",key:"date",label:A.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:ms.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 f.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"),f.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},f.createElement("h5",{style:{marginBottom:5}},A.t("sc_hours")),f.createElement(mn,{variant:"standard",style:ms.formControl},f.createElement(nf,{shrink:!0,htmlFor:"age-label-placeholder"},A.t("sc_from")),f.createElement(Ar,{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=>f.createElement(pt,{key:`B_${r}`,value:r},`${aa(r)}:00`)))),f.createElement(mn,{variant:"standard",style:ms.formControl},f.createElement(nf,{shrink:!0,htmlFor:"age-label-placeholder"},A.t("sc_to")),f.createElement(Ar,{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=>f.createElement(pt,{key:`A_${r}`,value:r},`${aa(r)}:00`)),!e.timeFrom&&f.createElement(pt,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[f.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 f.createElement("div",{style:ms.mainDiv},f.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},f.createElement(Et,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),f.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?A.t("sc_invalid_cron"):m7(this.state.cron,this.props.language||"en")),f.createElement("div",null,f.createElement(mn,{variant:"standard",style:{...ms.formControl,marginLeft:8,marginTop:8}},f.createElement(nf,null,A.t("ra_Repeat")),f.createElement(Ar,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},f.createElement(pt,{value:"once"},A.t("sc_once")),f.createElement(pt,{value:"interval"},A.t("sc_interval")),f.createElement(pt,{value:"intervalBetween"},A.t("sc_intervalBetween")),f.createElement(pt,{value:"specific"},A.t("sc_specific"))))),this.state.mode===itt.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const ctt={dialogPaper:{height:"calc(100% - 96px)"}};class z1t extends f.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=xs.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?f.createElement(h9,{title:A.t("ra_Please confirm"),text:A.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 f.createElement(qt,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":ctt.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),f.createElement(Gt,{id:"cron-dialog-title"},this.props.title||A.t("ra_Define schedule...")),f.createElement(Qt,{style:{height:"100%",overflow:"hidden"}},f.createElement(xs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()})),f.createElement(Zt,null,!!this.props.clearButton&&f.createElement(Ue,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:f.createElement(Es,null)},this.props.clear||A.t("ra_Clear")),f.createElement(Ue,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:f.createElement(Xr,null)},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}const dtt={dialogPaper:{height:"calc(100% - 96px)"}};class P1t extends f.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":uD(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 f.createElement(qt,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":dtt.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},f.createElement(Gt,{id:"cron-dialog-title"},this.props.title||A.t("ra_Define schedule...")),f.createElement(Qt,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?f.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&f.createElement(f.Fragment,null,f.createElement(rr,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),f.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},A.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&f.createElement(f.Fragment,null,f.createElement(rr,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),f.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},A.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&f.createElement(f.Fragment,null,f.createElement(rr,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),f.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},A.t("sc_cron")))):null,this.state.mode==="simple"&&f.createElement(Ru,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()}),this.state.mode==="wizard"&&f.createElement(Ur,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&f.createElement(xs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()})),f.createElement(Zt,null,f.createElement(Ue,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:f.createElement(Xr,null)},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}class tp extends T.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return f.createElement(qt,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},f.createElement(Gt,{id:"ar_dialog_message_title"},this.props.title||A.t("ra_Message")),f.createElement(Qt,null,f.createElement(Ma,{id:"ar_dialog_message_description"},f.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),f.createElement(Zt,null,f.createElement(Ue,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:f.createElement(Vt,null)},this.props.ok||A.t("ra_Close"))))}}const li={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 L1t extends f.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const r=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(r)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let n=this.props.selected||[];typeof n!="object"?n=[n]:n=[...n],n=n.filter(o=>o),this.state={selected:n}}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 e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:li.headerID},this.state.selected)]:e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:li.headerID},A.t("%s items",this.state.selected.length))]:e=this.props.title||A.t("ra_Please select file..."),f.createElement(qt,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...li.dialog,...li.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},f.createElement(Gt,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":li.titleRoot}},e),f.createElement(Qt,{style:{...li.content,...li.contentMobile}},f.createElement(VZe,{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:(r,n,o)=>{this.setState({selected:Array.isArray(r)?r:[r]},()=>n&&(!this.props.selectOnlyFolders||o)&&this.handleOk())},t:this.props.t||A.t,lang:this.props.lang||A.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})),f.createElement(Zt,null,f.createElement(Ue,{variant:"contained",onClick:()=>this.handleOk(),startIcon:f.createElement(Xr,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}const utt={dialogPaper:{height:"calc(100% - 96px)"}};class F1t extends f.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 f.createElement(qt,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":utt.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},f.createElement(Gt,{id:"cron-dialog-title"},this.props.title||A.t("ra_Define CRON...")),f.createElement(Qt,{style:{height:"100%",overflow:"hidden"}},f.createElement(Ru,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()})),f.createElement(Zt,null,f.createElement(Ue,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:f.createElement(Xr,null)},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}const pn={tab:{width:"100%",minHeight:"100%"},input:{minWidth:300},button:{marginRight:20,marginBottom:40},card:{maxWidth:345,textAlign:"center"},media:{height:180},column:{display:"inline-block",verticalAlign:"top",marginRight:20},columnLogo:{width:350,marginRight:0},columnSettings:{width:"calc(100% - 370px)"},hintUnsaved:{fontSize:12,color:"red",fontStyle:"italic"}};let ptt=class pD extends T.Component{constructor(e){super(e),this.state={inAction:!1,toast:"",isInstanceAlive:!1},this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(r=>this.setState({isInstanceAlive:!!r?.val}))}componentDidMount(){this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged)}componentWillUnmount(){this.props.socket.unsubscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged)}onAliveChanged=(e,r)=>{e===`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`&&this.setState({isInstanceAlive:!!r?.val})};static checkPassword(e){return e=(e||"").toString(),e.length<8||!e.match(/[a-z]/)||!e.match(/[A-Z]/)||!e.match(/\d/)?A.t("invalid_password_warning"):!1}renderInput(e,r,n,o){const a=r==="pass"&&pD.checkPassword(this.props.native[r]);return y.jsx(Et,{variant:"standard",label:A.t(e),error:!!a,autoComplete:o||"",style:pn.input,value:this.props.native[r],type:n||"text",helperText:a||"",onChange:s=>this.props.onChange(r,s.target.value),margin:"normal"})}renderCard(){return y.jsxs(gL,{style:pn.card,children:[y.jsxs(wL,{children:[y.jsx(RL,{style:pn.media,image:"alexalogo.png",title:"Alexa logo"}),y.jsx(OL,{children:ee.renderTextWithA(A.t("amazon link"))})]}),y.jsxs(CL,{style:{textAlign:"center"},children:[y.jsx(Ue,{variant:"outlined",size:"small",color:"primary",style:{textAlign:"center"},onClick:()=>{window.open("https://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews","_blank")?.focus()},children:A.t("Review")}),this.props.native.amazonAlexa?y.jsx(Ue,{color:"grey",title:"Debug",onClick:()=>this.onDebug(),style:{opacity:this.state.debugVisible?1:0},onMouseEnter:()=>this.setState({debugVisible:!0}),onMouseLeave:()=>this.setState({debugVisible:!1}),children:A.t("Debug")}):null]})]})}onDebug(){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"debug",null).then(e=>{const r=new Blob([JSON.stringify(e,null,2)],{type:"application/json"});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(r,"debug.json");else{const n=document.createElement("a"),o=URL.createObjectURL(r);n.href=o,n.download="debug.json",document.body.appendChild(n),n.click(),setTimeout(()=>{document.body.removeChild(n),window.URL.revokeObjectURL(o)},0)}})}async resetCerts(e){this.setState({inAction:!0});const r={inAction:!1};try{const n=`iot.${this.props.instance}.certs.`;await this.props.socket.setState(`${n}private`,{val:"",ack:!0}),await this.props.socket.setState(`${n}id`,{val:"",ack:!0}),await this.props.socket.setState(`${n}public`,{val:"",ack:!0}),await this.props.socket.setState(`${n}certificate`,{val:"",ack:!0}),e&&await this.props.socket.setState(`${n}forceUserCreate`,{val:!0,ack:!0});const o=await this.props.socket.getObject(`system.adapter.iot.${this.props.instance}`);o?.common?.enabled&&await this.props.socket.setObject(o._id,o),r.toast=A.t("Certificates will be updated after start")}catch(n){this.props.onError(n)}this.setState(r)}renderToast(){return this.state.toast?y.jsx(ku,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),slotProps:{content:{"aria-describedby":"message-id"}},message:y.jsx("span",{id:"message-id",children:this.state.toast}),action:[y.jsx(Le,{"aria-label":"Close",color:"inherit",style:pn.close,onClick:()=>this.setState({toast:""}),children:y.jsx(R7,{})},"close")]}):null}renderCheckbox(e,r,n){return y.jsx(at,{style:{...pn.controlElement,paddingTop:5,...n},control:y.jsx(Ut,{checked:!!this.props.native[r],onChange:()=>this.props.onChange(r,!this.props.native[r]),color:"primary"}),label:A.t(e)},r)}render(){return y.jsxs("form",{style:pn.tab,children:[y.jsx(U2,{instance:this.props.instance,common:this.props.common,native:this.props.native,onError:e=>window.alert(e),onLoad:this.props.onLoad}),y.jsxs("div",{style:{...pn.column,...pn.columnSettings},children:[this.renderInput("ioBroker.pro Login","login","text","username"),y.jsx("br",{}),this.renderInput("ioBroker.pro Password","pass","password","current-password"),y.jsx("br",{}),this.renderCheckbox("Amazon AlexaV3","amazonAlexaV3"),this.renderCheckbox("Amazon Alexa (deprecated)","amazonAlexa"),y.jsx(at,{style:{...pn.controlElement,marginTop:5},control:y.jsx(Ut,{checked:this.props.native.googleHome,onChange:()=>{const e=!this.props.native.googleHome;this.props.onChange("googleHome",e)},color:"primary"}),label:A.t("Google Home")},"googleHome"),this.renderCheckbox("Yandex Алиса","yandexAlisa"),y.jsx("br",{}),y.jsx("p",{children:A.t("new_certs_tip")}),this.props.changed?y.jsx("div",{style:pn.hintUnsaved,children:A.t("Save settings before pressing this button")}):null,y.jsx(Ue,{variant:"outlined",style:pn.button,disabled:this.props.changed||this.state.inAction||!this.state.isInstanceAlive,title:this.state.isInstanceAlive?"":A.t("Instance must be enabled"),onClick:()=>this.resetCerts(),startIcon:y.jsx(Ti,{}),color:"grey",children:A.t("Get new connection certificates")}),y.jsx("p",{children:A.t("new_credentials_tip")}),this.props.changed?y.jsx("div",{style:pn.hintUnsaved,children:A.t("Save settings before pressing this button")}):null,y.jsx(Ue,{variant:"outlined",color:"grey",style:pn.button,disabled:this.props.changed||this.state.inAction||!this.state.isInstanceAlive,title:this.state.isInstanceAlive?"":A.t("Instance must be enabled"),onClick:()=>this.resetCerts(!0),startIcon:y.jsx(Ti,{}),children:A.t("Create IoT credentials anew")}),y.jsx("p",{children:ee.renderTextWithA(A.t("forum_tip"))}),y.jsx("p",{style:{fontWeight:"bold"},children:ee.renderTextWithA(A.t("help_tip"))}),y.jsx("p",{style:{fontWeight:"bold",paddingTop:20},children:ee.renderTextWithA(A.t("help_link_tip1"))}),y.jsx("p",{style:{fontWeight:"bold"},children:ee.renderTextWithA(A.t("help_link_tip2"))}),y.jsx("p",{style:{fontWeight:"bold",color:"red"},children:ee.renderTextWithA(A.t("help_link_tip3"))})]}),y.jsx("div",{style:{...pn.column,...pn.columnLogo},children:this.renderCard()}),this.renderToast()]})}};const Do={tab:{display:"flex",flexDirection:"column",gap:8},input:{marginTop:0,minWidth:300,maxWidth:500},controlElement:{marginBottom:5}};class htt extends T.Component{constructor(e){super(e),this.state={showSelectId:!1,adminInstances:[],webInstances:[]}}componentDidMount(){this.props.socket.getAdapterInstances("admin").then(e=>{const r=e.filter(n=>!n.native.auth).map(n=>({title:`${n.common.name}.${n._id.split(".").pop()}`,value:`${n.common.name}.${n._id.split(".").pop()}`,noTranslation:!0}));return r.unshift({title:"disabled",value:""}),this.props.socket.getAdapterInstances("web").then(n=>{const o=n.filter(a=>!a.native.auth).map(a=>({title:`${a.common.name}.${a._id.split(".").pop()}`,value:`${a.common.name}.${a._id.split(".").pop()}`,noTranslation:!0}));o.unshift({title:"disabled",value:""}),this.setState({adminInstances:r,webInstances:o})})})}renderInput(e,r,n,o,a){return y.jsx(Et,{variant:"standard",label:A.t(e),disabled:o,style:{...Do.input,...Do.controlElement},value:this.props.native[r],type:n||"text",helperText:a?A.t(a):"",onChange:s=>this.props.onChange(r,s.target.value),margin:"normal"})}renderSelect(e,r,n,o){return y.jsxs(mn,{style:{...Do.input,...Do.controlElement,paddingTop:5,paddingRight:8,...o},variant:"standard",children:[y.jsx(Ar,{variant:"standard",value:this.props.native[r]||"_",onChange:a=>this.props.onChange(r,a.target.value==="_"?"":a.target.value),input:y.jsx(In,{name:r,id:`${r}-helper`}),children:n.map(a=>y.jsx(pt,{value:a.value||"_",children:a.noTranslation?a.title:A.t(a.title)},`key-${a.value}`))}),y.jsx(Ro,{children:A.t(e)})]})}renderCheckbox(e,r,n){return y.jsx(at,{style:{...Do.controlElement,paddingTop:5,...n},control:y.jsx(Ut,{checked:!!this.props.native[r],onChange:()=>this.props.onChange(r,!this.props.native[r]),color:"primary"}),label:A.t(e)},r)}getSelectIdDialog(e){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:this.props.native[e],types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:r=>{this.setState({showSelectId:!1}),this.props.onChange(e,r)}},"dialogSelectID2"):null}render(){return y.jsxs("form",{style:Do.tab,children:[this.renderSelect("Language","language",[{title:"default",value:""},{title:"english",value:"en",noTranslation:!0},{title:"Deutsch",value:"de",noTranslation:!0},{title:"русский",value:"ru",noTranslation:!0}]),this.renderCheckbox("Place function in names first","functionFirst"),this.renderInput("Concatenate words with","concatWord"),this.props.native.amazonAlexaV3?y.jsxs(mn,{style:{...Do.input,...Do.controlElement,paddingTop:5,paddingRight:8},variant:"standard",children:[y.jsxs(Ar,{variant:"standard",value:this.props.native.defaultToggle?"true":"false",onChange:e=>this.props.onChange("defaultToggle",e.target.value==="true"),children:[y.jsx(pt,{value:"false",children:A.t("Do not toggle")}),y.jsx(pt,{value:"true",children:A.t("Toggle")})]}),y.jsx(Ro,{children:A.t("Default toggle behaviour (Only alexa v3)")})]}):null,this.renderInput("OFF level for switches in %","deviceOffLevel","text",!1,"(Set to 0 if behavior not desired)"),y.jsxs("div",{style:Do.controlElement,children:[this.renderInput("Write response to","responseOID"),y.jsx(Yt,{size:"small",color:"secondary",onClick:()=>this.setState({showSelectId:!0}),"aria-label":"Add",style:{marginLeft:5,marginTop:10},children:y.jsx($i,{})})]}),y.jsxs("div",{style:Do.controlElement,children:[this.renderCheckbox("Personal settings (only pro)","noCommon"),y.jsx(Ro,{children:ee.renderTextWithA(A.t("help_tip"))})]}),this.renderCheckbox("Debug outputs","debug"),y.jsxs("div",{style:Do.controlElement,children:[this.renderCheckbox("Allow remote access","remote"),this.props.native.remote?this.renderSelect("Admin instance","remoteAdminInstance",this.state.adminInstances,{width:120,minWidth:120}):null,this.props.native.remote?this.renderSelect("Web instance","remoteWebInstance",this.state.webInstances,{width:120,minWidth:120}):null]}),this.getSelectIdDialog("responseOID")]})}}const Kt={tab:{width:"100%",minHeight:"100%"},input:{marginTop:0,minWidth:400},fullSize:{width:"calc(100% - 64px)"},normalSize:{width:"calc(30% - 64px)",marginLeft:10},controlElement:{marginBottom:5},chips:{border:"1px solid #DDD",borderRadius:1,width:"calc(100% - 250px)",display:"inline-block",padding:5,minHeight:32,marginLeft:10,marginTop:20},chip:{marginRight:5}};class ftt extends T.Component{constructor(e){super(e),this.state={running:!1,toast:"",showSelectId:!1,text2commandList:[],nightscoutList:[],addValue:"",isInstanceAlive:!1},this.props.socket.getAdapterInstances("text2command").then(r=>this.props.socket.getAdapterInstances("nightscout").then(n=>this.setState({nightscoutList:n.map(o=>o._id.replace("system.adapter.nightscout.","")),text2commandList:r.map(o=>o._id.replace("system.adapter.text2command.",""))})))}componentDidMount(){this.props.socket.subscribeState(`iot.${this.props.instance}.certs.urlKey`,this.onKeyChanged),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(e=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(r=>this.setState({isInstanceAlive:!!e?.common&&!!r?.val})))}componentWillUnmount(){this.props.socket.unsubscribeState(`iot.${this.props.instance}.certs.urlKey`,this.onKeyChanged)}onKeyChanged=(e,r)=>{r&&this.setState({key:r.val})};renderInput(e,r,n){return y.jsx(Et,{variant:"standard",label:A.t(e),style:{...Kt.input,...Kt.controlElement},value:this.props.native[r],type:n||"text",onChange:o=>this.props.onChange(r,o.target.value),margin:"normal"})}reissueUrlKey(){return this.setState({running:!0}),this.props.socket.setState(`iot.${this.props.instance}.certs.urlKey`,{val:"",ack:!0}).then(()=>this.props.socket.getObject(`system.adapter.iot.${this.props.instance}`)).then(e=>{!e||!e.common||!e.common.enabled?this.setState({running:!1,toast:A.t("Key will be updated after start")}):this.props.socket.setObject(`system.adapter.iot.${this.props.instance}`,e)}).then(()=>this.setState({running:!1,toast:A.t("Certificates will be updated after initiated restart")})).catch(e=>{this.setState({running:!1}),this.props.onError(e)})}renderToast(){return this.state.toast?y.jsx(ku,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),slotProps:{content:{"aria-describedby":"message-id"}},message:y.jsx("span",{id:"message-id",children:this.state.toast}),action:[y.jsx(Le,{"aria-label":"Close",color:"inherit",style:Kt.close,onClick:()=>this.setState({toast:""}),children:y.jsx(R7,{})},"close")]}):null}onChipsDelete(e,r){const n=(this.props.native[e]||"").split(/[,;\s]/).filter(a=>!!a),o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.props.onChange(e,n.join(" ")))}onChipsAdd(e){const r=(this.props.native[e]||"").split(/[,;\s]/).filter(n=>!!n);this.state.addValue==="visu"?(this.props.onError(A.t("This service is reserved for the ioBroker.visu app. Please use another service name.")),this.setState({addValue:""})):!r.includes(this.state.addValue)&&this.state.addValue&&(r.push(this.state.addValue),this.setState({addValue:""},()=>this.props.onChange(e,r.join(" "))))}calcNightscoutSecret(){const e=this.props.native.login.replace(/[^\w\d-_]/g,"_"),r=this.props.native.nightscoutPass;return e+(r?`-${r}`:"")}getSelectIdDialog(e){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:this.props.native[e],types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:r=>{this.setState({showSelectId:!1}),this.props.onChange(e,r)}},"dialogSelectID3"):null}renderChips(e,r){return y.jsxs("div",{style:Kt.chipsDiv,children:[y.jsx(Ro,{children:ee.renderTextWithA(A.t(e))}),y.jsx(Et,{variant:"standard",label:A.t("Add service"),style:{width:150},type:"text",value:this.state.addValue,onKeyUp:n=>n.key==="Enter"&&this.onChipsAdd(r),onChange:n=>this.setState({addValue:n.target.value.trim()}),margin:"normal"}),y.jsx(Yt,{size:"small",color:"secondary",disabled:!this.state.addValue,onClick:()=>this.onChipsAdd(r),style:{marginLeft:5,marginTop:-15},children:y.jsx($i,{})}),y.jsx("div",{style:Kt.chips,children:(this.props.native[r]||"").split(/[,;\s]/).filter(n=>!!n).map(n=>y.jsx(CP,{size:"small",label:n,onDelete:()=>this.onChipsDelete(r,n),style:Kt.chip},n))})]})}render(){return y.jsxs("form",{style:Kt.tab,children:[y.jsx(Ue,{variant:"outlined",disabled:!this.state.isInstanceAlive||this.state.running,color:"primary",title:this.state.isInstanceAlive?"":A.t("Instance must be enabled"),onClick:()=>this.reissueUrlKey(),startIcon:y.jsx(Ti,{}),children:A.t("Get new service URL key")}),y.jsx("br",{}),this.renderInput("IFTTT key","iftttKey"),y.jsx("br",{}),y.jsx(Et,{variant:"standard",label:A.t("Use following link for IFTTT"),style:{...Kt.input,...Kt.controlElement,...Kt.fullSize,marginTop:10},value:`https://service.iobroker.in/v1/iotService?service=ifttt&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}`,type:"text",slotProps:{htmlInput:{readOnly:!0}},margin:"normal"}),y.jsx(Yt,{size:"small",style:{marginTop:10,marginLeft:5},onClick:()=>ee.copyToClipboard(`https://service.iobroker.in/v1/iotService?service=ifttt&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}`),children:y.jsx(bs,{})}),y.jsx("br",{}),y.jsx("br",{}),this.renderChips("White list for services","allowedServices"),y.jsx("br",{}),y.jsx(Et,{variant:"standard",label:A.t("Use following link for custom service"),style:{...Kt.input,...Kt.controlElement,...Kt.fullSize,marginTop:10},value:`https://service.iobroker.in/v1/iotService?service=custom_<SERVICE_NAME>&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}&data=<SOME_TEXT>`,type:"text",slotProps:{htmlInput:{readOnly:!0}},margin:"normal"}),y.jsx(Yt,{size:"small",style:{marginTop:10,marginLeft:5},onClick:()=>ee.copyToClipboard(`https://service.iobroker.in/v1/iotService?service=custom_<SERVICE_NAME>&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}&data=<SOME_TEXT>`),children:y.jsx(bs,{})}),y.jsx("br",{}),y.jsxs(mn,{style:{...Kt.input,...Kt.controlElement,paddingTop:20},variant:"standard",children:[y.jsxs(Ar,{variant:"standard",value:this.props.native.text2command||"_",onChange:e=>this.props.onChange("text2command",e.target.value==="_"?"":e.target.value),input:y.jsx(In,{name:"text2command",id:"text2command-helper"}),children:[y.jsx(pt,{value:"_",children:A.t("disabled")},"key-default"),this.state.text2commandList.map(e=>y.jsxs(pt,{value:e,children:["text2command.",e]},`key-${e}`))]}),y.jsx(Ro,{children:A.t("Use text2command instance")})]}),y.jsx("br",{}),y.jsxs(mn,{style:{...Kt.input,...Kt.controlElement,paddingTop:20},variant:"standard",children:[y.jsxs(Ar,{variant:"standard",value:this.props.native.nightscout||"_",onChange:e=>this.props.onChange("nightscout",e.target.value==="_"?"":e.target.value),input:y.jsx(In,{name:"nightscout",id:"nightscout-helper"}),children:[y.jsx(pt,{value:"_",children:A.t("disabled")},"key-default"),this.state.nightscoutList.map(e=>y.jsxs(pt,{value:e,children:["nightscout.",e]},`key-${e}`))]}),y.jsx(Ro,{children:A.t("Use Nightscout instance")})]}),this.props.native.nightscout?y.jsx(Et,{variant:"standard",label:A.t("Nightscout password"),onChange:e=>this.props.onChange("nightscoutPass",e.target.value.replace(/[^\w\d-_]/g,"_")),style:{...Kt.input,...Kt.controlElement,...Kt.normalSize,marginTop:3.5},value:this.props.native.nightscoutPass,type:"text",margin:"normal"}):null,this.props.native.nightscout?y.jsx(Et,{variant:"standard",label:A.t("Nightscout api-secret"),style:{...Kt.input,...Kt.controlElement,...Kt.normalSize,marginTop:3.5},value:this.calcNightscoutSecret(),type:"text",slotProps:{htmlInput:{readOnly:!0}},margin:"normal"}):null,y.jsx("br",{}),y.jsx("br",{}),y.jsxs("div",{style:Kt.controlElement,children:[y.jsx(Et,{variant:"standard",label:A.t("Read blood sugar from"),style:{...Kt.input,...Kt.controlElement},value:this.props.native.amazonAlexaBlood||"",type:"text",onChange:e=>this.props.onChange("amazonAlexaBlood",e.target.value),margin:"normal"}),y.jsx(Yt,{size:"small",color:"secondary",onClick:()=>this.setState({showSelectId:!0}),"aria-label":"Add",style:{marginLeft:5,marginTop:10},children:y.jsx($i,{})}),y.jsx(at,{style:Kt.controlElement,control:y.jsx(Ut,{style:{paddingLeft:30},checked:this.props.native.amazonAlexaBloodShortAnswer||!1,onChange:e=>this.props.onChange("amazonAlexaBloodShortAnswer",e.target.checked),color:"primary"}),label:A.t("Short answer for blood sugar")})]}),y.jsx("br",{}),this.renderToast(),this.getSelectIdDialog("amazonAlexaBlood")]})}}const mtt="#e7000040",Hn={tab:{width:"100%",height:"100%"},column:{display:"inline-block",verticalAlign:"top",marginRight:10,height:"100%",overflow:"hidden",width:"calc(50% - 20px)",minWidth:300,maxWidth:450},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},enumLineEnabled:{},enumLineEdit:{},enumLineName:{},enumLineSubName:{fontStyle:"italic"},enumLine:{height:48,width:"100%",position:"relative",display:"flex",alignItems:"center"},enumLineId:{display:"block",fontStyle:"italic",fontSize:12},columnHeader:t=>({background:t.palette.primary.light,padding:"10px",color:t.palette.primary.contrastText,marginTop:0,marginBottom:0})};class gtt extends T.Component{constructor(e){super(e),this.state={inAction:!1,editId:"",editedSmartName:"",funcs:[],rooms:[],changed:[],message:"",loading:!0},this.props.socket.getEnums().then(r=>{const n=[],o=[];return r&&Object.keys(r).forEach(a=>{a.match(/^enum\.rooms\./)?o.push(r[a]):a.match(/^enum\.functions\./)&&n.push(r[a])}),this.setState({funcs:n,rooms:o,loading:!1}),this.props.socket.subscribeObject("enum.*",this.onEnumUpdate)})}componentWillUnmount(){this.props.socket.unsubscribeObject("enum.*",this.onEnumUpdate).then(()=>{})}onEnumUpdate=(e,r)=>{this.removeChanged(e),this.updateObjInState(e,r)};informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e){const r=JSON.parse(JSON.stringify(this.state.changed));r.includes(e)||(r.push(e),this.setState({changed:r}))}removeChanged(e){const r=JSON.parse(JSON.stringify(this.state.changed)),n=r.indexOf(e);n!==-1&&(r.splice(n,1),this.setState({changed:r}))}updateObjInState(e,r){if(e.match(/^enum\.functions\./)){for(let n=this.state.funcs.length-1;n>=0;n--)if(this.state.funcs[n]._id===e){const o=JSON.parse(JSON.stringify(this.state.funcs));r?o[n]=r:o.splice(n,1),this.setState({funcs:o});break}}else if(e.match(/^enum\.rooms\./)){for(let n=this.state.rooms.length-1;n>=0;n--)if(this.state.rooms[n]._id===e){const o=JSON.parse(JSON.stringify(this.state.rooms));r?o[n]=r:o.splice(n,1),this.setState({rooms:o});break}}}onToggleEnum(e){let r=this.state.funcs.find(o=>o._id===e)||this.state.rooms.find(o=>o._id===e);if(!r)return;const n=ee.getSmartNameFromObj(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);r=JSON.parse(JSON.stringify(r)),n!==!1?ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon):ee.removeSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(e),this.props.socket.setObject(e,r).then(()=>{this.updateObjInState(e,r),this.informInstance(e),setTimeout(()=>this.removeChanged(e),500)})}onEdit(e){const r=this.state.funcs.find(o=>o._id===e)||this.state.rooms.find(o=>o._id===e);if(!r)return;let n=ee.getSmartNameFromObj(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);typeof n=="object"&&n&&(n=n[A.getLanguage()]||n.en),n||=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()}),this.setState({editId:e,editedSmartName:n})}renderEnum(e){let r=ee.getSmartNameFromObj(e,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);r&&typeof r=="object"&&(r=r[A.getLanguage()]||r.en||"");const n=ee.getObjectNameFromObj(e,null,{language:A.getLanguage()});return y.jsxs("div",{style:{...Hn.enumLine,background:this.state.changed.indexOf(e._id)!==-1?mtt:"inherit"},children:[y.jsxs("div",{style:{marginLeft:8},children:[y.jsxs("span",{style:{...Hn.enumLineName,opacity:r===!1?.5:1},children:[r||null,r?y.jsxs("span",{style:Hn.enumLineSubName,children:[" (",n,")"]}):n]}),y.jsx("span",{style:{...Hn.enumLineId,opacity:r===!1?.5:1},children:e._id})]}),y.jsx("div",{style:{flex:1}}),y.jsx(Le,{"aria-label":"Edit",style:Hn.enumLineEdit,onClick:()=>this.onEdit(e._id),children:y.jsx(Wm,{fontSize:"large"})}),y.jsx(Ud,{style:Hn.enumLineEnabled,checked:r!==!1,onChange:()=>this.onToggleEnum(e._id)})]},e._id)}renderEnums(e){return this.state[e].map(r=>this.renderEnum(r))}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(){if((this.state.editId.startsWith("enum.functions.")?this.state.funcs:this.state.rooms).find(r=>this.state.editId!==r._id&&(this.state.editedSmartName===ee.getObjectNameFromObj(r,A.getLanguage())||this.state.editedSmartName===ee.getSmartNameFromObj(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon))))this.setState({message:A.t("Duplicate name")});else{this.addChanged(this.state.editId),setTimeout(()=>this.removeChanged(this.state.editId),500);const r=this.state.editId;this.setState({editId:""});let n;this.props.socket.getObject(r).then(o=>{if(o)return ee.updateSmartName(o,this.state.editedSmartName,void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),n=o,this.props.socket.setObject(r,o)}).then(()=>{this.updateObjInState(r,n),this.informInstance(r)}).catch(o=>this.props.onError(o))}}renderEditDialog(){if(this.state.editId){const e=this.state.funcs.find(r=>r._id===this.state.editId)||this.state.rooms.find(r=>r._id===this.state.editId);return y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({editId:""}),"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",ee.getObjectNameFromObj(e,A.getLanguage()))}),y.jsx(Qt,{children:y.jsx(Et,{variant:"standard",autoFocus:!0,style:{width:"100%"},label:A.t("Smart name"),onChange:r=>this.setState({editedSmartName:r.target.value}),value:this.state.editedSmartName,helperText:A.t("You can enter several names divided by comma"),margin:"normal"})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{color:"grey",variant:"contained",onClick:()=>this.setState({editId:""}),startIcon:y.jsx(Vt,{}),children:A.t("Cancel")})]})]})}return null}render(){return this.state.loading?y.jsx(Gr,{}):y.jsxs("form",{style:Hn.tab,children:[y.jsxs("div",{style:Hn.column,children:[y.jsx(Xe,{component:"h5",sx:Hn.columnHeader,children:A.t("Rooms")}),y.jsx("div",{style:Hn.columnDiv,children:this.renderEnums("rooms")})]}),y.jsxs("div",{style:Hn.column,children:[y.jsx(Xe,{component:"h5",sx:Hn.columnHeader,children:A.t("Functions")}),y.jsx("div",{style:Hn.columnDiv,children:this.renderEnums("funcs")})]}),this.renderMessage(),this.renderEditDialog()]})}}const Wh="#aba613",Hh="#444",Ld="#00c6ff",M1="#00bc00",Uh="#e7000040",Vh="#4f4f4f",qh="#e9e9e9",Gh="#5c8f65",Jh="#b4ffbe",Zo={turnOn:{color:Wh,icon:jb,desc:"Turn on",v2:!0},turnOff:{color:Hh,icon:jb,desc:"Turn off",v2:!0},setTargetTemperature:{color:Ld,icon:M7,desc:"Set target temperature",v2:!0},incrementTargetTemperature:{color:Wh,icon:ic,desc:"Increment target temperature",v2:!0},decrementTargetTemperature:{color:Hh,icon:sc,desc:"Decrement target temperature",v2:!0},setPercentage:{color:Ld,icon:N7,desc:"Set percentage",v2:!0},incrementPercentage:{color:Wh,icon:ic,desc:"Increment percentage",v2:!0},decrementPercentage:{color:Hh,icon:sc,desc:"Decrement percentage",v2:!0},setColor:{color:Ld,icon:I7,desc:"Set color",v2:!0},setColorTemperature:{color:Ld,icon:Au,desc:"Set color temperature",v2:!0},incrementColorTemperature:{color:Wh,icon:ic,desc:"Increment color temperature",v2:!0},decrementColorTemperature:{color:Hh,icon:sc,desc:"Decrement color temperature",v2:!0},getTargetTemperature:{color:M1,icon:uu,desc:"Get target temperature",v2:!0},getTemperatureReading:{color:M1,icon:uu,desc:"Get actual temperature",v2:!0},setLockState:{color:Ld,icon:Vf,desc:"Set lock state",v2:!0},getLockState:{color:M1,icon:Vf,desc:"Read lock state",v2:!0}},Xh=["LIGHT","SWITCH","THERMOSTAT","ACTIVITY_TRIGGER","SCENE_TRIGGER","SMARTPLUG","SMARTLOCK","CAMERA"],Ct={tab:{width:"100%",height:"100%"},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},button:{marginRight:20},devLineExpand:{marginRight:10},devLineEdit:{position:"absolute",top:5,right:50},devLineDelete:{position:"absolute",top:5,right:0},devLineName:{},devLineNumber:{display:"inline-block",verticalAlign:"middle",width:15},editedId:{fontStyle:"italic"},devLine:{height:48,width:"100%",position:"relative"},devLineDescription:{display:"block",fontStyle:"italic",fontSize:12},devLineActions:{fontStyle:"italic",fontSize:12,paddingLeft:50,display:"inline-block"},devLineProgress:{position:"absolute",top:0,left:0},channelLineActions:{width:80},devLineNameBlock:{display:"inline-block",width:"calc(100% - 350px)"},devModified:{fontStyle:"italic"},actionIcon:{width:16},devSubLine:{position:"relative",height:48},devSubLineName:{marginLeft:5,marginTop:14,display:"inline-block",fontSize:13,width:"calc(100% - 400px)"},devSubSubLineName:{fontSize:8,fontStyle:"italic",display:"block"},devSubLineByOn:{marginLeft:5},devSubLineDelete:{position:"absolute",top:12,right:12,padding:0},devSubLineTypeTitle:{marginTop:0},headerRow:t=>({pl:1,background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"100%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"100%"}};class Ss extends T.Component{constructor(e){super(e),Zo.translated||(Object.keys(Zo).forEach(r=>Zo[r].desc=A.t(Zo[r].desc)),Zo.translated=!0),this.state={edit:null,deleteId:"",showListOfDevices:!1,showSelectId:!1,showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:[],lastChanged:""},this.timerChanged=null,this.browseTimer=null,this.browseTimerCount=0,this.waitForUpdateID=null,this.onReadyUpdateBound=this.onReadyUpdate.bind(this),this.onResultUpdateBound=this.onResultUpdate.bind(this),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(r=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(n=>{!r||!r.common||!r.common.enabled&&(!n||!n.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[]}):this.browse()}))}browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),console.log("Send BROWSE!"),this.browseTimer=setTimeout(()=>{console.log("Browse timeout!"),this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browse",null).then(r=>{this.browseTimer&&clearTimeout(this.browseTimer),this.browseTimerCount=0,this.browseTimer=null,r&&r.error?this.setState({message:A.t(r.error)}):(this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,r)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),console.log("BROWSE received."),this.setState({devices:r,loading:!1,changed:[],browse:!1}),r.length>300&&this.props.onError(A.t("Too many devices (%s) configured. Max number is 300",r.length)))}).catch(r=>this.setState({message:A.t("Error %s",r),browse:!1})))}onReadyUpdate(e,r){console.log(`Update ${e} ${r?`${r.val}/${r.ack}`:"null"}`),r&&r.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},300))}onResultUpdate(e,r){r&&r.ack===!0&&r.val&&this.setState({message:r.val})}componentDidMount(){this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r&&r()))}onEdit(e,r){r=r||this.state.devices;const n=r.find(o=>o.additionalApplianceDetails.id===e);return n?(this.props.socket.getObject(e).then(o=>{let a=n.additionalApplianceDetails.friendlyNames?n.additionalApplianceDetails.friendlyNames:n.friendlyName;typeof a=="object"&&a&&(a=a[A.getLanguage()]||a.en);let s=null;n.additionalApplianceDetails.group||(s=n.additionalApplianceDetails.smartType),this.setState({edit:{id:e,type:s,name:a,objectName:ee.getObjectNameFromObj(o,null,{language:A.getLanguage()}),originalName:a,originalType:s}})}),!0):!1}onAskDelete(e){this.setState({deleteId:e,showConfirmation:!0})}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>(ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r))).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}static renderActions(e){const r=[];if(!e.actions)return console.log("Something went wrong"),null;e.actions.sort((n,o)=>n===o?0:n==="turnOn"?-1:o==="turnOn"?1:n==="turnOff"?-1:o==="turnOff"?1:0),Object.keys(Zo).forEach(n=>{if(e.actions.includes(n)){const o=Zo[n].icon;r.push(y.jsx("span",{title:Zo[n].desc,children:y.jsx(o,{style:{...Ct.actionIcon,color:Zo[n].color}})},n))}});for(let n=0;n<e.actions.length;n++)Zo[e.actions[n]]||r.push(y.jsx("span",{children:e.actions[n]},e.actions[n]));return r}onExpand(e){const r=JSON.parse(JSON.stringify(this.state.expanded)),n=r.indexOf(this.state.devices[e].friendlyName);n===-1?r.push(this.state.devices[e].friendlyName):r.splice(n,1),this.setState({expanded:r})}renderSelectByOn(e,r,n,o){if(o!==!1){const a=[y.jsx(pt,{value:"",children:y.jsx("em",{children:A.t("Default")})},"_"),y.jsx(pt,{value:"stored",children:A.t("last value")},"last"),y.jsx(pt,{value:"omit",children:A.t("omit value")},"omit")];for(let s=5;s<=100;s+=5)a.push(y.jsxs(pt,{value:s.toString(),children:[s,"%"]},s.toString()));return y.jsxs(mn,{style:Ct.devSubLineByOn,variant:"standard",children:[y.jsx(Ar,{variant:"standard",style:Ct.devSubLineByOnSelect,value:(o||"").toString(),onChange:s=>this.onParamsChange(n,s.target.value),children:a}),y.jsx(Ro,{style:Ct.devSubLineTypeTitle,children:A.t("by ON")})]})}return null}onParamsChange(e,r,n){this.addChanged(e,()=>{this.props.socket.getObject(e).then(o=>(ee.updateSmartName(o,void 0,r,n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.state.lastChanged!==e&&(this.setState({lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(e,o))).then(()=>{this.informInstance(e)}).catch(o=>this.props.onError(o))})}static renderSelectTypeSelector(e,r){if(e!==!1){const n=[y.jsx(pt,{value:"_",children:y.jsx("em",{children:A.t("no type")})},"_")];for(let o=0;o<Xh.length;o++)n.push(y.jsx(pt,{value:Xh[o],children:y.jsx("em",{children:A.t(Xh[o])})},Xh[o]));return y.jsxs(mn,{variant:"standard",children:[y.jsx(Ar,{variant:"standard",value:e||"_",onChange:o=>r(o.target.value==="_"?"":o.target.value),children:n}),y.jsx(Ro,{style:Ct.devSubLineTypeTitle,children:A.t("Types")})]})}return""}renderSelectType(e,r,n,o){return Ss.renderSelectTypeSelector(o,a=>this.onParamsChange(n,void 0,a))}renderChannels(e,r){const n=[];if(e.additionalApplianceDetails.group){const o=e.additionalApplianceDetails.channels,a=e.additionalApplianceDetails.names,s=e.additionalApplianceDetails.byONs,l=e.additionalApplianceDetails.smartTypes;let d=0;o&&Object.keys(o).forEach(p=>{for(let m=0;m<o[p].length;m++){const u=o[p][m].id;let g=this.state.changed.includes(u)?Uh:this.props.themeType==="dark"?Vh:qh;this.state.lastChanged===u&&(g===Vh||g===qh)&&(g=this.props.themeType==="dark"?Gh:Jh),n.push(y.jsxs("div",{style:{...Ct.devSubLine,...d%2?void 0:{background:g}},children:[y.jsx("div",{style:{...Ct.devLineActions,...Ct.channelLineActions},children:Ss.renderActions(o[p][m])}),y.jsxs("div",{style:Ct.devSubLineName,title:u,children:[a[u]||u,u!==a[u]?y.jsx("span",{style:Ct.devSubSubLineName,children:u}):null]}),this.renderSelectType(e,r,u,l[u]),this.renderSelectByOn(e,r,u,s[u]),y.jsx(Le,{"aria-label":"Delete",style:Ct.devSubLineDelete,onClick:()=>this.onAskDelete(u,r),children:y.jsx(Os,{fontSize:"middle"})})]},`sub${u}`)),d++}})}else{const o=e.additionalApplianceDetails.id,a=e.additionalApplianceDetails.name||o;let s=this.state.changed.includes(o)?Uh:this.props.themeType==="dark"?Vh:qh;this.state.lastChanged===o&&(s===Vh||s===qh)&&(s=this.props.themeType==="dark"?Gh:Jh),n.push(y.jsxs("div",{style:{...Ct.devSubLine,background:s},children:[y.jsx("div",{style:{...Ct.devLineActions,...Ct.channelLineActions,width:80},children:Ss.renderActions(e)}),y.jsx("div",{style:Ct.devSubLineName,title:o||"",children:a}),this.renderSelectType(e,r,o,e.additionalApplianceDetails.smartType),this.renderSelectByOn(e,r,o,e.additionalApplianceDetails.byON)]},`sub${o}`))}return n}renderDevice(e,r){const n=e.friendlyName;let o;!e.additionalApplianceDetails.group&&e.additionalApplianceDetails.nameModified?o=n:o=y.jsx("span",{style:Ct.devModified,title:A.t("modified"),children:n});let a=0;e.additionalApplianceDetails.channels&&Object.keys(e.additionalApplianceDetails.channels).forEach(m=>a+=e.additionalApplianceDetails.channels[m].length),a=a||1;const s=this.state.expanded.includes(n),l=e.additionalApplianceDetails?.id;let d=r%2?this.props.themeType==="dark"?"#272727":"#f1f1f1":"inherit";const p=this.state.changed.includes(l);if(p?d=Uh:l===this.state.lastChanged&&(d=this.props.themeType==="dark"?Gh:Jh),e.additionalApplianceDetails.group&&!p&&l!==this.state.lastChanged){const m=e.additionalApplianceDetails.channels;try{m&&Object.keys(m).forEach(u=>u&&m[u].forEach(g=>{this.state.changed.includes(g.id)?d=Uh:this.state.lastChanged===g.id&&(d=this.props.themeType==="dark"?Gh:Jh)}))}catch(u){console.log(u)}}return[y.jsxs("div",{style:{...Ct.devLine,background:d},children:[y.jsxs("div",{style:Ct.devLineNumber,children:[r+1,"."]}),y.jsx(Le,{style:Ct.devLineExpand,onClick:()=>this.onExpand(r),children:a>1?y.jsx(Su,{badgeContent:a,color:"primary",children:s?y.jsx(xc,{}):y.jsx(kc,{})}):s?y.jsx(xc,{}):y.jsx(kc,{})}),y.jsxs("div",{style:{...Ct.devLineNameBlock,display:"inline-block",position:"relative"},children:[y.jsx("span",{style:Ct.devLineName,children:o}),y.jsx("span",{style:Ct.devLineDescription,children:e.friendlyDescription}),p?y.jsx(Gr,{style:Ct.devLineProgress,size:20}):null]}),y.jsx("span",{style:Ct.devLineActions,children:Ss.renderActions(e)}),e.additionalApplianceDetails.group?null:y.jsx(Le,{"aria-label":"Edit",style:Ct.devLineEdit,onClick:()=>this.onEdit(l),children:y.jsx(Wm,{fontSize:"middle"})}),e.additionalApplianceDetails.group?null:y.jsx(Le,{"aria-label":"Delete",style:Ct.devLineDelete,onClick:()=>this.onAskDelete(l),children:y.jsx(Os,{fontSize:"middle"})})]},`line${r}`),s?this.renderChannels(e,r):null]}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(e){e?.preventDefault(),this.addChanged(this.state.edit.id,()=>{const r=this.state.edit.id,n=this.state.edit.type,o=this.state.edit.name.trim();this.setState({edit:null,lastChanged:r}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.props.socket.getObject(r).then(a=>(ee.updateSmartName(a,o,void 0,n===null?void 0:n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(r,a))).then(()=>this.informInstance(r)).catch(a=>this.props.onError(a))})}renderEditDialog(){return this.state.edit?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({edit:null}),"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",this.state.edit.objectName)}),y.jsxs(Qt,{children:[y.jsxs("p",{children:[y.jsx("span",{children:"ID:"})," ",y.jsx("span",{style:Ct.editedId,children:this.state.edit.id})]}),y.jsx(Et,{variant:"standard",style:{width:"100%"},label:A.t("Smart name"),autoFocus:!0,onKeyDown:e=>e.key==="Enter"&&this.changeSmartName(e),value:this.state.edit.name,onChange:e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.name=e.target.value,this.setState({edit:r})},helperText:A.t("You can enter several names divided by comma"),margin:"normal"}),this.state.edit.type!==null?Ss.renderSelectTypeSelector(this.state.edit.type,e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.type=e,this.setState({edit:r})}):null]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",disabled:!this.state.edit.name||this.state.edit.originalName===this.state.edit.name&&(this.state.edit.type||null)===(this.state.edit.originalType||null),onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{variant:"contained",onClick:()=>{this.setState({edit:null})},startIcon:y.jsx(Vt,{}),color:"grey",children:A.t("Cancel")})]})]}):null}renderConfirmDialog(){return this.state.showConfirmation?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({showConfirmation:""}),"aria-labelledby":"confirmation-dialog-title","aria-describedby":"confirmation-dialog-description",children:[y.jsx(Gt,{id:"confirmation-dialog-title",children:this.props.title||A.t("Device %s will be disabled.",this.state.deleteId)}),y.jsx(Qt,{children:y.jsx("p",{children:A.t("Are you sure?")})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.onDelete(),color:"primary",autoFocus:!0,startIcon:y.jsx(Os,{}),children:A.t("Delete")}),y.jsx(Ue,{color:"grey",variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showConfirmation:""}),children:A.t("Cancel")})]})]}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1}),this.props.socket.getObject(e).then(r=>{if(r){const n=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()});ee.updateSmartName(r,(n||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(r._id),this.waitForUpdateID=r._id,this.state.lastChanged!==r._id&&(this.setState({lastChanged:r._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(r._id,r).then(()=>this.informInstance(r._id)).catch(o=>this.setState({message:o}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectID1"):null}renderDevices(){const e=this.state.filter.toLowerCase(),r=[];for(let n=0;n<this.state.devices.length;n++)this.state.filter&&!this.state.devices[n].friendlyName.toLowerCase().includes(e)||r.push(this.renderDevice(this.state.devices[n],n));return y.jsx("div",{style:Ct.columnDiv,children:r},"listDevices")}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsx(Xe,{sx:Ct.headerRow,children:y.jsx("div",{style:Ct.headerCell,children:A.t("Name")})}),y.jsx("div",{style:Ct.tableDiv,children:this.state.devices.map((e,r)=>y.jsx("div",{children:y.jsx("div",{style:Ct.tableCell,children:e.friendlyName})},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>r.friendlyName);ee.copyToClipboard(e.join(`
667
- `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,color:"grey",children:A.t("Close")})]})]}):null}render(){return this.state.loading?y.jsx(Gr,{},"alexaProgress"):y.jsxs("form",{style:Ct.tab,children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",style:Ct.button,onClick:()=>this.setState({showSelectId:!0}),children:y.jsx($i,{})}),y.jsx(Yt,{size:"small",color:"primary","aria-label":"Refresh",style:Ct.button,onClick:()=>this.browse(!0),disabled:this.state.browse,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),y.jsx(Yt,{style:{...Ct.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse,children:y.jsx(Fm,{})}),y.jsx(Et,{variant:"standard",placeholder:A.t("Filter"),className:this.state.filter,value:this.state.filter,onChange:e=>this.setState({filter:e.target.value}),slotProps:{input:{endAdornment:this.state.filter?y.jsx(Le,{onClick:()=>this.setState({filter:""}),children:y.jsx(Bm,{})}):void 0}}}),this.renderDevices(),this.renderMessage(),this.renderEditDialog(),this.getSelectIdDialog(),this.renderConfirmDialog(),this.renderListOfDevices()]},"alexa")}}Ss.propTypes={native:ae.object.isRequired,instance:ae.number.isRequired,adapterName:ae.string.isRequired,onError:ae.func,socket:ae.object.isRequired,themeType:ae.string,theme:ae.object};function _tt(t){return Ke({attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15zM11 2h.5a.5.5 0 0 1 .5.5V15h-1zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1"},child:[]}]})(t)}function E6(t){return Ke({attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M11.536 14.01A8.47 8.47 0 0 0 14.026 8a8.47 8.47 0 0 0-2.49-6.01l-.708.707A7.48 7.48 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303z"},child:[]},{tag:"path",attr:{d:"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.48 5.48 0 0 1 11.025 8a5.48 5.48 0 0 1-1.61 3.89z"},child:[]},{tag:"path",attr:{d:"M8.707 11.182A4.5 4.5 0 0 0 10.025 8a4.5 4.5 0 0 0-1.318-3.182L8 5.525A3.5 3.5 0 0 1 9.025 8 3.5 3.5 0 0 1 8 10.475zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06"},child:[]}]})(t)}function vtt(t){return Ke({attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M12 5C11.4477 5 11 5.44772 11 6C11 6.55228 11.4477 7 12 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H12Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M7 12C7 11.4477 7.44772 11 8 11H16C16.5523 11 17 11.4477 17 12C17 12.5523 16.5523 13 16 13H8C7.44772 13 7 12.5523 7 12Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M3 18C3 17.4477 3.44772 17 4 17H12C12.5523 17 13 17.4477 13 18C13 18.5523 12.5523 19 12 19H4C3.44772 19 3 18.5523 3 18Z",fill:"currentColor"},child:[]}]})(t)}function ytt(t){return Ke({attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M10.3004 7.49991C10.3004 8.4943 9.49426 9.30041 8.49988 9.30041C7.50549 9.30041 6.69938 8.4943 6.69938 7.49991C6.69938 6.50553 7.50549 5.69942 8.49988 5.69942C9.49426 5.69942 10.3004 6.50553 10.3004 7.49991ZM11.205 8C10.9699 9.28029 9.84816 10.2504 8.49988 10.2504C7.1516 10.2504 6.0299 9.28029 5.79473 8H0.5C0.223858 8 0 7.77614 0 7.5C0 7.22386 0.223858 7 0.5 7H5.7947C6.0298 5.71962 7.15154 4.74942 8.49988 4.74942C9.84822 4.74942 10.97 5.71962 11.2051 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H11.205Z",fill:"currentColor"},child:[]}]})(t)}const O6="#e7000040",D6="#4f4f4f",btt="#313131",A6="#e9e9e9",wtt="#bbbbbb",I6="#5c8f65",N6="#b4ffbe",M6="#6e6e6e",R6="#d0d0d0",Al=["socket","light","dimmer","thermostat","blinds","gate","lock","hue","ct","motion","levelSlider","temperature","window"],j6={LIGHT:"light",SWITCH:"socket",THERMOSTAT:"thermostat",SMARTPLUG:"socket",SMARTLOCK:"lock",CAMERA:"camera"},uo={brightness:{label:"Brightness",icon:aX,color:"#c9b803"},powerState:{label:"Power",icon:LX,color:"#70bd00"},colorTemperatureInKelvin:{label:"Color temperature",icon:wX,color:"#019bb6"},color:{label:"Color",icon:NX,color:"#a20030"},detectionState:{label:"Detection",icon:IX,color:"#913c01"},lockState:{label:"Lock",icon:TX,color:"#00519b"},mode:{label:"Mode",icon:OX,color:"#112233"},muted:{label:"Muted",icon:JX,color:"#9701af"},percentage:{label:"Percentage",icon:N7,color:"#009870"},targetSetpoint:{label:"Set point",icon:zX,color:"#813600"},temperature:{label:"Temperature",icon:pX,color:"#9f1300"},thermostatMode:{label:"Thermostat mode",icon:PX,color:"#800048"},volume:{label:"Volume",icon:XX,color:"#006702"}};let z6=!1;const Un={Light:{label:"Light",icon:Au,color:"#c9b803",control:"switch",controllable:!0},AirCondition:{label:"AirCondition",icon:fQe,color:"#001fb9",control:"switch",controllable:!0},Blind:{label:"Blinds",icon:$Qe,color:"#00a28f",control:"blinds",controllable:!0},ContactSensor:{label:"Sensor",icon:TQe,color:"#c9b803",control:"sensor",controllable:!1},Dimmer:{label:"Dimmer",icon:KQe,color:"#cb8500",control:"slider",controllable:!0},Door:{label:"Door sensor",icon:_tt,color:"#ad002a",control:"doorSensor",controllable:!1},Gate:{label:"Gate",icon:JQe,color:"#9d02af",control:"gate"},Hue:{label:"Color HUE",icon:t6,color:"#007a96",control:"color"},Ct:{label:"Color temperature",icon:t6,color:"#5a9600"},Lock:{label:"Lock",icon:oQe,color:"#c9030a"},Motion:{label:"Motion",icon:vtt,color:"#149100"},Slider:{label:"Slider",icon:ytt,color:"#029a7f"},Socket:{label:"Socket",icon:GQe,color:"#834303"},Temperature:{label:"Temperature",icon:_Qe,color:"#8ca102"},Thermostat:{label:"Thermostat",icon:EQe,color:"#8c4800"},VacuumCleaner:{label:"Vacuum cleaner",icon:IQe,color:"#9e03c9"},Volume:{label:"Volume",icon:E6,color:"#c903c6"},VolumeGroup:{label:"Volume group",icon:E6,color:"#c903c6"},Window:{label:"Window sensor",icon:XQe,color:"#27c903"}};let P6=!1;const Pe={tab:{width:"100%",height:"100%"},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},button:{marginRight:20},devLineExpand:{width:40},devLineEdit:{width:40,marginLeft:5},devLineDelete:{width:40},devLineName:{},devLineNumber:{width:15},editedId:{fontStyle:"italic"},devLine:{height:48,width:"100%",position:"relative",display:"flex",alignItems:"center"},devLineDescription:{display:"block",fontStyle:"italic",fontSize:12},devLineActions:{fontStyle:"italic",fontSize:12,paddingRight:5,display:"flex"},devLineProgress:{position:"absolute",top:0,left:0},devLineNameBlock:{flexGrow:1},actionSpan:{marginRight:5,display:"flex",alignItems:"center"},deviceOff:{filter:"grayscale(0.9)"},actionIcon:{width:16},deviceIcon:{width:24,height:24},deviceSmallIcon:{width:20,height:20},devSubLine:{position:"relative",display:"flex",width:"100%",alignItems:"center"},devSubLineExpand:{marginLeft:15},devSubLineExpanded:{transition:"transform 0.3s",transform:"rotate(90deg)"},devSubLineName:{flexGrow:1,fontSize:13,fontWeight:"bold",marginLeft:5},devSubLineName1:{minWidth:100,marginRight:5,display:"inline-block"},devSubLineName2:{fontWeight:"normal",display:"inline-block"},devSubLineName2Div:{display:"flex",alignItems:"center",gap:5},devSubSubLineName:{fontSize:11,fontStyle:"italic",paddingLeft:10,flexGrow:1},devSubSubLineStateName:{minWidth:121,display:"inline-block",fontWeight:"bold"},devSubSubLineStateId:{marginLeft:5},devSubLineDelete:{},devSubLineTypeTitle:{marginTop:0},statesLine:{position:"relative",width:"calc(100% - 50px)",paddingLeft:50,paddingBottom:5},devSubSubLine:{position:"relative",display:"flex",alignItems:"center",paddingTop:2,paddingBottom:2},headerRow:t=>({pl:1,background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"100%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"100%"},selectType:{width:130,marginLeft:8},stateValueAck:{},stateValueNoAck:{color:"#ff0000"}};function pf(t,e){return t&&typeof t=="object"?t[e]||t.en:t||""}function Stt(t,e,r,n){r||=".";let o="";const a=t?.common;if(a){const s=a.icon;if(s)if(s.startsWith("data:image/"))o=s;else if(s.includes(".")){let l;t.type==="instance"||t.type==="adapter"?o=`${r}/adapter/${pf(a.name,n)}/${s}`:e&&e.startsWith("system.adapter.")?(l=e.split(".",3),s[0]==="/"?l[2]+=s:l[2]+=`/${s}`,o=`${r}/adapter/${l[2]}`):(l=e.split(".",2),s[0]==="/"?l[0]+=s:l[0]+=`/${s}`,o=`${r}/adapter/${l[0]}`)}else return null}return o||null}class Na extends T.Component{requesting={};timerChanged=null;devTimer=null;browseTimer=null;browseTimerCount=0;lastBrowse=0;waitForUpdateID=null;language=A.getLanguage();editedSmartName;subscribedStates={};tempStates=null;updateValuesTimeout=null;objects={};collectSubscribes=null;collectSubscribesTimer=null;collectUnsubscribes=null;collectUnsubscribesTimer=null;constructor(e){super(e),z6||(Object.keys(uo).forEach(o=>uo[o].label=A.t(uo[o].label)),z6=!0),P6||(Object.keys(Un).forEach(o=>Un[o].label=A.t(Un[o].label)),P6=!0);const r=window.localStorage.getItem("v3.expanded")||"[]";let n;try{n=JSON.parse(r)}catch{n=[]}this.state={edit:null,deleteId:"",showListOfDevices:!1,showSelectId:!1,showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:n,lastChanged:"",objects:{},alive:!1,values:{}}}subscribe(e){if(this.subscribedStates[e])this.subscribedStates[e]++;else{this.subscribedStates[e]=1,this.collectSubscribes||=[],this.collectSubscribes.push(e);const r=this.collectUnsubscribes?.indexOf(e);r!==-1&&r!==void 0&&(this.collectUnsubscribes?.splice(r),this.collectUnsubscribes?.length||(this.collectUnsubscribes=null,this.collectUnsubscribesTimer&&(clearTimeout(this.collectUnsubscribesTimer),this.collectUnsubscribesTimer=null))),this.collectSubscribesTimer&&clearTimeout(this.collectSubscribesTimer),this.collectSubscribesTimer=setTimeout(async()=>{if(this.collectSubscribesTimer=null,this.collectSubscribes?.length){const n=this.collectSubscribes;this.collectSubscribes=null;const o=n.filter(s=>!this.objects[s]),a=await this.props.socket.getObjectsById(o);a&&Object.keys(a).forEach(s=>this.objects[s]=a[s]),this.props.socket.subscribeState(n,this.onStateChange)}},200)}}unsubscribe(e){if(this.subscribedStates[e]&&(this.subscribedStates[e]--,!this.subscribedStates[e])){delete this.subscribedStates[e],this.collectUnsubscribes||=[],this.collectUnsubscribes.push(e);const r=this.collectSubscribes?.indexOf(e);r!==-1&&r!==void 0&&(this.collectSubscribes?.splice(r),this.collectSubscribes?.length||(this.collectSubscribes=null,this.collectSubscribesTimer&&(clearTimeout(this.collectSubscribesTimer),this.collectSubscribesTimer=null))),this.collectUnsubscribesTimer&&clearTimeout(this.collectUnsubscribesTimer),this.collectUnsubscribesTimer=setTimeout(()=>{this.collectUnsubscribesTimer=null,this.collectUnsubscribes?.length&&(this.props.socket.unsubscribeState(this.collectUnsubscribes,this.onStateChange),this.collectUnsubscribes=null)},200)}}unsubscribeAll(){Object.keys(this.subscribedStates).forEach(e=>{this.props.socket.unsubscribeState(e,this.onStateChange),delete this.subscribedStates[e]})}onStateChange=(e,r)=>{this.tempStates||={},this.tempStates[e]=r,this.updateValuesTimeout&&clearTimeout(this.updateValuesTimeout),this.updateValuesTimeout=setTimeout(()=>{if(this.updateValuesTimeout=null,this.tempStates){const n=this.tempStates;this.tempStates=null;const o=JSON.parse(JSON.stringify(this.state.values));let a=!1;Object.keys(n).forEach(s=>{const l=n[s];(o[s]?.val!==l?.val||o[s]?.ack!==l?.ack)&&(a=!0,o[s]=l)}),a&&this.setState({values:o})}},200),(this.state.values[e]?.val!==r?.val||this.state.values[e]?.ack!==r?.ack)&&this.setState(n=>{const o=JSON.parse(JSON.stringify(n));return o[e]=r,{values:o}})};onAliveChanged=(e,r)=>{!!r?.val!==this.state.alive&&this.setState({alive:!!r?.val},()=>{this.state.alive&&setTimeout(()=>this.browse(),1e4)})};browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),console.log("Send BROWSE!"),this.browseTimer=setTimeout(()=>{console.log("Browse timeout!"),this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browse3",null).then(r=>{if(this.browseTimer&&(clearTimeout(this.browseTimer),this.browseTimer=null),this.browseTimerCount=0,r?.error)this.setState({message:A.t(r.error)});else if(r){const n=r;this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,n)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),console.log("BROWSE received."),n.sort((o,a)=>o.friendlyName>a.friendlyName?1:o.friendlyName<a.friendlyName?-1:0),this.setState({devices:n,loading:!1,changed:[],browse:!1}),n.length>300&&this.props.onError(A.t("Too many devices (%s) configured. Max number is 300",n.length))}}).catch(r=>this.setState({message:A.t("Error %s",r),browse:!1})))}onReadyUpdate=(e,r)=>{console.log(`Update ${e} ${r?`${r.val}/${r.ack}`:"null"}`),r?.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},300))};onResultUpdate=(e,r)=>{r?.ack===!0&&r.val&&this.setState({message:r.val})};componentDidMount(){this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(e=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(r=>{!e||!e.common||!e.common.enabled&&(!r||!r.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[],alive:!1}):this.setState({alive:!0},()=>this.browse())})),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates3`,this.onReadyUpdate),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdate),this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates3`,this.onReadyUpdate),this.updateValuesTimeout&&(clearTimeout(this.updateValuesTimeout),this.updateValuesTimeout=null),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdate),this.props.socket.unsubscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged),this.unsubscribeAll(),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r?.()))}onEdit(e,r){return r||=this.state.devices,r.find(o=>o.controls.find(a=>Object.values(a.states).find(s=>s.id===e)))?(this.props.socket.getObject(e).then(o=>{if(this.objects[e]=o,o){let a=ee.getSmartNameFromObj(o,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);typeof a=="object"&&a&&(a=a[A.getLanguage()]||a.en),this.editedSmartName=a||"",this.setState({edit:{id:e,type:null,name:this.editedSmartName,originalType:null,originalName:this.editedSmartName,objectName:ee.getObjectNameFromObj(o,null,{language:A.getLanguage()})}})}}),!0):!1}onAskDelete(e){this.setState({deleteId:e,showConfirmation:!0})}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>{if(this.objects[e]=r,r)return ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r)}).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.timerChanged=null,this.setState({lastChanged:""})},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}static renderChannelActions(e){const r=[];return Object.keys(uo).forEach(n=>{if(n!=="translated"){if(e.supported.includes(n)){let o;const a=uo[n].icon;let s=Pe.actionIcon,l=null,d=null,p=null;e.state&&(o=e.state.find(u=>n===u.name),o?.name==="powerState"?o?.value==="OFF"&&(s={...s,...Pe.deviceOff}):o?.name==="detectionState"?o?.value==="NOT_DETECTED"&&(s={...s,...Pe.deviceOff}):o?.name==="percentage"?l=`${o.value===null?"--":o.value}%`:o?.name==="brightness"?d=o.value===null?"--":o.value:o?.name==="color"&&(p=`hsl(${o.value}, 50%, 50%)`),o?.value&&typeof o.value=="object"&&(o.value=`${o.value.value} ${o.value.scale==="CELSIUS"?"°C":o.value.scale}`));const m=o?` - ${o.value===null?"--":o.value}`:"";r.push(y.jsxs("span",{title:uo[n].label+m,style:Pe.actionSpan,children:[y.jsx(a,{style:{...s,color:uo[n].color,backgroundColor:p}}),l!==null?y.jsx("span",{style:{color:Un[e.type].color},children:l}):null,d!==null?y.jsx("span",{style:{color:Un[e.type].color},children:d}):null]},n))}else if(e.enforced.includes(n)){const o=uo[n].icon;r.push(y.jsx("span",{title:uo[n].label,style:{...Pe.actionSpan,opacity:.7},children:y.jsx(o,{style:{...Pe.actionIcon,color:uo[n].color}})},n))}}}),e.supported.forEach(n=>{uo[n]||r.push(y.jsx("span",{title:n,style:Pe.actionSpan,children:n},n))}),e.enforced.forEach(n=>{uo[n]||r.push(y.jsx("span",{title:n,style:{...Pe.actionSpan,opacity:.7},children:n},n))}),r}static renderDevTypes(e){const r=[];if(!e.controls)return console.log("Something went wrong"),null;const n=[];return e.controls.forEach((o,a)=>{if(!n.includes(o.type)&&(n.push(o.type),Un[o.type])){const s=Un[o.type].icon;let l=Pe.actionSpan,d=null,p=null,m=null,u;e.state&&(u=e.state.find(b=>o.supported.includes(b.name)),u?.name==="powerState"?u?.value==="OFF"&&(l={...l,...Pe.deviceOff}):u?.name==="detectionState"?u?.value==="NOT_DETECTED"&&(l={...l,...Pe.deviceOff}):u?.name==="percentage"?d=`${u.value===null?"--":u.value}%`:u?.name==="brightness"?p=u.value===null?"--":u.value:u?.name==="color"&&(m=`hsl(${u.value}, 100%, 50%)`),u?.value&&typeof u.value=="object"&&(u.value=`${u.value.value} ${u.value.scale==="CELSIUS"?"°C":u.value.scale}`));const g=u?` - ${u.value===null?"--":u.value}`:"",_=y.jsxs("span",{title:Un[o.type].label+g,style:l,children:[y.jsx(s,{style:{...Pe.deviceIcon,color:Un[o.type].color,backgroundColor:m}}),d!==null?y.jsx("span",{style:{color:Un[o.type].color},children:d}):null,p!==null?y.jsx("span",{style:{color:Un[o.type].color},children:p}):null]},`${o.type}_${a}`);o.type!=="Blind"&&o.type!=="Light"&&o.type!=="Socket"?r.unshift(_):r.push(_)}}),r}getControlId(e,r){return r===void 0?this.state.devices[e].friendlyName:`${this.state.devices[e].friendlyName}_${r}`}onExpand(e,r){const n=[...this.state.expanded],o=this.getControlId(e,r),a=n.indexOf(o);if(a===-1)n.push(o);else if(n.splice(a,1),r!==void 0){const s=this.state.devices[e].controls[r];Object.values(s.states).forEach(l=>{l.subscribed=!1,this.unsubscribe(l.id)})}else this.state.devices[e].controls.forEach(l=>{Object.values(l.states).forEach(d=>{d.subscribed=!1,this.unsubscribe(d.id)})});window.localStorage.setItem("v3.expanded",JSON.stringify(n)),this.setState({expanded:n})}renderSelectByOn(e){const r=e.supported.concat(e.enforced);if(r.includes("brightness")&&r.includes("powerState")||r.includes("percentage")&&r.includes("powerState")){const n=Object.values(e.states)[0],o=n?.smartName==="object"&&n?.smartName?.byON||void 0,a=[y.jsx(pt,{value:"",children:y.jsx("em",{children:A.t("Default")})},"_"),y.jsx(pt,{value:"stored",children:A.t("last value")},"last"),y.jsx(pt,{value:"omit",children:A.t("omit value")},"omit")];for(let s=5;s<=100;s+=5)a.push(y.jsxs(pt,{value:s.toString(),children:[s,"%"]},s.toString()));return y.jsxs(mn,{style:Pe.selectType,variant:"standard",children:[y.jsx(Ar,{variant:"standard",style:Pe.devSubLineByOnSelect,value:(o||"").toString(),onChange:s=>n?.id&&this.onParamsChange(n.id,s.target.value),children:a}),y.jsx(Ro,{style:Pe.devSubLineTypeTitle,children:A.t("by ON")})]})}return y.jsx("div",{style:Pe.selectType})}onParamsChange(e,r,n){this.addChanged(e,()=>this.props.socket.getObject(e).then(o=>{if(this.objects[e]=o,o)return ee.updateSmartName(o,void 0,r,n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.state.lastChanged!==e&&(this.setState({lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(e,o)}).then(()=>this.informInstance(e)).catch(o=>this.props.onError(o)))}static renderSelectTypeSelector(e,r){if(e!==!1){const n=[y.jsx(pt,{value:"_",children:y.jsx("em",{children:A.t("no type")})},"_")];for(let o=0;o<Al.length;o++)n.push(y.jsx(pt,{value:Al[o],children:y.jsx("em",{children:A.t(Al[o])})},Al[o]));return e&&!Al.includes(e)&&(Al.includes(e.toLowerCase())?e=e.toLowerCase():j6[e]&&(e=j6[e])),y.jsxs(mn,{variant:"standard",style:Pe.selectType,children:[y.jsx(Ar,{variant:"standard",value:e||"_",onChange:o=>r(o.target.value==="_"?"":o.target.value),children:n}),y.jsx(Ro,{style:Pe.devSubLineTypeTitle,children:A.t("Types")})]})}return null}renderSelectType(e,r){if(r.autoDetected)return y.jsx("div",{style:Pe.selectType});const n=Object.values(e.states)[0],o=n?.smartName?.smartType||!1;return Na.renderSelectTypeSelector(o,a=>this.onParamsChange(n.id,void 0,a))}renderStates(e,r){return y.jsx("div",{style:{...Pe.statesLine,background:r},children:Object.keys(e.states).map((n,o)=>{const a=e.states[n].id;a&&!e.states[n].subscribed&&(this.subscribe(a),e.states[n].subscribed=!0);const s=this.objects[a]?.common?.unit||"";let l=this.objects[a]?.common?.states;if(Array.isArray(l)){const m={};l.forEach((u,g)=>m[g]=u),l=m,this.objects[a].common.states=l}let d=null;const p=this.state.values[a];return p?l?l[String(p.val)]!==void 0?d=y.jsxs("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:[l[String(p.val)],"(",String(p.val),")"]}):d=y.jsx("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:String(p.val)}):s?d=y.jsxs("span",{children:[y.jsx("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:String(p.val)}),y.jsx("span",{style:{opacity:.7,fontSize:"smaller"},children:s})]}):d=y.jsxs("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:[String(p.val)," "]}):d=y.jsxs("span",{children:["--",s]}),y.jsxs("div",{style:{...Pe.devSubSubLine,...o%2?{background:this.props.themeType==="dark"?`${M6}80`:`${R6}80`}:{background:this.props.themeType==="dark"?M6:R6}},children:[y.jsxs("div",{style:Pe.devSubSubLineName,children:[y.jsxs("div",{style:Pe.devSubSubLineStateName,children:[n,":"]}),y.jsx("span",{style:Pe.devSubSubLineStateId,children:a})]}),y.jsx("div",{children:d}),y.jsx("div",{style:{width:370}})]},n)})},"states")}static getParentId(e){const r=e.split(".");return r.pop(),r.join(".")}async findDeviceForState(e){const r=Na.getParentId(e),n=await this.props.socket.getObject(r);if(this.objects[r]=n,n?.type==="device")return n;if(n&&(n.type==="channel"||n.type==="folder")){let a=Na.getParentId(r),s=await this.props.socket.getObject(a);return this.objects[a]=s,s?.type==="device"||s?.type==="folder"&&(a=Na.getParentId(r),s=await this.props.socket.getObject(a),this.objects[a]=s,s?.type==="device")?s:n}const o=await this.props.socket.getObject(e);return this.objects[e]=o,o}getControlProps(e){const r=Object.values(e.states)[0].id;return this.state.objects[r]===void 0&&!this.requesting[r]&&(this.requesting[r]=!0,setTimeout(()=>{this.findDeviceForState(r).then(n=>{delete this.requesting[r];const o=JSON.parse(JSON.stringify(this.state.objects));n?.common?(o[r]={name:n.common?.name||null,icon:Stt(n,r,"../..",this.language)},o[r].name=pf(o[r].name,this.language)):o[r]={name:r},this.setState({objects:o})})},50)),this.state.objects[r]?this.state.objects[r]:{name:r}}renderChannels(e,r){return e.controls.map((n,o)=>{if(!n.states||!Object.keys(n.states).length)return null;const a=Object.values(n.states)[0].id;let s=this.state.changed.includes(a)?O6:this.props.themeType==="dark"?o%2?D6:btt:o%2?A6:wtt;this.state.lastChanged===a&&(s===D6||s===A6)&&(s=this.props.themeType==="dark"?I6:N6);const l=Un[n.type]?.icon||null,d=this.state.expanded.includes(this.getControlId(r,o)),p=this.getControlProps(n);return[y.jsxs("div",{style:{...Pe.devSubLine,background:s},children:[y.jsx(Le,{style:Pe.devSubLineExpand,onClick:()=>this.onExpand(r,o),children:y.jsx(lX,{style:d?Pe.devSubLineExpanded:void 0})}),l?y.jsx(l,{style:{...Pe.deviceSmallIcon,color:Un[n.type].color}}):null,y.jsxs("div",{style:Pe.devSubLineName,children:[y.jsx("div",{style:Pe.devSubLineName1,children:A.t(n.type)}),y.jsx("div",{style:Pe.devSubLineName2,children:y.jsxs("div",{style:Pe.devSubLineName2Div,children:[p.icon?p.icon.startsWith("data:image/svg")?y.jsx(Wf,{style:Pe.devSubLineName2Icon,src:p.icon,width:20,height:20}):y.jsx(ks,{src:p.icon,style:{...Pe.devSubLineName2Icon,width:20,height:20}}):null,p.name]})})]}),y.jsx("div",{style:Pe.devLineActions,children:Na.renderChannelActions(n)}),this.renderSelectByOn(n),this.renderSelectType(n,e),e.autoDetected?y.jsx("div",{style:Pe.devLineEdit}):y.jsx(Le,{"aria-label":"Edit",style:Pe.devLineEdit,onClick:()=>this.onEdit(a),children:y.jsx(Wm,{fontSize:"middle"})}),e.autoDetected?e.controls.length>1?y.jsx(Le,{"aria-label":"Delete",style:Pe.devSubLineDelete,onClick:()=>this.onAskDelete(a),children:y.jsx(Os,{fontSize:"middle"})}):y.jsx("div",{style:Pe.devLineDelete}):y.jsx(Le,{"aria-label":"Delete",style:Pe.devLineDelete,onClick:()=>this.onAskDelete(a),children:y.jsx(Os,{fontSize:"middle"})})]},o),d?this.renderStates(n,s):null,e.controls.length-1===o?y.jsx("div",{style:{marginBottom:10}}):null]})}renderDevice(e,r){const n=e.friendlyName,o=this.state.expanded.includes(n),a=Object.values(e.controls[0].states)[0].id;let s=r%2?this.props.themeType==="dark"?"#272727":"#f1f1f1":"inherit";const l=this.state.changed.includes(a);return l?s=O6:a===this.state.lastChanged&&(s=this.props.themeType==="dark"?I6:N6),[y.jsxs("div",{style:{...Pe.devLine,background:s},children:[y.jsxs("div",{style:Pe.devLineNumber,children:[r+1,"."]}),y.jsx(Le,{style:Pe.devLineExpand,onClick:()=>this.onExpand(r),children:e.controls.length>1?y.jsx(Su,{badgeContent:e.controls.length,color:"primary",children:o?y.jsx(xc,{}):y.jsx(kc,{})}):o?y.jsx(xc,{}):y.jsx(kc,{})}),y.jsxs("div",{style:Pe.devLineNameBlock,children:[e.autoDetected?y.jsxs(y.Fragment,{children:[y.jsx("span",{style:Pe.devLineName,children:n}),y.jsx("span",{style:Pe.devLineDescription,children:A.t("Grouped from %s and %s",pf(e.roomName,this.language),pf(e.funcName,this.language))})]}):n,l?y.jsx(Gr,{style:Pe.devLineProgress,size:20}):null]}),y.jsx("span",{style:Pe.devLineActions,children:Na.renderDevTypes(e)})]},`line${r}`),o?this.renderChannels(e,r):null]}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(e){e?.preventDefault(),this.state.edit&&this.addChanged(this.state.edit.id,()=>{const r=this.state.edit.id,n=this.state.edit.type,o=this.state.edit.name;this.setState({edit:null,lastChanged:r}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.timerChanged=null,this.setState({lastChanged:""})},3e4),this.props.socket.getObject(r).then(a=>{if(this.objects[r]=a,a)return ee.updateSmartName(a,o,void 0,n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(r,a)}).then(()=>this.informInstance(r)).catch(a=>this.props.onError(a))})}renderEditDialog(){return this.state.edit?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({edit:null}),"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",this.state.edit.objectName)}),y.jsxs(Qt,{children:[y.jsxs("p",{children:[y.jsx("span",{children:"ID:"})," ",y.jsx("span",{style:Pe.editedId,children:this.state.edit.id})]}),y.jsx(Et,{variant:"standard",style:{width:"100%"},label:A.t("Smart name"),autoFocus:!0,onKeyDown:e=>e.key==="Enter"&&this.changeSmartName(e),onChange:e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.name=e.target.value,this.setState({edit:r})},value:this.state.edit.name,helperText:A.t("You can enter several names divided by comma"),margin:"normal"}),this.state.edit.type!==null?Na.renderSelectTypeSelector(this.state.edit.type,e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.type=e,this.setState({edit:r})}):null]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",disabled:!this.state.edit.name||this.state.edit.originalName===this.state.edit.name&&(this.state.edit.type||null)===(this.state.edit.originalType||null),onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{variant:"contained",onClick:()=>this.setState({edit:null}),startIcon:y.jsx(Vt,{}),color:"grey",children:A.t("Cancel")})]})]}):null}renderConfirmDialog(){return this.state.showConfirmation?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({showConfirmation:""}),"aria-labelledby":"confirmation-dialog-title","aria-describedby":"confirmation-dialog-description",children:[y.jsx(Gt,{id:"confirmation-dialog-title",children:this.props.title||A.t("Device %s will be disabled.",this.state.deleteId)}),y.jsx(Qt,{children:y.jsx("p",{children:A.t("Are you sure?")})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.onDelete(),color:"primary",autoFocus:!0,startIcon:y.jsx(Os,{}),children:A.t("Delete")}),y.jsx(Ue,{color:"grey",variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showConfirmation:""}),children:A.t("Cancel")})]})]}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{imagePrefix:"../..",theme:this.props.theme,socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1});const r=Array.isArray(e)?e[0]:e;if(!r){this.setState({message:A.t("Invalid ID")});return}this.props.socket.getObject(r).then(n=>{if(this.objects[r]=n,n){const o=ee.getObjectNameFromObj(n,null,{language:this.language});ee.updateSmartName(n,(o||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(n._id),this.waitForUpdateID=n._id,this.state.lastChanged!==n._id&&(this.setState({lastChanged:n._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(n._id,n).then(()=>this.informInstance(n._id)).catch(a=>this.setState({message:a}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectID1"):null}renderDevices(){const e=this.state.filter.toLowerCase(),r=[];for(let n=0;n<this.state.devices.length;n++)this.state.filter&&!this.state.devices[n].friendlyName.toLowerCase().includes(e)||r.push(this.renderDevice(this.state.devices[n],n));return y.jsx("div",{style:Pe.columnDiv,children:r},"listDevices")}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsx(Xe,{sx:Pe.headerRow,children:y.jsx("div",{style:Pe.headerCell,children:A.t("Name")})}),y.jsx("div",{style:Pe.tableDiv,children:this.state.devices.map((e,r)=>y.jsx("div",{children:y.jsx("div",{style:Pe.tableCell,children:e.friendlyName})},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>r.friendlyName);ee.copyToClipboard(e.join(`
668
- `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,color:"grey",children:A.t("Close")})]})]}):null}render(){return this.state.loading?y.jsx(Gr,{},"alexaProgress"):y.jsxs("form",{style:Pe.tab,children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",title:A.t("Add new device from state"),disabled:!!this.state.lastChanged&&!!this.waitForUpdateID||!this.state.alive,style:Pe.button,onClick:()=>this.setState({showSelectId:!0}),children:this.state.lastChanged&&this.waitForUpdateID?y.jsx(Gr,{}):y.jsx($i,{})}),y.jsx(Yt,{size:"small",color:"primary",title:A.t("Refresh list of devices"),"aria-label":"Refresh",style:Pe.button,onClick:()=>this.browse(!0),disabled:this.state.browse||!this.state.alive,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),y.jsx(Le,{title:A.t("Open all devices"),onClick:()=>{const e=[];this.state.devices.forEach((r,n)=>{e.push(r.friendlyName),r.controls.forEach((o,a)=>{e.push(this.getControlId(n,a))})}),window.localStorage.setItem("v3.expanded",JSON.stringify(e)),this.setState({expanded:e})},children:y.jsx(BX,{})}),y.jsx(Le,{disabled:!this.state.expanded.length,onClick:()=>{this.setState({expanded:[]}),this.unsubscribeAll(),window.localStorage.removeItem("v3.expanded")},title:A.t("Collapse all devices"),children:y.jsx(FX,{})}),y.jsx(Yt,{style:{...Pe.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse||!this.state.alive,children:y.jsx(Fm,{})}),y.jsx(Et,{variant:"standard",placeholder:A.t("Filter"),value:this.state.filter,onChange:e=>this.setState({filter:e.target.value}),slotProps:{input:{endAdornment:this.state.filter?y.jsx(Le,{onClick:()=>this.setState({filter:""}),children:y.jsx(Bm,{})}):void 0}}}),this.renderDevices(),this.renderMessage(),this.renderEditDialog(),this.getSelectIdDialog(),this.renderConfirmDialog(),this.renderListOfDevices()]},"alexa")}}const Kh="#aba613",R1="#444",Yh="#00c6ff",xtt="#ff7ee3",ci="#00bc00",ktt="#e7000040",Ctt="#4f4f4f",$tt="#e9e9e9",Ttt="#5c8f65",Ett="#b4ffbe",Qo={OnOff:{color:Kh,icon:jb,desc:"On/Off"},Brightness:{color:Yh,icon:Au,desc:"Dimmer"},RGB:{color:xtt,icon:Au,desc:"Set color"},setTargetTemperature:{color:Yh,icon:M7,desc:"Set target temperature"},incrementTargetTemperature:{color:Kh,icon:ic,desc:"Increment target temperature"},decrementTargetTemperature:{color:R1,icon:sc,desc:"Decrement target temperature"},incrementPercentage:{color:Kh,icon:ic,desc:"Increment percentage"},decrementPercentage:{color:R1,icon:sc,desc:"Decrement percentage"},setColor:{color:Yh,icon:I7,desc:"Set color"},incrementColorTemperature:{color:Kh,icon:ic,desc:"Increment color temperature"},decrementColorTemperature:{color:R1,icon:sc,desc:"Decrement color temperature"},getTargetTemperature:{color:ci,icon:uu,desc:"Get target temperature"},getTemperatureReading:{color:ci,icon:uu,desc:"Get actual temperature"},setLockState:{color:Yh,icon:Vf,desc:"Set lock state"},getLockState:{color:ci,icon:Vf,desc:"Read lock state"},getActualTemperature:{color:ci,icon:uu,desc:"Get actual temperature"},getActualHumidity:{color:ci,icon:vQe,desc:"Get actual humidity"},getMotion:{color:ci,icon:pQe,desc:"Get motion"},getContact:{color:ci,icon:dQe,desc:"Get contact"}},Bt={tab:{width:"100%",height:"100%"},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},button:{marginRight:20},devLineExpand:{marginRight:10},devLineEdit:{position:"absolute",top:5,right:50},devLineDelete:{position:"absolute",top:5,right:0},devLineName:{},devLineNumber:{display:"inline-block",verticalAlign:"middle",width:15},editedId:{fontStyle:"italic"},devLine:{height:48,width:"100%",position:"relative"},devLineDescription:{display:"block",fontStyle:"italic",fontSize:12},devLineActions:{fontStyle:"italic",fontSize:12,paddingLeft:50,display:"inline-block"},devLineProgress:{position:"absolute",top:0,left:0},devLineNameBlock:{display:"inline-block",width:"calc(100% - 350px)"},actionIcon:{width:16},devSubLine:{position:"relative",height:48},devSubLineName:{marginLeft:5,marginTop:14,minWidth:100,display:"inline-block",fontSize:13,paddingLeft:70},devSubSubLine:{fontSize:10,fontStyle:"italic",display:"inline-block",marginLeft:15},devSubLineSetId:{fontStyle:"italic",display:"block",color:"#999"},headerRow:t=>({paddingLeft:t.spacing(1),background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"100%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"100%"}};class Um extends T.Component{constructor(e){super(e),Qo.translated||(Object.keys(Qo).forEach(r=>Qo[r].desc=A.t(Qo[r].desc)),Qo.translated=!0),this.state={editedSmartName:"",editId:"",editObjectName:"",deleteId:"",showSelectId:!1,showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:[],lastChanged:""},this.timerChanged=null,this.browseTimer=null,this.browseTimerCount=0,this.editedSmartName="",this.waitForUpdateID=null,this.onReadyUpdateBound=this.onReadyUpdate.bind(this),this.onResultUpdateBound=this.onResultUpdate.bind(this),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(r=>{this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(n=>{!r||!r.common||!r.common.enabled&&(!n||!n.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[]}):this.browse()})})}browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),this.browseTimer=setTimeout(()=>{this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browseAlisa",null).then(r=>{this.browseTimer&&clearTimeout(this.browseTimer),this.browseTimerCount=0,this.browseTimer=null,r&&r.error?this.setState({message:A.t(r.error)}):(this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,r)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),this.setState({devices:r,loading:!1,changed:[],browse:!1}))}))}onReadyUpdate(e,r){r&&r.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},300))}onResultUpdate(e,r){r&&r.ack===!0&&r.val&&this.setState({message:r.val})}componentDidMount(){this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r&&r()))}onEdit(e,r){r=r||this.state.devices;const n=r.find(o=>o.iobID===e);if(n){let o=n.name;return typeof o=="object"&&o&&(o=o[A.getLanguage()]||o.en),this.editedSmartName=o,this.setState({editId:e,editedSmartName:o,editObjectName:o}),!0}return!1}onAskDelete(e){this.setState({deleteId:e,showConfirmation:!0})}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>(ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r))).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}static renderActions(e){const r=[];if(!e.actions)return console.log("Something went wrong"),null;e.actions.sort((n,o)=>n===o?0:n==="OnOff"?-1:o==="OnOff"?1:0),Object.keys(Qo).forEach(n=>{if(e.actions.includes(n)){const o=Qo[n].icon;r.push(y.jsx("span",{title:Qo[n].desc,children:y.jsx(o,{style:{...Bt.actionIcon,color:Qo[n].color}})},n))}});for(let n=0;n<e.actions.length;n++)Qo[e.actions[n]]||r.push(y.jsx("span",{children:e.actions[n]},e.actions[n]));return r}onExpand(e){const r=JSON.parse(JSON.stringify(this.state.expanded)),n=r.indexOf(this.state.devices[e].name);n===-1?r.push(this.state.devices[e].name):r.splice(n,1),this.setState({expanded:r})}renderChannels(e,r){const n=[],o=e.main.getId||e.iobID,a=e.func,s=this.props.themeType==="dark"?Ctt:$tt;return n.push(y.jsxs("div",{style:{...Bt.devSubLine,background:s},children:[y.jsx("div",{style:Bt.devSubLineName,children:a.toUpperCase()}),y.jsxs("div",{style:Bt.devSubSubLine,children:[y.jsx("div",{children:e.main.getId}),e.main.setId&&e.main.setId!==e.main.getId?y.jsx("div",{style:Bt.devSubLineSetId,children:e.main.setId}):null]})]},`sub${o}_${r}`)),e.attributes.forEach(l=>{n.push(y.jsxs("div",{style:{...Bt.devSubLine,background:s},children:[y.jsx("div",{style:Bt.devSubLineName,children:l.name.toUpperCase()}),y.jsxs("div",{style:Bt.devSubSubLine,children:[y.jsx("div",{children:l.getId}),l.setId&&l.setId!==l.getId?y.jsx("div",{style:Bt.devSubLineSetId,children:l.setId}):null]})]},`sub${l.getId}`))}),n}renderDevice(e,r){const n=this.state.expanded.includes(e.name);let o=r%2?this.props.themeType==="dark"?"#272727":"#f1f1f1":"inherit";const a=this.state.changed.includes(e.iobID);return a?o=ktt:e.iobID===this.state.lastChanged&&(o=this.props.themeType==="dark"?Ttt:Ett),[y.jsxs("div",{style:{...Bt.devLine,background:o},children:[y.jsxs("div",{style:Bt.devLineNumber,children:[r+1,"."]}),y.jsx(Le,{style:Bt.devLineExpand,onClick:()=>this.onExpand(r),children:e.attributes.length?y.jsx(Su,{badgeContent:e.attributes.length,color:"primary",children:n?y.jsx(xc,{}):y.jsx(kc,{})}):n?y.jsx(xc,{}):y.jsx(kc,{})}),y.jsxs("div",{style:{...Bt.devLineNameBlock,display:"inline-block",position:"relative"},children:[y.jsx("span",{style:Bt.devLineName,children:e.name}),y.jsx("span",{style:Bt.devLineDescription,children:e.description}),a?y.jsx(Gr,{style:Bt.devLineProgress,size:20}):null]}),y.jsx("span",{style:Bt.devLineActions,children:Um.renderActions(e)}),y.jsx(Le,{"aria-label":"Edit",style:Bt.devLineEdit,onClick:()=>this.onEdit(e.iobID),children:y.jsx(Wm,{fontSize:"middle"})}),y.jsx(Le,{"aria-label":"Delete",style:Bt.devLineDelete,onClick:()=>this.onAskDelete(e.iobID),children:y.jsx(Os,{fontSize:"middle"})})]},`line${r}`),n?this.renderChannels(e,r):null]}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(e){e&&e.preventDefault(),this.addChanged(this.state.editId,()=>{const r=this.state.editId;this.setState({editId:"",editObjectName:"",lastChanged:r}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.props.socket.getObject(r).then(n=>(ee.updateSmartName(n,this.editedSmartName,void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(r,n))).then(()=>this.informInstance(r)).catch(n=>this.props.onError(n))})}renderEditDialog(){return this.state.editId?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>{this.editedSmartName=null,this.setState({editId:"",editedSmartName:""})},"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",this.state.editObjectName)}),y.jsxs(Qt,{children:[y.jsxs("p",{children:[y.jsx("span",{children:"ID:"})," ",y.jsx("span",{style:Bt.editedId,children:this.state.editId})]}),y.jsx(Et,{variant:"standard",style:{width:"100%"},label:A.t("Smart name"),autoFocus:!0,onKeyDown:e=>e.key==="Enter"&&this.changeSmartName(e),onChange:e=>this.editedSmartName=e.target.value,defaultValue:this.state.editedSmartName,helperText:A.t("You can enter several names divided by comma"),margin:"normal"})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{variant:"contained",startIcon:y.jsx(Vt,{}),color:"grey",onClick:()=>{this.editedSmartName=null,this.setState({editId:"",editedSmartName:""})},children:A.t("Cancel")})]})]}):null}renderConfirmDialog(){return this.state.showConfirmation?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({showConfirmation:""}),"aria-labelledby":"confirmation-dialog-title","aria-describedby":"confirmation-dialog-description",children:[y.jsx(Gt,{id:"confirmation-dialog-title",children:this.props.title||A.t("Device %s will be disabled.",this.state.deleteId)}),y.jsx(Qt,{children:y.jsx("p",{children:A.t("Are you sure?")})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.onDelete(),color:"primary",autoFocus:!0,startIcon:y.jsx(Os,{}),children:A.t("Delete")}),y.jsx(Ue,{color:"grey",variant:"contained",onClick:()=>this.setState({showConfirmation:""}),startIcon:y.jsx(Vt,{}),children:A.t("Cancel")})]})]}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1}),this.props.socket.getObject(e).then(r=>{if(r){const n=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()});ee.updateSmartName(r,(n||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(r._id),this.waitForUpdateID=r._id,this.state.lastChanged!==r._id&&(this.setState({lastChanged:r._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(r._id,r).then(()=>this.informInstance(r._id)).catch(o=>this.setState({message:o}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectAlisa"):null}renderDevices(){const e=this.state.filter.toLowerCase(),r=[];for(let n=0;n<this.state.devices.length;n++)this.state.filter&&!this.state.devices[n].name.toLowerCase().includes(e)||r.push(this.renderDevice(this.state.devices[n],n));return y.jsx("div",{style:Bt.columnDiv,children:r},"listDevices")}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsx(Xe,{sx:Bt.headerRow,children:y.jsx("div",{style:Bt.headerCell,children:A.t("Name")})}),y.jsx("div",{style:Bt.tableDiv,children:this.state.devices.map((e,r)=>y.jsx("div",{children:y.jsx("div",{style:Bt.tableCell,children:e.name})},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>r.name);ee.copyToClipboard(e.join(`
666
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Hm=typeof window<"u"&&typeof window.document<"u",ha=Hm?window:{},V2=Hm&&ha.document.documentElement?"ontouchstart"in ha.document.documentElement:!1,q2=Hm?"PointerEvent"in ha:!1,dr="cropper",G2="all",Z7="crop",Q7="move",eD="zoom",si="e",ii="w",Dl="s",fs="n",Rd="ne",jd="nw",zd="se",Pd="sw",Vb="".concat(dr,"-crop"),h6="".concat(dr,"-disabled"),An="".concat(dr,"-hidden"),f6="".concat(dr,"-hide"),ket="".concat(dr,"-invisible"),Gf="".concat(dr,"-modal"),qb="".concat(dr,"-move"),Nu="".concat(dr,"Action"),Fh="".concat(dr,"Preview"),J2="crop",tD="move",rD="none",Gb="crop",Jb="cropend",Xb="cropmove",Kb="cropstart",m6="dblclick",Cet=V2?"touchstart":"mousedown",$et=V2?"touchmove":"mousemove",Tet=V2?"touchend touchcancel":"mouseup",g6=q2?"pointerdown":Cet,_6=q2?"pointermove":$et,v6=q2?"pointerup pointercancel":Tet,y6="ready",b6="resize",w6="wheel",Yb="zoom",S6="image/jpeg",Eet=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,Oet=/^data:/,Det=/^data:image\/jpeg;base64,/,Aet=/^img|canvas$/i,nD=200,oD=100,x6={viewMode:0,dragMode:J2,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:nD,minContainerHeight:oD,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},Iet='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>',Net=Number.isNaN||ha.isNaN;function $t(t){return typeof t=="number"&&!Net(t)}var k6=function(e){return e>0&&e<1/0};function A1(t){return typeof t>"u"}function Ei(t){return Hb(t)==="object"&&t!==null}var Met=Object.prototype.hasOwnProperty;function ec(t){if(!Ei(t))return!1;try{var e=t.constructor,r=e.prototype;return e&&r&&Met.call(r,"isPrototypeOf")}catch{return!1}}function On(t){return typeof t=="function"}var Ret=Array.prototype.slice;function aD(t){return Array.from?Array.from(t):Ret.call(t)}function Dr(t,e){return t&&On(e)&&(Array.isArray(t)||$t(t.length)?aD(t).forEach(function(r,n){e.call(t,r,n,t)}):Ei(t)&&Object.keys(t).forEach(function(r){e.call(t,t[r],r,t)})),t}var pr=Object.assign||function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Ei(e)&&n.length>0&&n.forEach(function(a){Ei(a)&&Object.keys(a).forEach(function(s){e[s]=a[s]})}),e},jet=/\.\d*(?:0|9){12}\d*$/;function lc(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return jet.test(t)?Math.round(t*e)/e:t}var zet=/^width|height|left|top|marginLeft|marginTop$/;function Cs(t,e){var r=t.style;Dr(e,function(n,o){zet.test(o)&&$t(n)&&(n="".concat(n,"px")),r[o]=n})}function Pet(t,e){return t.classList?t.classList.contains(e):t.className.indexOf(e)>-1}function Br(t,e){if(e){if($t(t.length)){Dr(t,function(n){Br(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 ua(t,e){if(e){if($t(t.length)){Dr(t,function(r){ua(r,e)});return}if(t.classList){t.classList.remove(e);return}t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,""))}}function tc(t,e,r){if(e){if($t(t.length)){Dr(t,function(n){tc(n,e,r)});return}r?Br(t,e):ua(t,e)}}var Let=/([a-z\d])([A-Z])/g;function X2(t){return t.replace(Let,"$1-$2").toLowerCase()}function Zb(t,e){return Ei(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(X2(e)))}function Mu(t,e,r){Ei(r)?t[e]=r:t.dataset?t.dataset[e]=r:t.setAttribute("data-".concat(X2(e)),r)}function Fet(t,e){if(Ei(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(X2(e)))}var sD=/\s\s*/,iD=(function(){var t=!1;if(Hm){var e=!1,r=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(a){e=a}});ha.addEventListener("test",r,n),ha.removeEventListener("test",r,n)}return t})();function Oo(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(sD).forEach(function(a){if(!iD){var s=t.listeners;s&&s[a]&&s[a][r]&&(o=s[a][r],delete s[a][r],Object.keys(s[a]).length===0&&delete s[a],Object.keys(s).length===0&&delete t.listeners)}t.removeEventListener(a,o,n)})}function po(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=r;e.trim().split(sD).forEach(function(a){if(n.once&&!iD){var s=t.listeners,l=s===void 0?{}:s;o=function(){delete l[a][r],t.removeEventListener(a,o,n);for(var p=arguments.length,m=new Array(p),u=0;u<p;u++)m[u]=arguments[u];r.apply(t,m)},l[a]||(l[a]={}),l[a][r]&&t.removeEventListener(a,l[a][r],n),l[a][r]=o,t.listeners=l}t.addEventListener(a,o,n)})}function cc(t,e,r){var n;return On(Event)&&On(CustomEvent)?n=new CustomEvent(e,{detail:r,bubbles:!0,cancelable:!0}):(n=document.createEvent("CustomEvent"),n.initCustomEvent(e,!0,!0,r)),t.dispatchEvent(n)}function lD(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var I1=ha.location,Bet=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function C6(t){var e=t.match(Bet);return e!==null&&(e[1]!==I1.protocol||e[2]!==I1.hostname||e[3]!==I1.port)}function $6(t){var e="timestamp=".concat(new Date().getTime());return t+(t.indexOf("?")===-1?"?":"&")+e}function pu(t){var e=t.rotate,r=t.scaleX,n=t.scaleY,o=t.translateX,a=t.translateY,s=[];$t(o)&&o!==0&&s.push("translateX(".concat(o,"px)")),$t(a)&&a!==0&&s.push("translateY(".concat(a,"px)")),$t(e)&&e!==0&&s.push("rotate(".concat(e,"deg)")),$t(r)&&r!==1&&s.push("scaleX(".concat(r,")")),$t(n)&&n!==1&&s.push("scaleY(".concat(n,")"));var l=s.length?s.join(" "):"none";return{WebkitTransform:l,msTransform:l,transform:l}}function Wet(t){var e=X7({},t),r=0;return Dr(t,function(n,o){delete e[o],Dr(e,function(a){var s=Math.abs(n.startX-a.startX),l=Math.abs(n.startY-a.startY),d=Math.abs(n.endX-a.endX),p=Math.abs(n.endY-a.endY),m=Math.sqrt(s*s+l*l),u=Math.sqrt(d*d+p*p),g=(u-m)/m;Math.abs(g)>Math.abs(r)&&(r=g)})}),r}function Bh(t,e){var r=t.pageX,n=t.pageY,o={endX:r,endY:n};return e?o:X7({startX:r,startY:n},o)}function Het(t){var e=0,r=0,n=0;return Dr(t,function(o){var a=o.startX,s=o.startY;e+=a,r+=s,n+=1}),e/=n,r/=n,{pageX:e,pageY:r}}function $s(t){var e=t.aspectRatio,r=t.height,n=t.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",a=k6(n),s=k6(r);if(a&&s){var l=r*e;o==="contain"&&l>n||o==="cover"&&l<n?r=n/e:n=r*e}else a?r=n/e:s&&(n=r*e);return{width:n,height:r}}function Uet(t){var e=t.width,r=t.height,n=t.degree;if(n=Math.abs(n)%180,n===90)return{width:r,height:e};var o=n%90*Math.PI/180,a=Math.sin(o),s=Math.cos(o),l=e*s+r*a,d=e*a+r*s;return n>90?{width:d,height:l}:{width:l,height:d}}function Vet(t,e,r,n){var o=e.aspectRatio,a=e.naturalWidth,s=e.naturalHeight,l=e.rotate,d=l===void 0?0:l,p=e.scaleX,m=p===void 0?1:p,u=e.scaleY,g=u===void 0?1:u,_=r.aspectRatio,b=r.naturalWidth,w=r.naturalHeight,x=n.fillColor,C=x===void 0?"transparent":x,D=n.imageSmoothingEnabled,O=D===void 0?!0:D,I=n.imageSmoothingQuality,N=I===void 0?"low":I,E=n.maxWidth,M=E===void 0?1/0:E,j=n.maxHeight,z=j===void 0?1/0:j,$=n.minWidth,L=$===void 0?0:$,H=n.minHeight,U=H===void 0?0:H,W=document.createElement("canvas"),B=W.getContext("2d"),K=$s({aspectRatio:_,width:M,height:z}),oe=$s({aspectRatio:_,width:L,height:U},"cover"),Z=Math.min(K.width,Math.max(oe.width,b)),q=Math.min(K.height,Math.max(oe.height,w)),ne=$s({aspectRatio:o,width:M,height:z}),P=$s({aspectRatio:o,width:L,height:U},"cover"),J=Math.min(ne.width,Math.max(P.width,a)),ce=Math.min(ne.height,Math.max(P.height,s)),de=[-J/2,-ce/2,J,ce];return W.width=lc(Z),W.height=lc(q),B.fillStyle=C,B.fillRect(0,0,Z,q),B.save(),B.translate(Z/2,q/2),B.rotate(d*Math.PI/180),B.scale(m,g),B.imageSmoothingEnabled=O,B.imageSmoothingQuality=N,B.drawImage.apply(B,[t].concat(Y7(de.map(function(pe){return Math.floor(lc(pe))})))),B.restore(),W}var cD=String.fromCharCode;function qet(t,e,r){var n="";r+=e;for(var o=e;o<r;o+=1)n+=cD(t.getUint8(o));return n}var Get=/^data:.*,/;function Jet(t){var e=t.replace(Get,""),r=atob(e),n=new ArrayBuffer(r.length),o=new Uint8Array(n);return Dr(o,function(a,s){o[s]=r.charCodeAt(s)}),n}function Xet(t,e){for(var r=[],n=8192,o=new Uint8Array(t);o.length>0;)r.push(cD.apply(null,aD(o.subarray(0,n)))),o=o.subarray(n);return"data:".concat(e,";base64,").concat(btoa(r.join("")))}function Ket(t){var e=new DataView(t),r;try{var n,o,a;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var s=e.byteLength,l=2;l+1<s;){if(e.getUint8(l)===255&&e.getUint8(l+1)===225){o=l;break}l+=1}if(o){var d=o+4,p=o+10;if(qet(e,d,4)==="Exif"){var m=e.getUint16(p);if(n=m===18761,(n||m===19789)&&e.getUint16(p+2,n)===42){var u=e.getUint32(p+4,n);u>=8&&(a=p+u)}}}if(a){var g=e.getUint16(a,n),_,b;for(b=0;b<g;b+=1)if(_=a+b*12+2,e.getUint16(_,n)===274){_+=8,r=e.getUint16(_,n),e.setUint16(_,1,n);break}}}catch{r=1}return r}function Yet(t){var e=0,r=1,n=1;switch(t){case 2:r=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,r=-1;break;case 8:e=-90;break}return{rotate:e,scaleX:r,scaleY:n}}var Zet={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,r=this.options,n=this.container,o=this.cropper,a=Number(r.minContainerWidth),s=Number(r.minContainerHeight);Br(o,An),ua(e,An);var l={width:Math.max(n.offsetWidth,a>=0?a:nD),height:Math.max(n.offsetHeight,s>=0?s:oD)};this.containerData=l,Cs(o,{width:l.width,height:l.height}),Br(e,An),ua(o,An)},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,s=o?r.naturalWidth:r.naturalHeight,l=a/s,d=e.width,p=e.height;e.height*l>e.width?n===3?d=e.height*l:p=e.width/l:n===3?p=e.width/l:d=e.height*l;var m={aspectRatio:l,naturalWidth:a,naturalHeight:s,width:d,height:p};this.canvasData=m,this.limited=n===1||n===2,this.limitCanvas(!0,!0),m.width=Math.min(Math.max(m.width,m.minWidth),m.maxWidth),m.height=Math.min(Math.max(m.height,m.minHeight),m.maxHeight),m.left=(e.width-m.width)/2,m.top=(e.height-m.height)/2,m.oldLeft=m.left,m.oldTop=m.top,this.initialCanvasData=pr({},m)},limitCanvas:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,s=this.cropBoxData,l=n.viewMode,d=a.aspectRatio,p=this.cropped&&s;if(e){var m=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;l>1?(m=Math.max(m,o.width),u=Math.max(u,o.height),l===3&&(u*d>m?m=u*d:u=m/d)):l>0&&(m?m=Math.max(m,p?s.width:0):u?u=Math.max(u,p?s.height:0):p&&(m=s.width,u=s.height,u*d>m?m=u*d:u=m/d));var g=$s({aspectRatio:d,width:m,height:u});m=g.width,u=g.height,a.minWidth=m,a.minHeight=u,a.maxWidth=1/0,a.maxHeight=1/0}if(r)if(l>(p?0:1)){var _=o.width-a.width,b=o.height-a.height;a.minLeft=Math.min(0,_),a.minTop=Math.min(0,b),a.maxLeft=Math.max(0,_),a.maxTop=Math.max(0,b),p&&this.limited&&(a.minLeft=Math.min(s.left,s.left+(s.width-a.width)),a.minTop=Math.min(s.top,s.top+(s.height-a.height)),a.maxLeft=s.left,a.maxTop=s.top,l===2&&(a.width>=o.width&&(a.minLeft=Math.min(0,_),a.maxLeft=Math.max(0,_)),a.height>=o.height&&(a.minTop=Math.min(0,b),a.maxTop=Math.max(0,b))))}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=Uet({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),s=a.width,l=a.height,d=n.width*(s/n.naturalWidth),p=n.height*(l/n.naturalHeight);n.left-=(d-n.width)/2,n.top-=(p-n.height)/2,n.width=d,n.height=p,n.aspectRatio=s/l,n.naturalWidth=s,n.naturalHeight=l,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,Cs(this.canvas,pr({width:n.width,height:n.height},pu({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var r=this.canvasData,n=this.imageData,o=n.naturalWidth*(r.width/r.naturalWidth),a=n.naturalHeight*(r.height/r.naturalHeight);pr(n,{width:o,height:a,left:(r.width-o)/2,top:(r.height-a)/2}),Cs(this.image,pr({width:n.width,height:n.height},pu(pr({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,r=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,o=Number(e.autoCropArea)||.8,a={width:r.width,height:r.height};n&&(r.height*n>r.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=pr({},a)},limitCropBox:function(e,r){var n=this.options,o=this.containerData,a=this.canvasData,s=this.cropBoxData,l=this.limited,d=n.aspectRatio;if(e){var p=Number(n.minCropBoxWidth)||0,m=Number(n.minCropBoxHeight)||0,u=l?Math.min(o.width,a.width,a.width+a.left,o.width-a.left):o.width,g=l?Math.min(o.height,a.height,a.height+a.top,o.height-a.top):o.height;p=Math.min(p,o.width),m=Math.min(m,o.height),d&&(p&&m?m*d>p?m=p/d:p=m*d:p?m=p/d:m&&(p=m*d),g*d>u?g=u/d:u=g*d),s.minWidth=Math.min(p,u),s.minHeight=Math.min(m,g),s.maxWidth=u,s.maxHeight=g}r&&(l?(s.minLeft=Math.max(0,a.left),s.minTop=Math.max(0,a.top),s.maxLeft=Math.min(o.width,a.left+a.width)-s.width,s.maxTop=Math.min(o.height,a.top+a.height)-s.height):(s.minLeft=0,s.minTop=0,s.maxLeft=o.width-s.width,s.maxTop=o.height-s.height))},renderCropBox:function(){var e=this.options,r=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Mu(this.face,Nu,n.width>=r.width&&n.height>=r.height?Q7:G2),Cs(this.cropBox,pr({width:n.width,height:n.height},pu({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),cc(this.element,Gb,this.getData())}},Qet={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",s=document.createElement("img");if(r&&(s.crossOrigin=r),s.src=o,s.alt=a,this.viewBox.appendChild(s),this.viewBoxImage=s,!!n){var l=n;typeof n=="string"?l=e.ownerDocument.querySelectorAll(n):n.querySelector&&(l=[n]),this.previews=l,Dr(l,function(d){var p=document.createElement("img");Mu(d,Fh,{width:d.offsetWidth,height:d.offsetHeight,html:d.innerHTML}),r&&(p.crossOrigin=r),p.src=o,p.alt=a,p.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;"',d.innerHTML="",d.appendChild(p)})}},resetPreview:function(){Dr(this.previews,function(e){var r=Zb(e,Fh);Cs(e,{width:r.width,height:r.height}),e.innerHTML=r.html,Fet(e,Fh)})},preview:function(){var e=this.imageData,r=this.canvasData,n=this.cropBoxData,o=n.width,a=n.height,s=e.width,l=e.height,d=n.left-r.left-e.left,p=n.top-r.top-e.top;!this.cropped||this.disabled||(Cs(this.viewBoxImage,pr({width:s,height:l},pu(pr({translateX:-d,translateY:-p},e)))),Dr(this.previews,function(m){var u=Zb(m,Fh),g=u.width,_=u.height,b=g,w=_,x=1;o&&(x=g/o,w=a*x),a&&w>_&&(x=_/a,b=o*x,w=_),Cs(m,{width:b,height:w}),Cs(m.getElementsByTagName("img")[0],pr({width:s*x,height:l*x},pu(pr({translateX:-d*x,translateY:-p*x},e))))}))}},ett={bind:function(){var e=this.element,r=this.options,n=this.cropper;On(r.cropstart)&&po(e,Kb,r.cropstart),On(r.cropmove)&&po(e,Xb,r.cropmove),On(r.cropend)&&po(e,Jb,r.cropend),On(r.crop)&&po(e,Gb,r.crop),On(r.zoom)&&po(e,Yb,r.zoom),po(n,g6,this.onCropStart=this.cropStart.bind(this)),r.zoomable&&r.zoomOnWheel&&po(n,w6,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&po(n,m6,this.onDblclick=this.dblclick.bind(this)),po(e.ownerDocument,_6,this.onCropMove=this.cropMove.bind(this)),po(e.ownerDocument,v6,this.onCropEnd=this.cropEnd.bind(this)),r.responsive&&po(window,b6,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,r=this.options,n=this.cropper;On(r.cropstart)&&Oo(e,Kb,r.cropstart),On(r.cropmove)&&Oo(e,Xb,r.cropmove),On(r.cropend)&&Oo(e,Jb,r.cropend),On(r.crop)&&Oo(e,Gb,r.crop),On(r.zoom)&&Oo(e,Yb,r.zoom),Oo(n,g6,this.onCropStart),r.zoomable&&r.zoomOnWheel&&Oo(n,w6,this.onWheel,{passive:!1,capture:!0}),r.toggleDragModeOnDblclick&&Oo(n,m6,this.onDblclick),Oo(e.ownerDocument,_6,this.onCropMove),Oo(e.ownerDocument,v6,this.onCropEnd),r.responsive&&Oo(window,b6,this.onResize)}},ttt={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,s=Math.abs(o-1)>Math.abs(a-1)?o:a;if(s!==1){var l,d;e.restore&&(l=this.getCanvasData(),d=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(Dr(l,function(p,m){l[m]=p*s})),this.setCropBoxData(Dr(d,function(p,m){d[m]=p*s})))}}},dblclick:function(){this.disabled||this.options.dragMode===rD||this.setDragMode(Pet(this.dragBox,Vb)?tD:J2)},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")&&($t(r)&&r!==1||$t(n)&&n!==0||e.ctrlKey))){var o=this.options,a=this.pointers,s;e.changedTouches?Dr(e.changedTouches,function(l){a[l.identifier]=Bh(l)}):a[e.pointerId||0]=Bh(e),Object.keys(a).length>1&&o.zoomable&&o.zoomOnTouch?s=eD:s=Zb(e.target,Nu),Eet.test(s)&&cc(this.element,Kb,{originalEvent:e,action:s})!==!1&&(e.preventDefault(),this.action=s,this.cropping=!1,s===Z7&&(this.cropping=!0,Br(this.dragBox,Gf)))}},cropMove:function(e){var r=this.action;if(!(this.disabled||!r)){var n=this.pointers;e.preventDefault(),cc(this.element,Xb,{originalEvent:e,action:r})!==!1&&(e.changedTouches?Dr(e.changedTouches,function(o){pr(n[o.identifier]||{},Bh(o,!0))}):pr(n[e.pointerId||0]||{},Bh(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var r=this.action,n=this.pointers;e.changedTouches?Dr(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,tc(this.dragBox,Gf,this.cropped&&this.options.modal)),cc(this.element,Jb,{originalEvent:e,action:r}))}}},rtt={change:function(e){var r=this.options,n=this.canvasData,o=this.containerData,a=this.cropBoxData,s=this.pointers,l=this.action,d=r.aspectRatio,p=a.left,m=a.top,u=a.width,g=a.height,_=p+u,b=m+g,w=0,x=0,C=o.width,D=o.height,O=!0,I;!d&&e.shiftKey&&(d=u&&g?u/g:1),this.limited&&(w=a.minLeft,x=a.minTop,C=w+Math.min(o.width,n.width,n.left+n.width),D=x+Math.min(o.height,n.height,n.top+n.height));var N=s[Object.keys(s)[0]],E={x:N.endX-N.startX,y:N.endY-N.startY},M=function(z){switch(z){case si:_+E.x>C&&(E.x=C-_);break;case ii:p+E.x<w&&(E.x=w-p);break;case fs:m+E.y<x&&(E.y=x-m);break;case Dl:b+E.y>D&&(E.y=D-b);break}};switch(l){case G2:p+=E.x,m+=E.y;break;case si:if(E.x>=0&&(_>=C||d&&(m<=x||b>=D))){O=!1;break}M(si),u+=E.x,u<0&&(l=ii,u=-u,p-=u),d&&(g=u/d,m+=(a.height-g)/2);break;case fs:if(E.y<=0&&(m<=x||d&&(p<=w||_>=C))){O=!1;break}M(fs),g-=E.y,m+=E.y,g<0&&(l=Dl,g=-g,m-=g),d&&(u=g*d,p+=(a.width-u)/2);break;case ii:if(E.x<=0&&(p<=w||d&&(m<=x||b>=D))){O=!1;break}M(ii),u-=E.x,p+=E.x,u<0&&(l=si,u=-u,p-=u),d&&(g=u/d,m+=(a.height-g)/2);break;case Dl:if(E.y>=0&&(b>=D||d&&(p<=w||_>=C))){O=!1;break}M(Dl),g+=E.y,g<0&&(l=fs,g=-g,m-=g),d&&(u=g*d,p+=(a.width-u)/2);break;case Rd:if(d){if(E.y<=0&&(m<=x||_>=C)){O=!1;break}M(fs),g-=E.y,m+=E.y,u=g*d}else M(fs),M(si),E.x>=0?_<C?u+=E.x:E.y<=0&&m<=x&&(O=!1):u+=E.x,E.y<=0?m>x&&(g-=E.y,m+=E.y):(g-=E.y,m+=E.y);u<0&&g<0?(l=Pd,g=-g,u=-u,m-=g,p-=u):u<0?(l=jd,u=-u,p-=u):g<0&&(l=zd,g=-g,m-=g);break;case jd:if(d){if(E.y<=0&&(m<=x||p<=w)){O=!1;break}M(fs),g-=E.y,m+=E.y,u=g*d,p+=a.width-u}else M(fs),M(ii),E.x<=0?p>w?(u-=E.x,p+=E.x):E.y<=0&&m<=x&&(O=!1):(u-=E.x,p+=E.x),E.y<=0?m>x&&(g-=E.y,m+=E.y):(g-=E.y,m+=E.y);u<0&&g<0?(l=zd,g=-g,u=-u,m-=g,p-=u):u<0?(l=Rd,u=-u,p-=u):g<0&&(l=Pd,g=-g,m-=g);break;case Pd:if(d){if(E.x<=0&&(p<=w||b>=D)){O=!1;break}M(ii),u-=E.x,p+=E.x,g=u/d}else M(Dl),M(ii),E.x<=0?p>w?(u-=E.x,p+=E.x):E.y>=0&&b>=D&&(O=!1):(u-=E.x,p+=E.x),E.y>=0?b<D&&(g+=E.y):g+=E.y;u<0&&g<0?(l=Rd,g=-g,u=-u,m-=g,p-=u):u<0?(l=zd,u=-u,p-=u):g<0&&(l=jd,g=-g,m-=g);break;case zd:if(d){if(E.x>=0&&(_>=C||b>=D)){O=!1;break}M(si),u+=E.x,g=u/d}else M(Dl),M(si),E.x>=0?_<C?u+=E.x:E.y>=0&&b>=D&&(O=!1):u+=E.x,E.y>=0?b<D&&(g+=E.y):g+=E.y;u<0&&g<0?(l=jd,g=-g,u=-u,m-=g,p-=u):u<0?(l=Pd,u=-u,p-=u):g<0&&(l=Rd,g=-g,m-=g);break;case Q7:this.move(E.x,E.y),O=!1;break;case eD:this.zoom(Wet(s),e),O=!1;break;case Z7:if(!E.x||!E.y){O=!1;break}I=lD(this.cropper),p=N.startX-I.left,m=N.startY-I.top,u=a.minWidth,g=a.minHeight,E.x>0?l=E.y>0?zd:Rd:E.x<0&&(p-=u,l=E.y>0?Pd:jd),E.y<0&&(m-=g),this.cropped||(ua(this.cropBox,An),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}O&&(a.width=u,a.height=g,a.left=p,a.top=m,this.action=l,this.renderCropBox()),Dr(s,function(j){j.startX=j.endX,j.startY=j.endY})}},ntt={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Br(this.dragBox,Gf),ua(this.cropBox,An),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=pr({},this.initialImageData),this.canvasData=pr({},this.initialCanvasData),this.cropBoxData=pr({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(pr(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ua(this.dragBox,Gf),Br(this.cropBox,An)),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,Dr(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,ua(this.cropper,h6)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Br(this.cropper,h6)),this},destroy:function(){var e=this.element;return e[dr]?(e[dr]=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(A1(e)?e:o+Number(e),A1(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&&($t(e)&&(n.left=e,o=!0),$t(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,s=a.width,l=a.height,d=a.naturalWidth,p=a.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&o.zoomable){var m=d*e,u=p*e;if(cc(this.element,Yb,{ratio:e,oldRatio:s/d,originalEvent:n})===!1)return this;if(n){var g=this.pointers,_=lD(this.cropper),b=g&&Object.keys(g).length?Het(g):{pageX:n.pageX,pageY:n.pageY};a.left-=(m-s)*((b.pageX-_.left-a.left)/s),a.top-=(u-l)*((b.pageY-_.top-a.top)/l)}else ec(r)&&$t(r.x)&&$t(r.y)?(a.left-=(m-s)*((r.x-a.left)/s),a.top-=(u-l)*((r.y-a.top)/l)):(a.left-=(m-s)/2,a.top-=(u-l)/2);a.width=m,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),$t(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,$t(r)?r:1)},scaleY:function(e){var r=this.imageData.scaleX;return this.scale($t(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&&($t(e)&&(n.scaleX=e,o=!0),$t(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,s;if(this.ready&&this.cropped){s={x:a.left-o.left,y:a.top-o.top,width:a.width,height:a.height};var l=n.width/n.naturalWidth;if(Dr(s,function(m,u){s[u]=m/l}),e){var d=Math.round(s.y+s.height),p=Math.round(s.x+s.width);s.x=Math.round(s.x),s.y=Math.round(s.y),s.width=p-s.x,s.height=d-s.y}}else s={x:0,y:0,width:0,height:0};return r.rotatable&&(s.rotate=n.rotate||0),r.scalable&&(s.scaleX=n.scaleX||1,s.scaleY=n.scaleY||1),s},setData:function(e){var r=this.options,n=this.imageData,o=this.canvasData,a={};if(this.ready&&!this.disabled&&ec(e)){var s=!1;r.rotatable&&$t(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,s=!0),r.scalable&&($t(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,s=!0),$t(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,s=!0)),s&&this.renderCanvas(!0,!0);var l=n.width/n.naturalWidth;$t(e.x)&&(a.left=e.x*l+o.left),$t(e.y)&&(a.top=e.y*l+o.top),$t(e.width)&&(a.width=e.width*l),$t(e.height)&&(a.height=e.height*l),this.setCropBoxData(a)}return this},getContainerData:function(){return this.ready?pr({},this.containerData):{}},getImageData:function(){return this.sized?pr({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,r={};return this.ready&&Dr(["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&&ec(e)&&($t(e.left)&&(r.left=e.left),$t(e.top)&&(r.top=e.top),$t(e.width)?(r.width=e.width,r.height=e.width/n):$t(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&&ec(e)&&($t(e.left)&&(r.left=e.left),$t(e.top)&&(r.top=e.top),$t(e.width)&&e.width!==r.width&&(o=!0,r.width=e.width),$t(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=Vet(this.image,this.imageData,r,e);if(!this.cropped)return n;var o=this.getData(e.rounded),a=o.x,s=o.y,l=o.width,d=o.height,p=n.width/Math.floor(r.naturalWidth);p!==1&&(a*=p,s*=p,l*=p,d*=p);var m=l/d,u=$s({aspectRatio:m,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),g=$s({aspectRatio:m,width:e.minWidth||0,height:e.minHeight||0},"cover"),_=$s({aspectRatio:m,width:e.width||(p!==1?n.width:l),height:e.height||(p!==1?n.height:d)}),b=_.width,w=_.height;b=Math.min(u.width,Math.max(g.width,b)),w=Math.min(u.height,Math.max(g.height,w));var x=document.createElement("canvas"),C=x.getContext("2d");x.width=lc(b),x.height=lc(w),C.fillStyle=e.fillColor||"transparent",C.fillRect(0,0,b,w);var D=e.imageSmoothingEnabled,O=D===void 0?!0:D,I=e.imageSmoothingQuality;C.imageSmoothingEnabled=O,I&&(C.imageSmoothingQuality=I);var N=n.width,E=n.height,M=a,j=s,z,$,L,H,U,W;M<=-l||M>N?(M=0,z=0,L=0,U=0):M<=0?(L=-M,M=0,z=Math.min(N,l+M),U=z):M<=N&&(L=0,z=Math.min(l,N-M),U=z),z<=0||j<=-d||j>E?(j=0,$=0,H=0,W=0):j<=0?(H=-j,j=0,$=Math.min(E,d+j),W=$):j<=E&&(H=0,$=Math.min(d,E-j),W=$);var B=[M,j,z,$];if(U>0&&W>0){var K=b/l;B.push(L*K,H*K,U*K,W*K)}return C.drawImage.apply(C,[n].concat(Y7(B.map(function(oe){return Math.floor(lc(oe))})))),x},setAspectRatio:function(e){var r=this.options;return!this.disabled&&!A1(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===J2,s=r.movable&&e===tD;e=a||s?e:rD,r.dragMode=e,Mu(n,Nu,e),tc(n,Vb,a),tc(n,qb,s),r.cropBoxMovable||(Mu(o,Nu,e),tc(o,Vb,a),tc(o,qb,s))}return this}},ott=ha.Cropper,dD=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(get(this,t),!e||!Aet.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=pr({},x6,ec(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 _et(t,[{key:"init",value:function(){var r=this.element,n=r.tagName.toLowerCase(),o;if(!r[dr]){if(r[dr]=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(Oet.test(r)){Det.test(r)?this.read(Jet(r)):this.clone();return}var s=new XMLHttpRequest,l=this.clone.bind(this);this.reloading=!0,this.xhr=s,s.onabort=l,s.onerror=l,s.ontimeout=l,s.onprogress=function(){s.getResponseHeader("content-type")!==S6&&s.abort()},s.onload=function(){n.read(s.response)},s.onloadend=function(){n.reloading=!1,n.xhr=null},a.checkCrossOrigin&&C6(r)&&o.crossOrigin&&(r=$6(r)),s.open("GET",r,!0),s.responseType="arraybuffer",s.withCredentials=o.crossOrigin==="use-credentials",s.send()}}},{key:"read",value:function(r){var n=this.options,o=this.imageData,a=Ket(r),s=0,l=1,d=1;if(a>1){this.url=Xet(r,S6);var p=Yet(a);s=p.rotate,l=p.scaleX,d=p.scaleY}n.rotatable&&(o.rotate=s),n.scalable&&(o.scaleX=l,o.scaleY=d),this.clone()}},{key:"clone",value:function(){var r=this.element,n=this.url,o=r.crossOrigin,a=n;this.options.checkCrossOrigin&&C6(n)&&(o||(o="anonymous"),a=$6(n)),this.crossOrigin=o,this.crossOriginUrl=a;var s=document.createElement("img");o&&(s.crossOrigin=o),s.src=a||n,s.alt=r.alt||"The image to crop",this.image=s,s.onload=this.start.bind(this),s.onerror=this.stop.bind(this),Br(s,f6),r.parentNode.insertBefore(s,r.nextSibling)}},{key:"start",value:function(){var r=this,n=this.image;n.onload=null,n.onerror=null,this.sizing=!0;var o=ha.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(ha.navigator.userAgent),a=function(p,m){pr(r.imageData,{naturalWidth:p,naturalHeight:m,aspectRatio:p/m}),r.initialImageData=pr({},r.imageData),r.sizing=!1,r.sized=!0,r.build()};if(n.naturalWidth&&!o){a(n.naturalWidth,n.naturalHeight);return}var s=document.createElement("img"),l=document.body||document.documentElement;this.sizingImage=s,s.onload=function(){a(s.width,s.height),o||l.removeChild(s)},s.src=n.src,o||(s.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;",l.appendChild(s))}},{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,s=document.createElement("div");s.innerHTML=Iet;var l=s.querySelector(".".concat(dr,"-container")),d=l.querySelector(".".concat(dr,"-canvas")),p=l.querySelector(".".concat(dr,"-drag-box")),m=l.querySelector(".".concat(dr,"-crop-box")),u=m.querySelector(".".concat(dr,"-face"));this.container=a,this.cropper=l,this.canvas=d,this.dragBox=p,this.cropBox=m,this.viewBox=l.querySelector(".".concat(dr,"-view-box")),this.face=u,d.appendChild(o),Br(r,An),a.insertBefore(l,r.nextSibling),ua(o,f6),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,Br(m,An),n.guides||Br(m.getElementsByClassName("".concat(dr,"-dashed")),An),n.center||Br(m.getElementsByClassName("".concat(dr,"-center")),An),n.background&&Br(l,"".concat(dr,"-bg")),n.highlight||Br(u,ket),n.cropBoxMovable&&(Br(u,qb),Mu(u,Nu,G2)),n.cropBoxResizable||(Br(m.getElementsByClassName("".concat(dr,"-line")),An),Br(m.getElementsByClassName("".concat(dr,"-point")),An)),this.render(),this.ready=!0,this.setDragMode(n.dragMode),n.autoCrop&&this.crop(),this.setData(n.data),On(n.ready)&&po(r,y6,n.ready,{once:!0}),cc(r,y6)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var r=this.cropper.parentNode;r&&r.removeChild(this.cropper),ua(this.element,An)}}},{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=ott,t}},{key:"setDefaults",value:function(r){pr(x6,ec(r)&&r)}}])})();pr(dD.prototype,Zet,Qet,ett,ttt,rtt,ntt);var fi=function(){return fi=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},fi.apply(this,arguments)};function N1(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}var att=["aspectRatio","autoCrop","autoCropArea","background","center","checkCrossOrigin","checkOrientation","cropBoxMovable","cropBoxResizable","data","dragMode","guides","highlight","initialAspectRatio","minCanvasHeight","minCanvasWidth","minContainerHeight","minContainerWidth","minCropBoxHeight","minCropBoxWidth","modal","movable","preview","responsive","restore","rotatable","scalable","toggleDragModeOnDblclick","viewMode","wheelZoomRatio","zoomOnTouch","zoomOnWheel","zoomable","cropstart","cropmove","cropend","crop","zoom","ready"],stt={opacity:0,maxWidth:"100%"};f.forwardRef((function(t,e){var r=N1(t,[]),n=r.dragMode,o=n===void 0?"crop":n,a=r.src,s=r.style,l=r.className,d=r.crossOrigin,p=r.scaleX,m=r.scaleY,u=r.enable,g=r.zoomTo,_=r.rotateTo,b=r.alt,w=b===void 0?"picture":b,x=r.ready,C=r.onInitialized,D=N1(r,["dragMode","src","style","className","crossOrigin","scaleX","scaleY","enable","zoomTo","rotateTo","alt","ready","onInitialized"]),O={scaleY:m,scaleX:p,enable:u,zoomTo:g,rotateTo:_},I=(function(){for(var E=[],M=0;M<arguments.length;M++)E[M]=arguments[M];var j=T.useRef(null);return f.useEffect((function(){E.forEach((function(z){z&&(typeof z=="function"?z(j.current):z.current=j.current)}))}),[E]),j})(e,T.useRef(null));T.useEffect((function(){var E;!((E=I.current)===null||E===void 0)&&E.cropper&&typeof g=="number"&&I.current.cropper.zoomTo(g)}),[r.zoomTo]),T.useEffect((function(){var E;!((E=I.current)===null||E===void 0)&&E.cropper&&a!==void 0&&I.current.cropper.reset().clear().replace(a)}),[a]),T.useEffect((function(){if(I.current!==null){var E=new dD(I.current,fi(fi({dragMode:o},D),{ready:function(M){M.currentTarget!==null&&(function(j,z){z===void 0&&(z={});var $=z.enable,L=$===void 0||$,H=z.scaleX,U=H===void 0?1:H,W=z.scaleY,B=W===void 0?1:W,K=z.zoomTo,oe=K===void 0?0:K,Z=z.rotateTo;L?j.enable():j.disable(),j.scaleX(U),j.scaleY(B),Z!==void 0&&j.rotateTo(Z),oe>0&&j.zoomTo(oe)})(M.currentTarget.cropper,O),x&&x(M)}}));C&&C(E)}return function(){var M,j;(j=(M=I.current)===null||M===void 0?void 0:M.cropper)===null||j===void 0||j.destroy()}}),[I]);var N=(function(E){return att.reduce((function(M,j){var z=M,$=j;return z[$],N1(z,[typeof $=="symbol"?$:$+""])}),E)})(fi(fi({},D),{crossOrigin:d,src:a,alt:w}));return f.createElement("div",{style:s,className:l},f.createElement("img",fi({},N,{style:stt,ref:I})))}));const ms={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},itt={once:"once"},sn={seconds:"seconds",minutes:"minutes"},T6=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function aa(t){return t<10?`0${t}`:`${t}`}const ltt={mode:"interval",interval:{period:1,unit:sn.minutes}};function uf(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),s=parseInt(o[1],10);for(let l=a;l<=s;l++)r.includes(l===7?0:l)||r.push(l===7?0:l)}else{n==="7"&&(n="0");const a=parseInt(n,10);r.includes(a)||r.push(a)}}),r.sort(),r}function uD(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:sn.minutes}}),n.seconds==="*"&&n.minutes==="*"&&n.hours==="*"&&n.date==="*"&&n.months==="*"&&(n.dow==="*"||e)?o={mode:"interval",interval:{period:1,unit:sn.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:sn.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:sn.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:sn.seconds,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:uf(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:sn.minutes,timeFrom:parseInt(n.hours.split("-")[0],10),timeTo:parseInt(n.hours.split("-")[1],10),weekdays:uf(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:`${aa(parseInt(n.hours,10))}:${aa(parseInt(n.minutes,10))}`,weekdays:uf(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:`${aa(parseInt(n.hours,10))}:${aa(parseInt(n.minutes,10))}`,date:`${aa(parseInt(n.date,10))}.${aa(parseInt(n.months,10))}`}}),o}class Ru extends f.Component{constructor(e){super(e);let r=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";r[0]==="{"&&(r="");const n=uD(r||"* * * * *",!0)||ltt;this.state={extended:!1,cron:Ru.state2cron(n),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:sn.minutes},intervalBetween:{period:1,unit:sn.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 s=0;s<e.length;s++)o===null?(o=e[s],a=e[s]):(e[s-1]+1===e[s]||(o!==a?n.push(`${o}-${a}`):n.push(o),o=e[s]),a=e[s]);return o!==a?n.push(`${o}-${a}`):n.push(o),n.join(",")}static text2weekdays(e){return uf(e)}static state2cron(e){let r="* * * * *";if(e.mode==="interval"){const n=e.interval||{period:1,unit:sn.minutes};if(n.period!==void 0&&n.period>60&&(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 sn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * * * * *`;break;case sn.minutes:r=`${n.period>1?`*/${n.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const n=e.intervalBetween||{period:1,unit:sn.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||sn.minutes,n.unit){case sn.seconds:r=`${n.period>1?`*/${n.period}`:"*"} * ${o} * * ${this.periodArray2text(n.weekdays)}`;break;case sn.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 s=parseInt(o[0],10)||0;s>23&&(s=59),s<0&&(s=0),r=`${a} ${s} * * ${this.periodArray2text(n.weekdays||[])}`}else if(e.mode==="once"){const n=e.once||{time:"00:00",date:""};n.date||(n.date=`${new Date().getDate()}.${aa(new Date().getMonth()+1)}`);const o=(n.time||"00:00").split(":"),a=n.date.split(".");let s=parseInt(o[1],10)||0;s>59&&(s=59),s<0&&(s=0);let l=parseInt(o[0],10)||0;l>23&&(l=59),l<0&&(l=0);let d=parseInt(a[0],10)||1;d>31&&(d=31),d<1&&(l=1);let p=parseInt(a[1],10)||1;p>12&&(p=12),p<1&&(p=1),r=`${s} ${l} ${d} ${p} *`}return r}recalcCron(){this.onChange(Ru.state2cron(this.state))}getControlsWeekdaysElements(e){const r=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return f.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},f.createElement("h5",null,A.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(n=>f.createElement(at,{key:T6[n],control:f.createElement(Ut,{checked:r.weekdays.includes(n),onChange:o=>{const a=JSON.parse(JSON.stringify(this.state[e])),s=a.weekdays.indexOf(n);o.target.checked?s===-1&&a.weekdays.push(n):s!==-1&&a.weekdays.splice(s,1),a.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:a},()=>this.recalcCron()):this.setState({specific:a},()=>this.recalcCron())},value:n.toString()}),label:A.t(T6[n])})))}getControlsPeriodElements(e){const r=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?f.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},f.createElement("h5",{style:{marginBottom:5}},A.t("sc_period")),f.createElement(Et,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:A.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"}),f.createElement(Et,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:A.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"})):f.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},f.createElement("h5",{style:{marginBottom:5}},A.t("sc_period")),f.createElement(Et,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:A.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"}),f.createElement(Ar,{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())}},f.createElement(pt,{value:"seconds"},A.t("sc_seconds")),")",f.createElement(pt,{value:"minutes"},A.t("sc_minutes")),")"))}getControlsTime(e){const r=e==="once"?this.state.once:this.state.specific;return f.createElement(mn,{variant:"standard",sx:{...ms.formControl,"&.MuiFormControl-root":ms.formControlMarginRight}},f.createElement(Et,{variant:"standard",key:"at",label:A.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()}.${aa(r.getMonth()+1)}`}return f.createElement(mn,{variant:"standard",style:ms.formControl},f.createElement(Et,{variant:"standard",key:"date",label:A.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:ms.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 f.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"),f.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},f.createElement("h5",{style:{marginBottom:5}},A.t("sc_hours")),f.createElement(mn,{variant:"standard",style:ms.formControl},f.createElement(nf,{shrink:!0,htmlFor:"age-label-placeholder"},A.t("sc_from")),f.createElement(Ar,{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=>f.createElement(pt,{key:`B_${r}`,value:r},`${aa(r)}:00`)))),f.createElement(mn,{variant:"standard",style:ms.formControl},f.createElement(nf,{shrink:!0,htmlFor:"age-label-placeholder"},A.t("sc_to")),f.createElement(Ar,{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=>f.createElement(pt,{key:`A_${r}`,value:r},`${aa(r)}:00`)),!e.timeFrom&&f.createElement(pt,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[f.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 f.createElement("div",{style:ms.mainDiv},f.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},f.createElement(Et,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),f.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?A.t("sc_invalid_cron"):m7(this.state.cron,this.props.language||"en")),f.createElement("div",null,f.createElement(mn,{variant:"standard",style:{...ms.formControl,marginLeft:8,marginTop:8}},f.createElement(nf,null,A.t("ra_Repeat")),f.createElement(Ar,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},f.createElement(pt,{value:"once"},A.t("sc_once")),f.createElement(pt,{value:"interval"},A.t("sc_interval")),f.createElement(pt,{value:"intervalBetween"},A.t("sc_intervalBetween")),f.createElement(pt,{value:"specific"},A.t("sc_specific"))))),this.state.mode===itt.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const ctt={dialogPaper:{height:"calc(100% - 96px)"}};class gbt extends f.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=xs.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?f.createElement(h9,{title:A.t("ra_Please confirm"),text:A.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 f.createElement(qt,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":ctt.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),f.createElement(Gt,{id:"cron-dialog-title"},this.props.title||A.t("ra_Define schedule...")),f.createElement(Qt,{style:{height:"100%",overflow:"hidden"}},f.createElement(xs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()})),f.createElement(Zt,null,!!this.props.clearButton&&f.createElement(Ue,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:f.createElement(Es,null)},this.props.clear||A.t("ra_Clear")),f.createElement(Ue,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:f.createElement(Xr,null)},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}const dtt={dialogPaper:{height:"calc(100% - 96px)"}};class _bt extends f.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":uD(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 f.createElement(qt,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":dtt.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},f.createElement(Gt,{id:"cron-dialog-title"},this.props.title||A.t("ra_Define schedule...")),f.createElement(Qt,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?f.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&f.createElement(f.Fragment,null,f.createElement(rr,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),f.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},A.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&f.createElement(f.Fragment,null,f.createElement(rr,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),f.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},A.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&f.createElement(f.Fragment,null,f.createElement(rr,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),f.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},A.t("sc_cron")))):null,this.state.mode==="simple"&&f.createElement(Ru,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()}),this.state.mode==="wizard"&&f.createElement(Ur,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&f.createElement(xs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()})),f.createElement(Zt,null,f.createElement(Ue,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:f.createElement(Xr,null)},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}class tp extends T.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return f.createElement(qt,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},f.createElement(Gt,{id:"ar_dialog_message_title"},this.props.title||A.t("ra_Message")),f.createElement(Qt,null,f.createElement(Ma,{id:"ar_dialog_message_description"},f.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),f.createElement(Zt,null,f.createElement(Ue,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:f.createElement(Vt,null)},this.props.ok||A.t("ra_Close"))))}}const li={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 vbt extends f.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const r=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(r)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let n=this.props.selected||[];typeof n!="object"?n=[n]:n=[...n],n=n.filter(o=>o),this.state={selected:n}}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 e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:li.headerID},this.state.selected)]:e=[f.createElement("span",{key:"selected"},A.t("ra_Selected")," "),f.createElement("span",{key:"id",style:li.headerID},A.t("%s items",this.state.selected.length))]:e=this.props.title||A.t("ra_Please select file..."),f.createElement(qt,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...li.dialog,...li.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},f.createElement(Gt,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":li.titleRoot}},e),f.createElement(Qt,{style:{...li.content,...li.contentMobile}},f.createElement(VZe,{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:(r,n,o)=>{this.setState({selected:Array.isArray(r)?r:[r]},()=>n&&(!this.props.selectOnlyFolders||o)&&this.handleOk())},t:this.props.t||A.t,lang:this.props.lang||A.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})),f.createElement(Zt,null,f.createElement(Ue,{variant:"contained",onClick:()=>this.handleOk(),startIcon:f.createElement(Xr,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}const utt={dialogPaper:{height:"calc(100% - 96px)"}};class ybt extends f.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 f.createElement(qt,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":utt.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},f.createElement(Gt,{id:"cron-dialog-title"},this.props.title||A.t("ra_Define CRON...")),f.createElement(Qt,{style:{height:"100%",overflow:"hidden"}},f.createElement(Ru,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:A.getLanguage()})),f.createElement(Zt,null,f.createElement(Ue,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:f.createElement(Xr,null)},this.props.ok||A.t("ra_Ok")),f.createElement(Ue,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:f.createElement(Ku,null)},this.props.cancel||A.t("ra_Cancel"))))}}const pn={tab:{width:"100%",minHeight:"100%"},input:{minWidth:300},button:{marginRight:20,marginBottom:40},card:{maxWidth:345,textAlign:"center"},media:{height:180},column:{display:"inline-block",verticalAlign:"top",marginRight:20},columnLogo:{width:350,marginRight:0},columnSettings:{width:"calc(100% - 370px)"},hintUnsaved:{fontSize:12,color:"red",fontStyle:"italic"}};let ptt=class pD extends T.Component{constructor(e){super(e),this.state={inAction:!1,toast:"",isInstanceAlive:!1},this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(r=>this.setState({isInstanceAlive:!!r?.val}))}componentDidMount(){this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged)}componentWillUnmount(){this.props.socket.unsubscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged)}onAliveChanged=(e,r)=>{e===`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`&&this.setState({isInstanceAlive:!!r?.val})};static checkPassword(e){return e=(e||"").toString(),e.length<8||!e.match(/[a-z]/)||!e.match(/[A-Z]/)||!e.match(/\d/)?A.t("invalid_password_warning"):!1}renderInput(e,r,n,o){const a=r==="pass"&&pD.checkPassword(this.props.native[r]);return y.jsx(Et,{variant:"standard",label:A.t(e),error:!!a,autoComplete:o||"",style:pn.input,value:this.props.native[r],type:n||"text",helperText:a||"",onChange:s=>this.props.onChange(r,s.target.value),margin:"normal"})}renderCard(){return y.jsxs(gL,{style:pn.card,children:[y.jsxs(wL,{children:[y.jsx(RL,{style:pn.media,image:"alexalogo.png",title:"Alexa logo"}),y.jsx(OL,{children:ee.renderTextWithA(A.t("amazon link"))})]}),y.jsxs(CL,{style:{textAlign:"center"},children:[y.jsx(Ue,{variant:"outlined",size:"small",color:"primary",style:{textAlign:"center"},onClick:()=>{window.open("https://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews","_blank")?.focus()},children:A.t("Review")}),this.props.native.amazonAlexa?y.jsx(Ue,{color:"grey",title:"Debug",onClick:()=>this.onDebug(),style:{opacity:this.state.debugVisible?1:0},onMouseEnter:()=>this.setState({debugVisible:!0}),onMouseLeave:()=>this.setState({debugVisible:!1}),children:A.t("Debug")}):null]})]})}onDebug(){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"debug",null).then(e=>{const r=new Blob([JSON.stringify(e,null,2)],{type:"application/json"});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(r,"debug.json");else{const n=document.createElement("a"),o=URL.createObjectURL(r);n.href=o,n.download="debug.json",document.body.appendChild(n),n.click(),setTimeout(()=>{document.body.removeChild(n),window.URL.revokeObjectURL(o)},0)}})}async resetCerts(e){this.setState({inAction:!0});const r={inAction:!1};try{const n=`iot.${this.props.instance}.certs.`;await this.props.socket.setState(`${n}private`,{val:"",ack:!0}),await this.props.socket.setState(`${n}id`,{val:"",ack:!0}),await this.props.socket.setState(`${n}public`,{val:"",ack:!0}),await this.props.socket.setState(`${n}certificate`,{val:"",ack:!0}),e&&await this.props.socket.setState(`${n}forceUserCreate`,{val:!0,ack:!0});const o=await this.props.socket.getObject(`system.adapter.iot.${this.props.instance}`);o?.common?.enabled&&await this.props.socket.setObject(o._id,o),r.toast=A.t("Certificates will be updated after start")}catch(n){this.props.onError(n)}this.setState(r)}renderToast(){return this.state.toast?y.jsx(ku,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),slotProps:{content:{"aria-describedby":"message-id"}},message:y.jsx("span",{id:"message-id",children:this.state.toast}),action:[y.jsx(Le,{"aria-label":"Close",color:"inherit",style:pn.close,onClick:()=>this.setState({toast:""}),children:y.jsx(R7,{})},"close")]}):null}renderCheckbox(e,r,n){return y.jsx(at,{style:{...pn.controlElement,paddingTop:5,...n},control:y.jsx(Ut,{checked:!!this.props.native[r],onChange:()=>this.props.onChange(r,!this.props.native[r]),color:"primary"}),label:A.t(e)},r)}render(){return y.jsxs("form",{style:pn.tab,children:[y.jsx(U2,{instance:this.props.instance,common:this.props.common,native:this.props.native,onError:e=>window.alert(e),onLoad:this.props.onLoad}),y.jsxs("div",{style:{...pn.column,...pn.columnSettings},children:[this.renderInput("ioBroker.pro Login","login","text","username"),y.jsx("br",{}),this.renderInput("ioBroker.pro Password","pass","password","current-password"),y.jsx("br",{}),this.renderCheckbox("Amazon AlexaV3","amazonAlexaV3"),this.renderCheckbox("Amazon Alexa (deprecated)","amazonAlexa"),y.jsx(at,{style:{...pn.controlElement,marginTop:5},control:y.jsx(Ut,{checked:this.props.native.googleHome,onChange:()=>{const e=!this.props.native.googleHome;this.props.onChange("googleHome",e)},color:"primary"}),label:A.t("Google Home")},"googleHome"),this.renderCheckbox("Yandex Алиса","yandexAlisa"),y.jsx("br",{}),y.jsx("p",{children:A.t("new_certs_tip")}),this.props.changed?y.jsx("div",{style:pn.hintUnsaved,children:A.t("Save settings before pressing this button")}):null,y.jsx(Ue,{variant:"outlined",style:pn.button,disabled:this.props.changed||this.state.inAction||!this.state.isInstanceAlive,title:this.state.isInstanceAlive?"":A.t("Instance must be enabled"),onClick:()=>this.resetCerts(),startIcon:y.jsx(Ti,{}),color:"grey",children:A.t("Get new connection certificates")}),y.jsx("p",{children:A.t("new_credentials_tip")}),this.props.changed?y.jsx("div",{style:pn.hintUnsaved,children:A.t("Save settings before pressing this button")}):null,y.jsx(Ue,{variant:"outlined",color:"grey",style:pn.button,disabled:this.props.changed||this.state.inAction||!this.state.isInstanceAlive,title:this.state.isInstanceAlive?"":A.t("Instance must be enabled"),onClick:()=>this.resetCerts(!0),startIcon:y.jsx(Ti,{}),children:A.t("Create IoT credentials anew")}),y.jsx("p",{children:ee.renderTextWithA(A.t("forum_tip"))}),y.jsx("p",{style:{fontWeight:"bold"},children:ee.renderTextWithA(A.t("help_tip"))}),y.jsx("p",{style:{fontWeight:"bold",paddingTop:20},children:ee.renderTextWithA(A.t("help_link_tip1"))}),y.jsx("p",{style:{fontWeight:"bold"},children:ee.renderTextWithA(A.t("help_link_tip2"))}),y.jsx("p",{style:{fontWeight:"bold",color:"red"},children:ee.renderTextWithA(A.t("help_link_tip3"))})]}),y.jsx("div",{style:{...pn.column,...pn.columnLogo},children:this.renderCard()}),this.renderToast()]})}};const Do={tab:{display:"flex",flexDirection:"column",gap:8},input:{marginTop:0,minWidth:300,maxWidth:500},controlElement:{marginBottom:5}};class htt extends T.Component{constructor(e){super(e),this.state={showSelectId:!1,adminInstances:[],webInstances:[]}}componentDidMount(){this.props.socket.getAdapterInstances("admin").then(e=>{const r=e.filter(n=>!n.native.auth).map(n=>({title:`${n.common.name}.${n._id.split(".").pop()}`,value:`${n.common.name}.${n._id.split(".").pop()}`,noTranslation:!0}));return r.unshift({title:"disabled",value:""}),this.props.socket.getAdapterInstances("web").then(n=>{const o=n.filter(a=>!a.native.auth).map(a=>({title:`${a.common.name}.${a._id.split(".").pop()}`,value:`${a.common.name}.${a._id.split(".").pop()}`,noTranslation:!0}));o.unshift({title:"disabled",value:""}),this.setState({adminInstances:r,webInstances:o})})})}renderInput(e,r,n,o,a){return y.jsx(Et,{variant:"standard",label:A.t(e),disabled:o,style:{...Do.input,...Do.controlElement},value:this.props.native[r],type:n||"text",helperText:a?A.t(a):"",onChange:s=>this.props.onChange(r,s.target.value),margin:"normal"})}renderSelect(e,r,n,o){return y.jsxs(mn,{style:{...Do.input,...Do.controlElement,paddingTop:5,paddingRight:8,...o},variant:"standard",children:[y.jsx(Ar,{variant:"standard",value:this.props.native[r]||"_",onChange:a=>this.props.onChange(r,a.target.value==="_"?"":a.target.value),input:y.jsx(In,{name:r,id:`${r}-helper`}),children:n.map(a=>y.jsx(pt,{value:a.value||"_",children:a.noTranslation?a.title:A.t(a.title)},`key-${a.value}`))}),y.jsx(Ro,{children:A.t(e)})]})}renderCheckbox(e,r,n){return y.jsx(at,{style:{...Do.controlElement,paddingTop:5,...n},control:y.jsx(Ut,{checked:!!this.props.native[r],onChange:()=>this.props.onChange(r,!this.props.native[r]),color:"primary"}),label:A.t(e)},r)}getSelectIdDialog(e){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:this.props.native[e],types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:r=>{this.setState({showSelectId:!1}),this.props.onChange(e,r)}},"dialogSelectID2"):null}render(){return y.jsxs("form",{style:Do.tab,children:[this.renderSelect("Language","language",[{title:"default",value:""},{title:"english",value:"en",noTranslation:!0},{title:"Deutsch",value:"de",noTranslation:!0},{title:"русский",value:"ru",noTranslation:!0}]),this.renderCheckbox("Place function in names first","functionFirst"),this.renderInput("Concatenate words with","concatWord"),this.props.native.amazonAlexaV3?y.jsxs(mn,{style:{...Do.input,...Do.controlElement,paddingTop:5,paddingRight:8},variant:"standard",children:[y.jsxs(Ar,{variant:"standard",value:this.props.native.defaultToggle?"true":"false",onChange:e=>this.props.onChange("defaultToggle",e.target.value==="true"),children:[y.jsx(pt,{value:"false",children:A.t("Do not toggle")}),y.jsx(pt,{value:"true",children:A.t("Toggle")})]}),y.jsx(Ro,{children:A.t("Default toggle behaviour (Only alexa v3)")})]}):null,this.renderInput("OFF level for switches in %","deviceOffLevel","text",!1,"(Set to 0 if behavior not desired)"),y.jsxs("div",{style:Do.controlElement,children:[this.renderInput("Write response to","responseOID"),y.jsx(Yt,{size:"small",color:"secondary",onClick:()=>this.setState({showSelectId:!0}),"aria-label":"Add",style:{marginLeft:5,marginTop:10},children:y.jsx($i,{})})]}),y.jsxs("div",{style:Do.controlElement,children:[this.renderCheckbox("Personal settings (only pro)","noCommon"),y.jsx(Ro,{children:ee.renderTextWithA(A.t("help_tip"))})]}),this.renderCheckbox("Debug outputs","debug"),y.jsxs("div",{style:Do.controlElement,children:[this.renderCheckbox("Allow remote access","remote"),this.props.native.remote?this.renderSelect("Admin instance","remoteAdminInstance",this.state.adminInstances,{width:120,minWidth:120}):null,this.props.native.remote?this.renderSelect("Web instance","remoteWebInstance",this.state.webInstances,{width:120,minWidth:120}):null]}),this.getSelectIdDialog("responseOID")]})}}const Kt={tab:{width:"100%",minHeight:"100%"},input:{marginTop:0,minWidth:400},fullSize:{width:"calc(100% - 64px)"},normalSize:{width:"calc(30% - 64px)",marginLeft:10},controlElement:{marginBottom:5},chips:{border:"1px solid #DDD",borderRadius:1,width:"calc(100% - 250px)",display:"inline-block",padding:5,minHeight:32,marginLeft:10,marginTop:20},chip:{marginRight:5}};class ftt extends T.Component{constructor(e){super(e),this.state={running:!1,toast:"",showSelectId:!1,text2commandList:[],nightscoutList:[],addValue:"",isInstanceAlive:!1},this.props.socket.getAdapterInstances("text2command").then(r=>this.props.socket.getAdapterInstances("nightscout").then(n=>this.setState({nightscoutList:n.map(o=>o._id.replace("system.adapter.nightscout.","")),text2commandList:r.map(o=>o._id.replace("system.adapter.text2command.",""))})))}componentDidMount(){this.props.socket.subscribeState(`iot.${this.props.instance}.certs.urlKey`,this.onKeyChanged),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(e=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(r=>this.setState({isInstanceAlive:!!e?.common&&!!r?.val})))}componentWillUnmount(){this.props.socket.unsubscribeState(`iot.${this.props.instance}.certs.urlKey`,this.onKeyChanged)}onKeyChanged=(e,r)=>{r&&this.setState({key:r.val})};renderInput(e,r,n){return y.jsx(Et,{variant:"standard",label:A.t(e),style:{...Kt.input,...Kt.controlElement},value:this.props.native[r],type:n||"text",onChange:o=>this.props.onChange(r,o.target.value),margin:"normal"})}reissueUrlKey(){return this.setState({running:!0}),this.props.socket.setState(`iot.${this.props.instance}.certs.urlKey`,{val:"",ack:!0}).then(()=>this.props.socket.getObject(`system.adapter.iot.${this.props.instance}`)).then(e=>{!e||!e.common||!e.common.enabled?this.setState({running:!1,toast:A.t("Key will be updated after start")}):this.props.socket.setObject(`system.adapter.iot.${this.props.instance}`,e)}).then(()=>this.setState({running:!1,toast:A.t("Certificates will be updated after initiated restart")})).catch(e=>{this.setState({running:!1}),this.props.onError(e)})}renderToast(){return this.state.toast?y.jsx(ku,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),slotProps:{content:{"aria-describedby":"message-id"}},message:y.jsx("span",{id:"message-id",children:this.state.toast}),action:[y.jsx(Le,{"aria-label":"Close",color:"inherit",style:Kt.close,onClick:()=>this.setState({toast:""}),children:y.jsx(R7,{})},"close")]}):null}onChipsDelete(e,r){const n=(this.props.native[e]||"").split(/[,;\s]/).filter(a=>!!a),o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.props.onChange(e,n.join(" ")))}onChipsAdd(e){const r=(this.props.native[e]||"").split(/[,;\s]/).filter(n=>!!n);this.state.addValue==="visu"?(this.props.onError(A.t("This service is reserved for the ioBroker.visu app. Please use another service name.")),this.setState({addValue:""})):!r.includes(this.state.addValue)&&this.state.addValue&&(r.push(this.state.addValue),this.setState({addValue:""},()=>this.props.onChange(e,r.join(" "))))}calcNightscoutSecret(){const e=this.props.native.login.replace(/[^\w\d-_]/g,"_"),r=this.props.native.nightscoutPass;return e+(r?`-${r}`:"")}getSelectIdDialog(e){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:this.props.native[e],types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:r=>{this.setState({showSelectId:!1}),this.props.onChange(e,r)}},"dialogSelectID3"):null}renderChips(e,r){return y.jsxs("div",{style:Kt.chipsDiv,children:[y.jsx(Ro,{children:ee.renderTextWithA(A.t(e))}),y.jsx(Et,{variant:"standard",label:A.t("Add service"),style:{width:150},type:"text",value:this.state.addValue,onKeyUp:n=>n.key==="Enter"&&this.onChipsAdd(r),onChange:n=>this.setState({addValue:n.target.value.trim()}),margin:"normal"}),y.jsx(Yt,{size:"small",color:"secondary",disabled:!this.state.addValue,onClick:()=>this.onChipsAdd(r),style:{marginLeft:5,marginTop:-15},children:y.jsx($i,{})}),y.jsx("div",{style:Kt.chips,children:(this.props.native[r]||"").split(/[,;\s]/).filter(n=>!!n).map(n=>y.jsx(CP,{size:"small",label:n,onDelete:()=>this.onChipsDelete(r,n),style:Kt.chip},n))})]})}render(){return y.jsxs("form",{style:Kt.tab,children:[y.jsx(Ue,{variant:"outlined",disabled:!this.state.isInstanceAlive||this.state.running,color:"primary",title:this.state.isInstanceAlive?"":A.t("Instance must be enabled"),onClick:()=>this.reissueUrlKey(),startIcon:y.jsx(Ti,{}),children:A.t("Get new service URL key")}),y.jsx("br",{}),this.renderInput("IFTTT key","iftttKey"),y.jsx("br",{}),y.jsx(Et,{variant:"standard",label:A.t("Use following link for IFTTT"),style:{...Kt.input,...Kt.controlElement,...Kt.fullSize,marginTop:10},value:`https://service.iobroker.in/v1/iotService?service=ifttt&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}`,type:"text",slotProps:{htmlInput:{readOnly:!0}},margin:"normal"}),y.jsx(Yt,{size:"small",style:{marginTop:10,marginLeft:5},onClick:()=>ee.copyToClipboard(`https://service.iobroker.in/v1/iotService?service=ifttt&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}`),children:y.jsx(bs,{})}),y.jsx("br",{}),y.jsx("br",{}),this.renderChips("White list for services","allowedServices"),y.jsx("br",{}),y.jsx(Et,{variant:"standard",label:A.t("Use following link for custom service"),style:{...Kt.input,...Kt.controlElement,...Kt.fullSize,marginTop:10},value:`https://service.iobroker.in/v1/iotService?service=custom_<SERVICE_NAME>&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}&data=<SOME_TEXT>`,type:"text",slotProps:{htmlInput:{readOnly:!0}},margin:"normal"}),y.jsx(Yt,{size:"small",style:{marginTop:10,marginLeft:5},onClick:()=>ee.copyToClipboard(`https://service.iobroker.in/v1/iotService?service=custom_<SERVICE_NAME>&key=${this.state.key}&user=${encodeURIComponent(this.props.native.login)}&data=<SOME_TEXT>`),children:y.jsx(bs,{})}),y.jsx("br",{}),y.jsxs(mn,{style:{...Kt.input,...Kt.controlElement,paddingTop:20},variant:"standard",children:[y.jsxs(Ar,{variant:"standard",value:this.props.native.text2command||"_",onChange:e=>this.props.onChange("text2command",e.target.value==="_"?"":e.target.value),input:y.jsx(In,{name:"text2command",id:"text2command-helper"}),children:[y.jsx(pt,{value:"_",children:A.t("disabled")},"key-default"),this.state.text2commandList.map(e=>y.jsxs(pt,{value:e,children:["text2command.",e]},`key-${e}`))]}),y.jsx(Ro,{children:A.t("Use text2command instance")})]}),y.jsx("br",{}),y.jsxs(mn,{style:{...Kt.input,...Kt.controlElement,paddingTop:20},variant:"standard",children:[y.jsxs(Ar,{variant:"standard",value:this.props.native.nightscout||"_",onChange:e=>this.props.onChange("nightscout",e.target.value==="_"?"":e.target.value),input:y.jsx(In,{name:"nightscout",id:"nightscout-helper"}),children:[y.jsx(pt,{value:"_",children:A.t("disabled")},"key-default"),this.state.nightscoutList.map(e=>y.jsxs(pt,{value:e,children:["nightscout.",e]},`key-${e}`))]}),y.jsx(Ro,{children:A.t("Use Nightscout instance")})]}),this.props.native.nightscout?y.jsx(Et,{variant:"standard",label:A.t("Nightscout password"),onChange:e=>this.props.onChange("nightscoutPass",e.target.value.replace(/[^\w\d-_]/g,"_")),style:{...Kt.input,...Kt.controlElement,...Kt.normalSize,marginTop:3.5},value:this.props.native.nightscoutPass,type:"text",margin:"normal"}):null,this.props.native.nightscout?y.jsx(Et,{variant:"standard",label:A.t("Nightscout api-secret"),style:{...Kt.input,...Kt.controlElement,...Kt.normalSize,marginTop:3.5},value:this.calcNightscoutSecret(),type:"text",slotProps:{htmlInput:{readOnly:!0}},margin:"normal"}):null,y.jsx("br",{}),y.jsx("br",{}),y.jsxs("div",{style:Kt.controlElement,children:[y.jsx(Et,{variant:"standard",label:A.t("Read blood sugar from"),style:{...Kt.input,...Kt.controlElement},value:this.props.native.amazonAlexaBlood||"",type:"text",onChange:e=>this.props.onChange("amazonAlexaBlood",e.target.value),margin:"normal"}),y.jsx(Yt,{size:"small",color:"secondary",onClick:()=>this.setState({showSelectId:!0}),"aria-label":"Add",style:{marginLeft:5,marginTop:10},children:y.jsx($i,{})}),y.jsx(at,{style:Kt.controlElement,control:y.jsx(Ut,{style:{paddingLeft:30},checked:this.props.native.amazonAlexaBloodShortAnswer||!1,onChange:e=>this.props.onChange("amazonAlexaBloodShortAnswer",e.target.checked),color:"primary"}),label:A.t("Short answer for blood sugar")})]}),y.jsx("br",{}),this.renderToast(),this.getSelectIdDialog("amazonAlexaBlood")]})}}const mtt="#e7000040",Hn={tab:{width:"100%",height:"100%"},column:{display:"inline-block",verticalAlign:"top",marginRight:10,height:"100%",overflow:"hidden",width:"calc(50% - 20px)",minWidth:300,maxWidth:450},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},enumLineEnabled:{},enumLineEdit:{},enumLineName:{},enumLineSubName:{fontStyle:"italic"},enumLine:{height:48,width:"100%",position:"relative",display:"flex",alignItems:"center"},enumLineId:{display:"block",fontStyle:"italic",fontSize:12},columnHeader:t=>({background:t.palette.primary.light,padding:"10px",color:t.palette.primary.contrastText,marginTop:0,marginBottom:0})};class gtt extends T.Component{constructor(e){super(e),this.state={inAction:!1,editId:"",editedSmartName:"",funcs:[],rooms:[],changed:[],message:"",loading:!0},this.props.socket.getEnums().then(r=>{const n=[],o=[];return r&&Object.keys(r).forEach(a=>{a.match(/^enum\.rooms\./)?o.push(r[a]):a.match(/^enum\.functions\./)&&n.push(r[a])}),this.setState({funcs:n,rooms:o,loading:!1}),this.props.socket.subscribeObject("enum.*",this.onEnumUpdate)})}componentWillUnmount(){this.props.socket.unsubscribeObject("enum.*",this.onEnumUpdate).then(()=>{})}onEnumUpdate=(e,r)=>{this.removeChanged(e),this.updateObjInState(e,r)};informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e){const r=JSON.parse(JSON.stringify(this.state.changed));r.includes(e)||(r.push(e),this.setState({changed:r}))}removeChanged(e){const r=JSON.parse(JSON.stringify(this.state.changed)),n=r.indexOf(e);n!==-1&&(r.splice(n,1),this.setState({changed:r}))}updateObjInState(e,r){if(e.match(/^enum\.functions\./)){for(let n=this.state.funcs.length-1;n>=0;n--)if(this.state.funcs[n]._id===e){const o=JSON.parse(JSON.stringify(this.state.funcs));r?o[n]=r:o.splice(n,1),this.setState({funcs:o});break}}else if(e.match(/^enum\.rooms\./)){for(let n=this.state.rooms.length-1;n>=0;n--)if(this.state.rooms[n]._id===e){const o=JSON.parse(JSON.stringify(this.state.rooms));r?o[n]=r:o.splice(n,1),this.setState({rooms:o});break}}}onToggleEnum(e){let r=this.state.funcs.find(o=>o._id===e)||this.state.rooms.find(o=>o._id===e);if(!r)return;const n=ee.getSmartNameFromObj(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);r=JSON.parse(JSON.stringify(r)),n!==!1?ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon):ee.removeSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(e),this.props.socket.setObject(e,r).then(()=>{this.updateObjInState(e,r),this.informInstance(e),setTimeout(()=>this.removeChanged(e),500)})}onEdit(e){const r=this.state.funcs.find(o=>o._id===e)||this.state.rooms.find(o=>o._id===e);if(!r)return;let n=ee.getSmartNameFromObj(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);typeof n=="object"&&n&&(n=n[A.getLanguage()]||n.en),n||=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()}),this.setState({editId:e,editedSmartName:n})}renderEnum(e){let r=ee.getSmartNameFromObj(e,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);r&&typeof r=="object"&&(r=r[A.getLanguage()]||r.en||"");const n=ee.getObjectNameFromObj(e,null,{language:A.getLanguage()});return y.jsxs("div",{style:{...Hn.enumLine,background:this.state.changed.indexOf(e._id)!==-1?mtt:"inherit"},children:[y.jsxs("div",{style:{marginLeft:8},children:[y.jsxs("span",{style:{...Hn.enumLineName,opacity:r===!1?.5:1},children:[r||null,r?y.jsxs("span",{style:Hn.enumLineSubName,children:[" (",n,")"]}):n]}),y.jsx("span",{style:{...Hn.enumLineId,opacity:r===!1?.5:1},children:e._id})]}),y.jsx("div",{style:{flex:1}}),y.jsx(Le,{"aria-label":"Edit",style:Hn.enumLineEdit,onClick:()=>this.onEdit(e._id),children:y.jsx(Wm,{fontSize:"large"})}),y.jsx(Ud,{style:Hn.enumLineEnabled,checked:r!==!1,onChange:()=>this.onToggleEnum(e._id)})]},e._id)}renderEnums(e){return this.state[e].map(r=>this.renderEnum(r))}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(){if((this.state.editId.startsWith("enum.functions.")?this.state.funcs:this.state.rooms).find(r=>this.state.editId!==r._id&&(this.state.editedSmartName===ee.getObjectNameFromObj(r,A.getLanguage())||this.state.editedSmartName===ee.getSmartNameFromObj(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon))))this.setState({message:A.t("Duplicate name")});else{this.addChanged(this.state.editId),setTimeout(()=>this.removeChanged(this.state.editId),500);const r=this.state.editId;this.setState({editId:""});let n;this.props.socket.getObject(r).then(o=>{if(o)return ee.updateSmartName(o,this.state.editedSmartName,void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),n=o,this.props.socket.setObject(r,o)}).then(()=>{this.updateObjInState(r,n),this.informInstance(r)}).catch(o=>this.props.onError(o))}}renderEditDialog(){if(this.state.editId){const e=this.state.funcs.find(r=>r._id===this.state.editId)||this.state.rooms.find(r=>r._id===this.state.editId);return y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({editId:""}),"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",ee.getObjectNameFromObj(e,A.getLanguage()))}),y.jsx(Qt,{children:y.jsx(Et,{variant:"standard",autoFocus:!0,style:{width:"100%"},label:A.t("Smart name"),onChange:r=>this.setState({editedSmartName:r.target.value}),value:this.state.editedSmartName,helperText:A.t("You can enter several names divided by comma"),margin:"normal"})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{color:"grey",variant:"contained",onClick:()=>this.setState({editId:""}),startIcon:y.jsx(Vt,{}),children:A.t("Cancel")})]})]})}return null}render(){return this.state.loading?y.jsx(Gr,{}):y.jsxs("form",{style:Hn.tab,children:[y.jsxs("div",{style:Hn.column,children:[y.jsx(Xe,{component:"h5",sx:Hn.columnHeader,children:A.t("Rooms")}),y.jsx("div",{style:Hn.columnDiv,children:this.renderEnums("rooms")})]}),y.jsxs("div",{style:Hn.column,children:[y.jsx(Xe,{component:"h5",sx:Hn.columnHeader,children:A.t("Functions")}),y.jsx("div",{style:Hn.columnDiv,children:this.renderEnums("funcs")})]}),this.renderMessage(),this.renderEditDialog()]})}}const Wh="#aba613",Hh="#444",Ld="#00c6ff",M1="#00bc00",Uh="#e7000040",Vh="#4f4f4f",qh="#e9e9e9",Gh="#5c8f65",Jh="#b4ffbe",Zo={turnOn:{color:Wh,icon:jb,desc:"Turn on",v2:!0},turnOff:{color:Hh,icon:jb,desc:"Turn off",v2:!0},setTargetTemperature:{color:Ld,icon:M7,desc:"Set target temperature",v2:!0},incrementTargetTemperature:{color:Wh,icon:ic,desc:"Increment target temperature",v2:!0},decrementTargetTemperature:{color:Hh,icon:sc,desc:"Decrement target temperature",v2:!0},setPercentage:{color:Ld,icon:N7,desc:"Set percentage",v2:!0},incrementPercentage:{color:Wh,icon:ic,desc:"Increment percentage",v2:!0},decrementPercentage:{color:Hh,icon:sc,desc:"Decrement percentage",v2:!0},setColor:{color:Ld,icon:I7,desc:"Set color",v2:!0},setColorTemperature:{color:Ld,icon:Au,desc:"Set color temperature",v2:!0},incrementColorTemperature:{color:Wh,icon:ic,desc:"Increment color temperature",v2:!0},decrementColorTemperature:{color:Hh,icon:sc,desc:"Decrement color temperature",v2:!0},getTargetTemperature:{color:M1,icon:uu,desc:"Get target temperature",v2:!0},getTemperatureReading:{color:M1,icon:uu,desc:"Get actual temperature",v2:!0},setLockState:{color:Ld,icon:Vf,desc:"Set lock state",v2:!0},getLockState:{color:M1,icon:Vf,desc:"Read lock state",v2:!0}},Xh=["LIGHT","SWITCH","THERMOSTAT","ACTIVITY_TRIGGER","SCENE_TRIGGER","SMARTPLUG","SMARTLOCK","CAMERA"],Ct={tab:{width:"100%",height:"100%"},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},button:{marginRight:20},devLineExpand:{marginRight:10},devLineEdit:{position:"absolute",top:5,right:50},devLineDelete:{position:"absolute",top:5,right:0},devLineName:{},devLineNumber:{display:"inline-block",verticalAlign:"middle",width:15},editedId:{fontStyle:"italic"},devLine:{height:48,width:"100%",position:"relative"},devLineDescription:{display:"block",fontStyle:"italic",fontSize:12},devLineActions:{fontStyle:"italic",fontSize:12,paddingLeft:50,display:"inline-block"},devLineProgress:{position:"absolute",top:0,left:0},channelLineActions:{width:80},devLineNameBlock:{display:"inline-block",width:"calc(100% - 350px)"},devModified:{fontStyle:"italic"},actionIcon:{width:16},devSubLine:{position:"relative",height:48},devSubLineName:{marginLeft:5,marginTop:14,display:"inline-block",fontSize:13,width:"calc(100% - 400px)"},devSubSubLineName:{fontSize:8,fontStyle:"italic",display:"block"},devSubLineByOn:{marginLeft:5},devSubLineDelete:{position:"absolute",top:12,right:12,padding:0},devSubLineTypeTitle:{marginTop:0},headerRow:t=>({pl:1,background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"100%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"100%"}};class Ss extends T.Component{constructor(e){super(e),Zo.translated||(Object.keys(Zo).forEach(r=>Zo[r].desc=A.t(Zo[r].desc)),Zo.translated=!0),this.state={edit:null,deleteId:"",showListOfDevices:!1,showSelectId:!1,showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:[],lastChanged:""},this.timerChanged=null,this.browseTimer=null,this.browseTimerCount=0,this.waitForUpdateID=null,this.onReadyUpdateBound=this.onReadyUpdate.bind(this),this.onResultUpdateBound=this.onResultUpdate.bind(this),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(r=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(n=>{!r||!r.common||!r.common.enabled&&(!n||!n.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[]}):this.browse()}))}browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),console.log("Send BROWSE!"),this.browseTimer=setTimeout(()=>{console.log("Browse timeout!"),this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browse",null).then(r=>{this.browseTimer&&clearTimeout(this.browseTimer),this.browseTimerCount=0,this.browseTimer=null,r&&r.error?this.setState({message:A.t(r.error)}):(this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,r)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),console.log("BROWSE received."),this.setState({devices:r,loading:!1,changed:[],browse:!1}),r.length>300&&this.props.onError(A.t("Too many devices (%s) configured. Max number is 300",r.length)))}).catch(r=>this.setState({message:A.t("Error %s",r),browse:!1})))}onReadyUpdate(e,r){console.log(`Update ${e} ${r?`${r.val}/${r.ack}`:"null"}`),r&&r.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},300))}onResultUpdate(e,r){r&&r.ack===!0&&r.val&&this.setState({message:r.val})}componentDidMount(){this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r&&r()))}onEdit(e,r){r=r||this.state.devices;const n=r.find(o=>o.additionalApplianceDetails.id===e);return n?(this.props.socket.getObject(e).then(o=>{let a=n.additionalApplianceDetails.friendlyNames?n.additionalApplianceDetails.friendlyNames:n.friendlyName;typeof a=="object"&&a&&(a=a[A.getLanguage()]||a.en);let s=null;n.additionalApplianceDetails.group||(s=n.additionalApplianceDetails.smartType),this.setState({edit:{id:e,type:s,name:a,objectName:ee.getObjectNameFromObj(o,null,{language:A.getLanguage()}),originalName:a,originalType:s}})}),!0):!1}onAskDelete(e){this.setState({deleteId:e,showConfirmation:!0})}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>(ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r))).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}static renderActions(e){const r=[];if(!e.actions)return console.log("Something went wrong"),null;e.actions.sort((n,o)=>n===o?0:n==="turnOn"?-1:o==="turnOn"?1:n==="turnOff"?-1:o==="turnOff"?1:0),Object.keys(Zo).forEach(n=>{if(e.actions.includes(n)){const o=Zo[n].icon;r.push(y.jsx("span",{title:Zo[n].desc,children:y.jsx(o,{style:{...Ct.actionIcon,color:Zo[n].color}})},n))}});for(let n=0;n<e.actions.length;n++)Zo[e.actions[n]]||r.push(y.jsx("span",{children:e.actions[n]},e.actions[n]));return r}onExpand(e){const r=JSON.parse(JSON.stringify(this.state.expanded)),n=r.indexOf(this.state.devices[e].friendlyName);n===-1?r.push(this.state.devices[e].friendlyName):r.splice(n,1),this.setState({expanded:r})}renderSelectByOn(e,r,n,o){if(o!==!1){const a=[y.jsx(pt,{value:"",children:y.jsx("em",{children:A.t("Default")})},"_"),y.jsx(pt,{value:"stored",children:A.t("last value")},"last"),y.jsx(pt,{value:"omit",children:A.t("omit value")},"omit")];for(let s=5;s<=100;s+=5)a.push(y.jsxs(pt,{value:s.toString(),children:[s,"%"]},s.toString()));return y.jsxs(mn,{style:Ct.devSubLineByOn,variant:"standard",children:[y.jsx(Ar,{variant:"standard",style:Ct.devSubLineByOnSelect,value:(o||"").toString(),onChange:s=>this.onParamsChange(n,s.target.value),children:a}),y.jsx(Ro,{style:Ct.devSubLineTypeTitle,children:A.t("by ON")})]})}return null}onParamsChange(e,r,n){this.addChanged(e,()=>{this.props.socket.getObject(e).then(o=>(ee.updateSmartName(o,void 0,r,n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.state.lastChanged!==e&&(this.setState({lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(e,o))).then(()=>{this.informInstance(e)}).catch(o=>this.props.onError(o))})}static renderSelectTypeSelector(e,r){if(e!==!1){const n=[y.jsx(pt,{value:"_",children:y.jsx("em",{children:A.t("no type")})},"_")];for(let o=0;o<Xh.length;o++)n.push(y.jsx(pt,{value:Xh[o],children:y.jsx("em",{children:A.t(Xh[o])})},Xh[o]));return y.jsxs(mn,{variant:"standard",children:[y.jsx(Ar,{variant:"standard",value:e||"_",onChange:o=>r(o.target.value==="_"?"":o.target.value),children:n}),y.jsx(Ro,{style:Ct.devSubLineTypeTitle,children:A.t("Types")})]})}return""}renderSelectType(e,r,n,o){return Ss.renderSelectTypeSelector(o,a=>this.onParamsChange(n,void 0,a))}renderChannels(e,r){const n=[];if(e.additionalApplianceDetails.group){const o=e.additionalApplianceDetails.channels,a=e.additionalApplianceDetails.names,s=e.additionalApplianceDetails.byONs,l=e.additionalApplianceDetails.smartTypes;let d=0;o&&Object.keys(o).forEach(p=>{for(let m=0;m<o[p].length;m++){const u=o[p][m].id;let g=this.state.changed.includes(u)?Uh:this.props.themeType==="dark"?Vh:qh;this.state.lastChanged===u&&(g===Vh||g===qh)&&(g=this.props.themeType==="dark"?Gh:Jh),n.push(y.jsxs("div",{style:{...Ct.devSubLine,...d%2?void 0:{background:g}},children:[y.jsx("div",{style:{...Ct.devLineActions,...Ct.channelLineActions},children:Ss.renderActions(o[p][m])}),y.jsxs("div",{style:Ct.devSubLineName,title:u,children:[a[u]||u,u!==a[u]?y.jsx("span",{style:Ct.devSubSubLineName,children:u}):null]}),this.renderSelectType(e,r,u,l[u]),this.renderSelectByOn(e,r,u,s[u]),y.jsx(Le,{"aria-label":"Delete",style:Ct.devSubLineDelete,onClick:()=>this.onAskDelete(u,r),children:y.jsx(Os,{fontSize:"middle"})})]},`sub${u}`)),d++}})}else{const o=e.additionalApplianceDetails.id,a=e.additionalApplianceDetails.name||o;let s=this.state.changed.includes(o)?Uh:this.props.themeType==="dark"?Vh:qh;this.state.lastChanged===o&&(s===Vh||s===qh)&&(s=this.props.themeType==="dark"?Gh:Jh),n.push(y.jsxs("div",{style:{...Ct.devSubLine,background:s},children:[y.jsx("div",{style:{...Ct.devLineActions,...Ct.channelLineActions,width:80},children:Ss.renderActions(e)}),y.jsx("div",{style:Ct.devSubLineName,title:o||"",children:a}),this.renderSelectType(e,r,o,e.additionalApplianceDetails.smartType),this.renderSelectByOn(e,r,o,e.additionalApplianceDetails.byON)]},`sub${o}`))}return n}renderDevice(e,r){const n=e.friendlyName;let o;!e.additionalApplianceDetails.group&&e.additionalApplianceDetails.nameModified?o=n:o=y.jsx("span",{style:Ct.devModified,title:A.t("modified"),children:n});let a=0;e.additionalApplianceDetails.channels&&Object.keys(e.additionalApplianceDetails.channels).forEach(m=>a+=e.additionalApplianceDetails.channels[m].length),a=a||1;const s=this.state.expanded.includes(n),l=e.additionalApplianceDetails?.id;let d=r%2?this.props.themeType==="dark"?"#272727":"#f1f1f1":"inherit";const p=this.state.changed.includes(l);if(p?d=Uh:l===this.state.lastChanged&&(d=this.props.themeType==="dark"?Gh:Jh),e.additionalApplianceDetails.group&&!p&&l!==this.state.lastChanged){const m=e.additionalApplianceDetails.channels;try{m&&Object.keys(m).forEach(u=>u&&m[u].forEach(g=>{this.state.changed.includes(g.id)?d=Uh:this.state.lastChanged===g.id&&(d=this.props.themeType==="dark"?Gh:Jh)}))}catch(u){console.log(u)}}return[y.jsxs("div",{style:{...Ct.devLine,background:d},children:[y.jsxs("div",{style:Ct.devLineNumber,children:[r+1,"."]}),y.jsx(Le,{style:Ct.devLineExpand,onClick:()=>this.onExpand(r),children:a>1?y.jsx(Su,{badgeContent:a,color:"primary",children:s?y.jsx(xc,{}):y.jsx(kc,{})}):s?y.jsx(xc,{}):y.jsx(kc,{})}),y.jsxs("div",{style:{...Ct.devLineNameBlock,display:"inline-block",position:"relative"},children:[y.jsx("span",{style:Ct.devLineName,children:o}),y.jsx("span",{style:Ct.devLineDescription,children:e.friendlyDescription}),p?y.jsx(Gr,{style:Ct.devLineProgress,size:20}):null]}),y.jsx("span",{style:Ct.devLineActions,children:Ss.renderActions(e)}),e.additionalApplianceDetails.group?null:y.jsx(Le,{"aria-label":"Edit",style:Ct.devLineEdit,onClick:()=>this.onEdit(l),children:y.jsx(Wm,{fontSize:"middle"})}),e.additionalApplianceDetails.group?null:y.jsx(Le,{"aria-label":"Delete",style:Ct.devLineDelete,onClick:()=>this.onAskDelete(l),children:y.jsx(Os,{fontSize:"middle"})})]},`line${r}`),s?this.renderChannels(e,r):null]}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(e){e?.preventDefault(),this.addChanged(this.state.edit.id,()=>{const r=this.state.edit.id,n=this.state.edit.type,o=this.state.edit.name.trim();this.setState({edit:null,lastChanged:r}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.props.socket.getObject(r).then(a=>(ee.updateSmartName(a,o,void 0,n===null?void 0:n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(r,a))).then(()=>this.informInstance(r)).catch(a=>this.props.onError(a))})}renderEditDialog(){return this.state.edit?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({edit:null}),"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",this.state.edit.objectName)}),y.jsxs(Qt,{children:[y.jsxs("p",{children:[y.jsx("span",{children:"ID:"})," ",y.jsx("span",{style:Ct.editedId,children:this.state.edit.id})]}),y.jsx(Et,{variant:"standard",style:{width:"100%"},label:A.t("Smart name"),autoFocus:!0,onKeyDown:e=>e.key==="Enter"&&this.changeSmartName(e),value:this.state.edit.name,onChange:e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.name=e.target.value,this.setState({edit:r})},helperText:A.t("You can enter several names divided by comma"),margin:"normal"}),this.state.edit.type!==null?Ss.renderSelectTypeSelector(this.state.edit.type,e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.type=e,this.setState({edit:r})}):null]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",disabled:!this.state.edit.name||this.state.edit.originalName===this.state.edit.name&&(this.state.edit.type||null)===(this.state.edit.originalType||null),onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{variant:"contained",onClick:()=>{this.setState({edit:null})},startIcon:y.jsx(Vt,{}),color:"grey",children:A.t("Cancel")})]})]}):null}renderConfirmDialog(){return this.state.showConfirmation?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({showConfirmation:""}),"aria-labelledby":"confirmation-dialog-title","aria-describedby":"confirmation-dialog-description",children:[y.jsx(Gt,{id:"confirmation-dialog-title",children:this.props.title||A.t("Device %s will be disabled.",this.state.deleteId)}),y.jsx(Qt,{children:y.jsx("p",{children:A.t("Are you sure?")})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.onDelete(),color:"primary",autoFocus:!0,startIcon:y.jsx(Os,{}),children:A.t("Delete")}),y.jsx(Ue,{color:"grey",variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showConfirmation:""}),children:A.t("Cancel")})]})]}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1}),this.props.socket.getObject(e).then(r=>{if(r){const n=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()});ee.updateSmartName(r,(n||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(r._id),this.waitForUpdateID=r._id,this.state.lastChanged!==r._id&&(this.setState({lastChanged:r._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(r._id,r).then(()=>this.informInstance(r._id)).catch(o=>this.setState({message:o}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectID1"):null}renderDevices(){const e=this.state.filter.toLowerCase(),r=[];for(let n=0;n<this.state.devices.length;n++)this.state.filter&&!this.state.devices[n].friendlyName.toLowerCase().includes(e)||r.push(this.renderDevice(this.state.devices[n],n));return y.jsx("div",{style:Ct.columnDiv,children:r},"listDevices")}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsx(Xe,{sx:Ct.headerRow,children:y.jsx("div",{style:Ct.headerCell,children:A.t("Name")})}),y.jsx("div",{style:Ct.tableDiv,children:this.state.devices.map((e,r)=>y.jsx("div",{children:y.jsx("div",{style:Ct.tableCell,children:e.friendlyName})},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>r.friendlyName);ee.copyToClipboard(e.join(`
667
+ `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,color:"grey",children:A.t("Close")})]})]}):null}render(){return this.state.loading?y.jsx(Gr,{},"alexaProgress"):y.jsxs("form",{style:Ct.tab,children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",style:Ct.button,onClick:()=>this.setState({showSelectId:!0}),children:y.jsx($i,{})}),y.jsx(Yt,{size:"small",color:"primary","aria-label":"Refresh",style:Ct.button,onClick:()=>this.browse(!0),disabled:this.state.browse,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),y.jsx(Yt,{style:{...Ct.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse,children:y.jsx(Fm,{})}),y.jsx(Et,{variant:"standard",placeholder:A.t("Filter"),className:this.state.filter,value:this.state.filter,onChange:e=>this.setState({filter:e.target.value}),slotProps:{input:{endAdornment:this.state.filter?y.jsx(Le,{onClick:()=>this.setState({filter:""}),children:y.jsx(Bm,{})}):void 0}}}),this.renderDevices(),this.renderMessage(),this.renderEditDialog(),this.getSelectIdDialog(),this.renderConfirmDialog(),this.renderListOfDevices()]},"alexa")}}Ss.propTypes={native:ae.object.isRequired,instance:ae.number.isRequired,adapterName:ae.string.isRequired,onError:ae.func,socket:ae.object.isRequired,themeType:ae.string,theme:ae.object};function _tt(t){return Ke({attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15zM11 2h.5a.5.5 0 0 1 .5.5V15h-1zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1"},child:[]}]})(t)}function E6(t){return Ke({attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M11.536 14.01A8.47 8.47 0 0 0 14.026 8a8.47 8.47 0 0 0-2.49-6.01l-.708.707A7.48 7.48 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303z"},child:[]},{tag:"path",attr:{d:"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.48 5.48 0 0 1 11.025 8a5.48 5.48 0 0 1-1.61 3.89z"},child:[]},{tag:"path",attr:{d:"M8.707 11.182A4.5 4.5 0 0 0 10.025 8a4.5 4.5 0 0 0-1.318-3.182L8 5.525A3.5 3.5 0 0 1 9.025 8 3.5 3.5 0 0 1 8 10.475zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06"},child:[]}]})(t)}function vtt(t){return Ke({attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M12 5C11.4477 5 11 5.44772 11 6C11 6.55228 11.4477 7 12 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H12Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M7 12C7 11.4477 7.44772 11 8 11H16C16.5523 11 17 11.4477 17 12C17 12.5523 16.5523 13 16 13H8C7.44772 13 7 12.5523 7 12Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M3 18C3 17.4477 3.44772 17 4 17H12C12.5523 17 13 17.4477 13 18C13 18.5523 12.5523 19 12 19H4C3.44772 19 3 18.5523 3 18Z",fill:"currentColor"},child:[]}]})(t)}function ytt(t){return Ke({attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M10.3004 7.49991C10.3004 8.4943 9.49426 9.30041 8.49988 9.30041C7.50549 9.30041 6.69938 8.4943 6.69938 7.49991C6.69938 6.50553 7.50549 5.69942 8.49988 5.69942C9.49426 5.69942 10.3004 6.50553 10.3004 7.49991ZM11.205 8C10.9699 9.28029 9.84816 10.2504 8.49988 10.2504C7.1516 10.2504 6.0299 9.28029 5.79473 8H0.5C0.223858 8 0 7.77614 0 7.5C0 7.22386 0.223858 7 0.5 7H5.7947C6.0298 5.71962 7.15154 4.74942 8.49988 4.74942C9.84822 4.74942 10.97 5.71962 11.2051 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H11.205Z",fill:"currentColor"},child:[]}]})(t)}const O6="#e7000040",D6="#4f4f4f",btt="#313131",A6="#e9e9e9",wtt="#bbbbbb",I6="#5c8f65",N6="#b4ffbe",M6="#6e6e6e",R6="#d0d0d0",Al=["socket","light","dimmer","thermostat","blinds","gate","lock","hue","ct","motion","levelSlider","temperature","window"],j6={LIGHT:"light",SWITCH:"socket",THERMOSTAT:"thermostat",SMARTPLUG:"socket",SMARTLOCK:"lock",CAMERA:"camera"},uo={brightness:{label:"Brightness",icon:aX,color:"#c9b803"},powerState:{label:"Power",icon:LX,color:"#70bd00"},colorTemperatureInKelvin:{label:"Color temperature",icon:wX,color:"#019bb6"},color:{label:"Color",icon:NX,color:"#a20030"},detectionState:{label:"Detection",icon:IX,color:"#913c01"},lockState:{label:"Lock",icon:TX,color:"#00519b"},mode:{label:"Mode",icon:OX,color:"#112233"},muted:{label:"Muted",icon:JX,color:"#9701af"},percentage:{label:"Percentage",icon:N7,color:"#009870"},targetSetpoint:{label:"Set point",icon:zX,color:"#813600"},temperature:{label:"Temperature",icon:pX,color:"#9f1300"},thermostatMode:{label:"Thermostat mode",icon:PX,color:"#800048"},volume:{label:"Volume",icon:XX,color:"#006702"}};let z6=!1;const Un={Light:{label:"Light",icon:Au,color:"#c9b803",control:"switch",controllable:!0},AirCondition:{label:"AirCondition",icon:fQe,color:"#001fb9",control:"switch",controllable:!0},Blind:{label:"Blinds",icon:$Qe,color:"#00a28f",control:"blinds",controllable:!0},ContactSensor:{label:"Sensor",icon:TQe,color:"#c9b803",control:"sensor",controllable:!1},Dimmer:{label:"Dimmer",icon:KQe,color:"#cb8500",control:"slider",controllable:!0},Door:{label:"Door sensor",icon:_tt,color:"#ad002a",control:"doorSensor",controllable:!1},Gate:{label:"Gate",icon:JQe,color:"#9d02af",control:"gate"},Hue:{label:"Color HUE",icon:t6,color:"#007a96",control:"color"},Ct:{label:"Color temperature",icon:t6,color:"#5a9600"},Lock:{label:"Lock",icon:oQe,color:"#c9030a"},Motion:{label:"Motion",icon:vtt,color:"#149100"},Slider:{label:"Slider",icon:ytt,color:"#029a7f"},Socket:{label:"Socket",icon:GQe,color:"#834303"},Temperature:{label:"Temperature",icon:_Qe,color:"#8ca102"},Thermostat:{label:"Thermostat",icon:EQe,color:"#8c4800"},VacuumCleaner:{label:"Vacuum cleaner",icon:IQe,color:"#9e03c9"},Volume:{label:"Volume",icon:E6,color:"#c903c6"},VolumeGroup:{label:"Volume group",icon:E6,color:"#c903c6"},Window:{label:"Window sensor",icon:XQe,color:"#27c903"}};let P6=!1;const Pe={tab:{width:"100%",height:"100%"},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},button:{marginRight:20},devLineExpand:{width:40},devLineEdit:{width:40,marginLeft:5},devLineDelete:{width:40},devLineName:{},devLineNumber:{width:15},editedId:{fontStyle:"italic"},devLine:{height:48,width:"100%",position:"relative",display:"flex",alignItems:"center"},devLineDescription:{display:"block",fontStyle:"italic",fontSize:12},devLineActions:{fontStyle:"italic",fontSize:12,paddingRight:5,display:"flex"},devLineProgress:{position:"absolute",top:0,left:0},devLineNameBlock:{flexGrow:1},actionSpan:{marginRight:5,display:"flex",alignItems:"center"},deviceOff:{filter:"grayscale(0.9)"},actionIcon:{width:16},deviceIcon:{width:24,height:24},deviceSmallIcon:{width:20,height:20},devSubLine:{position:"relative",display:"flex",width:"100%",alignItems:"center"},devSubLineExpand:{marginLeft:15},devSubLineExpanded:{transition:"transform 0.3s",transform:"rotate(90deg)"},devSubLineName:{flexGrow:1,fontSize:13,fontWeight:"bold",marginLeft:5},devSubLineName1:{minWidth:100,marginRight:5,display:"inline-block"},devSubLineName2:{fontWeight:"normal",display:"inline-block"},devSubLineName2Div:{display:"flex",alignItems:"center",gap:5},devSubSubLineName:{fontSize:11,fontStyle:"italic",paddingLeft:10,flexGrow:1},devSubSubLineStateName:{minWidth:121,display:"inline-block",fontWeight:"bold"},devSubSubLineStateId:{marginLeft:5},devSubLineDelete:{},devSubLineTypeTitle:{marginTop:0},statesLine:{position:"relative",width:"calc(100% - 50px)",paddingLeft:50,paddingBottom:5},devSubSubLine:{position:"relative",display:"flex",alignItems:"center",paddingTop:2,paddingBottom:2},headerRow:t=>({pl:1,background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"100%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"100%"},selectType:{width:130,marginLeft:8},stateValueAck:{},stateValueNoAck:{color:"#ff0000"}};function pf(t,e){return t&&typeof t=="object"?t[e]||t.en:t||""}function Stt(t,e,r,n){r||=".";let o="";const a=t?.common;if(a){const s=a.icon;if(s)if(s.startsWith("data:image/"))o=s;else if(s.includes(".")){let l;t.type==="instance"||t.type==="adapter"?o=`${r}/adapter/${pf(a.name,n)}/${s}`:e&&e.startsWith("system.adapter.")?(l=e.split(".",3),s[0]==="/"?l[2]+=s:l[2]+=`/${s}`,o=`${r}/adapter/${l[2]}`):(l=e.split(".",2),s[0]==="/"?l[0]+=s:l[0]+=`/${s}`,o=`${r}/adapter/${l[0]}`)}else return null}return o||null}class Na extends T.Component{requesting={};timerChanged=null;devTimer=null;browseTimer=null;browseTimerCount=0;lastBrowse=0;waitForUpdateID=null;language=A.getLanguage();editedSmartName;subscribedStates={};tempStates=null;updateValuesTimeout=null;objects={};collectSubscribes=null;collectSubscribesTimer=null;collectUnsubscribes=null;collectUnsubscribesTimer=null;constructor(e){super(e),z6||(Object.keys(uo).forEach(o=>uo[o].label=A.t(uo[o].label)),z6=!0),P6||(Object.keys(Un).forEach(o=>Un[o].label=A.t(Un[o].label)),P6=!0);const r=window.localStorage.getItem("v3.expanded")||"[]";let n;try{n=JSON.parse(r)}catch{n=[]}this.state={edit:null,deleteId:"",showListOfDevices:!1,showSelectId:!1,showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:n,lastChanged:"",objects:{},alive:!1,values:{}}}subscribe(e){if(this.subscribedStates[e])this.subscribedStates[e]++;else{this.subscribedStates[e]=1,this.collectSubscribes||=[],this.collectSubscribes.push(e);const r=this.collectUnsubscribes?.indexOf(e);r!==-1&&r!==void 0&&(this.collectUnsubscribes?.splice(r),this.collectUnsubscribes?.length||(this.collectUnsubscribes=null,this.collectUnsubscribesTimer&&(clearTimeout(this.collectUnsubscribesTimer),this.collectUnsubscribesTimer=null))),this.collectSubscribesTimer&&clearTimeout(this.collectSubscribesTimer),this.collectSubscribesTimer=setTimeout(async()=>{if(this.collectSubscribesTimer=null,this.collectSubscribes?.length){const n=this.collectSubscribes;this.collectSubscribes=null;const o=n.filter(s=>!this.objects[s]),a=await this.props.socket.getObjectsById(o);a&&Object.keys(a).forEach(s=>this.objects[s]=a[s]),this.props.socket.subscribeState(n,this.onStateChange)}},200)}}unsubscribe(e){if(this.subscribedStates[e]&&(this.subscribedStates[e]--,!this.subscribedStates[e])){delete this.subscribedStates[e],this.collectUnsubscribes||=[],this.collectUnsubscribes.push(e);const r=this.collectSubscribes?.indexOf(e);r!==-1&&r!==void 0&&(this.collectSubscribes?.splice(r),this.collectSubscribes?.length||(this.collectSubscribes=null,this.collectSubscribesTimer&&(clearTimeout(this.collectSubscribesTimer),this.collectSubscribesTimer=null))),this.collectUnsubscribesTimer&&clearTimeout(this.collectUnsubscribesTimer),this.collectUnsubscribesTimer=setTimeout(()=>{this.collectUnsubscribesTimer=null,this.collectUnsubscribes?.length&&(this.props.socket.unsubscribeState(this.collectUnsubscribes,this.onStateChange),this.collectUnsubscribes=null)},200)}}unsubscribeAll(){Object.keys(this.subscribedStates).forEach(e=>{this.props.socket.unsubscribeState(e,this.onStateChange),delete this.subscribedStates[e]}),this.state.devices.forEach(e=>{e.controls.forEach(r=>{r.states&&Object.keys(r.states).forEach(n=>{r.states[n]&&(r.states[n].subscribed=!1)})})})}onStateChange=(e,r)=>{this.tempStates||={},this.tempStates[e]=r,this.updateValuesTimeout&&clearTimeout(this.updateValuesTimeout),this.updateValuesTimeout=setTimeout(()=>{if(this.updateValuesTimeout=null,this.tempStates){const n=this.tempStates;this.tempStates=null;const o=JSON.parse(JSON.stringify(this.state.values));let a=!1;Object.keys(n).forEach(s=>{const l=n[s];(o[s]?.val!==l?.val||o[s]?.ack!==l?.ack)&&(a=!0,o[s]=l)}),a&&this.setState({values:o})}},200)};onAliveChanged=(e,r)=>{!!r?.val!==this.state.alive&&this.setState({alive:!!r?.val},()=>{this.state.alive&&setTimeout(()=>this.browse(),1e4)})};browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),console.log("Send BROWSE!"),this.browseTimer=setTimeout(()=>{console.log("Browse timeout!"),this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browse3",null).then(r=>{if(this.browseTimer&&(clearTimeout(this.browseTimer),this.browseTimer=null),this.browseTimerCount=0,r?.error)this.setState({message:A.t(r.error)});else if(r){const n=r;this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,n)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),console.log("BROWSE received."),n.sort((o,a)=>o.friendlyName>a.friendlyName?1:o.friendlyName<a.friendlyName?-1:0),this.setState({devices:n,loading:!1,changed:[],browse:!1}),n.length>300&&this.props.onError(A.t("Too many devices (%s) configured. Max number is 300",n.length))}}).catch(r=>this.setState({message:A.t("Error %s",r),browse:!1})))}onReadyUpdate=(e,r)=>{console.log(`Update ${e} ${r?`${r.val}/${r.ack}`:"null"}`),r?.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},300))};onResultUpdate=(e,r)=>{r?.ack===!0&&r.val&&this.setState({message:r.val})};componentDidMount(){this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(e=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(r=>{!e||!e.common||!e.common.enabled&&(!r||!r.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[],alive:!1}):this.setState({alive:!0},()=>this.browse())})),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates3`,this.onReadyUpdate),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdate),this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates3`,this.onReadyUpdate),this.updateValuesTimeout&&(clearTimeout(this.updateValuesTimeout),this.updateValuesTimeout=null),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdate),this.props.socket.unsubscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAliveChanged),this.unsubscribeAll(),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r?.()))}onEdit(e,r){return r||=this.state.devices,r.find(o=>o.controls.find(a=>Object.values(a.states).find(s=>s.id===e)))?(this.props.socket.getObject(e).then(o=>{if(this.objects[e]=o,o){let a=ee.getSmartNameFromObj(o,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon);typeof a=="object"&&a&&(a=a[A.getLanguage()]||a.en),this.editedSmartName=a||"",this.setState({edit:{id:e,type:null,name:this.editedSmartName,originalType:null,originalName:this.editedSmartName,objectName:ee.getObjectNameFromObj(o,null,{language:A.getLanguage()})}})}}),!0):!1}onAskDelete(e){this.setState({deleteId:e,showConfirmation:!0})}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>{if(this.objects[e]=r,r)return ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r)}).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.timerChanged=null,this.setState({lastChanged:""})},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}static renderChannelActions(e){const r=[];return Object.keys(uo).forEach(n=>{if(n!=="translated"){if(e.supported.includes(n)){let o;const a=uo[n].icon;let s=Pe.actionIcon,l=null,d=null,p=null;e.state&&(o=e.state.find(u=>n===u.name),o?.name==="powerState"?(o?.value==="OFF"||o?.value===!1)&&(s={...s,...Pe.deviceOff}):o?.name==="detectionState"?o?.value==="NOT_DETECTED"&&(s={...s,...Pe.deviceOff}):o?.name==="percentage"?l=`${o.value===null?"--":o.value}%`:o?.name==="brightness"?d=o.value===null?"--":o.value:o?.name==="color"&&(p=`hsl(${o.value}, 50%, 50%)`),o?.value&&typeof o.value=="object"&&(o.value=`${o.value.value} ${o.value.scale==="CELSIUS"?"°C":o.value.scale}`));const m=o?` - ${o.value===null?"--":o.value}`:"";r.push(y.jsxs("span",{title:uo[n].label+m,style:Pe.actionSpan,children:[y.jsx(a,{style:{...s,color:uo[n].color,backgroundColor:p}}),l!==null?y.jsx("span",{style:{color:Un[e.type].color},children:l}):null,d!==null?y.jsx("span",{style:{color:Un[e.type].color},children:d}):null]},n))}else if(e.enforced.includes(n)){const o=uo[n].icon;r.push(y.jsx("span",{title:uo[n].label,style:{...Pe.actionSpan,opacity:.7},children:y.jsx(o,{style:{...Pe.actionIcon,color:uo[n].color}})},n))}}}),e.supported.forEach(n=>{uo[n]||r.push(y.jsx("span",{title:n,style:Pe.actionSpan,children:n},n))}),e.enforced.forEach(n=>{uo[n]||r.push(y.jsx("span",{title:n,style:{...Pe.actionSpan,opacity:.7},children:n},n))}),r}static renderDevTypes(e){const r=[];if(!e.controls)return console.log("Something went wrong"),null;const n=[];return e.controls.forEach((o,a)=>{if(!n.includes(o.type)&&(n.push(o.type),Un[o.type])){const s=Un[o.type].icon;let l=Pe.actionSpan,d=null,p=null,m=null,u;e.state&&(u=e.state.find(b=>o.supported.includes(b.name)),u?.name==="powerState"?(u?.value==="OFF"||u?.value===!1)&&(l={...l,...Pe.deviceOff}):u?.name==="detectionState"?u?.value==="NOT_DETECTED"&&(l={...l,...Pe.deviceOff}):u?.name==="percentage"?d=`${u.value===null?"--":u.value}%`:u?.name==="brightness"?p=u.value===null?"--":u.value:u?.name==="color"&&(m=`hsl(${u.value}, 100%, 50%)`),u?.value&&typeof u.value=="object"&&(u.value=`${u.value.value} ${u.value.scale==="CELSIUS"?"°C":u.value.scale}`));const g=u?` - ${u.value===null?"--":u.value}`:"",_=y.jsxs("span",{title:Un[o.type].label+g,style:l,children:[y.jsx(s,{style:{...Pe.deviceIcon,color:Un[o.type].color,backgroundColor:m}}),d!==null?y.jsx("span",{style:{color:Un[o.type].color},children:d}):null,p!==null?y.jsx("span",{style:{color:Un[o.type].color},children:p}):null]},`${o.type}_${a}`);o.type!=="Blind"&&o.type!=="Light"&&o.type!=="Socket"?r.unshift(_):r.push(_)}}),r}getControlId(e,r){return r===void 0?this.state.devices[e].friendlyName:`${this.state.devices[e].friendlyName}_${r}`}onExpand(e,r){const n=[...this.state.expanded],o=this.getControlId(e,r),a=n.indexOf(o);if(a===-1)n.push(o);else if(n.splice(a,1),r!==void 0){const s=this.state.devices[e].controls[r];Object.values(s.states).forEach(l=>{l.subscribed=!1,this.unsubscribe(l.id)})}else this.state.devices[e].controls.forEach(l=>{Object.values(l.states).forEach(d=>{d.subscribed=!1,this.unsubscribe(d.id)})});window.localStorage.setItem("v3.expanded",JSON.stringify(n)),this.setState({expanded:n})}renderSelectByOn(e){const r=e.supported.concat(e.enforced);if(r.includes("brightness")&&r.includes("powerState")||r.includes("percentage")&&r.includes("powerState")){const n=Object.values(e.states)[0],o=n?.smartName==="object"&&n?.smartName?.byON||void 0,a=[y.jsx(pt,{value:"",children:y.jsx("em",{children:A.t("Default")})},"_"),y.jsx(pt,{value:"stored",children:A.t("last value")},"last"),y.jsx(pt,{value:"omit",children:A.t("omit value")},"omit")];for(let s=5;s<=100;s+=5)a.push(y.jsxs(pt,{value:s.toString(),children:[s,"%"]},s.toString()));return y.jsxs(mn,{style:Pe.selectType,variant:"standard",children:[y.jsx(Ar,{variant:"standard",style:Pe.devSubLineByOnSelect,value:(o||"").toString(),onChange:s=>n?.id&&this.onParamsChange(n.id,s.target.value),children:a}),y.jsx(Ro,{style:Pe.devSubLineTypeTitle,children:A.t("by ON")})]})}return y.jsx("div",{style:Pe.selectType})}onParamsChange(e,r,n){this.addChanged(e,()=>this.props.socket.getObject(e).then(o=>{if(this.objects[e]=o,o)return ee.updateSmartName(o,void 0,r,n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.state.lastChanged!==e&&(this.setState({lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(e,o)}).then(()=>this.informInstance(e)).catch(o=>this.props.onError(o)))}static renderSelectTypeSelector(e,r){if(e!==!1){const n=[y.jsx(pt,{value:"_",children:y.jsx("em",{children:A.t("no type")})},"_")];for(let o=0;o<Al.length;o++)n.push(y.jsx(pt,{value:Al[o],children:y.jsx("em",{children:A.t(Al[o])})},Al[o]));return e&&!Al.includes(e)&&(Al.includes(e.toLowerCase())?e=e.toLowerCase():j6[e]&&(e=j6[e])),y.jsxs(mn,{variant:"standard",style:Pe.selectType,children:[y.jsx(Ar,{variant:"standard",value:e||"_",onChange:o=>r(o.target.value==="_"?"":o.target.value),children:n}),y.jsx(Ro,{style:Pe.devSubLineTypeTitle,children:A.t("Types")})]})}return null}renderSelectType(e,r){if(r.autoDetected)return y.jsx("div",{style:Pe.selectType});const n=Object.values(e.states)[0],o=n?.smartName?.smartType||!1;return Na.renderSelectTypeSelector(o,a=>this.onParamsChange(n.id,void 0,a))}renderStates(e,r){return y.jsx("div",{style:{...Pe.statesLine,background:r},children:Object.keys(e.states).map((n,o)=>{const a=e.states[n].id;a&&!e.states[n].subscribed&&(this.subscribe(a),e.states[n].subscribed=!0);const s=this.objects[a]?.common?.unit||"";let l=this.objects[a]?.common?.states;if(Array.isArray(l)){const m={};l.forEach((u,g)=>m[g]=u),l=m,this.objects[a].common.states=l}let d=null;const p=this.state.values[a];return p?l?l[String(p.val)]!==void 0?d=y.jsxs("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:[l[String(p.val)],"(",String(p.val),")"]}):d=y.jsx("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:String(p.val)}):s?d=y.jsxs("span",{children:[y.jsx("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:String(p.val)}),y.jsx("span",{style:{opacity:.7,fontSize:"smaller"},children:s})]}):d=y.jsxs("span",{style:p.ack?Pe.stateValueAck:Pe.stateValueNoAck,children:[String(p.val)," "]}):d=y.jsxs("span",{children:["--",s]}),y.jsxs("div",{style:{...Pe.devSubSubLine,...o%2?{background:this.props.themeType==="dark"?`${M6}80`:`${R6}80`}:{background:this.props.themeType==="dark"?M6:R6}},children:[y.jsxs("div",{style:Pe.devSubSubLineName,children:[y.jsxs("div",{style:Pe.devSubSubLineStateName,children:[n,":"]}),y.jsx("span",{style:Pe.devSubSubLineStateId,children:a})]}),y.jsx("div",{children:d}),y.jsx("div",{style:{width:370}})]},o)})},"states")}static getParentId(e){const r=e.split(".");return r.pop(),r.join(".")}async findDeviceForState(e){const r=Na.getParentId(e),n=await this.props.socket.getObject(r);if(this.objects[r]=n,n?.type==="device")return n;if(n&&(n.type==="channel"||n.type==="folder")){let a=Na.getParentId(r),s=await this.props.socket.getObject(a);return this.objects[a]=s,s?.type==="device"||s?.type==="folder"&&(a=Na.getParentId(r),s=await this.props.socket.getObject(a),this.objects[a]=s,s?.type==="device")?s:n}const o=await this.props.socket.getObject(e);return this.objects[e]=o,o}getControlProps(e){const r=Object.values(e.states)[0].id;return this.state.objects[r]===void 0&&!this.requesting[r]&&(this.requesting[r]=!0,setTimeout(()=>{this.findDeviceForState(r).then(n=>{delete this.requesting[r];const o=JSON.parse(JSON.stringify(this.state.objects));n?.common?(o[r]={name:n.common?.name||null,icon:Stt(n,r,"../..",this.language)},o[r].name=pf(o[r].name,this.language)):o[r]={name:r},this.setState({objects:o})})},50)),this.state.objects[r]?this.state.objects[r]:{name:r}}renderChannels(e,r){return e.controls.map((n,o)=>{if(!n.states||!Object.keys(n.states).length)return null;const a=Object.values(n.states)[0].id;let s=this.state.changed.includes(a)?O6:this.props.themeType==="dark"?o%2?D6:btt:o%2?A6:wtt;this.state.lastChanged===a&&(s===D6||s===A6)&&(s=this.props.themeType==="dark"?I6:N6);const l=Un[n.type]?.icon||null,d=this.state.expanded.includes(this.getControlId(r,o)),p=this.getControlProps(n);return[y.jsxs("div",{style:{...Pe.devSubLine,background:s},children:[y.jsx(Le,{style:Pe.devSubLineExpand,onClick:()=>this.onExpand(r,o),children:y.jsx(lX,{style:d?Pe.devSubLineExpanded:void 0})}),l?y.jsx(l,{style:{...Pe.deviceSmallIcon,color:Un[n.type].color}}):null,y.jsxs("div",{style:Pe.devSubLineName,children:[y.jsx("div",{style:Pe.devSubLineName1,children:A.t(n.type)}),y.jsx("div",{style:Pe.devSubLineName2,children:y.jsxs("div",{style:Pe.devSubLineName2Div,children:[p.icon?p.icon.startsWith("data:image/svg")?y.jsx(Wf,{style:Pe.devSubLineName2Icon,src:p.icon,width:20,height:20}):y.jsx(ks,{src:p.icon,style:{...Pe.devSubLineName2Icon,width:20,height:20}}):null,p.name]})})]}),y.jsx("div",{style:Pe.devLineActions,children:Na.renderChannelActions(n)}),this.renderSelectByOn(n),this.renderSelectType(n,e),e.autoDetected?y.jsx("div",{style:Pe.devLineEdit}):y.jsx(Le,{"aria-label":"Edit",style:Pe.devLineEdit,onClick:()=>this.onEdit(a),children:y.jsx(Wm,{fontSize:"middle"})}),e.autoDetected?e.controls.length>1?y.jsx(Le,{"aria-label":"Delete",style:Pe.devSubLineDelete,onClick:()=>this.onAskDelete(a),children:y.jsx(Os,{fontSize:"middle"})}):y.jsx("div",{style:Pe.devLineDelete}):y.jsx(Le,{"aria-label":"Delete",style:Pe.devLineDelete,onClick:()=>this.onAskDelete(a),children:y.jsx(Os,{fontSize:"middle"})})]},`channel_${o}`),d?this.renderStates(n,s):null,e.controls.length-1===o?y.jsx("div",{style:{marginBottom:10}},`margin_${o}`):null]})}renderDevice(e,r){const n=e.friendlyName,o=this.state.expanded.includes(n),a=Object.values(e.controls[0].states)[0].id;let s=r%2?this.props.themeType==="dark"?"#272727":"#f1f1f1":"inherit";const l=this.state.changed.includes(a);return l?s=O6:a===this.state.lastChanged&&(s=this.props.themeType==="dark"?I6:N6),[y.jsxs("div",{style:{...Pe.devLine,background:s},children:[y.jsxs("div",{style:Pe.devLineNumber,children:[r+1,"."]}),y.jsx(Le,{style:Pe.devLineExpand,onClick:()=>this.onExpand(r),children:e.controls.length>1?y.jsx(Su,{badgeContent:e.controls.length,color:"primary",children:o?y.jsx(xc,{}):y.jsx(kc,{})}):o?y.jsx(xc,{}):y.jsx(kc,{})}),y.jsxs("div",{style:Pe.devLineNameBlock,children:[e.autoDetected?y.jsxs(y.Fragment,{children:[y.jsx("span",{style:Pe.devLineName,children:n}),y.jsx("span",{style:Pe.devLineDescription,children:A.t("Grouped from %s and %s",pf(e.roomName,this.language),pf(e.funcName,this.language))})]}):n,l?y.jsx(Gr,{style:Pe.devLineProgress,size:20}):null]}),y.jsx("span",{style:Pe.devLineActions,children:Na.renderDevTypes(e)})]},`line${r}`),o?this.renderChannels(e,r):null]}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(e){e?.preventDefault(),this.state.edit&&this.addChanged(this.state.edit.id,()=>{const r=this.state.edit.id,n=this.state.edit.type,o=this.state.edit.name;this.setState({edit:null,lastChanged:r}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.timerChanged=null,this.setState({lastChanged:""})},3e4),this.props.socket.getObject(r).then(a=>{if(this.objects[r]=a,a)return ee.updateSmartName(a,o,void 0,n,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(r,a)}).then(()=>this.informInstance(r)).catch(a=>this.props.onError(a))})}renderEditDialog(){return this.state.edit?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({edit:null}),"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",this.state.edit.objectName)}),y.jsxs(Qt,{children:[y.jsxs("p",{children:[y.jsx("span",{children:"ID:"})," ",y.jsx("span",{style:Pe.editedId,children:this.state.edit.id})]}),y.jsx(Et,{variant:"standard",style:{width:"100%"},label:A.t("Smart name"),autoFocus:!0,onKeyDown:e=>e.key==="Enter"&&this.changeSmartName(e),onChange:e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.name=e.target.value,this.setState({edit:r})},value:this.state.edit.name,helperText:A.t("You can enter several names divided by comma"),margin:"normal"}),this.state.edit.type!==null?Na.renderSelectTypeSelector(this.state.edit.type,e=>{const r=JSON.parse(JSON.stringify(this.state.edit));r.type=e,this.setState({edit:r})}):null]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",disabled:!this.state.edit.name||this.state.edit.originalName===this.state.edit.name&&(this.state.edit.type||null)===(this.state.edit.originalType||null),onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{variant:"contained",onClick:()=>this.setState({edit:null}),startIcon:y.jsx(Vt,{}),color:"grey",children:A.t("Cancel")})]})]}):null}renderConfirmDialog(){return this.state.showConfirmation?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({showConfirmation:""}),"aria-labelledby":"confirmation-dialog-title","aria-describedby":"confirmation-dialog-description",children:[y.jsx(Gt,{id:"confirmation-dialog-title",children:this.props.title||A.t("Device %s will be disabled.",this.state.deleteId)}),y.jsx(Qt,{children:y.jsx("p",{children:A.t("Are you sure?")})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.onDelete(),color:"primary",autoFocus:!0,startIcon:y.jsx(Os,{}),children:A.t("Delete")}),y.jsx(Ue,{color:"grey",variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showConfirmation:""}),children:A.t("Cancel")})]})]}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{imagePrefix:"../..",theme:this.props.theme,socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1});const r=Array.isArray(e)?e[0]:e;if(!r){this.setState({message:A.t("Invalid ID")});return}this.props.socket.getObject(r).then(n=>{if(this.objects[r]=n,n){const o=ee.getObjectNameFromObj(n,null,{language:this.language});ee.updateSmartName(n,(o||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(n._id),this.waitForUpdateID=n._id,this.state.lastChanged!==n._id&&(this.setState({lastChanged:n._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(n._id,n).then(()=>this.informInstance(n._id)).catch(a=>this.setState({message:a}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectID1"):null}renderDevices(){const e=this.state.filter.toLowerCase(),r=[];for(let n=0;n<this.state.devices.length;n++)this.state.filter&&!this.state.devices[n].friendlyName.toLowerCase().includes(e)||r.push(this.renderDevice(this.state.devices[n],n));return y.jsx("div",{style:Pe.columnDiv,children:r},"listDevices")}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsx(Xe,{sx:Pe.headerRow,children:y.jsx("div",{style:Pe.headerCell,children:A.t("Name")})}),y.jsx("div",{style:Pe.tableDiv,children:this.state.devices.map((e,r)=>y.jsx("div",{children:y.jsx("div",{style:Pe.tableCell,children:e.friendlyName})},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>r.friendlyName);ee.copyToClipboard(e.join(`
668
+ `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,color:"grey",children:A.t("Close")})]})]}):null}render(){return this.state.loading?y.jsx(Gr,{},"alexaProgress"):y.jsxs("form",{style:Pe.tab,children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",title:A.t("Add new device from state"),disabled:!!this.state.lastChanged&&!!this.waitForUpdateID||!this.state.alive,style:Pe.button,onClick:()=>this.setState({showSelectId:!0}),children:this.state.lastChanged&&this.waitForUpdateID?y.jsx(Gr,{}):y.jsx($i,{})}),y.jsx(Yt,{size:"small",color:"primary",title:A.t("Refresh list of devices"),"aria-label":"Refresh",style:Pe.button,onClick:()=>this.browse(!0),disabled:this.state.browse||!this.state.alive,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),y.jsx(Le,{title:A.t("Expand all devices"),onClick:()=>{const e=[];this.state.devices.forEach((r,n)=>{e.push(r.friendlyName),r.controls.forEach((o,a)=>{e.push(this.getControlId(n,a))})}),window.localStorage.setItem("v3.expanded",JSON.stringify(e)),this.setState({expanded:e})},children:y.jsx(BX,{})}),y.jsx(Le,{disabled:!this.state.expanded.length,onClick:()=>{this.setState({expanded:[]}),this.unsubscribeAll(),window.localStorage.removeItem("v3.expanded")},title:A.t("Collapse all devices"),children:y.jsx(FX,{})}),y.jsx(Yt,{style:{...Pe.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse||!this.state.alive,children:y.jsx(Fm,{})}),y.jsx(Et,{variant:"standard",placeholder:A.t("Filter"),value:this.state.filter,onChange:e=>this.setState({filter:e.target.value}),slotProps:{input:{endAdornment:this.state.filter?y.jsx(Le,{onClick:()=>this.setState({filter:""}),children:y.jsx(Bm,{})}):void 0}}}),this.renderDevices(),this.renderMessage(),this.renderEditDialog(),this.getSelectIdDialog(),this.renderConfirmDialog(),this.renderListOfDevices()]},"alexa")}}const Kh="#aba613",R1="#444",Yh="#00c6ff",xtt="#ff7ee3",ci="#00bc00",ktt="#e7000040",Ctt="#4f4f4f",$tt="#e9e9e9",Ttt="#5c8f65",Ett="#b4ffbe",Qo={OnOff:{color:Kh,icon:jb,desc:"On/Off"},Brightness:{color:Yh,icon:Au,desc:"Dimmer"},RGB:{color:xtt,icon:Au,desc:"Set color"},setTargetTemperature:{color:Yh,icon:M7,desc:"Set target temperature"},incrementTargetTemperature:{color:Kh,icon:ic,desc:"Increment target temperature"},decrementTargetTemperature:{color:R1,icon:sc,desc:"Decrement target temperature"},incrementPercentage:{color:Kh,icon:ic,desc:"Increment percentage"},decrementPercentage:{color:R1,icon:sc,desc:"Decrement percentage"},setColor:{color:Yh,icon:I7,desc:"Set color"},incrementColorTemperature:{color:Kh,icon:ic,desc:"Increment color temperature"},decrementColorTemperature:{color:R1,icon:sc,desc:"Decrement color temperature"},getTargetTemperature:{color:ci,icon:uu,desc:"Get target temperature"},getTemperatureReading:{color:ci,icon:uu,desc:"Get actual temperature"},setLockState:{color:Yh,icon:Vf,desc:"Set lock state"},getLockState:{color:ci,icon:Vf,desc:"Read lock state"},getActualTemperature:{color:ci,icon:uu,desc:"Get actual temperature"},getActualHumidity:{color:ci,icon:vQe,desc:"Get actual humidity"},getMotion:{color:ci,icon:pQe,desc:"Get motion"},getContact:{color:ci,icon:dQe,desc:"Get contact"}},Bt={tab:{width:"100%",height:"100%"},columnDiv:{height:"calc(100% - 40px)",overflow:"auto",minWidth:300},button:{marginRight:20},devLineExpand:{marginRight:10},devLineEdit:{position:"absolute",top:5,right:50},devLineDelete:{position:"absolute",top:5,right:0},devLineName:{},devLineNumber:{display:"inline-block",verticalAlign:"middle",width:15},editedId:{fontStyle:"italic"},devLine:{height:48,width:"100%",position:"relative"},devLineDescription:{display:"block",fontStyle:"italic",fontSize:12},devLineActions:{fontStyle:"italic",fontSize:12,paddingLeft:50,display:"inline-block"},devLineProgress:{position:"absolute",top:0,left:0},devLineNameBlock:{display:"inline-block",width:"calc(100% - 350px)"},actionIcon:{width:16},devSubLine:{position:"relative",height:48},devSubLineName:{marginLeft:5,marginTop:14,minWidth:100,display:"inline-block",fontSize:13,paddingLeft:70},devSubSubLine:{fontSize:10,fontStyle:"italic",display:"inline-block",marginLeft:15},devSubLineSetId:{fontStyle:"italic",display:"block",color:"#999"},headerRow:t=>({paddingLeft:t.spacing(1),background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"100%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"100%"}};class Um extends T.Component{constructor(e){super(e),Qo.translated||(Object.keys(Qo).forEach(r=>Qo[r].desc=A.t(Qo[r].desc)),Qo.translated=!0),this.state={editedSmartName:"",editId:"",editObjectName:"",deleteId:"",showSelectId:!1,showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:[],lastChanged:""},this.timerChanged=null,this.browseTimer=null,this.browseTimerCount=0,this.editedSmartName="",this.waitForUpdateID=null,this.onReadyUpdateBound=this.onReadyUpdate.bind(this),this.onResultUpdateBound=this.onResultUpdate.bind(this),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(r=>{this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(n=>{!r||!r.common||!r.common.enabled&&(!n||!n.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[]}):this.browse()})})}browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),this.browseTimer=setTimeout(()=>{this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browseAlisa",null).then(r=>{this.browseTimer&&clearTimeout(this.browseTimer),this.browseTimerCount=0,this.browseTimer=null,r&&r.error?this.setState({message:A.t(r.error)}):(this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,r)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),this.setState({devices:r,loading:!1,changed:[],browse:!1}))}))}onReadyUpdate(e,r){r&&r.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},300))}onResultUpdate(e,r){r&&r.ack===!0&&r.val&&this.setState({message:r.val})}componentDidMount(){this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updates`,this.onReadyUpdateBound),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r&&r()))}onEdit(e,r){r=r||this.state.devices;const n=r.find(o=>o.iobID===e);if(n){let o=n.name;return typeof o=="object"&&o&&(o=o[A.getLanguage()]||o.en),this.editedSmartName=o,this.setState({editId:e,editedSmartName:o,editObjectName:o}),!0}return!1}onAskDelete(e){this.setState({deleteId:e,showConfirmation:!0})}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>(ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r))).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}static renderActions(e){const r=[];if(!e.actions)return console.log("Something went wrong"),null;e.actions.sort((n,o)=>n===o?0:n==="OnOff"?-1:o==="OnOff"?1:0),Object.keys(Qo).forEach(n=>{if(e.actions.includes(n)){const o=Qo[n].icon;r.push(y.jsx("span",{title:Qo[n].desc,children:y.jsx(o,{style:{...Bt.actionIcon,color:Qo[n].color}})},n))}});for(let n=0;n<e.actions.length;n++)Qo[e.actions[n]]||r.push(y.jsx("span",{children:e.actions[n]},e.actions[n]));return r}onExpand(e){const r=JSON.parse(JSON.stringify(this.state.expanded)),n=r.indexOf(this.state.devices[e].name);n===-1?r.push(this.state.devices[e].name):r.splice(n,1),this.setState({expanded:r})}renderChannels(e,r){const n=[],o=e.main.getId||e.iobID,a=e.func,s=this.props.themeType==="dark"?Ctt:$tt;return n.push(y.jsxs("div",{style:{...Bt.devSubLine,background:s},children:[y.jsx("div",{style:Bt.devSubLineName,children:a.toUpperCase()}),y.jsxs("div",{style:Bt.devSubSubLine,children:[y.jsx("div",{children:e.main.getId}),e.main.setId&&e.main.setId!==e.main.getId?y.jsx("div",{style:Bt.devSubLineSetId,children:e.main.setId}):null]})]},`sub${o}_${r}`)),e.attributes.forEach(l=>{n.push(y.jsxs("div",{style:{...Bt.devSubLine,background:s},children:[y.jsx("div",{style:Bt.devSubLineName,children:l.name.toUpperCase()}),y.jsxs("div",{style:Bt.devSubSubLine,children:[y.jsx("div",{children:l.getId}),l.setId&&l.setId!==l.getId?y.jsx("div",{style:Bt.devSubLineSetId,children:l.setId}):null]})]},`sub${l.getId}`))}),n}renderDevice(e,r){const n=this.state.expanded.includes(e.name);let o=r%2?this.props.themeType==="dark"?"#272727":"#f1f1f1":"inherit";const a=this.state.changed.includes(e.iobID);return a?o=ktt:e.iobID===this.state.lastChanged&&(o=this.props.themeType==="dark"?Ttt:Ett),[y.jsxs("div",{style:{...Bt.devLine,background:o},children:[y.jsxs("div",{style:Bt.devLineNumber,children:[r+1,"."]}),y.jsx(Le,{style:Bt.devLineExpand,onClick:()=>this.onExpand(r),children:e.attributes.length?y.jsx(Su,{badgeContent:e.attributes.length,color:"primary",children:n?y.jsx(xc,{}):y.jsx(kc,{})}):n?y.jsx(xc,{}):y.jsx(kc,{})}),y.jsxs("div",{style:{...Bt.devLineNameBlock,display:"inline-block",position:"relative"},children:[y.jsx("span",{style:Bt.devLineName,children:e.name}),y.jsx("span",{style:Bt.devLineDescription,children:e.description}),a?y.jsx(Gr,{style:Bt.devLineProgress,size:20}):null]}),y.jsx("span",{style:Bt.devLineActions,children:Um.renderActions(e)}),y.jsx(Le,{"aria-label":"Edit",style:Bt.devLineEdit,onClick:()=>this.onEdit(e.iobID),children:y.jsx(Wm,{fontSize:"middle"})}),y.jsx(Le,{"aria-label":"Delete",style:Bt.devLineDelete,onClick:()=>this.onAskDelete(e.iobID),children:y.jsx(Os,{fontSize:"middle"})})]},`line${r}`),n?this.renderChannels(e,r):null]}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}changeSmartName(e){e&&e.preventDefault(),this.addChanged(this.state.editId,()=>{const r=this.state.editId;this.setState({editId:"",editObjectName:"",lastChanged:r}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.props.socket.getObject(r).then(n=>(ee.updateSmartName(n,this.editedSmartName,void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(r,n))).then(()=>this.informInstance(r)).catch(n=>this.props.onError(n))})}renderEditDialog(){return this.state.editId?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>{this.editedSmartName=null,this.setState({editId:"",editedSmartName:""})},"aria-labelledby":"message-dialog-title","aria-describedby":"message-dialog-description",children:[y.jsx(Gt,{id:"message-dialog-title",children:this.props.title||A.t("Smart name for %s",this.state.editObjectName)}),y.jsxs(Qt,{children:[y.jsxs("p",{children:[y.jsx("span",{children:"ID:"})," ",y.jsx("span",{style:Bt.editedId,children:this.state.editId})]}),y.jsx(Et,{variant:"standard",style:{width:"100%"},label:A.t("Smart name"),autoFocus:!0,onKeyDown:e=>e.key==="Enter"&&this.changeSmartName(e),onChange:e=>this.editedSmartName=e.target.value,defaultValue:this.state.editedSmartName,helperText:A.t("You can enter several names divided by comma"),margin:"normal"})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.changeSmartName(),color:"primary",startIcon:y.jsx(Xr,{}),children:A.t("Ok")}),y.jsx(Ue,{variant:"contained",startIcon:y.jsx(Vt,{}),color:"grey",onClick:()=>{this.editedSmartName=null,this.setState({editId:"",editedSmartName:""})},children:A.t("Cancel")})]})]}):null}renderConfirmDialog(){return this.state.showConfirmation?y.jsxs(qt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({showConfirmation:""}),"aria-labelledby":"confirmation-dialog-title","aria-describedby":"confirmation-dialog-description",children:[y.jsx(Gt,{id:"confirmation-dialog-title",children:this.props.title||A.t("Device %s will be disabled.",this.state.deleteId)}),y.jsx(Qt,{children:y.jsx("p",{children:A.t("Are you sure?")})}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"contained",onClick:()=>this.onDelete(),color:"primary",autoFocus:!0,startIcon:y.jsx(Os,{}),children:A.t("Delete")}),y.jsx(Ue,{color:"grey",variant:"contained",onClick:()=>this.setState({showConfirmation:""}),startIcon:y.jsx(Vt,{}),children:A.t("Cancel")})]})]}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1}),this.props.socket.getObject(e).then(r=>{if(r){const n=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()});ee.updateSmartName(r,(n||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(r._id),this.waitForUpdateID=r._id,this.state.lastChanged!==r._id&&(this.setState({lastChanged:r._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),this.props.socket.setObject(r._id,r).then(()=>this.informInstance(r._id)).catch(o=>this.setState({message:o}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectAlisa"):null}renderDevices(){const e=this.state.filter.toLowerCase(),r=[];for(let n=0;n<this.state.devices.length;n++)this.state.filter&&!this.state.devices[n].name.toLowerCase().includes(e)||r.push(this.renderDevice(this.state.devices[n],n));return y.jsx("div",{style:Bt.columnDiv,children:r},"listDevices")}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsx(Xe,{sx:Bt.headerRow,children:y.jsx("div",{style:Bt.headerCell,children:A.t("Name")})}),y.jsx("div",{style:Bt.tableDiv,children:this.state.devices.map((e,r)=>y.jsx("div",{children:y.jsx("div",{style:Bt.tableCell,children:e.name})},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>r.name);ee.copyToClipboard(e.join(`
669
669
  `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{color:"grey",variant:"contained",startIcon:y.jsx(Vt,{}),onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,children:A.t("Close")})]})]}):null}render(){return this.state.loading?y.jsx(Gr,{},"alexaProgress"):y.jsxs("form",{style:Bt.tab,children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",style:Bt.button,onClick:()=>this.setState({showSelectId:!0}),children:y.jsx($i,{})}),y.jsx(Yt,{size:"small",color:"primary","aria-label":"Refresh",style:Bt.button,onClick:()=>this.browse(!0),disabled:this.state.browse,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),y.jsx(Yt,{style:{...Bt.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse,children:y.jsx(Fm,{})}),y.jsx(Et,{variant:"standard",placeholder:A.t("Filter"),className:this.state.filter,value:this.state.filter,onChange:e=>this.setState({filter:e.target.value}),slotProps:{input:{endAdornment:this.state.filter?y.jsx(Le,{onClick:()=>this.setState({filter:""}),children:y.jsx(Bm,{})}):void 0}}}),this.renderDevices(),this.renderMessage(),this.renderEditDialog(),this.getSelectIdDialog(),this.renderConfirmDialog(),this.renderListOfDevices()]},"alexa")}}Um.propTypes={native:ae.object.isRequired,instance:ae.number.isRequired,adapterName:ae.string.isRequired,onError:ae.func,socket:ae.object.isRequired,themeType:ae.string,theme:ae.object};function dc(t,e,r){if(typeof e=="string"&&(e=e.split(".")),!t)return null;if(e.length===1)return r&&r[t[e[0]]]?r[t[e[0]]]:t[e[0]];const n=e.shift()||"";return dc(t[n],e)}function hD(t,e,r){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return t[e[0]]=r;const n=e.shift()||"";return(t[n]===null||t[n]===void 0)&&(t[n]={}),hD(t[n],e,r)}const wt={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:t=>({fontWeight:"bold",background:(t.palette.mode==="dark","#888"),color:t.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"}),width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1}};function L6(t,e,r,n){const o=dc(t,r,n)||"",a=dc(e,r,n)||"";return a<o?-1:a>o?1:0}function Ott(t,e,r){return t==="desc"?(n,o)=>L6(n,o,e,r):(n,o)=>-L6(n,o,e,r)}function Dtt(t,e){const r=t.map((n,o)=>[n,o]);return r.sort((n,o)=>{const a=e(n[0],o[0]);return a||n[1]-o[1]}),r.map(n=>n[0])}class Att extends f.Component{constructor(e){super(e);const r=window.localStorage.getItem("iot.ghome.opened")||"[]";let n;try{n=JSON.parse(r)||[]}catch{n=[]}Array.isArray(n)||(n=[]),this.state={opened:n,editMode:!1,deleteMode:!1,editData:null,order:"asc",orderBy:this.props.columns[0].field}}renderCell(e,r,n,o){if(this.state.editMode===o&&r.editable!=="never"){let a=dc(e,r.field);return Array.isArray(a)&&(a=a[0]),y.jsx(Eo,{style:{...wt.cell,...n?wt.cellSecondary:void 0,...r.cellStyle},component:"th",children:r.lookup?y.jsx(Ar,{variant:"standard",onChange:s=>{const l=this.state.editData?{...this.state.editData}:{};s.target.value===a?delete l[r.field]:l[r.field]=s.target.value,this.setState({editData:l})},value:this.state.editData&&this.state.editData[r.field]||a,children:Object.keys(r.lookup).map(s=>y.jsx(pt,{value:s,children:r.lookup[s]}))}):y.jsx(Et,{variant:"standard",value:this.state.editData&&this.state.editData[r.field]!==void 0?this.state.editData[r.field]:a,onChange:s=>{const l=this.state.editData?{...this.state.editData}:{};s.target.value===a?delete l[r.field]:l[r.field]=s.target.value,this.setState({editData:l})}})},r.field)}return y.jsx(Eo,{style:{...wt.cell,...n?wt.cellSecondary:void 0,...r.cellStyle},component:"th",children:dc(e,r.field,r.lookup)},r.field)}renderLine(e,r){r||=0;const n=this.props.data.indexOf(e);if(!e||!r&&e.parentId||r&&!e.parentId)return null;const o=this.props.data.filter(s=>s.parentId===e.id),a=this.state.opened.includes(e.id);return[y.jsxs(g4,{style:{...wt.row,...r?wt.rowSecondary:void 0,...!r&&o.length?wt.rowMainWithChildren:void 0,...!r&&!o.length?wt.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==n?wt.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==n?wt.rowNoEdit:void 0},children:[y.jsx(Eo,{style:{...wt.cell,...wt.cellExpand,...r?wt.cellSecondary:void 0},children:o.length?y.jsx(Le,{onClick:()=>{const s=[...this.state.opened],l=s.indexOf(e.id);l===-1?(s.push(e.id),s.sort()):s.splice(l,1),this.setState({opened:s})},children:a?y.jsx(mX,{}):y.jsx(AX,{})}):null}),y.jsx(Eo,{scope:"row",style:{...wt.cell,...r?wt.cellSecondary:void 0,...this.props.columns[0].cellStyle},children:dc(e,this.props.columns[0].field,this.props.columns[0].lookup)}),this.props.columns.map((s,l)=>l?this.renderCell(e,s,r,n):null),y.jsx(Eo,{style:{...wt.cell,...wt.cellButton},children:this.state.editMode===n||this.state.deleteMode===n?y.jsx(Le,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const s=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(l=>hD(s,l,this.state.editData[l])),this.setState({editMode:!1},()=>this.props.onUpdate(s,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete(e))},children:y.jsx(Xr,{})}):y.jsx(Le,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:n,editData:null}),children:y.jsx(lu,{})})}),y.jsx(Eo,{style:{...wt.cell,...wt.cellButton},children:this.state.editMode===n||this.state.deleteMode===n?y.jsx(Le,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),children:y.jsx(Vt,{})}):y.jsx(Le,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:n}),children:y.jsx(Es,{})})})]},e.id),!r&&this.state.opened.includes(e.id)?o.map(s=>this.renderLine(s,r+1)):null]}handleRequestSort(e){const r=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:r?"desc":"asc",orderBy:e})}renderHead(){return y.jsx(OH,{children:y.jsxs(g4,{children:[y.jsx(Eo,{component:"th",sx:wt.cellHeader,style:{...wt.cell,...wt.cellExpand}}),y.jsx(Eo,{component:"th",sx:wt.cellHeader,style:{...wt.cell,...wt[`width_${this.props.columns[0].field.replace(/\./g,"_")}`],...this.props.columns[0].cellStyle||void 0},sortDirection:this.state.orderBy===this.props.columns[0].field?this.state.order:!1,children:y.jsxs(_4,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field),children:[this.props.columns[0].title,this.state.orderBy===this.props.columns[0].field?y.jsx("span",{style:wt.visuallyHidden,children:this.state.order==="desc"?"sorted descending":"sorted ascending"}):null]})}),this.props.columns.map((e,r)=>r?y.jsx(Eo,{sx:wt.cellHeader,style:{...wt.cell,...wt[`width_${e.field.replace(/\./g,"_")}`],...e.cellStyle},component:"th",children:y.jsxs(_4,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field),children:[e.title,this.state.orderBy===e.field?y.jsx("span",{style:wt.visuallyHidden,children:this.state.order==="desc"?"sorted descending":"sorted ascending"}):null]})},e.field):null),y.jsx(Eo,{component:"th",sx:wt.cellHeader,style:{...wt.cell,...wt.cellButton}}),y.jsx(Eo,{component:"th",sx:wt.cellHeader,style:{...wt.cell,...wt.cellButton}})]})})}render(){const e=this.props.columns?this.props.columns.find(n=>n.field===this.state.orderBy)?.lookup:void 0,r=Dtt(this.props.data,Ott(this.state.order,this.state.orderBy,e));return y.jsx("div",{style:{...wt.tableContainer,...this.props.style||void 0},className:this.props.className,children:y.jsxs(mH,{style:wt.table,"aria-label":"simple table",size:"small",stickyHeader:!0,children:[this.renderHead(),y.jsx(bH,{children:r.map(n=>this.renderLine(n))})]})})}}const rn={tab:{height:"100%",overflow:"hidden"},tableDiv:{width:"100%",overflow:"hidden",height:"calc(100% - 48px)"},searchText:{width:150,marginLeft:8,verticalAlign:"middle"},headerRow:t=>({pl:1,background:t.palette.primary.main}),headerCell:{display:"inline-block",verticalAlign:"top",width:"30%"},tableCell:{display:"inline-block",verticalAlign:"top",width:"30%"}},F6=400,B6=400;class uc extends T.Component{constructor(e){super(e),this.state={editedSmartName:"",editId:"",editObjectName:"",deleteId:"",expertMode:window.localStorage.getItem("App.expertMode")!=="true",helpHidden:window.localStorage.getItem("App.helpHidden")==="true",showSelectId:!1,searchText:"",showConfirmation:"",changed:[],devices:[],message:"",filter:"",loading:!0,browse:!1,expanded:[],lastChanged:"",helpHeight:0},this.columns=[{title:A.t("ID"),field:"id",editable:"never",cellStyle:{maxWidth:"12rem",overflow:"hidden",wordBreak:"break-word"}},{title:A.t("Smart names"),field:"name.nicknames"},{title:A.t("ioBType"),field:"ioType",editable:"never",cellStyle:{maxWidth:"4rem",overflow:"hidden",wordBreak:"break-word"}},{title:A.t("Type"),field:"type",lookup:{"action.devices.types.AC_UNIT":"Air conditioning unit","action.devices.types.AIRFRESHENER":"Air Freshener","action.devices.types.AIRPURIFIER":"Air purifier","action.devices.types.AWNING":"Awning","action.devices.types.BLINDS":"Blinds","action.devices.types.BOILER":"Boiler","action.devices.types.CAMERA":"Camera","action.devices.types.COFFEE_MAKER":"Coffee maker","action.devices.types.CURTAIN":"Curtain","action.devices.types.DISHWASHER":"Dishwasher","action.devices.types.DOOR":"Door","action.devices.types.DRYER":"Dryer","action.devices.types.FAN":"Fan","action.devices.types.FIREPLACE":"Fireplace","action.devices.types.GARAGE":"Garage","action.devices.types.GATE":"Gate","action.devices.types.HEATER":"Heater","action.devices.types.HOOD":"Hood","action.devices.types.KETTLE":"Kettle","action.devices.types.LIGHT":"Light","action.devices.types.LOCK":"Lock","action.devices.types.MOP":"Mop","action.devices.types.MICROWAVE":"Microwave","action.devices.types.OUTLET":"Outlet","action.devices.types.OVEN":"Oven","action.devices.types.PERGOLA":"Pergola","action.devices.types.REFRIGERATOR":"Refrigerator","action.devices.types.SCENE":"Scene","action.devices.types.SECURITYSYSTEM":"Security System","action.devices.types.SENSOR":"Sensor","action.devices.types.SHUTTER":"Shutter","action.devices.types.SHOWER":"Shower","action.devices.types.SPEAKER":"Speaker","action.devices.types.SPRINKLER":"Sprinkler","action.devices.types.SWITCH":"Switch","action.devices.types.THERMOSTAT":"Thermostat","action.devices.types.VACUUM":"Vacuum","action.devices.types.VALVE":"Valve","action.devices.types.WASHER":"Washer","action.devices.types.WATERHEATER":"Water heater","action.devices.types.WINDOW":"Window"}},{title:A.t("Function/Trait"),field:"displayTraits",lookup:{"action.devices.traits.Brightness":"Brightness","action.devices.traits.ColorSetting_temperature":"ColorSetting_Temperature","action.devices.traits.ColorSetting_spectrumRGB":"ColorSetting_RGB","action.devices.traits.FanSpeed":"FanSpeed","action.devices.traits.LockUnlock":"LockUnlock","action.devices.traits.Modes":"Modes","action.devices.traits.OnOff":"OnOff","action.devices.traits.OpenClose":"OpenClose","action.devices.traits.Scene":"Scene","action.devices.traits.StartStop":"StartStop","action.devices.traits.TemperatureControl_temperatureSetpointCelsius":"Oven_SetTemp","action.devices.traits.TemperatureControl_temperatureAmbientCelsius":"Oven_StatusTemp","action.devices.traits.TemperatureSetting_thermostatMode":"Thermostat_Mode","action.devices.traits.TemperatureSetting_thermostatTemperatureSetpoint":"Thermostat_SetTemp","action.devices.traits.TemperatureSetting_thermostatTemperatureAmbient":"Thermostat_StatusTemp","action.devices.traits.TemperatureSetting_thermostatHumidityAmbient":"Thermostat_StatusHumidity","action.devices.traits.Toggles":"Toggles","action.devices.traits.Volume":"Volume"}},{title:A.t("Attributes"),field:"displayAttributes",cellStyle:{maxWidth:"12rem",overflow:"hidden",wordBreak:"break-word"},expertMode:!0,editComponent:uc.editDisplayAttributesComponent},{title:A.t("Room"),field:"roomHint",editable:"never"},{title:A.t("Auto"),field:"smartEnum",editable:"never",cellStyle:{maxWidth:"3rem",overflow:"hidden",wordBreak:"break-word"},expertMode:!0},{title:A.t("Conversation to GH"),field:"displayConv2GH",cellStyle:{maxWidth:"4rem",overflow:"hidden",wordBreak:"break-word"},expertMode:!0,editComponent:uc.editDisplayConv2GH},{title:A.t("Conversation to ioB"),field:"displayConv2iob",cellStyle:{maxWidth:"4rem",overflow:"hidden",wordBreak:"break-word"},expertMode:!0,editComponent:uc.editDisplayConv2iob}],this.timerChanged=null,this.browseTimer=null,this.browseTimerCount=0,this.editedSmartName="",this.waitForUpdateID=null,this.onReadyUpdateBound=this.onReadyUpdate.bind(this),this.onResultUpdateBound=this.onResultUpdate.bind(this),this.helpRef=f.createRef(),this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`).then(r=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(n=>{!r||!r.common||!r.common.enabled&&(!n||!n.val)?this.setState({message:A.t("Instance must be enabled"),loading:!1,devices:[]}):this.browse()}))}static editDisplayConv2GH(e){return y.jsxs("div",{children:["Conversation to Google Home = function(value){",y.jsx("br",{}),y.jsx("textarea",{rows:4,style:{width:"100%",resize:"vertical"},value:e.value,onChange:r=>e.onChange(r.target.value)}),"}"]})}static editDisplayConv2iob(e){return y.jsxs("div",{children:["Conversation to ioBroker = function(value){",y.jsx("br",{}),y.jsx("textarea",{rows:4,style:{width:"100%",resize:"vertical"},value:e.value,onChange:r=>e.onChange(r.target.value)}),"}"]})}static editDisplayAttributesComponent(e){return y.jsx("textarea",{rows:4,style:{width:"100%",resize:"vertical"},value:e.value,onChange:r=>e.onChange(r.target.value)})}browse(e){Date.now()-this.lastBrowse<500||(this.lastBrowse=Date.now(),e?this.setState({loading:!0,browse:!0}):this.setState({browse:!0}),this.browseTimer=setTimeout(()=>{console.log("Browse timeout!"),this.browseTimer=null,this.browseTimerCount++,this.browseTimerCount<5?this.browse(e):this.setState({message:A.t("Cannot read devices!")})},1e4),this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"browseGH",null).then(r=>{this.browseTimer&&clearTimeout(this.browseTimer),this.browseTimerCount=0,this.browseTimer=null,r&&r.error?this.setState({message:A.t(r.error)}):(this.waitForUpdateID&&(this.onEdit(this.waitForUpdateID,r)||this.setState({message:A.t("Device %s was not added",this.waitForUpdateID)}),this.waitForUpdateID=null),this.setState({devices:r,loading:!1,changed:[],browse:!1}))}).catch(r=>this.setState({message:A.t(r),browse:!1})))}onReadyUpdate(e,r){console.log(`Update ${e} ${r?`${r.val}/${r.ack}`:"null"}`),r&&r.ack===!0&&r.val===!0&&(this.devTimer&&clearTimeout(this.devTimer),this.devTimer=setTimeout(()=>{this.devTimer=null,this.browse()},10))}onResultUpdate(e){e&&e.ack===!0&&e.val&&this.setState({message:e.val})}componentDidMount(){this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesGH`,this.onReadyUpdateBound),this.props.socket.subscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound)}componentWillUnmount(){this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesGH`,this.onReadyUpdateBound),this.props.socket.unsubscribeState(`${this.props.adapterName}.${this.props.instance}.smart.updatesResult`,this.onResultUpdateBound),this.timerChanged&&(clearTimeout(this.timerChanged),this.timerChanged=null)}informInstance(e){this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`,"update",e)}addChanged(e,r){const n=JSON.parse(JSON.stringify(this.state.changed));n.includes(e)?r&&r():(n.push(e),this.setState({changed:n},()=>r&&r()))}onEdit(e,r){r=r||this.state.devices;const n=r.find(o=>o.id===e);return n?(this.props.socket.getObject(e).then(o=>{let a=n.common&&n.common.smartName?n.common.smartName:n._id;typeof a=="object"&&a&&(a=a[A.getLanguage()]||a.en),this.editedSmartName=a,this.setState({editId:e,editedSmartName:a,editObjectName:ee.getObjectNameFromObj(o,null,{language:A.getLanguage()})})}),!0):!1}onDelete(){const e=this.state.deleteId;this.addChanged(e,()=>{this.props.socket.getObject(e).then(r=>(ee.disableSmartName(r,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.props.socket.setObject(e,r))).then(()=>{this.setState({deleteId:"",showConfirmation:!1,lastChanged:e}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4),this.informInstance(e)}).catch(r=>this.props.onError(r))})}onGHParamsChange(e,r){this.addChanged(e.id,()=>{this.props.socket.getObject(e.id).then(n=>{if(!n||!n.common)return this.setState({message:A.t("Object %s is invalid. No common found.",e.id)});if(ee.updateSmartName(n,this.editedSmartName,void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),JSON.stringify(e.displayTraits)!==JSON.stringify(r.displayTraits)&&(Array.isArray(e.displayTraits)||(e.displayTraits=[e.displayTraits]),n.common.smartName.ghTraits=e.displayTraits),e.type!==r.type&&(n.common.smartName.ghType=e.type),e.displayAttributes!==r.displayAttributes){n.common.smartName.ghAttributes=e.displayAttributes;try{n.common.smartName.ghAttributes&&JSON.parse(n.common.smartName.ghAttributes)}catch{this.setState({message:A.t("Attributes has not correct JSON format.")})}}return e.conv2GH&&(n.common.smartName.ghConv2GH=e.displayConv2GH),e.conv2iob&&(n.common.smartName.ghConv2iob=e.displayConv2iob),this.props.socket.setObject(e.id,n)}).then(()=>this.informInstance(e.id)).catch(n=>this.props.onError(n))})}renderMessage(){return this.state.message?y.jsx(tp,{text:this.state.message,onClose:()=>this.setState({message:""})}):null}getSelectIdDialog(){return this.state.showSelectId?y.jsx(Lc,{theme:this.props.theme,imagePrefix:"../..",socket:this.props.socket,selected:"",types:["state"],onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1}),this.props.socket.getObject(e).then(r=>{if(r){if(!r.common){this.setState({message:A.t("Object %s is invalid. No common found.",e)});return}const n=ee.getObjectNameFromObj(r,null,{language:A.getLanguage()});ee.updateSmartName(r,(n||A.t("Device name")).replace(/[-_.]+/g," "),void 0,void 0,`${this.props.adapterName}.${this.props.instance}`,this.props.native.noCommon),this.addChanged(r._id),this.waitForUpdateID=r._id,this.state.lastChanged!==r._id&&(this.setState({lastChanged:r._id}),this.timerChanged&&clearTimeout(this.timerChanged),this.timerChanged=setTimeout(()=>{this.setState({lastChanged:""}),this.timerChanged=null},3e4)),r.common.smartName?(r.common.smartName.ghType="action.devices.types.LIGHT",r.common.smartName.ghTraits=["action.devices.traits.OnOff"]):(r.common.smartName={ghType:"action.devices.types.LIGHT"},r.common.smartName={ghTraits:["action.devices.traits.OnOff"]}),this.props.socket.setObject(r._id,r).then(()=>{this.informInstance(r._id),this.setState({message:A.t("Please add type and trait to complete the Google Home state.")})}).catch(o=>this.setState({message:o}))}else this.setState({message:A.t("Invalid ID")})})}},"dialogSelectGoogle"):null}renderListOfDevices(){return this.state.showListOfDevices?y.jsxs(qt,{open:!0,maxWidth:"xl",fullWidth:!0,onClose:()=>this.setState({showListOfDevices:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsxs(Gt,{id:"alert-dialog-title",children:[A.t("List of devices to print out, e.g. to give all device names to your partner.")," ",y.jsx("span",{role:"img","aria-label":"smile",children:"😄"})]}),y.jsxs(Qt,{children:[y.jsxs(Xe,{sx:rn.headerRow,children:[y.jsx("div",{style:rn.headerCell,children:A.t("Name")}),y.jsx("div",{style:rn.headerCell,children:A.t("Function")}),y.jsx("div",{style:rn.headerCell,children:A.t("Room")})]}),y.jsx("div",{style:rn.tableDiv,children:this.state.devices.map((e,r)=>y.jsxs("div",{children:[y.jsx("div",{style:rn.tableCell,children:e.name.nicknames.join(", ")}),y.jsx("div",{style:rn.tableCell,children:e.displayTraits.map(n=>n.replace("action.devices.traits.","")).join(", ")}),y.jsx("div",{style:rn.tableCell,children:e.roomHint})]},r))})]}),y.jsxs(Zt,{children:[y.jsx(Ue,{variant:"outlined",onClick:()=>{this.setState({showListOfDevices:!1});const e=this.state.devices.map(r=>`${r.name.nicknames.join(", ")} ${r.displayTraits} ${r.roomHint}`);ee.copyToClipboard(e.join(`
670
- `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{color:"grey",startIcon:y.jsx(Vt,{}),variant:"contained",onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,children:A.t("Close")})]})]}):null}renderInstructions(){const e=window.innerHeight>F6&&window.innerWidth>B6;if(this.state.helpHidden||this.props.smallDisplay||!e)return null;const r=A.t("manualModeHint");return y.jsxs("div",{style:{width:"100%"},ref:this.helpRef,children:[y.jsxs("div",{style:{marginTop:"4rem",display:"flex"},children:[y.jsxs("div",{style:{flex:"50%"},children:[y.jsx("div",{style:{fontWeight:"bold"},children:A.t("Auto Mode")}),y.jsx("div",{style:{marginTop:"0.8rem",marginRight:"0.8rem"},children:A.t("To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung")})]}),y.jsxs("div",{style:{flex:"50%"},children:[y.jsx("div",{style:{fontWeight:"bold"},children:A.t("Manual Mode")}),y.jsx("span",{children:ee.renderTextWithA(r)})]})]}),y.jsx("br",{}),y.jsx("div",{style:{flex:"100%"},children:y.jsx("div",{style:{fontWeight:"bold"},children:ee.renderTextWithA(A.t("For help use this forum"))})})]})}renderToolbar(){const e=window.innerHeight>F6&&window.innerWidth>B6;return y.jsxs(Mw,{variant:"dense",children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",style:rn.button,onClick:()=>this.setState({showSelectId:!0}),children:y.jsx($i,{})}),y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},size:"small",color:"primary","aria-label":"Refresh",onClick:()=>this.browse(!0),disabled:this.state.browse,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),e&&!this.state.hideHelp?y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},size:"small",color:this.state.helpHidden?"default":"primary","aria-label":"Help",title:A.t("Show/Hide help"),onClick:()=>{window.localStorage.setItem("App.helpHidden",this.state.helpHidden?"false":"true"),this.setState({helpHidden:!this.state.helpHidden})},disabled:this.state.browse,children:y.jsx(xQe,{})}):null,y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},size:"small",color:this.state.expertMode?"primary":"default","aria-label":"Help",title:A.t("Toggle expert mode"),onClick:()=>{window.localStorage.setItem("App.expertMode",this.state.expertMode?"false":"true"),this.setState({expertMode:!this.state.expertMode})},disabled:this.state.browse,children:y.jsx(Ff,{})}),y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse,children:y.jsx(Fm,{})}),this.props.smallDisplay?null:y.jsx(Et,{variant:"standard",style:rn.searchText,label:A.t("Filter"),value:this.state.searchText,onChange:r=>this.setState({searchText:r.target.value}),slotProps:{input:{endAdornment:this.state.searchText?y.jsx(Le,{onClick:()=>this.setState({searchText:""}),children:y.jsx(Bm,{})}):void 0}}})]})}componentDidUpdate(){if(this.helpRef.current){const e=this.helpRef.current.clientHeight;this.state.helpHeight!==e&&(!this.state.helpHidden&&e+64+48+200>window.innerHeight?setTimeout(()=>this.setState({helpHeight:e,helpHidden:!0,hideHelp:!0}),50):setTimeout(()=>this.setState({helpHeight:e}),50))}else this.state.helpHeight&&setTimeout(()=>this.setState({helpHeight:0}),50)}render(){if(this.state.loading)return y.jsx(Gr,{},"alexaProgress");const e=this.state.searchText.toLowerCase(),r=this.state.searchText?this.state.devices.filter(n=>n.name?.name?.toLowerCase().includes(e)||n.name?.defaultNames?.find(o=>o.toLowerCase().includes(e))||n.name?.nicknames?.find(o=>o.toLowerCase().includes(e))):this.state.devices;return y.jsxs("form",{style:rn.tab,children:[this.renderToolbar(),this.renderInstructions(),y.jsx("div",{style:{...rn.tableDiv,height:`calc(100% - ${48+(this.state.helpHeight?this.state.helpHeight+64:0)}px)`},children:y.jsx(Att,{columns:this.state.expertMode?this.columns:this.columns.filter(n=>!n.expertMode),data:r,onUpdate:(n,o)=>{n.name.nicknames&&Array.isArray(n.name.nicknames)&&(n.name.nicknames=n.name.nicknames.join(",")),this.editedSmartName=n.name.nicknames,this.setState({editId:n.id},()=>{!n.type||!n.displayTraits?this.setState({browse:!0,message:A.t("Please add action and trait to complete the Google Home state.")}):this.setState({browse:!0}),this.onGHParamsChange(n,o);const a=JSON.parse(JSON.stringify(this.state.devices));a[a.indexOf(o)]=n,this.setState({...this.state,devices:a})})},onDelete:n=>(n.smartEnum==="X"?this.setState({deleteId:n.id}):this.props.socket.getObject(n.id).then(o=>(o&&o.common&&o.common.smartName&&(delete o.common.smartName.ghTraits,delete o.common.smartName.ghType,delete o.common.smartName.ghAttributes),this.props.socket.setObject(n.id,o))),new Promise(o=>{setTimeout(()=>{this.state.deleteId?this.onDelete():this.informInstance(n.id),o();const a=JSON.parse(JSON.stringify(this.state.devices));a.splice(a.indexOf(n),1),this.setState({...this.state,devices:a})},600)}))})}),this.renderMessage(),this.getSelectIdDialog(),this.renderListOfDevices()]},"gh")}}uc.propTypes={native:ae.object.isRequired,instance:ae.number.isRequired,adapterName:ae.string.isRequired,onError:ae.func,socket:ae.object.isRequired,theme:ae.object};const Itt=()=>t=>e=>y.jsx(t,{smallDisplay:sO("(max-width:600px)"),...e}),Ntt=Itt()(uc),Mtt="Active",Rtt="Addresses",jtt="Cancel",ztt="Close",Ptt="Commands",Ltt="Default",Ftt="Dimmer",Btt="Filter",Wtt="Functions",Htt="Instance",Utt="Language",Vtt="Message",qtt="off",Gtt="Ok",Jtt="on",Xtt="Options",Ktt="Review",Ytt="Rooms",Ztt="Save",Qtt="Select",ert="Type",trt="Types",rrt="Value",nrt="clear",ort="disabled",art='Before writing to support be sure you have read and understand the instructions of the web page: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',srt='If you still have issue with the connection to Iot, you can request support im <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a>',irt='and only after that you should write an email to <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',lrt='No iobroker.pro account? Buy it on <a href="https://iobroker.pro/accessRemote" target="_blank">https://iobroker.pro</a> for validated access or get for free, but limited access.',crt="divided by comma. Use * to allow all services.",drt="You can find your key <a href='https://ifttt.com/maker_webhooks' target='_blank'>here</a> under 'Documentation'",urt="Name was modified by user",prt="If you use your own cloud, you can allow the use of self-signed certificates for the cloud.",hrt="This key is required to communicate with a cloud. You can get the API-KEY on https://iobroker.net and it looks like nickname_f1f439a0-001a-11e7-bc64-92361f002671",frt="Normally you do not need to change it. Only required if you plan to use your own cloud.",mrt="Define how to concatenate Room and Function. E.g. with 'in': Light in living room.",grt="Some groups consist of mixed devices: dimmers and switches. It is allowed to control them with ON and OFF commands and with percents",_rt="Normally the names looks like room_function. Here you can switch it to function_room.",vrt="Web instance, which will be shown for your connections from cloud.",yrt="You can define the languages to switch fast between US Alexa Skill and DE Alexa Skill.",brt="If enabled, the settings will be stored only for this instance. So in the another instance the other names could be set.",wrt="For every command the text response will be generated. You can define here the Object ID , where this text must be written to. E.g. sayit.0.tts.text.",Srt="Workaround for missing connection to Alexa after the connection to cloud was lost. With this option you can restart adapter after each disconnection and it will work.",xrt="You cannot use % in password. We are working on the fix.",krt=`Password must be at least 8 characters long and must have numbers, upper and lower case letters. Please change it in the ioBroker.pro profile
671
- `,Crt="If you made a restore from backup, or moved your instance from one device to other or deleted the IoT instance and added it again you must load the connection security certificates with this button",$rt="If the login to the Alexa Skill/Google Action/Alisa with the ioBroker.pro login data fails, then please press the below button.",Trt='Any questions in any language please ask here in forum: <a href="https://forum.iobroker.net/post/435797" target="_blank">link</a>',Ert="Please select a <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> and a <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> after adding a state. To add multiple traits add a different id and trait but same smart name, type and room. Comma separated for the multiple smart names. To assign a room please use the ioBroker Enums/Aufzählungen. With attributes you can for example set a range for the color temperature <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos about Attributes you can find here.</a> Empty attribute is {}",Ort="Search",Drt="Name",Art="Room",Irt="ID",Nrt="IoB Type",Mrt="Attributes",Rrt="Automatically",jrt="Delete",zrt="Dimmer",Prt="On/Off",Lrt="Color",Frt="Detection",Brt="Lock",Wrt="Mode",Hrt="Muted",Urt="Percentage",Vrt="Temperature",qrt="Volume",Grt="socket",Jrt="light",Xrt="dimmer",Krt="thermostat",Yrt="window blinds",Zrt="gate",Qrt="lock",ent="hue",tnt="motion",rnt="slider",nnt="temperature",ont="window",ant="Thermostat",snt="Light",int="Air condition",lnt="Window blinds",cnt="Contact sensor",dnt="Control",unt="Door",pnt="Gate",hnt="Hue",fnt="Motion",mnt="Slider",gnt="Socket",_nt="Vacuum cleaner",vnt="Volume group",ynt="Window",bnt="Sensor",wnt="Window blinds",Snt="Toggle",xnt={"(Set to 0 if behavior not desired)":"(Set to 0 if behavior not desired)","(you can separate names with comma)":"You can enter several names divided by comma",Active:Mtt,"Add device":"Add device","Add service":"Add service",Addresses:Rtt,"Alexa devices":"Alexa devices","Alisa devices":"Alisa devices","Allow admin access (only pro)":"Allow admin access (only pro)","Allow self-signed certificates":"Allow self-signed certificates","Amazon Alexa":"Amazon Alexa","Are you sure?":"Are you sure?","Attributes has not correct JSON format.":"Attributes is not in the correct JSON format","Authentication must be disabled. You can create second instance extra for cloud.":"Authentication must be disabled. You can create a second instance extra for the cloud.",Cancel:jtt,"Cannot add this object":"Cannot add this object, because not supported.","Cannot read devices!":"Cannot read devices!","Certificates will be updated after initiated restart":"Certificates will be updated after initiated restart","Certificates will be updated after start":"Certificates will be updated after start","Click now Get new connection certificates to request new temporary password":'Click now "Get new connection certificates" to request new temporary password',Close:ztt,"Cloud URL":"Cloud URL","Cloud adapter settings":"Cloud adapter settings",Commands:Ptt,"Concatenate words with":"Concatenate words with","Connection timeout":"Connection timeout(ms)","Debug outputs":"Debug outputs","Decrement color temperature":"Decrement color temperature","Decrement percentage":"Decrement percentage","Decrement target temperature":"Decrement target temperature",Default:Ltt,"Device %s was not added":"Device %s was not added","Device will be deactivated.":"Device will be deactivated.","Device will be disabled.":"Device %s will be disabled.",Dimmer:Ftt,"Duplicate name":"Duplicate name","Edit smart name":"Edit smart name",Error:"Error","Extended options":"Extended options",Filter:Btt,"For help use this forum":"For help, visit this <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Functions:Wtt,"Get actual temperature":"Get actual temperature","Get new connection certificates":"Get new connection certificates","Get new service URL key":"Get new service URL key","Get target temperature":"Get target temperature","Google Home":"Google Home","IFTTT key":"IFTTT key","Increment color temperature":"Increment color temperature","Increment percentage":"Increment percentage","Increment target temperature":"Increment target temperature",Instance:Htt,"Instance does not exists":"Instance does not exists","Instance is not active.":"Instance is not active.","Instance must be enabled":"Instance must be enabled","Instance must run to deliver the data":"The instance must run to deliver the data","Invalid object":"Invalid object",Language:Utt,"Load configuration from file":"Load configuration from file",Message:Vtt,"OFF level for switches":"OFF level for switches","OFF level for switches in %":"OFF level for switches in %",Off:qtt,Ok:Gtt,On:Jtt,"On/Off":"On/Off",Options:Xtt,"Personal settings (only pro)":"Personal settings (only pro)","Ping timeout:":"Ping timeout(ms)","Place function in names first":"Place function in names first","Please add action and trait to complete the Google Home state.":"Please add action and trait to complete the Google Home state.","Please add type and trait to complete the Google Home state.":"Please add type and trait to complete the Google Home state.","Please select object ID...":"Please select object ID...","Please write your email only in lower case letters":"Please write your email only in lower case letters","Read lock state":"Read lock state","Replace in names":"Replace in names","Request email with password one more time":"Request email with password one more time","Restart on disconnect":"Restart on disconnect",Review:Ktt,Rooms:Ytt,Save:Ztt,"Save and close":"Save and close","Save configuration to file":"Save configuration to file","Save settings and the names will be changed":"Save settings and the names will be changed",Select:Qtt,"Service names":"Service names","Services and IFTTT":"Services and IFTTT","Set color":"Set color","Set color temperature":"Set color temperature","Set lock state":"Set lock state","Set percentage":"Set percentage","Set target temperature":"Set target temperature","Smart Devices":"Smart Devices","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Smart enums","Smart name":"Smart name","Smart name for %s":"Smart name for %s","To apply this setting, the restart of adapter must be done. Agree?":"To apply this setting, the adapter must be restarted. Agree?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"For automatic detection, under objects assign a channel (device if no channel is available) to a room and function. It is not sufficient to assign the room to a state or device. Rooms/functions can be added under enumeration (indicated by the white arrow at the top right) and must be activated in the IoT adapter under Intelligent enumeration. In order to automatically recognize manual states, the state must be deleted.","Turn off":"Turn off","Turn on":"Turn on",Type:ert,Types:trt,"Use Nightscout instance":"Use Nightscout instance","Use following link for IFTTT":"Use following link for IFTTT","Use following link for custom service":"Use following link for custom service","Use text2command instance":"Use text2command instance",Value:rrt,"White list for services":"White list for services","Write response to":"Write response to","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"You can enter several names divided by comma","amazon link":"If you use the Alexa Skill, please write a review for us <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>here</a>.<br>Examples can be found <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>here</a>.","by ON":"by ON",clear:nrt,default:"default",disabled:ort,help_link_tip1:art,help_link_tip2:srt,help_link_tip3:irt,help_tip:lrt,info_allowedServices:crt,info_iftttKey:drt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Password","last value":"no value","omit value":"omit value",modified:urt,"no type":"no type",tooltip_allowSelfSignedCertificate:prt,tooltip_apikey:hrt,tooltip_cloudUrl:frt,tooltip_concatWord:mrt,tooltip_deviceOffLevel:grt,tooltip_functionFirst:_rt,tooltip_instance:vrt,tooltip_language:yrt,tooltip_noCommon:brt,tooltip_responseOID:wrt,tooltip_restartOnDisconnect:Srt,"Short answer for blood sugar":"Short answer for blood sugar",cannot_use_password:xrt,invalid_password_warning:krt,new_certs_tip:Crt,new_credentials_tip:$rt,"Create IoT credentials anew":"Create IoT credentials anew",forum_tip:Trt,"Save settings before pressing this button":"Save settings before pressing this button","Auto Mode":"Auto Mode","Manual Mode":"Manual Mode",manualModeHint:Ert,"not activated":"not activated","Google devices":"Google devices","Show/Hide help":"Show/Hide help","Show all devices for print out":"Show all devices for print out",Search:Ort,"List of devices to print out, e.g. to give all device names to your partner.":"List of devices to print out, e.g. to give all device names to your partner.",Name:Drt,Function:"Function",Room:Art,"Copy to clipboard":"Copy to clipboard","Toggle expert mode":"Toggle expert mode",ID:Irt,"Smart names":"Smart names",ioBType:Nrt,"Function/Trait":"Function/Trait",Attributes:Mrt,Auto:Rrt,"Conversation to GH":"Convert to GH","Conversation to ioB":"Convert to ioB","Information: The skill linking process was changed!":"Information: The skill linking process was changed!","The linking process has been changed for a few months.":"The linking process has been changed for a few months.","Now there is no temporary password that will be sent by email.":"Now there is no temporary password that will be sent by email.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"The password is equal with ioBroker.pro and with password that was entered here in the settings!","Not understood":"Not understood","Roger that":"Roger that","Read blood sugar from":"Read blood sugar from","Get actual humidity":"Get actual humidity","Get motion":"Get motion","Get contact":"Get contact status","Too many devices (%s) configured. Max number is 300":"Too many devices (%s) configured. Max number is 300!","Allow remote access":"Allow remote access","Admin instance":"Admin instance","Web instance":"Web instance","Device %s will be disabled.":"Device %s will be disabled.",Delete:jrt,Brightness:zrt,Power:Prt,"Color temperature":"Color temperature",Color:Lrt,Detection:Frt,Lock:Brt,Mode:Wrt,Muted:Hrt,Percentage:Urt,"Set point":"Set point",Temperature:Vrt,"Thermostat mode":"Thermostat mode",Volume:qrt,socket:Grt,light:Jrt,dimmer:Xrt,thermostat:Krt,blind:Yrt,gate:Zrt,lock:Qrt,hue:ent,motion:tnt,slider:rnt,temperature:nnt,window:ont,Thermostat:ant,Light:snt,AirCondition:int,Blind:lnt,ContactSensor:cnt,Control:dnt,Door:unt,Gate:pnt,Hue:hnt,Motion:fnt,Slider:mnt,Socket:gnt,VacuumCleaner:_nt,VolumeGroup:vnt,Window:ynt,"Window sensor":"Window sensor","Volume group":"Volume group","Vacuum cleaner":"Vacuum cleaner",Sensor:bnt,"Door sensor":"Door sensor","Color HUE":"Color HUE",Blinds:wnt,"Grouped from %s and %s":"Grouped from %s and %s","Default toggle behaviour (Only alexa v3)":"Default toggle behaviour (Only alexa v3)","Do not toggle":"Do not toggle",Toggle:Snt,"This service is reserved for the ioBroker.visu app. Please use another service name.":"This service is reserved for the ioBroker.visu app. Please use another service name."},knt="Aktiv",Cnt="Adressen",$nt="Abbrechen",Tnt="Schließen",Ent="Befehle",Ont="Standard",Dnt="Dimmer",Ant="Filter",Int="Funktionen",Nnt="Instanz",Mnt="Sprache",Rnt="Nachricht",jnt="aus",znt="Ok",Pnt="an",Lnt="Optionen",Fnt="Rezension",Bnt="Räume",Wnt="Speichern",Hnt="Auswählen",Unt="Typ",Vnt="Typen",qnt="Wert",Gnt="löschen",Jnt="deaktiviert",Xnt='Stellen Sie vor dem Schreiben an den Support sicher, dass Sie die Anweisungen auf der Webseite gelesen und verstanden haben: <a target="_blank" href="https://www.iobroker.net/#de/documentation/cloud/iot.md">https://www.iobroker.net</a>',Knt='Wenn Sie immer noch Probleme mit der Verbindung zu Iot haben, können Sie im <a target="_blank" href="https://forum.iobroker.net/category/11/cloud-dienste">Forum</a> Support anfordern',Ynt='und erst danach sollten Sie eine E-Mail an <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a> schreiben',Znt='Kein iobroker.pro-Konto? Kaufen Sie es auf <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> für den validierten Zugriff oder erhalten Sie kostenlosen, aber eingeschränkten Zugriff.',Qnt="durch Komma getrennt. Benutze * um alle Services zu erlauben.",eot="Der Schlüssel kann <a href='https://ifttt.com/maker_webhooks' target='_blank'>hier</a> unter 'Documentation' gefunden werden",tot="Der Name wurde vom Anwender geändert",rot="Wenn man eine eigene Cloud verwendet, man kann die Benutzung von selbst-signierten Zertifikaten erlauben.",not="Dieser Schlüssel wird benötigt um mit der Cloud zu kommunizieren. Man kann den Schlüssel unter https://iobroker.net bekommen. Es sieht wie folgt aus nickname_f1f439a0-001a-11e7-bc64-92361f002671",oot="Normalerweise muss diese Option nicht geändert werden. Dies ist nur notwendig, wenn man eine eigene Cloud verwendet.",aot="Damit wird definiert wie Funktion und Raum miteinander verbunden werden; z.B. mit 'im': Licht im Schlafzimmer.",sot="Gruppen können aus gemischten Geräten (Schaltern und Dimmern) bestehen. Sie können mit ON/OFF sowie Prozentwerten angesteuert werden, hier kann definiert werden welcher Prozentsatz OFF entspricht.",iot="Die automatischen Namen werden im Schema Raum-Funktion generiert. Hiermit kann man es auf Funktion-Raum geändert werden.",lot="Web Instanz, die für ihre Anfragen aus dem Cloud angezeigt wird.",cot="Man kann hier die Sprache definieren um zwischen US Alexa Skill und DE Alexa Skill umschalten zu können.",dot="Wenn diese Option aktiviert wird, so werden die Einstellungen nur für diese Instanz gespeichert. So ist es möglich in einer anderen Instanz andere Namen zu setzen.",uot="Für jedes Kommando wird eine Textantwort generiert. Hier kannst du die Objekt ID angeben, an welche die Textantwort gesendet werden soll, z.B. sayit.0.tts.text.",pot="Workaround für fehlende Kommunikation mit Alexa nach Verbindungsabbruch. Damit kann man zwingen den Adapter neu zu starten und das Problem umgehen.",hot="Sie können nicht % im Passwort verwenden. Wir arbeiten an der Lösung.",fot=`Das Passwort muss mindestens 8 Zeichen lang sein und Zahlen sowie Groß- und Kleinbuchstaben enthalten. Bitte ändern Sie es im ioBroker.pro-Profil
672
- `,mot="Wenn Sie eine Wiederherstellung aus einer Sicherung durchgeführt oder Ihre Instanz von einem Gerät auf ein anderes verschoben oder die IoT-Instanz gelöscht und erneut hinzugefügt haben, müssen Sie die Verbindungssicherheitszertifikate mit diesem Knopf herunterladen.",got="Sollte die Anmeldung am Alexa Skill/Google Action/Alisa mit den ioBroker.pro-Anmeldedaten fehlschlagen, dann drücken Sie bitte den untenstehenden Button.",_ot='Bei Fragen in einer beliebigen Sprache wenden Sie sich bitte hier im Forum an: <a href="https://forum.iobroker.net/post/435797" target="_blank"> Link </a>',vot="Bitte wählen Sie einen <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> und einen <a target='_blank' rel='noopener noreferrer' href='https: //developers.google.com/actions/smarthome/traits/'>TRAIT</a> nach dem Hinzufügen eines Status. Um mehrere Merkmale hinzuzufügen, fügen Sie eine andere ID und ein anderes Merkmal hinzu, jedoch denselben intelligenten Namen, Typ und Raum. Komma getrennt für die mehreren intelligenten Namen. Um einen Raum zuzuweisen, verwenden Sie bitte die ioBroker Enums/Aufzählungen. Mit Attributen können Sie beispielsweise einen Bereich für die Farbtemperatur festlegen. <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos zu Attribute finden Sie hier.</a> Das leere Attribut ist {}",yot="Suche",bot="Name",wot="Raum",Sot="ID",xot="IoB-Typ",kot="Attribute",Cot="Automatisch",$ot="Löschen",Tot="Dimmer",Eot="An/Aus",Oot="Farbe",Dot="Erkennung",Aot="Sperren",Iot="Modus",Not="Stummgeschaltet",Mot="Prozentsatz",Rot="Temperatur",jot="Volumen",zot="Steckdose",Pot="Licht",Lot="Dimmer",Fot="Thermostat",Bot="Fensterrollos",Wot="Tor",Hot="sperren",Uot="Farbton",Vot="Bewegung",qot="Schieberegler",Got="Temperatur",Jot="Fenster",Xot="Thermostat",Kot="Licht",Yot="Klimaanlage",Zot="Fensterrollos",Qot="Kontaktsensor",eat="Kontrolle",tat="Tür",rat="Tor",nat="Farbton",oat="Bewegung",aat="Schieberegler",sat="Steckdose",iat="Staubsauger",lat="Volumengruppe",cat="Fenster",dat="Sensor",uat="Fensterrollos",pat="Umschalten",hat={"(Set to 0 if behavior not desired)":"(Auf 0 setzen, falls dieses Verhalten unerwünscht ist)","(you can separate names with comma)":"Mehrere Namen können separiert mit Kommas angegeben werden",Active:knt,"Add device":"Gerät hinzufügen","Add service":"Dienst hinzufügen",Addresses:Cnt,"Alexa devices":"Alexa-Geräte","Alisa devices":"Alisa Geräte","Allow admin access (only pro)":"Erlaube Zugriff auf Admin (nur pro)","Allow self-signed certificates":"Erlaube selbst-signierte Zertifikate","Amazon Alexa":"Amazon Alexa","Are you sure?":"Wirklich sicher?","Attributes has not correct JSON format.":"Attributes ist nicht im korrekten JSON Format","Authentication must be disabled. You can create second instance extra for cloud.":"Die Authentifizierung muss deaktiviert sein. Sie können eine zweite Instanz extra für Cloud erstellen.",Cancel:$nt,"Cannot add this object":"Dieses Objekt kann nicht hinzugefügt werden, da es nicht unterstützt wird.","Cannot read devices!":"Geräte können nicht gelesen werden!","Certificates will be updated after initiated restart":"Zertifikate werden nach dem Neustart aktualisiert","Certificates will be updated after start":"Zertifikate werden nach dem Start aktualisiert","Click now Get new connection certificates to request new temporary password":'Klicken Sie jetzt auf "Neue Verbindungszertifikate anfordern", um ein neues temporäres Passwort anzufordern',Close:Tnt,"Cloud URL":"Cloud URL","Cloud adapter settings":"Einstellungen für Cloud-Adapter",Commands:Ent,"Concatenate words with":"Verbinde Raum und Funktion mit","Connection timeout":"Verbindungs-Timeout (ms)","Debug outputs":"Ausgaben debuggen","Decrement color temperature":"Verringern der Farbtemperatur","Decrement percentage":"Prozentsatz der Verringerung","Decrement target temperature":"Solltemperatur verringern",Default:Ont,"Device %s was not added":"Gerät %s wurde nicht hinzugefügt","Device will be deactivated.":"Gerät wird für die Sprachsteuerung deaktiviert.","Device will be disabled.":"Gerät %s wird aus der Liste entfernt.",Dimmer:Dnt,"Duplicate name":"Name wurde schon benutzt","Edit smart name":"Smartname editieren",Error:"Fehler","Extended options":"Erweiterte Einstellungen",Filter:Ant,"For help use this forum":"Für Hilfe besuche diesen <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>Forumbeitrag</a>",Functions:Int,"Get actual temperature":"Aktuelle Temperatur abrufen","Get new connection certificates":"Neue Verbindungszertifikate anfordern","Get new service URL key":"Neuen Service-URL-Schlüssel abrufen","Get target temperature":"Solltemperatur abrufen","Google Home":"Google Home","IFTTT key":"IFTTT key","Increment color temperature":"Erhöhung der Farbtemperatur","Increment percentage":"Prozentsatz erhöhen","Increment target temperature":"Solltemperatur erhöhen",Instance:Nnt,"Instance does not exists":"Instanz existiert nicht","Instance is not active.":"Instanz ist nicht aktiv.","Instance must be enabled":"Instanz muss aktiviert sein","Instance must run to deliver the data":"Die Instanz muss laufen um die Daten zu liefern","Invalid object":"Ungültiges Objekt",Language:Mnt,"Load configuration from file":"Konfiguration aus Datei laden",Message:Rnt,"OFF level for switches":"Aus-Pegel für Schalter","OFF level for switches in %":"AUS-Pegel für Schalter in %",Off:jnt,Ok:znt,On:Pnt,"On/Off":"An aus",Options:Lnt,"Personal settings (only pro)":"Eigene Einstellungen (nur pro)","Ping timeout:":"Ping-Timeout(ms)","Place function in names first":"Platziere Funktionsnamen vorne","Please add action and trait to complete the Google Home state.":"Bitte fügen Sie eine Aktion und ein Merkmal hinzu, um den Google Home-Status zu vervollständigen.","Please add type and trait to complete the Google Home state.":"Bitte füge eine Type und Trait hinzu um den Google Home State zu vervollständigen.","Please select object ID...":"Bitte Objekt ID auswählen ...","Please write your email only in lower case letters":"Bitte E-Mail nur in Kleinbuchstaben schreiben","Read lock state":"Verschlusszustand lesen","Replace in names":"Ersetze in Namen","Request email with password one more time":"Noch einmal eine E-Mail mit Passwort anfordern","Restart on disconnect":"Neustart bei Verbindungsabbruch",Review:Fnt,Rooms:Bnt,Save:Wnt,"Save and close":"Speichern und schließen","Save configuration to file":"Konfiguration in Datei speichern","Save settings and the names will be changed":"Speichere die Einstellungen um die neuen Namen zu sehen",Select:Hnt,"Service names":"Servicenamen","Services and IFTTT":"Services und IFTTT","Set color":"Farbe einstellen","Set color temperature":"Farbtemperatur einstellen","Set lock state":"Verschlussstatus einstellen","Set percentage":"Prozent einstellen","Set target temperature":"Solltemperatur einstellen","Smart Devices":"Smart Geräte","Smart Enums":"Smart Aufzählungen","Smart Media":"Smart Media","Smart enums":"Intelligente Aufzählungen","Smart name":"Smart-Name","Smart name for %s":"Smart Name für %s","To apply this setting, the restart of adapter must be done. Agree?":"Um diese Einstellung zu ändern ist es erforderlich, diese Instanz neu zu starten. Einverstanden?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Für automatische Erkennung, unter Objekte ordne einem Channel (Device wenn kein Channel vorhanden ist) ein Raum und Funktion zu. Es reicht nicht einem State oder Device den Raum zuzuordnen. Räume/Funktionen können unter Aufzählung (Anzeigen über den weißen Pfeil oben rechts) hinzugefügt werden und müssen im IoT Adapter unter Intelligente Aufzählung aktiviert werden. Um manuelle States wieder automatisch erkennen zu lassen muss der State gelöscht werden.","Turn off":"Ausschalten","Turn on":"Einschalten",Type:Unt,Types:Vnt,"Use Nightscout instance":"Benutze Nightscout Instanz","Use following link for IFTTT":"Benutze folgenden Link für IFTTT","Use following link for custom service":"Benutze folgenden Link für einen eigenen Service","Use text2command instance":"Benutze text2command Instanz",Value:qnt,"White list for services":"White list für Services","Write response to":"Schreibe Antwort ins","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Man kann mehrere durch Komma getrennte Namen eingeben","amazon link":"Falls du den Alexa Skill benutzt, schreibe doch bitte <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>hier</a> eine Review.<br>Beispiele kann man <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>hier</a> anschauen.","by ON":"bei AN",clear:Gnt,default:"Standard",disabled:Jnt,help_link_tip1:Xnt,help_link_tip2:Knt,help_link_tip3:Ynt,help_tip:Znt,info_allowedServices:Qnt,info_iftttKey:eot,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Passwort","omit value":"kein Wert","last value":"letzter Wert",modified:tot,"no type":"kein Typ",tooltip_allowSelfSignedCertificate:rot,tooltip_apikey:not,tooltip_cloudUrl:oot,tooltip_concatWord:aot,tooltip_deviceOffLevel:sot,tooltip_functionFirst:iot,tooltip_instance:lot,tooltip_language:cot,tooltip_noCommon:dot,tooltip_responseOID:uot,tooltip_restartOnDisconnect:pot,"Short answer for blood sugar":"Kurze Antwort für Blutzucker",cannot_use_password:hot,invalid_password_warning:fot,new_certs_tip:mot,new_credentials_tip:got,"Create IoT credentials anew":"IoT-Anmeldeinformationen neu erstellen",forum_tip:_ot,"Save settings before pressing this button":"Einstellungen müssen gespeichert werden, bevor Sie diese Taste drücken","Auto Mode":"Automatikmodus","Manual Mode":"Manueller Modus",manualModeHint:vot,"not activated":"nicht aktiviert","Google devices":"Google-Geräte","Show/Hide help":"Hilfe ein- / ausblenden","Show all devices for print out":"Alle Geräte zum Ausdrucken anzeigen",Search:yot,"List of devices to print out, e.g. to give all device names to your partner.":"Liste der auszudruckenden Geräte, z. um Ihrem Partner/in alle Gerätenamen zu zeigen.",Name:bot,Function:"Funktion",Room:wot,"Copy to clipboard":"In die Zwischenablage kopieren","Toggle expert mode":"Expertenmodus umschalten",ID:Sot,"Smart names":"Intelligente Namen",ioBType:xot,"Function/Trait":"Funktion / Eigenschaft",Attributes:kot,Auto:Cot,"Conversation to GH":"In GH konvertieren","Conversation to ioB":"In ioB konvertieren","Information: The skill linking process was changed!":"Information: Der Skill Linking Prozess wurde geändert!","The linking process has been changed for a few months.":"Der Verknüpfungsprozess wurde vor einigen Monaten geändert.","Now there is no temporary password that will be sent by email.":"Jetzt gibt es kein temporäres Passwort, das per E-Mail gesendet wird.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Das Passwort ist gleich mit ioBroker.pro und mit dem Passwort, das hier in den Einstellungen eingegeben wurde!","Not understood":"Nicht verstanden","Roger that":"Verstanden","Read blood sugar from":"Blutzucker lesen aus","Get actual humidity":"Holen Sie sich die tatsächliche Luftfeuchtigkeit","Get motion":"Bewegung bekommen","Get contact":"Kontaktstatus abrufen","Too many devices (%s) configured. Max number is 300":"Zu viele Geräte (%s) konfiguriert. Maximale Anzahl ist 300!","Allow remote access":"Fernzugriff zulassen","Admin instance":"Admin-Instanz","Web instance":"Webinstanz","Device %s will be disabled.":"Gerät %s wird deaktiviert.",Delete:$ot,Brightness:Tot,Power:Eot,"Color temperature":"Farbtemperatur",Color:Oot,Detection:Dot,Lock:Aot,Mode:Iot,Muted:Not,Percentage:Mot,"Set point":"Sollwert",Temperature:Rot,"Thermostat mode":"Thermostatmodus",Volume:jot,socket:zot,light:Pot,dimmer:Lot,thermostat:Fot,blind:Bot,gate:Wot,lock:Hot,hue:Uot,motion:Vot,slider:qot,temperature:Got,window:Jot,Thermostat:Xot,Light:Kot,AirCondition:Yot,Blind:Zot,ContactSensor:Qot,Control:eat,Door:tat,Gate:rat,Hue:nat,Motion:oat,Slider:aat,Socket:sat,VacuumCleaner:iat,VolumeGroup:lat,Window:cat,"Color HUE":"Farbe Farbton","Door sensor":"Türsensor",Sensor:dat,"Vacuum cleaner":"Staubsauger","Volume group":"Volumengruppe","Window sensor":"Fenstersensor",Blinds:uat,"Grouped from %s and %s":"Gruppiert aus %s und %s","Default toggle behaviour (Only alexa v3)":"Standardmäßiges Umschaltverhalten (nur Alexa v3)","Do not toggle":"Nicht umschalten",Toggle:pat,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Dieser Dienst ist für die ioBroker.visu-App reserviert. Bitte verwenden Sie einen anderen Dienstnamen."},fat="Активно",mat="Адреса",gat="Отмена",_at="Закрыть",vat="Команды",yat="По умолчанию",bat="Диммер",wat="Фильтр",Sat="Функции",xat="Экземпляр",kat="Язык",Cat="Сообщение",$at="выкл",Tat="Ok",Eat="вкл",Oat="Настройки",Dat="Обзор",Aat="Комнаты",Iat="Сохранить",Nat="Выбрать",Mat="Тип",Rat="Типы",jat="Значение",zat="очистить",Pat="неактивно",Lat='Прежде чем писать в службу поддержки, убедитесь, что вы прочитали и поняли инструкции с веб-страницы: <a target="_blank" href="https://www.iobroker.net/#ru/documentation/cloud/iot.md">https://www.iobroker.net</a>',Fat='Если у вас все еще есть проблема с подключением к Iot, вы можете запросить поддержку на <a target="_blank" href="https://forum.iobroker.net/category/29/iobroker">форуме</a>',Bat='и только после этого вы можете написать письмо на <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Wat='Нет учетной записи iobroker.pro? Купите его на <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> для гарантированного доступа или получения бесплатного, но ограниченного доступа.',Hat="разделённые запятой. Используйте *, что бы разрешить все сервисы.",Uat="Свой ключ можно найти <a href='https://ifttt.com/maker_webhooks' target='_blank'>здесь</a> в 'Documentation'",Vat="Имя изменено пользователем",qat="Если используется собственное облако, то можно разрешить использование самоподписанных сертификатов",Gat="Ключ необходимый для коммуникации с облаком. Его можно получить на https://iobroker.net и он похож на nickname_f1f439a0-001a-11e7-bc64-92361f002671",Jat="Обычно не нужно менять этот параметр. Только если используется собственное облако.",Xat="Можно указать каким словом соединять Функцию и Комнату. Например с 'в': Свет в зале.",Kat="Некоторые группы состоят из смешанных устройств: диммеров и переключателей. Разрешено управлять ими с помощью команд ON и OFF и с процентами",Yat="Обычно имена выглядят как Комната-Функция. Этой настройкой можно переключить на Функция-Комната.",Zat="Экземпляр WEB, который будет показываться при доступе из облака",Qat="Можно выбрать язык, что бы быстро переключаться между US Alexa Skill и DE Alexa Skill",est="Если выбрана эта опция, то настройки будут сохраняться только для этой инстанции. Что бы в другой инстанции можно было выбрать другие имена.",tst="Для каждой команды будет генерироваться текстовый ответ. Вы можете определить здесь ID объекта , где этот текст должен быть записан. Например sayit.0.tts.text.",rst="Временное решение для проблемы с пропажей соединения с Alexa, после воссоединения с облаком. Этим можно перестартовать драйвер после потери соединения.",nst="Вы не можете использовать% в пароле. Мы работаем над исправлением.",ost=`Пароль должен содержать не менее 8 символов и должен состоять из цифр, прописных и строчных букв. Пожалуйста, измените его в профиле ioBroker.pro
673
- `,ast="Если вы сделали восстановление из резервной копии, перенесли свой экземпляр с одного устройства на другое или удалили экземпляр IoT и добавили его снова, вы должны загрузить сертификаты безопасности подключения с помощью этой кнопки",sst="Если не удается войти в Alexa Skill/Google Action/Alisa с данными для входа в ioBroker.pro, нажмите кнопку ниже.",ist='Любые вопросы на любом языке, пожалуйста, задавайте здесь на форуме: <a href="https://forum.iobroker.net/post/435797" target="_blank"> ссылка </a>',lst="Пожалуйста, выберите <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> и <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> после добавления состояния. Чтобы добавить несколько черт, добавьте другой идентификатор и черту, но то же имя, тип и номер. Запятая разделена для нескольких умных имен. Чтобы назначить комнату, пожалуйста, используйте ioBroker Enums/Aufzählungen. С помощью атрибутов вы можете, например, установить диапазон для цветовой температуры <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Информация о Атрибуты вы можете найти здесь.</a> Пустой атрибут - {}",cst="Поиск",dst="название",ust="Комната",pst="ID",hst="Тип IoB",fst="Атрибуты",mst="Автоматически",gst="Удалить",_st="Диммер",vst="Вкл/Выкл",yst="Цвет",bst="Обнаружение",wst="Замок",Sst="Режим",xst="Приглушен",kst="Процент",Cst="Температура",$st="Объем",Tst="разъем",Est="свет",Ost="диммер",Dst="термостат",Ast="жалюзи",Ist="ворота",Nst="замок",Mst="оттенок",Rst="движение",jst="ползунок",zst="температура",Pst="окно",Lst="Термостат",Fst="Свет",Bst="Кондиционер",Wst="Жалюзи",Hst="Контактный датчик",Ust="Контроль",Vst="Дверь",qst="Ворота",Gst="оттенок",Jst="Движение",Xst="Слайдер",Kst="Разъем",Yst="Пылесос",Zst="Группа томов",Qst="Окно",eit="Датчик",tit="Жалюзи",rit="Переключать",nit={"(Set to 0 if behavior not desired)":"(для деактивации установить на 0)","(you can separate names with comma)":"Вы можете ввести несколько имен, разделенных запятой",Active:fat,"Add device":"Добавить устройство","Add service":"Добавить услугу",Addresses:mat,"Alexa devices":"Устройства Alexa","Alisa devices":"Устройства Алисы","Allow admin access (only pro)":"Разрешить доступ к admin (только pro)","Allow self-signed certificates":"Разрешить самоподписанные сертификаты","Amazon Alexa":"Amazon Alexa","Are you sure?":"Уверены?","Attributes has not correct JSON format.":"Атрибуты не в правильном формате JSON","Authentication must be disabled. You can create second instance extra for cloud.":"Аутентификация должна быть отключена. Вы можете создать дополнительный экземпляр для облака.",Cancel:gat,"Cannot add this object":"Невозможно добавить этот объект, потому что он не поддерживается.","Cannot read devices!":"Не могу прочитать устройства!","Certificates will be updated after initiated restart":"Сертификаты будут обновлены после инициированного перезапуска","Certificates will be updated after start":"Сертификаты будут обновлены после запуска","Click now Get new connection certificates to request new temporary password":"Нажмите «Получить новые сертификаты подключения», чтобы запросить новый временный пароль.",Close:_at,"Cloud URL":"URL облака","Cloud adapter settings":"Настройки драйвера Cloud",Commands:vat,"Concatenate words with":"Связывать комнаты и функции словом","Connection timeout":"Таймаут соединения(мс)","Debug outputs":"Вывод отладочной информации","Decrement color temperature":"Уменьшение цветовой температуры","Decrement percentage":"Уменьшение процентного значения","Decrement target temperature":"Уменьшение целевой температуры",Default:yat,"Device %s was not added":"Устройство %s не было добавлено","Device will be deactivated.":"Устройство будет недоступно для голосового управления.","Device will be disabled.":"Устройство %s исчезнет из списка.",Dimmer:bat,"Duplicate name":"Имя уже используется","Edit smart name":"Редактировать имя",Error:"Ошибка","Extended options":"Расширенные настройки",Filter:wat,"For help use this forum":"Чтобы получить помощь, посетите этот <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>форум пост</a>",Functions:Sat,"Get actual temperature":"Получить фактическую температуру","Get new connection certificates":"Получение новых сертификатов подключения","Get new service URL key":"Получить новый ключ службы URL","Get target temperature":"Получить целевую температуру","Google Home":"Google Home","IFTTT key":"IFTTT key","Increment color temperature":"Увеличение цветовой температуры","Increment percentage":"Процент прироста","Increment target temperature":"Увеличение целевой температуры",Instance:xat,"Instance does not exists":"Экземпляр не существует","Instance is not active.":"Экземпляр не активен.","Instance must be enabled":"Экземпляр должен быть включен","Instance must run to deliver the data":"Драйвер должен быть запущен, что бы отобразить данные","Invalid object":"Недействительный объект",Language:kat,"Load configuration from file":"Загрузить конфигурацию из файла",Message:Cat,"OFF level for switches":"Уровень выключения для выключателей","OFF level for switches in %":"Уровень выключения для переключателей в %",Off:$at,Ok:Tat,On:Eat,"On/Off":"Вкл/выкл",Options:Oat,"Personal settings (only pro)":"Личные настройки (только pro)","Ping timeout:":"Пинг-Таймаут(мс)","Place function in names first":"Имена функций в начале","Please add action and trait to complete the Google Home state.":"Пожалуйста, добавьте действие и черту, чтобы завершить состояние Google Home.","Please add type and trait to complete the Google Home state.":"Пожалуйста, добавьте тип и черту, чтобы завершить состояние Google Home.","Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","Please write your email only in lower case letters":"Пожалуйста, пишите свою электронную почту только строчными буквами","Read lock state":"Чтение состояния блокировки","Replace in names":"Заменить в именах","Request email with password one more time":"Запросите письмо с паролем еще раз","Restart on disconnect":"Перезапуск при потере сединения",Review:Dat,Rooms:Aat,Save:Iat,"Save and close":"Сохранить и закрыть","Save configuration to file":"Сохранить конфигурацию в файл","Save settings and the names will be changed":"Сохраните настройки, что бы увидеть изменения",Select:Nat,"Service names":"Названия служб","Services and IFTTT":"Сервисы и IFTTT","Set color":"Установить цвет","Set color temperature":"Цветовая температура","Set lock state":"Установить состояние блокировки","Set percentage":"Установить процент","Set target temperature":"Установите целевую температуру","Smart Devices":"Smart устройства","Smart Enums":"Smart категории","Smart Media":"Smart Media","Smart enums":"Умные перечисления","Smart name":"Smart имя","Smart name for %s":"Умное имя для %s","To apply this setting, the restart of adapter must be done. Agree?":"Что бы поменять эту опцию, необходимо перезагрузить инстанцию. Согласны?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Для автоматического обнаружения под объектами назначают канал (устройство, если канал недоступен) комнате и функции. Недостаточно присвоить комнату состоянию или устройству. Комнаты/функции могут быть добавлены в нумерацию (обозначена белой стрелкой в правом верхнем углу) и должны быть активированы в адаптере IoT в разделе Интеллектуальное перечисление. Чтобы автоматически распознавать ручные состояния, это состояние должно быть удалено.","Turn off":"Выключи","Turn on":"Включи",Type:Mat,Types:Rat,"Use Nightscout instance":"Использовать Nightscout","Use following link for IFTTT":"Используйте этот URL для IFTTT","Use following link for custom service":"Используйте этот URL для своего сервиса","Use text2command instance":"Использовать text2command",Value:jat,"White list for services":"Белый список для сервисов","Write response to":"Писать ответ в","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Вы можете ввести несколько имен, разделенных запятой","amazon link":"Если вы используете Alexa, пожалуйста оставьте свой отзыв <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>здесь</a>.<br>Примеры отзывов можно посмотреть <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>здесь</a>.","by ON":"при ВКЛ",clear:zat,default:"системный",disabled:Pat,help_link_tip1:Lat,help_link_tip2:Fat,help_link_tip3:Bat,help_tip:Wat,info_allowedServices:Hat,info_iftttKey:Uat,"ioBroker.pro Login":"Логин ioBroker.pro","ioBroker.pro Password":"Пароль ioBroker.pro","omit value":"нет значения","last value":"последнее значение",modified:Vat,"no type":"нет типа",tooltip_allowSelfSignedCertificate:qat,tooltip_apikey:Gat,tooltip_cloudUrl:Jat,tooltip_concatWord:Xat,tooltip_deviceOffLevel:Kat,tooltip_functionFirst:Yat,tooltip_instance:Zat,tooltip_language:Qat,tooltip_noCommon:est,tooltip_responseOID:tst,tooltip_restartOnDisconnect:rst,"Short answer for blood sugar":"Краткий ответ на уровень сахара в крови",cannot_use_password:nst,invalid_password_warning:ost,new_certs_tip:ast,new_credentials_tip:sst,"Create IoT credentials anew":"Создайте учетные данные IoT заново",forum_tip:ist,"Save settings before pressing this button":"Сохраните настройки перед нажатием этой кнопки","Auto Mode":"Автоматический режим","Manual Mode":"Ручной режим",manualModeHint:lst,"not activated":"не активирован","Google devices":"Устройства Google","Show/Hide help":"Показать / Скрыть помощь","Show all devices for print out":"Показать все устройства для распечатки",Search:cst,"List of devices to print out, e.g. to give all device names to your partner.":"Список устройств для распечатки, например, что бы показать все названия устройств вашему партнеру/партнёрше.",Name:dst,Function:"функция",Room:ust,"Copy to clipboard":"Скопировать в буфер обмена","Toggle expert mode":"Переключить режим эксперта",ID:pst,"Smart names":"Умные имена",ioBType:hst,"Function/Trait":"Функция / Тр",Attributes:fst,Auto:mst,"Conversation to GH":"Конвертировать в GH","Conversation to ioB":"Конвертировать в ioB","Information: The skill linking process was changed!":"Информация: Изменен процесс привязки навыков!","The linking process has been changed for a few months.":"Несколько месяцев назад изменился процесс привязки.","Now there is no temporary password that will be sent by email.":"Теперь нет временного пароля, который отправлялся по электронной почте.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Пароль совпадает с ioBroker.pro и с паролем, который был введен здесь в настройках!","Not understood":"Не понятно","Roger that":"Понятно","Read blood sugar from":"Считывать уровень сахара в крови из","Get actual humidity":"Получите фактическую влажность","Get motion":"Получить движение","Get contact":"Получить статус контакта","Too many devices (%s) configured. Max number is 300":"Настроено слишком много устройств (%s). Максимальное количество - 300!","Allow remote access":"Разрешить удаленный доступ","Admin instance":"Экземпляр администратора","Web instance":"Веб-экземпляр","Device %s will be disabled.":"Устройство %s будет отключено.",Delete:gst,Brightness:_st,Power:vst,"Color temperature":"Цветовая температура",Color:yst,Detection:bst,Lock:wst,Mode:Sst,Muted:xst,Percentage:kst,"Set point":"Установить точку",Temperature:Cst,"Thermostat mode":"Режим термостата",Volume:$st,socket:Tst,light:Est,dimmer:Ost,thermostat:Dst,blind:Ast,gate:Ist,lock:Nst,hue:Mst,motion:Rst,slider:jst,temperature:zst,window:Pst,Thermostat:Lst,Light:Fst,AirCondition:Bst,Blind:Wst,ContactSensor:Hst,Control:Ust,Door:Vst,Gate:qst,Hue:Gst,Motion:Jst,Slider:Xst,Socket:Kst,VacuumCleaner:Yst,VolumeGroup:Zst,Window:Qst,"Color HUE":"Цвет ОТТЕНОК","Door sensor":"Датчик двери",Sensor:eit,"Vacuum cleaner":"Пылесос","Volume group":"Группа томов","Window sensor":"Датчик окна",Blinds:tit,"Grouped from %s and %s":"Сгруппировано из %s и %s","Default toggle behaviour (Only alexa v3)":"Поведение переключения по умолчанию (только Alexa v3)","Do not toggle":"Не переключать",Toggle:rit,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Эта служба зарезервирована для приложения ioBroker.visu. Пожалуйста, используйте другое имя службы."},oit="Ativo",ait="Endereços",sit="Cancelar",iit="Feixar",lit="Comandos",cit="Padrão",dit="regulador de luz",uit="Filtro",pit="Funções",hit="Instância",fit="Língua",mit="mensagem",git="desligado",_it="Ok",vit="ligado",yit="Opções",bit="Reveja",wit="quartos",Sit="Salve",xit="Selecione",kit="Tipo",Cit="Tipos",$it="Valor",Tit="limpar",Eit="desativado",Oit='Antes de escrever para o suporte, certifique-se de ler e entender as instruções da página da Web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',Dit='Se você ainda tiver problemas com a conexão com o Iot, poderá solicitar suporte no <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services",>Fórum</a>',Ait='e somente depois disso, você deve escrever um email para <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Iit='Nenhuma conta no iobroker.pro? Registe-se gratuamente no <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a>, para obter um acesso limitado ou compre um acesso sem limitação.',Nit="dividido por vírgula. Use * para permitir todos os serviços.",Mit="Você pode encontrar sua chave <a href='https://ifttt.com/maker_webhooks' target='_blank'>aqui</a>, no botão 'Documentation'",Rit="O nome foi modificado pelo usuário",jit="Se você usa sua própria nuvem, você pode permitir o uso de certificados auto-assinados para a nuvem.",zit="Essa chave é necessária para se comunicar com uma nuvem. Você pode obter a API-KEY em https://iobroker.net. A chave parece tem esse formato: apelido_f1f439a0-001a-11e7-bc64-92361f002671",Pit="Normalmente, você não precisa mudá-lo. Só é necessário se você planeja usar sua própria nuvem.",Lit="Defina como concatenar o Quarto e a Função. Por exemplo com 'na': luz na sala de estar.",Fit="Alguns grupos consistem em dispositivos mistos: regulador de luz e interruptores. É permitido controlá-los com comandos ligar/desligar e com porcentagens",Bit="Normalmente, os nomes são gerados no esquema quarto_função. Aqui pode mudar para função_quarto.",Wit="Instância da Web, que será mostrada para suas conexões a da nuvem.",Hit="Você pode definir os idiomas para mudar rapidamente entre o skill da Alexa do EUA e o da Alemãnha.",Uit="Se ativado, as configurações serão armazenadas somente para esta instância. Então, na outra instância, outros nomes podem ser definidos.",Vit="Para cada comando, uma resposta de texto é gerada. Aqui você pode especificar o ID do objeto ao qual a resposta de texto deve ser enviada, por exemplo sayit.0.tts.text.",qit="Solução alternativa para falta de comunicação com o Alexa após a desconexão. Isso pode forçar você a reiniciar o adaptador e solucionar o problema.",Git="Você não pode usar% na senha. Estamos trabalhando na correção.",Jit=`A senha deve ter pelo menos 8 caracteres e deve ter números, letras maiúsculas e minúsculas. Altere-o no perfil ioBroker.pro
674
- `,Xit="Se você fez uma restauração a partir do backup ou moveu sua instância de um dispositivo para outro ou excluiu a instância da IoT e a adicionou novamente, carregue os certificados de segurança da conexão com este botão",Kit="Se o login no Alexa Skill/Google Action/Alisa com os dados de login ioBroker.pro falhar, pressione o botão abaixo.",Yit='Qualquer dúvida em qualquer idioma, pergunte aqui no fórum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',Zit="Selecione um <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> e um <a target='_blank' rel ='noopener noreferrer' href='https: //developers.google.com/actions/smarthome/traits/'>TRAIT</a> depois de adicionar um estado. Para adicionar vários traços, adicione um ID e traço diferentes, mas o mesmo nome, tipo e sala inteligentes. Vírgula separada para os vários nomes inteligentes. Para atribuir uma sala, use o ioBroker Enums/Aufzählungen. Com os atributos, você pode, por exemplo, definir um intervalo para a temperatura da cor. Atributos que você pode encontrar aqui.</a> O atributo vazio é {}",Qit="Procurar",elt="Nome",tlt="Quarto",rlt="ID",nlt="Tipo IoB",olt="Atributos",alt="Automaticamente",slt="Excluir",ilt="Obscuro",llt="Ligado/Desligado",clt="Cor",dlt="Detecção",ult="Trancar",plt="Modo",hlt="silenciado",flt="Percentagem",mlt="Temperatura",glt="Volume",_lt="soquete",vlt="luz",ylt="obscuro",blt="termostato",wlt="persianas",Slt="portão",xlt="trancar",klt="matiz",Clt="movimento",$lt="controle deslizante",Tlt="temperatura",Elt="janela",Olt="Termostato",Dlt="Luz",Alt="Condição do ar",Ilt="Persianas",Nlt="Sensor de contato",Mlt="Ao controle",Rlt="Porta",jlt="Portão",zlt="Matiz",Plt="Movimento",Llt="Controle deslizante",Flt="soquete",Blt="Aspirador de pó",Wlt="Grupo de volumes",Hlt="Janela",Ult="Sensor",Vlt="Persianas",qlt="Alternar",Glt={"(Set to 0 if behavior not desired)":"(Defina para 0 se o comportamento não for desejado)","(you can separate names with comma)":"Você pode inserir vários nomes divididos por vírgula",Active:oit,"Add device":"Adicionar dispositivo","Add service":"Adicionar serviço",Addresses:ait,"Alexa devices":"Dispositivos Alexa","Alisa devices":"Dispositivos Alisa","Allow admin access (only pro)":"Permitir acesso de administrador (apenas pro)","Allow self-signed certificates":"Permitir certificados auto-assinados","Amazon Alexa":"Amazon Alexa","Are you sure?":"Você tem certeza?","Attributes has not correct JSON format.":"Os atributos não estão no formato JSON correto.","Authentication must be disabled. You can create second instance extra for cloud.":"A autenticação deve ser desativada. Você pode criar uma segunda instância extra para a nuvem.",Cancel:sit,"Cannot add this object":"Não é possível adicionar este objeto, porque não é suportado.","Cannot read devices!":"Não é possível ler dispositivos!","Certificates will be updated after initiated restart":"Os certificados serão atualizados após a primeira reinicialização","Certificates will be updated after start":"Certificados serão atualizados após o início","Click now Get new connection certificates to request new temporary password":'Clique agora "Obter novos certificados de conexão" para solicitar uma nova senha temporária',Close:iit,"Cloud URL":"URL da nuvem","Cloud adapter settings":"Configurações do adaptador de nuvem",Commands:lit,"Concatenate words with":"Concatenar palavras com","Connection timeout":"Tempo limite de conexão (ms)","Debug outputs":"Saídas de depuração","Decrement color temperature":"Temperatura de cor decrescente","Decrement percentage":"Percentual de decréscimo","Decrement target temperature":"Temperatura alvo de descida",Default:cit,"Device %s was not added":"O dispositivo %s não foi adicionado","Device will be deactivated.":"O dispositivo será desativado.","Device will be disabled.":"O dispositivo será desabilitado.",Dimmer:dit,"Duplicate name":"Duplicar nome","Edit smart name":"Edite o nome inteligente",Error:"Erro","Extended options":"Configuração avançada",Filter:uit,"For help use this forum":"Para obter ajuda, visite este <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>fórum postar</a>",Functions:pit,"Get actual temperature":"Obter temperatura atual","Get new connection certificates":"Obter novos certificados de conexão","Get new service URL key":"Obter nova chave do URL de serviço","Get target temperature":"Obter temperatura desejada","Google Home":"Google Home","IFTTT key":"Chave IFTTT","Increment color temperature":"Incremento da temperatura de cor","Increment percentage":"Percentual de incremento","Increment target temperature":"Incremento da temperatura desejada",Instance:hit,"Instance does not exists":"Instância não existe","Instance is not active.":"A instância não está ativa.","Instance must be enabled":"A instância deve estar ativada","Instance must run to deliver the data":"A instância deve ser executada para obter os dados","Invalid object":"Objeto inválido",Language:fit,"Load configuration from file":"Carregar configuração do arquivo",Message:mit,"OFF level for switches":"Nível OFF para interruptores","OFF level for switches in %":"Nível OFF para interruptores em %",Off:git,Ok:_it,On:vit,"On/Off":"ligado/desligado",Options:yit,"Personal settings (only pro)":"Configurações pessoais (somente pro)","Ping timeout:":"Tempo limite de ping (ms)","Place function in names first":"Coloque a função na frente dos nomes","Please add action and trait to complete the Google Home state.":"Adicione ação e característica para concluir o estado da Página inicial do Google.","Please add type and trait to complete the Google Home state.":"Adicione tipo e característica para concluir o estado da Página inicial do Google.","Please select object ID...":"Por favor selecione o ID do objeto ...","Please write your email only in lower case letters":"Por favor, escreva seu e-mail apenas em letras minúsculas","Read lock state":"Ler estado de bloqueio","Replace in names":"Substitua nos nomes","Request email with password one more time":"Solicite email com senha mais uma vez","Restart on disconnect":"Reiniciar na desconexão",Review:bit,Rooms:wit,Save:Sit,"Save and close":"Salvar e fechar","Save configuration to file":"Salvar configuração no arquivo","Save settings and the names will be changed":"Salve as configurações e os nomes serão alterados",Select:xit,"Service names":"Nome do serviço","Services and IFTTT":"Serviços e IFTTT","Set color":"Definir cor","Set color temperature":"Definir temperatura de cor","Set lock state":"Definir estado de bloqueio","Set percentage":"Definir porcentagem","Set target temperature":"Definir temperatura desejada","Smart Devices":"Dispositivos inteligentes","Smart Enums":"Enumeração inteligentes","Smart Media":"Smart Media","Smart enums":"Enumeração inteligentes","Smart name":"Nome inteligente","Smart name for %s":"Nome inteligente para %s","To apply this setting, the restart of adapter must be done. Agree?":"Para aplicar esta configuração, o adaptador tem que ser reiniciado. Aceita?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Para detecção automática, coloque embaixo dos objetos em um canal (dispositivo se não houver canal) uma sala e função também. Não é suficiente atribuir um estado ou dispositivo. Salas/funções podem ser adicionadas enumeradas e devem ser ativadas no adaptador IoT em Enumeração inteligente. Para detectar automaticamente estados manuais novamente, o estado deve ser limpo.","Turn off":"Desligar","Turn on":"Ligar",Type:kit,Types:Cit,"Use Nightscout instance":"Use a instância Nightscout","Use following link for IFTTT":"Use o seguinte link para IFTTT","Use following link for custom service":"Use o seguinte link para o outros serviços","Use text2command instance":"Use a instância text2command",Value:$it,"White list for services":"Lista branca para serviços","Write response to":"Escreva a resposta para","Yandex Алиса":"Yandex Alice","You can enter several names divided by comma":"Você pode inserir vários nomes divididos por vírgula","amazon link":"Se você usa o ioBroker skill para a Alexa, escreva um comentário para nós <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>aqui</a>.<br>Exemplos podem ser encontrados <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>aqui</a>.","by ON":"por ON",clear:Tit,default:"padrão",disabled:Eit,help_link_tip1:Oit,help_link_tip2:Dit,help_link_tip3:Ait,help_tip:Iit,info_allowedServices:Nit,info_iftttKey:Mit,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"Senha do ioBroker.pro","omit value":"sem valor","last value":"último valor",modified:Rit,"no type":"nenhum tipo",tooltip_allowSelfSignedCertificate:jit,tooltip_apikey:zit,tooltip_cloudUrl:Pit,tooltip_concatWord:Lit,tooltip_deviceOffLevel:Fit,tooltip_functionFirst:Bit,tooltip_instance:Wit,tooltip_language:Hit,tooltip_noCommon:Uit,tooltip_responseOID:Vit,tooltip_restartOnDisconnect:qit,"Short answer for blood sugar":"Resposta curta para açúcar no sangue",cannot_use_password:Git,invalid_password_warning:Jit,new_certs_tip:Xit,new_credentials_tip:Kit,"Create IoT credentials anew":"Crie credenciais de IoT novamente",forum_tip:Yit,"Save settings before pressing this button":"Salve as configurações antes de pressionar este botão","Auto Mode":"Modo automático","Manual Mode":"Modo manual",manualModeHint:Zit,"not activated":"não ativado","Google devices":"Dispositivos do Google","Show/Hide help":"Mostrar / ocultar ajuda","Show all devices for print out":"Mostrar todos os dispositivos para impressão",Search:Qit,"List of devices to print out, e.g. to give all device names to your partner.":"Lista de dispositivos a serem impressos, p. para dar todos os nomes de dispositivos ao seu parceiro.",Name:elt,Function:"Função",Room:tlt,"Copy to clipboard":"Copiar para área de transferência","Toggle expert mode":"Alternar modo especialista",ID:rlt,"Smart names":"Nomes inteligentes",ioBType:nlt,"Function/Trait":"Função / Traço",Attributes:olt,Auto:alt,"Conversation to GH":"Converta para GH","Conversation to ioB":"Converta para ioB","Information: The skill linking process was changed!":"Informações: O processo de vinculação de habilidades foi alterado!","The linking process has been changed for a few months.":"O processo de vinculação foi alterado por alguns meses.","Now there is no temporary password that will be sent by email.":"Agora não existe uma senha temporária que será enviada por e-mail.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"A senha é igual a ioBroker.pro e com a senha que foi digitada aqui nas configurações!","Not understood":"Não entendido","Roger that":"Entendido","Read blood sugar from":"Leia o açúcar no sangue de","Get actual humidity":"Obtenha a umidade real","Get motion":"Mexa-se","Get contact":"Obter status de contato","Too many devices (%s) configured. Max number is 300":"Muitos dispositivos (%s) configurados. O número máximo é 300!","Allow remote access":"Permitir acesso remoto","Admin instance":"Instância de administrador","Web instance":"Instância da web","Device %s will be disabled.":"O dispositivo %s será desabilitado.",Delete:slt,Brightness:ilt,Power:llt,"Color temperature":"Temperatura de cor",Color:clt,Detection:dlt,Lock:ult,Mode:plt,Muted:hlt,Percentage:flt,"Set point":"Ponto de ajuste",Temperature:mlt,"Thermostat mode":"Modo termostato",Volume:glt,socket:_lt,light:vlt,dimmer:ylt,thermostat:blt,blind:wlt,gate:Slt,lock:xlt,hue:klt,motion:Clt,slider:$lt,temperature:Tlt,window:Elt,Thermostat:Olt,Light:Dlt,AirCondition:Alt,Blind:Ilt,ContactSensor:Nlt,Control:Mlt,Door:Rlt,Gate:jlt,Hue:zlt,Motion:Plt,Slider:Llt,Socket:Flt,VacuumCleaner:Blt,VolumeGroup:Wlt,Window:Hlt,"Color HUE":"Cor MATIZ","Door sensor":"Sensor de porta",Sensor:Ult,"Vacuum cleaner":"Aspirador de pó","Volume group":"Grupo de volumes","Window sensor":"Sensor de janela",Blinds:Vlt,"Grouped from %s and %s":"Agrupados de %s e %s","Default toggle behaviour (Only alexa v3)":"Comportamento de alternância padrão (somente alexa v3)","Do not toggle":"Não alterne",Toggle:qlt,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Este serviço está reservado para o aplicativo ioBroker.visu. Use outro nome de serviço."},Jlt="Actief",Xlt="adressen",Klt="Annuleer",Ylt="Dichtbij",Zlt="commando's",Qlt="Standaard",ect="dimmer",tct="Filter",rct="functies",nct="Aanleg",oct="Taal",act="Bericht",sct="uit",ict="OK",lct="op",cct="opties",dct="Beoordeling",uct="kamers",pct="Opslaan",hct="kiezen",fct="Type",mct="Soorten",gct="Waarde",_ct="wissen",vct="invalide",yct='Voordat u ter ondersteuning schrijft, moet u ervoor zorgen dat u de instructies van de webpagina hebt gelezen en begrepen: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',bct='Als je nog steeds problemen hebt met de verbinding met Iot, kun je support im <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a> aanvragen',wct='en pas daarna moet u een e-mail schrijven naar <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Sct='Geen iobroker.pro-account? Koop het op <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> voor gevalideerde toegang of krijg gratis toegang, maar beperkte toegang.',xct="gedeeld door een komma. Gebruik * om alle services toe te staan.",kct="Je kunt je belangrijkste <a href='https://ifttt.com/maker_webhooks' target='_blank'>hier</a> vinden onder 'Documentatie'",Cct="Naam is gewijzigd door gebruiker",$ct="Als u uw eigen cloud gebruikt, kunt u het gebruik van zelfondertekende certificaten voor de cloud toestaan.",Tct="Deze sleutel is vereist om te communiceren met een cloud. Je kunt de API-KEY op https://iobroker.net krijgen en het lijkt op nickname_f1f439a0-001a-11e7-bc64-92361f002671",Ect="Normaal gesproken hoeft u dit niet te veranderen. Alleen vereist als u van plan bent uw eigen cloud te gebruiken.",Oct="Bepaal hoe kamer en functie moeten worden samengevoegd. Bijv. met 'in': licht in de woonkamer.",Dct="Sommige groepen bestaan ​​uit gemengde apparaten: dimmers en schakelaars. Het is toegestaan ​​om ze te besturen met AAN- en UIT-commando's en met percentages",Act="Normaal gezien zien de namen eruit als room_function. Hier kun je het omschakelen naar function_room.",Ict="Web-instantie, die wordt weergegeven voor uw verbindingen vanuit de cloud.",Nct="Je kunt de talen definiëren om snel te schakelen tussen US Alexa Skill en DE Alexa Skill.",Mct="Indien ingeschakeld, worden de instellingen alleen voor deze instantie opgeslagen. Dus in het andere geval kunnen de andere namen worden ingesteld.",Rct="Voor elke opdracht wordt het tekstantwoord gegenereerd. U kunt hier de Object-ID definiëren, waar deze tekst naartoe moet worden geschreven. Bijv. sayit.0.tts.text.",jct="Oplossing voor ontbrekende verbinding met Alexa nadat de verbinding met de cloud verloren was gegaan. Met deze optie kunt u de adapter opnieuw opstarten na elke verbreking en het zal werken.",zct="U kunt% in wachtwoord niet gebruiken. We werken aan de oplossing.",Pct=`Wachtwoord moet minimaal 8 tekens lang zijn en moet cijfers, hoofdletters en kleine letters bevatten. Wijzig dit in het ioBroker.pro-profiel
675
- `,Lct="Als u een herstelbewerking hebt uitgevoerd vanaf een back-up of uw instantie van het ene apparaat naar het andere hebt verplaatst of het IoT-exemplaar hebt verwijderd en opnieuw hebt toegevoegd, moet u de verbindingsbeveiligingscertificaten met deze knop laden",Fct="Als het inloggen op Alexa Skill/Google Action/Alisa met de ioBroker.pro-inloggegevens mislukt, druk dan op de onderstaande knop.",Bct='Voor vragen in welke taal dan ook, stel deze hier op het forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',Wct="Selecteer een <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> en een <a target='_blank' rel='noopener noreferrer 'href=' https: //developers.google.com/actions/smarthome/traits/ '>TRAIT</a> na het toevoegen van een staat. Om meerdere eigenschappen toe te voegen, voegt u een andere id en eigenschap toe, maar dezelfde slimme naam, type en kamer. Door komma's gescheiden voor de meerdere slimme namen. Gebruik de ioBroker Enums/Aufzählungen om een kamer toe te wijzen. Met attributen kun je bijvoorbeeld een bereik instellen voor de kleurtemperatuur <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'> Info over Kenmerken die u hier kunt vinden. </a> Leeg kenmerk is {}",Hct="Zoeken",Uct="Naam",Vct="Kamer",qct="ID",Gct="IoB-type",Jct="Attributen",Xct="Automatisch",Kct="Verwijderen",Yct="Dimmer",Zct="Aan/Uit",Qct="Kleur",edt="Detectie",tdt="Slot",rdt="modus",ndt="Gedempt",odt="Percentage",adt="Temperatuur",sdt="Volume",idt="stopcontact",ldt="licht",cdt="dimmer",ddt="thermostaat",udt="jaloezieën",pdt="hek",hdt="slot",fdt="tint",mdt="beweging",gdt="schuifregelaar",_dt="temperatuur",vdt="raam",ydt="Thermostaat",bdt="Licht",wdt="Airco",Sdt="Jaloezieën",xdt="Contactsensor",kdt="Controle",Cdt="Deur",$dt="Hek",Tdt="Tint",Edt="Beweging",Odt="Schuifregelaar",Ddt="Stopcontact",Adt="Stofzuiger",Idt="Volumegroep",Ndt="Raam",Mdt="Sensor",Rdt="Jaloezieën",jdt="Schakelaar",zdt={"(Set to 0 if behavior not desired)":"(Stel in op 0 als gedrag niet gewenst is)","(you can separate names with comma)":"U kunt verschillende namen invoeren, gescheiden door een komma",Active:Jlt,"Add device":"Voeg toestel toe","Add service":"Service toevoegen",Addresses:Xlt,"Alexa devices":"Alexa-apparaten","Alisa devices":"Alisa-apparaten","Allow admin access (only pro)":"Beheerrechten toestaan ​​(alleen pro)","Allow self-signed certificates":"Sta zelf-ondertekende certificaten toe","Amazon Alexa":"Amazon Alexa","Are you sure?":"Weet je het zeker?","Attributes has not correct JSON format.":"Attributen hebben niet de juiste JSON-indeling","Authentication must be disabled. You can create second instance extra for cloud.":"Verificatie moet zijn uitgeschakeld. U kunt een tweede exemplaar extra voor de cloud maken.",Cancel:Klt,"Cannot add this object":"Kan dit object niet toevoegen, omdat het niet wordt ondersteund.","Cannot read devices!":"Kan geen apparaten lezen!","Certificates will be updated after initiated restart":"Certificaten worden bijgewerkt na de herstart opnieuw gestart","Certificates will be updated after start":"Certificaten worden na het opstarten bijgewerkt","Click now Get new connection certificates to request new temporary password":'Klik nu op "Nieuwe verbindingscertificaten verkrijgen" om een ​​nieuw tijdelijk wachtwoord aan te vragen',Close:Ylt,"Cloud URL":"Cloud URL","Cloud adapter settings":"Cloud adapter-instellingen",Commands:Zlt,"Concatenate words with":"Woorden samenvoegen met","Connection timeout":"Verbinding time-out (ms)","Debug outputs":"Debug-uitgangen","Decrement color temperature":"Verlaag de kleurtemperatuur","Decrement percentage":"Verlagingspercentage","Decrement target temperature":"Verlaag de doeltemperatuur",Default:Qlt,"Device %s was not added":"Apparaat %s is niet toegevoegd","Device will be deactivated.":"Apparaat wordt gedeactiveerd.","Device will be disabled.":"Apparaat %s zal worden uitgeschakeld.",Dimmer:ect,"Duplicate name":"Dubbele naam","Edit smart name":"Bewerk slimme naam",Error:"Fout","Extended options":"Uitgebreide opties",Filter:tct,"For help use this forum":"Ga voor hulp naar dit <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Functions:rct,"Get actual temperature":"Krijg de werkelijke temperatuur","Get new connection certificates":"Ontvang nieuwe verbindingscertificaten","Get new service URL key":"Ontvang nieuwe service URL-sleutel","Get target temperature":"Krijg doeltemperatuur","Google Home":"Google Home","IFTTT key":"IFTTT-sleutel","Increment color temperature":"Verhoog de kleurtemperatuur","Increment percentage":"Verhoging percentage","Increment target temperature":"Verhoog de doeltemperatuur",Instance:nct,"Instance does not exists":"Instantie bestaat niet","Instance is not active.":"Instantie is niet actief.","Instance must be enabled":"Exemplaar moet zijn ingeschakeld","Instance must run to deliver the data":"Het exemplaar moet worden uitgevoerd om de gegevens te bezorgen","Invalid object":"Ongeldig object",Language:oct,"Load configuration from file":"Laad configuratie vanuit bestand",Message:act,"OFF level for switches":"UIT-niveau voor schakelaars","OFF level for switches in %":"UIT-niveau voor schakelaars in %",Off:sct,Ok:ict,On:lct,"On/Off":"Aan uit",Options:cct,"Personal settings (only pro)":"Persoonlijke instellingen (alleen pro)","Ping timeout:":"Ping-timeout (ms)","Place function in names first":"Plaats eerst de functie in namen","Please add action and trait to complete the Google Home state.":"Voeg actie en eigenschap toe om de Google Home-status te voltooien.","Please add type and trait to complete the Google Home state.":"Voeg type en kenmerk toe om de Google Home-status te voltooien.","Please select object ID...":"Selecteer een object-ID ...","Please write your email only in lower case letters":"Schrijf uw e-mail alleen in kleine letters","Read lock state":"Lees de vergrendelingsstatus","Replace in names":"Vervangen in namen","Request email with password one more time":"E-mail met wachtwoord nog een keer aanvragen","Restart on disconnect":"Opnieuw opstarten bij verbreken",Review:dct,Rooms:uct,Save:pct,"Save and close":"Opslaan en sluiten","Save configuration to file":"Sla configuratie op naar bestand","Save settings and the names will be changed":"Sla instellingen op en de namen worden gewijzigd",Select:hct,"Service names":"Servicenamen","Services and IFTTT":"Diensten en IFTTT","Set color":"Stel de kleur in","Set color temperature":"Stel de kleurtemperatuur in","Set lock state":"Stel de vergrendelingsstatus in","Set percentage":"Percentage instellen","Set target temperature":"Stel de doeltemperatuur in","Smart Devices":"Slimme apparaten","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Slim enums","Smart name":"Slimme naam","Smart name for %s":"Slimme naam voor %s","To apply this setting, the restart of adapter must be done. Agree?":"Om deze instelling toe te passen, moet de adapter opnieuw worden opgestart. Mee eens?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Voor automatische detectie wijst onder objecten een kanaal (apparaat als er geen kanaal beschikbaar is) toe aan een kamer en functie. Het is niet voldoende om de kamer toe te wijzen aan een staat of apparaat. Kamers/functies kunnen worden toegevoegd onder opsomming (aangegeven door de witte pijl in de rechterbovenhoek) en moeten worden geactiveerd in de IoT-adapter onder Intelligente opsomming. Om handmatige statussen automatisch te herkennen, moet de status worden verwijderd.","Turn off":"Uitschakelen","Turn on":"Aanzetten",Type:fct,Types:mct,"Use Nightscout instance":"Gebruik de Nightscout-instantie","Use following link for IFTTT":"Gebruik de volgende link voor IFTTT","Use following link for custom service":"Gebruik de volgende link voor aangepaste service","Use text2command instance":"Gebruik de text2command-instantie",Value:gct,"White list for services":"Witte lijst voor services","Write response to":"Schrijf reactie op","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"U kunt verschillende namen invoeren, gescheiden door een komma","amazon link":"Als je de Alexa Skill gebruikt, schrijf dan een recensie voor ons <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>hier</a>.<br>Voorbeelden zijn <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> hier </a> te vinden.","by ON":"door ON",clear:_ct,default:"standaard",disabled:vct,help_link_tip1:yct,help_link_tip2:bct,help_link_tip3:wct,help_tip:Sct,info_allowedServices:xct,info_iftttKey:kct,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Wachtwoord","omit value":"geen waarde","last value":"laatste waarde",modified:Cct,"no type":"geen type",tooltip_allowSelfSignedCertificate:$ct,tooltip_apikey:Tct,tooltip_cloudUrl:Ect,tooltip_concatWord:Oct,tooltip_deviceOffLevel:Dct,tooltip_functionFirst:Act,tooltip_instance:Ict,tooltip_language:Nct,tooltip_noCommon:Mct,tooltip_responseOID:Rct,tooltip_restartOnDisconnect:jct,"Short answer for blood sugar":"Kort antwoord voor bloedsuiker",cannot_use_password:zct,invalid_password_warning:Pct,new_certs_tip:Lct,new_credentials_tip:Fct,"Create IoT credentials anew":"Maak opnieuw IoT-inloggegevens",forum_tip:Bct,"Save settings before pressing this button":"Sla de instellingen op voordat u op deze knop drukt","Auto Mode":"Automatische modus","Manual Mode":"Handmatige modus",manualModeHint:Wct,"not activated":"niet geactiveerd","Google devices":"Google-apparaten","Show/Hide help":"Help weergeven / verbergen","Show all devices for print out":"Alle apparaten weergeven om af te drukken",Search:Hct,"List of devices to print out, e.g. to give all device names to your partner.":"Lijst met af te drukken apparaten, b.v. om alle apparaatnamen aan uw partner te geven.",Name:Uct,Function:"Functie",Room:Vct,"Copy to clipboard":"Kopieer naar klembord","Toggle expert mode":"Schakel de expertmodus in",ID:qct,"Smart names":"Slimme namen",ioBType:Gct,"Function/Trait":"Functie / eigenschap",Attributes:Jct,Auto:Xct,"Conversation to GH":"Converteer naar GH","Conversation to ioB":"Converteer naar ioB","Information: The skill linking process was changed!":"Informatie: het proces voor het koppelen van vaardigheden is gewijzigd!","The linking process has been changed for a few months.":"Het koppelingsproces is voor een paar maanden gewijzigd.","Now there is no temporary password that will be sent by email.":"Nu is er geen tijdelijk wachtwoord dat per e-mail wordt verzonden.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Het wachtwoord is gelijk aan ioBroker.pro en met het wachtwoord dat hier in de instellingen is ingevoerd!","Not understood":"Niet begrepen","Roger that":"Begrepen","Read blood sugar from":"Lees de bloedsuikerspiegel van","Get actual humidity":"Verkrijg de werkelijke luchtvochtigheid","Get motion":"Krijg beweging","Get contact":"Krijg contactstatus","Too many devices (%s) configured. Max number is 300":"Te veel apparaten (%s) geconfigureerd. Maximaal aantal is 300!","Allow remote access":"Externe toegang toestaan","Admin instance":"Beheerdersinstantie","Web instance":"Webinstantie","Device %s will be disabled.":"Apparaat %s wordt uitgeschakeld.",Delete:Kct,Brightness:Yct,Power:Zct,"Color temperature":"Kleurtemperatuur",Color:Qct,Detection:edt,Lock:tdt,Mode:rdt,Muted:ndt,Percentage:odt,"Set point":"Setpunt",Temperature:adt,"Thermostat mode":"Thermostaat modus",Volume:sdt,socket:idt,light:ldt,dimmer:cdt,thermostat:ddt,blind:udt,gate:pdt,lock:hdt,hue:fdt,motion:mdt,slider:gdt,temperature:_dt,window:vdt,Thermostat:ydt,Light:bdt,AirCondition:wdt,Blind:Sdt,ContactSensor:xdt,Control:kdt,Door:Cdt,Gate:$dt,Hue:Tdt,Motion:Edt,Slider:Odt,Socket:Ddt,VacuumCleaner:Adt,VolumeGroup:Idt,Window:Ndt,"Color HUE":"Kleur TINT","Door sensor":"Deur sensor",Sensor:Mdt,"Vacuum cleaner":"Stofzuiger","Volume group":"Volumegroep","Window sensor":"Raam sensor",Blinds:Rdt,"Grouped from %s and %s":"Gegroepeerd van %s en %s","Default toggle behaviour (Only alexa v3)":"Standaard schakelgedrag (alleen alexa v3)","Do not toggle":"Wissel niet",Toggle:jdt,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Deze service is gereserveerd voor de ioBroker.visu-app. Gebruik een andere servicenaam."},Pdt="actif",Ldt="Adresses",Fdt="Annuler",Bdt="Fermer",Wdt="Commandes",Hdt="Défaut",Udt="Variateur",Vdt="Filtre",qdt="Les fonctions",Gdt="Exemple",Jdt="La langue",Xdt="Message",Kdt="de",Ydt="D'accord",Zdt="sur",Qdt="Options",eut="La revue",tut="Pièces",rut="sauvegarder",nut="Sélectionner",out="Type",aut="Les types",sut="Valeur",iut="nettoyer",lut="désactivée",cut=`Avant d'écrire au support, assurez-vous d'avoir lu et compris les instructions de la page Web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>`,dut='Si vous rencontrez toujours des problèmes avec la connexion à Iot, vous pouvez demander une assistance dans le <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">forum</a>',uut='et seulement après cela, vous devez écrire un e-mail à <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',put='Pas de compte iobroker.pro? Achetez-le sur <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> pour un accès validé ou obtenez gratuitement un accès limité.',hut="divisé par virgule. Utilisez * pour autoriser tous les services.",fut="Vous pouvez trouver votre clé <a href='https://ifttt.com/maker_webhooks' target='_blank'> ici </a> sous 'Documentation'",mut="Le nom a été modifié par l'utilisateur",gut="Si vous utilisez votre propre cloud, vous pouvez autoriser l'utilisation de certificats autosignés pour le cloud.",_ut="Cette clé est requise pour communiquer avec un nuage. Vous pouvez obtenir l'API-KEY sur https://iobroker.net et il ressemble à pseudo_f1f439a0-001a-11e7-bc64-92361f002671",vut="Normalement, vous n'avez pas besoin de le changer. Uniquement nécessaire si vous prévoyez d'utiliser votre propre cloud.",yut="Définir la concaténation de la pièce et de la fonction. Par exemple. avec 'in': Lumière dans le salon.",but="Certains groupes sont composés de dispositifs mixtes: gradateurs et commutateurs. Il est permis de les contrôler avec des commandes ON et OFF et avec des pourcentages",wut="Normalement, les noms ressemblent à room_function. Ici vous pouvez passer à function_room.",Sut="Instance Web, qui sera affichée pour vos connexions depuis le cloud.",xut="Vous pouvez définir les langues pour passer rapidement entre les compétences américaines Alexa et DE Alexa.",kut="Si activé, les paramètres seront stockés uniquement pour cette instance. Dans un autre cas, les autres noms pourraient être définis.",Cut="Pour chaque commande, la réponse textuelle sera générée. Vous pouvez définir ici l'ID de l'objet, où ce texte doit être écrit. Par exemple. sayit.0.tts.text.",$ut="Solution de contournement pour la connexion manquante à Alexa après la connexion au cloud a été perdue. Avec cette option, vous pouvez redémarrer l'adaptateur après chaque déconnexion et cela fonctionnera.",Tut="Vous ne pouvez pas utiliser% dans le mot de passe. Nous travaillons sur le correctif.",Eut=`Le mot de passe doit comporter au moins 8 caractères et doit comporter des chiffres, des lettres majuscules et minuscules. Veuillez le modifier dans le profil ioBroker.pro
676
- `,Out="Si vous avez effectué une restauration à partir d'une sauvegarde, ou déplacé votre instance d'un appareil vers un autre ou supprimé l'instance IoT et l'ajoutée à nouveau, vous devez charger les certificats de sécurité de connexion avec ce bouton",Dut="Si la connexion à Alexa Skill/Google Action/Alisa avec les données de connexion ioBroker.pro échoue, veuillez appuyer sur le bouton ci-dessous.",Aut=`Si vous avez des questions dans n'importe quelle langue, posez-les ici dans le forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> lien </a>`,Iut="Veuillez sélectionner un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> et un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> après avoir ajouté un état. Pour ajouter plusieurs traits, ajoutez un identifiant et un trait différents, mais le même nom intelligent, le même type et la même pièce. Séparé par des virgules pour les multiples noms intelligents. Pour attribuer une chambre, veuillez utiliser les ioBroker Enums/Aufzählungen. Avec les attributs, vous pouvez par exemple définir une plage de température de couleur <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos sur Les attributs que vous pouvez trouver ici.</a> L'attribut vide est {}",Nut="Chercher",Mut="Nom",Rut="Chambre",jut="ID",zut="Type IoB",Put="Les attributs",Lut="Automatiquement",Fut="Effacer",But="Variateur",Wut="Allumé/éteint",Hut="Couleur",Uut="Détection",Vut="Serrure",qut="Mode",Gut="En sourdine",Jut="Pourcentage",Xut="Température",Kut="Volume",Yut="prise",Zut="lumière",Qut="variateur",ept="thermostat",tpt="stores de fenêtre",rpt="portail",npt="serrure",opt="teinte",apt="mouvement",spt="glissière",ipt="température",lpt="fenêtre",cpt="Thermostat",dpt="Lumière",upt="Air conditionné",ppt="Stores de fenêtre",hpt="Contacter le capteur",fpt="Contrôle",mpt="Porte",gpt="Portail",_pt="Teinte",vpt="Mouvement",ypt="Glissière",bpt="Prise",wpt="aspirateur",Spt="Groupe de volumes",xpt="Fenêtre",kpt="Capteur",Cpt="Stores de fenêtre",$pt="Basculer",Tpt={"(Set to 0 if behavior not desired)":"(Mettre à 0 si le comportement n'est pas désiré)","(you can separate names with comma)":"Vous pouvez entrer plusieurs noms divisés par une virgule",Active:Pdt,"Add device":"Ajouter un appareil","Add service":"Ajouter un service",Addresses:Ldt,"Alexa devices":"Appareils Alexa","Alisa devices":"Appareils Alisa","Allow admin access (only pro)":"Autoriser l'accès administrateur (uniquement pro)","Allow self-signed certificates":"Autoriser les certificats auto-signés","Amazon Alexa":"Amazon Alexa","Are you sure?":"Êtes-vous sûr?","Attributes has not correct JSON format.":"Les attributs ne sont pas au format JSON correct","Authentication must be disabled. You can create second instance extra for cloud.":"L'authentification doit être désactivée. Vous pouvez créer une seconde instance supplémentaire pour le cloud.",Cancel:Fdt,"Cannot add this object":"Impossible d'ajouter cet objet, car non pris en charge.","Cannot read devices!":"Impossible de lire les appareils!","Certificates will be updated after initiated restart":"Les certificats seront mis à jour après le redémarrage initié","Certificates will be updated after start":"Les certificats seront mis à jour après le démarrage","Click now Get new connection certificates to request new temporary password":'Cliquez maintenant sur "Obtenir de nouveaux certificats de connexion" pour demander un nouveau mot de passe temporaire.',Close:Bdt,"Cloud URL":"URL de cloud","Cloud adapter settings":"Paramètres de l'adaptateur cloud",Commands:Wdt,"Concatenate words with":"Concaténer les mots avec","Connection timeout":"Délai de connexion (ms)","Debug outputs":"Déboguer les sorties","Decrement color temperature":"Décrémenter la température de couleur","Decrement percentage":"Pourcentage de décrémentation","Decrement target temperature":"Décrémenter la température cible",Default:Hdt,"Device %s was not added":"Le périphérique %s n'a pas été ajouté","Device will be deactivated.":"L'appareil sera désactivé.","Device will be disabled.":"L'appareil %s sera désactivé.",Dimmer:Udt,"Duplicate name":"Nom en double","Edit smart name":"Modifier le nom intelligent",Error:"Erreur","Extended options":"Options étendues",Filter:Vdt,"For help use this forum":"Pour obtenir de l'aide, visitez ce <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum publier</a>",Functions:qdt,"Get actual temperature":"Obtenir la température réelle","Get new connection certificates":"Obtenir de nouveaux certificats de connexion","Get new service URL key":"Obtenir une nouvelle clé d'URL de service","Get target temperature":"Obtenir la température cible","Google Home":"Google Home","IFTTT key":"Touche IFTTT","Increment color temperature":"Incrément de température de couleur","Increment percentage":"Pourcentage d'incrément","Increment target temperature":"Augmenter la température cible",Instance:Gdt,"Instance does not exists":"L'instance n'existe pas","Instance is not active.":"L'instance n'est pas active.","Instance must be enabled":"L'instance doit être activée","Instance must run to deliver the data":"L'instance doit s'exécuter pour fournir les données","Invalid object":"Objet invalide",Language:Jdt,"Load configuration from file":"Charger la configuration du fichier",Message:Xdt,"OFF level for switches":"Niveau OFF pour les commutateurs","OFF level for switches in %":"Niveau OFF pour les commutateurs en %",Off:Kdt,Ok:Ydt,On:Zdt,"On/Off":"Allumé éteint",Options:Qdt,"Personal settings (only pro)":"Paramètres personnels (uniquement pro)","Ping timeout:":"Ping timeout (ms)","Place function in names first":"Placez la fonction dans les noms en premier","Please add action and trait to complete the Google Home state.":"Veuillez ajouter une action et un trait pour terminer l'état de Google Home.","Please add type and trait to complete the Google Home state.":"Veuillez ajouter un type et un trait pour terminer l'état de Google Home.","Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","Please write your email only in lower case letters":"S'il vous plaît écrivez votre email uniquement en minuscules","Read lock state":"État verrouillé","Replace in names":"Remplacer dans les noms","Request email with password one more time":"Demander l'email avec le mot de passe une fois de plus","Restart on disconnect":"Redémarrer à la déconnexion",Review:eut,Rooms:tut,Save:rut,"Save and close":"Sauver et fermer","Save configuration to file":"Enregistrer la configuration dans un fichier","Save settings and the names will be changed":"Enregistrer les paramètres et les noms seront modifiés",Select:nut,"Service names":"Noms de service","Services and IFTTT":"Services et IFTTT","Set color":"Définir la couleur","Set color temperature":"Régler la température de couleur","Set lock state":"Définir l'état de verrouillage","Set percentage":"Définir le pourcentage","Set target temperature":"Régler la température cible","Smart Devices":"Smart Devices","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Smart enums","Smart name":"Nom intelligent","Smart name for %s":"Nom intelligent pour %s","To apply this setting, the restart of adapter must be done. Agree?":"Pour appliquer ce paramètre, l'adaptateur doit être redémarré. Se mettre d'accord?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Pour la détection automatique, sous les objets, affectez un canal (appareil si aucun canal n'est disponible) à une pièce et une fonction. Il ne suffit pas d'affecter la pièce à un état ou à un appareil. Les salles/fonctions peuvent être ajoutées sous l'énumération (indiquée par la flèche blanche en haut à droite) et doivent être activées dans l'adaptateur IoT sous l'énumération intelligente. Afin de reconnaître automatiquement les états manuels, l'état doit être supprimé.","Turn off":"Éteindre","Turn on":"Allumer",Type:out,Types:aut,"Use Nightscout instance":"Utilisez l'instance Nightscout","Use following link for IFTTT":"Utilisez le lien suivant pour IFTTT","Use following link for custom service":"Utilisez le lien suivant pour un service personnalisé","Use text2command instance":"Utilisez l'instance text2command",Value:sut,"White list for services":"Liste blanche pour les services","Write response to":"Écrire une réponse à","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Vous pouvez entrer plusieurs noms divisés par une virgule","amazon link":"Si vous utilisez la compétence Alexa, veuillez écrire une critique pour nous <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>ici</a>.<br>Des exemples peuvent être trouvés <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> ici </a>.","by ON":"par le",clear:iut,default:"défaut",disabled:lut,help_link_tip1:cut,help_link_tip2:dut,help_link_tip3:uut,help_tip:put,info_allowedServices:hut,info_iftttKey:fut,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"Mot de passe ioBroker.pro","omit value":"aucune valeur","last value":"dernière valeur",modified:mut,"no type":"pas de type",tooltip_allowSelfSignedCertificate:gut,tooltip_apikey:_ut,tooltip_cloudUrl:vut,tooltip_concatWord:yut,tooltip_deviceOffLevel:but,tooltip_functionFirst:wut,tooltip_instance:Sut,tooltip_language:xut,tooltip_noCommon:kut,tooltip_responseOID:Cut,tooltip_restartOnDisconnect:$ut,"Short answer for blood sugar":"Réponse courte pour la glycémie",cannot_use_password:Tut,invalid_password_warning:Eut,new_certs_tip:Out,new_credentials_tip:Dut,"Create IoT credentials anew":"Créez à nouveau les informations d'identification IoT",forum_tip:Aut,"Save settings before pressing this button":"Enregistrez les paramètres avant d'appuyer sur ce bouton","Auto Mode":"Mode automatique","Manual Mode":"Mode manuel",manualModeHint:Iut,"not activated":"non activé","Google devices":"Appareils Google","Show/Hide help":"Afficher / masquer l'aide","Show all devices for print out":"Afficher tous les appareils à imprimer",Search:Nut,"List of devices to print out, e.g. to give all device names to your partner.":"Liste des périphériques à imprimer, par ex. pour donner tous les noms d'appareils à votre partenaire.",Name:Mut,Function:"Fonction",Room:Rut,"Copy to clipboard":"Copier dans le presse-papier","Toggle expert mode":"Basculer en mode expert",ID:jut,"Smart names":"Noms intelligents",ioBType:zut,"Function/Trait":"Fonction / trait",Attributes:Put,Auto:Lut,"Conversation to GH":"Convertir en GH","Conversation to ioB":"Convertir en ioB","Information: The skill linking process was changed!":"Information: le processus de liaison des compétences a été modifié!","The linking process has been changed for a few months.":"Le processus de mise en relation a été modifié depuis quelques mois.","Now there is no temporary password that will be sent by email.":"Désormais, aucun mot de passe temporaire ne sera envoyé par e-mail.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Le mot de passe est égal à ioBroker.pro et au mot de passe qui a été saisi ici dans les paramètres!","Not understood":"Pas compris","Roger that":"Bien reçu","Read blood sugar from":"Lire la glycémie à partir de","Get actual humidity":"Obtenez l'humidité réelle","Get motion":"Obtenez du mouvement","Get contact":"Obtenir le statut du contact","Too many devices (%s) configured. Max number is 300":"Trop de périphériques (%s) configurés. Le nombre maximum est 300 !","Allow remote access":"Autoriser l'accès à distance","Admin instance":"Instance d'administration","Web instance":"Instance Web","Device %s will be disabled.":"Le périphérique %s sera désactivé.",Delete:Fut,Brightness:But,Power:Wut,"Color temperature":"Température de couleur",Color:Hut,Detection:Uut,Lock:Vut,Mode:qut,Muted:Gut,Percentage:Jut,"Set point":"Point de consigne",Temperature:Xut,"Thermostat mode":"Mode thermostatique",Volume:Kut,socket:Yut,light:Zut,dimmer:Qut,thermostat:ept,blind:tpt,gate:rpt,lock:npt,hue:opt,motion:apt,slider:spt,temperature:ipt,window:lpt,Thermostat:cpt,Light:dpt,AirCondition:upt,Blind:ppt,ContactSensor:hpt,Control:fpt,Door:mpt,Gate:gpt,Hue:_pt,Motion:vpt,Slider:ypt,Socket:bpt,VacuumCleaner:wpt,VolumeGroup:Spt,Window:xpt,"Color HUE":"Teinte de couleur","Door sensor":"Capteur de porte",Sensor:kpt,"Vacuum cleaner":"aspirateur","Volume group":"Groupe de volumes","Window sensor":"Capteur de fenêtre",Blinds:Cpt,"Grouped from %s and %s":"Groupé de %s et %s","Default toggle behaviour (Only alexa v3)":"Comportement de basculement par défaut (uniquement alexa v3)","Do not toggle":"Ne pas basculer",Toggle:$pt,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Ce service est réservé à l'application ioBroker.visu. Veuillez utiliser un autre nom de service."},Ept="Attivo",Opt="indirizzi",Dpt="Annulla",Apt="Vicino",Ipt="comandi",Npt="Predefinito",Mpt="oscuratore",Rpt="Filtro",jpt="funzioni",zpt="Esempio",Ppt="Linguaggio",Lpt="Messaggio",Fpt="via",Bpt="Ok",Wpt="sopra",Hpt="Opzioni",Upt="Revisione",Vpt="Camere",qpt="Salvare",Gpt="Selezionare",Jpt="Genere",Xpt="tipi",Kpt="Valore",Ypt="cancellare",Zpt="Disabilitato",Qpt='Prima di scrivere per il supporto, assicurarsi di aver letto e compreso le istruzioni della pagina Web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',eht='Se hai ancora problemi con la connessione a Iot, puoi richiedere supporto a <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a>',tht='e solo dopo dovrai scrivere una email a <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',rht=`Nessun account iobroker.pro? Compralo su <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> per l'accesso convalidato o ottieni l'accesso gratuito, ma limitato.`,nht="diviso per virgola. Usa * per consentire tutti i servizi.",oht="Puoi trovare la tua chiave <a href='https://ifttt.com/maker_webhooks' target='_blank'> qui </a> in 'Documentazione'",aht="Il nome è stato modificato dall'utente",sht="Se si utilizza il proprio cloud, è possibile consentire l'uso di certificati autofirmati per il cloud.",iht="Questa chiave è necessaria per comunicare con un cloud. Puoi ottenere l'API-KEY su https://iobroker.net e sembra nickname_f1f439a0-001a-11e7-bc64-92361f002671",lht="Normalmente non è necessario cambiarlo. Richiesto solo se prevedi di utilizzare il tuo cloud.",cht="Definire come concatenare Room e Function. Per esempio. con 'in': luce nel soggiorno.",dht="Alcuni gruppi sono costituiti da dispositivi misti: dimmer e interruttori. È consentito controllarli con comandi ON e OFF e con percentuali",uht="Normalmente i nomi assomigliano a room_function. Qui puoi passare a function_room.",pht="Istanza Web, che verrà mostrata per le connessioni dal cloud.",hht="È possibile definire le lingue per passare velocemente da US Alexa Skill a DE Alexa Skill.",fht="Se abilitato, le impostazioni verranno memorizzate solo per questa istanza. Quindi in un'altra istanza potrebbero essere impostati gli altri nomi.",mht="Per ogni comando verrà generata la risposta testuale. È possibile definire qui l'ID oggetto, dove questo testo deve essere scritto. Per esempio. sayit.0.tts.text.",ght="Soluzione alternativa per la mancata connessione ad Alexa dopo la perdita della connessione al cloud. Con questa opzione è possibile riavviare l'adattatore dopo ogni disconnessione e funzionerà.",_ht="Non è possibile utilizzare% nella password. Stiamo lavorando alla correzione.",vht=`La password deve contenere almeno 8 caratteri e deve contenere numeri, lettere maiuscole e minuscole. Si prega di cambiarlo nel profilo ioBroker.pro
677
- `,yht="Se hai effettuato un ripristino dal backup o hai spostato l'istanza da un dispositivo all'altro o hai eliminato l'istanza IoT e l'hai aggiunta di nuovo, devi caricare i certificati di sicurezza della connessione con questo pulsante",bht="Se l'accesso ad Alexa Skill/Google Action/Alisa con i dati di accesso ioBroker.pro non riesce, premere il pulsante in basso.",wht='Per qualsiasi domanda in qualsiasi lingua, si prega di porre qui nel forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',Sht="Seleziona un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> e un <a target='_blank' rel=' noopener noreferrer' href='https: //developers.google.com/actions/smarthome/traits/'>TRAIT</a> dopo aver aggiunto uno stato. Per aggiungere più tratti, aggiungi un ID e un tratto diversi ma lo stesso nome, tipo e spazio intelligenti. Virgola separata per più nomi intelligenti. Per assegnare una stanza, utilizzare ioBroker Enums/Aufzählungen. Con gli attributi puoi ad esempio impostare un intervallo per la temperatura del colore <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Informazioni su Gli attributi che puoi trovare qui.</a> L'attributo vuoto è {}",xht="Ricerca",kht="Nome",Cht="Camera",$ht="ID",Tht="Tipo di IoB",Eht="attributi",Oht="Automaticamente",Dht="Elimina",Aht="Dimmer",Iht="Acceso/Spento",Nht="Colore",Mht="Rilevamento",Rht="Serratura",jht="Modalità",zht="Disattivato",Pht="Percentuale",Lht="Temperatura",Fht="Volume",Bht="PRESA",Wht="leggero",Hht="dimmer",Uht="termostato",Vht="tapparelle",qht="cancello",Ght="serratura",Jht="tinta",Xht="movimento",Kht="cursore",Yht="temperatura",Zht="finestra",Qht="Termostato",eft="Leggero",tft="Aria condizionata",rft="Tapparelle",nft="Sensore di contatto",oft="Controllo",aft="Porta",sft="Cancello",ift="Tinta",lft="Movimento",cft="Cursore",dft="PRESA",uft="Aspirapolvere",pft="Gruppo di volumi",hft="Finestra",fft="Sensore",mft="Tapparelle",gft="Alterna",_ft={"(Set to 0 if behavior not desired)":"(Impostare su 0 se il comportamento non è desiderato)","(you can separate names with comma)":"È possibile inserire diversi nomi divisi per virgola",Active:Ept,"Add device":"Aggiungi dispositivo","Add service":"Aggiungi servizio",Addresses:Opt,"Alexa devices":"Dispositivi Alexa","Alisa devices":"Dispositivi Alisa","Allow admin access (only pro)":"Permetti l'accesso amministratore (solo pro)","Allow self-signed certificates":"Consenti certificati autofirmati","Amazon Alexa":"Amazon Alexa","Are you sure?":"Sei sicuro?","Attributes has not correct JSON format.":"Gli attributi non sono nel formato JSON corretto","Authentication must be disabled. You can create second instance extra for cloud.":"L'autenticazione deve essere disabilitata. È possibile creare un extra di seconda istanza per il cloud.",Cancel:Dpt,"Cannot add this object":"Impossibile aggiungere questo oggetto, perché non supportato.","Cannot read devices!":"Impossibile leggere i dispositivi!","Certificates will be updated after initiated restart":"I certificati verranno aggiornati dopo il riavvio avviato","Certificates will be updated after start":"I certificati verranno aggiornati dopo l'avvio","Click now Get new connection certificates to request new temporary password":'Fare clic su "Ottieni nuovi certificati di connessione" per richiedere una nuova password temporanea',Close:Apt,"Cloud URL":"URL del cloud","Cloud adapter settings":"Impostazioni dell'adattatore cloud",Commands:Ipt,"Concatenate words with":"Parole concatenate con","Connection timeout":"Timeout connessione (ms)","Debug outputs":"Uscite di debug","Decrement color temperature":"Ridurre la temperatura del colore","Decrement percentage":"Percentuale di decremento","Decrement target temperature":"Ridurre la temperatura target",Default:Npt,"Device %s was not added":"Il dispositivo %s non è stato aggiunto","Device will be deactivated.":"Il dispositivo sarà disattivato.","Device will be disabled.":"Il dispositivo sarà disabilitato.",Dimmer:Mpt,"Duplicate name":"Nome duplicato","Edit smart name":"Modifica il nome intelligente",Error:"Errore","Extended options":"Opzioni estese",Filter:Rpt,"For help use this forum":"Per assistenza, visita questo <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Functions:jpt,"Get actual temperature":"Ottieni la temperatura effettiva","Get new connection certificates":"Ottieni nuovi certificati di connessione","Get new service URL key":"Ottieni una nuova chiave URL del servizio","Get target temperature":"Ottieni la temperatura target","Google Home":"Google Home","IFTTT key":"Tasto IFTTT","Increment color temperature":"Incrementa la temperatura del colore","Increment percentage":"Percentuale di incremento","Increment target temperature":"Incremento della temperatura target",Instance:zpt,"Instance does not exists":"L'istanza non esiste","Instance is not active.":"L'istanza non è attiva.","Instance must be enabled":"L'istanza deve essere abilitata","Instance must run to deliver the data":"L'istanza deve essere eseguita per consegnare i dati","Invalid object":"Oggetto non valido",Language:Ppt,"Load configuration from file":"Carica la configurazione dal file",Message:Lpt,"OFF level for switches":"Livello OFF per interruttori","OFF level for switches in %":"Livello OFF per gli interruttori in %",Off:Fpt,Ok:Bpt,On:Wpt,"On/Off":"Acceso spento",Options:Hpt,"Personal settings (only pro)":"Impostazioni personali (solo pro)","Ping timeout:":"Timeout del ping (ms)","Place function in names first":"Inserisci la funzione nei nomi prima","Please add action and trait to complete the Google Home state.":"Aggiungi azione e tratto per completare lo stato di Google Home.","Please add type and trait to complete the Google Home state.":"Aggiungi tipo e tratto per completare lo stato di Google Home.","Please select object ID...":"Si prega di selezionare l'oggetto ID ...","Please write your email only in lower case letters":"Si prega di scrivere la tua email solo in lettere minuscole","Read lock state":"Leggi lo stato di blocco","Replace in names":"Sostituisci nei nomi","Request email with password one more time":"Richiedi l'email con la password ancora una volta","Restart on disconnect":"Riavvia alla disconnessione",Review:Upt,Rooms:Vpt,Save:qpt,"Save and close":"Salva e chiudi","Save configuration to file":"Salva la configurazione nel file","Save settings and the names will be changed":"Salva le impostazioni e i nomi saranno cambiati",Select:Gpt,"Service names":"Nomi di servizio","Services and IFTTT":"Servizi e IFTTT","Set color":"Imposta il colore","Set color temperature":"Imposta la temperatura del colore","Set lock state":"Imposta lo stato di blocco","Set percentage":"Imposta la percentuale","Set target temperature":"Imposta la temperatura target","Smart Devices":"Dispositivi intelligenti","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Enumerazioni intelligenti","Smart name":"Nome intelligente","Smart name for %s":"Nome intelligente per %s","To apply this setting, the restart of adapter must be done. Agree?":"Per applicare questa impostazione, è necessario riavviare l'adattatore. Essere d'accordo?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Per il rilevamento automatico, sotto gli oggetti assegnare un canale (dispositivo se non è disponibile alcun canale) a una stanza e funzione. Non è sufficiente assegnare la stanza a uno stato o dispositivo. Le sale/funzioni possono essere aggiunte all'enumerazione (indicata dalla freccia bianca in alto a destra) e devono essere attivate nell'adattatore IoT in Enumerazione intelligente. Per riconoscere automaticamente gli stati manuali, è necessario eliminare lo stato.","Turn off":"Spegni","Turn on":"Accendere",Type:Jpt,Types:Xpt,"Use Nightscout instance":"Utilizza l'istanza Nightscout","Use following link for IFTTT":"Usa il seguente link per IFTTT","Use following link for custom service":"Usa il seguente link per il servizio personalizzato","Use text2command instance":"Utilizza l'istanza text2command",Value:Kpt,"White list for services":"Lista bianca per i servizi","Write response to":"Scrivi risposta a","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"È possibile inserire diversi nomi divisi per virgola","amazon link":"Se usi Alexa Skill, scrivi una recensione per noi <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>here</a>.<br>Gli esempi possono essere trovati <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> qui </a>.","by ON":"da ON",clear:Ypt,default:"predefinito",disabled:Zpt,help_link_tip1:Qpt,help_link_tip2:eht,help_link_tip3:tht,help_tip:rht,info_allowedServices:nht,info_iftttKey:oht,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Password","omit value":"nessun valore","last value":"ultimo valore",modified:aht,"no type":"nessun tipo",tooltip_allowSelfSignedCertificate:sht,tooltip_apikey:iht,tooltip_cloudUrl:lht,tooltip_concatWord:cht,tooltip_deviceOffLevel:dht,tooltip_functionFirst:uht,tooltip_instance:pht,tooltip_language:hht,tooltip_noCommon:fht,tooltip_responseOID:mht,tooltip_restartOnDisconnect:ght,"Short answer for blood sugar":"Risposta breve per zucchero nel sangue",cannot_use_password:_ht,invalid_password_warning:vht,new_certs_tip:yht,new_credentials_tip:bht,"Create IoT credentials anew":"Crea nuovamente le credenziali IoT",forum_tip:wht,"Save settings before pressing this button":"Salvare le impostazioni prima di premere questo pulsante","Auto Mode":"Modalità automatica","Manual Mode":"Modalità manuale",manualModeHint:Sht,"not activated":"non attivato","Google devices":"Dispositivi Google","Show/Hide help":"Mostra / Nascondi aiuto","Show all devices for print out":"Mostra tutti i dispositivi per la stampa",Search:xht,"List of devices to print out, e.g. to give all device names to your partner.":"Elenco dei dispositivi da stampare, ad es. per dare tutti i nomi dei dispositivi al tuo partner.",Name:kht,Function:"Funzione",Room:Cht,"Copy to clipboard":"Copia negli appunti","Toggle expert mode":"Attiva / disattiva modalità esperto",ID:$ht,"Smart names":"Nomi intelligenti",ioBType:Tht,"Function/Trait":"Funzione / Trait",Attributes:Eht,Auto:Oht,"Conversation to GH":"Converti in GH","Conversation to ioB":"Converti in ioB","Information: The skill linking process was changed!":"Informazioni: il processo di collegamento delle abilità è stato modificato!","The linking process has been changed for a few months.":"Il processo di collegamento è stato modificato per alcuni mesi.","Now there is no temporary password that will be sent by email.":"Ora non esiste una password temporanea che verrà inviata tramite e-mail.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"La password è uguale a ioBroker.pro e alla password che è stata inserita qui nelle impostazioni!","Not understood":"Non compreso","Roger that":"Ricevuto","Read blood sugar from":"Leggi lo zucchero nel sangue da","Get actual humidity":"Ottieni l'umidità effettiva","Get motion":"Ottieni movimento","Get contact":"Ottieni lo stato del contatto","Too many devices (%s) configured. Max number is 300":"Troppi dispositivi (%s) configurati. Il numero massimo è 300!","Allow remote access":"Consenti accesso remoto","Admin instance":"Istanza amministratore","Web instance":"Istanza web","Device %s will be disabled.":"Il dispositivo %s sarà disabilitato.",Delete:Dht,Brightness:Aht,Power:Iht,"Color temperature":"Temperatura di colore",Color:Nht,Detection:Mht,Lock:Rht,Mode:jht,Muted:zht,Percentage:Pht,"Set point":"Punto stabilito",Temperature:Lht,"Thermostat mode":"Modalità termostato",Volume:Fht,socket:Bht,light:Wht,dimmer:Hht,thermostat:Uht,blind:Vht,gate:qht,lock:Ght,hue:Jht,motion:Xht,slider:Kht,temperature:Yht,window:Zht,Thermostat:Qht,Light:eft,AirCondition:tft,Blind:rft,ContactSensor:nft,Control:oft,Door:aft,Gate:sft,Hue:ift,Motion:lft,Slider:cft,Socket:dft,VacuumCleaner:uft,VolumeGroup:pft,Window:hft,"Color HUE":"Colore TONALITÀ","Door sensor":"Sensore porta",Sensor:fft,"Vacuum cleaner":"Aspirapolvere","Volume group":"Gruppo di volumi","Window sensor":"Sensore finestra",Blinds:mft,"Grouped from %s and %s":"Raggruppato da %s e %s","Default toggle behaviour (Only alexa v3)":"Comportamento di commutazione predefinito (solo Alexa v3)","Do not toggle":"Non alternare",Toggle:gft,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Questo servizio è riservato all'app ioBroker.visu. Utilizza un altro nome di servizio."},vft="Activo",yft="Direcciones",bft="Cancelar",wft="Cerrar",Sft="Comandos",xft="Defecto",kft="Regulador de intensidad",Cft="Filtrar",$ft="Funciones",Tft="Ejemplo",Eft="Idioma",Oft="Mensaje",Dft="apagado",Aft="De acuerdo",Ift="en",Nft="Opciones",Mft="revisión",Rft="Habitaciones",jft="Salvar",zft="Seleccionar",Pft="Tipo",Lft="Tipos",Fft="Valor",Bft="limpiar",Wft="discapacitado",Hft='Antes de escribir a soporte, asegúrese de haber leído y entendido las instrucciones de la página web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',Uft='Si aún tiene problemas con la conexión a Iot, puede solicitar asistencia en el <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">foro</a>',Vft='y solo después de eso, debe escribir un correo electrónico a <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',qft='¿No hay una cuenta iobroker.pro? Cómprelo en <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> para obtener acceso validado u obtenga de forma gratuita, pero con acceso limitado.',Gft="dividido por coma. Use * para permitir todos los servicios.",Jft="Puede encontrar su clave <a href='https://ifttt.com/maker_webhooks' target='_blank'> aquí </a> en 'Documentación'",Xft="El nombre fue modificado por el usuario",Kft="Si usa su propia nube, puede permitir el uso de certificados autofirmados para la nube.",Yft="Esta clave es necesaria para comunicarse con una nube. Puede obtener la API-KEY en https://iobroker.net y se ve como nickname_f1f439a0-001a-11e7-bc64-92361f002671",Zft="Normalmente no es necesario cambiarlo. Solo es obligatorio si planea usar su propia nube.",Qft="Definir cómo concatenar Habitación y Función. P.ej. con 'en': luz en la sala de estar.",emt="Algunos grupos consisten en dispositivos mixtos: atenuadores e interruptores. Se permite controlarlos con comandos ON y OFF y con porcentajes",tmt="Normalmente los nombres parecen room_function. Aquí puedes cambiarlo a function_room.",rmt="Instancia web, que se mostrará para sus conexiones desde la nube.",nmt="Puede definir los idiomas para cambiar rápidamente entre US Alexa Skill y DE Alexa Skill.",omt="Si está habilitado, la configuración se almacenará solo para esta instancia. Entonces, en la otra instancia, se podrían establecer los otros nombres.",amt="Para cada comando, se generará la respuesta de texto. Aquí puede definir la ID del objeto, donde debe escribirse este texto. P.ej. sayit.0.tts.text.",smt="Solución alternativa para la conexión faltante a Alexa después de la conexión a la nube se perdió. Con esta opción, puede reiniciar el adaptador después de cada desconexión y funcionará.",imt="No puede usar% en la contraseña. Estamos trabajando en la solución.",lmt=`La contraseña debe tener al menos 8 caracteres y debe tener números, letras mayúsculas y minúsculas. Por favor cámbielo en el perfil ioBroker.pro
678
- `,cmt="Si realizó una restauración desde la copia de seguridad, o movió su instancia de un dispositivo a otro o eliminó la instancia de IoT y la agregó nuevamente, debe cargar los certificados de seguridad de conexión con este botón",dmt="Si falla el inicio de sesión en Alexa Skill/Google Action/Alisa con los datos de inicio de sesión de ioBroker.pro, presione el botón a continuación.",umt='Cualquier pregunta en cualquier idioma, por favor pregunte aquí en el foro: <a href="https://forum.iobroker.net/post/435797" target="_blank"> enlace </a>',pmt="Seleccione un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> y un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> después de agregar un estado. Para agregar múltiples rasgos, agregue una identificación y un rasgo diferentes pero el mismo nombre inteligente, tipo y sala. Coma separada para los múltiples nombres inteligentes. Para asignar una habitación, utilice las Enums/Aufzählungen de ioBroker. Con atributos, por ejemplo, puede establecer un rango para la temperatura de color <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos sobre Atributos que puede encontrar aquí.</a> El atributo vacío es {}",hmt="Buscar",fmt="Nombre",mmt="Habitación",gmt="ID",_mt="Tipo de IoB",vmt="Atributos",ymt="Automáticamente",bmt="Borrar",wmt="Regulador de intensidad",Smt="Encendido/Apagado",xmt="Color",kmt="Detección",Cmt="Cerrar",$mt="Modo",Tmt="Apagado",Emt="Porcentaje",Omt="Temperatura",Dmt="Volumen",Amt="enchufe",Imt="luz",Nmt="regulador de intensidad",Mmt="termostato",Rmt="Persianas",jmt="puerta",zmt="cerrar",Pmt="matiz",Lmt="movimiento",Fmt="control deslizante",Bmt="temperatura",Wmt="ventana",Hmt="Termostato",Umt="Luz",Vmt="Aire acondicionado",qmt="Persianas",Gmt="sensor de contacto",Jmt="Control",Xmt="Puerta",Kmt="Puerta",Ymt="Matiz",Zmt="Movimiento",Qmt="Deslizador",egt="Enchufe",tgt="aspiradora",rgt="grupo de volumen",ngt="Ventana",ogt="Sensor",agt="Persianas",sgt="Palanca",igt={"(Set to 0 if behavior not desired)":"(Se establece en 0 si no se desea el comportamiento)","(you can separate names with comma)":"Puede ingresar varios nombres divididos por coma",Active:vft,"Add device":"Añadir dispositivo","Add service":"Añadir servicio",Addresses:yft,"Alexa devices":"Dispositivos de Alexa","Alisa devices":"Dispositivos alisa","Allow admin access (only pro)":"Permitir acceso de administrador (solo pro)","Allow self-signed certificates":"Permitir certificados autofirmados","Amazon Alexa":"Amazon Alexa","Are you sure?":"¿Estás seguro?","Attributes has not correct JSON format.":"Los atributos no están en el formato JSON correcto","Authentication must be disabled. You can create second instance extra for cloud.":"La autenticación debe estar deshabilitada. Puede crear una segunda instancia extra para la nube.",Cancel:bft,"Cannot add this object":"No se puede agregar este objeto porque no es compatible.","Cannot read devices!":"No se pueden leer los dispositivos!","Certificates will be updated after initiated restart":"Los certificados se actualizarán después de reiniciarse","Certificates will be updated after start":"Los certificados se actualizarán después del inicio","Click now Get new connection certificates to request new temporary password":'Haga clic ahora en "Obtener nuevos certificados de conexión" para solicitar una nueva contraseña temporal',Close:wft,"Cloud URL":"URL en la nube","Cloud adapter settings":"Configuración del adaptador de nube",Commands:Sft,"Concatenate words with":"Concatenar palabras con","Connection timeout":"Tiempo de espera de conexión (ms)","Debug outputs":"Salidas de depuración","Decrement color temperature":"Disminución de la temperatura de color.","Decrement percentage":"Porcentaje de decremento","Decrement target temperature":"Disminuir la temperatura objetivo",Default:xft,"Device %s was not added":"El dispositivo %s no fue agregado","Device will be deactivated.":"El dispositivo se desactivará.","Device will be disabled.":"El dispositivo %s estará deshabilitado.",Dimmer:kft,"Duplicate name":"Nombre duplicado","Edit smart name":"Editar nombre inteligente",Error:"Error","Extended options":"Opciones extendidas",Filter:Cft,"For help use this forum":"Para obtener ayuda, visite este <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>foro publicar</a>",Functions:$ft,"Get actual temperature":"Obtener la temperatura real","Get new connection certificates":"Obtenga nuevos certificados de conexión","Get new service URL key":"Obtener nueva clave de servicio URL","Get target temperature":"Obtener temperatura objetivo","Google Home":"Google Home","IFTTT key":"Tecla IFTTT","Increment color temperature":"Temperatura de color incrementada","Increment percentage":"Porcentaje de incremento","Increment target temperature":"Incrementar la temperatura objetivo",Instance:Tft,"Instance does not exists":"La instancia no existe","Instance is not active.":"La instancia no está activa.","Instance must be enabled":"La instancia debe estar habilitada","Instance must run to deliver the data":"La instancia debe ejecutarse para entregar los datos","Invalid object":"Objeto inválido",Language:Eft,"Load configuration from file":"Cargar configuración desde archivo",Message:Oft,"OFF level for switches":"Nivel de apagado para interruptores","OFF level for switches in %":"Nivel OFF para interruptores en %",Off:Dft,Ok:Aft,On:Ift,"On/Off":"Encendido apagado",Options:Nft,"Personal settings (only pro)":"Configuración personal (solo pro)","Ping timeout:":"Tiempo de espera de ping (ms)","Place function in names first":"Coloque la función en los nombres primero","Please add action and trait to complete the Google Home state.":"Agregue acción y rasgo para completar el estado de Google Home.","Please add type and trait to complete the Google Home state.":"Agregue tipo y rasgo para completar el estado de Google Home.","Please select object ID...":"Por favor seleccione ID de objeto ...","Please write your email only in lower case letters":"Por favor escriba su correo electrónico sólo en minúsculas","Read lock state":"Estado de bloqueo de lectura","Replace in names":"Reemplazar en nombres","Request email with password one more time":"Solicitar correo electrónico con contraseña una vez más","Restart on disconnect":"Reiniciar al desconectar",Review:Mft,Rooms:Rft,Save:jft,"Save and close":"Guardar y cerrar","Save configuration to file":"Guardar la configuración en el archivo","Save settings and the names will be changed":"Guarde la configuración y los nombres serán cambiados",Select:zft,"Service names":"Nombres de servicio","Services and IFTTT":"Servicios e IFTTT","Set color":"Establecer color","Set color temperature":"Ajustar la temperatura de color","Set lock state":"Establecer el estado de bloqueo","Set percentage":"Establecer porcentaje","Set target temperature":"Ajustar la temperatura objetivo","Smart Devices":"Dispositivos inteligentes","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Enums inteligentes","Smart name":"Nombre inteligente","Smart name for %s":"Nombre inteligente para %s","To apply this setting, the restart of adapter must be done. Agree?":"Para aplicar esta configuración, el adaptador debe reiniciarse. ¿De acuerdo?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Para la detección automática, debajo de los objetos asigne un canal (dispositivo si no hay un canal disponible) a una sala y función. No es suficiente asignar la habitación a un estado o dispositivo. Las habitaciones/funciones se pueden agregar en la enumeración (indicada por la flecha blanca en la parte superior derecha) y se deben activar en el adaptador IoT en la enumeración inteligente. Para reconocer automáticamente los estados manuales, el estado debe ser eliminado.","Turn off":"Apagar","Turn on":"Encender",Type:Pft,Types:Lft,"Use Nightscout instance":"Use la instancia del Nightscout","Use following link for IFTTT":"Utilice el siguiente enlace para IFTTT","Use following link for custom service":"Use el siguiente enlace para servicio personalizado","Use text2command instance":"Use la instancia del comando text2",Value:Fft,"White list for services":"Lista blanca de servicios","Write response to":"Escribir respuesta a","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Puede introducir varios nombres divididos por comas","amazon link":"Si usa Alexa Skill, escriba una opinión para nosotros <a href = 'http: //alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/? Ref-suffix = war_dp 'target =' _ blank 'class =' ​​here '> aquí </a>.<br>Se pueden encontrar ejemplos <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='blank'> aquí </a>.","by ON":"por el",clear:Bft,default:"defecto",disabled:Wft,help_link_tip1:Hft,help_link_tip2:Uft,help_link_tip3:Vft,help_tip:qft,info_allowedServices:Gft,info_iftttKey:Jft,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Contraseña","omit value":"sin valor","last value":"último valor",modified:Xft,"no type":"Sin tipo",tooltip_allowSelfSignedCertificate:Kft,tooltip_apikey:Yft,tooltip_cloudUrl:Zft,tooltip_concatWord:Qft,tooltip_deviceOffLevel:emt,tooltip_functionFirst:tmt,tooltip_instance:rmt,tooltip_language:nmt,tooltip_noCommon:omt,tooltip_responseOID:amt,tooltip_restartOnDisconnect:smt,"Short answer for blood sugar":"Respuesta corta para azúcar en la sangre",cannot_use_password:imt,invalid_password_warning:lmt,new_certs_tip:cmt,new_credentials_tip:dmt,"Create IoT credentials anew":"Crear nuevas credenciales de IoT",forum_tip:umt,"Save settings before pressing this button":"Guarde la configuración antes de presionar este botón","Auto Mode":"Modo automático","Manual Mode":"Modo manual",manualModeHint:pmt,"not activated":"no esta activado","Google devices":"Dispositivos de Google","Show/Hide help":"Mostrar / Ocultar ayuda","Show all devices for print out":"Mostrar todos los dispositivos para imprimir",Search:hmt,"List of devices to print out, e.g. to give all device names to your partner.":"Lista de dispositivos para imprimir, p. para dar todos los nombres de dispositivo a su pareja.",Name:fmt,Function:"Función",Room:mmt,"Copy to clipboard":"Copiar al portapapeles","Toggle expert mode":"Alternar modo experto",ID:gmt,"Smart names":"Nombres inteligentes",ioBType:_mt,"Function/Trait":"Función / rasgo",Attributes:vmt,Auto:ymt,"Conversation to GH":"Convertir a GH","Conversation to ioB":"Convertir a ioB","Information: The skill linking process was changed!":"Información: ¡Se cambió el proceso de vinculación de habilidades!","The linking process has been changed for a few months.":"El proceso de vinculación se ha modificado durante unos meses.","Now there is no temporary password that will be sent by email.":"Ahora no hay una contraseña temporal que se enviará por correo electrónico.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"¡La contraseña es igual a ioBroker.pro y con la contraseña que se ingresó aquí en la configuración!","Not understood":"No se entiende","Roger that":"Entendido","Read blood sugar from":"Leer azúcar en sangre de","Get actual humidity":"Obtenga la humedad real","Get motion":"Obtener movimiento","Get contact":"Obtener estado de contacto","Too many devices (%s) configured. Max number is 300":"Demasiados dispositivos (%s) configurados. ¡El número máximo es 300!","Allow remote access":"Permitir acceso remoto","Admin instance":"Instancia de administrador","Web instance":"Instancia web","Device %s will be disabled.":"El dispositivo %s se desactivará.",Delete:bmt,Brightness:wmt,Power:Smt,"Color temperature":"Temperatura del color",Color:xmt,Detection:kmt,Lock:Cmt,Mode:$mt,Muted:Tmt,Percentage:Emt,"Set point":"Punto fijo",Temperature:Omt,"Thermostat mode":"Modo termostato",Volume:Dmt,socket:Amt,light:Imt,dimmer:Nmt,thermostat:Mmt,blind:Rmt,gate:jmt,lock:zmt,hue:Pmt,motion:Lmt,slider:Fmt,temperature:Bmt,window:Wmt,Thermostat:Hmt,Light:Umt,AirCondition:Vmt,Blind:qmt,ContactSensor:Gmt,Control:Jmt,Door:Xmt,Gate:Kmt,Hue:Ymt,Motion:Zmt,Slider:Qmt,Socket:egt,VacuumCleaner:tgt,VolumeGroup:rgt,Window:ngt,"Color HUE":"Color TONO","Door sensor":"sensor de puerta",Sensor:ogt,"Vacuum cleaner":"aspiradora","Volume group":"grupo de volumen","Window sensor":"sensor de ventana",Blinds:agt,"Grouped from %s and %s":"Agrupados de %s y %s","Default toggle behaviour (Only alexa v3)":"Comportamiento de alternancia predeterminado (solo alexa v3)","Do not toggle":"no alternar",Toggle:sgt,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Este servicio está reservado para la aplicación ioBroker.visu. Utilice otro nombre de servicio."},lgt="Aktywny",cgt="Adresy",dgt="Odwołaj",ugt="Zamknij",pgt="Polecenia",hgt="Domyślna",fgt="Opornik",mgt="Filtr",ggt="Funkcje",_gt="Instancja",vgt="Język",ygt="Wiadomość",bgt="poza",wgt="Ok",Sgt="na",xgt="Opcje",kgt="Przejrzeć",Cgt="Pokoje",$gt="Zapisz",Tgt="Wybierz",Egt="Typ",Ogt="Rodzaje",Dgt="Wartość",Agt="Oczyścić",Igt="niepełnosprawny",Ngt='Przed napisaniem do wsparcia upewnij się, że przeczytałeś i zrozumiałeś instrukcje strony: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',Mgt='Jeśli nadal masz problem z połączeniem z Iot, możesz poprosić o wsparcie na <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a>',Rgt='i dopiero potem powinieneś napisać e-mail na <a target="_blank" href="mailto:support@iobroker.com">adres support@iobroker.com</a>',jgt='Brak konta iobroker.pro? Kup go na <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> w celu zweryfikowania dostępu lub uzyskaj bezpłatny, ale ograniczony dostęp.',zgt="podzielone przecinkiem. Użyj *, aby zezwolić na wszystkie usługi.",Pgt=`Możesz znaleźć klucz <a href='https://ifttt.com/maker_webhooks' target='_blank'> tutaj </a> w sekcji "Dokumentacja"`,Lgt="Nazwa została zmodyfikowana przez użytkownika",Fgt="Jeśli korzystasz z własnej chmury, możesz zezwolić na używanie samopodpisanych certyfikatów dla chmury.",Bgt="Ten klucz jest wymagany do komunikacji z chmurą. Możesz pobrać API-KEY na https://iobroker.net i wygląda jak pseudonim_f1f439a0-001a-11e7-bc64-92361f002671",Wgt="Zwykle nie musisz tego zmieniać. Wymagane tylko, jeśli masz zamiar korzystać z własnej chmury.",Hgt='Określ, jak połączyć pokój i funkcję. Na przykład. z "in": Światło w salonie.',Ugt="Niektóre grupy składają się z różnych urządzeń: ściemniaczy i przełączników. Dozwolone jest sterowanie nimi za pomocą poleceń ON i OFF oraz procentami",Vgt="Normalnie nazwy wyglądają jak room_function. Tutaj możesz przełączyć go do function_room.",qgt="Instancja internetowa, która będzie wyświetlana dla twoich połączeń z chmury.",Ggt="Możesz zdefiniować języki, aby szybko przełączać się pomiędzy US Alexa Skill i DE Alexa Skill.",Jgt="Jeśli jest włączona, ustawienia będą przechowywane tylko dla tej instancji. Tak więc w innym przypadku można ustawić inne nazwy.",Xgt="Dla każdego polecenia zostanie wygenerowana odpowiedź tekstowa. Możesz tu zdefiniować identyfikator obiektu, do którego należy zapisać ten tekst. Na przykład. sayit.0.tts.text.",Kgt="Rozwiązano problem braku połączenia z Alexa po utracie połączenia z chmurą. Dzięki tej opcji można ponownie uruchomić adapter po każdym rozłączeniu i będzie działać.",Ygt="Nie możesz użyć% w haśle. Pracujemy nad poprawką.",Zgt=`Hasło musi mieć co najmniej 8 znaków i musi zawierać cyfry, wielkie i małe litery. Zmień to w profilu ioBroker.pro
679
- `,Qgt="Jeśli wykonałeś przywracanie z kopii zapasowej, przeniosłeś instancję z jednego urządzenia na drugie lub usunąłeś instancję IoT i dodałeś ją ponownie, musisz załadować certyfikaty bezpieczeństwa połączenia za pomocą tego przycisku",e_t="Jeśli logowanie do Alexa Skill/Google Action/Alisa za pomocą danych logowania ioBroker.pro nie powiedzie się, naciśnij poniższy przycisk.",t_t='Wszelkie pytania w dowolnym języku prosimy zadawać tutaj na forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',r_t="Wybierz <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> i <a target = '_ puste 'rel =' noopener noreferrer 'href =' https: //developers.google.com/actions/smarthome/traits/ '>TRAIT</a> po dodaniu stanu. Aby dodać wiele cech, dodaj inny identyfikator i cechę, ale tę samą inteligentną nazwę, typ i pokój. Oddzielony przecinkami dla wielu inteligentnych nazw. Aby przypisać pokój, użyj ioBroker Enums/Aufzählungen. Za pomocą atrybutów możesz na przykład ustawić zakres temperatury kolorów <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'> Informacje o Atrybuty można znaleźć tutaj. </a> Pusty atrybut to {}",n_t="Szukaj",o_t="Nazwa",a_t="Pokój",s_t="ID",i_t="Typ IoB",l_t="Atrybuty",c_t="Automatycznie",d_t="Usuwać",u_t="Opornik",p_t="Wł./Wył",h_t="Kolor",f_t="Wykrycie",m_t="Zamek",g_t="Tryb",__t="Wyciszony",v_t="Odsetek",y_t="Temperatura",b_t="Tom",w_t="gniazdo elektryczne",S_t="światło",x_t="opornik",k_t="termostat",C_t="rolety okienne",$_t="brama",T_t="zamek",E_t="odcień",O_t="ruch",D_t="suwak",A_t="temperatura",I_t="okno",N_t="Termostat",M_t="Światło",R_t="Klimatyzacja",j_t="Rolety okienne",z_t="Czujnik kontaktowy",P_t="Kontrola",L_t="Drzwi",F_t="Brama",B_t="Odcień",W_t="Ruch",H_t="Suwak",U_t="Gniazdo elektryczne",V_t="Odkurzacz",q_t="Grupa woluminów",G_t="Okno",J_t="Czujnik",X_t="Rolety okienne",K_t="Przełącznik",Y_t={"(Set to 0 if behavior not desired)":"(Ustaw na 0, jeśli zachowanie nie jest pożądane)","(you can separate names with comma)":"Możesz wprowadzić kilka nazw podzielonych przecinkami",Active:lgt,"Add device":"Dodaj urządzenie","Add service":"Dodaj usługę",Addresses:cgt,"Alexa devices":"Urządzenia Alexa","Alisa devices":"Urządzenia Alisa","Allow admin access (only pro)":"Zezwalaj na dostęp administratora (tylko pro)","Allow self-signed certificates":"Zezwalaj na certyfikaty z podpisem własnym","Amazon Alexa":"Amazon Alexa","Are you sure?":"Jesteś pewny?","Attributes has not correct JSON format.":"Atrybuty mają niepoprawny format JSON","Authentication must be disabled. You can create second instance extra for cloud.":"Uwierzytelnianie musi być wyłączone. Możesz utworzyć dodatkową instancję dodatkową dla chmury.",Cancel:dgt,"Cannot add this object":"Nie można dodać tego obiektu, ponieważ nie jest obsługiwany.","Cannot read devices!":"Nie można odczytać urządzeń!","Certificates will be updated after initiated restart":"Certyfikaty będą aktualizowane po ponownym uruchomieniu","Certificates will be updated after start":"Certyfikaty będą aktualizowane po starcie","Click now Get new connection certificates to request new temporary password":'Kliknij teraz "Pobierz nowe certyfikaty połączeń", aby poprosić o nowe tymczasowe hasło',Close:ugt,"Cloud URL":"Chmura adresu URL","Cloud adapter settings":"Ustawienia adaptera chmury",Commands:pgt,"Concatenate words with":"Połącz słowa z","Connection timeout":"Limit czasu połączenia (ms)","Debug outputs":"Wyjścia debugowania","Decrement color temperature":"Zmniejsz temperaturę barwową","Decrement percentage":"Procent zmniejszenia","Decrement target temperature":"Zmniejsz temperaturę docelową",Default:hgt,"Device %s was not added":"Urządzenie %s nie zostało dodane","Device will be deactivated.":"Urządzenie zostanie dezaktywowane.","Device will be disabled.":"Urządzenie zostanie wyłączone.",Dimmer:fgt,"Duplicate name":"Zduplikowana nazwa","Edit smart name":"Edytuj inteligentną nazwę",Error:"Błąd","Extended options":"Rozszerzone opcje",Filter:mgt,"For help use this forum":"Aby uzyskać pomoc, odwiedź to <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Functions:ggt,"Get actual temperature":"Uzyskaj rzeczywistą temperaturę","Get new connection certificates":"Uzyskaj nowe certyfikaty połączeń","Get new service URL key":"Uzyskaj nowy klucz URL usługi","Get target temperature":"Uzyskaj docelową temperaturę","Google Home":"Google Home","IFTTT key":"Klawisz IFTTT","Increment color temperature":"Przyrost temperatury barwowej","Increment percentage":"Przyrost procentowy","Increment target temperature":"Przyrost temperatury docelowej",Instance:_gt,"Instance does not exists":"Instancja nie istnieje","Instance is not active.":"Instancja nie jest aktywna.","Instance must be enabled":"Instancja musi być włączona","Instance must run to deliver the data":"Instancja musi zostać uruchomiona w celu dostarczenia danych","Invalid object":"Nieprawidłowy obiekt",Language:vgt,"Load configuration from file":"Załaduj konfigurację z pliku",Message:ygt,"OFF level for switches":"Poziom OFF dla przełączników","OFF level for switches in %":"Poziom wyłączenia dla przełączników w %",Off:bgt,Ok:wgt,On:Sgt,"On/Off":"Włącz/Wyłącz",Options:xgt,"Personal settings (only pro)":"Ustawienia osobiste (tylko pro)","Ping timeout:":"Limit czasu pingowania (ms)","Place function in names first":"Najpierw umieść funkcję w imionach","Please add action and trait to complete the Google Home state.":"Dodaj działanie i cechę, aby ukończyć stan Google Home.","Please add type and trait to complete the Google Home state.":"Dodaj typ i cechę, aby ukończyć stan Google Home.","Please select object ID...":"Wybierz identyfikator obiektu ...","Please write your email only in lower case letters":"Napisz swój e-mail tylko małymi literami","Read lock state":"Czytaj stan blokady","Replace in names":"Zastąp imiona","Request email with password one more time":"Poproś jeszcze raz o e-mail z hasłem","Restart on disconnect":"Uruchom ponownie po rozłączeniu",Review:kgt,Rooms:Cgt,Save:$gt,"Save and close":"Zapisz i zamknij","Save configuration to file":"Zapisz konfigurację do pliku","Save settings and the names will be changed":"Zapisz ustawienia i nazwy zostaną zmienione",Select:Tgt,"Service names":"Nazwy usług","Services and IFTTT":"Usługi i IFTTT","Set color":"Ustaw kolor","Set color temperature":"Ustaw temperaturę barwową","Set lock state":"Ustaw stan blokady","Set percentage":"Ustaw procent","Set target temperature":"Ustaw temperaturę docelową","Smart Devices":"Inteligentne urządzenia","Smart Enums":"Inteligentne wyliczenia","Smart Media":"Smart Media","Smart enums":"Inteligentne enumy","Smart name":"Inteligentna nazwa","Smart name for %s":"Inteligentna nazwa dla %s","To apply this setting, the restart of adapter must be done. Agree?":"Aby zastosować to ustawienie, adapter musi zostać zrestartowany. Zgodzić się?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"W celu automatycznego wykrywania pod obiektami przypisz kanał (urządzenie, jeśli żaden kanał nie jest dostępny) do pokoju i funkcji. Nie wystarczy przypisać pokój do stanu lub urządzenia. Pomieszczenia/funkcje można dodawać w ramach wyliczenia (oznaczonego białą strzałką w prawym górnym rogu) i należy je aktywować w adapterze IoT w obszarze Inteligentne wyliczanie. Aby automatycznie rozpoznać stany ręczne, należy je usunąć.","Turn off":"Wyłączyć","Turn on":"Włączyć",Type:Egt,Types:Ogt,"Use Nightscout instance":"Użyj instancji Nightscout","Use following link for IFTTT":"Użyj następującego linku dla IFTTT","Use following link for custom service":"Użyj poniższego linku do niestandardowej usługi","Use text2command instance":"Użyj instancji text2command",Value:Dgt,"White list for services":"Biała lista dla usług","Write response to":"Napisz odpowiedź na","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Możesz wprowadzić kilka nazw podzielonych przecinkiem","amazon link":`Jeśli używasz umiejętności Alexa, napisz recenzję dla nas <a href = 'http: //alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/? Ref-suffix = war_dp "target = '_ blank' class = 'here'> here </a>. Przykłady można znaleźć <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> tutaj </a>.`,"by ON":"przez ON",clear:Agt,default:"domyślna",disabled:Igt,help_link_tip1:Ngt,help_link_tip2:Mgt,help_link_tip3:Rgt,help_tip:jgt,info_allowedServices:zgt,info_iftttKey:Pgt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Hasło","omit value":"brak wartości","last value":"ostatnia wartość",modified:Lgt,"no type":"bez typu",tooltip_allowSelfSignedCertificate:Fgt,tooltip_apikey:Bgt,tooltip_cloudUrl:Wgt,tooltip_concatWord:Hgt,tooltip_deviceOffLevel:Ugt,tooltip_functionFirst:Vgt,tooltip_instance:qgt,tooltip_language:Ggt,tooltip_noCommon:Jgt,tooltip_responseOID:Xgt,tooltip_restartOnDisconnect:Kgt,"Short answer for blood sugar":"Krótka odpowiedź na cukier we krwi",cannot_use_password:Ygt,invalid_password_warning:Zgt,new_certs_tip:Qgt,new_credentials_tip:e_t,"Create IoT credentials anew":"Utwórz ponownie poświadczenia IoT",forum_tip:t_t,"Save settings before pressing this button":"Zapisz ustawienia przed naciśnięciem tego przycisku","Auto Mode":"Tryb automatyczny","Manual Mode":"Tryb ręczny",manualModeHint:r_t,"not activated":"nie aktywowany","Google devices":"Urządzenia Google","Show/Hide help":"Pokaż / ukryj pomoc","Show all devices for print out":"Pokaż wszystkie urządzenia do wydrukowania",Search:n_t,"List of devices to print out, e.g. to give all device names to your partner.":"Lista urządzeń do wydrukowania, np. aby podać wszystkie nazwy urządzeń swojemu partnerowi.",Name:o_t,Function:"Funkcja",Room:a_t,"Copy to clipboard":"Skopiuj do schowka","Toggle expert mode":"Przełącz tryb ekspercki",ID:s_t,"Smart names":"Inteligentne nazwy",ioBType:i_t,"Function/Trait":"Funkcja / cecha",Attributes:l_t,Auto:c_t,"Conversation to GH":"Konwertuj na GH","Conversation to ioB":"Konwertuj na ioB","Information: The skill linking process was changed!":"Informacja: Zmieniono proces łączenia umiejętności!","The linking process has been changed for a few months.":"Od kilku miesięcy zmienił się proces łączenia.","Now there is no temporary password that will be sent by email.":"Teraz nie ma tymczasowego hasła, które zostanie wysłane e-mailem.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Hasło jest równe z ioBroker.pro i hasłem, które zostało wprowadzone tutaj w ustawieniach!","Not understood":"Nie rozumiem","Roger that":"Przyjąłem","Read blood sugar from":"Odczytaj poziom cukru we krwi","Get actual humidity":"Uzyskaj aktualną wilgotność","Get motion":"Wpraw się w ruch","Get contact":"Uzyskaj status kontaktu","Too many devices (%s) configured. Max number is 300":"Za dużo skonfigurowanych urządzeń (%s). Maksymalna liczba to 300!","Allow remote access":"Zezwól na zdalny dostęp","Admin instance":"Instancja administracyjna","Web instance":"Instancja internetowa","Device %s will be disabled.":"Urządzenie %s zostanie wyłączone.",Delete:d_t,Brightness:u_t,Power:p_t,"Color temperature":"Temperatura koloru",Color:h_t,Detection:f_t,Lock:m_t,Mode:g_t,Muted:__t,Percentage:v_t,"Set point":"Ustaw punkt",Temperature:y_t,"Thermostat mode":"Tryb termostatu",Volume:b_t,socket:w_t,light:S_t,dimmer:x_t,thermostat:k_t,blind:C_t,gate:$_t,lock:T_t,hue:E_t,motion:O_t,slider:D_t,temperature:A_t,window:I_t,Thermostat:N_t,Light:M_t,AirCondition:R_t,Blind:j_t,ContactSensor:z_t,Control:P_t,Door:L_t,Gate:F_t,Hue:B_t,Motion:W_t,Slider:H_t,Socket:U_t,VacuumCleaner:V_t,VolumeGroup:q_t,Window:G_t,"Color HUE":"Barwa koloru","Door sensor":"Czujnik drzwi",Sensor:J_t,"Vacuum cleaner":"Odkurzacz","Volume group":"Grupa woluminów","Window sensor":"Czujnik okna",Blinds:X_t,"Grouped from %s and %s":"Pogrupowane z %s i %s","Default toggle behaviour (Only alexa v3)":"Domyślne zachowanie przełączania (tylko Alexa v3)","Do not toggle":"Nie przełączaj",Toggle:K_t,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Usługa ta jest zarezerwowana dla aplikacji ioBroker.visu. Użyj innej nazwy usługi."},Z_t="Активний",Q_t="Адреси",evt="Атрибути",tvt="Автоматично",rvt="Скасувати",nvt="Закрити",ovt="Команди",avt="За замовчуванням",svt="Диммер",ivt="фільтр",lvt="Функції",cvt="ID",dvt="Екземпляр",uvt="Мову",pvt="повідомлення",hvt="Ім'я",fvt="вимкнено",mvt="В порядку",gvt="на",_vt="Опції",vvt="огляд",yvt="Кімната",bvt="Кімнати",wvt="зберегти",Svt="Пошук",xvt="Виберіть",kvt="Тип",Cvt="Типи",$vt="Значення",Tvt="Ви не можете використовувати % у паролі. Ми працюємо над виправленням.",Evt="ясно",Ovt="вимкнено",Dvt='Будь-які запитання будь-якою мовою задавайте тут, на форумі: <a href="https://forum.iobroker.net/post/435797" target="_blank">посилання</a>',Avt='Перш ніж писати в службу підтримки, переконайтеся, що ви прочитали та зрозуміли інструкції на веб-сторінці: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md"> https://www.iobroker.net</a>',Ivt='Якщо у вас усе ще виникають проблеми з підключенням до Iot, ви можете подати запит на підтримку на <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">форумі</a>',Nvt='і тільки після цього вам слід написати листа на <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Mvt='Немає облікового запису iobroker.pro? Придбайте його на <a href="https://iobroker.pro/accessRemote" target="_blank">https://iobroker.pro</a> для перевіреного доступу або отримайте безкоштовний, але обмежений доступ.',Rvt="розділені комою. Використовуйте *, щоб дозволити всі служби.",jvt="Ви можете знайти свій ключ <a href='https://ifttt.com/maker_webhooks' target='_blank'>тут</a> у розділі «Документація»",zvt=`Пароль має містити не менше 8 символів і містити цифри, великі та малі літери. Будь ласка, змініть його в профілі ioBroker.pro
680
- `,Pvt="Тип IoB",Lvt="Виберіть <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> і <a target='_blank ' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> після додавання стану. Щоб додати кілька характеристик, додайте інший ідентифікатор і ознаку, але однакові розумне ім’я, тип і кімнату. Розділені комами для кількох розумних імен. Щоб призначити кімнату, скористайтеся ioBroker Enums/Aufzählungen. За допомогою атрибутів ви можете, наприклад, встановити діапазон для колірної температури <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Інформація про Атрибути можна знайти тут.</a> Порожній атрибут: {}",Fvt="Ім'я було змінено користувачем",Bvt="Якщо ви відновили з резервної копії або перемістили екземпляр з одного пристрою на інший, або видалили екземпляр IoT і додали його знову, ви повинні завантажити сертифікати безпеки підключення за допомогою цієї кнопки",Wvt="Якщо вхід до Alexa Skill/Google Action/Alisa за допомогою даних для входу ioBroker.pro не вдається, натисніть кнопку нижче.",Hvt="Якщо ви використовуєте власну хмару, ви можете дозволити використання самопідписаних сертифікатів для хмари.",Uvt="Цей ключ потрібен для зв’язку з хмарою. Ви можете отримати API-KEY на https://iobroker.net і він виглядає як nickname_f1f439a0-001a-11e7-bc64-92361f002671",Vvt="Зазвичай вам не потрібно його міняти. Потрібно, лише якщо ви плануєте використовувати власну хмару.",qvt="Визначте, як об’єднати кімнату та функцію. наприклад з 'in': світло у вітальні.",Gvt="Деякі групи складаються зі змішаних пристроїв: диммерів і вимикачів. Дозволяється керувати ними за допомогою команд ON і OFF, а також за допомогою відсотків",Jvt="Зазвичай назви виглядають як room_function. Тут ви можете переключити його на function_room.",Xvt="Веб-екземпляр, який буде показано для ваших підключень із хмари.",Kvt="Ви можете визначити мови для швидкого перемикання між US Alexa Skill і DE Alexa Skill.",Yvt="Якщо ввімкнено, налаштування зберігатимуться лише для цього екземпляра. Отже, в іншому випадку можна встановити інші імена.",Zvt="Для кожної команди буде згенеровано текстову відповідь. Тут можна визначити ідентифікатор об’єкта, куди має бути записано цей текст. наприклад sayit.0.tts.text.",Qvt="Обхідний шлях для відсутності підключення до Alexa після втрати підключення до хмари. За допомогою цієї опції ви можете перезавантажувати адаптер після кожного відключення, і він працюватиме.",eyt="Видалити",tyt="Диммер",ryt="Увімкнено/Вимкнено",nyt="Колір",oyt="виявлення",ayt="Замок",syt="Режим",iyt="Вимкнено",lyt="Відсоток",cyt="температура",dyt="Обсяг",uyt="гніздо",pyt="світло",hyt="диммер",fyt="термостат",myt="віконні жалюзі",gyt="ворота",_yt="замок",vyt="відтінок",yyt="руху",byt="повзунок",wyt="температура",Syt="вікно",xyt="Термостат",kyt="світло",Cyt="Кондиціонер",$yt="Віконні жалюзі",Tyt="Контактний датчик",Eyt="КОНТРОЛЬ",Oyt="двері",Dyt="Ворота",Ayt="Відтінок",Iyt="Рух",Nyt="повзунок",Myt="Розетка",Ryt="Пилосос",jyt="Група томів",zyt="Вікно",Pyt="датчик",Lyt="Віконні жалюзі",Fyt="Перемикач",Byt={"(Set to 0 if behavior not desired)":"(Встановіть 0, якщо поведінка небажана)","(you can separate names with comma)":"Ви можете ввести кілька імен, розділених комою",Active:Z_t,"Add device":"Додайте пристрій","Add service":"Додати послугу",Addresses:Q_t,"Admin instance":"Примірник адміністратора","Alexa devices":"Пристрої Alexa","Alisa devices":"пристрої Аліса","Allow admin access (only pro)":"Дозволити доступ адміністратора (лише для професіоналів)","Allow remote access":"Дозволити віддалений доступ","Allow self-signed certificates":"Дозволити самопідписані сертифікати","Amazon Alexa":"Amazon Alexa","Are you sure?":"Ти впевнений?",Attributes:evt,"Attributes has not correct JSON format.":"Атрибути мають неправильний формат JSON","Authentication must be disabled. You can create second instance extra for cloud.":"Автентифікація повинна бути вимкнена. Ви можете створити додатковий другий екземпляр для хмари.",Auto:tvt,"Auto Mode":"Автоматичний режим",Cancel:rvt,"Cannot add this object":"Неможливо додати цей об’єкт, оскільки не підтримується.","Cannot read devices!":"Неможливо прочитати пристрої!","Certificates will be updated after initiated restart":"Сертифікати будуть оновлені після ініційованого перезапуску","Certificates will be updated after start":"Сертифікати будуть оновлені після запуску","Click now Get new connection certificates to request new temporary password":"Натисніть «Отримати нові сертифікати підключення», щоб запитати новий тимчасовий пароль",Close:nvt,"Cloud URL":"URL-адреса хмари","Cloud adapter settings":"Налаштування хмарного адаптера",Commands:ovt,"Concatenate words with":"Сполучіть слова з","Connection timeout":"Час очікування підключення (мс)","Conversation to GH":"Перетворити в GH","Conversation to ioB":"Перетворити в ioB","Copy to clipboard":"Копіювати в буфер обміну","Create IoT credentials anew":"Створіть облікові дані IoT заново","Debug outputs":"Виходи налагодження","Decrement color temperature":"Зменшити колірну температуру","Decrement percentage":"Відсоток зменшення","Decrement target temperature":"Зменшити цільову температуру",Default:avt,"Device %s was not added":"Пристрій %s не додано","Device will be deactivated.":"Пристрій буде деактивовано.","Device will be disabled.":"Пристрій %s буде вимкнено.",Dimmer:svt,"Duplicate name":"Повторюване ім'я","Edit smart name":"Редагувати розумне ім'я",Error:"Помилка","Extended options":"Розширені параметри",Filter:ivt,"For help use this forum":"Щоб отримати допомогу, відвідайте цей <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>форум публікація</a>",Function:"функція","Function/Trait":"Функція/риса",Functions:lvt,"Get actual humidity":"Отримайте фактичну вологість","Get actual temperature":"Отримайте фактичну температуру","Get contact":"Отримати статус контакту","Get motion":"Отримати рух","Get new connection certificates":"Отримати нові сертифікати підключення","Get new service URL key":"Отримайте новий ключ URL-адреси служби","Get target temperature":"Отримайте цільову температуру","Google Home":"Google Home","Google devices":"пристрої Google",ID:cvt,"IFTTT key":"Ключ IFTTT","Increment color temperature":"Збільшити колірну температуру","Increment percentage":"Відсоток приросту","Increment target temperature":"Збільшити цільову температуру","Information: The skill linking process was changed!":"Інформація: процес підключення навичок змінено!",Instance:dvt,"Instance does not exists":"Екземпляр не існує","Instance is not active.":"Екземпляр не активний.","Instance must be enabled":"Примірник має бути ввімкнено","Instance must run to deliver the data":"Екземпляр повинен запуститися, щоб доставити дані","Invalid object":"Недійсний об'єкт",Language:uvt,"List of devices to print out, e.g. to give all device names to your partner.":"Список пристроїв для друку, напр. щоб надати назви всіх пристроїв вашому партнеру.","Load configuration from file":"Завантажити конфігурацію з файлу","Manual Mode":"Ручний режим",Message:pvt,Name:hvt,"Not understood":"Не зрозумів","Now there is no temporary password that will be sent by email.":"Тепер немає тимчасового пароля, який надсилатиметься електронною поштою.","OFF level for switches":"Рівень ВИМК для перемикачів","OFF level for switches in %":"Рівень вимкнення для перемикачів у %",Off:fvt,Ok:mvt,On:gvt,"On/Off":"Увімкнено вимкнено",Options:_vt,"Personal settings (only pro)":"Персональні налаштування (тільки для професіоналів)","Ping timeout:":"Час очікування ping (мс)","Place function in names first":"Спочатку розмістіть функцію в іменах","Please add action and trait to complete the Google Home state.":"Додайте дію та рису, щоб завершити стан Google Home.","Please add type and trait to complete the Google Home state.":"Додайте тип і характеристику, щоб завершити стан Google Home.","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Please write your email only in lower case letters":"Пишіть свою електронну адресу лише малими літерами","Read blood sugar from":"Зчитайте рівень цукру в крові","Read lock state":"Читати стан блокування","Replace in names":"Замінити в назвах","Request email with password one more time":"Надішліть запит електронної пошти з паролем ще раз","Restart on disconnect":"Перезапустити після відключення",Review:vvt,"Roger that":"Розумно",Room:yvt,Rooms:bvt,Save:wvt,"Save and close":"Зберегти та закрити","Save configuration to file":"Зберегти конфігурацію у файл","Save settings and the names will be changed":"Збережіть налаштування, і імена будуть змінені","Save settings before pressing this button":"Перед натисканням цієї кнопки збережіть налаштування",Search:Svt,Select:xvt,"Service names":"Назви послуг","Services and IFTTT":"Послуги та IFTTT","Set color":"Встановити колір","Set color temperature":"Встановити колірну температуру","Set lock state":"Встановити стан блокування","Set percentage":"Встановити відсоток","Set target temperature":"Встановити цільову температуру","Short answer for blood sugar":"Коротка відповідь щодо цукру в крові","Show all devices for print out":"Показати всі пристрої для друку","Show/Hide help":"Показати/Сховати довідку","Smart Devices":"Розумні пристрої","Smart Enums":"Smart Enum","Smart Media":"Smart Media","Smart enums":"Розумні перерахування","Smart name":"Розумне ім'я","Smart name for %s":"Розумна назва для %s","Smart names":"Розумні імена","The linking process has been changed for a few months.":"Процес зв’язування змінився протягом кількох місяців.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Пароль збігається з ioBroker.pro і паролем, який був введений тут в налаштуваннях!","To apply this setting, the restart of adapter must be done. Agree?":"Щоб застосувати цей параметр, необхідно перезапустити адаптер. згодні?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Для автоматичного виявлення під об’єктами призначте канал (пристрій, якщо канал недоступний) кімнаті та функції. Недостатньо призначити кімнаті стан або пристрій. Кімнати/функції можна додавати під перерахуванням (позначено білою стрілкою у верхньому правому куті), і їх потрібно активувати в адаптері IoT у розділі Інтелектуальне перерахування. Щоб автоматично розпізнавати ручні стани, стан потрібно видалити.","Toggle expert mode":"Перемкнути експертний режим","Too many devices (%s) configured. Max number is 300":"Налаштовано забагато пристроїв (%s). Максимальна кількість 300!","Turn off":"Вимкнути","Turn on":"Ввімкнути",Type:kvt,Types:Cvt,"Use Nightscout instance":"Використовуйте екземпляр Nightscout","Use following link for IFTTT":"Використовуйте наступне посилання для IFTTT","Use following link for custom service":"Скористайтеся наступним посиланням для індивідуальних послуг","Use text2command instance":"Використовуйте екземпляр text2command",Value:$vt,"Web instance":"Веб-екземпляр","White list for services":"Білий список послуг","Write response to":"Написати відповідь на","Yandex Алиса":"Яндекс Аліса","You can enter several names divided by comma":"Ви можете ввести кілька імен, розділених комою","amazon link":"Якщо ви використовуєте Alexa Skill, напишіть нам відгук <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp ' target='_blank' class='here'>тут</a>.<br>Приклади можна знайти <a href='http://alexa.amazon.de/spa/index.html#skills/dp/ B07L66BFF9/reviews' target='_blank'>тут</a>.","by ON":"від ON",cannot_use_password:Tvt,clear:Evt,default:"за замовчуванням",disabled:Ovt,forum_tip:Dvt,help_link_tip1:Avt,help_link_tip2:Ivt,help_link_tip3:Nvt,help_tip:Mvt,info_allowedServices:Rvt,info_iftttKey:jvt,invalid_password_warning:zvt,ioBType:Pvt,"ioBroker.pro Login":"ioBroker.pro Логін","ioBroker.pro Password":"Пароль ioBroker.pro","omit value":"не має значення","last value":"останнє значення",manualModeHint:Lvt,modified:Fvt,new_certs_tip:Bvt,new_credentials_tip:Wvt,"no type":"немає типу","not activated":"не активовано",tooltip_allowSelfSignedCertificate:Hvt,tooltip_apikey:Uvt,tooltip_cloudUrl:Vvt,tooltip_concatWord:qvt,tooltip_deviceOffLevel:Gvt,tooltip_functionFirst:Jvt,tooltip_instance:Xvt,tooltip_language:Kvt,tooltip_noCommon:Yvt,tooltip_responseOID:Zvt,tooltip_restartOnDisconnect:Qvt,"Device %s will be disabled.":"Пристрій %s буде вимкнено.",Delete:eyt,Brightness:tyt,Power:ryt,"Color temperature":"Колірна температура",Color:nyt,Detection:oyt,Lock:ayt,Mode:syt,Muted:iyt,Percentage:lyt,"Set point":"Задана точка",Temperature:cyt,"Thermostat mode":"Режим термостата",Volume:dyt,socket:uyt,light:pyt,dimmer:hyt,thermostat:fyt,blind:myt,gate:gyt,lock:_yt,hue:vyt,motion:yyt,slider:byt,temperature:wyt,window:Syt,Thermostat:xyt,Light:kyt,AirCondition:Cyt,Blind:$yt,ContactSensor:Tyt,Control:Eyt,Door:Oyt,Gate:Dyt,Hue:Ayt,Motion:Iyt,Slider:Nyt,Socket:Myt,VacuumCleaner:Ryt,VolumeGroup:jyt,Window:zyt,"Color HUE":"Колір HUE","Door sensor":"Датчик дверей",Sensor:Pyt,"Vacuum cleaner":"Пилосос","Volume group":"Група томів","Window sensor":"Датчик вікна",Blinds:Lyt,"Grouped from %s and %s":"Згруповано з %s і %s","Default toggle behaviour (Only alexa v3)":"Поведінка перемикання за замовчуванням (тільки Alexa v3)","Do not toggle":"Не перемикайте",Toggle:Fyt,"This service is reserved for the ioBroker.visu app. Please use another service name.":"Ця послуга зарезервована для програми ioBroker.visu. Використовуйте іншу назву служби."},Wyt="活性",Hyt="地址",Uyt="取消",Vyt="关闭",qyt="命令",Gyt="默认",Jyt="调光器",Xyt="过滤",Kyt="功能",Yyt="实例",Zyt="语言",Qyt="信息",e0t="离",t0t="确定",r0t="上",n0t="选项",o0t="评论",a0t="客房",s0t="保存",i0t="选择",l0t="类型",c0t="类型",d0t="值",u0t="明确",p0t="残",h0t='在写支持之前,请确保您已阅读并理解网页的说明: <a target="_blank" href="https://www.iobroker.net/#de/documentation/cloud/iot.md">https</a> : <a target="_blank" href="https://www.iobroker.net/#zh-cn/documentation/cloud/iot.md">//www.iobroker.net</a>',f0t='如果与Iot的连接仍然存在问题,则可以在<a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">论坛上</a>请求支持',m0t='并且只有在那之后,您才应该写一封电子邮件到<a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',g0t='没有iobroker.pro账号?在<a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a>上购买以获得有效访问权限,或免费获取,但访问受限。',_0t="除以逗号。使用*允许所有服务。",v0t="您可以在“文档”下找到您的密钥<a href='https://ifttt.com/maker_webhooks' target='_blank'> </a>",y0t="名称已由用户修改",b0t="如果您使用自己的云,则可以允许为云使用自签名证书。",w0t="需要此密钥才能与云通信。您可以在https://iobroker.net上获取API-KEY,它看起来像nickname_f1f439a0-001a-11e7-bc64-92361f002671",S0t="通常您不需要更改它。仅在您计划使用自己的云时才需要。",x0t="定义如何连接Room和Function。例如。 'in':客厅里的灯光。",k0t="一些组由混合设备组成:调光器和开关。允许使用ON和OFF命令以及百分比来控制它们",C0t="通常名称看起来像room_function。在这里,您可以将其切换到function_room。",$0t="Web实例,将显示您的云连接。",T0t="您可以定义语言以在美国Alexa Skill和DE Alexa Skill之间快速切换。",E0t="如果启用,则仅为此实例存储设置。所以在另一个实例中,可以设置其他名称。",O0t="对于每个命令,将生成文本响应。您可以在此处定义必须写入此文本的对象ID。例如。 sayit.0.tts.text。",D0t="在与云连接丢失后缺少与Alexa的连接的解决方法。使用此选项,您可以在每次断开连接后重新启动适配器,它将起作用。",A0t="您不能在密码中使用%。我们正在努力解决。",I0t=`密码长度必须至少为8个字符,并且必须包含数字,大小写字母。请在ioBroker.pro配置文件中进行更改
681
- `,N0t="如果您从备份还原,或将实例从一台设备移至另一台设备,或删除了IoT实例并再次添加,则必须使用此按钮加载连接安全证书",M0t="如果使用 ioBroker.pro 登录数据登录 Alexa Skill/Google Action/Alisa 失败,请按以下按钮。",R0t='任何语言的任何疑问,请在论坛上提问:<a href="https://forum.iobroker.net/post/435797" target="_blank">链接</a>',j0t="请选择<a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a>和<a target='_ blank添加状态后' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a>。要添加多个特征,请添加不同的id和特征,但要使用相同的智能名称,类型和房间。逗号分隔为多个智能名称。要分配房间,请使用ioBroker Enums/Aufzählungen。例如,通过属性,您可以设置色温的范围<a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>有关的信息您可以在此处找到属性。</a>空属性为{}",z0t="搜索",P0t="名称",L0t="房间",F0t="ID",B0t="IoB类型",W0t="属性",H0t="自动地",U0t="删除",V0t="调光器",q0t="开关",G0t="颜色",J0t="检测",X0t="锁",K0t="模式",Y0t="静音",Z0t="百分比",Q0t="温度",e1t="体积",t1t="插座",r1t="光",n1t="调光器",o1t="恒温器",a1t="百叶窗",s1t="门",i1t="锁",l1t="色调",c1t="运动",d1t="滑块",u1t="温度",p1t="窗户",h1t="温控器",f1t="光",m1t="空调",g1t="百叶窗",_1t="接触式传感器",v1t="控制",y1t="门",b1t="门",w1t="色调",S1t="运动",x1t="滑块",k1t="插座",C1t="吸尘器",$1t="卷组",T1t="窗户",E1t="传感器",O1t="百叶窗",D1t="切换",A1t={"(Set to 0 if behavior not desired)":"(如果不需要行为,则设为0)","(you can separate names with comma)":"您可以输入多个名称除以逗号",Active:Wyt,"Add device":"添加设备","Add service":"添加服务",Addresses:Hyt,"Alexa devices":"Alexa设备","Alisa devices":"Alisa设备","Allow admin access (only pro)":"允许管理员访问(仅限专业版)","Allow self-signed certificates":"允许自签名证书","Amazon Alexa":"亚马逊Alexa","Are you sure?":"你确定吗?","Attributes has not correct JSON format.":"属性的格式不正确","Authentication must be disabled. You can create second instance extra for cloud.":"必须禁用身份验证。您可以为云创建额外的第二个实例。",Cancel:Uyt,"Cannot add this object":"无法添加此对象,因为不支持。","Cannot read devices!":"无法读取设备!","Certificates will be updated after initiated restart":"启动重启后,证书将更新","Certificates will be updated after start":"证书将在开始后更新","Click now Get new connection certificates to request new temporary password":"单击“获取新连接证书”以请求新的临时密码",Close:Vyt,"Cloud URL":"云URL","Cloud adapter settings":"云适配器设置",Commands:qyt,"Concatenate words with":"连接单词","Connection timeout":"连接超时(ms)","Debug outputs":"调试输出","Decrement color temperature":"降低色温","Decrement percentage":"减少百分比","Decrement target temperature":"降低目标温度",Default:Gyt,"Device %s was not added":"未添加设备%s","Device will be deactivated.":"设备将被停用。","Device will be disabled.":"设备将被禁用。",Dimmer:Jyt,"Duplicate name":"名称重复","Edit smart name":"编辑智能名称",Error:"错误","Extended options":"扩展选项",Filter:Xyt,"For help use this forum":"如需帮助,请访问此<a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>论坛发布</a>",Functions:Kyt,"Get actual temperature":"获得实际温度","Get new connection certificates":"获取新的连接证书","Get new service URL key":"获取新服务URL密钥","Get target temperature":"获得目标温度","Google Home":"Google Home","IFTTT key":"IFTTT关键","Increment color temperature":"增加色温","Increment percentage":"增量百分比","Increment target temperature":"增加目标温度",Instance:Yyt,"Instance does not exists":"实例不存在","Instance is not active.":"实例未激活。","Instance must be enabled":"必须启用实例","Instance must run to deliver the data":"必须运行实例才能传递数据","Invalid object":"无效的对象",Language:Zyt,"Load configuration from file":"从文件加载配置",Message:Qyt,"OFF level for switches":"开关的OFF电平","OFF level for switches in %":"开关关闭电平%",Off:e0t,Ok:t0t,On:r0t,"On/Off":"开关",Options:n0t,"Personal settings (only pro)":"个人设置(仅限专业)","Ping timeout:":"Ping超时(ms)","Place function in names first":"首先将函数放在名称中","Please add action and trait to complete the Google Home state.":"请添加操作和特征以完成Google Home状态。","Please add type and trait to complete the Google Home state.":"请添加类型和特征以完成Google Home状态。","Please select object ID...":"请选择对象ID ...","Please write your email only in lower case letters":"请以小写字母书写您的电子邮件","Read lock state":"读锁定状态","Replace in names":"替换名称","Request email with password one more time":"再次请求带密码的电子邮件","Restart on disconnect":"断开连接重启",Review:o0t,Rooms:a0t,Save:s0t,"Save and close":"保存并关闭","Save configuration to file":"将配置保存到文件","Save settings and the names will be changed":"保存设置,名称将被更改",Select:i0t,"Service names":"服务名称","Services and IFTTT":"服务和IFTTT","Set color":"设置颜色","Set color temperature":"设置色温","Set lock state":"设置锁定状态","Set percentage":"设定百分比","Set target temperature":"设定目标温度","Smart Devices":"智能设备","Smart Enums":"智能枚举","Smart Media":"智能媒体","Smart enums":"智能枚举","Smart name":"聪明的名字","Smart name for %s":"%s的智能名称","To apply this setting, the restart of adapter must be done. Agree?":"要应用此设置,必须重新启动适配器。同意?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"对于自动检测,在对象下方为房间和功能分配一个通道(如果没有可用的通道,则为设备)。仅将房间分配给状态或设备是不够的。可以在枚举下添加房间/功能(如右上角的白色箭头所示),并且必须在IoT适配器中的“智能枚举”下将其激活。为了自动识别手动状态,必须删除状态。","Turn off":"关掉","Turn on":"打开",Type:l0t,Types:c0t,"Use Nightscout instance":"使用Nightscout实例","Use following link for IFTTT":"使用以下链接进行IFTTT","Use following link for custom service":"使用以下链接进行自定义服务","Use text2command instance":"使用text2command实例",Value:d0t,"White list for services":"服务白名单","Write response to":"写回复","Yandex Алиса":"YandexАлиса","You can enter several names divided by comma":"您可以输入多个名称除以逗号","amazon link":"如果您使用Alexa技能,请为我们写一篇评论<a href ='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix = war_dp 'target ='_ blank'class ='here'>此处</a>。<br>示例可以找到<a href ='http://alexa.amazon.de/spa/index.html#skills/dp/ B07L66BFF9 /评论'target ='_ blank'>此处</a>。","by ON":"通过ON",clear:u0t,default:"默认",disabled:p0t,help_link_tip1:h0t,help_link_tip2:f0t,help_link_tip3:m0t,help_tip:g0t,info_allowedServices:_0t,info_iftttKey:v0t,"ioBroker.pro Login":"ioBroker.pro登录","ioBroker.pro Password":"ioBroker.pro密码","omit value":"无价值","last value":"最后的价值",modified:y0t,"no type":"没有类型",tooltip_allowSelfSignedCertificate:b0t,tooltip_apikey:w0t,tooltip_cloudUrl:S0t,tooltip_concatWord:x0t,tooltip_deviceOffLevel:k0t,tooltip_functionFirst:C0t,tooltip_instance:$0t,tooltip_language:T0t,tooltip_noCommon:E0t,tooltip_responseOID:O0t,tooltip_restartOnDisconnect:D0t,"Short answer for blood sugar":"血糖的简短答案",cannot_use_password:A0t,invalid_password_warning:I0t,new_certs_tip:N0t,new_credentials_tip:M0t,"Create IoT credentials anew":"重新创建IoT凭据",forum_tip:R0t,"Save settings before pressing this button":"按此按钮之前保存设置","Auto Mode":"自动模式","Manual Mode":"手动模式",manualModeHint:j0t,"not activated":"未激活","Google devices":"Google设备","Show/Hide help":"显示/隐藏帮助","Show all devices for print out":"显示所有要打印的设备",Search:z0t,"List of devices to print out, e.g. to give all device names to your partner.":"要打印的设备列表,例如将所有设备名称提供给您的合作伙伴。",Name:P0t,Function:"功能",Room:L0t,"Copy to clipboard":"复制到剪贴板","Toggle expert mode":"切换专家模式",ID:F0t,"Smart names":"聪明的名字",ioBType:B0t,"Function/Trait":"功能/特质",Attributes:W0t,Auto:H0t,"Conversation to GH":"转换为GH","Conversation to ioB":"转换为ioB","Information: The skill linking process was changed!":"信息:技能链接过程已更改!","The linking process has been changed for a few months.":"链接过程已更改了几个月。","Now there is no temporary password that will be sent by email.":"现在没有将通过电子邮件发送的临时密码。","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"密码与ioBroker.pro以及在设置中输入的密码相同!","Not understood":"不明白","Roger that":"收到","Read blood sugar from":"从读取血糖","Get actual humidity":"获取实际湿度","Get motion":"动起来","Get contact":"获取联系状态","Too many devices (%s) configured. Max number is 300":"配置了太多设备 (%s)。最大数量是 300!","Allow remote access":"允许远程访问","Admin instance":"管理实例","Web instance":"网页实例","Device %s will be disabled.":"设备 %s 将被禁用。",Delete:U0t,Brightness:V0t,Power:q0t,"Color temperature":"色温",Color:G0t,Detection:J0t,Lock:X0t,Mode:K0t,Muted:Y0t,Percentage:Z0t,"Set point":"设定点",Temperature:Q0t,"Thermostat mode":"恒温模式",Volume:e1t,socket:t1t,light:r1t,dimmer:n1t,thermostat:o1t,blind:a1t,gate:s1t,lock:i1t,hue:l1t,motion:c1t,slider:d1t,temperature:u1t,window:p1t,Thermostat:h1t,Light:f1t,AirCondition:m1t,Blind:g1t,ContactSensor:_1t,Control:v1t,Door:y1t,Gate:b1t,Hue:w1t,Motion:S1t,Slider:x1t,Socket:k1t,VacuumCleaner:C1t,VolumeGroup:$1t,Window:T1t,"Color HUE":"颜色色调","Door sensor":"门磁",Sensor:E1t,"Vacuum cleaner":"吸尘器","Volume group":"卷组","Window sensor":"窗口传感器",Blinds:O1t,"Grouped from %s and %s":"从 %s 和 %s 分组","Default toggle behaviour (Only alexa v3)":"默认切换行为(仅限 alexa v3)","Do not toggle":"不要切换",Toggle:D1t,"This service is reserved for the ioBroker.visu app. Please use another service name.":"此服务为 ioBroker.visu 应用程序保留。请使用其他服务名称。"},Ao={tabContent:{padding:10,height:"calc(100% - 64px - 48px - 20px)",overflow:"auto"},tabContentIFrame:{padding:10,height:"calc(100% - 64px - 48px - 20px - 38px)",overflow:"auto"},selected:t=>({color:t.palette.mode==="dark"?void 0:"#FFF !important"}),indicator:t=>({backgroundColor:t.palette.mode==="dark"?t.palette.secondary.main:"#FFF"})};class I1t extends vs{constructor(e){const r={...e};r.encryptedFields=["pass"],r.Connection=gU,r.translations={en:xnt,de:hat,ru:nit,pt:Glt,nl:zdt,fr:Tpt,it:_ft,es:igt,pl:Y_t,uk:Byt,"zh-cn":A1t},r.sentryDSN=window.sentryDSN,super(e,r),Object.assign(this.state,{selectedTab:window.localStorage.getItem(`${this.adapterName}.${this.instance}.selectedTab`)||"options"})}onConnectionReady(){this.socket.getState(`${this.adapterName}.${this.instance}.info.ackTempPassword`).then(e=>{(!e||!e.val)&&this.setState({showAckTempPasswordDialog:!0})})}renderAckTempPasswordDialog(){return this.state.showAckTempPasswordDialog?y.jsxs(qt,{open:!0,onClose:()=>this.setState({showAckTempPasswordDialog:!1},()=>setTimeout(()=>this.setState({showAckTempPasswordDialog:!0}),1e3)),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsx(Gt,{id:"alert-dialog-title",children:A.t("Information: The skill linking process was changed!")}),y.jsx(Qt,{children:y.jsxs(Ma,{id:"alert-dialog-description",children:[A.t("The linking process has been changed for a few months."),A.t("Now there is no temporary password that will be sent by email."),y.jsx("br",{}),y.jsx("br",{}),y.jsx("b",{children:A.t("The password is equal with ioBroker.pro and with password that was entered here in the settings!")})]})}),y.jsxs(Zt,{children:[y.jsx(Ue,{color:"grey",variant:"contained",onClick:()=>this.setState({showAckTempPasswordDialog:!1},()=>setTimeout(()=>this.setState({showAckTempPasswordDialog:!0}),1e3)),autoFocus:!0,children:A.t("Not understood")}),y.jsx(Ue,{variant:"contained",className:"skill-linking-ok",onClick:()=>this.socket.setState(`${this.adapterName}.${this.instance}.info.ackTempPassword`,{val:!0,ack:!0}).then(()=>this.setState({showAckTempPasswordDialog:!1})),color:"primary",autoFocus:!0,children:A.t("Roger that")})]})]}):null}render(){return this.state.loaded?y.jsx(Zk,{injectFirst:!0,children:y.jsx(kC,{theme:this.state.theme,children:y.jsxs("div",{className:"App",style:{background:this.state.theme.palette.background.default,color:this.state.theme.palette.text.primary},children:[y.jsx(U8,{position:"static",children:y.jsxs(mO,{value:this.state.selectedTab||"options",onChange:(e,r)=>{this.setState({selectedTab:r}),window.localStorage.setItem(`${this.adapterName}.${this.instance}.selectedTab`,r)},variant:"scrollable",scrollButtons:"auto",sx:{"& .MuiTabs-indicator":Ao.indicator},children:[y.jsx(Dn,{value:"options",sx:{"&.Mui-selected":Ao.selected},label:A.t("Options"),"data-name":"options"}),y.jsx(Dn,{value:"enums",className:"enums-tab",sx:{"&.Mui-selected":Ao.selected},label:A.t("Smart enums"),"data-name":"enums"}),this.state.native.amazonAlexaV3&&y.jsx(Dn,{value:"alexa3",sx:{"&.Mui-selected":Ao.selected},label:`${A.t("Alexa devices")} v3`,"data-name":"alexa3"}),this.state.native.amazonAlexa&&y.jsx(Dn,{value:"alexa",sx:{"&.Mui-selected":Ao.selected},label:A.t("Alexa devices"),"data-name":"alexa"}),this.state.native.googleHome&&y.jsx(Dn,{value:"google",sx:{"&.Mui-selected":Ao.selected},label:A.t("Google devices"),"data-name":"google"}),this.state.native.yandexAlisa&&y.jsx(Dn,{value:"alisa",sx:{"&.Mui-selected":Ao.selected},label:A.t("Alisa devices"),"data-name":"alisa"}),y.jsx(Dn,{value:"extended",sx:{"&.Mui-selected":Ao.selected},label:A.t("Extended options"),"data-name":"extended"}),y.jsx(Dn,{value:"services",sx:{"&.Mui-selected":Ao.selected},label:A.t("Services and IFTTT"),"data-name":"services"})]})}),y.jsxs("div",{style:this.isIFrame?Ao.tabContentIFrame:Ao.tabContent,children:[(this.state.selectedTab==="options"||!this.state.selectedTab)&&y.jsx(ptt,{common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),onLoad:e=>this.onLoadConfig(e),instance:this.instance,adapterName:this.adapterName,changed:this.state.changed,onChange:(e,r,n)=>this.updateNativeValue(e,r,n)},"options"),this.state.selectedTab==="enums"&&y.jsx(gtt,{socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),instance:this.instance,adapterName:this.adapterName},"enums"),this.state.selectedTab==="alexa"&&y.jsx(Ss,{themeType:this.state.themeType,theme:this.state.theme,common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"alexa"),this.state.selectedTab==="alexa3"&&y.jsx(Na,{themeType:this.state.themeType,theme:this.state.theme,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"alexa3"),this.state.selectedTab==="google"&&y.jsx(Ntt,{themeType:this.state.themeType,theme:this.state.theme,common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"google"),this.state.selectedTab==="alisa"&&y.jsx(Um,{themeType:this.state.themeType,theme:this.state.theme,common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"alisa"),this.state.selectedTab==="extended"&&y.jsx(htt,{theme:this.state.theme,socket:this.socket,native:this.state.native,onChange:(e,r)=>this.updateNativeValue(e,r)},"extended"),this.state.selectedTab==="services"&&y.jsx(ftt,{theme:this.state.theme,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),instance:this.instance,adapterName:this.adapterName,onChange:(e,r)=>this.updateNativeValue(e,r)},"services")]}),this.renderError(),this.renderSaveCloseButtons(),this.renderAckTempPasswordDialog()]})})}):y.jsx(Zk,{injectFirst:!0,children:y.jsx(kC,{theme:this.state.theme,children:y.jsx(p9,{themeType:this.state.themeType})})})}}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 N1t(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(t=>t.unregister())}window.adapterName="iot";window.sentryDSN="https://5ad729dbed504d15aa8bde423cae9a8e@sentry.iobroker.net/57";console.log(`iobroker.${window.adapterName}@${_I.version}`);const W6=window.document.getElementById("root");W6&&mI.createRoot(W6).render(y.jsx(I1t,{}));N1t()});export default M1t();
670
+ `))},color:"primary",startIcon:y.jsx(Sm,{}),children:A.t("Copy to clipboard")}),y.jsx(Ue,{color:"grey",startIcon:y.jsx(Vt,{}),variant:"contained",onClick:()=>this.setState({showListOfDevices:!1}),autoFocus:!0,children:A.t("Close")})]})]}):null}renderInstructions(){const e=window.innerHeight>F6&&window.innerWidth>B6;if(this.state.helpHidden||this.props.smallDisplay||!e)return null;const r=A.t("manualModeHint");return y.jsxs("div",{style:{width:"100%"},ref:this.helpRef,children:[y.jsxs("div",{style:{marginTop:"4rem",display:"flex"},children:[y.jsxs("div",{style:{flex:"50%"},children:[y.jsx("div",{style:{fontWeight:"bold"},children:A.t("Auto Mode")}),y.jsx("div",{style:{marginTop:"0.8rem",marginRight:"0.8rem"},children:A.t("To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung")})]}),y.jsxs("div",{style:{flex:"50%"},children:[y.jsx("div",{style:{fontWeight:"bold"},children:A.t("Manual Mode")}),y.jsx("span",{children:ee.renderTextWithA(r)})]})]}),y.jsx("br",{}),y.jsx("div",{style:{flex:"100%"},children:y.jsx("div",{style:{fontWeight:"bold"},children:ee.renderTextWithA(A.t("For help use this forum"))})})]})}renderToolbar(){const e=window.innerHeight>F6&&window.innerWidth>B6;return y.jsxs(Mw,{variant:"dense",children:[y.jsx(Yt,{size:"small",color:"secondary","aria-label":"Add",style:rn.button,onClick:()=>this.setState({showSelectId:!0}),children:y.jsx($i,{})}),y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},size:"small",color:"primary","aria-label":"Refresh",onClick:()=>this.browse(!0),disabled:this.state.browse,children:this.state.browse?y.jsx(Gr,{size:20}):y.jsx(Ti,{})}),e&&!this.state.hideHelp?y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},size:"small",color:this.state.helpHidden?"default":"primary","aria-label":"Help",title:A.t("Show/Hide help"),onClick:()=>{window.localStorage.setItem("App.helpHidden",this.state.helpHidden?"false":"true"),this.setState({helpHidden:!this.state.helpHidden})},disabled:this.state.browse,children:y.jsx(xQe,{})}):null,y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},size:"small",color:this.state.expertMode?"primary":"default","aria-label":"Help",title:A.t("Toggle expert mode"),onClick:()=>{window.localStorage.setItem("App.expertMode",this.state.expertMode?"false":"true"),this.setState({expertMode:!this.state.expertMode})},disabled:this.state.browse,children:y.jsx(Ff,{})}),y.jsx(Yt,{style:{...rn.button,marginLeft:"1rem"},title:A.t("Show all devices for print out"),size:"small","aria-label":"List of devices",onClick:()=>this.setState({showListOfDevices:!0}),disabled:this.state.browse,children:y.jsx(Fm,{})}),this.props.smallDisplay?null:y.jsx(Et,{variant:"standard",style:rn.searchText,label:A.t("Filter"),value:this.state.searchText,onChange:r=>this.setState({searchText:r.target.value}),slotProps:{input:{endAdornment:this.state.searchText?y.jsx(Le,{onClick:()=>this.setState({searchText:""}),children:y.jsx(Bm,{})}):void 0}}})]})}componentDidUpdate(){if(this.helpRef.current){const e=this.helpRef.current.clientHeight;this.state.helpHeight!==e&&(!this.state.helpHidden&&e+64+48+200>window.innerHeight?setTimeout(()=>this.setState({helpHeight:e,helpHidden:!0,hideHelp:!0}),50):setTimeout(()=>this.setState({helpHeight:e}),50))}else this.state.helpHeight&&setTimeout(()=>this.setState({helpHeight:0}),50)}render(){if(this.state.loading)return y.jsx(Gr,{},"alexaProgress");const e=this.state.searchText.toLowerCase(),r=this.state.searchText?this.state.devices.filter(n=>n.name?.name?.toLowerCase().includes(e)||n.name?.defaultNames?.find(o=>o.toLowerCase().includes(e))||n.name?.nicknames?.find(o=>o.toLowerCase().includes(e))):this.state.devices;return y.jsxs("form",{style:rn.tab,children:[this.renderToolbar(),this.renderInstructions(),y.jsx("div",{style:{...rn.tableDiv,height:`calc(100% - ${48+(this.state.helpHeight?this.state.helpHeight+64:0)}px)`},children:y.jsx(Att,{columns:this.state.expertMode?this.columns:this.columns.filter(n=>!n.expertMode),data:r,onUpdate:(n,o)=>{n.name.nicknames&&Array.isArray(n.name.nicknames)&&(n.name.nicknames=n.name.nicknames.join(",")),this.editedSmartName=n.name.nicknames,this.setState({editId:n.id},()=>{!n.type||!n.displayTraits?this.setState({browse:!0,message:A.t("Please add action and trait to complete the Google Home state.")}):this.setState({browse:!0}),this.onGHParamsChange(n,o);const a=JSON.parse(JSON.stringify(this.state.devices));a[a.indexOf(o)]=n,this.setState({...this.state,devices:a})})},onDelete:n=>(n.smartEnum==="X"?this.setState({deleteId:n.id}):this.props.socket.getObject(n.id).then(o=>(o&&o.common&&o.common.smartName&&(delete o.common.smartName.ghTraits,delete o.common.smartName.ghType,delete o.common.smartName.ghAttributes),this.props.socket.setObject(n.id,o))),new Promise(o=>{setTimeout(()=>{this.state.deleteId?this.onDelete():this.informInstance(n.id),o();const a=JSON.parse(JSON.stringify(this.state.devices));a.splice(a.indexOf(n),1),this.setState({...this.state,devices:a})},600)}))})}),this.renderMessage(),this.getSelectIdDialog(),this.renderListOfDevices()]},"gh")}}uc.propTypes={native:ae.object.isRequired,instance:ae.number.isRequired,adapterName:ae.string.isRequired,onError:ae.func,socket:ae.object.isRequired,theme:ae.object};const Itt=()=>t=>e=>y.jsx(t,{smallDisplay:sO("(max-width:600px)"),...e}),Ntt=Itt()(uc),Mtt="Active",Rtt="Addresses",jtt="Air condition",ztt="Attributes",Ptt="Automatically",Ltt="Window blinds",Ftt="Window blinds",Btt="Dimmer",Wtt="Cancel",Htt="Close",Utt="Color",Vtt="Commands",qtt="Contact sensor",Gtt="Control",Jtt="Default",Xtt="Delete",Ktt="Detection",Ytt="Dimmer",Ztt="Door",Qtt="Filter",ert="Functions",trt="Gate",rrt="Hue",nrt="ID",ort="Instance",art="Language",srt="Light",irt="Lock",lrt="Message",crt="Mode",drt="Motion",urt="Muted",prt="Name",hrt="off",frt="Ok",mrt="on",grt="Options",_rt="Percentage",vrt="On/Off",yrt="Review",brt="Room",wrt="Rooms",Srt="Save",xrt="Search",krt="Select",Crt="Sensor",$rt="Slider",Trt="Socket",Ert="Temperature",Ort="Thermostat",Drt="Toggle",Art="Type",Irt="Types",Nrt="Vacuum cleaner",Mrt="Value",Rrt="Volume",jrt="Volume group",zrt="Window",Prt="window blinds",Lrt="Blinds",Frt="You cannot use % in password. We are working on the fix.",Brt="clear",Wrt="Color temperature",Hrt="dimmer",Urt="disabled",Vrt='Any questions in any language please ask here in forum: <a href="https://forum.iobroker.net/post/435797" target="_blank">link</a>',qrt="gate",Grt='Before writing to support be sure you have read and understand the instructions of the web page: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',Jrt='If you still have issue with the connection to Iot, you can request support im <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a>',Xrt='and only after that you should write an email to <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Krt='No iobroker.pro account? Buy it on <a href="https://iobroker.pro/accessRemote" target="_blank">https://iobroker.pro</a> for validated access or get for free, but limited access.',Yrt="hue",Zrt="divided by comma. Use * to allow all services.",Qrt="You can find your key <a href='https://ifttt.com/maker_webhooks' target='_blank'>here</a> under 'Documentation'",ent=`Password must be at least 8 characters long and must have numbers, upper and lower case letters. Please change it in the ioBroker.pro profile
671
+ `,tnt="IoB Type",rnt="Level slider",nnt="light",ont="Lock",ant="Please select a <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> and a <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> after adding a state. To add multiple traits add a different id and trait but same smart name, type and room. Comma separated for the multiple smart names. To assign a room please use the ioBroker Enums/Aufzählungen. With attributes you can for example set a range for the color temperature <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos about Attributes you can find here.</a> Empty attribute is {}",snt="Name was modified by user",int="motion",lnt="If you made a restore from backup, or moved your instance from one device to other or deleted the IoT instance and added it again you must load the connection security certificates with this button",cnt="If the login to the Alexa Skill/Google Action/Alisa with the ioBroker.pro login data fails, then please press the below button.",dnt="slider",unt="socket",pnt="temperature",hnt="thermostat",fnt="If you use your own cloud, you can allow the use of self-signed certificates for the cloud.",mnt="This key is required to communicate with a cloud. You can get the API-KEY on https://iobroker.net and it looks like nickname_f1f439a0-001a-11e7-bc64-92361f002671",gnt="Normally you do not need to change it. Only required if you plan to use your own cloud.",_nt="Define how to concatenate Room and Function. E.g. with 'in': Light in living room.",vnt="Some groups consist of mixed devices: dimmers and switches. It is allowed to control them with ON and OFF commands and with percents",ynt="Normally the names looks like room_function. Here you can switch it to function_room.",bnt="Web instance, which will be shown for your connections from cloud.",wnt="You can define the languages to switch fast between US Alexa Skill and DE Alexa Skill.",Snt="If enabled, the settings will be stored only for this instance. So in the another instance the other names could be set.",xnt="For every command the text response will be generated. You can define here the Object ID , where this text must be written to. E.g. sayit.0.tts.text.",knt="Workaround for missing connection to Alexa after the connection to cloud was lost. With this option you can restart adapter after each disconnection and it will work.",Cnt="window",$nt={"(Set to 0 if behavior not desired)":"(Set to 0 if behavior not desired)","(you can separate names with comma)":"You can enter several names divided by comma",Active:Mtt,"Add device":"Add device","Add new device from state":"Add new device from state","Add service":"Add service",Addresses:Rtt,"Admin instance":"Admin instance",AirCondition:jtt,"Alexa devices":"Alexa devices","Alisa devices":"Alisa devices","Allow admin access (only pro)":"Allow admin access (only pro)","Allow remote access":"Allow remote access","Allow self-signed certificates":"Allow self-signed certificates","Amazon Alexa":"Amazon Alexa","Are you sure?":"Are you sure?",Attributes:ztt,"Attributes has not correct JSON format.":"Attributes is not in the correct JSON format","Authentication must be disabled. You can create second instance extra for cloud.":"Authentication must be disabled. You can create a second instance extra for the cloud.",Auto:Ptt,"Auto Mode":"Auto Mode",Blind:Ltt,Blinds:Ftt,Brightness:Btt,Cancel:Wtt,"Cannot add this object":"Cannot add this object, because not supported.","Cannot read devices!":"Cannot read devices!","Certificates will be updated after initiated restart":"Certificates will be updated after initiated restart","Certificates will be updated after start":"Certificates will be updated after start","Click now Get new connection certificates to request new temporary password":'Click now "Get new connection certificates" to request new temporary password',Close:Htt,"Cloud URL":"Cloud URL","Cloud adapter settings":"Cloud adapter settings","Collapse all devices":"Collapse all devices",Color:Utt,"Color HUE":"Color HUE","Color temperature":"Color temperature",Commands:Vtt,"Concatenate words with":"Concatenate words with","Connection timeout":"Connection timeout(ms)",ContactSensor:qtt,Control:Gtt,"Conversation to GH":"Convert to GH","Conversation to ioB":"Convert to ioB","Copy to clipboard":"Copy to clipboard","Create IoT credentials anew":"Create IoT credentials anew","Debug outputs":"Debug outputs","Decrement color temperature":"Decrement color temperature","Decrement percentage":"Decrement percentage","Decrement target temperature":"Decrement target temperature",Default:Jtt,"Default toggle behaviour (Only alexa v3)":"Default toggle behaviour (Only alexa v3)",Delete:Xtt,Detection:Ktt,"Device %s was not added":"Device %s was not added","Device %s will be disabled.":"Device %s will be disabled.","Device will be deactivated.":"Device will be deactivated.","Device will be disabled.":"Device %s will be disabled.",Dimmer:Ytt,"Do not toggle":"Do not toggle",Door:Ztt,"Door sensor":"Door sensor","Duplicate name":"Duplicate name","Edit smart name":"Edit smart name",Error:"Error","Expand all devices":"Expand all devices","Extended options":"Extended options",Filter:Qtt,"For help use this forum":"For help, visit this <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Function:"Function","Function/Trait":"Function/Trait",Functions:ert,Gate:trt,"Get actual humidity":"Get actual humidity","Get actual temperature":"Get actual temperature","Get contact":"Get contact status","Get motion":"Get motion","Get new connection certificates":"Get new connection certificates","Get new service URL key":"Get new service URL key","Get target temperature":"Get target temperature","Google Home":"Google Home","Google devices":"Google devices","Grouped from %s and %s":"Grouped from %s and %s",Hue:rrt,ID:nrt,"IFTTT key":"IFTTT key","Increment color temperature":"Increment color temperature","Increment percentage":"Increment percentage","Increment target temperature":"Increment target temperature","Information: The skill linking process was changed!":"Information: The skill linking process was changed!",Instance:ort,"Instance does not exists":"Instance does not exists","Instance is not active.":"Instance is not active.","Instance must be enabled":"Instance must be enabled","Instance must run to deliver the data":"The instance must run to deliver the data","Invalid object":"Invalid object",Language:art,Light:srt,"List of devices to print out, e.g. to give all device names to your partner.":"List of devices to print out, e.g. to give all device names to your partner.","Load configuration from file":"Load configuration from file",Lock:irt,"Manual Mode":"Manual Mode",Message:lrt,Mode:crt,Motion:drt,Muted:urt,Name:prt,"Not understood":"Not understood","Now there is no temporary password that will be sent by email.":"Now there is no temporary password that will be sent by email.","OFF level for switches":"OFF level for switches","OFF level for switches in %":"OFF level for switches in %",Off:hrt,Ok:frt,On:mrt,"On/Off":"On/Off",Options:grt,Percentage:_rt,"Personal settings (only pro)":"Personal settings (only pro)","Ping timeout:":"Ping timeout(ms)","Place function in names first":"Place function in names first","Please add action and trait to complete the Google Home state.":"Please add action and trait to complete the Google Home state.","Please add type and trait to complete the Google Home state.":"Please add type and trait to complete the Google Home state.","Please select object ID...":"Please select object ID...","Please write your email only in lower case letters":"Please write your email only in lower case letters",Power:vrt,"Read blood sugar from":"Read blood sugar from","Read lock state":"Read lock state","Refresh list of devices":"Refresh list of devices","Replace in names":"Replace in names","Request email with password one more time":"Request email with password one more time","Restart on disconnect":"Restart on disconnect",Review:yrt,"Roger that":"Roger that",Room:brt,Rooms:wrt,Save:Srt,"Save and close":"Save and close","Save configuration to file":"Save configuration to file","Save settings and the names will be changed":"Save settings and the names will be changed","Save settings before pressing this button":"Save settings before pressing this button",Search:xrt,Select:krt,Sensor:Crt,"Service names":"Service names","Services and IFTTT":"Services and IFTTT","Set color":"Set color","Set color temperature":"Set color temperature","Set lock state":"Set lock state","Set percentage":"Set percentage","Set point":"Set point","Set target temperature":"Set target temperature","Short answer for blood sugar":"Short answer for blood sugar","Show all devices for print out":"Show all devices for print out","Show/Hide help":"Show/Hide help",Slider:$rt,"Smart Devices":"Smart Devices","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Smart enums","Smart name":"Smart name","Smart name for %s":"Smart name for %s","Smart names":"Smart names",Socket:Trt,Temperature:Ert,"The linking process has been changed for a few months.":"The linking process has been changed for a few months.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"The password is equal with ioBroker.pro and with password that was entered here in the settings!",Thermostat:Ort,"Thermostat mode":"Thermostat mode","This service is reserved for the ioBroker.visu app. Please use another service name.":"This service is reserved for the ioBroker.visu app. Please use another service name.","To apply this setting, the restart of adapter must be done. Agree?":"To apply this setting, the adapter must be restarted. Agree?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"For automatic detection, under objects assign a channel (device if no channel is available) to a room and function. It is not sufficient to assign the room to a state or device. Rooms/functions can be added under enumeration (indicated by the white arrow at the top right) and must be activated in the IoT adapter under Intelligent enumeration. In order to automatically recognize manual states, the state must be deleted.",Toggle:Drt,"Toggle expert mode":"Toggle expert mode","Too many devices (%s) configured. Max number is 300":"Too many devices (%s) configured. Max number is 300!","Turn off":"Turn off","Turn on":"Turn on",Type:Art,Types:Irt,"Use Nightscout instance":"Use Nightscout instance","Use following link for IFTTT":"Use following link for IFTTT","Use following link for custom service":"Use following link for custom service","Use text2command instance":"Use text2command instance","Vacuum cleaner":"Vacuum cleaner",VacuumCleaner:Nrt,Value:Mrt,Volume:Rrt,"Volume group":"Volume group",VolumeGroup:jrt,"Web instance":"Web instance","White list for services":"White list for services",Window:zrt,"Window sensor":"Window sensor","Write response to":"Write response to","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"You can enter several names divided by comma","amazon link":"If you use the Alexa Skill, please write a review for us <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>here</a>.<br>Examples can be found <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>here</a>.",blind:Prt,blinds:Lrt,"by ON":"by ON",cannot_use_password:Frt,clear:Brt,ct:Wrt,default:"default",dimmer:Hrt,disabled:Urt,forum_tip:Vrt,gate:qrt,help_link_tip1:Grt,help_link_tip2:Jrt,help_link_tip3:Xrt,help_tip:Krt,hue:Yrt,info_allowedServices:Zrt,info_iftttKey:Qrt,invalid_password_warning:ent,ioBType:tnt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Password","last value":"no value",levelSlider:rnt,light:nnt,lock:ont,manualModeHint:ant,modified:snt,motion:int,new_certs_tip:lnt,new_credentials_tip:cnt,"no type":"no type","not activated":"not activated","omit value":"omit value",slider:dnt,socket:unt,temperature:pnt,thermostat:hnt,tooltip_allowSelfSignedCertificate:fnt,tooltip_apikey:mnt,tooltip_cloudUrl:gnt,tooltip_concatWord:_nt,tooltip_deviceOffLevel:vnt,tooltip_functionFirst:ynt,tooltip_instance:bnt,tooltip_language:wnt,tooltip_noCommon:Snt,tooltip_responseOID:xnt,tooltip_restartOnDisconnect:knt,window:Cnt},Tnt="Aktiv",Ent="Adressen",Ont="Klimaanlage",Dnt="Attribute",Ant="Automatisch",Int="Fensterrollos",Nnt="Fensterrollos",Mnt="Dimmer",Rnt="Abbrechen",jnt="Schließen",znt="Farbe",Pnt="Befehle",Lnt="Kontaktsensor",Fnt="Kontrolle",Bnt="Standard",Wnt="Löschen",Hnt="Erkennung",Unt="Dimmer",Vnt="Tür",qnt="Filter",Gnt="Funktionen",Jnt="Tor",Xnt="Farbton",Knt="ID",Ynt="Instanz",Znt="Sprache",Qnt="Licht",eot="Sperren",tot="Nachricht",rot="Modus",not="Bewegung",oot="Stummgeschaltet",aot="Name",sot="aus",iot="Ok",lot="an",cot="Optionen",dot="Prozentsatz",uot="An/Aus",pot="Rezension",hot="Raum",fot="Räume",mot="Speichern",got="Suche",_ot="Auswählen",vot="Sensor",yot="Schieberegler",bot="Steckdose",wot="Temperatur",Sot="Thermostat",xot="Umschalten",kot="Typ",Cot="Typen",$ot="Staubsauger",Tot="Wert",Eot="Volumen",Oot="Volumengruppe",Dot="Fenster",Aot="Fensterrollos",Iot="Jalousie",Not="Sie können nicht % im Passwort verwenden. Wir arbeiten an der Lösung.",Mot="löschen",Rot="Farbtemperatur",jot="Dimmer",zot="deaktiviert",Pot='Bei Fragen in einer beliebigen Sprache wenden Sie sich bitte hier im Forum an: <a href="https://forum.iobroker.net/post/435797" target="_blank"> Link </a>',Lot="Tor",Fot='Stellen Sie vor dem Schreiben an den Support sicher, dass Sie die Anweisungen auf der Webseite gelesen und verstanden haben: <a target="_blank" href="https://www.iobroker.net/#de/documentation/cloud/iot.md">https://www.iobroker.net</a>',Bot='Wenn Sie immer noch Probleme mit der Verbindung zu Iot haben, können Sie im <a target="_blank" href="https://forum.iobroker.net/category/11/cloud-dienste">Forum</a> Support anfordern',Wot='und erst danach sollten Sie eine E-Mail an <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a> schreiben',Hot='Kein iobroker.pro-Konto? Kaufen Sie es auf <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> für den validierten Zugriff oder erhalten Sie kostenlosen, aber eingeschränkten Zugriff.',Uot="Farbton",Vot="durch Komma getrennt. Benutze * um alle Services zu erlauben.",qot="Der Schlüssel kann <a href='https://ifttt.com/maker_webhooks' target='_blank'>hier</a> unter 'Documentation' gefunden werden",Got=`Das Passwort muss mindestens 8 Zeichen lang sein und Zahlen sowie Groß- und Kleinbuchstaben enthalten. Bitte ändern Sie es im ioBroker.pro-Profil
672
+ `,Jot="IoB-Typ",Xot="Pegelregler",Kot="Licht",Yot="Schloss",Zot="Bitte wählen Sie einen <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> und einen <a target='_blank' rel='noopener noreferrer' href='https: //developers.google.com/actions/smarthome/traits/'>TRAIT</a> nach dem Hinzufügen eines Status. Um mehrere Merkmale hinzuzufügen, fügen Sie eine andere ID und ein anderes Merkmal hinzu, jedoch denselben intelligenten Namen, Typ und Raum. Komma getrennt für die mehreren intelligenten Namen. Um einen Raum zuzuweisen, verwenden Sie bitte die ioBroker Enums/Aufzählungen. Mit Attributen können Sie beispielsweise einen Bereich für die Farbtemperatur festlegen. <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos zu Attribute finden Sie hier.</a> Das leere Attribut ist {}",Qot="Der Name wurde vom Anwender geändert",eat="Bewegung",tat="Wenn Sie eine Wiederherstellung aus einer Sicherung durchgeführt oder Ihre Instanz von einem Gerät auf ein anderes verschoben oder die IoT-Instanz gelöscht und erneut hinzugefügt haben, müssen Sie die Verbindungssicherheitszertifikate mit diesem Knopf herunterladen.",rat="Sollte die Anmeldung am Alexa Skill/Google Action/Alisa mit den ioBroker.pro-Anmeldedaten fehlschlagen, dann drücken Sie bitte den untenstehenden Button.",nat="Schieberegler",oat="Steckdose",aat="Temperatur",sat="Thermostat",iat="Wenn man eine eigene Cloud verwendet, man kann die Benutzung von selbst-signierten Zertifikaten erlauben.",lat="Dieser Schlüssel wird benötigt um mit der Cloud zu kommunizieren. Man kann den Schlüssel unter https://iobroker.net bekommen. Es sieht wie folgt aus nickname_f1f439a0-001a-11e7-bc64-92361f002671",cat="Normalerweise muss diese Option nicht geändert werden. Dies ist nur notwendig, wenn man eine eigene Cloud verwendet.",dat="Damit wird definiert wie Funktion und Raum miteinander verbunden werden; z.B. mit 'im': Licht im Schlafzimmer.",uat="Gruppen können aus gemischten Geräten (Schaltern und Dimmern) bestehen. Sie können mit ON/OFF sowie Prozentwerten angesteuert werden, hier kann definiert werden welcher Prozentsatz OFF entspricht.",pat="Die automatischen Namen werden im Schema Raum-Funktion generiert. Hiermit kann man es auf Funktion-Raum geändert werden.",hat="Web Instanz, die für ihre Anfragen aus dem Cloud angezeigt wird.",fat="Man kann hier die Sprache definieren um zwischen US Alexa Skill und DE Alexa Skill umschalten zu können.",mat="Wenn diese Option aktiviert wird, so werden die Einstellungen nur für diese Instanz gespeichert. So ist es möglich in einer anderen Instanz andere Namen zu setzen.",gat="Für jedes Kommando wird eine Textantwort generiert. Hier kannst du die Objekt ID angeben, an welche die Textantwort gesendet werden soll, z.B. sayit.0.tts.text.",_at="Workaround für fehlende Kommunikation mit Alexa nach Verbindungsabbruch. Damit kann man zwingen den Adapter neu zu starten und das Problem umgehen.",vat="Fenster",yat={"(Set to 0 if behavior not desired)":"(Auf 0 setzen, falls dieses Verhalten unerwünscht ist)","(you can separate names with comma)":"Mehrere Namen können separiert mit Kommas angegeben werden",Active:Tnt,"Add device":"Gerät hinzufügen","Add new device from state":"Neues Gerät aus Status hinzufügen","Add service":"Dienst hinzufügen",Addresses:Ent,"Admin instance":"Admin-Instanz",AirCondition:Ont,"Alexa devices":"Alexa-Geräte","Alisa devices":"Alisa Geräte","Allow admin access (only pro)":"Erlaube Zugriff auf Admin (nur pro)","Allow remote access":"Fernzugriff zulassen","Allow self-signed certificates":"Erlaube selbst-signierte Zertifikate","Amazon Alexa":"Amazon Alexa","Are you sure?":"Wirklich sicher?",Attributes:Dnt,"Attributes has not correct JSON format.":"Attributes ist nicht im korrekten JSON Format","Authentication must be disabled. You can create second instance extra for cloud.":"Die Authentifizierung muss deaktiviert sein. Sie können eine zweite Instanz extra für Cloud erstellen.",Auto:Ant,"Auto Mode":"Automatikmodus",Blind:Int,Blinds:Nnt,Brightness:Mnt,Cancel:Rnt,"Cannot add this object":"Dieses Objekt kann nicht hinzugefügt werden, da es nicht unterstützt wird.","Cannot read devices!":"Geräte können nicht gelesen werden!","Certificates will be updated after initiated restart":"Zertifikate werden nach dem Neustart aktualisiert","Certificates will be updated after start":"Zertifikate werden nach dem Start aktualisiert","Click now Get new connection certificates to request new temporary password":'Klicken Sie jetzt auf "Neue Verbindungszertifikate anfordern", um ein neues temporäres Passwort anzufordern',Close:jnt,"Cloud URL":"Cloud URL","Cloud adapter settings":"Einstellungen für Cloud-Adapter","Collapse all devices":"Alle Geräte ausblenden",Color:znt,"Color HUE":"Farbe Farbton","Color temperature":"Farbtemperatur",Commands:Pnt,"Concatenate words with":"Verbinde Raum und Funktion mit","Connection timeout":"Verbindungs-Timeout (ms)",ContactSensor:Lnt,Control:Fnt,"Conversation to GH":"In GH konvertieren","Conversation to ioB":"In ioB konvertieren","Copy to clipboard":"In die Zwischenablage kopieren","Create IoT credentials anew":"IoT-Anmeldeinformationen neu erstellen","Debug outputs":"Ausgaben debuggen","Decrement color temperature":"Verringern der Farbtemperatur","Decrement percentage":"Prozentsatz der Verringerung","Decrement target temperature":"Solltemperatur verringern",Default:Bnt,"Default toggle behaviour (Only alexa v3)":"Standardmäßiges Umschaltverhalten (nur Alexa v3)",Delete:Wnt,Detection:Hnt,"Device %s was not added":"Gerät %s wurde nicht hinzugefügt","Device %s will be disabled.":"Gerät %s wird deaktiviert.","Device will be deactivated.":"Gerät wird für die Sprachsteuerung deaktiviert.","Device will be disabled.":"Gerät %s wird aus der Liste entfernt.",Dimmer:Unt,"Do not toggle":"Nicht umschalten",Door:Vnt,"Door sensor":"Türsensor","Duplicate name":"Name wurde schon benutzt","Edit smart name":"Smartname editieren",Error:"Fehler","Expand all devices":"Alle Geräte erweitern","Extended options":"Erweiterte Einstellungen",Filter:qnt,"For help use this forum":"Für Hilfe besuche diesen <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>Forumbeitrag</a>",Function:"Funktion","Function/Trait":"Funktion / Eigenschaft",Functions:Gnt,Gate:Jnt,"Get actual humidity":"Holen Sie sich die tatsächliche Luftfeuchtigkeit","Get actual temperature":"Aktuelle Temperatur abrufen","Get contact":"Kontaktstatus abrufen","Get motion":"Bewegung bekommen","Get new connection certificates":"Neue Verbindungszertifikate anfordern","Get new service URL key":"Neuen Service-URL-Schlüssel abrufen","Get target temperature":"Solltemperatur abrufen","Google Home":"Google Home","Google devices":"Google-Geräte","Grouped from %s and %s":"Gruppiert aus %s und %s",Hue:Xnt,ID:Knt,"IFTTT key":"IFTTT key","Increment color temperature":"Erhöhung der Farbtemperatur","Increment percentage":"Prozentsatz erhöhen","Increment target temperature":"Solltemperatur erhöhen","Information: The skill linking process was changed!":"Information: Der Skill Linking Prozess wurde geändert!",Instance:Ynt,"Instance does not exists":"Instanz existiert nicht","Instance is not active.":"Instanz ist nicht aktiv.","Instance must be enabled":"Instanz muss aktiviert sein","Instance must run to deliver the data":"Die Instanz muss laufen um die Daten zu liefern","Invalid object":"Ungültiges Objekt",Language:Znt,Light:Qnt,"List of devices to print out, e.g. to give all device names to your partner.":"Liste der auszudruckenden Geräte, z. um Ihrem Partner/in alle Gerätenamen zu zeigen.","Load configuration from file":"Konfiguration aus Datei laden",Lock:eot,"Manual Mode":"Manueller Modus",Message:tot,Mode:rot,Motion:not,Muted:oot,Name:aot,"Not understood":"Nicht verstanden","Now there is no temporary password that will be sent by email.":"Jetzt gibt es kein temporäres Passwort, das per E-Mail gesendet wird.","OFF level for switches":"Aus-Pegel für Schalter","OFF level for switches in %":"AUS-Pegel für Schalter in %",Off:sot,Ok:iot,On:lot,"On/Off":"An aus",Options:cot,Percentage:dot,"Personal settings (only pro)":"Eigene Einstellungen (nur pro)","Ping timeout:":"Ping-Timeout(ms)","Place function in names first":"Platziere Funktionsnamen vorne","Please add action and trait to complete the Google Home state.":"Bitte fügen Sie eine Aktion und ein Merkmal hinzu, um den Google Home-Status zu vervollständigen.","Please add type and trait to complete the Google Home state.":"Bitte füge eine Type und Trait hinzu um den Google Home State zu vervollständigen.","Please select object ID...":"Bitte Objekt ID auswählen ...","Please write your email only in lower case letters":"Bitte E-Mail nur in Kleinbuchstaben schreiben",Power:uot,"Read blood sugar from":"Blutzucker lesen aus","Read lock state":"Verschlusszustand lesen","Refresh list of devices":"Liste der Geräte aktualisieren","Replace in names":"Ersetze in Namen","Request email with password one more time":"Noch einmal eine E-Mail mit Passwort anfordern","Restart on disconnect":"Neustart bei Verbindungsabbruch",Review:pot,"Roger that":"Verstanden",Room:hot,Rooms:fot,Save:mot,"Save and close":"Speichern und schließen","Save configuration to file":"Konfiguration in Datei speichern","Save settings and the names will be changed":"Speichere die Einstellungen um die neuen Namen zu sehen","Save settings before pressing this button":"Einstellungen müssen gespeichert werden, bevor Sie diese Taste drücken",Search:got,Select:_ot,Sensor:vot,"Service names":"Servicenamen","Services and IFTTT":"Services und IFTTT","Set color":"Farbe einstellen","Set color temperature":"Farbtemperatur einstellen","Set lock state":"Verschlussstatus einstellen","Set percentage":"Prozent einstellen","Set point":"Sollwert","Set target temperature":"Solltemperatur einstellen","Short answer for blood sugar":"Kurze Antwort für Blutzucker","Show all devices for print out":"Alle Geräte zum Ausdrucken anzeigen","Show/Hide help":"Hilfe ein- / ausblenden",Slider:yot,"Smart Devices":"Smart Geräte","Smart Enums":"Smart Aufzählungen","Smart Media":"Smart Media","Smart enums":"Intelligente Aufzählungen","Smart name":"Smart-Name","Smart name for %s":"Smart Name für %s","Smart names":"Intelligente Namen",Socket:bot,Temperature:wot,"The linking process has been changed for a few months.":"Der Verknüpfungsprozess wurde vor einigen Monaten geändert.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Das Passwort ist gleich mit ioBroker.pro und mit dem Passwort, das hier in den Einstellungen eingegeben wurde!",Thermostat:Sot,"Thermostat mode":"Thermostatmodus","This service is reserved for the ioBroker.visu app. Please use another service name.":"Dieser Dienst ist für die ioBroker.visu-App reserviert. Bitte verwenden Sie einen anderen Dienstnamen.","To apply this setting, the restart of adapter must be done. Agree?":"Um diese Einstellung zu ändern ist es erforderlich, diese Instanz neu zu starten. Einverstanden?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Für automatische Erkennung, unter Objekte ordne einem Channel (Device wenn kein Channel vorhanden ist) ein Raum und Funktion zu. Es reicht nicht einem State oder Device den Raum zuzuordnen. Räume/Funktionen können unter Aufzählung (Anzeigen über den weißen Pfeil oben rechts) hinzugefügt werden und müssen im IoT Adapter unter Intelligente Aufzählung aktiviert werden. Um manuelle States wieder automatisch erkennen zu lassen muss der State gelöscht werden.",Toggle:xot,"Toggle expert mode":"Expertenmodus umschalten","Too many devices (%s) configured. Max number is 300":"Zu viele Geräte (%s) konfiguriert. Maximale Anzahl ist 300!","Turn off":"Ausschalten","Turn on":"Einschalten",Type:kot,Types:Cot,"Use Nightscout instance":"Benutze Nightscout Instanz","Use following link for IFTTT":"Benutze folgenden Link für IFTTT","Use following link for custom service":"Benutze folgenden Link für einen eigenen Service","Use text2command instance":"Benutze text2command Instanz","Vacuum cleaner":"Staubsauger",VacuumCleaner:$ot,Value:Tot,Volume:Eot,"Volume group":"Volumengruppe",VolumeGroup:Oot,"Web instance":"Webinstanz","White list for services":"White list für Services",Window:Dot,"Window sensor":"Fenstersensor","Write response to":"Schreibe Antwort ins","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Man kann mehrere durch Komma getrennte Namen eingeben","amazon link":"Falls du den Alexa Skill benutzt, schreibe doch bitte <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>hier</a> eine Review.<br>Beispiele kann man <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>hier</a> anschauen.",blind:Aot,blinds:Iot,"by ON":"bei AN",cannot_use_password:Not,clear:Mot,ct:Rot,default:"Standard",dimmer:jot,disabled:zot,forum_tip:Pot,gate:Lot,help_link_tip1:Fot,help_link_tip2:Bot,help_link_tip3:Wot,help_tip:Hot,hue:Uot,info_allowedServices:Vot,info_iftttKey:qot,invalid_password_warning:Got,ioBType:Jot,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Passwort","last value":"letzter Wert",levelSlider:Xot,light:Kot,lock:Yot,manualModeHint:Zot,modified:Qot,motion:eat,new_certs_tip:tat,new_credentials_tip:rat,"no type":"kein Typ","not activated":"nicht aktiviert","omit value":"kein Wert",slider:nat,socket:oat,temperature:aat,thermostat:sat,tooltip_allowSelfSignedCertificate:iat,tooltip_apikey:lat,tooltip_cloudUrl:cat,tooltip_concatWord:dat,tooltip_deviceOffLevel:uat,tooltip_functionFirst:pat,tooltip_instance:hat,tooltip_language:fat,tooltip_noCommon:mat,tooltip_responseOID:gat,tooltip_restartOnDisconnect:_at,window:vat},bat="Активно",wat="Адреса",Sat="Кондиционер",xat="Атрибуты",kat="Автоматически",Cat="Жалюзи",$at="Жалюзи",Tat="Диммер",Eat="Отмена",Oat="Закрыть",Dat="Цвет",Aat="Команды",Iat="Контактный датчик",Nat="Контроль",Mat="По умолчанию",Rat="Удалить",jat="Обнаружение",zat="Диммер",Pat="Дверь",Lat="Фильтр",Fat="Функции",Bat="Ворота",Wat="оттенок",Hat="ID",Uat="Экземпляр",Vat="Язык",qat="Свет",Gat="Замок",Jat="Сообщение",Xat="Режим",Kat="Движение",Yat="Приглушен",Zat="название",Qat="выкл",est="Ok",tst="вкл",rst="Настройки",nst="Процент",ost="Вкл/Выкл",ast="Обзор",sst="Комната",ist="Комнаты",lst="Сохранить",cst="Поиск",dst="Выбрать",ust="Датчик",pst="Слайдер",hst="Разъем",fst="Температура",mst="Термостат",gst="Переключать",_st="Тип",vst="Типы",yst="Пылесос",bst="Значение",wst="Объем",Sst="Группа томов",xst="Окно",kst="жалюзи",Cst="Жалюзи",$st="Вы не можете использовать% в пароле. Мы работаем над исправлением.",Tst="очистить",Est="Цветовая температура",Ost="диммер",Dst="неактивно",Ast='Любые вопросы на любом языке, пожалуйста, задавайте здесь на форуме: <a href="https://forum.iobroker.net/post/435797" target="_blank"> ссылка </a>',Ist="ворота",Nst='Прежде чем писать в службу поддержки, убедитесь, что вы прочитали и поняли инструкции с веб-страницы: <a target="_blank" href="https://www.iobroker.net/#ru/documentation/cloud/iot.md">https://www.iobroker.net</a>',Mst='Если у вас все еще есть проблема с подключением к Iot, вы можете запросить поддержку на <a target="_blank" href="https://forum.iobroker.net/category/29/iobroker">форуме</a>',Rst='и только после этого вы можете написать письмо на <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',jst='Нет учетной записи iobroker.pro? Купите его на <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> для гарантированного доступа или получения бесплатного, но ограниченного доступа.',zst="оттенок",Pst="разделённые запятой. Используйте *, что бы разрешить все сервисы.",Lst="Свой ключ можно найти <a href='https://ifttt.com/maker_webhooks' target='_blank'>здесь</a> в 'Documentation'",Fst=`Пароль должен содержать не менее 8 символов и должен состоять из цифр, прописных и строчных букв. Пожалуйста, измените его в профиле ioBroker.pro
673
+ `,Bst="Тип IoB",Wst="Ползунок уровня",Hst="свет",Ust="Замок",Vst="Пожалуйста, выберите <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> и <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> после добавления состояния. Чтобы добавить несколько черт, добавьте другой идентификатор и черту, но то же имя, тип и номер. Запятая разделена для нескольких умных имен. Чтобы назначить комнату, пожалуйста, используйте ioBroker Enums/Aufzählungen. С помощью атрибутов вы можете, например, установить диапазон для цветовой температуры <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Информация о Атрибуты вы можете найти здесь.</a> Пустой атрибут - {}",qst="Имя изменено пользователем",Gst="движение",Jst="Если вы сделали восстановление из резервной копии, перенесли свой экземпляр с одного устройства на другое или удалили экземпляр IoT и добавили его снова, вы должны загрузить сертификаты безопасности подключения с помощью этой кнопки",Xst="Если не удается войти в Alexa Skill/Google Action/Alisa с данными для входа в ioBroker.pro, нажмите кнопку ниже.",Kst="ползунок",Yst="разъем",Zst="температура",Qst="термостат",eit="Если используется собственное облако, то можно разрешить использование самоподписанных сертификатов",tit="Ключ необходимый для коммуникации с облаком. Его можно получить на https://iobroker.net и он похож на nickname_f1f439a0-001a-11e7-bc64-92361f002671",rit="Обычно не нужно менять этот параметр. Только если используется собственное облако.",nit="Можно указать каким словом соединять Функцию и Комнату. Например с 'в': Свет в зале.",oit="Некоторые группы состоят из смешанных устройств: диммеров и переключателей. Разрешено управлять ими с помощью команд ON и OFF и с процентами",ait="Обычно имена выглядят как Комната-Функция. Этой настройкой можно переключить на Функция-Комната.",sit="Экземпляр WEB, который будет показываться при доступе из облака",iit="Можно выбрать язык, что бы быстро переключаться между US Alexa Skill и DE Alexa Skill",lit="Если выбрана эта опция, то настройки будут сохраняться только для этой инстанции. Что бы в другой инстанции можно было выбрать другие имена.",cit="Для каждой команды будет генерироваться текстовый ответ. Вы можете определить здесь ID объекта , где этот текст должен быть записан. Например sayit.0.tts.text.",dit="Временное решение для проблемы с пропажей соединения с Alexa, после воссоединения с облаком. Этим можно перестартовать драйвер после потери соединения.",uit="окно",pit={"(Set to 0 if behavior not desired)":"(для деактивации установить на 0)","(you can separate names with comma)":"Вы можете ввести несколько имен, разделенных запятой",Active:bat,"Add device":"Добавить устройство","Add new device from state":"Добавить новое устройство из штата","Add service":"Добавить услугу",Addresses:wat,"Admin instance":"Экземпляр администратора",AirCondition:Sat,"Alexa devices":"Устройства Alexa","Alisa devices":"Устройства Алисы","Allow admin access (only pro)":"Разрешить доступ к admin (только pro)","Allow remote access":"Разрешить удаленный доступ","Allow self-signed certificates":"Разрешить самоподписанные сертификаты","Amazon Alexa":"Amazon Alexa","Are you sure?":"Уверены?",Attributes:xat,"Attributes has not correct JSON format.":"Атрибуты не в правильном формате JSON","Authentication must be disabled. You can create second instance extra for cloud.":"Аутентификация должна быть отключена. Вы можете создать дополнительный экземпляр для облака.",Auto:kat,"Auto Mode":"Автоматический режим",Blind:Cat,Blinds:$at,Brightness:Tat,Cancel:Eat,"Cannot add this object":"Невозможно добавить этот объект, потому что он не поддерживается.","Cannot read devices!":"Не могу прочитать устройства!","Certificates will be updated after initiated restart":"Сертификаты будут обновлены после инициированного перезапуска","Certificates will be updated after start":"Сертификаты будут обновлены после запуска","Click now Get new connection certificates to request new temporary password":"Нажмите «Получить новые сертификаты подключения», чтобы запросить новый временный пароль.",Close:Oat,"Cloud URL":"URL облака","Cloud adapter settings":"Настройки драйвера Cloud","Collapse all devices":"Свернуть все устройства",Color:Dat,"Color HUE":"Цвет ОТТЕНОК","Color temperature":"Цветовая температура",Commands:Aat,"Concatenate words with":"Связывать комнаты и функции словом","Connection timeout":"Таймаут соединения(мс)",ContactSensor:Iat,Control:Nat,"Conversation to GH":"Конвертировать в GH","Conversation to ioB":"Конвертировать в ioB","Copy to clipboard":"Скопировать в буфер обмена","Create IoT credentials anew":"Создайте учетные данные IoT заново","Debug outputs":"Вывод отладочной информации","Decrement color temperature":"Уменьшение цветовой температуры","Decrement percentage":"Уменьшение процентного значения","Decrement target temperature":"Уменьшение целевой температуры",Default:Mat,"Default toggle behaviour (Only alexa v3)":"Поведение переключения по умолчанию (только Alexa v3)",Delete:Rat,Detection:jat,"Device %s was not added":"Устройство %s не было добавлено","Device %s will be disabled.":"Устройство %s будет отключено.","Device will be deactivated.":"Устройство будет недоступно для голосового управления.","Device will be disabled.":"Устройство %s исчезнет из списка.",Dimmer:zat,"Do not toggle":"Не переключать",Door:Pat,"Door sensor":"Датчик двери","Duplicate name":"Имя уже используется","Edit smart name":"Редактировать имя",Error:"Ошибка","Expand all devices":"Развернуть все устройства","Extended options":"Расширенные настройки",Filter:Lat,"For help use this forum":"Чтобы получить помощь, посетите этот <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>форум пост</a>",Function:"функция","Function/Trait":"Функция / Тр",Functions:Fat,Gate:Bat,"Get actual humidity":"Получите фактическую влажность","Get actual temperature":"Получить фактическую температуру","Get contact":"Получить статус контакта","Get motion":"Получить движение","Get new connection certificates":"Получение новых сертификатов подключения","Get new service URL key":"Получить новый ключ службы URL","Get target temperature":"Получить целевую температуру","Google Home":"Google Home","Google devices":"Устройства Google","Grouped from %s and %s":"Сгруппировано из %s и %s",Hue:Wat,ID:Hat,"IFTTT key":"IFTTT key","Increment color temperature":"Увеличение цветовой температуры","Increment percentage":"Процент прироста","Increment target temperature":"Увеличение целевой температуры","Information: The skill linking process was changed!":"Информация: Изменен процесс привязки навыков!",Instance:Uat,"Instance does not exists":"Экземпляр не существует","Instance is not active.":"Экземпляр не активен.","Instance must be enabled":"Экземпляр должен быть включен","Instance must run to deliver the data":"Драйвер должен быть запущен, что бы отобразить данные","Invalid object":"Недействительный объект",Language:Vat,Light:qat,"List of devices to print out, e.g. to give all device names to your partner.":"Список устройств для распечатки, например, что бы показать все названия устройств вашему партнеру/партнёрше.","Load configuration from file":"Загрузить конфигурацию из файла",Lock:Gat,"Manual Mode":"Ручной режим",Message:Jat,Mode:Xat,Motion:Kat,Muted:Yat,Name:Zat,"Not understood":"Не понятно","Now there is no temporary password that will be sent by email.":"Теперь нет временного пароля, который отправлялся по электронной почте.","OFF level for switches":"Уровень выключения для выключателей","OFF level for switches in %":"Уровень выключения для переключателей в %",Off:Qat,Ok:est,On:tst,"On/Off":"Вкл/выкл",Options:rst,Percentage:nst,"Personal settings (only pro)":"Личные настройки (только pro)","Ping timeout:":"Пинг-Таймаут(мс)","Place function in names first":"Имена функций в начале","Please add action and trait to complete the Google Home state.":"Пожалуйста, добавьте действие и черту, чтобы завершить состояние Google Home.","Please add type and trait to complete the Google Home state.":"Пожалуйста, добавьте тип и черту, чтобы завершить состояние Google Home.","Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","Please write your email only in lower case letters":"Пожалуйста, пишите свою электронную почту только строчными буквами",Power:ost,"Read blood sugar from":"Считывать уровень сахара в крови из","Read lock state":"Чтение состояния блокировки","Refresh list of devices":"Обновить список устройств","Replace in names":"Заменить в именах","Request email with password one more time":"Запросите письмо с паролем еще раз","Restart on disconnect":"Перезапуск при потере сединения",Review:ast,"Roger that":"Понятно",Room:sst,Rooms:ist,Save:lst,"Save and close":"Сохранить и закрыть","Save configuration to file":"Сохранить конфигурацию в файл","Save settings and the names will be changed":"Сохраните настройки, что бы увидеть изменения","Save settings before pressing this button":"Сохраните настройки перед нажатием этой кнопки",Search:cst,Select:dst,Sensor:ust,"Service names":"Названия служб","Services and IFTTT":"Сервисы и IFTTT","Set color":"Установить цвет","Set color temperature":"Цветовая температура","Set lock state":"Установить состояние блокировки","Set percentage":"Установить процент","Set point":"Установить точку","Set target temperature":"Установите целевую температуру","Short answer for blood sugar":"Краткий ответ на уровень сахара в крови","Show all devices for print out":"Показать все устройства для распечатки","Show/Hide help":"Показать / Скрыть помощь",Slider:pst,"Smart Devices":"Smart устройства","Smart Enums":"Smart категории","Smart Media":"Smart Media","Smart enums":"Умные перечисления","Smart name":"Smart имя","Smart name for %s":"Умное имя для %s","Smart names":"Умные имена",Socket:hst,Temperature:fst,"The linking process has been changed for a few months.":"Несколько месяцев назад изменился процесс привязки.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Пароль совпадает с ioBroker.pro и с паролем, который был введен здесь в настройках!",Thermostat:mst,"Thermostat mode":"Режим термостата","This service is reserved for the ioBroker.visu app. Please use another service name.":"Эта служба зарезервирована для приложения ioBroker.visu. Пожалуйста, используйте другое имя службы.","To apply this setting, the restart of adapter must be done. Agree?":"Что бы поменять эту опцию, необходимо перезагрузить инстанцию. Согласны?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Для автоматического обнаружения под объектами назначают канал (устройство, если канал недоступен) комнате и функции. Недостаточно присвоить комнату состоянию или устройству. Комнаты/функции могут быть добавлены в нумерацию (обозначена белой стрелкой в правом верхнем углу) и должны быть активированы в адаптере IoT в разделе Интеллектуальное перечисление. Чтобы автоматически распознавать ручные состояния, это состояние должно быть удалено.",Toggle:gst,"Toggle expert mode":"Переключить режим эксперта","Too many devices (%s) configured. Max number is 300":"Настроено слишком много устройств (%s). Максимальное количество - 300!","Turn off":"Выключи","Turn on":"Включи",Type:_st,Types:vst,"Use Nightscout instance":"Использовать Nightscout","Use following link for IFTTT":"Используйте этот URL для IFTTT","Use following link for custom service":"Используйте этот URL для своего сервиса","Use text2command instance":"Использовать text2command","Vacuum cleaner":"Пылесос",VacuumCleaner:yst,Value:bst,Volume:wst,"Volume group":"Группа томов",VolumeGroup:Sst,"Web instance":"Веб-экземпляр","White list for services":"Белый список для сервисов",Window:xst,"Window sensor":"Датчик окна","Write response to":"Писать ответ в","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Вы можете ввести несколько имен, разделенных запятой","amazon link":"Если вы используете Alexa, пожалуйста оставьте свой отзыв <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>здесь</a>.<br>Примеры отзывов можно посмотреть <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>здесь</a>.",blind:kst,blinds:Cst,"by ON":"при ВКЛ",cannot_use_password:$st,clear:Tst,ct:Est,default:"системный",dimmer:Ost,disabled:Dst,forum_tip:Ast,gate:Ist,help_link_tip1:Nst,help_link_tip2:Mst,help_link_tip3:Rst,help_tip:jst,hue:zst,info_allowedServices:Pst,info_iftttKey:Lst,invalid_password_warning:Fst,ioBType:Bst,"ioBroker.pro Login":"Логин ioBroker.pro","ioBroker.pro Password":"Пароль ioBroker.pro","last value":"последнее значение",levelSlider:Wst,light:Hst,lock:Ust,manualModeHint:Vst,modified:qst,motion:Gst,new_certs_tip:Jst,new_credentials_tip:Xst,"no type":"нет типа","not activated":"не активирован","omit value":"нет значения",slider:Kst,socket:Yst,temperature:Zst,thermostat:Qst,tooltip_allowSelfSignedCertificate:eit,tooltip_apikey:tit,tooltip_cloudUrl:rit,tooltip_concatWord:nit,tooltip_deviceOffLevel:oit,tooltip_functionFirst:ait,tooltip_instance:sit,tooltip_language:iit,tooltip_noCommon:lit,tooltip_responseOID:cit,tooltip_restartOnDisconnect:dit,window:uit},hit="Ativo",fit="Endereços",mit="Condição do ar",git="Atributos",_it="Automaticamente",vit="Persianas",yit="Persianas",bit="Obscuro",wit="Cancelar",Sit="Feixar",xit="Cor",kit="Comandos",Cit="Sensor de contato",$it="Ao controle",Tit="Padrão",Eit="Excluir",Oit="Detecção",Dit="regulador de luz",Ait="Porta",Iit="Filtro",Nit="Funções",Mit="Portão",Rit="Matiz",jit="ID",zit="Instância",Pit="Língua",Lit="Luz",Fit="Trancar",Bit="mensagem",Wit="Modo",Hit="Movimento",Uit="silenciado",Vit="Nome",qit="desligado",Git="Ok",Jit="ligado",Xit="Opções",Kit="Percentagem",Yit="Ligado/Desligado",Zit="Reveja",Qit="Quarto",elt="quartos",tlt="Salve",rlt="Procurar",nlt="Selecione",olt="Sensor",alt="Controle deslizante",slt="soquete",ilt="Temperatura",llt="Termostato",clt="Alternar",dlt="Tipo",ult="Tipos",plt="Aspirador de pó",hlt="Valor",flt="Volume",mlt="Grupo de volumes",glt="Janela",_lt="persianas",vlt="Persianas",ylt="Você não pode usar% na senha. Estamos trabalhando na correção.",blt="limpar",wlt="Temperatura de cor",Slt="obscuro",xlt="desativado",klt='Qualquer dúvida em qualquer idioma, pergunte aqui no fórum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',Clt="portão",$lt='Antes de escrever para o suporte, certifique-se de ler e entender as instruções da página da Web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',Tlt='Se você ainda tiver problemas com a conexão com o Iot, poderá solicitar suporte no <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services",>Fórum</a>',Elt='e somente depois disso, você deve escrever um email para <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Olt='Nenhuma conta no iobroker.pro? Registe-se gratuamente no <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a>, para obter um acesso limitado ou compre um acesso sem limitação.',Dlt="matiz",Alt="dividido por vírgula. Use * para permitir todos os serviços.",Ilt="Você pode encontrar sua chave <a href='https://ifttt.com/maker_webhooks' target='_blank'>aqui</a>, no botão 'Documentation'",Nlt=`A senha deve ter pelo menos 8 caracteres e deve ter números, letras maiúsculas e minúsculas. Altere-o no perfil ioBroker.pro
674
+ `,Mlt="Tipo IoB",Rlt="Controle deslizante de nível",jlt="luz",zlt="Trancar",Plt="Selecione um <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> e um <a target='_blank' rel ='noopener noreferrer' href='https: //developers.google.com/actions/smarthome/traits/'>TRAIT</a> depois de adicionar um estado. Para adicionar vários traços, adicione um ID e traço diferentes, mas o mesmo nome, tipo e sala inteligentes. Vírgula separada para os vários nomes inteligentes. Para atribuir uma sala, use o ioBroker Enums/Aufzählungen. Com os atributos, você pode, por exemplo, definir um intervalo para a temperatura da cor. Atributos que você pode encontrar aqui.</a> O atributo vazio é {}",Llt="O nome foi modificado pelo usuário",Flt="movimento",Blt="Se você fez uma restauração a partir do backup ou moveu sua instância de um dispositivo para outro ou excluiu a instância da IoT e a adicionou novamente, carregue os certificados de segurança da conexão com este botão",Wlt="Se o login no Alexa Skill/Google Action/Alisa com os dados de login ioBroker.pro falhar, pressione o botão abaixo.",Hlt="controle deslizante",Ult="soquete",Vlt="temperatura",qlt="termostato",Glt="Se você usa sua própria nuvem, você pode permitir o uso de certificados auto-assinados para a nuvem.",Jlt="Essa chave é necessária para se comunicar com uma nuvem. Você pode obter a API-KEY em https://iobroker.net. A chave parece tem esse formato: apelido_f1f439a0-001a-11e7-bc64-92361f002671",Xlt="Normalmente, você não precisa mudá-lo. Só é necessário se você planeja usar sua própria nuvem.",Klt="Defina como concatenar o Quarto e a Função. Por exemplo com 'na': luz na sala de estar.",Ylt="Alguns grupos consistem em dispositivos mistos: regulador de luz e interruptores. É permitido controlá-los com comandos ligar/desligar e com porcentagens",Zlt="Normalmente, os nomes são gerados no esquema quarto_função. Aqui pode mudar para função_quarto.",Qlt="Instância da Web, que será mostrada para suas conexões a da nuvem.",ect="Você pode definir os idiomas para mudar rapidamente entre o skill da Alexa do EUA e o da Alemãnha.",tct="Se ativado, as configurações serão armazenadas somente para esta instância. Então, na outra instância, outros nomes podem ser definidos.",rct="Para cada comando, uma resposta de texto é gerada. Aqui você pode especificar o ID do objeto ao qual a resposta de texto deve ser enviada, por exemplo sayit.0.tts.text.",nct="Solução alternativa para falta de comunicação com o Alexa após a desconexão. Isso pode forçar você a reiniciar o adaptador e solucionar o problema.",oct="janela",act={"(Set to 0 if behavior not desired)":"(Defina para 0 se o comportamento não for desejado)","(you can separate names with comma)":"Você pode inserir vários nomes divididos por vírgula",Active:hit,"Add device":"Adicionar dispositivo","Add new device from state":"Adicionar novo dispositivo do estado","Add service":"Adicionar serviço",Addresses:fit,"Admin instance":"Instância de administrador",AirCondition:mit,"Alexa devices":"Dispositivos Alexa","Alisa devices":"Dispositivos Alisa","Allow admin access (only pro)":"Permitir acesso de administrador (apenas pro)","Allow remote access":"Permitir acesso remoto","Allow self-signed certificates":"Permitir certificados auto-assinados","Amazon Alexa":"Amazon Alexa","Are you sure?":"Você tem certeza?",Attributes:git,"Attributes has not correct JSON format.":"Os atributos não estão no formato JSON correto.","Authentication must be disabled. You can create second instance extra for cloud.":"A autenticação deve ser desativada. Você pode criar uma segunda instância extra para a nuvem.",Auto:_it,"Auto Mode":"Modo automático",Blind:vit,Blinds:yit,Brightness:bit,Cancel:wit,"Cannot add this object":"Não é possível adicionar este objeto, porque não é suportado.","Cannot read devices!":"Não é possível ler dispositivos!","Certificates will be updated after initiated restart":"Os certificados serão atualizados após a primeira reinicialização","Certificates will be updated after start":"Certificados serão atualizados após o início","Click now Get new connection certificates to request new temporary password":'Clique agora "Obter novos certificados de conexão" para solicitar uma nova senha temporária',Close:Sit,"Cloud URL":"URL da nuvem","Cloud adapter settings":"Configurações do adaptador de nuvem","Collapse all devices":"Recolher todos os dispositivos",Color:xit,"Color HUE":"Cor MATIZ","Color temperature":"Temperatura de cor",Commands:kit,"Concatenate words with":"Concatenar palavras com","Connection timeout":"Tempo limite de conexão (ms)",ContactSensor:Cit,Control:$it,"Conversation to GH":"Converta para GH","Conversation to ioB":"Converta para ioB","Copy to clipboard":"Copiar para área de transferência","Create IoT credentials anew":"Crie credenciais de IoT novamente","Debug outputs":"Saídas de depuração","Decrement color temperature":"Temperatura de cor decrescente","Decrement percentage":"Percentual de decréscimo","Decrement target temperature":"Temperatura alvo de descida",Default:Tit,"Default toggle behaviour (Only alexa v3)":"Comportamento de alternância padrão (somente alexa v3)",Delete:Eit,Detection:Oit,"Device %s was not added":"O dispositivo %s não foi adicionado","Device %s will be disabled.":"O dispositivo %s será desabilitado.","Device will be deactivated.":"O dispositivo será desativado.","Device will be disabled.":"O dispositivo será desabilitado.",Dimmer:Dit,"Do not toggle":"Não alterne",Door:Ait,"Door sensor":"Sensor de porta","Duplicate name":"Duplicar nome","Edit smart name":"Edite o nome inteligente",Error:"Erro","Expand all devices":"Expandir todos os dispositivos","Extended options":"Configuração avançada",Filter:Iit,"For help use this forum":"Para obter ajuda, visite este <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>fórum postar</a>",Function:"Função","Function/Trait":"Função / Traço",Functions:Nit,Gate:Mit,"Get actual humidity":"Obtenha a umidade real","Get actual temperature":"Obter temperatura atual","Get contact":"Obter status de contato","Get motion":"Mexa-se","Get new connection certificates":"Obter novos certificados de conexão","Get new service URL key":"Obter nova chave do URL de serviço","Get target temperature":"Obter temperatura desejada","Google Home":"Google Home","Google devices":"Dispositivos do Google","Grouped from %s and %s":"Agrupados de %s e %s",Hue:Rit,ID:jit,"IFTTT key":"Chave IFTTT","Increment color temperature":"Incremento da temperatura de cor","Increment percentage":"Percentual de incremento","Increment target temperature":"Incremento da temperatura desejada","Information: The skill linking process was changed!":"Informações: O processo de vinculação de habilidades foi alterado!",Instance:zit,"Instance does not exists":"Instância não existe","Instance is not active.":"A instância não está ativa.","Instance must be enabled":"A instância deve estar ativada","Instance must run to deliver the data":"A instância deve ser executada para obter os dados","Invalid object":"Objeto inválido",Language:Pit,Light:Lit,"List of devices to print out, e.g. to give all device names to your partner.":"Lista de dispositivos a serem impressos, p. para dar todos os nomes de dispositivos ao seu parceiro.","Load configuration from file":"Carregar configuração do arquivo",Lock:Fit,"Manual Mode":"Modo manual",Message:Bit,Mode:Wit,Motion:Hit,Muted:Uit,Name:Vit,"Not understood":"Não entendido","Now there is no temporary password that will be sent by email.":"Agora não existe uma senha temporária que será enviada por e-mail.","OFF level for switches":"Nível OFF para interruptores","OFF level for switches in %":"Nível OFF para interruptores em %",Off:qit,Ok:Git,On:Jit,"On/Off":"ligado/desligado",Options:Xit,Percentage:Kit,"Personal settings (only pro)":"Configurações pessoais (somente pro)","Ping timeout:":"Tempo limite de ping (ms)","Place function in names first":"Coloque a função na frente dos nomes","Please add action and trait to complete the Google Home state.":"Adicione ação e característica para concluir o estado da Página inicial do Google.","Please add type and trait to complete the Google Home state.":"Adicione tipo e característica para concluir o estado da Página inicial do Google.","Please select object ID...":"Por favor selecione o ID do objeto ...","Please write your email only in lower case letters":"Por favor, escreva seu e-mail apenas em letras minúsculas",Power:Yit,"Read blood sugar from":"Leia o açúcar no sangue de","Read lock state":"Ler estado de bloqueio","Refresh list of devices":"Atualizar lista de dispositivos","Replace in names":"Substitua nos nomes","Request email with password one more time":"Solicite email com senha mais uma vez","Restart on disconnect":"Reiniciar na desconexão",Review:Zit,"Roger that":"Entendido",Room:Qit,Rooms:elt,Save:tlt,"Save and close":"Salvar e fechar","Save configuration to file":"Salvar configuração no arquivo","Save settings and the names will be changed":"Salve as configurações e os nomes serão alterados","Save settings before pressing this button":"Salve as configurações antes de pressionar este botão",Search:rlt,Select:nlt,Sensor:olt,"Service names":"Nome do serviço","Services and IFTTT":"Serviços e IFTTT","Set color":"Definir cor","Set color temperature":"Definir temperatura de cor","Set lock state":"Definir estado de bloqueio","Set percentage":"Definir porcentagem","Set point":"Ponto de ajuste","Set target temperature":"Definir temperatura desejada","Short answer for blood sugar":"Resposta curta para açúcar no sangue","Show all devices for print out":"Mostrar todos os dispositivos para impressão","Show/Hide help":"Mostrar / ocultar ajuda",Slider:alt,"Smart Devices":"Dispositivos inteligentes","Smart Enums":"Enumeração inteligentes","Smart Media":"Smart Media","Smart enums":"Enumeração inteligentes","Smart name":"Nome inteligente","Smart name for %s":"Nome inteligente para %s","Smart names":"Nomes inteligentes",Socket:slt,Temperature:ilt,"The linking process has been changed for a few months.":"O processo de vinculação foi alterado por alguns meses.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"A senha é igual a ioBroker.pro e com a senha que foi digitada aqui nas configurações!",Thermostat:llt,"Thermostat mode":"Modo termostato","This service is reserved for the ioBroker.visu app. Please use another service name.":"Este serviço está reservado para o aplicativo ioBroker.visu. Use outro nome de serviço.","To apply this setting, the restart of adapter must be done. Agree?":"Para aplicar esta configuração, o adaptador tem que ser reiniciado. Aceita?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Para detecção automática, coloque embaixo dos objetos em um canal (dispositivo se não houver canal) uma sala e função também. Não é suficiente atribuir um estado ou dispositivo. Salas/funções podem ser adicionadas enumeradas e devem ser ativadas no adaptador IoT em Enumeração inteligente. Para detectar automaticamente estados manuais novamente, o estado deve ser limpo.",Toggle:clt,"Toggle expert mode":"Alternar modo especialista","Too many devices (%s) configured. Max number is 300":"Muitos dispositivos (%s) configurados. O número máximo é 300!","Turn off":"Desligar","Turn on":"Ligar",Type:dlt,Types:ult,"Use Nightscout instance":"Use a instância Nightscout","Use following link for IFTTT":"Use o seguinte link para IFTTT","Use following link for custom service":"Use o seguinte link para o outros serviços","Use text2command instance":"Use a instância text2command","Vacuum cleaner":"Aspirador de pó",VacuumCleaner:plt,Value:hlt,Volume:flt,"Volume group":"Grupo de volumes",VolumeGroup:mlt,"Web instance":"Instância da web","White list for services":"Lista branca para serviços",Window:glt,"Window sensor":"Sensor de janela","Write response to":"Escreva a resposta para","Yandex Алиса":"Yandex Alice","You can enter several names divided by comma":"Você pode inserir vários nomes divididos por vírgula","amazon link":"Se você usa o ioBroker skill para a Alexa, escreva um comentário para nós <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>aqui</a>.<br>Exemplos podem ser encontrados <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'>aqui</a>.",blind:_lt,blinds:vlt,"by ON":"por ON",cannot_use_password:ylt,clear:blt,ct:wlt,default:"padrão",dimmer:Slt,disabled:xlt,forum_tip:klt,gate:Clt,help_link_tip1:$lt,help_link_tip2:Tlt,help_link_tip3:Elt,help_tip:Olt,hue:Dlt,info_allowedServices:Alt,info_iftttKey:Ilt,invalid_password_warning:Nlt,ioBType:Mlt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"Senha do ioBroker.pro","last value":"último valor",levelSlider:Rlt,light:jlt,lock:zlt,manualModeHint:Plt,modified:Llt,motion:Flt,new_certs_tip:Blt,new_credentials_tip:Wlt,"no type":"nenhum tipo","not activated":"não ativado","omit value":"sem valor",slider:Hlt,socket:Ult,temperature:Vlt,thermostat:qlt,tooltip_allowSelfSignedCertificate:Glt,tooltip_apikey:Jlt,tooltip_cloudUrl:Xlt,tooltip_concatWord:Klt,tooltip_deviceOffLevel:Ylt,tooltip_functionFirst:Zlt,tooltip_instance:Qlt,tooltip_language:ect,tooltip_noCommon:tct,tooltip_responseOID:rct,tooltip_restartOnDisconnect:nct,window:oct},sct="Actief",ict="adressen",lct="Airco",cct="Attributen",dct="Automatisch",uct="Jaloezieën",pct="Jaloezieën",hct="Dimmer",fct="Annuleer",mct="Dichtbij",gct="Kleur",_ct="commando's",vct="Contactsensor",yct="Controle",bct="Standaard",wct="Verwijderen",Sct="Detectie",xct="dimmer",kct="Deur",Cct="Filter",$ct="functies",Tct="Hek",Ect="Tint",Oct="ID",Dct="Aanleg",Act="Taal",Ict="Licht",Nct="Slot",Mct="Bericht",Rct="modus",jct="Beweging",zct="Gedempt",Pct="Naam",Lct="uit",Fct="OK",Bct="op",Wct="opties",Hct="Percentage",Uct="Aan/Uit",Vct="Beoordeling",qct="Kamer",Gct="kamers",Jct="Opslaan",Xct="Zoeken",Kct="kiezen",Yct="Sensor",Zct="Schuifregelaar",Qct="Stopcontact",edt="Temperatuur",tdt="Thermostaat",rdt="Schakelaar",ndt="Type",odt="Soorten",adt="Stofzuiger",sdt="Waarde",idt="Volume",ldt="Volumegroep",cdt="Raam",ddt="jaloezieën",udt="Jaloezieën",pdt="U kunt% in wachtwoord niet gebruiken. We werken aan de oplossing.",hdt="wissen",fdt="Kleurtemperatuur",mdt="dimmer",gdt="invalide",_dt='Voor vragen in welke taal dan ook, stel deze hier op het forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',vdt="hek",ydt='Voordat u ter ondersteuning schrijft, moet u ervoor zorgen dat u de instructies van de webpagina hebt gelezen en begrepen: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',bdt='Als je nog steeds problemen hebt met de verbinding met Iot, kun je support im <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a> aanvragen',wdt='en pas daarna moet u een e-mail schrijven naar <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Sdt='Geen iobroker.pro-account? Koop het op <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> voor gevalideerde toegang of krijg gratis toegang, maar beperkte toegang.',xdt="tint",kdt="gedeeld door een komma. Gebruik * om alle services toe te staan.",Cdt="Je kunt je belangrijkste <a href='https://ifttt.com/maker_webhooks' target='_blank'>hier</a> vinden onder 'Documentatie'",$dt=`Wachtwoord moet minimaal 8 tekens lang zijn en moet cijfers, hoofdletters en kleine letters bevatten. Wijzig dit in het ioBroker.pro-profiel
675
+ `,Tdt="IoB-type",Edt="Niveau schuifregelaar",Odt="licht",Ddt="Slot",Adt="Selecteer een <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> en een <a target='_blank' rel='noopener noreferrer 'href=' https: //developers.google.com/actions/smarthome/traits/ '>TRAIT</a> na het toevoegen van een staat. Om meerdere eigenschappen toe te voegen, voegt u een andere id en eigenschap toe, maar dezelfde slimme naam, type en kamer. Door komma's gescheiden voor de meerdere slimme namen. Gebruik de ioBroker Enums/Aufzählungen om een kamer toe te wijzen. Met attributen kun je bijvoorbeeld een bereik instellen voor de kleurtemperatuur <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'> Info over Kenmerken die u hier kunt vinden. </a> Leeg kenmerk is {}",Idt="Naam is gewijzigd door gebruiker",Ndt="beweging",Mdt="Als u een herstelbewerking hebt uitgevoerd vanaf een back-up of uw instantie van het ene apparaat naar het andere hebt verplaatst of het IoT-exemplaar hebt verwijderd en opnieuw hebt toegevoegd, moet u de verbindingsbeveiligingscertificaten met deze knop laden",Rdt="Als het inloggen op Alexa Skill/Google Action/Alisa met de ioBroker.pro-inloggegevens mislukt, druk dan op de onderstaande knop.",jdt="schuifregelaar",zdt="stopcontact",Pdt="temperatuur",Ldt="thermostaat",Fdt="Als u uw eigen cloud gebruikt, kunt u het gebruik van zelfondertekende certificaten voor de cloud toestaan.",Bdt="Deze sleutel is vereist om te communiceren met een cloud. Je kunt de API-KEY op https://iobroker.net krijgen en het lijkt op nickname_f1f439a0-001a-11e7-bc64-92361f002671",Wdt="Normaal gesproken hoeft u dit niet te veranderen. Alleen vereist als u van plan bent uw eigen cloud te gebruiken.",Hdt="Bepaal hoe kamer en functie moeten worden samengevoegd. Bijv. met 'in': licht in de woonkamer.",Udt="Sommige groepen bestaan ​​uit gemengde apparaten: dimmers en schakelaars. Het is toegestaan ​​om ze te besturen met AAN- en UIT-commando's en met percentages",Vdt="Normaal gezien zien de namen eruit als room_function. Hier kun je het omschakelen naar function_room.",qdt="Web-instantie, die wordt weergegeven voor uw verbindingen vanuit de cloud.",Gdt="Je kunt de talen definiëren om snel te schakelen tussen US Alexa Skill en DE Alexa Skill.",Jdt="Indien ingeschakeld, worden de instellingen alleen voor deze instantie opgeslagen. Dus in het andere geval kunnen de andere namen worden ingesteld.",Xdt="Voor elke opdracht wordt het tekstantwoord gegenereerd. U kunt hier de Object-ID definiëren, waar deze tekst naartoe moet worden geschreven. Bijv. sayit.0.tts.text.",Kdt="Oplossing voor ontbrekende verbinding met Alexa nadat de verbinding met de cloud verloren was gegaan. Met deze optie kunt u de adapter opnieuw opstarten na elke verbreking en het zal werken.",Ydt="raam",Zdt={"(Set to 0 if behavior not desired)":"(Stel in op 0 als gedrag niet gewenst is)","(you can separate names with comma)":"U kunt verschillende namen invoeren, gescheiden door een komma",Active:sct,"Add device":"Voeg toestel toe","Add new device from state":"Nieuw apparaat toevoegen vanuit staat","Add service":"Service toevoegen",Addresses:ict,"Admin instance":"Beheerdersinstantie",AirCondition:lct,"Alexa devices":"Alexa-apparaten","Alisa devices":"Alisa-apparaten","Allow admin access (only pro)":"Beheerrechten toestaan ​​(alleen pro)","Allow remote access":"Externe toegang toestaan","Allow self-signed certificates":"Sta zelf-ondertekende certificaten toe","Amazon Alexa":"Amazon Alexa","Are you sure?":"Weet je het zeker?",Attributes:cct,"Attributes has not correct JSON format.":"Attributen hebben niet de juiste JSON-indeling","Authentication must be disabled. You can create second instance extra for cloud.":"Verificatie moet zijn uitgeschakeld. U kunt een tweede exemplaar extra voor de cloud maken.",Auto:dct,"Auto Mode":"Automatische modus",Blind:uct,Blinds:pct,Brightness:hct,Cancel:fct,"Cannot add this object":"Kan dit object niet toevoegen, omdat het niet wordt ondersteund.","Cannot read devices!":"Kan geen apparaten lezen!","Certificates will be updated after initiated restart":"Certificaten worden bijgewerkt na de herstart opnieuw gestart","Certificates will be updated after start":"Certificaten worden na het opstarten bijgewerkt","Click now Get new connection certificates to request new temporary password":'Klik nu op "Nieuwe verbindingscertificaten verkrijgen" om een ​​nieuw tijdelijk wachtwoord aan te vragen',Close:mct,"Cloud URL":"Cloud URL","Cloud adapter settings":"Cloud adapter-instellingen","Collapse all devices":"Alle apparaten samenvouwen",Color:gct,"Color HUE":"Kleur TINT","Color temperature":"Kleurtemperatuur",Commands:_ct,"Concatenate words with":"Woorden samenvoegen met","Connection timeout":"Verbinding time-out (ms)",ContactSensor:vct,Control:yct,"Conversation to GH":"Converteer naar GH","Conversation to ioB":"Converteer naar ioB","Copy to clipboard":"Kopieer naar klembord","Create IoT credentials anew":"Maak opnieuw IoT-inloggegevens","Debug outputs":"Debug-uitgangen","Decrement color temperature":"Verlaag de kleurtemperatuur","Decrement percentage":"Verlagingspercentage","Decrement target temperature":"Verlaag de doeltemperatuur",Default:bct,"Default toggle behaviour (Only alexa v3)":"Standaard schakelgedrag (alleen alexa v3)",Delete:wct,Detection:Sct,"Device %s was not added":"Apparaat %s is niet toegevoegd","Device %s will be disabled.":"Apparaat %s wordt uitgeschakeld.","Device will be deactivated.":"Apparaat wordt gedeactiveerd.","Device will be disabled.":"Apparaat %s zal worden uitgeschakeld.",Dimmer:xct,"Do not toggle":"Wissel niet",Door:kct,"Door sensor":"Deur sensor","Duplicate name":"Dubbele naam","Edit smart name":"Bewerk slimme naam",Error:"Fout","Expand all devices":"Alle apparaten uitvouwen","Extended options":"Uitgebreide opties",Filter:Cct,"For help use this forum":"Ga voor hulp naar dit <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Function:"Functie","Function/Trait":"Functie / eigenschap",Functions:$ct,Gate:Tct,"Get actual humidity":"Verkrijg de werkelijke luchtvochtigheid","Get actual temperature":"Krijg de werkelijke temperatuur","Get contact":"Krijg contactstatus","Get motion":"Krijg beweging","Get new connection certificates":"Ontvang nieuwe verbindingscertificaten","Get new service URL key":"Ontvang nieuwe service URL-sleutel","Get target temperature":"Krijg doeltemperatuur","Google Home":"Google Home","Google devices":"Google-apparaten","Grouped from %s and %s":"Gegroepeerd van %s en %s",Hue:Ect,ID:Oct,"IFTTT key":"IFTTT-sleutel","Increment color temperature":"Verhoog de kleurtemperatuur","Increment percentage":"Verhoging percentage","Increment target temperature":"Verhoog de doeltemperatuur","Information: The skill linking process was changed!":"Informatie: het proces voor het koppelen van vaardigheden is gewijzigd!",Instance:Dct,"Instance does not exists":"Instantie bestaat niet","Instance is not active.":"Instantie is niet actief.","Instance must be enabled":"Exemplaar moet zijn ingeschakeld","Instance must run to deliver the data":"Het exemplaar moet worden uitgevoerd om de gegevens te bezorgen","Invalid object":"Ongeldig object",Language:Act,Light:Ict,"List of devices to print out, e.g. to give all device names to your partner.":"Lijst met af te drukken apparaten, b.v. om alle apparaatnamen aan uw partner te geven.","Load configuration from file":"Laad configuratie vanuit bestand",Lock:Nct,"Manual Mode":"Handmatige modus",Message:Mct,Mode:Rct,Motion:jct,Muted:zct,Name:Pct,"Not understood":"Niet begrepen","Now there is no temporary password that will be sent by email.":"Nu is er geen tijdelijk wachtwoord dat per e-mail wordt verzonden.","OFF level for switches":"UIT-niveau voor schakelaars","OFF level for switches in %":"UIT-niveau voor schakelaars in %",Off:Lct,Ok:Fct,On:Bct,"On/Off":"Aan uit",Options:Wct,Percentage:Hct,"Personal settings (only pro)":"Persoonlijke instellingen (alleen pro)","Ping timeout:":"Ping-timeout (ms)","Place function in names first":"Plaats eerst de functie in namen","Please add action and trait to complete the Google Home state.":"Voeg actie en eigenschap toe om de Google Home-status te voltooien.","Please add type and trait to complete the Google Home state.":"Voeg type en kenmerk toe om de Google Home-status te voltooien.","Please select object ID...":"Selecteer een object-ID ...","Please write your email only in lower case letters":"Schrijf uw e-mail alleen in kleine letters",Power:Uct,"Read blood sugar from":"Lees de bloedsuikerspiegel van","Read lock state":"Lees de vergrendelingsstatus","Refresh list of devices":"Lijst met apparaten vernieuwen","Replace in names":"Vervangen in namen","Request email with password one more time":"E-mail met wachtwoord nog een keer aanvragen","Restart on disconnect":"Opnieuw opstarten bij verbreken",Review:Vct,"Roger that":"Begrepen",Room:qct,Rooms:Gct,Save:Jct,"Save and close":"Opslaan en sluiten","Save configuration to file":"Sla configuratie op naar bestand","Save settings and the names will be changed":"Sla instellingen op en de namen worden gewijzigd","Save settings before pressing this button":"Sla de instellingen op voordat u op deze knop drukt",Search:Xct,Select:Kct,Sensor:Yct,"Service names":"Servicenamen","Services and IFTTT":"Diensten en IFTTT","Set color":"Stel de kleur in","Set color temperature":"Stel de kleurtemperatuur in","Set lock state":"Stel de vergrendelingsstatus in","Set percentage":"Percentage instellen","Set point":"Setpunt","Set target temperature":"Stel de doeltemperatuur in","Short answer for blood sugar":"Kort antwoord voor bloedsuiker","Show all devices for print out":"Alle apparaten weergeven om af te drukken","Show/Hide help":"Help weergeven / verbergen",Slider:Zct,"Smart Devices":"Slimme apparaten","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Slim enums","Smart name":"Slimme naam","Smart name for %s":"Slimme naam voor %s","Smart names":"Slimme namen",Socket:Qct,Temperature:edt,"The linking process has been changed for a few months.":"Het koppelingsproces is voor een paar maanden gewijzigd.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Het wachtwoord is gelijk aan ioBroker.pro en met het wachtwoord dat hier in de instellingen is ingevoerd!",Thermostat:tdt,"Thermostat mode":"Thermostaat modus","This service is reserved for the ioBroker.visu app. Please use another service name.":"Deze service is gereserveerd voor de ioBroker.visu-app. Gebruik een andere servicenaam.","To apply this setting, the restart of adapter must be done. Agree?":"Om deze instelling toe te passen, moet de adapter opnieuw worden opgestart. Mee eens?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Voor automatische detectie wijst onder objecten een kanaal (apparaat als er geen kanaal beschikbaar is) toe aan een kamer en functie. Het is niet voldoende om de kamer toe te wijzen aan een staat of apparaat. Kamers/functies kunnen worden toegevoegd onder opsomming (aangegeven door de witte pijl in de rechterbovenhoek) en moeten worden geactiveerd in de IoT-adapter onder Intelligente opsomming. Om handmatige statussen automatisch te herkennen, moet de status worden verwijderd.",Toggle:rdt,"Toggle expert mode":"Schakel de expertmodus in","Too many devices (%s) configured. Max number is 300":"Te veel apparaten (%s) geconfigureerd. Maximaal aantal is 300!","Turn off":"Uitschakelen","Turn on":"Aanzetten",Type:ndt,Types:odt,"Use Nightscout instance":"Gebruik de Nightscout-instantie","Use following link for IFTTT":"Gebruik de volgende link voor IFTTT","Use following link for custom service":"Gebruik de volgende link voor aangepaste service","Use text2command instance":"Gebruik de text2command-instantie","Vacuum cleaner":"Stofzuiger",VacuumCleaner:adt,Value:sdt,Volume:idt,"Volume group":"Volumegroep",VolumeGroup:ldt,"Web instance":"Webinstantie","White list for services":"Witte lijst voor services",Window:cdt,"Window sensor":"Raam sensor","Write response to":"Schrijf reactie op","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"U kunt verschillende namen invoeren, gescheiden door een komma","amazon link":"Als je de Alexa Skill gebruikt, schrijf dan een recensie voor ons <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>hier</a>.<br>Voorbeelden zijn <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> hier </a> te vinden.",blind:ddt,blinds:udt,"by ON":"door ON",cannot_use_password:pdt,clear:hdt,ct:fdt,default:"standaard",dimmer:mdt,disabled:gdt,forum_tip:_dt,gate:vdt,help_link_tip1:ydt,help_link_tip2:bdt,help_link_tip3:wdt,help_tip:Sdt,hue:xdt,info_allowedServices:kdt,info_iftttKey:Cdt,invalid_password_warning:$dt,ioBType:Tdt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Wachtwoord","last value":"laatste waarde",levelSlider:Edt,light:Odt,lock:Ddt,manualModeHint:Adt,modified:Idt,motion:Ndt,new_certs_tip:Mdt,new_credentials_tip:Rdt,"no type":"geen type","not activated":"niet geactiveerd","omit value":"geen waarde",slider:jdt,socket:zdt,temperature:Pdt,thermostat:Ldt,tooltip_allowSelfSignedCertificate:Fdt,tooltip_apikey:Bdt,tooltip_cloudUrl:Wdt,tooltip_concatWord:Hdt,tooltip_deviceOffLevel:Udt,tooltip_functionFirst:Vdt,tooltip_instance:qdt,tooltip_language:Gdt,tooltip_noCommon:Jdt,tooltip_responseOID:Xdt,tooltip_restartOnDisconnect:Kdt,window:Ydt},Qdt="actif",eut="Adresses",tut="Air conditionné",rut="Les attributs",nut="Automatiquement",out="Stores de fenêtre",aut="Stores de fenêtre",sut="Variateur",iut="Annuler",lut="Fermer",cut="Couleur",dut="Commandes",uut="Contacter le capteur",put="Contrôle",hut="Défaut",fut="Effacer",mut="Détection",gut="Variateur",_ut="Porte",vut="Filtre",yut="Les fonctions",but="Portail",wut="Teinte",Sut="ID",xut="Exemple",kut="La langue",Cut="Lumière",$ut="Serrure",Tut="Message",Eut="Mode",Out="Mouvement",Dut="En sourdine",Aut="Nom",Iut="de",Nut="D'accord",Mut="sur",Rut="Options",jut="Pourcentage",zut="Allumé/éteint",Put="La revue",Lut="Chambre",Fut="Pièces",But="sauvegarder",Wut="Chercher",Hut="Sélectionner",Uut="Capteur",Vut="Glissière",qut="Prise",Gut="Température",Jut="Thermostat",Xut="Basculer",Kut="Type",Yut="Les types",Zut="aspirateur",Qut="Valeur",ept="Volume",tpt="Groupe de volumes",rpt="Fenêtre",npt="stores de fenêtre",opt="Stores",apt="Vous ne pouvez pas utiliser% dans le mot de passe. Nous travaillons sur le correctif.",spt="nettoyer",ipt="Température de couleur",lpt="variateur",cpt="désactivée",dpt=`Si vous avez des questions dans n'importe quelle langue, posez-les ici dans le forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> lien </a>`,upt="portail",ppt=`Avant d'écrire au support, assurez-vous d'avoir lu et compris les instructions de la page Web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>`,hpt='Si vous rencontrez toujours des problèmes avec la connexion à Iot, vous pouvez demander une assistance dans le <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">forum</a>',fpt='et seulement après cela, vous devez écrire un e-mail à <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',mpt='Pas de compte iobroker.pro? Achetez-le sur <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> pour un accès validé ou obtenez gratuitement un accès limité.',gpt="teinte",_pt="divisé par virgule. Utilisez * pour autoriser tous les services.",vpt="Vous pouvez trouver votre clé <a href='https://ifttt.com/maker_webhooks' target='_blank'> ici </a> sous 'Documentation'",ypt=`Le mot de passe doit comporter au moins 8 caractères et doit comporter des chiffres, des lettres majuscules et minuscules. Veuillez le modifier dans le profil ioBroker.pro
676
+ `,bpt="Type IoB",wpt="Curseur de niveau",Spt="lumière",xpt="Serrure",kpt="Veuillez sélectionner un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> et un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> après avoir ajouté un état. Pour ajouter plusieurs traits, ajoutez un identifiant et un trait différents, mais le même nom intelligent, le même type et la même pièce. Séparé par des virgules pour les multiples noms intelligents. Pour attribuer une chambre, veuillez utiliser les ioBroker Enums/Aufzählungen. Avec les attributs, vous pouvez par exemple définir une plage de température de couleur <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos sur Les attributs que vous pouvez trouver ici.</a> L'attribut vide est {}",Cpt="Le nom a été modifié par l'utilisateur",$pt="mouvement",Tpt="Si vous avez effectué une restauration à partir d'une sauvegarde, ou déplacé votre instance d'un appareil vers un autre ou supprimé l'instance IoT et l'ajoutée à nouveau, vous devez charger les certificats de sécurité de connexion avec ce bouton",Ept="Si la connexion à Alexa Skill/Google Action/Alisa avec les données de connexion ioBroker.pro échoue, veuillez appuyer sur le bouton ci-dessous.",Opt="glissière",Dpt="prise",Apt="température",Ipt="thermostat",Npt="Si vous utilisez votre propre cloud, vous pouvez autoriser l'utilisation de certificats autosignés pour le cloud.",Mpt="Cette clé est requise pour communiquer avec un nuage. Vous pouvez obtenir l'API-KEY sur https://iobroker.net et il ressemble à pseudo_f1f439a0-001a-11e7-bc64-92361f002671",Rpt="Normalement, vous n'avez pas besoin de le changer. Uniquement nécessaire si vous prévoyez d'utiliser votre propre cloud.",jpt="Définir la concaténation de la pièce et de la fonction. Par exemple. avec 'in': Lumière dans le salon.",zpt="Certains groupes sont composés de dispositifs mixtes: gradateurs et commutateurs. Il est permis de les contrôler avec des commandes ON et OFF et avec des pourcentages",Ppt="Normalement, les noms ressemblent à room_function. Ici vous pouvez passer à function_room.",Lpt="Instance Web, qui sera affichée pour vos connexions depuis le cloud.",Fpt="Vous pouvez définir les langues pour passer rapidement entre les compétences américaines Alexa et DE Alexa.",Bpt="Si activé, les paramètres seront stockés uniquement pour cette instance. Dans un autre cas, les autres noms pourraient être définis.",Wpt="Pour chaque commande, la réponse textuelle sera générée. Vous pouvez définir ici l'ID de l'objet, où ce texte doit être écrit. Par exemple. sayit.0.tts.text.",Hpt="Solution de contournement pour la connexion manquante à Alexa après la connexion au cloud a été perdue. Avec cette option, vous pouvez redémarrer l'adaptateur après chaque déconnexion et cela fonctionnera.",Upt="fenêtre",Vpt={"(Set to 0 if behavior not desired)":"(Mettre à 0 si le comportement n'est pas désiré)","(you can separate names with comma)":"Vous pouvez entrer plusieurs noms divisés par une virgule",Active:Qdt,"Add device":"Ajouter un appareil","Add new device from state":"Ajouter un nouvel appareil à partir de l'état","Add service":"Ajouter un service",Addresses:eut,"Admin instance":"Instance d'administration",AirCondition:tut,"Alexa devices":"Appareils Alexa","Alisa devices":"Appareils Alisa","Allow admin access (only pro)":"Autoriser l'accès administrateur (uniquement pro)","Allow remote access":"Autoriser l'accès à distance","Allow self-signed certificates":"Autoriser les certificats auto-signés","Amazon Alexa":"Amazon Alexa","Are you sure?":"Êtes-vous sûr?",Attributes:rut,"Attributes has not correct JSON format.":"Les attributs ne sont pas au format JSON correct","Authentication must be disabled. You can create second instance extra for cloud.":"L'authentification doit être désactivée. Vous pouvez créer une seconde instance supplémentaire pour le cloud.",Auto:nut,"Auto Mode":"Mode automatique",Blind:out,Blinds:aut,Brightness:sut,Cancel:iut,"Cannot add this object":"Impossible d'ajouter cet objet, car non pris en charge.","Cannot read devices!":"Impossible de lire les appareils!","Certificates will be updated after initiated restart":"Les certificats seront mis à jour après le redémarrage initié","Certificates will be updated after start":"Les certificats seront mis à jour après le démarrage","Click now Get new connection certificates to request new temporary password":'Cliquez maintenant sur "Obtenir de nouveaux certificats de connexion" pour demander un nouveau mot de passe temporaire.',Close:lut,"Cloud URL":"URL de cloud","Cloud adapter settings":"Paramètres de l'adaptateur cloud","Collapse all devices":"Réduire tous les appareils",Color:cut,"Color HUE":"Teinte de couleur","Color temperature":"Température de couleur",Commands:dut,"Concatenate words with":"Concaténer les mots avec","Connection timeout":"Délai de connexion (ms)",ContactSensor:uut,Control:put,"Conversation to GH":"Convertir en GH","Conversation to ioB":"Convertir en ioB","Copy to clipboard":"Copier dans le presse-papier","Create IoT credentials anew":"Créez à nouveau les informations d'identification IoT","Debug outputs":"Déboguer les sorties","Decrement color temperature":"Décrémenter la température de couleur","Decrement percentage":"Pourcentage de décrémentation","Decrement target temperature":"Décrémenter la température cible",Default:hut,"Default toggle behaviour (Only alexa v3)":"Comportement de basculement par défaut (uniquement alexa v3)",Delete:fut,Detection:mut,"Device %s was not added":"Le périphérique %s n'a pas été ajouté","Device %s will be disabled.":"Le périphérique %s sera désactivé.","Device will be deactivated.":"L'appareil sera désactivé.","Device will be disabled.":"L'appareil %s sera désactivé.",Dimmer:gut,"Do not toggle":"Ne pas basculer",Door:_ut,"Door sensor":"Capteur de porte","Duplicate name":"Nom en double","Edit smart name":"Modifier le nom intelligent",Error:"Erreur","Expand all devices":"Développer tous les appareils","Extended options":"Options étendues",Filter:vut,"For help use this forum":"Pour obtenir de l'aide, visitez ce <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum publier</a>",Function:"Fonction","Function/Trait":"Fonction / trait",Functions:yut,Gate:but,"Get actual humidity":"Obtenez l'humidité réelle","Get actual temperature":"Obtenir la température réelle","Get contact":"Obtenir le statut du contact","Get motion":"Obtenez du mouvement","Get new connection certificates":"Obtenir de nouveaux certificats de connexion","Get new service URL key":"Obtenir une nouvelle clé d'URL de service","Get target temperature":"Obtenir la température cible","Google Home":"Google Home","Google devices":"Appareils Google","Grouped from %s and %s":"Groupé de %s et %s",Hue:wut,ID:Sut,"IFTTT key":"Touche IFTTT","Increment color temperature":"Incrément de température de couleur","Increment percentage":"Pourcentage d'incrément","Increment target temperature":"Augmenter la température cible","Information: The skill linking process was changed!":"Information: le processus de liaison des compétences a été modifié!",Instance:xut,"Instance does not exists":"L'instance n'existe pas","Instance is not active.":"L'instance n'est pas active.","Instance must be enabled":"L'instance doit être activée","Instance must run to deliver the data":"L'instance doit s'exécuter pour fournir les données","Invalid object":"Objet invalide",Language:kut,Light:Cut,"List of devices to print out, e.g. to give all device names to your partner.":"Liste des périphériques à imprimer, par ex. pour donner tous les noms d'appareils à votre partenaire.","Load configuration from file":"Charger la configuration du fichier",Lock:$ut,"Manual Mode":"Mode manuel",Message:Tut,Mode:Eut,Motion:Out,Muted:Dut,Name:Aut,"Not understood":"Pas compris","Now there is no temporary password that will be sent by email.":"Désormais, aucun mot de passe temporaire ne sera envoyé par e-mail.","OFF level for switches":"Niveau OFF pour les commutateurs","OFF level for switches in %":"Niveau OFF pour les commutateurs en %",Off:Iut,Ok:Nut,On:Mut,"On/Off":"Allumé éteint",Options:Rut,Percentage:jut,"Personal settings (only pro)":"Paramètres personnels (uniquement pro)","Ping timeout:":"Ping timeout (ms)","Place function in names first":"Placez la fonction dans les noms en premier","Please add action and trait to complete the Google Home state.":"Veuillez ajouter une action et un trait pour terminer l'état de Google Home.","Please add type and trait to complete the Google Home state.":"Veuillez ajouter un type et un trait pour terminer l'état de Google Home.","Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","Please write your email only in lower case letters":"S'il vous plaît écrivez votre email uniquement en minuscules",Power:zut,"Read blood sugar from":"Lire la glycémie à partir de","Read lock state":"État verrouillé","Refresh list of devices":"Actualiser la liste des appareils","Replace in names":"Remplacer dans les noms","Request email with password one more time":"Demander l'email avec le mot de passe une fois de plus","Restart on disconnect":"Redémarrer à la déconnexion",Review:Put,"Roger that":"Bien reçu",Room:Lut,Rooms:Fut,Save:But,"Save and close":"Sauver et fermer","Save configuration to file":"Enregistrer la configuration dans un fichier","Save settings and the names will be changed":"Enregistrer les paramètres et les noms seront modifiés","Save settings before pressing this button":"Enregistrez les paramètres avant d'appuyer sur ce bouton",Search:Wut,Select:Hut,Sensor:Uut,"Service names":"Noms de service","Services and IFTTT":"Services et IFTTT","Set color":"Définir la couleur","Set color temperature":"Régler la température de couleur","Set lock state":"Définir l'état de verrouillage","Set percentage":"Définir le pourcentage","Set point":"Point de consigne","Set target temperature":"Régler la température cible","Short answer for blood sugar":"Réponse courte pour la glycémie","Show all devices for print out":"Afficher tous les appareils à imprimer","Show/Hide help":"Afficher / masquer l'aide",Slider:Vut,"Smart Devices":"Smart Devices","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Smart enums","Smart name":"Nom intelligent","Smart name for %s":"Nom intelligent pour %s","Smart names":"Noms intelligents",Socket:qut,Temperature:Gut,"The linking process has been changed for a few months.":"Le processus de mise en relation a été modifié depuis quelques mois.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Le mot de passe est égal à ioBroker.pro et au mot de passe qui a été saisi ici dans les paramètres!",Thermostat:Jut,"Thermostat mode":"Mode thermostatique","This service is reserved for the ioBroker.visu app. Please use another service name.":"Ce service est réservé à l'application ioBroker.visu. Veuillez utiliser un autre nom de service.","To apply this setting, the restart of adapter must be done. Agree?":"Pour appliquer ce paramètre, l'adaptateur doit être redémarré. Se mettre d'accord?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Pour la détection automatique, sous les objets, affectez un canal (appareil si aucun canal n'est disponible) à une pièce et une fonction. Il ne suffit pas d'affecter la pièce à un état ou à un appareil. Les salles/fonctions peuvent être ajoutées sous l'énumération (indiquée par la flèche blanche en haut à droite) et doivent être activées dans l'adaptateur IoT sous l'énumération intelligente. Afin de reconnaître automatiquement les états manuels, l'état doit être supprimé.",Toggle:Xut,"Toggle expert mode":"Basculer en mode expert","Too many devices (%s) configured. Max number is 300":"Trop de périphériques (%s) configurés. Le nombre maximum est 300 !","Turn off":"Éteindre","Turn on":"Allumer",Type:Kut,Types:Yut,"Use Nightscout instance":"Utilisez l'instance Nightscout","Use following link for IFTTT":"Utilisez le lien suivant pour IFTTT","Use following link for custom service":"Utilisez le lien suivant pour un service personnalisé","Use text2command instance":"Utilisez l'instance text2command","Vacuum cleaner":"aspirateur",VacuumCleaner:Zut,Value:Qut,Volume:ept,"Volume group":"Groupe de volumes",VolumeGroup:tpt,"Web instance":"Instance Web","White list for services":"Liste blanche pour les services",Window:rpt,"Window sensor":"Capteur de fenêtre","Write response to":"Écrire une réponse à","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Vous pouvez entrer plusieurs noms divisés par une virgule","amazon link":"Si vous utilisez la compétence Alexa, veuillez écrire une critique pour nous <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>ici</a>.<br>Des exemples peuvent être trouvés <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> ici </a>.",blind:npt,blinds:opt,"by ON":"par le",cannot_use_password:apt,clear:spt,ct:ipt,default:"défaut",dimmer:lpt,disabled:cpt,forum_tip:dpt,gate:upt,help_link_tip1:ppt,help_link_tip2:hpt,help_link_tip3:fpt,help_tip:mpt,hue:gpt,info_allowedServices:_pt,info_iftttKey:vpt,invalid_password_warning:ypt,ioBType:bpt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"Mot de passe ioBroker.pro","last value":"dernière valeur",levelSlider:wpt,light:Spt,lock:xpt,manualModeHint:kpt,modified:Cpt,motion:$pt,new_certs_tip:Tpt,new_credentials_tip:Ept,"no type":"pas de type","not activated":"non activé","omit value":"aucune valeur",slider:Opt,socket:Dpt,temperature:Apt,thermostat:Ipt,tooltip_allowSelfSignedCertificate:Npt,tooltip_apikey:Mpt,tooltip_cloudUrl:Rpt,tooltip_concatWord:jpt,tooltip_deviceOffLevel:zpt,tooltip_functionFirst:Ppt,tooltip_instance:Lpt,tooltip_language:Fpt,tooltip_noCommon:Bpt,tooltip_responseOID:Wpt,tooltip_restartOnDisconnect:Hpt,window:Upt},qpt="Attivo",Gpt="indirizzi",Jpt="Aria condizionata",Xpt="attributi",Kpt="Automaticamente",Ypt="Tapparelle",Zpt="Tapparelle",Qpt="Dimmer",eht="Annulla",tht="Vicino",rht="Colore",nht="comandi",oht="Sensore di contatto",aht="Controllo",sht="Predefinito",iht="Elimina",lht="Rilevamento",cht="oscuratore",dht="Porta",uht="Filtro",pht="funzioni",hht="Cancello",fht="Tinta",mht="ID",ght="Esempio",_ht="Linguaggio",vht="Leggero",yht="Serratura",bht="Messaggio",wht="Modalità",Sht="Movimento",xht="Disattivato",kht="Nome",Cht="via",$ht="Ok",Tht="sopra",Eht="Opzioni",Oht="Percentuale",Dht="Acceso/Spento",Aht="Revisione",Iht="Camera",Nht="Camere",Mht="Salvare",Rht="Ricerca",jht="Selezionare",zht="Sensore",Pht="Cursore",Lht="PRESA",Fht="Temperatura",Bht="Termostato",Wht="Alterna",Hht="Genere",Uht="tipi",Vht="Aspirapolvere",qht="Valore",Ght="Volume",Jht="Gruppo di volumi",Xht="Finestra",Kht="tapparelle",Yht="Tende",Zht="Non è possibile utilizzare% nella password. Stiamo lavorando alla correzione.",Qht="cancellare",eft="Temperatura del colore",tft="dimmer",rft="Disabilitato",nft='Per qualsiasi domanda in qualsiasi lingua, si prega di porre qui nel forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',oft="cancello",aft='Prima di scrivere per il supporto, assicurarsi di aver letto e compreso le istruzioni della pagina Web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',sft='Se hai ancora problemi con la connessione a Iot, puoi richiedere supporto a <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a>',ift='e solo dopo dovrai scrivere una email a <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',lft=`Nessun account iobroker.pro? Compralo su <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> per l'accesso convalidato o ottieni l'accesso gratuito, ma limitato.`,cft="tinta",dft="diviso per virgola. Usa * per consentire tutti i servizi.",uft="Puoi trovare la tua chiave <a href='https://ifttt.com/maker_webhooks' target='_blank'> qui </a> in 'Documentazione'",pft=`La password deve contenere almeno 8 caratteri e deve contenere numeri, lettere maiuscole e minuscole. Si prega di cambiarlo nel profilo ioBroker.pro
677
+ `,hft="Tipo di IoB",fft="Cursore di livello",mft="leggero",gft="Serratura",_ft="Seleziona un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> e un <a target='_blank' rel=' noopener noreferrer' href='https: //developers.google.com/actions/smarthome/traits/'>TRAIT</a> dopo aver aggiunto uno stato. Per aggiungere più tratti, aggiungi un ID e un tratto diversi ma lo stesso nome, tipo e spazio intelligenti. Virgola separata per più nomi intelligenti. Per assegnare una stanza, utilizzare ioBroker Enums/Aufzählungen. Con gli attributi puoi ad esempio impostare un intervallo per la temperatura del colore <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Informazioni su Gli attributi che puoi trovare qui.</a> L'attributo vuoto è {}",vft="Il nome è stato modificato dall'utente",yft="movimento",bft="Se hai effettuato un ripristino dal backup o hai spostato l'istanza da un dispositivo all'altro o hai eliminato l'istanza IoT e l'hai aggiunta di nuovo, devi caricare i certificati di sicurezza della connessione con questo pulsante",wft="Se l'accesso ad Alexa Skill/Google Action/Alisa con i dati di accesso ioBroker.pro non riesce, premere il pulsante in basso.",Sft="cursore",xft="PRESA",kft="temperatura",Cft="termostato",$ft="Se si utilizza il proprio cloud, è possibile consentire l'uso di certificati autofirmati per il cloud.",Tft="Questa chiave è necessaria per comunicare con un cloud. Puoi ottenere l'API-KEY su https://iobroker.net e sembra nickname_f1f439a0-001a-11e7-bc64-92361f002671",Eft="Normalmente non è necessario cambiarlo. Richiesto solo se prevedi di utilizzare il tuo cloud.",Oft="Definire come concatenare Room e Function. Per esempio. con 'in': luce nel soggiorno.",Dft="Alcuni gruppi sono costituiti da dispositivi misti: dimmer e interruttori. È consentito controllarli con comandi ON e OFF e con percentuali",Aft="Normalmente i nomi assomigliano a room_function. Qui puoi passare a function_room.",Ift="Istanza Web, che verrà mostrata per le connessioni dal cloud.",Nft="È possibile definire le lingue per passare velocemente da US Alexa Skill a DE Alexa Skill.",Mft="Se abilitato, le impostazioni verranno memorizzate solo per questa istanza. Quindi in un'altra istanza potrebbero essere impostati gli altri nomi.",Rft="Per ogni comando verrà generata la risposta testuale. È possibile definire qui l'ID oggetto, dove questo testo deve essere scritto. Per esempio. sayit.0.tts.text.",jft="Soluzione alternativa per la mancata connessione ad Alexa dopo la perdita della connessione al cloud. Con questa opzione è possibile riavviare l'adattatore dopo ogni disconnessione e funzionerà.",zft="finestra",Pft={"(Set to 0 if behavior not desired)":"(Impostare su 0 se il comportamento non è desiderato)","(you can separate names with comma)":"È possibile inserire diversi nomi divisi per virgola",Active:qpt,"Add device":"Aggiungi dispositivo","Add new device from state":"Aggiungi nuovo dispositivo dallo stato","Add service":"Aggiungi servizio",Addresses:Gpt,"Admin instance":"Istanza amministratore",AirCondition:Jpt,"Alexa devices":"Dispositivi Alexa","Alisa devices":"Dispositivi Alisa","Allow admin access (only pro)":"Permetti l'accesso amministratore (solo pro)","Allow remote access":"Consenti accesso remoto","Allow self-signed certificates":"Consenti certificati autofirmati","Amazon Alexa":"Amazon Alexa","Are you sure?":"Sei sicuro?",Attributes:Xpt,"Attributes has not correct JSON format.":"Gli attributi non sono nel formato JSON corretto","Authentication must be disabled. You can create second instance extra for cloud.":"L'autenticazione deve essere disabilitata. È possibile creare un extra di seconda istanza per il cloud.",Auto:Kpt,"Auto Mode":"Modalità automatica",Blind:Ypt,Blinds:Zpt,Brightness:Qpt,Cancel:eht,"Cannot add this object":"Impossibile aggiungere questo oggetto, perché non supportato.","Cannot read devices!":"Impossibile leggere i dispositivi!","Certificates will be updated after initiated restart":"I certificati verranno aggiornati dopo il riavvio avviato","Certificates will be updated after start":"I certificati verranno aggiornati dopo l'avvio","Click now Get new connection certificates to request new temporary password":'Fare clic su "Ottieni nuovi certificati di connessione" per richiedere una nuova password temporanea',Close:tht,"Cloud URL":"URL del cloud","Cloud adapter settings":"Impostazioni dell'adattatore cloud","Collapse all devices":"Comprimi tutti i dispositivi",Color:rht,"Color HUE":"Colore TONALITÀ","Color temperature":"Temperatura di colore",Commands:nht,"Concatenate words with":"Parole concatenate con","Connection timeout":"Timeout connessione (ms)",ContactSensor:oht,Control:aht,"Conversation to GH":"Converti in GH","Conversation to ioB":"Converti in ioB","Copy to clipboard":"Copia negli appunti","Create IoT credentials anew":"Crea nuovamente le credenziali IoT","Debug outputs":"Uscite di debug","Decrement color temperature":"Ridurre la temperatura del colore","Decrement percentage":"Percentuale di decremento","Decrement target temperature":"Ridurre la temperatura target",Default:sht,"Default toggle behaviour (Only alexa v3)":"Comportamento di commutazione predefinito (solo Alexa v3)",Delete:iht,Detection:lht,"Device %s was not added":"Il dispositivo %s non è stato aggiunto","Device %s will be disabled.":"Il dispositivo %s sarà disabilitato.","Device will be deactivated.":"Il dispositivo sarà disattivato.","Device will be disabled.":"Il dispositivo sarà disabilitato.",Dimmer:cht,"Do not toggle":"Non alternare",Door:dht,"Door sensor":"Sensore porta","Duplicate name":"Nome duplicato","Edit smart name":"Modifica il nome intelligente",Error:"Errore","Expand all devices":"Espandi tutti i dispositivi","Extended options":"Opzioni estese",Filter:uht,"For help use this forum":"Per assistenza, visita questo <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Function:"Funzione","Function/Trait":"Funzione / Trait",Functions:pht,Gate:hht,"Get actual humidity":"Ottieni l'umidità effettiva","Get actual temperature":"Ottieni la temperatura effettiva","Get contact":"Ottieni lo stato del contatto","Get motion":"Ottieni movimento","Get new connection certificates":"Ottieni nuovi certificati di connessione","Get new service URL key":"Ottieni una nuova chiave URL del servizio","Get target temperature":"Ottieni la temperatura target","Google Home":"Google Home","Google devices":"Dispositivi Google","Grouped from %s and %s":"Raggruppato da %s e %s",Hue:fht,ID:mht,"IFTTT key":"Tasto IFTTT","Increment color temperature":"Incrementa la temperatura del colore","Increment percentage":"Percentuale di incremento","Increment target temperature":"Incremento della temperatura target","Information: The skill linking process was changed!":"Informazioni: il processo di collegamento delle abilità è stato modificato!",Instance:ght,"Instance does not exists":"L'istanza non esiste","Instance is not active.":"L'istanza non è attiva.","Instance must be enabled":"L'istanza deve essere abilitata","Instance must run to deliver the data":"L'istanza deve essere eseguita per consegnare i dati","Invalid object":"Oggetto non valido",Language:_ht,Light:vht,"List of devices to print out, e.g. to give all device names to your partner.":"Elenco dei dispositivi da stampare, ad es. per dare tutti i nomi dei dispositivi al tuo partner.","Load configuration from file":"Carica la configurazione dal file",Lock:yht,"Manual Mode":"Modalità manuale",Message:bht,Mode:wht,Motion:Sht,Muted:xht,Name:kht,"Not understood":"Non compreso","Now there is no temporary password that will be sent by email.":"Ora non esiste una password temporanea che verrà inviata tramite e-mail.","OFF level for switches":"Livello OFF per interruttori","OFF level for switches in %":"Livello OFF per gli interruttori in %",Off:Cht,Ok:$ht,On:Tht,"On/Off":"Acceso spento",Options:Eht,Percentage:Oht,"Personal settings (only pro)":"Impostazioni personali (solo pro)","Ping timeout:":"Timeout del ping (ms)","Place function in names first":"Inserisci la funzione nei nomi prima","Please add action and trait to complete the Google Home state.":"Aggiungi azione e tratto per completare lo stato di Google Home.","Please add type and trait to complete the Google Home state.":"Aggiungi tipo e tratto per completare lo stato di Google Home.","Please select object ID...":"Si prega di selezionare l'oggetto ID ...","Please write your email only in lower case letters":"Si prega di scrivere la tua email solo in lettere minuscole",Power:Dht,"Read blood sugar from":"Leggi lo zucchero nel sangue da","Read lock state":"Leggi lo stato di blocco","Refresh list of devices":"Aggiorna l'elenco dei dispositivi","Replace in names":"Sostituisci nei nomi","Request email with password one more time":"Richiedi l'email con la password ancora una volta","Restart on disconnect":"Riavvia alla disconnessione",Review:Aht,"Roger that":"Ricevuto",Room:Iht,Rooms:Nht,Save:Mht,"Save and close":"Salva e chiudi","Save configuration to file":"Salva la configurazione nel file","Save settings and the names will be changed":"Salva le impostazioni e i nomi saranno cambiati","Save settings before pressing this button":"Salvare le impostazioni prima di premere questo pulsante",Search:Rht,Select:jht,Sensor:zht,"Service names":"Nomi di servizio","Services and IFTTT":"Servizi e IFTTT","Set color":"Imposta il colore","Set color temperature":"Imposta la temperatura del colore","Set lock state":"Imposta lo stato di blocco","Set percentage":"Imposta la percentuale","Set point":"Punto stabilito","Set target temperature":"Imposta la temperatura target","Short answer for blood sugar":"Risposta breve per zucchero nel sangue","Show all devices for print out":"Mostra tutti i dispositivi per la stampa","Show/Hide help":"Mostra / Nascondi aiuto",Slider:Pht,"Smart Devices":"Dispositivi intelligenti","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Enumerazioni intelligenti","Smart name":"Nome intelligente","Smart name for %s":"Nome intelligente per %s","Smart names":"Nomi intelligenti",Socket:Lht,Temperature:Fht,"The linking process has been changed for a few months.":"Il processo di collegamento è stato modificato per alcuni mesi.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"La password è uguale a ioBroker.pro e alla password che è stata inserita qui nelle impostazioni!",Thermostat:Bht,"Thermostat mode":"Modalità termostato","This service is reserved for the ioBroker.visu app. Please use another service name.":"Questo servizio è riservato all'app ioBroker.visu. Utilizza un altro nome di servizio.","To apply this setting, the restart of adapter must be done. Agree?":"Per applicare questa impostazione, è necessario riavviare l'adattatore. Essere d'accordo?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Per il rilevamento automatico, sotto gli oggetti assegnare un canale (dispositivo se non è disponibile alcun canale) a una stanza e funzione. Non è sufficiente assegnare la stanza a uno stato o dispositivo. Le sale/funzioni possono essere aggiunte all'enumerazione (indicata dalla freccia bianca in alto a destra) e devono essere attivate nell'adattatore IoT in Enumerazione intelligente. Per riconoscere automaticamente gli stati manuali, è necessario eliminare lo stato.",Toggle:Wht,"Toggle expert mode":"Attiva / disattiva modalità esperto","Too many devices (%s) configured. Max number is 300":"Troppi dispositivi (%s) configurati. Il numero massimo è 300!","Turn off":"Spegni","Turn on":"Accendere",Type:Hht,Types:Uht,"Use Nightscout instance":"Utilizza l'istanza Nightscout","Use following link for IFTTT":"Usa il seguente link per IFTTT","Use following link for custom service":"Usa il seguente link per il servizio personalizzato","Use text2command instance":"Utilizza l'istanza text2command","Vacuum cleaner":"Aspirapolvere",VacuumCleaner:Vht,Value:qht,Volume:Ght,"Volume group":"Gruppo di volumi",VolumeGroup:Jht,"Web instance":"Istanza web","White list for services":"Lista bianca per i servizi",Window:Xht,"Window sensor":"Sensore finestra","Write response to":"Scrivi risposta a","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"È possibile inserire diversi nomi divisi per virgola","amazon link":"Se usi Alexa Skill, scrivi una recensione per noi <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp' target='_blank' class='here'>here</a>.<br>Gli esempi possono essere trovati <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> qui </a>.",blind:Kht,blinds:Yht,"by ON":"da ON",cannot_use_password:Zht,clear:Qht,ct:eft,default:"predefinito",dimmer:tft,disabled:rft,forum_tip:nft,gate:oft,help_link_tip1:aft,help_link_tip2:sft,help_link_tip3:ift,help_tip:lft,hue:cft,info_allowedServices:dft,info_iftttKey:uft,invalid_password_warning:pft,ioBType:hft,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Password","last value":"ultimo valore",levelSlider:fft,light:mft,lock:gft,manualModeHint:_ft,modified:vft,motion:yft,new_certs_tip:bft,new_credentials_tip:wft,"no type":"nessun tipo","not activated":"non attivato","omit value":"nessun valore",slider:Sft,socket:xft,temperature:kft,thermostat:Cft,tooltip_allowSelfSignedCertificate:$ft,tooltip_apikey:Tft,tooltip_cloudUrl:Eft,tooltip_concatWord:Oft,tooltip_deviceOffLevel:Dft,tooltip_functionFirst:Aft,tooltip_instance:Ift,tooltip_language:Nft,tooltip_noCommon:Mft,tooltip_responseOID:Rft,tooltip_restartOnDisconnect:jft,window:zft},Lft="Activo",Fft="Direcciones",Bft="Aire acondicionado",Wft="Atributos",Hft="Automáticamente",Uft="Persianas",Vft="Persianas",qft="Regulador de intensidad",Gft="Cancelar",Jft="Cerrar",Xft="Color",Kft="Comandos",Yft="sensor de contacto",Zft="Control",Qft="Defecto",emt="Borrar",tmt="Detección",rmt="Regulador de intensidad",nmt="Puerta",omt="Filtrar",amt="Funciones",smt="Puerta",imt="Matiz",lmt="ID",cmt="Ejemplo",dmt="Idioma",umt="Luz",pmt="Cerrar",hmt="Mensaje",fmt="Modo",mmt="Movimiento",gmt="Apagado",_mt="Nombre",vmt="apagado",ymt="De acuerdo",bmt="en",wmt="Opciones",Smt="Porcentaje",xmt="Encendido/Apagado",kmt="revisión",Cmt="Habitación",$mt="Habitaciones",Tmt="Salvar",Emt="Buscar",Omt="Seleccionar",Dmt="Sensor",Amt="Deslizador",Imt="Enchufe",Nmt="Temperatura",Mmt="Termostato",Rmt="Palanca",jmt="Tipo",zmt="Tipos",Pmt="aspiradora",Lmt="Valor",Fmt="Volumen",Bmt="grupo de volumen",Wmt="Ventana",Hmt="Persianas",Umt="Persianas",Vmt="No puede usar% en la contraseña. Estamos trabajando en la solución.",qmt="limpiar",Gmt="Temperatura de color",Jmt="regulador de intensidad",Xmt="discapacitado",Kmt='Cualquier pregunta en cualquier idioma, por favor pregunte aquí en el foro: <a href="https://forum.iobroker.net/post/435797" target="_blank"> enlace </a>',Ymt="puerta",Zmt='Antes de escribir a soporte, asegúrese de haber leído y entendido las instrucciones de la página web: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',Qmt='Si aún tiene problemas con la conexión a Iot, puede solicitar asistencia en el <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">foro</a>',egt='y solo después de eso, debe escribir un correo electrónico a <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',tgt='¿No hay una cuenta iobroker.pro? Cómprelo en <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> para obtener acceso validado u obtenga de forma gratuita, pero con acceso limitado.',rgt="matiz",ngt="dividido por coma. Use * para permitir todos los servicios.",ogt="Puede encontrar su clave <a href='https://ifttt.com/maker_webhooks' target='_blank'> aquí </a> en 'Documentación'",agt=`La contraseña debe tener al menos 8 caracteres y debe tener números, letras mayúsculas y minúsculas. Por favor cámbielo en el perfil ioBroker.pro
678
+ `,sgt="Tipo de IoB",igt="Control deslizante de nivel",lgt="luz",cgt="Cerrar",dgt="Seleccione un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> y un <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> después de agregar un estado. Para agregar múltiples rasgos, agregue una identificación y un rasgo diferentes pero el mismo nombre inteligente, tipo y sala. Coma separada para los múltiples nombres inteligentes. Para asignar una habitación, utilice las Enums/Aufzählungen de ioBroker. Con atributos, por ejemplo, puede establecer un rango para la temperatura de color <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Infos sobre Atributos que puede encontrar aquí.</a> El atributo vacío es {}",ugt="El nombre fue modificado por el usuario",pgt="movimiento",hgt="Si realizó una restauración desde la copia de seguridad, o movió su instancia de un dispositivo a otro o eliminó la instancia de IoT y la agregó nuevamente, debe cargar los certificados de seguridad de conexión con este botón",fgt="Si falla el inicio de sesión en Alexa Skill/Google Action/Alisa con los datos de inicio de sesión de ioBroker.pro, presione el botón a continuación.",mgt="control deslizante",ggt="enchufe",_gt="temperatura",vgt="termostato",ygt="Si usa su propia nube, puede permitir el uso de certificados autofirmados para la nube.",bgt="Esta clave es necesaria para comunicarse con una nube. Puede obtener la API-KEY en https://iobroker.net y se ve como nickname_f1f439a0-001a-11e7-bc64-92361f002671",wgt="Normalmente no es necesario cambiarlo. Solo es obligatorio si planea usar su propia nube.",Sgt="Definir cómo concatenar Habitación y Función. P.ej. con 'en': luz en la sala de estar.",xgt="Algunos grupos consisten en dispositivos mixtos: atenuadores e interruptores. Se permite controlarlos con comandos ON y OFF y con porcentajes",kgt="Normalmente los nombres parecen room_function. Aquí puedes cambiarlo a function_room.",Cgt="Instancia web, que se mostrará para sus conexiones desde la nube.",$gt="Puede definir los idiomas para cambiar rápidamente entre US Alexa Skill y DE Alexa Skill.",Tgt="Si está habilitado, la configuración se almacenará solo para esta instancia. Entonces, en la otra instancia, se podrían establecer los otros nombres.",Egt="Para cada comando, se generará la respuesta de texto. Aquí puede definir la ID del objeto, donde debe escribirse este texto. P.ej. sayit.0.tts.text.",Ogt="Solución alternativa para la conexión faltante a Alexa después de la conexión a la nube se perdió. Con esta opción, puede reiniciar el adaptador después de cada desconexión y funcionará.",Dgt="ventana",Agt={"(Set to 0 if behavior not desired)":"(Se establece en 0 si no se desea el comportamiento)","(you can separate names with comma)":"Puede ingresar varios nombres divididos por coma",Active:Lft,"Add device":"Añadir dispositivo","Add new device from state":"Agregar nuevo dispositivo desde el estado","Add service":"Añadir servicio",Addresses:Fft,"Admin instance":"Instancia de administrador",AirCondition:Bft,"Alexa devices":"Dispositivos de Alexa","Alisa devices":"Dispositivos alisa","Allow admin access (only pro)":"Permitir acceso de administrador (solo pro)","Allow remote access":"Permitir acceso remoto","Allow self-signed certificates":"Permitir certificados autofirmados","Amazon Alexa":"Amazon Alexa","Are you sure?":"¿Estás seguro?",Attributes:Wft,"Attributes has not correct JSON format.":"Los atributos no están en el formato JSON correcto","Authentication must be disabled. You can create second instance extra for cloud.":"La autenticación debe estar deshabilitada. Puede crear una segunda instancia extra para la nube.",Auto:Hft,"Auto Mode":"Modo automático",Blind:Uft,Blinds:Vft,Brightness:qft,Cancel:Gft,"Cannot add this object":"No se puede agregar este objeto porque no es compatible.","Cannot read devices!":"No se pueden leer los dispositivos!","Certificates will be updated after initiated restart":"Los certificados se actualizarán después de reiniciarse","Certificates will be updated after start":"Los certificados se actualizarán después del inicio","Click now Get new connection certificates to request new temporary password":'Haga clic ahora en "Obtener nuevos certificados de conexión" para solicitar una nueva contraseña temporal',Close:Jft,"Cloud URL":"URL en la nube","Cloud adapter settings":"Configuración del adaptador de nube","Collapse all devices":"Contraer todos los dispositivos",Color:Xft,"Color HUE":"Color TONO","Color temperature":"Temperatura del color",Commands:Kft,"Concatenate words with":"Concatenar palabras con","Connection timeout":"Tiempo de espera de conexión (ms)",ContactSensor:Yft,Control:Zft,"Conversation to GH":"Convertir a GH","Conversation to ioB":"Convertir a ioB","Copy to clipboard":"Copiar al portapapeles","Create IoT credentials anew":"Crear nuevas credenciales de IoT","Debug outputs":"Salidas de depuración","Decrement color temperature":"Disminución de la temperatura de color.","Decrement percentage":"Porcentaje de decremento","Decrement target temperature":"Disminuir la temperatura objetivo",Default:Qft,"Default toggle behaviour (Only alexa v3)":"Comportamiento de alternancia predeterminado (solo alexa v3)",Delete:emt,Detection:tmt,"Device %s was not added":"El dispositivo %s no fue agregado","Device %s will be disabled.":"El dispositivo %s se desactivará.","Device will be deactivated.":"El dispositivo se desactivará.","Device will be disabled.":"El dispositivo %s estará deshabilitado.",Dimmer:rmt,"Do not toggle":"no alternar",Door:nmt,"Door sensor":"sensor de puerta","Duplicate name":"Nombre duplicado","Edit smart name":"Editar nombre inteligente",Error:"Error","Expand all devices":"Expandir todos los dispositivos","Extended options":"Opciones extendidas",Filter:omt,"For help use this forum":"Para obtener ayuda, visite este <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>foro publicar</a>",Function:"Función","Function/Trait":"Función / rasgo",Functions:amt,Gate:smt,"Get actual humidity":"Obtenga la humedad real","Get actual temperature":"Obtener la temperatura real","Get contact":"Obtener estado de contacto","Get motion":"Obtener movimiento","Get new connection certificates":"Obtenga nuevos certificados de conexión","Get new service URL key":"Obtener nueva clave de servicio URL","Get target temperature":"Obtener temperatura objetivo","Google Home":"Google Home","Google devices":"Dispositivos de Google","Grouped from %s and %s":"Agrupados de %s y %s",Hue:imt,ID:lmt,"IFTTT key":"Tecla IFTTT","Increment color temperature":"Temperatura de color incrementada","Increment percentage":"Porcentaje de incremento","Increment target temperature":"Incrementar la temperatura objetivo","Information: The skill linking process was changed!":"Información: ¡Se cambió el proceso de vinculación de habilidades!",Instance:cmt,"Instance does not exists":"La instancia no existe","Instance is not active.":"La instancia no está activa.","Instance must be enabled":"La instancia debe estar habilitada","Instance must run to deliver the data":"La instancia debe ejecutarse para entregar los datos","Invalid object":"Objeto inválido",Language:dmt,Light:umt,"List of devices to print out, e.g. to give all device names to your partner.":"Lista de dispositivos para imprimir, p. para dar todos los nombres de dispositivo a su pareja.","Load configuration from file":"Cargar configuración desde archivo",Lock:pmt,"Manual Mode":"Modo manual",Message:hmt,Mode:fmt,Motion:mmt,Muted:gmt,Name:_mt,"Not understood":"No se entiende","Now there is no temporary password that will be sent by email.":"Ahora no hay una contraseña temporal que se enviará por correo electrónico.","OFF level for switches":"Nivel de apagado para interruptores","OFF level for switches in %":"Nivel OFF para interruptores en %",Off:vmt,Ok:ymt,On:bmt,"On/Off":"Encendido apagado",Options:wmt,Percentage:Smt,"Personal settings (only pro)":"Configuración personal (solo pro)","Ping timeout:":"Tiempo de espera de ping (ms)","Place function in names first":"Coloque la función en los nombres primero","Please add action and trait to complete the Google Home state.":"Agregue acción y rasgo para completar el estado de Google Home.","Please add type and trait to complete the Google Home state.":"Agregue tipo y rasgo para completar el estado de Google Home.","Please select object ID...":"Por favor seleccione ID de objeto ...","Please write your email only in lower case letters":"Por favor escriba su correo electrónico sólo en minúsculas",Power:xmt,"Read blood sugar from":"Leer azúcar en sangre de","Read lock state":"Estado de bloqueo de lectura","Refresh list of devices":"Actualizar lista de dispositivos","Replace in names":"Reemplazar en nombres","Request email with password one more time":"Solicitar correo electrónico con contraseña una vez más","Restart on disconnect":"Reiniciar al desconectar",Review:kmt,"Roger that":"Entendido",Room:Cmt,Rooms:$mt,Save:Tmt,"Save and close":"Guardar y cerrar","Save configuration to file":"Guardar la configuración en el archivo","Save settings and the names will be changed":"Guarde la configuración y los nombres serán cambiados","Save settings before pressing this button":"Guarde la configuración antes de presionar este botón",Search:Emt,Select:Omt,Sensor:Dmt,"Service names":"Nombres de servicio","Services and IFTTT":"Servicios e IFTTT","Set color":"Establecer color","Set color temperature":"Ajustar la temperatura de color","Set lock state":"Establecer el estado de bloqueo","Set percentage":"Establecer porcentaje","Set point":"Punto fijo","Set target temperature":"Ajustar la temperatura objetivo","Short answer for blood sugar":"Respuesta corta para azúcar en la sangre","Show all devices for print out":"Mostrar todos los dispositivos para imprimir","Show/Hide help":"Mostrar / Ocultar ayuda",Slider:Amt,"Smart Devices":"Dispositivos inteligentes","Smart Enums":"Smart Enums","Smart Media":"Smart Media","Smart enums":"Enums inteligentes","Smart name":"Nombre inteligente","Smart name for %s":"Nombre inteligente para %s","Smart names":"Nombres inteligentes",Socket:Imt,Temperature:Nmt,"The linking process has been changed for a few months.":"El proceso de vinculación se ha modificado durante unos meses.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"¡La contraseña es igual a ioBroker.pro y con la contraseña que se ingresó aquí en la configuración!",Thermostat:Mmt,"Thermostat mode":"Modo termostato","This service is reserved for the ioBroker.visu app. Please use another service name.":"Este servicio está reservado para la aplicación ioBroker.visu. Utilice otro nombre de servicio.","To apply this setting, the restart of adapter must be done. Agree?":"Para aplicar esta configuración, el adaptador debe reiniciarse. ¿De acuerdo?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Para la detección automática, debajo de los objetos asigne un canal (dispositivo si no hay un canal disponible) a una sala y función. No es suficiente asignar la habitación a un estado o dispositivo. Las habitaciones/funciones se pueden agregar en la enumeración (indicada por la flecha blanca en la parte superior derecha) y se deben activar en el adaptador IoT en la enumeración inteligente. Para reconocer automáticamente los estados manuales, el estado debe ser eliminado.",Toggle:Rmt,"Toggle expert mode":"Alternar modo experto","Too many devices (%s) configured. Max number is 300":"Demasiados dispositivos (%s) configurados. ¡El número máximo es 300!","Turn off":"Apagar","Turn on":"Encender",Type:jmt,Types:zmt,"Use Nightscout instance":"Use la instancia del Nightscout","Use following link for IFTTT":"Utilice el siguiente enlace para IFTTT","Use following link for custom service":"Use el siguiente enlace para servicio personalizado","Use text2command instance":"Use la instancia del comando text2","Vacuum cleaner":"aspiradora",VacuumCleaner:Pmt,Value:Lmt,Volume:Fmt,"Volume group":"grupo de volumen",VolumeGroup:Bmt,"Web instance":"Instancia web","White list for services":"Lista blanca de servicios",Window:Wmt,"Window sensor":"sensor de ventana","Write response to":"Escribir respuesta a","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Puede introducir varios nombres divididos por comas","amazon link":"Si usa Alexa Skill, escriba una opinión para nosotros <a href = 'http: //alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/? Ref-suffix = war_dp 'target =' _ blank 'class =' ​​here '> aquí </a>.<br>Se pueden encontrar ejemplos <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='blank'> aquí </a>.",blind:Hmt,blinds:Umt,"by ON":"por el",cannot_use_password:Vmt,clear:qmt,ct:Gmt,default:"defecto",dimmer:Jmt,disabled:Xmt,forum_tip:Kmt,gate:Ymt,help_link_tip1:Zmt,help_link_tip2:Qmt,help_link_tip3:egt,help_tip:tgt,hue:rgt,info_allowedServices:ngt,info_iftttKey:ogt,invalid_password_warning:agt,ioBType:sgt,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Contraseña","last value":"último valor",levelSlider:igt,light:lgt,lock:cgt,manualModeHint:dgt,modified:ugt,motion:pgt,new_certs_tip:hgt,new_credentials_tip:fgt,"no type":"Sin tipo","not activated":"no esta activado","omit value":"sin valor",slider:mgt,socket:ggt,temperature:_gt,thermostat:vgt,tooltip_allowSelfSignedCertificate:ygt,tooltip_apikey:bgt,tooltip_cloudUrl:wgt,tooltip_concatWord:Sgt,tooltip_deviceOffLevel:xgt,tooltip_functionFirst:kgt,tooltip_instance:Cgt,tooltip_language:$gt,tooltip_noCommon:Tgt,tooltip_responseOID:Egt,tooltip_restartOnDisconnect:Ogt,window:Dgt},Igt="Aktywny",Ngt="Adresy",Mgt="Klimatyzacja",Rgt="Atrybuty",jgt="Automatycznie",zgt="Rolety okienne",Pgt="Rolety okienne",Lgt="Opornik",Fgt="Odwołaj",Bgt="Zamknij",Wgt="Kolor",Hgt="Polecenia",Ugt="Czujnik kontaktowy",Vgt="Kontrola",qgt="Domyślna",Ggt="Usuwać",Jgt="Wykrycie",Xgt="Opornik",Kgt="Drzwi",Ygt="Filtr",Zgt="Funkcje",Qgt="Brama",e_t="Odcień",t_t="ID",r_t="Instancja",n_t="Język",o_t="Światło",a_t="Zamek",s_t="Wiadomość",i_t="Tryb",l_t="Ruch",c_t="Wyciszony",d_t="Nazwa",u_t="poza",p_t="Ok",h_t="na",f_t="Opcje",m_t="Odsetek",g_t="Wł./Wył",__t="Przejrzeć",v_t="Pokój",y_t="Pokoje",b_t="Zapisz",w_t="Szukaj",S_t="Wybierz",x_t="Czujnik",k_t="Suwak",C_t="Gniazdo elektryczne",$_t="Temperatura",T_t="Termostat",E_t="Przełącznik",O_t="Typ",D_t="Rodzaje",A_t="Odkurzacz",I_t="Wartość",N_t="Tom",M_t="Grupa woluminów",R_t="Okno",j_t="rolety okienne",z_t="Żaluzje",P_t="Nie możesz użyć% w haśle. Pracujemy nad poprawką.",L_t="Oczyścić",F_t="Temperatura barwowa",B_t="opornik",W_t="niepełnosprawny",H_t='Wszelkie pytania w dowolnym języku prosimy zadawać tutaj na forum: <a href="https://forum.iobroker.net/post/435797" target="_blank"> link </a>',U_t="brama",V_t='Przed napisaniem do wsparcia upewnij się, że przeczytałeś i zrozumiałeś instrukcje strony: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md">https://www.iobroker.net</a>',q_t='Jeśli nadal masz problem z połączeniem z Iot, możesz poprosić o wsparcie na <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">Forum</a>',G_t='i dopiero potem powinieneś napisać e-mail na <a target="_blank" href="mailto:support@iobroker.com">adres support@iobroker.com</a>',J_t='Brak konta iobroker.pro? Kup go na <a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a> w celu zweryfikowania dostępu lub uzyskaj bezpłatny, ale ograniczony dostęp.',X_t="odcień",K_t="podzielone przecinkiem. Użyj *, aby zezwolić na wszystkie usługi.",Y_t=`Możesz znaleźć klucz <a href='https://ifttt.com/maker_webhooks' target='_blank'> tutaj </a> w sekcji "Dokumentacja"`,Z_t=`Hasło musi mieć co najmniej 8 znaków i musi zawierać cyfry, wielkie i małe litery. Zmień to w profilu ioBroker.pro
679
+ `,Q_t="Typ IoB",evt="Suwak poziomu",tvt="światło",rvt="Zamek",nvt="Wybierz <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> i <a target = '_ puste 'rel =' noopener noreferrer 'href =' https: //developers.google.com/actions/smarthome/traits/ '>TRAIT</a> po dodaniu stanu. Aby dodać wiele cech, dodaj inny identyfikator i cechę, ale tę samą inteligentną nazwę, typ i pokój. Oddzielony przecinkami dla wielu inteligentnych nazw. Aby przypisać pokój, użyj ioBroker Enums/Aufzählungen. Za pomocą atrybutów możesz na przykład ustawić zakres temperatury kolorów <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'> Informacje o Atrybuty można znaleźć tutaj. </a> Pusty atrybut to {}",ovt="Nazwa została zmodyfikowana przez użytkownika",avt="ruch",svt="Jeśli wykonałeś przywracanie z kopii zapasowej, przeniosłeś instancję z jednego urządzenia na drugie lub usunąłeś instancję IoT i dodałeś ją ponownie, musisz załadować certyfikaty bezpieczeństwa połączenia za pomocą tego przycisku",ivt="Jeśli logowanie do Alexa Skill/Google Action/Alisa za pomocą danych logowania ioBroker.pro nie powiedzie się, naciśnij poniższy przycisk.",lvt="suwak",cvt="gniazdo elektryczne",dvt="temperatura",uvt="termostat",pvt="Jeśli korzystasz z własnej chmury, możesz zezwolić na używanie samopodpisanych certyfikatów dla chmury.",hvt="Ten klucz jest wymagany do komunikacji z chmurą. Możesz pobrać API-KEY na https://iobroker.net i wygląda jak pseudonim_f1f439a0-001a-11e7-bc64-92361f002671",fvt="Zwykle nie musisz tego zmieniać. Wymagane tylko, jeśli masz zamiar korzystać z własnej chmury.",mvt='Określ, jak połączyć pokój i funkcję. Na przykład. z "in": Światło w salonie.',gvt="Niektóre grupy składają się z różnych urządzeń: ściemniaczy i przełączników. Dozwolone jest sterowanie nimi za pomocą poleceń ON i OFF oraz procentami",_vt="Normalnie nazwy wyglądają jak room_function. Tutaj możesz przełączyć go do function_room.",vvt="Instancja internetowa, która będzie wyświetlana dla twoich połączeń z chmury.",yvt="Możesz zdefiniować języki, aby szybko przełączać się pomiędzy US Alexa Skill i DE Alexa Skill.",bvt="Jeśli jest włączona, ustawienia będą przechowywane tylko dla tej instancji. Tak więc w innym przypadku można ustawić inne nazwy.",wvt="Dla każdego polecenia zostanie wygenerowana odpowiedź tekstowa. Możesz tu zdefiniować identyfikator obiektu, do którego należy zapisać ten tekst. Na przykład. sayit.0.tts.text.",Svt="Rozwiązano problem braku połączenia z Alexa po utracie połączenia z chmurą. Dzięki tej opcji można ponownie uruchomić adapter po każdym rozłączeniu i będzie działać.",xvt="okno",kvt={"(Set to 0 if behavior not desired)":"(Ustaw na 0, jeśli zachowanie nie jest pożądane)","(you can separate names with comma)":"Możesz wprowadzić kilka nazw podzielonych przecinkami",Active:Igt,"Add device":"Dodaj urządzenie","Add new device from state":"Dodaj nowe urządzenie ze stanu","Add service":"Dodaj usługę",Addresses:Ngt,"Admin instance":"Instancja administracyjna",AirCondition:Mgt,"Alexa devices":"Urządzenia Alexa","Alisa devices":"Urządzenia Alisa","Allow admin access (only pro)":"Zezwalaj na dostęp administratora (tylko pro)","Allow remote access":"Zezwól na zdalny dostęp","Allow self-signed certificates":"Zezwalaj na certyfikaty z podpisem własnym","Amazon Alexa":"Amazon Alexa","Are you sure?":"Jesteś pewny?",Attributes:Rgt,"Attributes has not correct JSON format.":"Atrybuty mają niepoprawny format JSON","Authentication must be disabled. You can create second instance extra for cloud.":"Uwierzytelnianie musi być wyłączone. Możesz utworzyć dodatkową instancję dodatkową dla chmury.",Auto:jgt,"Auto Mode":"Tryb automatyczny",Blind:zgt,Blinds:Pgt,Brightness:Lgt,Cancel:Fgt,"Cannot add this object":"Nie można dodać tego obiektu, ponieważ nie jest obsługiwany.","Cannot read devices!":"Nie można odczytać urządzeń!","Certificates will be updated after initiated restart":"Certyfikaty będą aktualizowane po ponownym uruchomieniu","Certificates will be updated after start":"Certyfikaty będą aktualizowane po starcie","Click now Get new connection certificates to request new temporary password":'Kliknij teraz "Pobierz nowe certyfikaty połączeń", aby poprosić o nowe tymczasowe hasło',Close:Bgt,"Cloud URL":"Chmura adresu URL","Cloud adapter settings":"Ustawienia adaptera chmury","Collapse all devices":"Zwiń wszystkie urządzenia",Color:Wgt,"Color HUE":"Barwa koloru","Color temperature":"Temperatura koloru",Commands:Hgt,"Concatenate words with":"Połącz słowa z","Connection timeout":"Limit czasu połączenia (ms)",ContactSensor:Ugt,Control:Vgt,"Conversation to GH":"Konwertuj na GH","Conversation to ioB":"Konwertuj na ioB","Copy to clipboard":"Skopiuj do schowka","Create IoT credentials anew":"Utwórz ponownie poświadczenia IoT","Debug outputs":"Wyjścia debugowania","Decrement color temperature":"Zmniejsz temperaturę barwową","Decrement percentage":"Procent zmniejszenia","Decrement target temperature":"Zmniejsz temperaturę docelową",Default:qgt,"Default toggle behaviour (Only alexa v3)":"Domyślne zachowanie przełączania (tylko Alexa v3)",Delete:Ggt,Detection:Jgt,"Device %s was not added":"Urządzenie %s nie zostało dodane","Device %s will be disabled.":"Urządzenie %s zostanie wyłączone.","Device will be deactivated.":"Urządzenie zostanie dezaktywowane.","Device will be disabled.":"Urządzenie zostanie wyłączone.",Dimmer:Xgt,"Do not toggle":"Nie przełączaj",Door:Kgt,"Door sensor":"Czujnik drzwi","Duplicate name":"Zduplikowana nazwa","Edit smart name":"Edytuj inteligentną nazwę",Error:"Błąd","Expand all devices":"Rozwiń wszystkie urządzenia","Extended options":"Rozszerzone opcje",Filter:Ygt,"For help use this forum":"Aby uzyskać pomoc, odwiedź to <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>forum post</a>",Function:"Funkcja","Function/Trait":"Funkcja / cecha",Functions:Zgt,Gate:Qgt,"Get actual humidity":"Uzyskaj aktualną wilgotność","Get actual temperature":"Uzyskaj rzeczywistą temperaturę","Get contact":"Uzyskaj status kontaktu","Get motion":"Wpraw się w ruch","Get new connection certificates":"Uzyskaj nowe certyfikaty połączeń","Get new service URL key":"Uzyskaj nowy klucz URL usługi","Get target temperature":"Uzyskaj docelową temperaturę","Google Home":"Google Home","Google devices":"Urządzenia Google","Grouped from %s and %s":"Pogrupowane z %s i %s",Hue:e_t,ID:t_t,"IFTTT key":"Klawisz IFTTT","Increment color temperature":"Przyrost temperatury barwowej","Increment percentage":"Przyrost procentowy","Increment target temperature":"Przyrost temperatury docelowej","Information: The skill linking process was changed!":"Informacja: Zmieniono proces łączenia umiejętności!",Instance:r_t,"Instance does not exists":"Instancja nie istnieje","Instance is not active.":"Instancja nie jest aktywna.","Instance must be enabled":"Instancja musi być włączona","Instance must run to deliver the data":"Instancja musi zostać uruchomiona w celu dostarczenia danych","Invalid object":"Nieprawidłowy obiekt",Language:n_t,Light:o_t,"List of devices to print out, e.g. to give all device names to your partner.":"Lista urządzeń do wydrukowania, np. aby podać wszystkie nazwy urządzeń swojemu partnerowi.","Load configuration from file":"Załaduj konfigurację z pliku",Lock:a_t,"Manual Mode":"Tryb ręczny",Message:s_t,Mode:i_t,Motion:l_t,Muted:c_t,Name:d_t,"Not understood":"Nie rozumiem","Now there is no temporary password that will be sent by email.":"Teraz nie ma tymczasowego hasła, które zostanie wysłane e-mailem.","OFF level for switches":"Poziom OFF dla przełączników","OFF level for switches in %":"Poziom wyłączenia dla przełączników w %",Off:u_t,Ok:p_t,On:h_t,"On/Off":"Włącz/Wyłącz",Options:f_t,Percentage:m_t,"Personal settings (only pro)":"Ustawienia osobiste (tylko pro)","Ping timeout:":"Limit czasu pingowania (ms)","Place function in names first":"Najpierw umieść funkcję w imionach","Please add action and trait to complete the Google Home state.":"Dodaj działanie i cechę, aby ukończyć stan Google Home.","Please add type and trait to complete the Google Home state.":"Dodaj typ i cechę, aby ukończyć stan Google Home.","Please select object ID...":"Wybierz identyfikator obiektu ...","Please write your email only in lower case letters":"Napisz swój e-mail tylko małymi literami",Power:g_t,"Read blood sugar from":"Odczytaj poziom cukru we krwi","Read lock state":"Czytaj stan blokady","Refresh list of devices":"Odśwież listę urządzeń","Replace in names":"Zastąp imiona","Request email with password one more time":"Poproś jeszcze raz o e-mail z hasłem","Restart on disconnect":"Uruchom ponownie po rozłączeniu",Review:__t,"Roger that":"Przyjąłem",Room:v_t,Rooms:y_t,Save:b_t,"Save and close":"Zapisz i zamknij","Save configuration to file":"Zapisz konfigurację do pliku","Save settings and the names will be changed":"Zapisz ustawienia i nazwy zostaną zmienione","Save settings before pressing this button":"Zapisz ustawienia przed naciśnięciem tego przycisku",Search:w_t,Select:S_t,Sensor:x_t,"Service names":"Nazwy usług","Services and IFTTT":"Usługi i IFTTT","Set color":"Ustaw kolor","Set color temperature":"Ustaw temperaturę barwową","Set lock state":"Ustaw stan blokady","Set percentage":"Ustaw procent","Set point":"Ustaw punkt","Set target temperature":"Ustaw temperaturę docelową","Short answer for blood sugar":"Krótka odpowiedź na cukier we krwi","Show all devices for print out":"Pokaż wszystkie urządzenia do wydrukowania","Show/Hide help":"Pokaż / ukryj pomoc",Slider:k_t,"Smart Devices":"Inteligentne urządzenia","Smart Enums":"Inteligentne wyliczenia","Smart Media":"Smart Media","Smart enums":"Inteligentne enumy","Smart name":"Inteligentna nazwa","Smart name for %s":"Inteligentna nazwa dla %s","Smart names":"Inteligentne nazwy",Socket:C_t,Temperature:$_t,"The linking process has been changed for a few months.":"Od kilku miesięcy zmienił się proces łączenia.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Hasło jest równe z ioBroker.pro i hasłem, które zostało wprowadzone tutaj w ustawieniach!",Thermostat:T_t,"Thermostat mode":"Tryb termostatu","This service is reserved for the ioBroker.visu app. Please use another service name.":"Usługa ta jest zarezerwowana dla aplikacji ioBroker.visu. Użyj innej nazwy usługi.","To apply this setting, the restart of adapter must be done. Agree?":"Aby zastosować to ustawienie, adapter musi zostać zrestartowany. Zgodzić się?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"W celu automatycznego wykrywania pod obiektami przypisz kanał (urządzenie, jeśli żaden kanał nie jest dostępny) do pokoju i funkcji. Nie wystarczy przypisać pokój do stanu lub urządzenia. Pomieszczenia/funkcje można dodawać w ramach wyliczenia (oznaczonego białą strzałką w prawym górnym rogu) i należy je aktywować w adapterze IoT w obszarze Inteligentne wyliczanie. Aby automatycznie rozpoznać stany ręczne, należy je usunąć.",Toggle:E_t,"Toggle expert mode":"Przełącz tryb ekspercki","Too many devices (%s) configured. Max number is 300":"Za dużo skonfigurowanych urządzeń (%s). Maksymalna liczba to 300!","Turn off":"Wyłączyć","Turn on":"Włączyć",Type:O_t,Types:D_t,"Use Nightscout instance":"Użyj instancji Nightscout","Use following link for IFTTT":"Użyj następującego linku dla IFTTT","Use following link for custom service":"Użyj poniższego linku do niestandardowej usługi","Use text2command instance":"Użyj instancji text2command","Vacuum cleaner":"Odkurzacz",VacuumCleaner:A_t,Value:I_t,Volume:N_t,"Volume group":"Grupa woluminów",VolumeGroup:M_t,"Web instance":"Instancja internetowa","White list for services":"Biała lista dla usług",Window:R_t,"Window sensor":"Czujnik okna","Write response to":"Napisz odpowiedź na","Yandex Алиса":"Yandex Алиса","You can enter several names divided by comma":"Możesz wprowadzić kilka nazw podzielonych przecinkiem","amazon link":`Jeśli używasz umiejętności Alexa, napisz recenzję dla nas <a href = 'http: //alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/? Ref-suffix = war_dp "target = '_ blank' class = 'here'> here </a>. Przykłady można znaleźć <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/reviews' target='_blank'> tutaj </a>.`,blind:j_t,blinds:z_t,"by ON":"przez ON",cannot_use_password:P_t,clear:L_t,ct:F_t,default:"domyślna",dimmer:B_t,disabled:W_t,forum_tip:H_t,gate:U_t,help_link_tip1:V_t,help_link_tip2:q_t,help_link_tip3:G_t,help_tip:J_t,hue:X_t,info_allowedServices:K_t,info_iftttKey:Y_t,invalid_password_warning:Z_t,ioBType:Q_t,"ioBroker.pro Login":"ioBroker.pro Login","ioBroker.pro Password":"ioBroker.pro Hasło","last value":"ostatnia wartość",levelSlider:evt,light:tvt,lock:rvt,manualModeHint:nvt,modified:ovt,motion:avt,new_certs_tip:svt,new_credentials_tip:ivt,"no type":"bez typu","not activated":"nie aktywowany","omit value":"brak wartości",slider:lvt,socket:cvt,temperature:dvt,thermostat:uvt,tooltip_allowSelfSignedCertificate:pvt,tooltip_apikey:hvt,tooltip_cloudUrl:fvt,tooltip_concatWord:mvt,tooltip_deviceOffLevel:gvt,tooltip_functionFirst:_vt,tooltip_instance:vvt,tooltip_language:yvt,tooltip_noCommon:bvt,tooltip_responseOID:wvt,tooltip_restartOnDisconnect:Svt,window:xvt},Cvt="Активний",$vt="Адреси",Tvt="Кондиціонер",Evt="Атрибути",Ovt="Автоматично",Dvt="Віконні жалюзі",Avt="Віконні жалюзі",Ivt="Диммер",Nvt="Скасувати",Mvt="Закрити",Rvt="Колір",jvt="Команди",zvt="Контактний датчик",Pvt="КОНТРОЛЬ",Lvt="За замовчуванням",Fvt="Видалити",Bvt="виявлення",Wvt="Диммер",Hvt="двері",Uvt="фільтр",Vvt="Функції",qvt="Ворота",Gvt="Відтінок",Jvt="ID",Xvt="Екземпляр",Kvt="Мову",Yvt="світло",Zvt="Замок",Qvt="повідомлення",eyt="Режим",tyt="Рух",ryt="Вимкнено",nyt="Ім'я",oyt="вимкнено",ayt="В порядку",syt="на",iyt="Опції",lyt="Відсоток",cyt="Увімкнено/Вимкнено",dyt="огляд",uyt="Кімната",pyt="Кімнати",hyt="зберегти",fyt="Пошук",myt="Виберіть",gyt="датчик",_yt="повзунок",vyt="Розетка",yyt="температура",byt="Термостат",wyt="Перемикач",Syt="Тип",xyt="Типи",kyt="Пилосос",Cyt="Значення",$yt="Обсяг",Tyt="Група томів",Eyt="Вікно",Oyt="віконні жалюзі",Dyt="Жалюзі",Ayt="Ви не можете використовувати % у паролі. Ми працюємо над виправленням.",Iyt="ясно",Nyt="Колірна температура",Myt="диммер",Ryt="вимкнено",jyt='Будь-які запитання будь-якою мовою задавайте тут, на форумі: <a href="https://forum.iobroker.net/post/435797" target="_blank">посилання</a>',zyt="ворота",Pyt='Перш ніж писати в службу підтримки, переконайтеся, що ви прочитали та зрозуміли інструкції на веб-сторінці: <a target="_blank" href="https://www.iobroker.net/#en/documentation/cloud/iot.md"> https://www.iobroker.net</a>',Lyt='Якщо у вас усе ще виникають проблеми з підключенням до Iot, ви можете подати запит на підтримку на <a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">форумі</a>',Fyt='і тільки після цього вам слід написати листа на <a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',Byt='Немає облікового запису iobroker.pro? Придбайте його на <a href="https://iobroker.pro/accessRemote" target="_blank">https://iobroker.pro</a> для перевіреного доступу або отримайте безкоштовний, але обмежений доступ.',Wyt="відтінок",Hyt="розділені комою. Використовуйте *, щоб дозволити всі служби.",Uyt="Ви можете знайти свій ключ <a href='https://ifttt.com/maker_webhooks' target='_blank'>тут</a> у розділі «Документація»",Vyt=`Пароль має містити не менше 8 символів і містити цифри, великі та малі літери. Будь ласка, змініть його в профілі ioBroker.pro
680
+ `,qyt="Тип IoB",Gyt="Повзунок рівня",Jyt="світло",Xyt="Замок",Kyt="Виберіть <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a> і <a target='_blank ' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a> після додавання стану. Щоб додати кілька характеристик, додайте інший ідентифікатор і ознаку, але однакові розумне ім’я, тип і кімнату. Розділені комами для кількох розумних імен. Щоб призначити кімнату, скористайтеся ioBroker Enums/Aufzählungen. За допомогою атрибутів ви можете, наприклад, встановити діапазон для колірної температури <a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>Інформація про Атрибути можна знайти тут.</a> Порожній атрибут: {}",Yyt="Ім'я було змінено користувачем",Zyt="руху",Qyt="Якщо ви відновили з резервної копії або перемістили екземпляр з одного пристрою на інший, або видалили екземпляр IoT і додали його знову, ви повинні завантажити сертифікати безпеки підключення за допомогою цієї кнопки",e0t="Якщо вхід до Alexa Skill/Google Action/Alisa за допомогою даних для входу ioBroker.pro не вдається, натисніть кнопку нижче.",t0t="повзунок",r0t="гніздо",n0t="температура",o0t="термостат",a0t="Якщо ви використовуєте власну хмару, ви можете дозволити використання самопідписаних сертифікатів для хмари.",s0t="Цей ключ потрібен для зв’язку з хмарою. Ви можете отримати API-KEY на https://iobroker.net і він виглядає як nickname_f1f439a0-001a-11e7-bc64-92361f002671",i0t="Зазвичай вам не потрібно його міняти. Потрібно, лише якщо ви плануєте використовувати власну хмару.",l0t="Визначте, як об’єднати кімнату та функцію. наприклад з 'in': світло у вітальні.",c0t="Деякі групи складаються зі змішаних пристроїв: диммерів і вимикачів. Дозволяється керувати ними за допомогою команд ON і OFF, а також за допомогою відсотків",d0t="Зазвичай назви виглядають як room_function. Тут ви можете переключити його на function_room.",u0t="Веб-екземпляр, який буде показано для ваших підключень із хмари.",p0t="Ви можете визначити мови для швидкого перемикання між US Alexa Skill і DE Alexa Skill.",h0t="Якщо ввімкнено, налаштування зберігатимуться лише для цього екземпляра. Отже, в іншому випадку можна встановити інші імена.",f0t="Для кожної команди буде згенеровано текстову відповідь. Тут можна визначити ідентифікатор об’єкта, куди має бути записано цей текст. наприклад sayit.0.tts.text.",m0t="Обхідний шлях для відсутності підключення до Alexa після втрати підключення до хмари. За допомогою цієї опції ви можете перезавантажувати адаптер після кожного відключення, і він працюватиме.",g0t="вікно",_0t={"(Set to 0 if behavior not desired)":"(Встановіть 0, якщо поведінка небажана)","(you can separate names with comma)":"Ви можете ввести кілька імен, розділених комою",Active:Cvt,"Add device":"Додайте пристрій","Add new device from state":"Додати новий пристрій зі стану","Add service":"Додати послугу",Addresses:$vt,"Admin instance":"Примірник адміністратора",AirCondition:Tvt,"Alexa devices":"Пристрої Alexa","Alisa devices":"пристрої Аліса","Allow admin access (only pro)":"Дозволити доступ адміністратора (лише для професіоналів)","Allow remote access":"Дозволити віддалений доступ","Allow self-signed certificates":"Дозволити самопідписані сертифікати","Amazon Alexa":"Amazon Alexa","Are you sure?":"Ти впевнений?",Attributes:Evt,"Attributes has not correct JSON format.":"Атрибути мають неправильний формат JSON","Authentication must be disabled. You can create second instance extra for cloud.":"Автентифікація повинна бути вимкнена. Ви можете створити додатковий другий екземпляр для хмари.",Auto:Ovt,"Auto Mode":"Автоматичний режим",Blind:Dvt,Blinds:Avt,Brightness:Ivt,Cancel:Nvt,"Cannot add this object":"Неможливо додати цей об’єкт, оскільки не підтримується.","Cannot read devices!":"Неможливо прочитати пристрої!","Certificates will be updated after initiated restart":"Сертифікати будуть оновлені після ініційованого перезапуску","Certificates will be updated after start":"Сертифікати будуть оновлені після запуску","Click now Get new connection certificates to request new temporary password":"Натисніть «Отримати нові сертифікати підключення», щоб запитати новий тимчасовий пароль",Close:Mvt,"Cloud URL":"URL-адреса хмари","Cloud adapter settings":"Налаштування хмарного адаптера","Collapse all devices":"Згорнути всі пристрої",Color:Rvt,"Color HUE":"Колір HUE","Color temperature":"Колірна температура",Commands:jvt,"Concatenate words with":"Сполучіть слова з","Connection timeout":"Час очікування підключення (мс)",ContactSensor:zvt,Control:Pvt,"Conversation to GH":"Перетворити в GH","Conversation to ioB":"Перетворити в ioB","Copy to clipboard":"Копіювати в буфер обміну","Create IoT credentials anew":"Створіть облікові дані IoT заново","Debug outputs":"Виходи налагодження","Decrement color temperature":"Зменшити колірну температуру","Decrement percentage":"Відсоток зменшення","Decrement target temperature":"Зменшити цільову температуру",Default:Lvt,"Default toggle behaviour (Only alexa v3)":"Поведінка перемикання за замовчуванням (тільки Alexa v3)",Delete:Fvt,Detection:Bvt,"Device %s was not added":"Пристрій %s не додано","Device %s will be disabled.":"Пристрій %s буде вимкнено.","Device will be deactivated.":"Пристрій буде деактивовано.","Device will be disabled.":"Пристрій %s буде вимкнено.",Dimmer:Wvt,"Do not toggle":"Не перемикайте",Door:Hvt,"Door sensor":"Датчик дверей","Duplicate name":"Повторюване ім'я","Edit smart name":"Редагувати розумне ім'я",Error:"Помилка","Expand all devices":"Розгорнути всі пристрої","Extended options":"Розширені параметри",Filter:Uvt,"For help use this forum":"Щоб отримати допомогу, відвідайте цей <a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>форум публікація</a>",Function:"функція","Function/Trait":"Функція/риса",Functions:Vvt,Gate:qvt,"Get actual humidity":"Отримайте фактичну вологість","Get actual temperature":"Отримайте фактичну температуру","Get contact":"Отримати статус контакту","Get motion":"Отримати рух","Get new connection certificates":"Отримати нові сертифікати підключення","Get new service URL key":"Отримайте новий ключ URL-адреси служби","Get target temperature":"Отримайте цільову температуру","Google Home":"Google Home","Google devices":"пристрої Google","Grouped from %s and %s":"Згруповано з %s і %s",Hue:Gvt,ID:Jvt,"IFTTT key":"Ключ IFTTT","Increment color temperature":"Збільшити колірну температуру","Increment percentage":"Відсоток приросту","Increment target temperature":"Збільшити цільову температуру","Information: The skill linking process was changed!":"Інформація: процес підключення навичок змінено!",Instance:Xvt,"Instance does not exists":"Екземпляр не існує","Instance is not active.":"Екземпляр не активний.","Instance must be enabled":"Примірник має бути ввімкнено","Instance must run to deliver the data":"Екземпляр повинен запуститися, щоб доставити дані","Invalid object":"Недійсний об'єкт",Language:Kvt,Light:Yvt,"List of devices to print out, e.g. to give all device names to your partner.":"Список пристроїв для друку, напр. щоб надати назви всіх пристроїв вашому партнеру.","Load configuration from file":"Завантажити конфігурацію з файлу",Lock:Zvt,"Manual Mode":"Ручний режим",Message:Qvt,Mode:eyt,Motion:tyt,Muted:ryt,Name:nyt,"Not understood":"Не зрозумів","Now there is no temporary password that will be sent by email.":"Тепер немає тимчасового пароля, який надсилатиметься електронною поштою.","OFF level for switches":"Рівень ВИМК для перемикачів","OFF level for switches in %":"Рівень вимкнення для перемикачів у %",Off:oyt,Ok:ayt,On:syt,"On/Off":"Увімкнено вимкнено",Options:iyt,Percentage:lyt,"Personal settings (only pro)":"Персональні налаштування (тільки для професіоналів)","Ping timeout:":"Час очікування ping (мс)","Place function in names first":"Спочатку розмістіть функцію в іменах","Please add action and trait to complete the Google Home state.":"Додайте дію та рису, щоб завершити стан Google Home.","Please add type and trait to complete the Google Home state.":"Додайте тип і характеристику, щоб завершити стан Google Home.","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Please write your email only in lower case letters":"Пишіть свою електронну адресу лише малими літерами",Power:cyt,"Read blood sugar from":"Зчитайте рівень цукру в крові","Read lock state":"Читати стан блокування","Refresh list of devices":"Оновити список пристроїв","Replace in names":"Замінити в назвах","Request email with password one more time":"Надішліть запит електронної пошти з паролем ще раз","Restart on disconnect":"Перезапустити після відключення",Review:dyt,"Roger that":"Розумно",Room:uyt,Rooms:pyt,Save:hyt,"Save and close":"Зберегти та закрити","Save configuration to file":"Зберегти конфігурацію у файл","Save settings and the names will be changed":"Збережіть налаштування, і імена будуть змінені","Save settings before pressing this button":"Перед натисканням цієї кнопки збережіть налаштування",Search:fyt,Select:myt,Sensor:gyt,"Service names":"Назви послуг","Services and IFTTT":"Послуги та IFTTT","Set color":"Встановити колір","Set color temperature":"Встановити колірну температуру","Set lock state":"Встановити стан блокування","Set percentage":"Встановити відсоток","Set point":"Задана точка","Set target temperature":"Встановити цільову температуру","Short answer for blood sugar":"Коротка відповідь щодо цукру в крові","Show all devices for print out":"Показати всі пристрої для друку","Show/Hide help":"Показати/Сховати довідку",Slider:_yt,"Smart Devices":"Розумні пристрої","Smart Enums":"Smart Enum","Smart Media":"Smart Media","Smart enums":"Розумні перерахування","Smart name":"Розумне ім'я","Smart name for %s":"Розумна назва для %s","Smart names":"Розумні імена",Socket:vyt,Temperature:yyt,"The linking process has been changed for a few months.":"Процес зв’язування змінився протягом кількох місяців.","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"Пароль збігається з ioBroker.pro і паролем, який був введений тут в налаштуваннях!",Thermostat:byt,"Thermostat mode":"Режим термостата","This service is reserved for the ioBroker.visu app. Please use another service name.":"Ця послуга зарезервована для програми ioBroker.visu. Використовуйте іншу назву служби.","To apply this setting, the restart of adapter must be done. Agree?":"Щоб застосувати цей параметр, необхідно перезапустити адаптер. згодні?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"Для автоматичного виявлення під об’єктами призначте канал (пристрій, якщо канал недоступний) кімнаті та функції. Недостатньо призначити кімнаті стан або пристрій. Кімнати/функції можна додавати під перерахуванням (позначено білою стрілкою у верхньому правому куті), і їх потрібно активувати в адаптері IoT у розділі Інтелектуальне перерахування. Щоб автоматично розпізнавати ручні стани, стан потрібно видалити.",Toggle:wyt,"Toggle expert mode":"Перемкнути експертний режим","Too many devices (%s) configured. Max number is 300":"Налаштовано забагато пристроїв (%s). Максимальна кількість 300!","Turn off":"Вимкнути","Turn on":"Ввімкнути",Type:Syt,Types:xyt,"Use Nightscout instance":"Використовуйте екземпляр Nightscout","Use following link for IFTTT":"Використовуйте наступне посилання для IFTTT","Use following link for custom service":"Скористайтеся наступним посиланням для індивідуальних послуг","Use text2command instance":"Використовуйте екземпляр text2command","Vacuum cleaner":"Пилосос",VacuumCleaner:kyt,Value:Cyt,Volume:$yt,"Volume group":"Група томів",VolumeGroup:Tyt,"Web instance":"Веб-екземпляр","White list for services":"Білий список послуг",Window:Eyt,"Window sensor":"Датчик вікна","Write response to":"Написати відповідь на","Yandex Алиса":"Яндекс Аліса","You can enter several names divided by comma":"Ви можете ввести кілька імен, розділених комою","amazon link":"Якщо ви використовуєте Alexa Skill, напишіть нам відгук <a href='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix=war_dp ' target='_blank' class='here'>тут</a>.<br>Приклади можна знайти <a href='http://alexa.amazon.de/spa/index.html#skills/dp/ B07L66BFF9/reviews' target='_blank'>тут</a>.",blind:Oyt,blinds:Dyt,"by ON":"від ON",cannot_use_password:Ayt,clear:Iyt,ct:Nyt,default:"за замовчуванням",dimmer:Myt,disabled:Ryt,forum_tip:jyt,gate:zyt,help_link_tip1:Pyt,help_link_tip2:Lyt,help_link_tip3:Fyt,help_tip:Byt,hue:Wyt,info_allowedServices:Hyt,info_iftttKey:Uyt,invalid_password_warning:Vyt,ioBType:qyt,"ioBroker.pro Login":"ioBroker.pro Логін","ioBroker.pro Password":"Пароль ioBroker.pro","last value":"останнє значення",levelSlider:Gyt,light:Jyt,lock:Xyt,manualModeHint:Kyt,modified:Yyt,motion:Zyt,new_certs_tip:Qyt,new_credentials_tip:e0t,"no type":"немає типу","not activated":"не активовано","omit value":"не має значення",slider:t0t,socket:r0t,temperature:n0t,thermostat:o0t,tooltip_allowSelfSignedCertificate:a0t,tooltip_apikey:s0t,tooltip_cloudUrl:i0t,tooltip_concatWord:l0t,tooltip_deviceOffLevel:c0t,tooltip_functionFirst:d0t,tooltip_instance:u0t,tooltip_language:p0t,tooltip_noCommon:h0t,tooltip_responseOID:f0t,tooltip_restartOnDisconnect:m0t,window:g0t},v0t="活性",y0t="地址",b0t="空调",w0t="属性",S0t="自动地",x0t="百叶窗",k0t="百叶窗",C0t="调光器",$0t="取消",T0t="关闭",E0t="颜色",O0t="命令",D0t="接触式传感器",A0t="控制",I0t="默认",N0t="删除",M0t="检测",R0t="调光器",j0t="门",z0t="过滤",P0t="功能",L0t="门",F0t="色调",B0t="ID",W0t="实例",H0t="语言",U0t="光",V0t="锁",q0t="信息",G0t="模式",J0t="运动",X0t="静音",K0t="名称",Y0t="离",Z0t="确定",Q0t="上",e1t="选项",t1t="百分比",r1t="开关",n1t="评论",o1t="房间",a1t="客房",s1t="保存",i1t="搜索",l1t="选择",c1t="传感器",d1t="滑块",u1t="插座",p1t="温度",h1t="温控器",f1t="切换",m1t="类型",g1t="类型",_1t="吸尘器",v1t="值",y1t="体积",b1t="卷组",w1t="窗户",S1t="百叶窗",x1t="百叶窗",k1t="您不能在密码中使用%。我们正在努力解决。",C1t="明确",$1t="色温",T1t="调光器",E1t="残",O1t='任何语言的任何疑问,请在论坛上提问:<a href="https://forum.iobroker.net/post/435797" target="_blank">链接</a>',D1t="门",A1t='在写支持之前,请确保您已阅读并理解网页的说明: <a target="_blank" href="https://www.iobroker.net/#de/documentation/cloud/iot.md">https</a> : <a target="_blank" href="https://www.iobroker.net/#zh-cn/documentation/cloud/iot.md">//www.iobroker.net</a>',I1t='如果与Iot的连接仍然存在问题,则可以在<a target="_blank" href="https://forum.iobroker.net/category/123/cloud-services">论坛上</a>请求支持',N1t='并且只有在那之后,您才应该写一封电子邮件到<a target="_blank" href="mailto:support@iobroker.com">support@iobroker.com</a>',M1t='没有iobroker.pro账号?在<a href="https://iobroker.pro/accessRemote" target="_blank"> https://iobroker.pro </a>上购买以获得有效访问权限,或免费获取,但访问受限。',R1t="色调",j1t="除以逗号。使用*允许所有服务。",z1t="您可以在“文档”下找到您的密钥<a href='https://ifttt.com/maker_webhooks' target='_blank'> </a>",P1t=`密码长度必须至少为8个字符,并且必须包含数字,大小写字母。请在ioBroker.pro配置文件中进行更改
681
+ `,L1t="IoB类型",F1t="级别滑块",B1t="光",W1t="锁",H1t="请选择<a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/guides/'>TYPE</a>和<a target='_ blank添加状态后' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/'>TRAIT</a>。要添加多个特征,请添加不同的id和特征,但要使用相同的智能名称,类型和房间。逗号分隔为多个智能名称。要分配房间,请使用ioBroker Enums/Aufzählungen。例如,通过属性,您可以设置色温的范围<a target='_blank' rel='noopener noreferrer' href='https://developers.google.com/actions/smarthome/traits/colorsetting'>有关的信息您可以在此处找到属性。</a>空属性为{}",U1t="名称已由用户修改",V1t="运动",q1t="如果您从备份还原,或将实例从一台设备移至另一台设备,或删除了IoT实例并再次添加,则必须使用此按钮加载连接安全证书",G1t="如果使用 ioBroker.pro 登录数据登录 Alexa Skill/Google Action/Alisa 失败,请按以下按钮。",J1t="滑块",X1t="插座",K1t="温度",Y1t="恒温器",Z1t="如果您使用自己的云,则可以允许为云使用自签名证书。",Q1t="需要此密钥才能与云通信。您可以在https://iobroker.net上获取API-KEY,它看起来像nickname_f1f439a0-001a-11e7-bc64-92361f002671",ebt="通常您不需要更改它。仅在您计划使用自己的云时才需要。",tbt="定义如何连接Room和Function。例如。 'in':客厅里的灯光。",rbt="一些组由混合设备组成:调光器和开关。允许使用ON和OFF命令以及百分比来控制它们",nbt="通常名称看起来像room_function。在这里,您可以将其切换到function_room。",obt="Web实例,将显示您的云连接。",abt="您可以定义语言以在美国Alexa Skill和DE Alexa Skill之间快速切换。",sbt="如果启用,则仅为此实例存储设置。所以在另一个实例中,可以设置其他名称。",ibt="对于每个命令,将生成文本响应。您可以在此处定义必须写入此文本的对象ID。例如。 sayit.0.tts.text。",lbt="在与云连接丢失后缺少与Alexa的连接的解决方法。使用此选项,您可以在每次断开连接后重新启动适配器,它将起作用。",cbt="窗户",dbt={"(Set to 0 if behavior not desired)":"(如果不需要行为,则设为0)","(you can separate names with comma)":"您可以输入多个名称除以逗号",Active:v0t,"Add device":"添加设备","Add new device from state":"从状态添加新设备","Add service":"添加服务",Addresses:y0t,"Admin instance":"管理实例",AirCondition:b0t,"Alexa devices":"Alexa设备","Alisa devices":"Alisa设备","Allow admin access (only pro)":"允许管理员访问(仅限专业版)","Allow remote access":"允许远程访问","Allow self-signed certificates":"允许自签名证书","Amazon Alexa":"亚马逊Alexa","Are you sure?":"你确定吗?",Attributes:w0t,"Attributes has not correct JSON format.":"属性的格式不正确","Authentication must be disabled. You can create second instance extra for cloud.":"必须禁用身份验证。您可以为云创建额外的第二个实例。",Auto:S0t,"Auto Mode":"自动模式",Blind:x0t,Blinds:k0t,Brightness:C0t,Cancel:$0t,"Cannot add this object":"无法添加此对象,因为不支持。","Cannot read devices!":"无法读取设备!","Certificates will be updated after initiated restart":"启动重启后,证书将更新","Certificates will be updated after start":"证书将在开始后更新","Click now Get new connection certificates to request new temporary password":"单击“获取新连接证书”以请求新的临时密码",Close:T0t,"Cloud URL":"云URL","Cloud adapter settings":"云适配器设置","Collapse all devices":"折叠所有设备",Color:E0t,"Color HUE":"颜色色调","Color temperature":"色温",Commands:O0t,"Concatenate words with":"连接单词","Connection timeout":"连接超时(ms)",ContactSensor:D0t,Control:A0t,"Conversation to GH":"转换为GH","Conversation to ioB":"转换为ioB","Copy to clipboard":"复制到剪贴板","Create IoT credentials anew":"重新创建IoT凭据","Debug outputs":"调试输出","Decrement color temperature":"降低色温","Decrement percentage":"减少百分比","Decrement target temperature":"降低目标温度",Default:I0t,"Default toggle behaviour (Only alexa v3)":"默认切换行为(仅限 alexa v3)",Delete:N0t,Detection:M0t,"Device %s was not added":"未添加设备%s","Device %s will be disabled.":"设备 %s 将被禁用。","Device will be deactivated.":"设备将被停用。","Device will be disabled.":"设备将被禁用。",Dimmer:R0t,"Do not toggle":"不要切换",Door:j0t,"Door sensor":"门磁","Duplicate name":"名称重复","Edit smart name":"编辑智能名称",Error:"错误","Expand all devices":"展开所有设备","Extended options":"扩展选项",Filter:z0t,"For help use this forum":"如需帮助,请访问此<a target='_blank' rel='noopener noreferrer' href='https://forum.iobroker.net/topic/24061/google-home-assistant-iobroker-einrichten-nutzen/'>论坛发布</a>",Function:"功能","Function/Trait":"功能/特质",Functions:P0t,Gate:L0t,"Get actual humidity":"获取实际湿度","Get actual temperature":"获得实际温度","Get contact":"获取联系状态","Get motion":"动起来","Get new connection certificates":"获取新的连接证书","Get new service URL key":"获取新服务URL密钥","Get target temperature":"获得目标温度","Google Home":"Google Home","Google devices":"Google设备","Grouped from %s and %s":"从 %s 和 %s 分组",Hue:F0t,ID:B0t,"IFTTT key":"IFTTT关键","Increment color temperature":"增加色温","Increment percentage":"增量百分比","Increment target temperature":"增加目标温度","Information: The skill linking process was changed!":"信息:技能链接过程已更改!",Instance:W0t,"Instance does not exists":"实例不存在","Instance is not active.":"实例未激活。","Instance must be enabled":"必须启用实例","Instance must run to deliver the data":"必须运行实例才能传递数据","Invalid object":"无效的对象",Language:H0t,Light:U0t,"List of devices to print out, e.g. to give all device names to your partner.":"要打印的设备列表,例如将所有设备名称提供给您的合作伙伴。","Load configuration from file":"从文件加载配置",Lock:V0t,"Manual Mode":"手动模式",Message:q0t,Mode:G0t,Motion:J0t,Muted:X0t,Name:K0t,"Not understood":"不明白","Now there is no temporary password that will be sent by email.":"现在没有将通过电子邮件发送的临时密码。","OFF level for switches":"开关的OFF电平","OFF level for switches in %":"开关关闭电平%",Off:Y0t,Ok:Z0t,On:Q0t,"On/Off":"开关",Options:e1t,Percentage:t1t,"Personal settings (only pro)":"个人设置(仅限专业)","Ping timeout:":"Ping超时(ms)","Place function in names first":"首先将函数放在名称中","Please add action and trait to complete the Google Home state.":"请添加操作和特征以完成Google Home状态。","Please add type and trait to complete the Google Home state.":"请添加类型和特征以完成Google Home状态。","Please select object ID...":"请选择对象ID ...","Please write your email only in lower case letters":"请以小写字母书写您的电子邮件",Power:r1t,"Read blood sugar from":"从读取血糖","Read lock state":"读锁定状态","Refresh list of devices":"刷新设备列表","Replace in names":"替换名称","Request email with password one more time":"再次请求带密码的电子邮件","Restart on disconnect":"断开连接重启",Review:n1t,"Roger that":"收到",Room:o1t,Rooms:a1t,Save:s1t,"Save and close":"保存并关闭","Save configuration to file":"将配置保存到文件","Save settings and the names will be changed":"保存设置,名称将被更改","Save settings before pressing this button":"按此按钮之前保存设置",Search:i1t,Select:l1t,Sensor:c1t,"Service names":"服务名称","Services and IFTTT":"服务和IFTTT","Set color":"设置颜色","Set color temperature":"设置色温","Set lock state":"设置锁定状态","Set percentage":"设定百分比","Set point":"设定点","Set target temperature":"设定目标温度","Short answer for blood sugar":"血糖的简短答案","Show all devices for print out":"显示所有要打印的设备","Show/Hide help":"显示/隐藏帮助",Slider:d1t,"Smart Devices":"智能设备","Smart Enums":"智能枚举","Smart Media":"智能媒体","Smart enums":"智能枚举","Smart name":"聪明的名字","Smart name for %s":"%s的智能名称","Smart names":"聪明的名字",Socket:u1t,Temperature:p1t,"The linking process has been changed for a few months.":"链接过程已更改了几个月。","The password is equal with ioBroker.pro and with password that was entered here in the settings!":"密码与ioBroker.pro以及在设置中输入的密码相同!",Thermostat:h1t,"Thermostat mode":"恒温模式","This service is reserved for the ioBroker.visu app. Please use another service name.":"此服务为 ioBroker.visu 应用程序保留。请使用其他服务名称。","To apply this setting, the restart of adapter must be done. Agree?":"要应用此设置,必须重新启动适配器。同意?","To auto detect devices please assign a room and function to the channel if no channel available than assign to a device. Not only to the state or device. And enable them under SmartEnum/Intelligente Aufzählung":"对于自动检测,在对象下方为房间和功能分配一个通道(如果没有可用的通道,则为设备)。仅将房间分配给状态或设备是不够的。可以在枚举下添加房间/功能(如右上角的白色箭头所示),并且必须在IoT适配器中的“智能枚举”下将其激活。为了自动识别手动状态,必须删除状态。",Toggle:f1t,"Toggle expert mode":"切换专家模式","Too many devices (%s) configured. Max number is 300":"配置了太多设备 (%s)。最大数量是 300!","Turn off":"关掉","Turn on":"打开",Type:m1t,Types:g1t,"Use Nightscout instance":"使用Nightscout实例","Use following link for IFTTT":"使用以下链接进行IFTTT","Use following link for custom service":"使用以下链接进行自定义服务","Use text2command instance":"使用text2command实例","Vacuum cleaner":"吸尘器",VacuumCleaner:_1t,Value:v1t,Volume:y1t,"Volume group":"卷组",VolumeGroup:b1t,"Web instance":"网页实例","White list for services":"服务白名单",Window:w1t,"Window sensor":"窗口传感器","Write response to":"写回复","Yandex Алиса":"YandexАлиса","You can enter several names divided by comma":"您可以输入多个名称除以逗号","amazon link":"如果您使用Alexa技能,请为我们写一篇评论<a href ='http://alexa.amazon.de/spa/index.html#skills/dp/B07L66BFF9/create-review/?ref-suffix = war_dp 'target ='_ blank'class ='here'>此处</a>。<br>示例可以找到<a href ='http://alexa.amazon.de/spa/index.html#skills/dp/ B07L66BFF9 /评论'target ='_ blank'>此处</a>。",blind:S1t,blinds:x1t,"by ON":"通过ON",cannot_use_password:k1t,clear:C1t,ct:$1t,default:"默认",dimmer:T1t,disabled:E1t,forum_tip:O1t,gate:D1t,help_link_tip1:A1t,help_link_tip2:I1t,help_link_tip3:N1t,help_tip:M1t,hue:R1t,info_allowedServices:j1t,info_iftttKey:z1t,invalid_password_warning:P1t,ioBType:L1t,"ioBroker.pro Login":"ioBroker.pro登录","ioBroker.pro Password":"ioBroker.pro密码","last value":"最后的价值",levelSlider:F1t,light:B1t,lock:W1t,manualModeHint:H1t,modified:U1t,motion:V1t,new_certs_tip:q1t,new_credentials_tip:G1t,"no type":"没有类型","not activated":"未激活","omit value":"无价值",slider:J1t,socket:X1t,temperature:K1t,thermostat:Y1t,tooltip_allowSelfSignedCertificate:Z1t,tooltip_apikey:Q1t,tooltip_cloudUrl:ebt,tooltip_concatWord:tbt,tooltip_deviceOffLevel:rbt,tooltip_functionFirst:nbt,tooltip_instance:obt,tooltip_language:abt,tooltip_noCommon:sbt,tooltip_responseOID:ibt,tooltip_restartOnDisconnect:lbt,window:cbt},Ao={tabContent:{padding:10,height:"calc(100% - 64px - 48px - 20px)",overflow:"auto"},tabContentIFrame:{padding:10,height:"calc(100% - 64px - 48px - 20px)",overflow:"auto"},selected:t=>({color:t.palette.mode==="dark"?void 0:"#FFF !important"}),indicator:t=>({backgroundColor:t.palette.mode==="dark"?t.palette.secondary.main:"#FFF"})};class ubt extends vs{constructor(e){const r={...e};r.encryptedFields=["pass"],r.Connection=gU,r.translations={en:$nt,de:yat,ru:pit,pt:act,nl:Zdt,fr:Vpt,it:Pft,es:Agt,pl:kvt,uk:_0t,"zh-cn":dbt},r.sentryDSN=window.sentryDSN,super(e,r),Object.assign(this.state,{selectedTab:window.localStorage.getItem(`${this.adapterName}.${this.instance}.selectedTab`)||"options"})}onConnectionReady(){this.socket.getState(`${this.adapterName}.${this.instance}.info.ackTempPassword`).then(e=>{(!e||!e.val)&&this.setState({showAckTempPasswordDialog:!0})})}renderAckTempPasswordDialog(){return this.state.showAckTempPasswordDialog?y.jsxs(qt,{open:!0,onClose:()=>this.setState({showAckTempPasswordDialog:!1},()=>setTimeout(()=>this.setState({showAckTempPasswordDialog:!0}),1e3)),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[y.jsx(Gt,{id:"alert-dialog-title",children:A.t("Information: The skill linking process was changed!")}),y.jsx(Qt,{children:y.jsxs(Ma,{id:"alert-dialog-description",children:[A.t("The linking process has been changed for a few months."),A.t("Now there is no temporary password that will be sent by email."),y.jsx("br",{}),y.jsx("br",{}),y.jsx("b",{children:A.t("The password is equal with ioBroker.pro and with password that was entered here in the settings!")})]})}),y.jsxs(Zt,{children:[y.jsx(Ue,{color:"grey",variant:"contained",onClick:()=>this.setState({showAckTempPasswordDialog:!1},()=>setTimeout(()=>this.setState({showAckTempPasswordDialog:!0}),1e3)),autoFocus:!0,children:A.t("Not understood")}),y.jsx(Ue,{variant:"contained",className:"skill-linking-ok",onClick:()=>this.socket.setState(`${this.adapterName}.${this.instance}.info.ackTempPassword`,{val:!0,ack:!0}).then(()=>this.setState({showAckTempPasswordDialog:!1})),color:"primary",autoFocus:!0,children:A.t("Roger that")})]})]}):null}render(){return this.state.loaded?y.jsx(Zk,{injectFirst:!0,children:y.jsx(kC,{theme:this.state.theme,children:y.jsxs("div",{className:"App",style:{background:this.state.theme.palette.background.default,color:this.state.theme.palette.text.primary},children:[y.jsx(U8,{position:"static",children:y.jsxs(mO,{value:this.state.selectedTab||"options",onChange:(e,r)=>{this.setState({selectedTab:r}),window.localStorage.setItem(`${this.adapterName}.${this.instance}.selectedTab`,r)},variant:"scrollable",scrollButtons:"auto",sx:{"& .MuiTabs-indicator":Ao.indicator},children:[y.jsx(Dn,{value:"options",sx:{"&.Mui-selected":Ao.selected},label:A.t("Options"),"data-name":"options"}),y.jsx(Dn,{value:"enums",className:"enums-tab",sx:{"&.Mui-selected":Ao.selected},label:A.t("Smart enums"),"data-name":"enums"}),this.state.native.amazonAlexaV3&&y.jsx(Dn,{value:"alexa3",sx:{"&.Mui-selected":Ao.selected},label:`${A.t("Alexa devices")} v3`,"data-name":"alexa3"}),this.state.native.amazonAlexa&&y.jsx(Dn,{value:"alexa",sx:{"&.Mui-selected":Ao.selected},label:A.t("Alexa devices"),"data-name":"alexa"}),this.state.native.googleHome&&y.jsx(Dn,{value:"google",sx:{"&.Mui-selected":Ao.selected},label:A.t("Google devices"),"data-name":"google"}),this.state.native.yandexAlisa&&y.jsx(Dn,{value:"alisa",sx:{"&.Mui-selected":Ao.selected},label:A.t("Alisa devices"),"data-name":"alisa"}),y.jsx(Dn,{value:"extended",sx:{"&.Mui-selected":Ao.selected},label:A.t("Extended options"),"data-name":"extended"}),y.jsx(Dn,{value:"services",sx:{"&.Mui-selected":Ao.selected},label:A.t("Services and IFTTT"),"data-name":"services"})]})}),y.jsxs("div",{style:this.isIFrame?Ao.tabContentIFrame:Ao.tabContent,children:[(this.state.selectedTab==="options"||!this.state.selectedTab)&&y.jsx(ptt,{common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),onLoad:e=>this.onLoadConfig(e),instance:this.instance,adapterName:this.adapterName,changed:this.state.changed,onChange:(e,r,n)=>this.updateNativeValue(e,r,n)},"options"),this.state.selectedTab==="enums"&&y.jsx(gtt,{socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),instance:this.instance,adapterName:this.adapterName},"enums"),this.state.selectedTab==="alexa"&&y.jsx(Ss,{themeType:this.state.themeType,theme:this.state.theme,common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"alexa"),this.state.selectedTab==="alexa3"&&y.jsx(Na,{themeType:this.state.themeType,theme:this.state.theme,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"alexa3"),this.state.selectedTab==="google"&&y.jsx(Ntt,{themeType:this.state.themeType,theme:this.state.theme,common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"google"),this.state.selectedTab==="alisa"&&y.jsx(Um,{themeType:this.state.themeType,theme:this.state.theme,common:this.common,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),adapterName:this.adapterName,instance:this.instance},"alisa"),this.state.selectedTab==="extended"&&y.jsx(htt,{theme:this.state.theme,socket:this.socket,native:this.state.native,onChange:(e,r)=>this.updateNativeValue(e,r)},"extended"),this.state.selectedTab==="services"&&y.jsx(ftt,{theme:this.state.theme,socket:this.socket,native:this.state.native,onError:e=>this.setState({errorText:(e||e===0)&&typeof e!="string"?e.toString():e}),instance:this.instance,adapterName:this.adapterName,onChange:(e,r)=>this.updateNativeValue(e,r)},"services")]}),this.renderError(),this.renderSaveCloseButtons(),this.renderAckTempPasswordDialog()]})})}):y.jsx(Zk,{injectFirst:!0,children:y.jsx(kC,{theme:this.state.theme,children:y.jsx(p9,{themeType:this.state.themeType})})})}}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 pbt(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(t=>t.unregister())}window.adapterName="iot";window.sentryDSN="https://5ad729dbed504d15aa8bde423cae9a8e@sentry.iobroker.net/57";console.log(`iobroker.${window.adapterName}@${_I.version}`);const W6=window.document.getElementById("root");W6&&mI.createRoot(W6).render(y.jsx(ubt,{}));pbt()});export default hbt();